126338 lines
5.1 MiB
126338 lines
5.1 MiB
(function (global, factory) {
|
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Babel = {}));
|
|
})(this, (function (exports) { 'use strict';
|
|
|
|
var _babel = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
get version () { return version$1; },
|
|
get types () { return t$8; },
|
|
get loadOptionsSync () { return loadOptionsSync; },
|
|
get DEFAULT_EXTENSIONS () { return DEFAULT_EXTENSIONS; },
|
|
get File () { return File; },
|
|
get buildExternalHelpers () { return babelBuildExternalHelpers; },
|
|
get resolvePlugin () { return resolvePlugin; },
|
|
get resolvePreset () { return resolvePreset; },
|
|
get getEnv () { return getEnv; },
|
|
get tokTypes () { return tokTypes; },
|
|
get traverse () { return traverse; },
|
|
get template () { return template$2; },
|
|
get createConfigItem () { return createConfigItem; },
|
|
get createConfigItemSync () { return createConfigItemSync; },
|
|
get createConfigItemAsync () { return createConfigItemAsync; },
|
|
get loadPartialConfig () { return loadPartialConfig; },
|
|
get loadPartialConfigSync () { return loadPartialConfigSync; },
|
|
get loadPartialConfigAsync () { return loadPartialConfigAsync; },
|
|
get loadOptions () { return loadOptions; },
|
|
get loadOptionsAsync () { return loadOptionsAsync; },
|
|
get transform () { return transform$3; },
|
|
get transformSync () { return transformSync; },
|
|
get transformAsync () { return transformAsync; },
|
|
get transformFile () { return transformFile; },
|
|
get transformFileSync () { return transformFileSync; },
|
|
get transformFileAsync () { return transformFileAsync; },
|
|
get transformFromAst () { return transformFromAst$1; },
|
|
get transformFromAstSync () { return transformFromAstSync; },
|
|
get transformFromAstAsync () { return transformFromAstAsync; },
|
|
get parse () { return parse$1; },
|
|
get parseSync () { return parseSync; },
|
|
get parseAsync () { return parseAsync; }
|
|
});
|
|
|
|
function _iterableToArrayLimit(arr, i) {
|
|
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
if (null != _i) {
|
|
var _s,
|
|
_e,
|
|
_x,
|
|
_r,
|
|
_arr = [],
|
|
_n = !0,
|
|
_d = !1;
|
|
try {
|
|
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
if (Object(_i) !== _i) return;
|
|
_n = !1;
|
|
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
} catch (err) {
|
|
_d = !0, _e = err;
|
|
} finally {
|
|
try {
|
|
if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
|
|
} finally {
|
|
if (_d) throw _e;
|
|
}
|
|
}
|
|
return _arr;
|
|
}
|
|
}
|
|
function _regeneratorRuntime() {
|
|
_regeneratorRuntime = function () {
|
|
return exports;
|
|
};
|
|
var exports = {},
|
|
Op = Object.prototype,
|
|
hasOwn = Op.hasOwnProperty,
|
|
defineProperty = Object.defineProperty || function (obj, key, desc) {
|
|
obj[key] = desc.value;
|
|
},
|
|
$Symbol = "function" == typeof Symbol ? Symbol : {},
|
|
iteratorSymbol = $Symbol.iterator || "@@iterator",
|
|
asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator",
|
|
toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
|
|
function define(obj, key, value) {
|
|
return Object.defineProperty(obj, key, {
|
|
value: value,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}), obj[key];
|
|
}
|
|
try {
|
|
define({}, "");
|
|
} catch (err) {
|
|
define = function (obj, key, value) {
|
|
return obj[key] = value;
|
|
};
|
|
}
|
|
function wrap(innerFn, outerFn, self, tryLocsList) {
|
|
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,
|
|
generator = Object.create(protoGenerator.prototype),
|
|
context = new Context(tryLocsList || []);
|
|
return defineProperty(generator, "_invoke", {
|
|
value: makeInvokeMethod(innerFn, self, context)
|
|
}), generator;
|
|
}
|
|
function tryCatch(fn, obj, arg) {
|
|
try {
|
|
return {
|
|
type: "normal",
|
|
arg: fn.call(obj, arg)
|
|
};
|
|
} catch (err) {
|
|
return {
|
|
type: "throw",
|
|
arg: err
|
|
};
|
|
}
|
|
}
|
|
exports.wrap = wrap;
|
|
var ContinueSentinel = {};
|
|
function Generator() {}
|
|
function GeneratorFunction() {}
|
|
function GeneratorFunctionPrototype() {}
|
|
var IteratorPrototype = {};
|
|
define(IteratorPrototype, iteratorSymbol, function () {
|
|
return this;
|
|
});
|
|
var getProto = Object.getPrototypeOf,
|
|
NativeIteratorPrototype = getProto && getProto(getProto(values([])));
|
|
NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);
|
|
var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
|
|
function defineIteratorMethods(prototype) {
|
|
["next", "throw", "return"].forEach(function (method) {
|
|
define(prototype, method, function (arg) {
|
|
return this._invoke(method, arg);
|
|
});
|
|
});
|
|
}
|
|
function AsyncIterator(generator, PromiseImpl) {
|
|
function invoke(method, arg, resolve, reject) {
|
|
var record = tryCatch(generator[method], generator, arg);
|
|
if ("throw" !== record.type) {
|
|
var result = record.arg,
|
|
value = result.value;
|
|
return value && "object" == typeof value && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) {
|
|
invoke("next", value, resolve, reject);
|
|
}, function (err) {
|
|
invoke("throw", err, resolve, reject);
|
|
}) : PromiseImpl.resolve(value).then(function (unwrapped) {
|
|
result.value = unwrapped, resolve(result);
|
|
}, function (error) {
|
|
return invoke("throw", error, resolve, reject);
|
|
});
|
|
}
|
|
reject(record.arg);
|
|
}
|
|
var previousPromise;
|
|
defineProperty(this, "_invoke", {
|
|
value: function (method, arg) {
|
|
function callInvokeWithMethodAndArg() {
|
|
return new PromiseImpl(function (resolve, reject) {
|
|
invoke(method, arg, resolve, reject);
|
|
});
|
|
}
|
|
return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
|
|
}
|
|
});
|
|
}
|
|
function makeInvokeMethod(innerFn, self, context) {
|
|
var state = "suspendedStart";
|
|
return function (method, arg) {
|
|
if ("executing" === state) throw new Error("Generator is already running");
|
|
if ("completed" === state) {
|
|
if ("throw" === method) throw arg;
|
|
return doneResult();
|
|
}
|
|
for (context.method = method, context.arg = arg;;) {
|
|
var delegate = context.delegate;
|
|
if (delegate) {
|
|
var delegateResult = maybeInvokeDelegate(delegate, context);
|
|
if (delegateResult) {
|
|
if (delegateResult === ContinueSentinel) continue;
|
|
return delegateResult;
|
|
}
|
|
}
|
|
if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) {
|
|
if ("suspendedStart" === state) throw state = "completed", context.arg;
|
|
context.dispatchException(context.arg);
|
|
} else "return" === context.method && context.abrupt("return", context.arg);
|
|
state = "executing";
|
|
var record = tryCatch(innerFn, self, context);
|
|
if ("normal" === record.type) {
|
|
if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue;
|
|
return {
|
|
value: record.arg,
|
|
done: context.done
|
|
};
|
|
}
|
|
"throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg);
|
|
}
|
|
};
|
|
}
|
|
function maybeInvokeDelegate(delegate, context) {
|
|
var methodName = context.method,
|
|
method = delegate.iterator[methodName];
|
|
if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel;
|
|
var record = tryCatch(method, delegate.iterator, context.arg);
|
|
if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel;
|
|
var info = record.arg;
|
|
return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel);
|
|
}
|
|
function pushTryEntry(locs) {
|
|
var entry = {
|
|
tryLoc: locs[0]
|
|
};
|
|
1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);
|
|
}
|
|
function resetTryEntry(entry) {
|
|
var record = entry.completion || {};
|
|
record.type = "normal", delete record.arg, entry.completion = record;
|
|
}
|
|
function Context(tryLocsList) {
|
|
this.tryEntries = [{
|
|
tryLoc: "root"
|
|
}], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);
|
|
}
|
|
function values(iterable) {
|
|
if (iterable) {
|
|
var iteratorMethod = iterable[iteratorSymbol];
|
|
if (iteratorMethod) return iteratorMethod.call(iterable);
|
|
if ("function" == typeof iterable.next) return iterable;
|
|
if (!isNaN(iterable.length)) {
|
|
var i = -1,
|
|
next = function next() {
|
|
for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;
|
|
return next.value = undefined, next.done = !0, next;
|
|
};
|
|
return next.next = next;
|
|
}
|
|
}
|
|
return {
|
|
next: doneResult
|
|
};
|
|
}
|
|
function doneResult() {
|
|
return {
|
|
value: undefined,
|
|
done: !0
|
|
};
|
|
}
|
|
return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", {
|
|
value: GeneratorFunctionPrototype,
|
|
configurable: !0
|
|
}), defineProperty(GeneratorFunctionPrototype, "constructor", {
|
|
value: GeneratorFunction,
|
|
configurable: !0
|
|
}), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) {
|
|
var ctor = "function" == typeof genFun && genFun.constructor;
|
|
return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name));
|
|
}, exports.mark = function (genFun) {
|
|
return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun;
|
|
}, exports.awrap = function (arg) {
|
|
return {
|
|
__await: arg
|
|
};
|
|
}, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
|
|
return this;
|
|
}), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
|
|
void 0 === PromiseImpl && (PromiseImpl = Promise);
|
|
var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
|
|
return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
|
|
return result.done ? result.value : iter.next();
|
|
});
|
|
}, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () {
|
|
return this;
|
|
}), define(Gp, "toString", function () {
|
|
return "[object Generator]";
|
|
}), exports.keys = function (val) {
|
|
var object = Object(val),
|
|
keys = [];
|
|
for (var key in object) keys.push(key);
|
|
return keys.reverse(), function next() {
|
|
for (; keys.length;) {
|
|
var key = keys.pop();
|
|
if (key in object) return next.value = key, next.done = !1, next;
|
|
}
|
|
return next.done = !0, next;
|
|
};
|
|
}, exports.values = values, Context.prototype = {
|
|
constructor: Context,
|
|
reset: function (skipTempReset) {
|
|
if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);
|
|
},
|
|
stop: function () {
|
|
this.done = !0;
|
|
var rootRecord = this.tryEntries[0].completion;
|
|
if ("throw" === rootRecord.type) throw rootRecord.arg;
|
|
return this.rval;
|
|
},
|
|
dispatchException: function (exception) {
|
|
if (this.done) throw exception;
|
|
var context = this;
|
|
function handle(loc, caught) {
|
|
return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught;
|
|
}
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i],
|
|
record = entry.completion;
|
|
if ("root" === entry.tryLoc) return handle("end");
|
|
if (entry.tryLoc <= this.prev) {
|
|
var hasCatch = hasOwn.call(entry, "catchLoc"),
|
|
hasFinally = hasOwn.call(entry, "finallyLoc");
|
|
if (hasCatch && hasFinally) {
|
|
if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
|
|
if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
|
|
} else if (hasCatch) {
|
|
if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
|
|
} else {
|
|
if (!hasFinally) throw new Error("try statement without catch or finally");
|
|
if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
|
|
}
|
|
}
|
|
}
|
|
},
|
|
abrupt: function (type, arg) {
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
|
|
var finallyEntry = entry;
|
|
break;
|
|
}
|
|
}
|
|
finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);
|
|
var record = finallyEntry ? finallyEntry.completion : {};
|
|
return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);
|
|
},
|
|
complete: function (record, afterLoc) {
|
|
if ("throw" === record.type) throw record.arg;
|
|
return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;
|
|
},
|
|
finish: function (finallyLoc) {
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;
|
|
}
|
|
},
|
|
catch: function (tryLoc) {
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
if (entry.tryLoc === tryLoc) {
|
|
var record = entry.completion;
|
|
if ("throw" === record.type) {
|
|
var thrown = record.arg;
|
|
resetTryEntry(entry);
|
|
}
|
|
return thrown;
|
|
}
|
|
}
|
|
throw new Error("illegal catch attempt");
|
|
},
|
|
delegateYield: function (iterable, resultName, nextLoc) {
|
|
return this.delegate = {
|
|
iterator: values(iterable),
|
|
resultName: resultName,
|
|
nextLoc: nextLoc
|
|
}, "next" === this.method && (this.arg = undefined), ContinueSentinel;
|
|
}
|
|
}, exports;
|
|
}
|
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
try {
|
|
var info = gen[key](arg);
|
|
var value = info.value;
|
|
} catch (error) {
|
|
reject(error);
|
|
return;
|
|
}
|
|
if (info.done) {
|
|
resolve(value);
|
|
} else {
|
|
Promise.resolve(value).then(_next, _throw);
|
|
}
|
|
}
|
|
function _asyncToGenerator(fn) {
|
|
return function () {
|
|
var self = this,
|
|
args = arguments;
|
|
return new Promise(function (resolve, reject) {
|
|
var gen = fn.apply(self, args);
|
|
function _next(value) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
}
|
|
function _throw(err) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
}
|
|
_next(undefined);
|
|
});
|
|
};
|
|
}
|
|
function _defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || false;
|
|
descriptor.configurable = true;
|
|
if ("value" in descriptor) descriptor.writable = true;
|
|
Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
|
|
}
|
|
}
|
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
Object.defineProperty(Constructor, "prototype", {
|
|
writable: false
|
|
});
|
|
return Constructor;
|
|
}
|
|
function _inherits(subClass, superClass) {
|
|
if (typeof superClass !== "function" && superClass !== null) {
|
|
throw new TypeError("Super expression must either be null or a function");
|
|
}
|
|
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
constructor: {
|
|
value: subClass,
|
|
writable: true,
|
|
configurable: true
|
|
}
|
|
});
|
|
Object.defineProperty(subClass, "prototype", {
|
|
writable: false
|
|
});
|
|
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
}
|
|
function _getPrototypeOf(o) {
|
|
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
|
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
};
|
|
return _getPrototypeOf(o);
|
|
}
|
|
function _setPrototypeOf(o, p) {
|
|
_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
|
|
o.__proto__ = p;
|
|
return o;
|
|
};
|
|
return _setPrototypeOf(o, p);
|
|
}
|
|
function _isNativeReflectConstruct() {
|
|
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
if (Reflect.construct.sham) return false;
|
|
if (typeof Proxy === "function") return true;
|
|
try {
|
|
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
function _construct(Parent, args, Class) {
|
|
if (_isNativeReflectConstruct()) {
|
|
_construct = Reflect.construct.bind();
|
|
} else {
|
|
_construct = function _construct(Parent, args, Class) {
|
|
var a = [null];
|
|
a.push.apply(a, args);
|
|
var Constructor = Function.bind.apply(Parent, a);
|
|
var instance = new Constructor();
|
|
if (Class) _setPrototypeOf(instance, Class.prototype);
|
|
return instance;
|
|
};
|
|
}
|
|
return _construct.apply(null, arguments);
|
|
}
|
|
function _isNativeFunction(fn) {
|
|
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
}
|
|
function _wrapNativeSuper(Class) {
|
|
var _cache = typeof Map === "function" ? new Map() : undefined;
|
|
_wrapNativeSuper = function _wrapNativeSuper(Class) {
|
|
if (Class === null || !_isNativeFunction(Class)) return Class;
|
|
if (typeof Class !== "function") {
|
|
throw new TypeError("Super expression must either be null or a function");
|
|
}
|
|
if (typeof _cache !== "undefined") {
|
|
if (_cache.has(Class)) return _cache.get(Class);
|
|
_cache.set(Class, Wrapper);
|
|
}
|
|
function Wrapper() {
|
|
return _construct(Class, arguments, _getPrototypeOf(this).constructor);
|
|
}
|
|
Wrapper.prototype = Object.create(Class.prototype, {
|
|
constructor: {
|
|
value: Wrapper,
|
|
enumerable: false,
|
|
writable: true,
|
|
configurable: true
|
|
}
|
|
});
|
|
return _setPrototypeOf(Wrapper, Class);
|
|
};
|
|
return _wrapNativeSuper(Class);
|
|
}
|
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
if (source == null) return {};
|
|
var target = {};
|
|
var sourceKeys = Object.keys(source);
|
|
var key, i;
|
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
key = sourceKeys[i];
|
|
if (excluded.indexOf(key) >= 0) continue;
|
|
target[key] = source[key];
|
|
}
|
|
return target;
|
|
}
|
|
function _objectWithoutProperties(source, excluded) {
|
|
if (source == null) return {};
|
|
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
var key, i;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
key = sourceSymbolKeys[i];
|
|
if (excluded.indexOf(key) >= 0) continue;
|
|
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
target[key] = source[key];
|
|
}
|
|
}
|
|
return target;
|
|
}
|
|
function _assertThisInitialized(self) {
|
|
if (self === void 0) {
|
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
}
|
|
return self;
|
|
}
|
|
function _taggedTemplateLiteralLoose(strings, raw) {
|
|
if (!raw) {
|
|
raw = strings.slice(0);
|
|
}
|
|
strings.raw = raw;
|
|
return strings;
|
|
}
|
|
function _slicedToArray(arr, i) {
|
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
}
|
|
function _toConsumableArray(arr) {
|
|
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
}
|
|
function _arrayWithoutHoles(arr) {
|
|
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
}
|
|
function _arrayWithHoles(arr) {
|
|
if (Array.isArray(arr)) return arr;
|
|
}
|
|
function _iterableToArray(iter) {
|
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
}
|
|
function _unsupportedIterableToArray(o, minLen) {
|
|
if (!o) return;
|
|
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
if (n === "Map" || n === "Set") return Array.from(o);
|
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
}
|
|
function _arrayLikeToArray(arr, len) {
|
|
if (len == null || len > arr.length) len = arr.length;
|
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
return arr2;
|
|
}
|
|
function _nonIterableSpread() {
|
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
}
|
|
function _nonIterableRest() {
|
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
}
|
|
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
if (it) return (it = it.call(o)).next.bind(it);
|
|
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
if (it) o = it;
|
|
var i = 0;
|
|
return function () {
|
|
if (i >= o.length) return {
|
|
done: true
|
|
};
|
|
return {
|
|
done: false,
|
|
value: o[i++]
|
|
};
|
|
};
|
|
}
|
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
}
|
|
function _toPrimitive(input, hint) {
|
|
if (typeof input !== "object" || input === null) return input;
|
|
var prim = input[Symbol.toPrimitive];
|
|
if (prim !== undefined) {
|
|
var res = prim.call(input, hint || "default");
|
|
if (typeof res !== "object") return res;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (hint === "string" ? String : Number)(input);
|
|
}
|
|
function _toPropertyKey(arg) {
|
|
var key = _toPrimitive(arg, "string");
|
|
return typeof key === "symbol" ? key : String(key);
|
|
}
|
|
|
|
var ReferencedIdentifier$1 = ["Identifier", "JSXIdentifier"];
|
|
var ReferencedMemberExpression = ["MemberExpression"];
|
|
var BindingIdentifier = ["Identifier"];
|
|
var Statement = ["Statement"];
|
|
var Expression = ["Expression"];
|
|
var Scope$2 = ["Scopable", "Pattern"];
|
|
var Referenced = null;
|
|
var BlockScoped = null;
|
|
var Var = ["VariableDeclaration"];
|
|
var User = null;
|
|
var Generated = null;
|
|
var Pure = null;
|
|
var Flow = ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"];
|
|
var RestProperty$1 = ["RestElement"];
|
|
var SpreadProperty$1 = ["RestElement"];
|
|
var ExistentialTypeParam = ["ExistsTypeAnnotation"];
|
|
var NumericLiteralTypeAnnotation = ["NumberLiteralTypeAnnotation"];
|
|
var ForAwaitStatement = ["ForOfStatement"];
|
|
|
|
var virtualTypes = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
ReferencedIdentifier: ReferencedIdentifier$1,
|
|
ReferencedMemberExpression: ReferencedMemberExpression,
|
|
BindingIdentifier: BindingIdentifier,
|
|
Statement: Statement,
|
|
Expression: Expression,
|
|
Scope: Scope$2,
|
|
Referenced: Referenced,
|
|
BlockScoped: BlockScoped,
|
|
Var: Var,
|
|
User: User,
|
|
Generated: Generated,
|
|
Pure: Pure,
|
|
Flow: Flow,
|
|
RestProperty: RestProperty$1,
|
|
SpreadProperty: SpreadProperty$1,
|
|
ExistentialTypeParam: ExistentialTypeParam,
|
|
NumericLiteralTypeAnnotation: NumericLiteralTypeAnnotation,
|
|
ForAwaitStatement: ForAwaitStatement
|
|
});
|
|
|
|
function shallowEqual$2(actual, expected) {
|
|
var keys = Object.keys(expected);
|
|
for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
|
|
var key = _keys[_i];
|
|
if (actual[key] !== expected[key]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
var warnings = new Set();
|
|
function deprecationWarning$1(oldName, newName, prefix) {
|
|
if (prefix === void 0) {
|
|
prefix = "";
|
|
}
|
|
if (warnings.has(oldName)) return;
|
|
warnings.add(oldName);
|
|
var _captureShortStackTra = captureShortStackTrace(1, 2),
|
|
internal = _captureShortStackTra.internal,
|
|
trace = _captureShortStackTra.trace;
|
|
if (internal) {
|
|
return;
|
|
}
|
|
console.warn(prefix + "`" + oldName + "` has been deprecated, please migrate to `" + newName + "`\n" + trace);
|
|
}
|
|
function captureShortStackTrace(skip, length) {
|
|
var stackTraceLimit = Error.stackTraceLimit,
|
|
prepareStackTrace = Error.prepareStackTrace;
|
|
var stackTrace;
|
|
Error.stackTraceLimit = 1 + skip + length;
|
|
Error.prepareStackTrace = function (err, stack) {
|
|
stackTrace = stack;
|
|
};
|
|
new Error().stack;
|
|
Error.stackTraceLimit = stackTraceLimit;
|
|
Error.prepareStackTrace = prepareStackTrace;
|
|
if (!stackTrace) return {
|
|
internal: false,
|
|
trace: ""
|
|
};
|
|
var shortStackTrace = stackTrace.slice(1 + skip, 1 + skip + length);
|
|
return {
|
|
internal: /[\\/]@babel[\\/]/.test(shortStackTrace[1].getFileName()),
|
|
trace: shortStackTrace.map(function (frame) {
|
|
return " at " + frame;
|
|
}).join("\n")
|
|
};
|
|
}
|
|
|
|
function isArrayExpression$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ArrayExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isAssignmentExpression$4(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "AssignmentExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBinaryExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "BinaryExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isInterpreterDirective(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "InterpreterDirective") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDirective(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "Directive") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDirectiveLiteral(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DirectiveLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBlockStatement$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "BlockStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBreakStatement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "BreakStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isCallExpression$8(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "CallExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isCatchClause(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "CatchClause") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isConditionalExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ConditionalExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isContinueStatement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ContinueStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDebuggerStatement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DebuggerStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDoWhileStatement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DoWhileStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEmptyStatement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EmptyStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExpressionStatement$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ExpressionStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFile(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "File") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isForInStatement$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ForInStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isForStatement$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ForStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFunctionDeclaration$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "FunctionDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFunctionExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "FunctionExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isIdentifier$j(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "Identifier") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isIfStatement$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "IfStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isLabeledStatement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "LabeledStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isStringLiteral$6(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "StringLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isNumericLiteral(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "NumericLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isNullLiteral$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "NullLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBooleanLiteral(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "BooleanLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isRegExpLiteral$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "RegExpLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isLogicalExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "LogicalExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isMemberExpression$8(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "MemberExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isNewExpression$4(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "NewExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isProgram$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "Program") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectExpression$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ObjectExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectMethod$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ObjectMethod") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectProperty$5(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ObjectProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isRestElement$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "RestElement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isReturnStatement$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ReturnStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isSequenceExpression$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "SequenceExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isParenthesizedExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ParenthesizedExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isSwitchCase(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "SwitchCase") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isSwitchStatement$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "SwitchStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isThisExpression$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ThisExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isThrowStatement$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ThrowStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTryStatement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TryStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isUnaryExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "UnaryExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isUpdateExpression$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "UpdateExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isVariableDeclaration$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "VariableDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isVariableDeclarator$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "VariableDeclarator") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isWhileStatement$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "WhileStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isWithStatement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "WithStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isAssignmentPattern$5(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "AssignmentPattern") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isArrayPattern$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ArrayPattern") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isArrowFunctionExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ArrowFunctionExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isClassBody$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ClassBody") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isClassExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ClassExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isClassDeclaration$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ClassDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExportAllDeclaration$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ExportAllDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExportDefaultDeclaration$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ExportDefaultDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExportNamedDeclaration$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ExportNamedDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExportSpecifier(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ExportSpecifier") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isForOfStatement$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ForOfStatement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isImportDeclaration$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ImportDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isImportDefaultSpecifier$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ImportDefaultSpecifier") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isImportNamespaceSpecifier$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ImportNamespaceSpecifier") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isImportSpecifier$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ImportSpecifier") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isMetaProperty$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "MetaProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isClassMethod(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ClassMethod") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectPattern$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ObjectPattern") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isSpreadElement$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "SpreadElement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isSuper$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "Super") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTaggedTemplateExpression$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TaggedTemplateExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTemplateElement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TemplateElement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTemplateLiteral$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TemplateLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isYieldExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "YieldExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isAwaitExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "AwaitExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isImport(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "Import") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBigIntLiteral(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "BigIntLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExportNamespaceSpecifier$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ExportNamespaceSpecifier") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isOptionalMemberExpression$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "OptionalMemberExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isOptionalCallExpression$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "OptionalCallExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isClassProperty(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ClassProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isClassAccessorProperty(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ClassAccessorProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isClassPrivateProperty(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ClassPrivateProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isClassPrivateMethod(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ClassPrivateMethod") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isPrivateName$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "PrivateName") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isStaticBlock(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "StaticBlock") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isAnyTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "AnyTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isArrayTypeAnnotation$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ArrayTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBooleanTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "BooleanTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBooleanLiteralTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "BooleanLiteralTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isNullLiteralTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "NullLiteralTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isClassImplements(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ClassImplements") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclareClass(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclareClass") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclareFunction(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclareFunction") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclareInterface(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclareInterface") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclareModule(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclareModule") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclareModuleExports(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclareModuleExports") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclareTypeAlias(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclareTypeAlias") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclareOpaqueType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclareOpaqueType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclareVariable(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclareVariable") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclareExportDeclaration$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclareExportDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclareExportAllDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclareExportAllDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclaredPredicate(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DeclaredPredicate") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExistsTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ExistsTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFunctionTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "FunctionTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFunctionTypeParam(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "FunctionTypeParam") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isGenericTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "GenericTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isInferredPredicate(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "InferredPredicate") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isInterfaceExtends(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "InterfaceExtends") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isInterfaceDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "InterfaceDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isInterfaceTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "InterfaceTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isIntersectionTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "IntersectionTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isMixedTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "MixedTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEmptyTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EmptyTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isNullableTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "NullableTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isNumberLiteralTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "NumberLiteralTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isNumberTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "NumberTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ObjectTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectTypeInternalSlot(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ObjectTypeInternalSlot") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectTypeCallProperty(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ObjectTypeCallProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectTypeIndexer(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ObjectTypeIndexer") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectTypeProperty(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ObjectTypeProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectTypeSpreadProperty(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ObjectTypeSpreadProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isOpaqueType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "OpaqueType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isQualifiedTypeIdentifier(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "QualifiedTypeIdentifier") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isStringLiteralTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "StringLiteralTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isStringTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "StringTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isSymbolTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "SymbolTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isThisTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ThisTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTupleTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TupleTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTypeofTypeAnnotation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TypeofTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTypeAlias(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TypeAlias") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTypeAnnotation$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTypeCastExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TypeCastExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTypeParameter(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TypeParameter") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTypeParameterDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TypeParameterDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTypeParameterInstantiation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TypeParameterInstantiation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isUnionTypeAnnotation$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "UnionTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isVariance(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "Variance") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isVoidTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "VoidTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EnumDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumBooleanBody(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EnumBooleanBody") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumNumberBody(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EnumNumberBody") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumStringBody(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EnumStringBody") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumSymbolBody(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EnumSymbolBody") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumBooleanMember(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EnumBooleanMember") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumNumberMember(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EnumNumberMember") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumStringMember(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EnumStringMember") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumDefaultedMember(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "EnumDefaultedMember") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isIndexedAccessType$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "IndexedAccessType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isOptionalIndexedAccessType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "OptionalIndexedAccessType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXAttribute(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXAttribute") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXClosingElement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXClosingElement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXElement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXElement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXEmptyExpression(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXEmptyExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXExpressionContainer$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXExpressionContainer") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXSpreadChild(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXSpreadChild") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXIdentifier$3(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXIdentifier") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXMemberExpression$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXMemberExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXNamespacedName$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXNamespacedName") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXOpeningElement(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXOpeningElement") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXSpreadAttribute$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXSpreadAttribute") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXText(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXText") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXFragment(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXFragment") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXOpeningFragment(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXOpeningFragment") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSXClosingFragment(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "JSXClosingFragment") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isNoop(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "Noop") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isPlaceholder$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "Placeholder") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isV8IntrinsicIdentifier(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "V8IntrinsicIdentifier") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isArgumentPlaceholder(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ArgumentPlaceholder") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBindExpression(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "BindExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isImportAttribute(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ImportAttribute") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDecorator(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "Decorator") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDoExpression(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DoExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExportDefaultSpecifier$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ExportDefaultSpecifier") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isRecordExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "RecordExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTupleExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TupleExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDecimalLiteral(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "DecimalLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isModuleExpression(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "ModuleExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTopicReference$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TopicReference") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isPipelineTopicExpression(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "PipelineTopicExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isPipelineBareFunction(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "PipelineBareFunction") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isPipelinePrimaryTopicReference(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "PipelinePrimaryTopicReference") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSParameterProperty(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSParameterProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSDeclareFunction(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSDeclareFunction") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSDeclareMethod(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSDeclareMethod") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSQualifiedName(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSQualifiedName") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSCallSignatureDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSCallSignatureDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSConstructSignatureDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSConstructSignatureDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSPropertySignature(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSPropertySignature") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSMethodSignature(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSMethodSignature") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSIndexSignature(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSIndexSignature") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSAnyKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSAnyKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSBooleanKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSBooleanKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSBigIntKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSBigIntKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSIntrinsicKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSIntrinsicKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSNeverKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSNeverKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSNullKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSNullKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSNumberKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSNumberKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSObjectKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSObjectKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSStringKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSStringKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSSymbolKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSSymbolKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSUndefinedKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSUndefinedKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSUnknownKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSUnknownKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSVoidKeyword(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSVoidKeyword") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSThisType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSThisType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSFunctionType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSFunctionType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSConstructorType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSConstructorType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeReference$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypeReference") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypePredicate(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypePredicate") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeQuery(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypeQuery") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeLiteral(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypeLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSArrayType$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSArrayType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTupleType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTupleType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSOptionalType$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSOptionalType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSRestType$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSRestType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSNamedTupleMember(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSNamedTupleMember") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSUnionType$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSUnionType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSIntersectionType$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSIntersectionType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSConditionalType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSConditionalType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSInferType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSInferType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSParenthesizedType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSParenthesizedType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeOperator(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypeOperator") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSIndexedAccessType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSIndexedAccessType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSMappedType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSMappedType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSLiteralType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSLiteralType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSExpressionWithTypeArguments(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSExpressionWithTypeArguments") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSInterfaceDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSInterfaceDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSInterfaceBody$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSInterfaceBody") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeAliasDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypeAliasDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSInstantiationExpression$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSInstantiationExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSAsExpression$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSAsExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSSatisfiesExpression$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSSatisfiesExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeAssertion$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypeAssertion") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSEnumDeclaration$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSEnumDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSEnumMember(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSEnumMember") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSModuleDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSModuleDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSModuleBlock(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSModuleBlock") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSImportType(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSImportType") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSImportEqualsDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSImportEqualsDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSExternalModuleReference(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSExternalModuleReference") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSNonNullExpression$2(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSNonNullExpression") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSExportAssignment(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSExportAssignment") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSNamespaceExportDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSNamespaceExportDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypeAnnotation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeParameterInstantiation(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypeParameterInstantiation") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeParameterDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypeParameterDeclaration") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeParameter(node, opts) {
|
|
if (!node) return false;
|
|
if (node.type !== "TSTypeParameter") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isStandardized(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ArrayExpression":
|
|
case "AssignmentExpression":
|
|
case "BinaryExpression":
|
|
case "InterpreterDirective":
|
|
case "Directive":
|
|
case "DirectiveLiteral":
|
|
case "BlockStatement":
|
|
case "BreakStatement":
|
|
case "CallExpression":
|
|
case "CatchClause":
|
|
case "ConditionalExpression":
|
|
case "ContinueStatement":
|
|
case "DebuggerStatement":
|
|
case "DoWhileStatement":
|
|
case "EmptyStatement":
|
|
case "ExpressionStatement":
|
|
case "File":
|
|
case "ForInStatement":
|
|
case "ForStatement":
|
|
case "FunctionDeclaration":
|
|
case "FunctionExpression":
|
|
case "Identifier":
|
|
case "IfStatement":
|
|
case "LabeledStatement":
|
|
case "StringLiteral":
|
|
case "NumericLiteral":
|
|
case "NullLiteral":
|
|
case "BooleanLiteral":
|
|
case "RegExpLiteral":
|
|
case "LogicalExpression":
|
|
case "MemberExpression":
|
|
case "NewExpression":
|
|
case "Program":
|
|
case "ObjectExpression":
|
|
case "ObjectMethod":
|
|
case "ObjectProperty":
|
|
case "RestElement":
|
|
case "ReturnStatement":
|
|
case "SequenceExpression":
|
|
case "ParenthesizedExpression":
|
|
case "SwitchCase":
|
|
case "SwitchStatement":
|
|
case "ThisExpression":
|
|
case "ThrowStatement":
|
|
case "TryStatement":
|
|
case "UnaryExpression":
|
|
case "UpdateExpression":
|
|
case "VariableDeclaration":
|
|
case "VariableDeclarator":
|
|
case "WhileStatement":
|
|
case "WithStatement":
|
|
case "AssignmentPattern":
|
|
case "ArrayPattern":
|
|
case "ArrowFunctionExpression":
|
|
case "ClassBody":
|
|
case "ClassExpression":
|
|
case "ClassDeclaration":
|
|
case "ExportAllDeclaration":
|
|
case "ExportDefaultDeclaration":
|
|
case "ExportNamedDeclaration":
|
|
case "ExportSpecifier":
|
|
case "ForOfStatement":
|
|
case "ImportDeclaration":
|
|
case "ImportDefaultSpecifier":
|
|
case "ImportNamespaceSpecifier":
|
|
case "ImportSpecifier":
|
|
case "MetaProperty":
|
|
case "ClassMethod":
|
|
case "ObjectPattern":
|
|
case "SpreadElement":
|
|
case "Super":
|
|
case "TaggedTemplateExpression":
|
|
case "TemplateElement":
|
|
case "TemplateLiteral":
|
|
case "YieldExpression":
|
|
case "AwaitExpression":
|
|
case "Import":
|
|
case "BigIntLiteral":
|
|
case "ExportNamespaceSpecifier":
|
|
case "OptionalMemberExpression":
|
|
case "OptionalCallExpression":
|
|
case "ClassProperty":
|
|
case "ClassAccessorProperty":
|
|
case "ClassPrivateProperty":
|
|
case "ClassPrivateMethod":
|
|
case "PrivateName":
|
|
case "StaticBlock":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "Identifier":
|
|
case "StringLiteral":
|
|
case "BlockStatement":
|
|
case "ClassBody":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExpression$4(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ArrayExpression":
|
|
case "AssignmentExpression":
|
|
case "BinaryExpression":
|
|
case "CallExpression":
|
|
case "ConditionalExpression":
|
|
case "FunctionExpression":
|
|
case "Identifier":
|
|
case "StringLiteral":
|
|
case "NumericLiteral":
|
|
case "NullLiteral":
|
|
case "BooleanLiteral":
|
|
case "RegExpLiteral":
|
|
case "LogicalExpression":
|
|
case "MemberExpression":
|
|
case "NewExpression":
|
|
case "ObjectExpression":
|
|
case "SequenceExpression":
|
|
case "ParenthesizedExpression":
|
|
case "ThisExpression":
|
|
case "UnaryExpression":
|
|
case "UpdateExpression":
|
|
case "ArrowFunctionExpression":
|
|
case "ClassExpression":
|
|
case "MetaProperty":
|
|
case "Super":
|
|
case "TaggedTemplateExpression":
|
|
case "TemplateLiteral":
|
|
case "YieldExpression":
|
|
case "AwaitExpression":
|
|
case "Import":
|
|
case "BigIntLiteral":
|
|
case "OptionalMemberExpression":
|
|
case "OptionalCallExpression":
|
|
case "TypeCastExpression":
|
|
case "JSXElement":
|
|
case "JSXFragment":
|
|
case "BindExpression":
|
|
case "DoExpression":
|
|
case "RecordExpression":
|
|
case "TupleExpression":
|
|
case "DecimalLiteral":
|
|
case "ModuleExpression":
|
|
case "TopicReference":
|
|
case "PipelineTopicExpression":
|
|
case "PipelineBareFunction":
|
|
case "PipelinePrimaryTopicReference":
|
|
case "TSInstantiationExpression":
|
|
case "TSAsExpression":
|
|
case "TSSatisfiesExpression":
|
|
case "TSTypeAssertion":
|
|
case "TSNonNullExpression":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "Expression":
|
|
case "Identifier":
|
|
case "StringLiteral":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBinary$3(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "BinaryExpression":
|
|
case "LogicalExpression":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isScopable(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "BlockStatement":
|
|
case "CatchClause":
|
|
case "DoWhileStatement":
|
|
case "ForInStatement":
|
|
case "ForStatement":
|
|
case "FunctionDeclaration":
|
|
case "FunctionExpression":
|
|
case "Program":
|
|
case "ObjectMethod":
|
|
case "SwitchStatement":
|
|
case "WhileStatement":
|
|
case "ArrowFunctionExpression":
|
|
case "ClassExpression":
|
|
case "ClassDeclaration":
|
|
case "ForOfStatement":
|
|
case "ClassMethod":
|
|
case "ClassPrivateMethod":
|
|
case "StaticBlock":
|
|
case "TSModuleBlock":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "BlockStatement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBlockParent(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "BlockStatement":
|
|
case "CatchClause":
|
|
case "DoWhileStatement":
|
|
case "ForInStatement":
|
|
case "ForStatement":
|
|
case "FunctionDeclaration":
|
|
case "FunctionExpression":
|
|
case "Program":
|
|
case "ObjectMethod":
|
|
case "SwitchStatement":
|
|
case "WhileStatement":
|
|
case "ArrowFunctionExpression":
|
|
case "ForOfStatement":
|
|
case "ClassMethod":
|
|
case "ClassPrivateMethod":
|
|
case "StaticBlock":
|
|
case "TSModuleBlock":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "BlockStatement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isBlock(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "BlockStatement":
|
|
case "Program":
|
|
case "TSModuleBlock":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "BlockStatement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isStatement$8(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "BlockStatement":
|
|
case "BreakStatement":
|
|
case "ContinueStatement":
|
|
case "DebuggerStatement":
|
|
case "DoWhileStatement":
|
|
case "EmptyStatement":
|
|
case "ExpressionStatement":
|
|
case "ForInStatement":
|
|
case "ForStatement":
|
|
case "FunctionDeclaration":
|
|
case "IfStatement":
|
|
case "LabeledStatement":
|
|
case "ReturnStatement":
|
|
case "SwitchStatement":
|
|
case "ThrowStatement":
|
|
case "TryStatement":
|
|
case "VariableDeclaration":
|
|
case "WhileStatement":
|
|
case "WithStatement":
|
|
case "ClassDeclaration":
|
|
case "ExportAllDeclaration":
|
|
case "ExportDefaultDeclaration":
|
|
case "ExportNamedDeclaration":
|
|
case "ForOfStatement":
|
|
case "ImportDeclaration":
|
|
case "DeclareClass":
|
|
case "DeclareFunction":
|
|
case "DeclareInterface":
|
|
case "DeclareModule":
|
|
case "DeclareModuleExports":
|
|
case "DeclareTypeAlias":
|
|
case "DeclareOpaqueType":
|
|
case "DeclareVariable":
|
|
case "DeclareExportDeclaration":
|
|
case "DeclareExportAllDeclaration":
|
|
case "InterfaceDeclaration":
|
|
case "OpaqueType":
|
|
case "TypeAlias":
|
|
case "EnumDeclaration":
|
|
case "TSDeclareFunction":
|
|
case "TSInterfaceDeclaration":
|
|
case "TSTypeAliasDeclaration":
|
|
case "TSEnumDeclaration":
|
|
case "TSModuleDeclaration":
|
|
case "TSImportEqualsDeclaration":
|
|
case "TSExportAssignment":
|
|
case "TSNamespaceExportDeclaration":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "Statement":
|
|
case "Declaration":
|
|
case "BlockStatement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTerminatorless(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "BreakStatement":
|
|
case "ContinueStatement":
|
|
case "ReturnStatement":
|
|
case "ThrowStatement":
|
|
case "YieldExpression":
|
|
case "AwaitExpression":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isCompletionStatement(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "BreakStatement":
|
|
case "ContinueStatement":
|
|
case "ReturnStatement":
|
|
case "ThrowStatement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isConditional$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ConditionalExpression":
|
|
case "IfStatement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isLoop$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "DoWhileStatement":
|
|
case "ForInStatement":
|
|
case "ForStatement":
|
|
case "WhileStatement":
|
|
case "ForOfStatement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isWhile(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "DoWhileStatement":
|
|
case "WhileStatement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExpressionWrapper(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ExpressionStatement":
|
|
case "ParenthesizedExpression":
|
|
case "TypeCastExpression":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFor$2(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ForInStatement":
|
|
case "ForStatement":
|
|
case "ForOfStatement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isForXStatement$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ForInStatement":
|
|
case "ForOfStatement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFunction$4(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "FunctionDeclaration":
|
|
case "FunctionExpression":
|
|
case "ObjectMethod":
|
|
case "ArrowFunctionExpression":
|
|
case "ClassMethod":
|
|
case "ClassPrivateMethod":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFunctionParent(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "FunctionDeclaration":
|
|
case "FunctionExpression":
|
|
case "ObjectMethod":
|
|
case "ArrowFunctionExpression":
|
|
case "ClassMethod":
|
|
case "ClassPrivateMethod":
|
|
case "StaticBlock":
|
|
case "TSModuleBlock":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isPureish$2(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "FunctionDeclaration":
|
|
case "FunctionExpression":
|
|
case "StringLiteral":
|
|
case "NumericLiteral":
|
|
case "NullLiteral":
|
|
case "BooleanLiteral":
|
|
case "RegExpLiteral":
|
|
case "ArrowFunctionExpression":
|
|
case "BigIntLiteral":
|
|
case "DecimalLiteral":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "StringLiteral":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isDeclaration$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "FunctionDeclaration":
|
|
case "VariableDeclaration":
|
|
case "ClassDeclaration":
|
|
case "ExportAllDeclaration":
|
|
case "ExportDefaultDeclaration":
|
|
case "ExportNamedDeclaration":
|
|
case "ImportDeclaration":
|
|
case "DeclareClass":
|
|
case "DeclareFunction":
|
|
case "DeclareInterface":
|
|
case "DeclareModule":
|
|
case "DeclareModuleExports":
|
|
case "DeclareTypeAlias":
|
|
case "DeclareOpaqueType":
|
|
case "DeclareVariable":
|
|
case "DeclareExportDeclaration":
|
|
case "DeclareExportAllDeclaration":
|
|
case "InterfaceDeclaration":
|
|
case "OpaqueType":
|
|
case "TypeAlias":
|
|
case "EnumDeclaration":
|
|
case "TSDeclareFunction":
|
|
case "TSInterfaceDeclaration":
|
|
case "TSTypeAliasDeclaration":
|
|
case "TSEnumDeclaration":
|
|
case "TSModuleDeclaration":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "Declaration":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isPatternLike(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "Identifier":
|
|
case "RestElement":
|
|
case "AssignmentPattern":
|
|
case "ArrayPattern":
|
|
case "ObjectPattern":
|
|
case "TSAsExpression":
|
|
case "TSSatisfiesExpression":
|
|
case "TSTypeAssertion":
|
|
case "TSNonNullExpression":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "Pattern":
|
|
case "Identifier":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isLVal(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "Identifier":
|
|
case "MemberExpression":
|
|
case "RestElement":
|
|
case "AssignmentPattern":
|
|
case "ArrayPattern":
|
|
case "ObjectPattern":
|
|
case "TSParameterProperty":
|
|
case "TSAsExpression":
|
|
case "TSSatisfiesExpression":
|
|
case "TSTypeAssertion":
|
|
case "TSNonNullExpression":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "Pattern":
|
|
case "Identifier":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSEntityName(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "Identifier":
|
|
case "TSQualifiedName":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "Identifier":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isLiteral$6(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "StringLiteral":
|
|
case "NumericLiteral":
|
|
case "NullLiteral":
|
|
case "BooleanLiteral":
|
|
case "RegExpLiteral":
|
|
case "TemplateLiteral":
|
|
case "BigIntLiteral":
|
|
case "DecimalLiteral":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "StringLiteral":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isUserWhitespacable(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ObjectMethod":
|
|
case "ObjectProperty":
|
|
case "ObjectTypeInternalSlot":
|
|
case "ObjectTypeCallProperty":
|
|
case "ObjectTypeIndexer":
|
|
case "ObjectTypeProperty":
|
|
case "ObjectTypeSpreadProperty":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isMethod$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ObjectMethod":
|
|
case "ClassMethod":
|
|
case "ClassPrivateMethod":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isObjectMember(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ObjectMethod":
|
|
case "ObjectProperty":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isProperty$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ObjectProperty":
|
|
case "ClassProperty":
|
|
case "ClassAccessorProperty":
|
|
case "ClassPrivateProperty":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isUnaryLike$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "UnaryExpression":
|
|
case "SpreadElement":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isPattern(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "AssignmentPattern":
|
|
case "ArrayPattern":
|
|
case "ObjectPattern":
|
|
break;
|
|
case "Placeholder":
|
|
switch (node.expectedNode) {
|
|
case "Pattern":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isClass$2(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ClassExpression":
|
|
case "ClassDeclaration":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isImportOrExportDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ExportAllDeclaration":
|
|
case "ExportDefaultDeclaration":
|
|
case "ExportNamedDeclaration":
|
|
case "ImportDeclaration":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isExportDeclaration$3(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ExportAllDeclaration":
|
|
case "ExportDefaultDeclaration":
|
|
case "ExportNamedDeclaration":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isModuleSpecifier$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ExportSpecifier":
|
|
case "ImportDefaultSpecifier":
|
|
case "ImportNamespaceSpecifier":
|
|
case "ImportSpecifier":
|
|
case "ExportNamespaceSpecifier":
|
|
case "ExportDefaultSpecifier":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isAccessor(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ClassAccessorProperty":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isPrivate(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "ClassPrivateProperty":
|
|
case "ClassPrivateMethod":
|
|
case "PrivateName":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFlow$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "AnyTypeAnnotation":
|
|
case "ArrayTypeAnnotation":
|
|
case "BooleanTypeAnnotation":
|
|
case "BooleanLiteralTypeAnnotation":
|
|
case "NullLiteralTypeAnnotation":
|
|
case "ClassImplements":
|
|
case "DeclareClass":
|
|
case "DeclareFunction":
|
|
case "DeclareInterface":
|
|
case "DeclareModule":
|
|
case "DeclareModuleExports":
|
|
case "DeclareTypeAlias":
|
|
case "DeclareOpaqueType":
|
|
case "DeclareVariable":
|
|
case "DeclareExportDeclaration":
|
|
case "DeclareExportAllDeclaration":
|
|
case "DeclaredPredicate":
|
|
case "ExistsTypeAnnotation":
|
|
case "FunctionTypeAnnotation":
|
|
case "FunctionTypeParam":
|
|
case "GenericTypeAnnotation":
|
|
case "InferredPredicate":
|
|
case "InterfaceExtends":
|
|
case "InterfaceDeclaration":
|
|
case "InterfaceTypeAnnotation":
|
|
case "IntersectionTypeAnnotation":
|
|
case "MixedTypeAnnotation":
|
|
case "EmptyTypeAnnotation":
|
|
case "NullableTypeAnnotation":
|
|
case "NumberLiteralTypeAnnotation":
|
|
case "NumberTypeAnnotation":
|
|
case "ObjectTypeAnnotation":
|
|
case "ObjectTypeInternalSlot":
|
|
case "ObjectTypeCallProperty":
|
|
case "ObjectTypeIndexer":
|
|
case "ObjectTypeProperty":
|
|
case "ObjectTypeSpreadProperty":
|
|
case "OpaqueType":
|
|
case "QualifiedTypeIdentifier":
|
|
case "StringLiteralTypeAnnotation":
|
|
case "StringTypeAnnotation":
|
|
case "SymbolTypeAnnotation":
|
|
case "ThisTypeAnnotation":
|
|
case "TupleTypeAnnotation":
|
|
case "TypeofTypeAnnotation":
|
|
case "TypeAlias":
|
|
case "TypeAnnotation":
|
|
case "TypeCastExpression":
|
|
case "TypeParameter":
|
|
case "TypeParameterDeclaration":
|
|
case "TypeParameterInstantiation":
|
|
case "UnionTypeAnnotation":
|
|
case "Variance":
|
|
case "VoidTypeAnnotation":
|
|
case "EnumDeclaration":
|
|
case "EnumBooleanBody":
|
|
case "EnumNumberBody":
|
|
case "EnumStringBody":
|
|
case "EnumSymbolBody":
|
|
case "EnumBooleanMember":
|
|
case "EnumNumberMember":
|
|
case "EnumStringMember":
|
|
case "EnumDefaultedMember":
|
|
case "IndexedAccessType":
|
|
case "OptionalIndexedAccessType":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFlowType$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "AnyTypeAnnotation":
|
|
case "ArrayTypeAnnotation":
|
|
case "BooleanTypeAnnotation":
|
|
case "BooleanLiteralTypeAnnotation":
|
|
case "NullLiteralTypeAnnotation":
|
|
case "ExistsTypeAnnotation":
|
|
case "FunctionTypeAnnotation":
|
|
case "GenericTypeAnnotation":
|
|
case "InterfaceTypeAnnotation":
|
|
case "IntersectionTypeAnnotation":
|
|
case "MixedTypeAnnotation":
|
|
case "EmptyTypeAnnotation":
|
|
case "NullableTypeAnnotation":
|
|
case "NumberLiteralTypeAnnotation":
|
|
case "NumberTypeAnnotation":
|
|
case "ObjectTypeAnnotation":
|
|
case "StringLiteralTypeAnnotation":
|
|
case "StringTypeAnnotation":
|
|
case "SymbolTypeAnnotation":
|
|
case "ThisTypeAnnotation":
|
|
case "TupleTypeAnnotation":
|
|
case "TypeofTypeAnnotation":
|
|
case "UnionTypeAnnotation":
|
|
case "VoidTypeAnnotation":
|
|
case "IndexedAccessType":
|
|
case "OptionalIndexedAccessType":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFlowBaseAnnotation$1(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "AnyTypeAnnotation":
|
|
case "BooleanTypeAnnotation":
|
|
case "NullLiteralTypeAnnotation":
|
|
case "MixedTypeAnnotation":
|
|
case "EmptyTypeAnnotation":
|
|
case "NumberTypeAnnotation":
|
|
case "StringTypeAnnotation":
|
|
case "SymbolTypeAnnotation":
|
|
case "ThisTypeAnnotation":
|
|
case "VoidTypeAnnotation":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFlowDeclaration(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "DeclareClass":
|
|
case "DeclareFunction":
|
|
case "DeclareInterface":
|
|
case "DeclareModule":
|
|
case "DeclareModuleExports":
|
|
case "DeclareTypeAlias":
|
|
case "DeclareOpaqueType":
|
|
case "DeclareVariable":
|
|
case "DeclareExportDeclaration":
|
|
case "DeclareExportAllDeclaration":
|
|
case "InterfaceDeclaration":
|
|
case "OpaqueType":
|
|
case "TypeAlias":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isFlowPredicate(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "DeclaredPredicate":
|
|
case "InferredPredicate":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumBody(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "EnumBooleanBody":
|
|
case "EnumNumberBody":
|
|
case "EnumStringBody":
|
|
case "EnumSymbolBody":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isEnumMember(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "EnumBooleanMember":
|
|
case "EnumNumberMember":
|
|
case "EnumStringMember":
|
|
case "EnumDefaultedMember":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isJSX(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "JSXAttribute":
|
|
case "JSXClosingElement":
|
|
case "JSXElement":
|
|
case "JSXEmptyExpression":
|
|
case "JSXExpressionContainer":
|
|
case "JSXSpreadChild":
|
|
case "JSXIdentifier":
|
|
case "JSXMemberExpression":
|
|
case "JSXNamespacedName":
|
|
case "JSXOpeningElement":
|
|
case "JSXSpreadAttribute":
|
|
case "JSXText":
|
|
case "JSXFragment":
|
|
case "JSXOpeningFragment":
|
|
case "JSXClosingFragment":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isMiscellaneous(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "Noop":
|
|
case "Placeholder":
|
|
case "V8IntrinsicIdentifier":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTypeScript(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "TSParameterProperty":
|
|
case "TSDeclareFunction":
|
|
case "TSDeclareMethod":
|
|
case "TSQualifiedName":
|
|
case "TSCallSignatureDeclaration":
|
|
case "TSConstructSignatureDeclaration":
|
|
case "TSPropertySignature":
|
|
case "TSMethodSignature":
|
|
case "TSIndexSignature":
|
|
case "TSAnyKeyword":
|
|
case "TSBooleanKeyword":
|
|
case "TSBigIntKeyword":
|
|
case "TSIntrinsicKeyword":
|
|
case "TSNeverKeyword":
|
|
case "TSNullKeyword":
|
|
case "TSNumberKeyword":
|
|
case "TSObjectKeyword":
|
|
case "TSStringKeyword":
|
|
case "TSSymbolKeyword":
|
|
case "TSUndefinedKeyword":
|
|
case "TSUnknownKeyword":
|
|
case "TSVoidKeyword":
|
|
case "TSThisType":
|
|
case "TSFunctionType":
|
|
case "TSConstructorType":
|
|
case "TSTypeReference":
|
|
case "TSTypePredicate":
|
|
case "TSTypeQuery":
|
|
case "TSTypeLiteral":
|
|
case "TSArrayType":
|
|
case "TSTupleType":
|
|
case "TSOptionalType":
|
|
case "TSRestType":
|
|
case "TSNamedTupleMember":
|
|
case "TSUnionType":
|
|
case "TSIntersectionType":
|
|
case "TSConditionalType":
|
|
case "TSInferType":
|
|
case "TSParenthesizedType":
|
|
case "TSTypeOperator":
|
|
case "TSIndexedAccessType":
|
|
case "TSMappedType":
|
|
case "TSLiteralType":
|
|
case "TSExpressionWithTypeArguments":
|
|
case "TSInterfaceDeclaration":
|
|
case "TSInterfaceBody":
|
|
case "TSTypeAliasDeclaration":
|
|
case "TSInstantiationExpression":
|
|
case "TSAsExpression":
|
|
case "TSSatisfiesExpression":
|
|
case "TSTypeAssertion":
|
|
case "TSEnumDeclaration":
|
|
case "TSEnumMember":
|
|
case "TSModuleDeclaration":
|
|
case "TSModuleBlock":
|
|
case "TSImportType":
|
|
case "TSImportEqualsDeclaration":
|
|
case "TSExternalModuleReference":
|
|
case "TSNonNullExpression":
|
|
case "TSExportAssignment":
|
|
case "TSNamespaceExportDeclaration":
|
|
case "TSTypeAnnotation":
|
|
case "TSTypeParameterInstantiation":
|
|
case "TSTypeParameterDeclaration":
|
|
case "TSTypeParameter":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSTypeElement(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "TSCallSignatureDeclaration":
|
|
case "TSConstructSignatureDeclaration":
|
|
case "TSPropertySignature":
|
|
case "TSMethodSignature":
|
|
case "TSIndexSignature":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSType(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "TSAnyKeyword":
|
|
case "TSBooleanKeyword":
|
|
case "TSBigIntKeyword":
|
|
case "TSIntrinsicKeyword":
|
|
case "TSNeverKeyword":
|
|
case "TSNullKeyword":
|
|
case "TSNumberKeyword":
|
|
case "TSObjectKeyword":
|
|
case "TSStringKeyword":
|
|
case "TSSymbolKeyword":
|
|
case "TSUndefinedKeyword":
|
|
case "TSUnknownKeyword":
|
|
case "TSVoidKeyword":
|
|
case "TSThisType":
|
|
case "TSFunctionType":
|
|
case "TSConstructorType":
|
|
case "TSTypeReference":
|
|
case "TSTypePredicate":
|
|
case "TSTypeQuery":
|
|
case "TSTypeLiteral":
|
|
case "TSArrayType":
|
|
case "TSTupleType":
|
|
case "TSOptionalType":
|
|
case "TSRestType":
|
|
case "TSUnionType":
|
|
case "TSIntersectionType":
|
|
case "TSConditionalType":
|
|
case "TSInferType":
|
|
case "TSParenthesizedType":
|
|
case "TSTypeOperator":
|
|
case "TSIndexedAccessType":
|
|
case "TSMappedType":
|
|
case "TSLiteralType":
|
|
case "TSExpressionWithTypeArguments":
|
|
case "TSImportType":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isTSBaseType(node, opts) {
|
|
if (!node) return false;
|
|
switch (node.type) {
|
|
case "TSAnyKeyword":
|
|
case "TSBooleanKeyword":
|
|
case "TSBigIntKeyword":
|
|
case "TSIntrinsicKeyword":
|
|
case "TSNeverKeyword":
|
|
case "TSNullKeyword":
|
|
case "TSNumberKeyword":
|
|
case "TSObjectKeyword":
|
|
case "TSStringKeyword":
|
|
case "TSSymbolKeyword":
|
|
case "TSUndefinedKeyword":
|
|
case "TSUnknownKeyword":
|
|
case "TSVoidKeyword":
|
|
case "TSThisType":
|
|
case "TSLiteralType":
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isNumberLiteral(node, opts) {
|
|
deprecationWarning$1("isNumberLiteral", "isNumericLiteral");
|
|
if (!node) return false;
|
|
if (node.type !== "NumberLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isRegexLiteral(node, opts) {
|
|
deprecationWarning$1("isRegexLiteral", "isRegExpLiteral");
|
|
if (!node) return false;
|
|
if (node.type !== "RegexLiteral") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isRestProperty$1(node, opts) {
|
|
deprecationWarning$1("isRestProperty", "isRestElement");
|
|
if (!node) return false;
|
|
if (node.type !== "RestProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isSpreadProperty$1(node, opts) {
|
|
deprecationWarning$1("isSpreadProperty", "isSpreadElement");
|
|
if (!node) return false;
|
|
if (node.type !== "SpreadProperty") return false;
|
|
return opts == null || shallowEqual$2(node, opts);
|
|
}
|
|
function isModuleDeclaration(node, opts) {
|
|
deprecationWarning$1("isModuleDeclaration", "isImportOrExportDeclaration");
|
|
return isImportOrExportDeclaration(node, opts);
|
|
}
|
|
|
|
function matchesPattern$2(member, match, allowPartial) {
|
|
if (!isMemberExpression$8(member)) return false;
|
|
var parts = Array.isArray(match) ? match : match.split(".");
|
|
var nodes = [];
|
|
var node;
|
|
for (node = member; isMemberExpression$8(node); node = node.object) {
|
|
nodes.push(node.property);
|
|
}
|
|
nodes.push(node);
|
|
if (nodes.length < parts.length) return false;
|
|
if (!allowPartial && nodes.length > parts.length) return false;
|
|
for (var i = 0, j = nodes.length - 1; i < parts.length; i++, j--) {
|
|
var _node = nodes[j];
|
|
var value = void 0;
|
|
if (isIdentifier$j(_node)) {
|
|
value = _node.name;
|
|
} else if (isStringLiteral$6(_node)) {
|
|
value = _node.value;
|
|
} else if (isThisExpression$2(_node)) {
|
|
value = "this";
|
|
} else {
|
|
return false;
|
|
}
|
|
if (parts[i] !== value) return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function buildMatchMemberExpression$1(match, allowPartial) {
|
|
var parts = match.split(".");
|
|
return function (member) {
|
|
return matchesPattern$2(member, parts, allowPartial);
|
|
};
|
|
}
|
|
|
|
var isReactComponent = buildMatchMemberExpression$1("React.Component");
|
|
|
|
function isCompatTag$1(tagName) {
|
|
return !!tagName && /^[a-z]/.test(tagName);
|
|
}
|
|
|
|
var global$1 = (typeof global !== "undefined" ? global :
|
|
typeof self !== "undefined" ? self :
|
|
typeof window !== "undefined" ? window : {});
|
|
|
|
// shim for using process in browser
|
|
// based off https://github.com/defunctzombie/node-process/blob/master/browser.js
|
|
|
|
function defaultSetTimout() {
|
|
throw new Error('setTimeout has not been defined');
|
|
}
|
|
function defaultClearTimeout () {
|
|
throw new Error('clearTimeout has not been defined');
|
|
}
|
|
var cachedSetTimeout = defaultSetTimout;
|
|
var cachedClearTimeout = defaultClearTimeout;
|
|
if (typeof global$1.setTimeout === 'function') {
|
|
cachedSetTimeout = setTimeout;
|
|
}
|
|
if (typeof global$1.clearTimeout === 'function') {
|
|
cachedClearTimeout = clearTimeout;
|
|
}
|
|
|
|
function runTimeout(fun) {
|
|
if (cachedSetTimeout === setTimeout) {
|
|
//normal enviroments in sane situations
|
|
return setTimeout(fun, 0);
|
|
}
|
|
// if setTimeout wasn't available but was latter defined
|
|
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
|
cachedSetTimeout = setTimeout;
|
|
return setTimeout(fun, 0);
|
|
}
|
|
try {
|
|
// when when somebody has screwed with setTimeout but no I.E. maddness
|
|
return cachedSetTimeout(fun, 0);
|
|
} catch(e){
|
|
try {
|
|
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
|
return cachedSetTimeout.call(null, fun, 0);
|
|
} catch(e){
|
|
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
|
|
return cachedSetTimeout.call(this, fun, 0);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
function runClearTimeout(marker) {
|
|
if (cachedClearTimeout === clearTimeout) {
|
|
//normal enviroments in sane situations
|
|
return clearTimeout(marker);
|
|
}
|
|
// if clearTimeout wasn't available but was latter defined
|
|
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
|
cachedClearTimeout = clearTimeout;
|
|
return clearTimeout(marker);
|
|
}
|
|
try {
|
|
// when when somebody has screwed with setTimeout but no I.E. maddness
|
|
return cachedClearTimeout(marker);
|
|
} catch (e){
|
|
try {
|
|
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
|
return cachedClearTimeout.call(null, marker);
|
|
} catch (e){
|
|
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
|
|
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
|
|
return cachedClearTimeout.call(this, marker);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
var queue = [];
|
|
var draining = false;
|
|
var currentQueue;
|
|
var queueIndex = -1;
|
|
|
|
function cleanUpNextTick() {
|
|
if (!draining || !currentQueue) {
|
|
return;
|
|
}
|
|
draining = false;
|
|
if (currentQueue.length) {
|
|
queue = currentQueue.concat(queue);
|
|
} else {
|
|
queueIndex = -1;
|
|
}
|
|
if (queue.length) {
|
|
drainQueue();
|
|
}
|
|
}
|
|
|
|
function drainQueue() {
|
|
if (draining) {
|
|
return;
|
|
}
|
|
var timeout = runTimeout(cleanUpNextTick);
|
|
draining = true;
|
|
|
|
var len = queue.length;
|
|
while(len) {
|
|
currentQueue = queue;
|
|
queue = [];
|
|
while (++queueIndex < len) {
|
|
if (currentQueue) {
|
|
currentQueue[queueIndex].run();
|
|
}
|
|
}
|
|
queueIndex = -1;
|
|
len = queue.length;
|
|
}
|
|
currentQueue = null;
|
|
draining = false;
|
|
runClearTimeout(timeout);
|
|
}
|
|
function nextTick(fun) {
|
|
var args = new Array(arguments.length - 1);
|
|
if (arguments.length > 1) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
args[i - 1] = arguments[i];
|
|
}
|
|
}
|
|
queue.push(new Item(fun, args));
|
|
if (queue.length === 1 && !draining) {
|
|
runTimeout(drainQueue);
|
|
}
|
|
}
|
|
// v8 likes predictible objects
|
|
function Item(fun, array) {
|
|
this.fun = fun;
|
|
this.array = array;
|
|
}
|
|
Item.prototype.run = function () {
|
|
this.fun.apply(null, this.array);
|
|
};
|
|
var title = 'browser';
|
|
var platform = 'browser';
|
|
var browser$5 = true;
|
|
var env$1 = {};
|
|
var argv = [];
|
|
var version$2 = ''; // empty string to avoid regexp issues
|
|
var versions$2 = {};
|
|
var release = {};
|
|
var config$1 = {};
|
|
|
|
function noop$2() {}
|
|
|
|
var on = noop$2;
|
|
var addListener = noop$2;
|
|
var once$1 = noop$2;
|
|
var off = noop$2;
|
|
var removeListener = noop$2;
|
|
var removeAllListeners = noop$2;
|
|
var emit$1 = noop$2;
|
|
|
|
function binding(name) {
|
|
throw new Error('process.binding is not supported');
|
|
}
|
|
|
|
function cwd () { return '/' }
|
|
function chdir (dir) {
|
|
throw new Error('process.chdir is not supported');
|
|
}function umask() { return 0; }
|
|
|
|
// from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js
|
|
var performance$1 = global$1.performance || {};
|
|
var performanceNow =
|
|
performance$1.now ||
|
|
performance$1.mozNow ||
|
|
performance$1.msNow ||
|
|
performance$1.oNow ||
|
|
performance$1.webkitNow ||
|
|
function(){ return (new Date()).getTime() };
|
|
|
|
// generate timestamp or delta
|
|
// see http://nodejs.org/api/process.html#process_process_hrtime
|
|
function hrtime(previousTimestamp){
|
|
var clocktime = performanceNow.call(performance$1)*1e-3;
|
|
var seconds = Math.floor(clocktime);
|
|
var nanoseconds = Math.floor((clocktime%1)*1e9);
|
|
if (previousTimestamp) {
|
|
seconds = seconds - previousTimestamp[0];
|
|
nanoseconds = nanoseconds - previousTimestamp[1];
|
|
if (nanoseconds<0) {
|
|
seconds--;
|
|
nanoseconds += 1e9;
|
|
}
|
|
}
|
|
return [seconds,nanoseconds]
|
|
}
|
|
|
|
var startTime = new Date();
|
|
function uptime() {
|
|
var currentTime = new Date();
|
|
var dif = currentTime - startTime;
|
|
return dif / 1000;
|
|
}
|
|
|
|
var browser$1$1 = {
|
|
nextTick: nextTick,
|
|
title: title,
|
|
browser: browser$5,
|
|
env: env$1,
|
|
argv: argv,
|
|
version: version$2,
|
|
versions: versions$2,
|
|
on: on,
|
|
addListener: addListener,
|
|
once: once$1,
|
|
off: off,
|
|
removeListener: removeListener,
|
|
removeAllListeners: removeAllListeners,
|
|
emit: emit$1,
|
|
binding: binding,
|
|
cwd: cwd,
|
|
chdir: chdir,
|
|
umask: umask,
|
|
hrtime: hrtime,
|
|
platform: platform,
|
|
release: release,
|
|
config: config$1,
|
|
uptime: uptime
|
|
};
|
|
|
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
|
|
function getAugmentedNamespace(n) {
|
|
var f = n.default;
|
|
if (typeof f == "function") {
|
|
var a = function () {
|
|
return f.apply(this, arguments);
|
|
};
|
|
a.prototype = f.prototype;
|
|
} else a = {};
|
|
Object.defineProperty(a, '__esModule', {value: true});
|
|
Object.keys(n).forEach(function (k) {
|
|
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
Object.defineProperty(a, k, d.get ? d : {
|
|
enumerable: true,
|
|
get: function () {
|
|
return n[k];
|
|
}
|
|
});
|
|
});
|
|
return a;
|
|
}
|
|
|
|
var toFastPropertiesBABEL_8_BREAKINGTrue;
|
|
var hasRequiredToFastPropertiesBABEL_8_BREAKINGTrue;
|
|
function requireToFastPropertiesBABEL_8_BREAKINGTrue() {
|
|
if (hasRequiredToFastPropertiesBABEL_8_BREAKINGTrue) return toFastPropertiesBABEL_8_BREAKINGTrue;
|
|
hasRequiredToFastPropertiesBABEL_8_BREAKINGTrue = 1;
|
|
var fastProto = null;
|
|
function FastObject(o) {
|
|
if (fastProto !== null && typeof fastProto.property) {
|
|
var result = fastProto;
|
|
fastProto = FastObject.prototype = null;
|
|
return result;
|
|
}
|
|
fastProto = FastObject.prototype = o == null ? Object.create(null) : o;
|
|
return new FastObject();
|
|
}
|
|
var inlineCacheCutoff = 10;
|
|
for (var i = 0; i <= inlineCacheCutoff; i++) {
|
|
FastObject();
|
|
}
|
|
toFastPropertiesBABEL_8_BREAKINGTrue = function toFastproperties(o) {
|
|
return FastObject(o);
|
|
};
|
|
return toFastPropertiesBABEL_8_BREAKINGTrue;
|
|
}
|
|
|
|
var toFastPropertiesBABEL_8_BREAKINGFalse;
|
|
var hasRequiredToFastPropertiesBABEL_8_BREAKINGFalse;
|
|
function requireToFastPropertiesBABEL_8_BREAKINGFalse() {
|
|
if (hasRequiredToFastPropertiesBABEL_8_BREAKINGFalse) return toFastPropertiesBABEL_8_BREAKINGFalse;
|
|
hasRequiredToFastPropertiesBABEL_8_BREAKINGFalse = 1;
|
|
var fastProto = null;
|
|
function FastObject(o) {
|
|
if (fastProto !== null && typeof fastProto.property) {
|
|
var result = fastProto;
|
|
fastProto = FastObject.prototype = null;
|
|
return result;
|
|
}
|
|
fastProto = FastObject.prototype = o == null ? Object.create(null) : o;
|
|
return new FastObject();
|
|
}
|
|
FastObject();
|
|
toFastPropertiesBABEL_8_BREAKINGFalse = function toFastproperties(o) {
|
|
return FastObject(o);
|
|
};
|
|
return toFastPropertiesBABEL_8_BREAKINGFalse;
|
|
}
|
|
|
|
function bool$b(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var toFastProperties = bool$b(browser$1$1.env["BABEL_8_BREAKING"]) ? requireToFastPropertiesBABEL_8_BREAKINGTrue() : requireToFastPropertiesBABEL_8_BREAKINGFalse();
|
|
|
|
function isType$2(nodeType, targetType) {
|
|
if (nodeType === targetType) return true;
|
|
if (ALIAS_KEYS[targetType]) return false;
|
|
var aliases = FLIPPED_ALIAS_KEYS$3[targetType];
|
|
if (aliases) {
|
|
if (aliases[0] === nodeType) return true;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(aliases), _step; !(_step = _iterator()).done;) {
|
|
var alias = _step.value;
|
|
if (nodeType === alias) return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function isPlaceholderType(placeholderType, targetType) {
|
|
if (placeholderType === targetType) return true;
|
|
var aliases = PLACEHOLDERS_ALIAS[placeholderType];
|
|
if (aliases) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(aliases), _step; !(_step = _iterator()).done;) {
|
|
var alias = _step.value;
|
|
if (targetType === alias) return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function is$1(type, node, opts) {
|
|
if (!node) return false;
|
|
var matches = isType$2(node.type, type);
|
|
if (!matches) {
|
|
if (!opts && node.type === "Placeholder" && type in FLIPPED_ALIAS_KEYS$3) {
|
|
return isPlaceholderType(node.expectedNode, type);
|
|
}
|
|
return false;
|
|
}
|
|
if (typeof opts === "undefined") {
|
|
return true;
|
|
} else {
|
|
return shallowEqual$2(node, opts);
|
|
}
|
|
}
|
|
|
|
var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
|
|
var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F";
|
|
var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
|
|
var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
|
|
nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
|
|
var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191];
|
|
var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
|
|
function isInAstralSet(code, set) {
|
|
var pos = 0x10000;
|
|
for (var i = 0, length = set.length; i < length; i += 2) {
|
|
pos += set[i];
|
|
if (pos > code) return false;
|
|
pos += set[i + 1];
|
|
if (pos >= code) return true;
|
|
}
|
|
return false;
|
|
}
|
|
function isIdentifierStart(code) {
|
|
if (code < 65) return code === 36;
|
|
if (code <= 90) return true;
|
|
if (code < 97) return code === 95;
|
|
if (code <= 122) return true;
|
|
if (code <= 0xffff) {
|
|
return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
|
|
}
|
|
return isInAstralSet(code, astralIdentifierStartCodes);
|
|
}
|
|
function isIdentifierChar(code) {
|
|
if (code < 48) return code === 36;
|
|
if (code < 58) return true;
|
|
if (code < 65) return false;
|
|
if (code <= 90) return true;
|
|
if (code < 97) return code === 95;
|
|
if (code <= 122) return true;
|
|
if (code <= 0xffff) {
|
|
return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
|
|
}
|
|
return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
|
|
}
|
|
function isIdentifierName(name) {
|
|
var isFirst = true;
|
|
for (var i = 0; i < name.length; i++) {
|
|
var cp = name.charCodeAt(i);
|
|
if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
|
|
var trail = name.charCodeAt(++i);
|
|
if ((trail & 0xfc00) === 0xdc00) {
|
|
cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
|
|
}
|
|
}
|
|
if (isFirst) {
|
|
isFirst = false;
|
|
if (!isIdentifierStart(cp)) {
|
|
return false;
|
|
}
|
|
} else if (!isIdentifierChar(cp)) {
|
|
return false;
|
|
}
|
|
}
|
|
return !isFirst;
|
|
}
|
|
|
|
var reservedWords = {
|
|
keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
|
|
strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
|
|
strictBind: ["eval", "arguments"]
|
|
};
|
|
var keywords$1 = new Set(reservedWords.keyword);
|
|
var reservedWordsStrictSet = new Set(reservedWords.strict);
|
|
var reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
|
|
function isReservedWord(word, inModule) {
|
|
return inModule && word === "await" || word === "enum";
|
|
}
|
|
function isStrictReservedWord(word, inModule) {
|
|
return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
|
|
}
|
|
function isStrictBindOnlyReservedWord(word) {
|
|
return reservedWordsStrictBindSet.has(word);
|
|
}
|
|
function isStrictBindReservedWord(word, inModule) {
|
|
return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
|
|
}
|
|
function isKeyword(word) {
|
|
return keywords$1.has(word);
|
|
}
|
|
|
|
function isValidIdentifier$1(name, reserved) {
|
|
if (reserved === void 0) {
|
|
reserved = true;
|
|
}
|
|
if (typeof name !== "string") return false;
|
|
if (reserved) {
|
|
if (isKeyword(name) || isStrictReservedWord(name, true)) {
|
|
return false;
|
|
}
|
|
}
|
|
return isIdentifierName(name);
|
|
}
|
|
|
|
var _isDigit = function isDigit(code) {
|
|
return code >= 48 && code <= 57;
|
|
};
|
|
var forbiddenNumericSeparatorSiblings = {
|
|
decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]),
|
|
hex: new Set([46, 88, 95, 120])
|
|
};
|
|
var isAllowedNumericSeparatorSibling = {
|
|
bin: function bin(ch) {
|
|
return ch === 48 || ch === 49;
|
|
},
|
|
oct: function oct(ch) {
|
|
return ch >= 48 && ch <= 55;
|
|
},
|
|
dec: function dec(ch) {
|
|
return ch >= 48 && ch <= 57;
|
|
},
|
|
hex: function hex(ch) {
|
|
return ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102;
|
|
}
|
|
};
|
|
function readStringContents(type, input, pos, lineStart, curLine, errors) {
|
|
var initialPos = pos;
|
|
var initialLineStart = lineStart;
|
|
var initialCurLine = curLine;
|
|
var out = "";
|
|
var firstInvalidLoc = null;
|
|
var chunkStart = pos;
|
|
var length = input.length;
|
|
for (;;) {
|
|
if (pos >= length) {
|
|
errors.unterminated(initialPos, initialLineStart, initialCurLine);
|
|
out += input.slice(chunkStart, pos);
|
|
break;
|
|
}
|
|
var ch = input.charCodeAt(pos);
|
|
if (isStringEnd(type, ch, input, pos)) {
|
|
out += input.slice(chunkStart, pos);
|
|
break;
|
|
}
|
|
if (ch === 92) {
|
|
out += input.slice(chunkStart, pos);
|
|
var res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors);
|
|
if (res.ch === null && !firstInvalidLoc) {
|
|
firstInvalidLoc = {
|
|
pos: pos,
|
|
lineStart: lineStart,
|
|
curLine: curLine
|
|
};
|
|
} else {
|
|
out += res.ch;
|
|
}
|
|
pos = res.pos;
|
|
lineStart = res.lineStart;
|
|
curLine = res.curLine;
|
|
chunkStart = pos;
|
|
} else if (ch === 8232 || ch === 8233) {
|
|
++pos;
|
|
++curLine;
|
|
lineStart = pos;
|
|
} else if (ch === 10 || ch === 13) {
|
|
if (type === "template") {
|
|
out += input.slice(chunkStart, pos) + "\n";
|
|
++pos;
|
|
if (ch === 13 && input.charCodeAt(pos) === 10) {
|
|
++pos;
|
|
}
|
|
++curLine;
|
|
chunkStart = lineStart = pos;
|
|
} else {
|
|
errors.unterminated(initialPos, initialLineStart, initialCurLine);
|
|
}
|
|
} else {
|
|
++pos;
|
|
}
|
|
}
|
|
return {
|
|
pos: pos,
|
|
str: out,
|
|
firstInvalidLoc: firstInvalidLoc,
|
|
lineStart: lineStart,
|
|
curLine: curLine,
|
|
containsInvalid: !!firstInvalidLoc
|
|
};
|
|
}
|
|
function isStringEnd(type, ch, input, pos) {
|
|
if (type === "template") {
|
|
return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123;
|
|
}
|
|
return ch === (type === "double" ? 34 : 39);
|
|
}
|
|
function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) {
|
|
var throwOnInvalid = !inTemplate;
|
|
pos++;
|
|
var res = function res(ch) {
|
|
return {
|
|
pos: pos,
|
|
ch: ch,
|
|
lineStart: lineStart,
|
|
curLine: curLine
|
|
};
|
|
};
|
|
var ch = input.charCodeAt(pos++);
|
|
switch (ch) {
|
|
case 110:
|
|
return res("\n");
|
|
case 114:
|
|
return res("\r");
|
|
case 120:
|
|
{
|
|
var code;
|
|
var _readHexChar = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors);
|
|
code = _readHexChar.code;
|
|
pos = _readHexChar.pos;
|
|
return res(code === null ? null : String.fromCharCode(code));
|
|
}
|
|
case 117:
|
|
{
|
|
var _code;
|
|
var _readCodePoint = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors);
|
|
_code = _readCodePoint.code;
|
|
pos = _readCodePoint.pos;
|
|
return res(_code === null ? null : String.fromCodePoint(_code));
|
|
}
|
|
case 116:
|
|
return res("\t");
|
|
case 98:
|
|
return res("\b");
|
|
case 118:
|
|
return res("\x0B");
|
|
case 102:
|
|
return res("\f");
|
|
case 13:
|
|
if (input.charCodeAt(pos) === 10) {
|
|
++pos;
|
|
}
|
|
case 10:
|
|
lineStart = pos;
|
|
++curLine;
|
|
case 8232:
|
|
case 8233:
|
|
return res("");
|
|
case 56:
|
|
case 57:
|
|
if (inTemplate) {
|
|
return res(null);
|
|
} else {
|
|
errors.strictNumericEscape(pos - 1, lineStart, curLine);
|
|
}
|
|
default:
|
|
if (ch >= 48 && ch <= 55) {
|
|
var startPos = pos - 1;
|
|
var match = input.slice(startPos, pos + 2).match(/^[0-7]+/);
|
|
var octalStr = match[0];
|
|
var octal = parseInt(octalStr, 8);
|
|
if (octal > 255) {
|
|
octalStr = octalStr.slice(0, -1);
|
|
octal = parseInt(octalStr, 8);
|
|
}
|
|
pos += octalStr.length - 1;
|
|
var next = input.charCodeAt(pos);
|
|
if (octalStr !== "0" || next === 56 || next === 57) {
|
|
if (inTemplate) {
|
|
return res(null);
|
|
} else {
|
|
errors.strictNumericEscape(startPos, lineStart, curLine);
|
|
}
|
|
}
|
|
return res(String.fromCharCode(octal));
|
|
}
|
|
return res(String.fromCharCode(ch));
|
|
}
|
|
}
|
|
function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {
|
|
var initialPos = pos;
|
|
var n;
|
|
var _readInt = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid);
|
|
n = _readInt.n;
|
|
pos = _readInt.pos;
|
|
if (n === null) {
|
|
if (throwOnInvalid) {
|
|
errors.invalidEscapeSequence(initialPos, lineStart, curLine);
|
|
} else {
|
|
pos = initialPos - 1;
|
|
}
|
|
}
|
|
return {
|
|
code: n,
|
|
pos: pos
|
|
};
|
|
}
|
|
function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {
|
|
var start = pos;
|
|
var forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
|
|
var isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;
|
|
var invalid = false;
|
|
var total = 0;
|
|
for (var i = 0, e = len == null ? Infinity : len; i < e; ++i) {
|
|
var code = input.charCodeAt(pos);
|
|
var val = void 0;
|
|
if (code === 95 && allowNumSeparator !== "bail") {
|
|
var prev = input.charCodeAt(pos - 1);
|
|
var next = input.charCodeAt(pos + 1);
|
|
if (!allowNumSeparator) {
|
|
if (bailOnError) return {
|
|
n: null,
|
|
pos: pos
|
|
};
|
|
errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);
|
|
} else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {
|
|
if (bailOnError) return {
|
|
n: null,
|
|
pos: pos
|
|
};
|
|
errors.unexpectedNumericSeparator(pos, lineStart, curLine);
|
|
}
|
|
++pos;
|
|
continue;
|
|
}
|
|
if (code >= 97) {
|
|
val = code - 97 + 10;
|
|
} else if (code >= 65) {
|
|
val = code - 65 + 10;
|
|
} else if (_isDigit(code)) {
|
|
val = code - 48;
|
|
} else {
|
|
val = Infinity;
|
|
}
|
|
if (val >= radix) {
|
|
if (val <= 9 && bailOnError) {
|
|
return {
|
|
n: null,
|
|
pos: pos
|
|
};
|
|
} else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {
|
|
val = 0;
|
|
} else if (forceLen) {
|
|
val = 0;
|
|
invalid = true;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
++pos;
|
|
total = total * radix + val;
|
|
}
|
|
if (pos === start || len != null && pos - start !== len || invalid) {
|
|
return {
|
|
n: null,
|
|
pos: pos
|
|
};
|
|
}
|
|
return {
|
|
n: total,
|
|
pos: pos
|
|
};
|
|
}
|
|
function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) {
|
|
var ch = input.charCodeAt(pos);
|
|
var code;
|
|
if (ch === 123) {
|
|
++pos;
|
|
var _readHexChar2 = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors);
|
|
code = _readHexChar2.code;
|
|
pos = _readHexChar2.pos;
|
|
++pos;
|
|
if (code !== null && code > 0x10ffff) {
|
|
if (throwOnInvalid) {
|
|
errors.invalidCodePoint(pos, lineStart, curLine);
|
|
} else {
|
|
return {
|
|
code: null,
|
|
pos: pos
|
|
};
|
|
}
|
|
}
|
|
} else {
|
|
var _readHexChar3 = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors);
|
|
code = _readHexChar3.code;
|
|
pos = _readHexChar3.pos;
|
|
}
|
|
return {
|
|
code: code,
|
|
pos: pos
|
|
};
|
|
}
|
|
|
|
var STATEMENT_OR_BLOCK_KEYS$1 = ["consequent", "body", "alternate"];
|
|
var FLATTENABLE_KEYS = ["body", "expressions"];
|
|
var FOR_INIT_KEYS = ["left", "init"];
|
|
var COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"];
|
|
var LOGICAL_OPERATORS$3 = ["||", "&&", "??"];
|
|
var UPDATE_OPERATORS = ["++", "--"];
|
|
var BOOLEAN_NUMBER_BINARY_OPERATORS$1 = [">", "<", ">=", "<="];
|
|
var EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="];
|
|
var COMPARISON_BINARY_OPERATORS = [].concat(EQUALITY_BINARY_OPERATORS, ["in", "instanceof"]);
|
|
var BOOLEAN_BINARY_OPERATORS$1 = [].concat(_toConsumableArray(COMPARISON_BINARY_OPERATORS), BOOLEAN_NUMBER_BINARY_OPERATORS$1);
|
|
var NUMBER_BINARY_OPERATORS$1 = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"];
|
|
var BINARY_OPERATORS = ["+"].concat(NUMBER_BINARY_OPERATORS$1, _toConsumableArray(BOOLEAN_BINARY_OPERATORS$1), ["|>"]);
|
|
var ASSIGNMENT_OPERATORS = ["=", "+="].concat(_toConsumableArray(NUMBER_BINARY_OPERATORS$1.map(function (op) {
|
|
return op + "=";
|
|
})), _toConsumableArray(LOGICAL_OPERATORS$3.map(function (op) {
|
|
return op + "=";
|
|
})));
|
|
var BOOLEAN_UNARY_OPERATORS$1 = ["delete", "!"];
|
|
var NUMBER_UNARY_OPERATORS$1 = ["+", "-", "~"];
|
|
var STRING_UNARY_OPERATORS$1 = ["typeof"];
|
|
var UNARY_OPERATORS = ["void", "throw"].concat(BOOLEAN_UNARY_OPERATORS$1, NUMBER_UNARY_OPERATORS$1, STRING_UNARY_OPERATORS$1);
|
|
var INHERIT_KEYS = {
|
|
optional: ["typeAnnotation", "typeParameters", "returnType"],
|
|
force: ["start", "loc", "end"]
|
|
};
|
|
var BLOCK_SCOPED_SYMBOL = Symbol["for"]("var used to be block scoped");
|
|
var NOT_LOCAL_BINDING$2 = Symbol["for"]("should not be considered a local binding");
|
|
|
|
var VISITOR_KEYS$5 = {};
|
|
var ALIAS_KEYS = {};
|
|
var FLIPPED_ALIAS_KEYS$3 = {};
|
|
var NODE_FIELDS = {};
|
|
var BUILDER_KEYS = {};
|
|
var DEPRECATED_KEYS$1 = {};
|
|
var NODE_PARENT_VALIDATIONS = {};
|
|
function getType$2(val) {
|
|
if (Array.isArray(val)) {
|
|
return "array";
|
|
} else if (val === null) {
|
|
return "null";
|
|
} else {
|
|
return typeof val;
|
|
}
|
|
}
|
|
function validate$6(validate) {
|
|
return {
|
|
validate: validate
|
|
};
|
|
}
|
|
function typeIs(typeName) {
|
|
return typeof typeName === "string" ? assertNodeType(typeName) : assertNodeType.apply(void 0, _toConsumableArray(typeName));
|
|
}
|
|
function validateType(typeName) {
|
|
return validate$6(typeIs(typeName));
|
|
}
|
|
function validateOptional(validate) {
|
|
return {
|
|
validate: validate,
|
|
optional: true
|
|
};
|
|
}
|
|
function validateOptionalType(typeName) {
|
|
return {
|
|
validate: typeIs(typeName),
|
|
optional: true
|
|
};
|
|
}
|
|
function arrayOf(elementType) {
|
|
return chain$1(assertValueType("array"), assertEach(elementType));
|
|
}
|
|
function arrayOfType(typeName) {
|
|
return arrayOf(typeIs(typeName));
|
|
}
|
|
function validateArrayOfType(typeName) {
|
|
return validate$6(arrayOfType(typeName));
|
|
}
|
|
function assertEach(callback) {
|
|
function validator(node, key, val) {
|
|
if (!Array.isArray(val)) return;
|
|
for (var i = 0; i < val.length; i++) {
|
|
var subkey = key + "[" + i + "]";
|
|
var v = val[i];
|
|
callback(node, subkey, v);
|
|
if (browser$1$1.env.BABEL_TYPES_8_BREAKING) validateChild(node, subkey, v);
|
|
}
|
|
}
|
|
validator.each = callback;
|
|
return validator;
|
|
}
|
|
function assertOneOf() {
|
|
for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
values[_key] = arguments[_key];
|
|
}
|
|
function validate(node, key, val) {
|
|
if (values.indexOf(val) < 0) {
|
|
throw new TypeError("Property " + key + " expected value to be one of " + JSON.stringify(values) + " but got " + JSON.stringify(val));
|
|
}
|
|
}
|
|
validate.oneOf = values;
|
|
return validate;
|
|
}
|
|
function assertNodeType() {
|
|
for (var _len2 = arguments.length, types = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
types[_key2] = arguments[_key2];
|
|
}
|
|
function validate(node, key, val) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(types), _step; !(_step = _iterator()).done;) {
|
|
var type = _step.value;
|
|
if (is$1(type, val)) {
|
|
validateChild(node, key, val);
|
|
return;
|
|
}
|
|
}
|
|
throw new TypeError("Property " + key + " of " + node.type + " expected node to be of a type " + JSON.stringify(types) + " but instead got " + JSON.stringify(val == null ? void 0 : val.type));
|
|
}
|
|
validate.oneOfNodeTypes = types;
|
|
return validate;
|
|
}
|
|
function assertNodeOrValueType() {
|
|
for (var _len3 = arguments.length, types = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
types[_key3] = arguments[_key3];
|
|
}
|
|
function validate(node, key, val) {
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(types), _step2; !(_step2 = _iterator2()).done;) {
|
|
var type = _step2.value;
|
|
if (getType$2(val) === type || is$1(type, val)) {
|
|
validateChild(node, key, val);
|
|
return;
|
|
}
|
|
}
|
|
throw new TypeError("Property " + key + " of " + node.type + " expected node to be of a type " + JSON.stringify(types) + " but instead got " + JSON.stringify(val == null ? void 0 : val.type));
|
|
}
|
|
validate.oneOfNodeOrValueTypes = types;
|
|
return validate;
|
|
}
|
|
function assertValueType(type) {
|
|
function validate(node, key, val) {
|
|
var valid = getType$2(val) === type;
|
|
if (!valid) {
|
|
throw new TypeError("Property " + key + " expected type of " + type + " but got " + getType$2(val));
|
|
}
|
|
}
|
|
validate.type = type;
|
|
return validate;
|
|
}
|
|
function assertShape(shape) {
|
|
function validate(node, key, val) {
|
|
var errors = [];
|
|
for (var _i = 0, _Object$keys = Object.keys(shape); _i < _Object$keys.length; _i++) {
|
|
var property = _Object$keys[_i];
|
|
try {
|
|
validateField(node, property, val[property], shape[property]);
|
|
} catch (error) {
|
|
if (error instanceof TypeError) {
|
|
errors.push(error.message);
|
|
continue;
|
|
}
|
|
throw error;
|
|
}
|
|
}
|
|
if (errors.length) {
|
|
throw new TypeError("Property " + key + " of " + node.type + " expected to have the following:\n" + errors.join("\n"));
|
|
}
|
|
}
|
|
validate.shapeOf = shape;
|
|
return validate;
|
|
}
|
|
function assertOptionalChainStart() {
|
|
function validate(node) {
|
|
var _current2;
|
|
var current = node;
|
|
while (node) {
|
|
var _current = current,
|
|
type = _current.type;
|
|
if (type === "OptionalCallExpression") {
|
|
if (current.optional) return;
|
|
current = current.callee;
|
|
continue;
|
|
}
|
|
if (type === "OptionalMemberExpression") {
|
|
if (current.optional) return;
|
|
current = current.object;
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
throw new TypeError("Non-optional " + node.type + " must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from " + ((_current2 = current) == null ? void 0 : _current2.type));
|
|
}
|
|
return validate;
|
|
}
|
|
function chain$1() {
|
|
for (var _len4 = arguments.length, fns = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
fns[_key4] = arguments[_key4];
|
|
}
|
|
function validate() {
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(fns), _step3; !(_step3 = _iterator3()).done;) {
|
|
var fn = _step3.value;
|
|
fn.apply(void 0, arguments);
|
|
}
|
|
}
|
|
validate.chainOf = fns;
|
|
if (fns.length >= 2 && "type" in fns[0] && fns[0].type === "array" && !("each" in fns[1])) {
|
|
throw new Error("An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.");
|
|
}
|
|
return validate;
|
|
}
|
|
var validTypeOpts = ["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"];
|
|
var validFieldKeys = ["default", "optional", "validate"];
|
|
var store = {};
|
|
function defineAliasedType() {
|
|
for (var _len5 = arguments.length, aliases = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
aliases[_key5] = arguments[_key5];
|
|
}
|
|
return function (type, opts) {
|
|
var _defined2;
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
var defined = opts.aliases;
|
|
if (!defined) {
|
|
var _store$opts$inherits$, _defined;
|
|
if (opts.inherits) defined = (_store$opts$inherits$ = store[opts.inherits].aliases) == null ? void 0 : _store$opts$inherits$.slice();
|
|
(_defined = defined) != null ? _defined : defined = [];
|
|
opts.aliases = defined;
|
|
}
|
|
var additional = aliases.filter(function (a) {
|
|
return !defined.includes(a);
|
|
});
|
|
(_defined2 = defined).unshift.apply(_defined2, _toConsumableArray(additional));
|
|
defineType$5(type, opts);
|
|
};
|
|
}
|
|
function defineType$5(type, opts) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
var inherits = opts.inherits && store[opts.inherits] || {};
|
|
var fields = opts.fields;
|
|
if (!fields) {
|
|
fields = {};
|
|
if (inherits.fields) {
|
|
var keys = Object.getOwnPropertyNames(inherits.fields);
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(keys), _step4; !(_step4 = _iterator4()).done;) {
|
|
var _key6 = _step4.value;
|
|
var field = inherits.fields[_key6];
|
|
var def = field["default"];
|
|
if (Array.isArray(def) ? def.length > 0 : def && typeof def === "object") {
|
|
throw new Error("field defaults can only be primitives or empty arrays currently");
|
|
}
|
|
fields[_key6] = {
|
|
"default": Array.isArray(def) ? [] : def,
|
|
optional: field.optional,
|
|
validate: field.validate
|
|
};
|
|
}
|
|
}
|
|
}
|
|
var visitor = opts.visitor || inherits.visitor || [];
|
|
var aliases = opts.aliases || inherits.aliases || [];
|
|
var builder = opts.builder || inherits.builder || opts.visitor || [];
|
|
for (var _i2 = 0, _Object$keys2 = Object.keys(opts); _i2 < _Object$keys2.length; _i2++) {
|
|
var k = _Object$keys2[_i2];
|
|
if (validTypeOpts.indexOf(k) === -1) {
|
|
throw new Error("Unknown type option \"" + k + "\" on " + type);
|
|
}
|
|
}
|
|
if (opts.deprecatedAlias) {
|
|
DEPRECATED_KEYS$1[opts.deprecatedAlias] = type;
|
|
}
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(visitor.concat(builder)), _step5; !(_step5 = _iterator5()).done;) {
|
|
var _key8 = _step5.value;
|
|
fields[_key8] = fields[_key8] || {};
|
|
}
|
|
for (var _i3 = 0, _Object$keys3 = Object.keys(fields); _i3 < _Object$keys3.length; _i3++) {
|
|
var _key7 = _Object$keys3[_i3];
|
|
var _field = fields[_key7];
|
|
if (_field["default"] !== undefined && builder.indexOf(_key7) === -1) {
|
|
_field.optional = true;
|
|
}
|
|
if (_field["default"] === undefined) {
|
|
_field["default"] = null;
|
|
} else if (!_field.validate && _field["default"] != null) {
|
|
_field.validate = assertValueType(getType$2(_field["default"]));
|
|
}
|
|
for (var _i4 = 0, _Object$keys4 = Object.keys(_field); _i4 < _Object$keys4.length; _i4++) {
|
|
var _k = _Object$keys4[_i4];
|
|
if (validFieldKeys.indexOf(_k) === -1) {
|
|
throw new Error("Unknown field key \"" + _k + "\" on " + type + "." + _key7);
|
|
}
|
|
}
|
|
}
|
|
VISITOR_KEYS$5[type] = opts.visitor = visitor;
|
|
BUILDER_KEYS[type] = opts.builder = builder;
|
|
NODE_FIELDS[type] = opts.fields = fields;
|
|
ALIAS_KEYS[type] = opts.aliases = aliases;
|
|
aliases.forEach(function (alias) {
|
|
FLIPPED_ALIAS_KEYS$3[alias] = FLIPPED_ALIAS_KEYS$3[alias] || [];
|
|
FLIPPED_ALIAS_KEYS$3[alias].push(type);
|
|
});
|
|
if (opts.validate) {
|
|
NODE_PARENT_VALIDATIONS[type] = opts.validate;
|
|
}
|
|
store[type] = opts;
|
|
}
|
|
|
|
var defineType$4 = defineAliasedType("Standardized");
|
|
defineType$4("ArrayExpression", {
|
|
fields: {
|
|
elements: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeOrValueType("null", "Expression", "SpreadElement"))),
|
|
"default": !browser$1$1.env.BABEL_TYPES_8_BREAKING ? [] : undefined
|
|
}
|
|
},
|
|
visitor: ["elements"],
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$4("AssignmentExpression", {
|
|
fields: {
|
|
operator: {
|
|
validate: function () {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) {
|
|
return assertValueType("string");
|
|
}
|
|
var identifier = assertOneOf.apply(void 0, _toConsumableArray(ASSIGNMENT_OPERATORS));
|
|
var pattern = assertOneOf("=");
|
|
return function (node, key, val) {
|
|
var validator = is$1("Pattern", node.left) ? pattern : identifier;
|
|
validator(node, key, val);
|
|
};
|
|
}()
|
|
},
|
|
left: {
|
|
validate: !browser$1$1.env.BABEL_TYPES_8_BREAKING ? assertNodeType("LVal") : assertNodeType("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
|
|
},
|
|
right: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
},
|
|
builder: ["operator", "left", "right"],
|
|
visitor: ["left", "right"],
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$4("BinaryExpression", {
|
|
builder: ["operator", "left", "right"],
|
|
fields: {
|
|
operator: {
|
|
validate: assertOneOf.apply(void 0, _toConsumableArray(BINARY_OPERATORS))
|
|
},
|
|
left: {
|
|
validate: function () {
|
|
var expression = assertNodeType("Expression");
|
|
var inOp = assertNodeType("Expression", "PrivateName");
|
|
var validator = Object.assign(function (node, key, val) {
|
|
var validator = node.operator === "in" ? inOp : expression;
|
|
validator(node, key, val);
|
|
}, {
|
|
oneOfNodeTypes: ["Expression", "PrivateName"]
|
|
});
|
|
return validator;
|
|
}()
|
|
},
|
|
right: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
},
|
|
visitor: ["left", "right"],
|
|
aliases: ["Binary", "Expression"]
|
|
});
|
|
defineType$4("InterpreterDirective", {
|
|
builder: ["value"],
|
|
fields: {
|
|
value: {
|
|
validate: assertValueType("string")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("Directive", {
|
|
visitor: ["value"],
|
|
fields: {
|
|
value: {
|
|
validate: assertNodeType("DirectiveLiteral")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("DirectiveLiteral", {
|
|
builder: ["value"],
|
|
fields: {
|
|
value: {
|
|
validate: assertValueType("string")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("BlockStatement", {
|
|
builder: ["body", "directives"],
|
|
visitor: ["directives", "body"],
|
|
fields: {
|
|
directives: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Directive"))),
|
|
"default": []
|
|
},
|
|
body: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Statement")))
|
|
}
|
|
},
|
|
aliases: ["Scopable", "BlockParent", "Block", "Statement"]
|
|
});
|
|
defineType$4("BreakStatement", {
|
|
visitor: ["label"],
|
|
fields: {
|
|
label: {
|
|
validate: assertNodeType("Identifier"),
|
|
optional: true
|
|
}
|
|
},
|
|
aliases: ["Statement", "Terminatorless", "CompletionStatement"]
|
|
});
|
|
defineType$4("CallExpression", {
|
|
visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
|
|
builder: ["callee", "arguments"],
|
|
aliases: ["Expression"],
|
|
fields: Object.assign({
|
|
callee: {
|
|
validate: assertNodeType("Expression", "Super", "V8IntrinsicIdentifier")
|
|
},
|
|
arguments: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder")))
|
|
}
|
|
}, !browser$1$1.env.BABEL_TYPES_8_BREAKING ? {
|
|
optional: {
|
|
validate: assertOneOf(true, false),
|
|
optional: true
|
|
}
|
|
} : {}, {
|
|
typeArguments: {
|
|
validate: assertNodeType("TypeParameterInstantiation"),
|
|
optional: true
|
|
},
|
|
typeParameters: {
|
|
validate: assertNodeType("TSTypeParameterInstantiation"),
|
|
optional: true
|
|
}
|
|
})
|
|
});
|
|
defineType$4("CatchClause", {
|
|
visitor: ["param", "body"],
|
|
fields: {
|
|
param: {
|
|
validate: assertNodeType("Identifier", "ArrayPattern", "ObjectPattern"),
|
|
optional: true
|
|
},
|
|
body: {
|
|
validate: assertNodeType("BlockStatement")
|
|
}
|
|
},
|
|
aliases: ["Scopable", "BlockParent"]
|
|
});
|
|
defineType$4("ConditionalExpression", {
|
|
visitor: ["test", "consequent", "alternate"],
|
|
fields: {
|
|
test: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
consequent: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
alternate: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
},
|
|
aliases: ["Expression", "Conditional"]
|
|
});
|
|
defineType$4("ContinueStatement", {
|
|
visitor: ["label"],
|
|
fields: {
|
|
label: {
|
|
validate: assertNodeType("Identifier"),
|
|
optional: true
|
|
}
|
|
},
|
|
aliases: ["Statement", "Terminatorless", "CompletionStatement"]
|
|
});
|
|
defineType$4("DebuggerStatement", {
|
|
aliases: ["Statement"]
|
|
});
|
|
defineType$4("DoWhileStatement", {
|
|
visitor: ["test", "body"],
|
|
fields: {
|
|
test: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
body: {
|
|
validate: assertNodeType("Statement")
|
|
}
|
|
},
|
|
aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"]
|
|
});
|
|
defineType$4("EmptyStatement", {
|
|
aliases: ["Statement"]
|
|
});
|
|
defineType$4("ExpressionStatement", {
|
|
visitor: ["expression"],
|
|
fields: {
|
|
expression: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
},
|
|
aliases: ["Statement", "ExpressionWrapper"]
|
|
});
|
|
defineType$4("File", {
|
|
builder: ["program", "comments", "tokens"],
|
|
visitor: ["program"],
|
|
fields: {
|
|
program: {
|
|
validate: assertNodeType("Program")
|
|
},
|
|
comments: {
|
|
validate: !browser$1$1.env.BABEL_TYPES_8_BREAKING ? Object.assign(function () {}, {
|
|
each: {
|
|
oneOfNodeTypes: ["CommentBlock", "CommentLine"]
|
|
}
|
|
}) : assertEach(assertNodeType("CommentBlock", "CommentLine")),
|
|
optional: true
|
|
},
|
|
tokens: {
|
|
validate: assertEach(Object.assign(function () {}, {
|
|
type: "any"
|
|
})),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ForInStatement", {
|
|
visitor: ["left", "right", "body"],
|
|
aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
|
|
fields: {
|
|
left: {
|
|
validate: !browser$1$1.env.BABEL_TYPES_8_BREAKING ? assertNodeType("VariableDeclaration", "LVal") : assertNodeType("VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
|
|
},
|
|
right: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
body: {
|
|
validate: assertNodeType("Statement")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ForStatement", {
|
|
visitor: ["init", "test", "update", "body"],
|
|
aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"],
|
|
fields: {
|
|
init: {
|
|
validate: assertNodeType("VariableDeclaration", "Expression"),
|
|
optional: true
|
|
},
|
|
test: {
|
|
validate: assertNodeType("Expression"),
|
|
optional: true
|
|
},
|
|
update: {
|
|
validate: assertNodeType("Expression"),
|
|
optional: true
|
|
},
|
|
body: {
|
|
validate: assertNodeType("Statement")
|
|
}
|
|
}
|
|
});
|
|
var functionCommon = function functionCommon() {
|
|
return {
|
|
params: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Identifier", "Pattern", "RestElement")))
|
|
},
|
|
generator: {
|
|
"default": false
|
|
},
|
|
async: {
|
|
"default": false
|
|
}
|
|
};
|
|
};
|
|
var functionTypeAnnotationCommon = function functionTypeAnnotationCommon() {
|
|
return {
|
|
returnType: {
|
|
validate: assertNodeType("TypeAnnotation", "TSTypeAnnotation", "Noop"),
|
|
optional: true
|
|
},
|
|
typeParameters: {
|
|
validate: assertNodeType("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
|
|
optional: true
|
|
}
|
|
};
|
|
};
|
|
var functionDeclarationCommon = function functionDeclarationCommon() {
|
|
return Object.assign({}, functionCommon(), {
|
|
declare: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
id: {
|
|
validate: assertNodeType("Identifier"),
|
|
optional: true
|
|
}
|
|
});
|
|
};
|
|
defineType$4("FunctionDeclaration", {
|
|
builder: ["id", "params", "body", "generator", "async"],
|
|
visitor: ["id", "params", "body", "returnType", "typeParameters"],
|
|
fields: Object.assign({}, functionDeclarationCommon(), functionTypeAnnotationCommon(), {
|
|
body: {
|
|
validate: assertNodeType("BlockStatement")
|
|
},
|
|
predicate: {
|
|
validate: assertNodeType("DeclaredPredicate", "InferredPredicate"),
|
|
optional: true
|
|
}
|
|
}),
|
|
aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"],
|
|
validate: function () {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return function () {};
|
|
var identifier = assertNodeType("Identifier");
|
|
return function (parent, key, node) {
|
|
if (!is$1("ExportDefaultDeclaration", parent)) {
|
|
identifier(node, "id", node.id);
|
|
}
|
|
};
|
|
}()
|
|
});
|
|
defineType$4("FunctionExpression", {
|
|
inherits: "FunctionDeclaration",
|
|
aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
|
|
fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
|
|
id: {
|
|
validate: assertNodeType("Identifier"),
|
|
optional: true
|
|
},
|
|
body: {
|
|
validate: assertNodeType("BlockStatement")
|
|
},
|
|
predicate: {
|
|
validate: assertNodeType("DeclaredPredicate", "InferredPredicate"),
|
|
optional: true
|
|
}
|
|
})
|
|
});
|
|
var patternLikeCommon = function patternLikeCommon() {
|
|
return {
|
|
typeAnnotation: {
|
|
validate: assertNodeType("TypeAnnotation", "TSTypeAnnotation", "Noop"),
|
|
optional: true
|
|
},
|
|
optional: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
}
|
|
};
|
|
};
|
|
defineType$4("Identifier", {
|
|
builder: ["name"],
|
|
visitor: ["typeAnnotation", "decorators"],
|
|
aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"],
|
|
fields: Object.assign({}, patternLikeCommon(), {
|
|
name: {
|
|
validate: chain$1(assertValueType("string"), Object.assign(function (node, key, val) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
if (!isValidIdentifier$1(val, false)) {
|
|
throw new TypeError("\"" + val + "\" is not a valid identifier name");
|
|
}
|
|
}, {
|
|
type: "string"
|
|
}))
|
|
}
|
|
}),
|
|
validate: function validate(parent, key, node) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
var match = /\.(\w+)$/.exec(key);
|
|
if (!match) return;
|
|
var _match = _slicedToArray(match, 2),
|
|
parentKey = _match[1];
|
|
var nonComp = {
|
|
computed: false
|
|
};
|
|
if (parentKey === "property") {
|
|
if (is$1("MemberExpression", parent, nonComp)) return;
|
|
if (is$1("OptionalMemberExpression", parent, nonComp)) return;
|
|
} else if (parentKey === "key") {
|
|
if (is$1("Property", parent, nonComp)) return;
|
|
if (is$1("Method", parent, nonComp)) return;
|
|
} else if (parentKey === "exported") {
|
|
if (is$1("ExportSpecifier", parent)) return;
|
|
} else if (parentKey === "imported") {
|
|
if (is$1("ImportSpecifier", parent, {
|
|
imported: node
|
|
})) return;
|
|
} else if (parentKey === "meta") {
|
|
if (is$1("MetaProperty", parent, {
|
|
meta: node
|
|
})) return;
|
|
}
|
|
if ((isKeyword(node.name) || isReservedWord(node.name, false)) && node.name !== "this") {
|
|
throw new TypeError("\"" + node.name + "\" is not a valid identifier");
|
|
}
|
|
}
|
|
});
|
|
defineType$4("IfStatement", {
|
|
visitor: ["test", "consequent", "alternate"],
|
|
aliases: ["Statement", "Conditional"],
|
|
fields: {
|
|
test: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
consequent: {
|
|
validate: assertNodeType("Statement")
|
|
},
|
|
alternate: {
|
|
optional: true,
|
|
validate: assertNodeType("Statement")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("LabeledStatement", {
|
|
visitor: ["label", "body"],
|
|
aliases: ["Statement"],
|
|
fields: {
|
|
label: {
|
|
validate: assertNodeType("Identifier")
|
|
},
|
|
body: {
|
|
validate: assertNodeType("Statement")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("StringLiteral", {
|
|
builder: ["value"],
|
|
fields: {
|
|
value: {
|
|
validate: assertValueType("string")
|
|
}
|
|
},
|
|
aliases: ["Expression", "Pureish", "Literal", "Immutable"]
|
|
});
|
|
defineType$4("NumericLiteral", {
|
|
builder: ["value"],
|
|
deprecatedAlias: "NumberLiteral",
|
|
fields: {
|
|
value: {
|
|
validate: assertValueType("number")
|
|
}
|
|
},
|
|
aliases: ["Expression", "Pureish", "Literal", "Immutable"]
|
|
});
|
|
defineType$4("NullLiteral", {
|
|
aliases: ["Expression", "Pureish", "Literal", "Immutable"]
|
|
});
|
|
defineType$4("BooleanLiteral", {
|
|
builder: ["value"],
|
|
fields: {
|
|
value: {
|
|
validate: assertValueType("boolean")
|
|
}
|
|
},
|
|
aliases: ["Expression", "Pureish", "Literal", "Immutable"]
|
|
});
|
|
defineType$4("RegExpLiteral", {
|
|
builder: ["pattern", "flags"],
|
|
deprecatedAlias: "RegexLiteral",
|
|
aliases: ["Expression", "Pureish", "Literal"],
|
|
fields: {
|
|
pattern: {
|
|
validate: assertValueType("string")
|
|
},
|
|
flags: {
|
|
validate: chain$1(assertValueType("string"), Object.assign(function (node, key, val) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
var invalid = /[^gimsuy]/.exec(val);
|
|
if (invalid) {
|
|
throw new TypeError("\"" + invalid[0] + "\" is not a valid RegExp flag");
|
|
}
|
|
}, {
|
|
type: "string"
|
|
})),
|
|
"default": ""
|
|
}
|
|
}
|
|
});
|
|
defineType$4("LogicalExpression", {
|
|
builder: ["operator", "left", "right"],
|
|
visitor: ["left", "right"],
|
|
aliases: ["Binary", "Expression"],
|
|
fields: {
|
|
operator: {
|
|
validate: assertOneOf.apply(void 0, _toConsumableArray(LOGICAL_OPERATORS$3))
|
|
},
|
|
left: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
right: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("MemberExpression", {
|
|
builder: ["object", "property", "computed"].concat(_toConsumableArray(!browser$1$1.env.BABEL_TYPES_8_BREAKING ? ["optional"] : [])),
|
|
visitor: ["object", "property"],
|
|
aliases: ["Expression", "LVal"],
|
|
fields: Object.assign({
|
|
object: {
|
|
validate: assertNodeType("Expression", "Super")
|
|
},
|
|
property: {
|
|
validate: function () {
|
|
var normal = assertNodeType("Identifier", "PrivateName");
|
|
var computed = assertNodeType("Expression");
|
|
var validator = function validator(node, key, val) {
|
|
var validator = node.computed ? computed : normal;
|
|
validator(node, key, val);
|
|
};
|
|
validator.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"];
|
|
return validator;
|
|
}()
|
|
},
|
|
computed: {
|
|
"default": false
|
|
}
|
|
}, !browser$1$1.env.BABEL_TYPES_8_BREAKING ? {
|
|
optional: {
|
|
validate: assertOneOf(true, false),
|
|
optional: true
|
|
}
|
|
} : {})
|
|
});
|
|
defineType$4("NewExpression", {
|
|
inherits: "CallExpression"
|
|
});
|
|
defineType$4("Program", {
|
|
visitor: ["directives", "body"],
|
|
builder: ["body", "directives", "sourceType", "interpreter"],
|
|
fields: {
|
|
sourceFile: {
|
|
validate: assertValueType("string")
|
|
},
|
|
sourceType: {
|
|
validate: assertOneOf("script", "module"),
|
|
"default": "script"
|
|
},
|
|
interpreter: {
|
|
validate: assertNodeType("InterpreterDirective"),
|
|
"default": null,
|
|
optional: true
|
|
},
|
|
directives: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Directive"))),
|
|
"default": []
|
|
},
|
|
body: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Statement")))
|
|
}
|
|
},
|
|
aliases: ["Scopable", "BlockParent", "Block"]
|
|
});
|
|
defineType$4("ObjectExpression", {
|
|
visitor: ["properties"],
|
|
aliases: ["Expression"],
|
|
fields: {
|
|
properties: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ObjectMethod", "ObjectProperty", "SpreadElement")))
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ObjectMethod", {
|
|
builder: ["kind", "key", "params", "body", "computed", "generator", "async"],
|
|
fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
|
|
kind: Object.assign({
|
|
validate: assertOneOf("method", "get", "set")
|
|
}, !browser$1$1.env.BABEL_TYPES_8_BREAKING ? {
|
|
"default": "method"
|
|
} : {}),
|
|
computed: {
|
|
"default": false
|
|
},
|
|
key: {
|
|
validate: function () {
|
|
var normal = assertNodeType("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral");
|
|
var computed = assertNodeType("Expression");
|
|
var validator = function validator(node, key, val) {
|
|
var validator = node.computed ? computed : normal;
|
|
validator(node, key, val);
|
|
};
|
|
validator.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"];
|
|
return validator;
|
|
}()
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
},
|
|
body: {
|
|
validate: assertNodeType("BlockStatement")
|
|
}
|
|
}),
|
|
visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
|
|
aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"]
|
|
});
|
|
defineType$4("ObjectProperty", {
|
|
builder: ["key", "value", "computed", "shorthand"].concat(_toConsumableArray(!browser$1$1.env.BABEL_TYPES_8_BREAKING ? ["decorators"] : [])),
|
|
fields: {
|
|
computed: {
|
|
"default": false
|
|
},
|
|
key: {
|
|
validate: function () {
|
|
var normal = assertNodeType("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName");
|
|
var computed = assertNodeType("Expression");
|
|
var validator = Object.assign(function (node, key, val) {
|
|
var validator = node.computed ? computed : normal;
|
|
validator(node, key, val);
|
|
}, {
|
|
oneOfNodeTypes: ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"]
|
|
});
|
|
return validator;
|
|
}()
|
|
},
|
|
value: {
|
|
validate: assertNodeType("Expression", "PatternLike")
|
|
},
|
|
shorthand: {
|
|
validate: chain$1(assertValueType("boolean"), Object.assign(function (node, key, val) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
if (val && node.computed) {
|
|
throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");
|
|
}
|
|
}, {
|
|
type: "boolean"
|
|
}), function (node, key, val) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
if (val && !is$1("Identifier", node.key)) {
|
|
throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier");
|
|
}
|
|
}),
|
|
"default": false
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
}
|
|
},
|
|
visitor: ["key", "value", "decorators"],
|
|
aliases: ["UserWhitespacable", "Property", "ObjectMember"],
|
|
validate: function () {
|
|
var pattern = assertNodeType("Identifier", "Pattern", "TSAsExpression", "TSSatisfiesExpression", "TSNonNullExpression", "TSTypeAssertion");
|
|
var expression = assertNodeType("Expression");
|
|
return function (parent, key, node) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
var validator = is$1("ObjectPattern", parent) ? pattern : expression;
|
|
validator(node, "value", node.value);
|
|
};
|
|
}()
|
|
});
|
|
defineType$4("RestElement", {
|
|
visitor: ["argument", "typeAnnotation"],
|
|
builder: ["argument"],
|
|
aliases: ["LVal", "PatternLike"],
|
|
deprecatedAlias: "RestProperty",
|
|
fields: Object.assign({}, patternLikeCommon(), {
|
|
argument: {
|
|
validate: !browser$1$1.env.BABEL_TYPES_8_BREAKING ? assertNodeType("LVal") : assertNodeType("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
|
|
}
|
|
}),
|
|
validate: function validate(parent, key) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
var match = /(\w+)\[(\d+)\]/.exec(key);
|
|
if (!match) throw new Error("Internal Babel error: malformed key.");
|
|
var _ref = match,
|
|
_ref2 = _slicedToArray(_ref, 3),
|
|
listKey = _ref2[1],
|
|
index = _ref2[2];
|
|
if (parent[listKey].length > +index + 1) {
|
|
throw new TypeError("RestElement must be last element of " + listKey);
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ReturnStatement", {
|
|
visitor: ["argument"],
|
|
aliases: ["Statement", "Terminatorless", "CompletionStatement"],
|
|
fields: {
|
|
argument: {
|
|
validate: assertNodeType("Expression"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType$4("SequenceExpression", {
|
|
visitor: ["expressions"],
|
|
fields: {
|
|
expressions: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Expression")))
|
|
}
|
|
},
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$4("ParenthesizedExpression", {
|
|
visitor: ["expression"],
|
|
aliases: ["Expression", "ExpressionWrapper"],
|
|
fields: {
|
|
expression: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("SwitchCase", {
|
|
visitor: ["test", "consequent"],
|
|
fields: {
|
|
test: {
|
|
validate: assertNodeType("Expression"),
|
|
optional: true
|
|
},
|
|
consequent: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Statement")))
|
|
}
|
|
}
|
|
});
|
|
defineType$4("SwitchStatement", {
|
|
visitor: ["discriminant", "cases"],
|
|
aliases: ["Statement", "BlockParent", "Scopable"],
|
|
fields: {
|
|
discriminant: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
cases: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("SwitchCase")))
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ThisExpression", {
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$4("ThrowStatement", {
|
|
visitor: ["argument"],
|
|
aliases: ["Statement", "Terminatorless", "CompletionStatement"],
|
|
fields: {
|
|
argument: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("TryStatement", {
|
|
visitor: ["block", "handler", "finalizer"],
|
|
aliases: ["Statement"],
|
|
fields: {
|
|
block: {
|
|
validate: chain$1(assertNodeType("BlockStatement"), Object.assign(function (node) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
if (!node.handler && !node.finalizer) {
|
|
throw new TypeError("TryStatement expects either a handler or finalizer, or both");
|
|
}
|
|
}, {
|
|
oneOfNodeTypes: ["BlockStatement"]
|
|
}))
|
|
},
|
|
handler: {
|
|
optional: true,
|
|
validate: assertNodeType("CatchClause")
|
|
},
|
|
finalizer: {
|
|
optional: true,
|
|
validate: assertNodeType("BlockStatement")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("UnaryExpression", {
|
|
builder: ["operator", "argument", "prefix"],
|
|
fields: {
|
|
prefix: {
|
|
"default": true
|
|
},
|
|
argument: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
operator: {
|
|
validate: assertOneOf.apply(void 0, _toConsumableArray(UNARY_OPERATORS))
|
|
}
|
|
},
|
|
visitor: ["argument"],
|
|
aliases: ["UnaryLike", "Expression"]
|
|
});
|
|
defineType$4("UpdateExpression", {
|
|
builder: ["operator", "argument", "prefix"],
|
|
fields: {
|
|
prefix: {
|
|
"default": false
|
|
},
|
|
argument: {
|
|
validate: !browser$1$1.env.BABEL_TYPES_8_BREAKING ? assertNodeType("Expression") : assertNodeType("Identifier", "MemberExpression")
|
|
},
|
|
operator: {
|
|
validate: assertOneOf.apply(void 0, _toConsumableArray(UPDATE_OPERATORS))
|
|
}
|
|
},
|
|
visitor: ["argument"],
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$4("VariableDeclaration", {
|
|
builder: ["kind", "declarations"],
|
|
visitor: ["declarations"],
|
|
aliases: ["Statement", "Declaration"],
|
|
fields: {
|
|
declare: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
kind: {
|
|
validate: assertOneOf("var", "let", "const", "using")
|
|
},
|
|
declarations: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("VariableDeclarator")))
|
|
}
|
|
},
|
|
validate: function validate(parent, key, node) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
if (!is$1("ForXStatement", parent, {
|
|
left: node
|
|
})) return;
|
|
if (node.declarations.length !== 1) {
|
|
throw new TypeError("Exactly one VariableDeclarator is required in the VariableDeclaration of a " + parent.type);
|
|
}
|
|
}
|
|
});
|
|
defineType$4("VariableDeclarator", {
|
|
visitor: ["id", "init"],
|
|
fields: {
|
|
id: {
|
|
validate: function () {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) {
|
|
return assertNodeType("LVal");
|
|
}
|
|
var normal = assertNodeType("Identifier", "ArrayPattern", "ObjectPattern");
|
|
var without = assertNodeType("Identifier");
|
|
return function (node, key, val) {
|
|
var validator = node.init ? normal : without;
|
|
validator(node, key, val);
|
|
};
|
|
}()
|
|
},
|
|
definite: {
|
|
optional: true,
|
|
validate: assertValueType("boolean")
|
|
},
|
|
init: {
|
|
optional: true,
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("WhileStatement", {
|
|
visitor: ["test", "body"],
|
|
aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"],
|
|
fields: {
|
|
test: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
body: {
|
|
validate: assertNodeType("Statement")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("WithStatement", {
|
|
visitor: ["object", "body"],
|
|
aliases: ["Statement"],
|
|
fields: {
|
|
object: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
body: {
|
|
validate: assertNodeType("Statement")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("AssignmentPattern", {
|
|
visitor: ["left", "right", "decorators"],
|
|
builder: ["left", "right"],
|
|
aliases: ["Pattern", "PatternLike", "LVal"],
|
|
fields: Object.assign({}, patternLikeCommon(), {
|
|
left: {
|
|
validate: assertNodeType("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
|
|
},
|
|
right: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
}
|
|
})
|
|
});
|
|
defineType$4("ArrayPattern", {
|
|
visitor: ["elements", "typeAnnotation"],
|
|
builder: ["elements"],
|
|
aliases: ["Pattern", "PatternLike", "LVal"],
|
|
fields: Object.assign({}, patternLikeCommon(), {
|
|
elements: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeOrValueType("null", "PatternLike", "LVal")))
|
|
}
|
|
})
|
|
});
|
|
defineType$4("ArrowFunctionExpression", {
|
|
builder: ["params", "body", "async"],
|
|
visitor: ["params", "body", "returnType", "typeParameters"],
|
|
aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
|
|
fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
|
|
expression: {
|
|
validate: assertValueType("boolean")
|
|
},
|
|
body: {
|
|
validate: assertNodeType("BlockStatement", "Expression")
|
|
},
|
|
predicate: {
|
|
validate: assertNodeType("DeclaredPredicate", "InferredPredicate"),
|
|
optional: true
|
|
}
|
|
})
|
|
});
|
|
defineType$4("ClassBody", {
|
|
visitor: ["body"],
|
|
fields: {
|
|
body: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "ClassAccessorProperty", "TSDeclareMethod", "TSIndexSignature", "StaticBlock")))
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ClassExpression", {
|
|
builder: ["id", "superClass", "body", "decorators"],
|
|
visitor: ["id", "body", "superClass", "mixins", "typeParameters", "superTypeParameters", "implements", "decorators"],
|
|
aliases: ["Scopable", "Class", "Expression"],
|
|
fields: {
|
|
id: {
|
|
validate: assertNodeType("Identifier"),
|
|
optional: true
|
|
},
|
|
typeParameters: {
|
|
validate: assertNodeType("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
|
|
optional: true
|
|
},
|
|
body: {
|
|
validate: assertNodeType("ClassBody")
|
|
},
|
|
superClass: {
|
|
optional: true,
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
superTypeParameters: {
|
|
validate: assertNodeType("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
|
|
optional: true
|
|
},
|
|
"implements": {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("TSExpressionWithTypeArguments", "ClassImplements"))),
|
|
optional: true
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
},
|
|
mixins: {
|
|
validate: assertNodeType("InterfaceExtends"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ClassDeclaration", {
|
|
inherits: "ClassExpression",
|
|
aliases: ["Scopable", "Class", "Statement", "Declaration"],
|
|
fields: {
|
|
id: {
|
|
validate: assertNodeType("Identifier")
|
|
},
|
|
typeParameters: {
|
|
validate: assertNodeType("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
|
|
optional: true
|
|
},
|
|
body: {
|
|
validate: assertNodeType("ClassBody")
|
|
},
|
|
superClass: {
|
|
optional: true,
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
superTypeParameters: {
|
|
validate: assertNodeType("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
|
|
optional: true
|
|
},
|
|
"implements": {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("TSExpressionWithTypeArguments", "ClassImplements"))),
|
|
optional: true
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
},
|
|
mixins: {
|
|
validate: assertNodeType("InterfaceExtends"),
|
|
optional: true
|
|
},
|
|
declare: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
"abstract": {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
}
|
|
},
|
|
validate: function () {
|
|
var identifier = assertNodeType("Identifier");
|
|
return function (parent, key, node) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
if (!is$1("ExportDefaultDeclaration", parent)) {
|
|
identifier(node, "id", node.id);
|
|
}
|
|
};
|
|
}()
|
|
});
|
|
defineType$4("ExportAllDeclaration", {
|
|
visitor: ["source"],
|
|
aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
|
|
fields: {
|
|
source: {
|
|
validate: assertNodeType("StringLiteral")
|
|
},
|
|
exportKind: validateOptional(assertOneOf("type", "value")),
|
|
assertions: {
|
|
optional: true,
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ImportAttribute")))
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ExportDefaultDeclaration", {
|
|
visitor: ["declaration"],
|
|
aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
|
|
fields: {
|
|
declaration: {
|
|
validate: assertNodeType("TSDeclareFunction", "FunctionDeclaration", "ClassDeclaration", "Expression")
|
|
},
|
|
exportKind: validateOptional(assertOneOf("value"))
|
|
}
|
|
});
|
|
defineType$4("ExportNamedDeclaration", {
|
|
visitor: ["declaration", "specifiers", "source"],
|
|
aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
|
|
fields: {
|
|
declaration: {
|
|
optional: true,
|
|
validate: chain$1(assertNodeType("Declaration"), Object.assign(function (node, key, val) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
if (val && node.specifiers.length) {
|
|
throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");
|
|
}
|
|
}, {
|
|
oneOfNodeTypes: ["Declaration"]
|
|
}), function (node, key, val) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
if (val && node.source) {
|
|
throw new TypeError("Cannot export a declaration from a source");
|
|
}
|
|
})
|
|
},
|
|
assertions: {
|
|
optional: true,
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ImportAttribute")))
|
|
},
|
|
specifiers: {
|
|
"default": [],
|
|
validate: chain$1(assertValueType("array"), assertEach(function () {
|
|
var sourced = assertNodeType("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier");
|
|
var sourceless = assertNodeType("ExportSpecifier");
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return sourced;
|
|
return function (node, key, val) {
|
|
var validator = node.source ? sourced : sourceless;
|
|
validator(node, key, val);
|
|
};
|
|
}()))
|
|
},
|
|
source: {
|
|
validate: assertNodeType("StringLiteral"),
|
|
optional: true
|
|
},
|
|
exportKind: validateOptional(assertOneOf("type", "value"))
|
|
}
|
|
});
|
|
defineType$4("ExportSpecifier", {
|
|
visitor: ["local", "exported"],
|
|
aliases: ["ModuleSpecifier"],
|
|
fields: {
|
|
local: {
|
|
validate: assertNodeType("Identifier")
|
|
},
|
|
exported: {
|
|
validate: assertNodeType("Identifier", "StringLiteral")
|
|
},
|
|
exportKind: {
|
|
validate: assertOneOf("type", "value"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ForOfStatement", {
|
|
visitor: ["left", "right", "body"],
|
|
builder: ["left", "right", "body", "await"],
|
|
aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
|
|
fields: {
|
|
left: {
|
|
validate: function () {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) {
|
|
return assertNodeType("VariableDeclaration", "LVal");
|
|
}
|
|
var declaration = assertNodeType("VariableDeclaration");
|
|
var lval = assertNodeType("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression");
|
|
return function (node, key, val) {
|
|
if (is$1("VariableDeclaration", val)) {
|
|
declaration(node, key, val);
|
|
} else {
|
|
lval(node, key, val);
|
|
}
|
|
};
|
|
}()
|
|
},
|
|
right: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
body: {
|
|
validate: assertNodeType("Statement")
|
|
},
|
|
"await": {
|
|
"default": false
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ImportDeclaration", {
|
|
visitor: ["specifiers", "source"],
|
|
aliases: ["Statement", "Declaration", "ImportOrExportDeclaration"],
|
|
fields: {
|
|
assertions: {
|
|
optional: true,
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ImportAttribute")))
|
|
},
|
|
module: {
|
|
optional: true,
|
|
validate: assertValueType("boolean")
|
|
},
|
|
specifiers: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier")))
|
|
},
|
|
source: {
|
|
validate: assertNodeType("StringLiteral")
|
|
},
|
|
importKind: {
|
|
validate: assertOneOf("type", "typeof", "value"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ImportDefaultSpecifier", {
|
|
visitor: ["local"],
|
|
aliases: ["ModuleSpecifier"],
|
|
fields: {
|
|
local: {
|
|
validate: assertNodeType("Identifier")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ImportNamespaceSpecifier", {
|
|
visitor: ["local"],
|
|
aliases: ["ModuleSpecifier"],
|
|
fields: {
|
|
local: {
|
|
validate: assertNodeType("Identifier")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ImportSpecifier", {
|
|
visitor: ["local", "imported"],
|
|
aliases: ["ModuleSpecifier"],
|
|
fields: {
|
|
local: {
|
|
validate: assertNodeType("Identifier")
|
|
},
|
|
imported: {
|
|
validate: assertNodeType("Identifier", "StringLiteral")
|
|
},
|
|
importKind: {
|
|
validate: assertOneOf("type", "typeof", "value"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType$4("MetaProperty", {
|
|
visitor: ["meta", "property"],
|
|
aliases: ["Expression"],
|
|
fields: {
|
|
meta: {
|
|
validate: chain$1(assertNodeType("Identifier"), Object.assign(function (node, key, val) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
var property;
|
|
switch (val.name) {
|
|
case "function":
|
|
property = "sent";
|
|
break;
|
|
case "new":
|
|
property = "target";
|
|
break;
|
|
case "import":
|
|
property = "meta";
|
|
break;
|
|
}
|
|
if (!is$1("Identifier", node.property, {
|
|
name: property
|
|
})) {
|
|
throw new TypeError("Unrecognised MetaProperty");
|
|
}
|
|
}, {
|
|
oneOfNodeTypes: ["Identifier"]
|
|
}))
|
|
},
|
|
property: {
|
|
validate: assertNodeType("Identifier")
|
|
}
|
|
}
|
|
});
|
|
var classMethodOrPropertyCommon = function classMethodOrPropertyCommon() {
|
|
return {
|
|
"abstract": {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
accessibility: {
|
|
validate: assertOneOf("public", "private", "protected"),
|
|
optional: true
|
|
},
|
|
"static": {
|
|
"default": false
|
|
},
|
|
override: {
|
|
"default": false
|
|
},
|
|
computed: {
|
|
"default": false
|
|
},
|
|
optional: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
key: {
|
|
validate: chain$1(function () {
|
|
var normal = assertNodeType("Identifier", "StringLiteral", "NumericLiteral");
|
|
var computed = assertNodeType("Expression");
|
|
return function (node, key, val) {
|
|
var validator = node.computed ? computed : normal;
|
|
validator(node, key, val);
|
|
};
|
|
}(), assertNodeType("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression"))
|
|
}
|
|
};
|
|
};
|
|
var classMethodOrDeclareMethodCommon = function classMethodOrDeclareMethodCommon() {
|
|
return Object.assign({}, functionCommon(), classMethodOrPropertyCommon(), {
|
|
params: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Identifier", "Pattern", "RestElement", "TSParameterProperty")))
|
|
},
|
|
kind: {
|
|
validate: assertOneOf("get", "set", "method", "constructor"),
|
|
"default": "method"
|
|
},
|
|
access: {
|
|
validate: chain$1(assertValueType("string"), assertOneOf("public", "private", "protected")),
|
|
optional: true
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
}
|
|
});
|
|
};
|
|
defineType$4("ClassMethod", {
|
|
aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"],
|
|
builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"],
|
|
visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
|
|
fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), {
|
|
body: {
|
|
validate: assertNodeType("BlockStatement")
|
|
}
|
|
})
|
|
});
|
|
defineType$4("ObjectPattern", {
|
|
visitor: ["properties", "typeAnnotation", "decorators"],
|
|
builder: ["properties"],
|
|
aliases: ["Pattern", "PatternLike", "LVal"],
|
|
fields: Object.assign({}, patternLikeCommon(), {
|
|
properties: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("RestElement", "ObjectProperty")))
|
|
}
|
|
})
|
|
});
|
|
defineType$4("SpreadElement", {
|
|
visitor: ["argument"],
|
|
aliases: ["UnaryLike"],
|
|
deprecatedAlias: "SpreadProperty",
|
|
fields: {
|
|
argument: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("Super", {
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$4("TaggedTemplateExpression", {
|
|
visitor: ["tag", "quasi", "typeParameters"],
|
|
builder: ["tag", "quasi"],
|
|
aliases: ["Expression"],
|
|
fields: {
|
|
tag: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
quasi: {
|
|
validate: assertNodeType("TemplateLiteral")
|
|
},
|
|
typeParameters: {
|
|
validate: assertNodeType("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType$4("TemplateElement", {
|
|
builder: ["value", "tail"],
|
|
fields: {
|
|
value: {
|
|
validate: chain$1(assertShape({
|
|
raw: {
|
|
validate: assertValueType("string")
|
|
},
|
|
cooked: {
|
|
validate: assertValueType("string"),
|
|
optional: true
|
|
}
|
|
}), function templateElementCookedValidator(node) {
|
|
var raw = node.value.raw;
|
|
var unterminatedCalled = false;
|
|
var error = function error() {
|
|
throw new Error("Internal @babel/types error.");
|
|
};
|
|
var _readStringContents = readStringContents("template", raw, 0, 0, 0, {
|
|
unterminated: function unterminated() {
|
|
unterminatedCalled = true;
|
|
},
|
|
strictNumericEscape: error,
|
|
invalidEscapeSequence: error,
|
|
numericSeparatorInEscapeSequence: error,
|
|
unexpectedNumericSeparator: error,
|
|
invalidDigit: error,
|
|
invalidCodePoint: error
|
|
}),
|
|
str = _readStringContents.str,
|
|
firstInvalidLoc = _readStringContents.firstInvalidLoc;
|
|
if (!unterminatedCalled) throw new Error("Invalid raw");
|
|
node.value.cooked = firstInvalidLoc ? null : str;
|
|
})
|
|
},
|
|
tail: {
|
|
"default": false
|
|
}
|
|
}
|
|
});
|
|
defineType$4("TemplateLiteral", {
|
|
visitor: ["quasis", "expressions"],
|
|
aliases: ["Expression", "Literal"],
|
|
fields: {
|
|
quasis: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("TemplateElement")))
|
|
},
|
|
expressions: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Expression", "TSType")), function (node, key, val) {
|
|
if (node.quasis.length !== val.length + 1) {
|
|
throw new TypeError("Number of " + node.type + " quasis should be exactly one more than the number of expressions.\nExpected " + (val.length + 1) + " quasis but got " + node.quasis.length);
|
|
}
|
|
})
|
|
}
|
|
}
|
|
});
|
|
defineType$4("YieldExpression", {
|
|
builder: ["argument", "delegate"],
|
|
visitor: ["argument"],
|
|
aliases: ["Expression", "Terminatorless"],
|
|
fields: {
|
|
delegate: {
|
|
validate: chain$1(assertValueType("boolean"), Object.assign(function (node, key, val) {
|
|
if (!browser$1$1.env.BABEL_TYPES_8_BREAKING) return;
|
|
if (val && !node.argument) {
|
|
throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument");
|
|
}
|
|
}, {
|
|
type: "boolean"
|
|
})),
|
|
"default": false
|
|
},
|
|
argument: {
|
|
optional: true,
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("AwaitExpression", {
|
|
builder: ["argument"],
|
|
visitor: ["argument"],
|
|
aliases: ["Expression", "Terminatorless"],
|
|
fields: {
|
|
argument: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("Import", {
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$4("BigIntLiteral", {
|
|
builder: ["value"],
|
|
fields: {
|
|
value: {
|
|
validate: assertValueType("string")
|
|
}
|
|
},
|
|
aliases: ["Expression", "Pureish", "Literal", "Immutable"]
|
|
});
|
|
defineType$4("ExportNamespaceSpecifier", {
|
|
visitor: ["exported"],
|
|
aliases: ["ModuleSpecifier"],
|
|
fields: {
|
|
exported: {
|
|
validate: assertNodeType("Identifier")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("OptionalMemberExpression", {
|
|
builder: ["object", "property", "computed", "optional"],
|
|
visitor: ["object", "property"],
|
|
aliases: ["Expression"],
|
|
fields: {
|
|
object: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
property: {
|
|
validate: function () {
|
|
var normal = assertNodeType("Identifier");
|
|
var computed = assertNodeType("Expression");
|
|
var validator = Object.assign(function (node, key, val) {
|
|
var validator = node.computed ? computed : normal;
|
|
validator(node, key, val);
|
|
}, {
|
|
oneOfNodeTypes: ["Expression", "Identifier"]
|
|
});
|
|
return validator;
|
|
}()
|
|
},
|
|
computed: {
|
|
"default": false
|
|
},
|
|
optional: {
|
|
validate: !browser$1$1.env.BABEL_TYPES_8_BREAKING ? assertValueType("boolean") : chain$1(assertValueType("boolean"), assertOptionalChainStart())
|
|
}
|
|
}
|
|
});
|
|
defineType$4("OptionalCallExpression", {
|
|
visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
|
|
builder: ["callee", "arguments", "optional"],
|
|
aliases: ["Expression"],
|
|
fields: {
|
|
callee: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
arguments: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder")))
|
|
},
|
|
optional: {
|
|
validate: !browser$1$1.env.BABEL_TYPES_8_BREAKING ? assertValueType("boolean") : chain$1(assertValueType("boolean"), assertOptionalChainStart())
|
|
},
|
|
typeArguments: {
|
|
validate: assertNodeType("TypeParameterInstantiation"),
|
|
optional: true
|
|
},
|
|
typeParameters: {
|
|
validate: assertNodeType("TSTypeParameterInstantiation"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ClassProperty", {
|
|
visitor: ["key", "value", "typeAnnotation", "decorators"],
|
|
builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
|
|
aliases: ["Property"],
|
|
fields: Object.assign({}, classMethodOrPropertyCommon(), {
|
|
value: {
|
|
validate: assertNodeType("Expression"),
|
|
optional: true
|
|
},
|
|
definite: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
typeAnnotation: {
|
|
validate: assertNodeType("TypeAnnotation", "TSTypeAnnotation", "Noop"),
|
|
optional: true
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
},
|
|
readonly: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
declare: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
variance: {
|
|
validate: assertNodeType("Variance"),
|
|
optional: true
|
|
}
|
|
})
|
|
});
|
|
defineType$4("ClassAccessorProperty", {
|
|
visitor: ["key", "value", "typeAnnotation", "decorators"],
|
|
builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
|
|
aliases: ["Property", "Accessor"],
|
|
fields: Object.assign({}, classMethodOrPropertyCommon(), {
|
|
key: {
|
|
validate: chain$1(function () {
|
|
var normal = assertNodeType("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName");
|
|
var computed = assertNodeType("Expression");
|
|
return function (node, key, val) {
|
|
var validator = node.computed ? computed : normal;
|
|
validator(node, key, val);
|
|
};
|
|
}(), assertNodeType("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression", "PrivateName"))
|
|
},
|
|
value: {
|
|
validate: assertNodeType("Expression"),
|
|
optional: true
|
|
},
|
|
definite: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
typeAnnotation: {
|
|
validate: assertNodeType("TypeAnnotation", "TSTypeAnnotation", "Noop"),
|
|
optional: true
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
},
|
|
readonly: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
declare: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
variance: {
|
|
validate: assertNodeType("Variance"),
|
|
optional: true
|
|
}
|
|
})
|
|
});
|
|
defineType$4("ClassPrivateProperty", {
|
|
visitor: ["key", "value", "decorators", "typeAnnotation"],
|
|
builder: ["key", "value", "decorators", "static"],
|
|
aliases: ["Property", "Private"],
|
|
fields: {
|
|
key: {
|
|
validate: assertNodeType("PrivateName")
|
|
},
|
|
value: {
|
|
validate: assertNodeType("Expression"),
|
|
optional: true
|
|
},
|
|
typeAnnotation: {
|
|
validate: assertNodeType("TypeAnnotation", "TSTypeAnnotation", "Noop"),
|
|
optional: true
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
},
|
|
"static": {
|
|
validate: assertValueType("boolean"),
|
|
"default": false
|
|
},
|
|
readonly: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
definite: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
variance: {
|
|
validate: assertNodeType("Variance"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType$4("ClassPrivateMethod", {
|
|
builder: ["kind", "key", "params", "body", "static"],
|
|
visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
|
|
aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"],
|
|
fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), {
|
|
kind: {
|
|
validate: assertOneOf("get", "set", "method"),
|
|
"default": "method"
|
|
},
|
|
key: {
|
|
validate: assertNodeType("PrivateName")
|
|
},
|
|
body: {
|
|
validate: assertNodeType("BlockStatement")
|
|
}
|
|
})
|
|
});
|
|
defineType$4("PrivateName", {
|
|
visitor: ["id"],
|
|
aliases: ["Private"],
|
|
fields: {
|
|
id: {
|
|
validate: assertNodeType("Identifier")
|
|
}
|
|
}
|
|
});
|
|
defineType$4("StaticBlock", {
|
|
visitor: ["body"],
|
|
fields: {
|
|
body: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Statement")))
|
|
}
|
|
},
|
|
aliases: ["Scopable", "BlockParent", "FunctionParent"]
|
|
});
|
|
|
|
var defineType$3 = defineAliasedType("Flow");
|
|
var defineInterfaceishType = function defineInterfaceishType(name) {
|
|
var isDeclareClass = name === "DeclareClass";
|
|
defineType$3(name, {
|
|
builder: ["id", "typeParameters", "extends", "body"],
|
|
visitor: ["id", "typeParameters", "extends"].concat(_toConsumableArray(isDeclareClass ? ["mixins", "implements"] : []), ["body"]),
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: Object.assign({
|
|
id: validateType("Identifier"),
|
|
typeParameters: validateOptionalType("TypeParameterDeclaration"),
|
|
"extends": validateOptional(arrayOfType("InterfaceExtends"))
|
|
}, isDeclareClass ? {
|
|
mixins: validateOptional(arrayOfType("InterfaceExtends")),
|
|
"implements": validateOptional(arrayOfType("ClassImplements"))
|
|
} : {}, {
|
|
body: validateType("ObjectTypeAnnotation")
|
|
})
|
|
});
|
|
};
|
|
defineType$3("AnyTypeAnnotation", {
|
|
aliases: ["FlowType", "FlowBaseAnnotation"]
|
|
});
|
|
defineType$3("ArrayTypeAnnotation", {
|
|
visitor: ["elementType"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
elementType: validateType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("BooleanTypeAnnotation", {
|
|
aliases: ["FlowType", "FlowBaseAnnotation"]
|
|
});
|
|
defineType$3("BooleanLiteralTypeAnnotation", {
|
|
builder: ["value"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
value: validate$6(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("NullLiteralTypeAnnotation", {
|
|
aliases: ["FlowType", "FlowBaseAnnotation"]
|
|
});
|
|
defineType$3("ClassImplements", {
|
|
visitor: ["id", "typeParameters"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
typeParameters: validateOptionalType("TypeParameterInstantiation")
|
|
}
|
|
});
|
|
defineInterfaceishType("DeclareClass");
|
|
defineType$3("DeclareFunction", {
|
|
visitor: ["id"],
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
predicate: validateOptionalType("DeclaredPredicate")
|
|
}
|
|
});
|
|
defineInterfaceishType("DeclareInterface");
|
|
defineType$3("DeclareModule", {
|
|
builder: ["id", "body", "kind"],
|
|
visitor: ["id", "body"],
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: {
|
|
id: validateType(["Identifier", "StringLiteral"]),
|
|
body: validateType("BlockStatement"),
|
|
kind: validateOptional(assertOneOf("CommonJS", "ES"))
|
|
}
|
|
});
|
|
defineType$3("DeclareModuleExports", {
|
|
visitor: ["typeAnnotation"],
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: {
|
|
typeAnnotation: validateType("TypeAnnotation")
|
|
}
|
|
});
|
|
defineType$3("DeclareTypeAlias", {
|
|
visitor: ["id", "typeParameters", "right"],
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
typeParameters: validateOptionalType("TypeParameterDeclaration"),
|
|
right: validateType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("DeclareOpaqueType", {
|
|
visitor: ["id", "typeParameters", "supertype"],
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
typeParameters: validateOptionalType("TypeParameterDeclaration"),
|
|
supertype: validateOptionalType("FlowType"),
|
|
impltype: validateOptionalType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("DeclareVariable", {
|
|
visitor: ["id"],
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: {
|
|
id: validateType("Identifier")
|
|
}
|
|
});
|
|
defineType$3("DeclareExportDeclaration", {
|
|
visitor: ["declaration", "specifiers", "source"],
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: {
|
|
declaration: validateOptionalType("Flow"),
|
|
specifiers: validateOptional(arrayOfType(["ExportSpecifier", "ExportNamespaceSpecifier"])),
|
|
source: validateOptionalType("StringLiteral"),
|
|
"default": validateOptional(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("DeclareExportAllDeclaration", {
|
|
visitor: ["source"],
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: {
|
|
source: validateType("StringLiteral"),
|
|
exportKind: validateOptional(assertOneOf("type", "value"))
|
|
}
|
|
});
|
|
defineType$3("DeclaredPredicate", {
|
|
visitor: ["value"],
|
|
aliases: ["FlowPredicate"],
|
|
fields: {
|
|
value: validateType("Flow")
|
|
}
|
|
});
|
|
defineType$3("ExistsTypeAnnotation", {
|
|
aliases: ["FlowType"]
|
|
});
|
|
defineType$3("FunctionTypeAnnotation", {
|
|
visitor: ["typeParameters", "params", "rest", "returnType"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
typeParameters: validateOptionalType("TypeParameterDeclaration"),
|
|
params: validate$6(arrayOfType("FunctionTypeParam")),
|
|
rest: validateOptionalType("FunctionTypeParam"),
|
|
"this": validateOptionalType("FunctionTypeParam"),
|
|
returnType: validateType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("FunctionTypeParam", {
|
|
visitor: ["name", "typeAnnotation"],
|
|
fields: {
|
|
name: validateOptionalType("Identifier"),
|
|
typeAnnotation: validateType("FlowType"),
|
|
optional: validateOptional(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("GenericTypeAnnotation", {
|
|
visitor: ["id", "typeParameters"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
id: validateType(["Identifier", "QualifiedTypeIdentifier"]),
|
|
typeParameters: validateOptionalType("TypeParameterInstantiation")
|
|
}
|
|
});
|
|
defineType$3("InferredPredicate", {
|
|
aliases: ["FlowPredicate"]
|
|
});
|
|
defineType$3("InterfaceExtends", {
|
|
visitor: ["id", "typeParameters"],
|
|
fields: {
|
|
id: validateType(["Identifier", "QualifiedTypeIdentifier"]),
|
|
typeParameters: validateOptionalType("TypeParameterInstantiation")
|
|
}
|
|
});
|
|
defineInterfaceishType("InterfaceDeclaration");
|
|
defineType$3("InterfaceTypeAnnotation", {
|
|
visitor: ["extends", "body"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
"extends": validateOptional(arrayOfType("InterfaceExtends")),
|
|
body: validateType("ObjectTypeAnnotation")
|
|
}
|
|
});
|
|
defineType$3("IntersectionTypeAnnotation", {
|
|
visitor: ["types"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
types: validate$6(arrayOfType("FlowType"))
|
|
}
|
|
});
|
|
defineType$3("MixedTypeAnnotation", {
|
|
aliases: ["FlowType", "FlowBaseAnnotation"]
|
|
});
|
|
defineType$3("EmptyTypeAnnotation", {
|
|
aliases: ["FlowType", "FlowBaseAnnotation"]
|
|
});
|
|
defineType$3("NullableTypeAnnotation", {
|
|
visitor: ["typeAnnotation"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
typeAnnotation: validateType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("NumberLiteralTypeAnnotation", {
|
|
builder: ["value"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
value: validate$6(assertValueType("number"))
|
|
}
|
|
});
|
|
defineType$3("NumberTypeAnnotation", {
|
|
aliases: ["FlowType", "FlowBaseAnnotation"]
|
|
});
|
|
defineType$3("ObjectTypeAnnotation", {
|
|
visitor: ["properties", "indexers", "callProperties", "internalSlots"],
|
|
aliases: ["FlowType"],
|
|
builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"],
|
|
fields: {
|
|
properties: validate$6(arrayOfType(["ObjectTypeProperty", "ObjectTypeSpreadProperty"])),
|
|
indexers: {
|
|
validate: arrayOfType("ObjectTypeIndexer"),
|
|
optional: true,
|
|
"default": []
|
|
},
|
|
callProperties: {
|
|
validate: arrayOfType("ObjectTypeCallProperty"),
|
|
optional: true,
|
|
"default": []
|
|
},
|
|
internalSlots: {
|
|
validate: arrayOfType("ObjectTypeInternalSlot"),
|
|
optional: true,
|
|
"default": []
|
|
},
|
|
exact: {
|
|
validate: assertValueType("boolean"),
|
|
"default": false
|
|
},
|
|
inexact: validateOptional(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("ObjectTypeInternalSlot", {
|
|
visitor: ["id", "value", "optional", "static", "method"],
|
|
aliases: ["UserWhitespacable"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
value: validateType("FlowType"),
|
|
optional: validate$6(assertValueType("boolean")),
|
|
"static": validate$6(assertValueType("boolean")),
|
|
method: validate$6(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("ObjectTypeCallProperty", {
|
|
visitor: ["value"],
|
|
aliases: ["UserWhitespacable"],
|
|
fields: {
|
|
value: validateType("FlowType"),
|
|
"static": validate$6(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("ObjectTypeIndexer", {
|
|
visitor: ["id", "key", "value", "variance"],
|
|
aliases: ["UserWhitespacable"],
|
|
fields: {
|
|
id: validateOptionalType("Identifier"),
|
|
key: validateType("FlowType"),
|
|
value: validateType("FlowType"),
|
|
"static": validate$6(assertValueType("boolean")),
|
|
variance: validateOptionalType("Variance")
|
|
}
|
|
});
|
|
defineType$3("ObjectTypeProperty", {
|
|
visitor: ["key", "value", "variance"],
|
|
aliases: ["UserWhitespacable"],
|
|
fields: {
|
|
key: validateType(["Identifier", "StringLiteral"]),
|
|
value: validateType("FlowType"),
|
|
kind: validate$6(assertOneOf("init", "get", "set")),
|
|
"static": validate$6(assertValueType("boolean")),
|
|
proto: validate$6(assertValueType("boolean")),
|
|
optional: validate$6(assertValueType("boolean")),
|
|
variance: validateOptionalType("Variance"),
|
|
method: validate$6(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("ObjectTypeSpreadProperty", {
|
|
visitor: ["argument"],
|
|
aliases: ["UserWhitespacable"],
|
|
fields: {
|
|
argument: validateType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("OpaqueType", {
|
|
visitor: ["id", "typeParameters", "supertype", "impltype"],
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
typeParameters: validateOptionalType("TypeParameterDeclaration"),
|
|
supertype: validateOptionalType("FlowType"),
|
|
impltype: validateType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("QualifiedTypeIdentifier", {
|
|
visitor: ["id", "qualification"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
qualification: validateType(["Identifier", "QualifiedTypeIdentifier"])
|
|
}
|
|
});
|
|
defineType$3("StringLiteralTypeAnnotation", {
|
|
builder: ["value"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
value: validate$6(assertValueType("string"))
|
|
}
|
|
});
|
|
defineType$3("StringTypeAnnotation", {
|
|
aliases: ["FlowType", "FlowBaseAnnotation"]
|
|
});
|
|
defineType$3("SymbolTypeAnnotation", {
|
|
aliases: ["FlowType", "FlowBaseAnnotation"]
|
|
});
|
|
defineType$3("ThisTypeAnnotation", {
|
|
aliases: ["FlowType", "FlowBaseAnnotation"]
|
|
});
|
|
defineType$3("TupleTypeAnnotation", {
|
|
visitor: ["types"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
types: validate$6(arrayOfType("FlowType"))
|
|
}
|
|
});
|
|
defineType$3("TypeofTypeAnnotation", {
|
|
visitor: ["argument"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
argument: validateType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("TypeAlias", {
|
|
visitor: ["id", "typeParameters", "right"],
|
|
aliases: ["FlowDeclaration", "Statement", "Declaration"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
typeParameters: validateOptionalType("TypeParameterDeclaration"),
|
|
right: validateType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("TypeAnnotation", {
|
|
visitor: ["typeAnnotation"],
|
|
fields: {
|
|
typeAnnotation: validateType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("TypeCastExpression", {
|
|
visitor: ["expression", "typeAnnotation"],
|
|
aliases: ["ExpressionWrapper", "Expression"],
|
|
fields: {
|
|
expression: validateType("Expression"),
|
|
typeAnnotation: validateType("TypeAnnotation")
|
|
}
|
|
});
|
|
defineType$3("TypeParameter", {
|
|
visitor: ["bound", "default", "variance"],
|
|
fields: {
|
|
name: validate$6(assertValueType("string")),
|
|
bound: validateOptionalType("TypeAnnotation"),
|
|
"default": validateOptionalType("FlowType"),
|
|
variance: validateOptionalType("Variance")
|
|
}
|
|
});
|
|
defineType$3("TypeParameterDeclaration", {
|
|
visitor: ["params"],
|
|
fields: {
|
|
params: validate$6(arrayOfType("TypeParameter"))
|
|
}
|
|
});
|
|
defineType$3("TypeParameterInstantiation", {
|
|
visitor: ["params"],
|
|
fields: {
|
|
params: validate$6(arrayOfType("FlowType"))
|
|
}
|
|
});
|
|
defineType$3("UnionTypeAnnotation", {
|
|
visitor: ["types"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
types: validate$6(arrayOfType("FlowType"))
|
|
}
|
|
});
|
|
defineType$3("Variance", {
|
|
builder: ["kind"],
|
|
fields: {
|
|
kind: validate$6(assertOneOf("minus", "plus"))
|
|
}
|
|
});
|
|
defineType$3("VoidTypeAnnotation", {
|
|
aliases: ["FlowType", "FlowBaseAnnotation"]
|
|
});
|
|
defineType$3("EnumDeclaration", {
|
|
aliases: ["Statement", "Declaration"],
|
|
visitor: ["id", "body"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
body: validateType(["EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody"])
|
|
}
|
|
});
|
|
defineType$3("EnumBooleanBody", {
|
|
aliases: ["EnumBody"],
|
|
visitor: ["members"],
|
|
fields: {
|
|
explicitType: validate$6(assertValueType("boolean")),
|
|
members: validateArrayOfType("EnumBooleanMember"),
|
|
hasUnknownMembers: validate$6(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("EnumNumberBody", {
|
|
aliases: ["EnumBody"],
|
|
visitor: ["members"],
|
|
fields: {
|
|
explicitType: validate$6(assertValueType("boolean")),
|
|
members: validateArrayOfType("EnumNumberMember"),
|
|
hasUnknownMembers: validate$6(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("EnumStringBody", {
|
|
aliases: ["EnumBody"],
|
|
visitor: ["members"],
|
|
fields: {
|
|
explicitType: validate$6(assertValueType("boolean")),
|
|
members: validateArrayOfType(["EnumStringMember", "EnumDefaultedMember"]),
|
|
hasUnknownMembers: validate$6(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("EnumSymbolBody", {
|
|
aliases: ["EnumBody"],
|
|
visitor: ["members"],
|
|
fields: {
|
|
members: validateArrayOfType("EnumDefaultedMember"),
|
|
hasUnknownMembers: validate$6(assertValueType("boolean"))
|
|
}
|
|
});
|
|
defineType$3("EnumBooleanMember", {
|
|
aliases: ["EnumMember"],
|
|
visitor: ["id"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
init: validateType("BooleanLiteral")
|
|
}
|
|
});
|
|
defineType$3("EnumNumberMember", {
|
|
aliases: ["EnumMember"],
|
|
visitor: ["id", "init"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
init: validateType("NumericLiteral")
|
|
}
|
|
});
|
|
defineType$3("EnumStringMember", {
|
|
aliases: ["EnumMember"],
|
|
visitor: ["id", "init"],
|
|
fields: {
|
|
id: validateType("Identifier"),
|
|
init: validateType("StringLiteral")
|
|
}
|
|
});
|
|
defineType$3("EnumDefaultedMember", {
|
|
aliases: ["EnumMember"],
|
|
visitor: ["id"],
|
|
fields: {
|
|
id: validateType("Identifier")
|
|
}
|
|
});
|
|
defineType$3("IndexedAccessType", {
|
|
visitor: ["objectType", "indexType"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
objectType: validateType("FlowType"),
|
|
indexType: validateType("FlowType")
|
|
}
|
|
});
|
|
defineType$3("OptionalIndexedAccessType", {
|
|
visitor: ["objectType", "indexType"],
|
|
aliases: ["FlowType"],
|
|
fields: {
|
|
objectType: validateType("FlowType"),
|
|
indexType: validateType("FlowType"),
|
|
optional: validate$6(assertValueType("boolean"))
|
|
}
|
|
});
|
|
|
|
var defineType$2 = defineAliasedType("JSX");
|
|
defineType$2("JSXAttribute", {
|
|
visitor: ["name", "value"],
|
|
aliases: ["Immutable"],
|
|
fields: {
|
|
name: {
|
|
validate: assertNodeType("JSXIdentifier", "JSXNamespacedName")
|
|
},
|
|
value: {
|
|
optional: true,
|
|
validate: assertNodeType("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer")
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXClosingElement", {
|
|
visitor: ["name"],
|
|
aliases: ["Immutable"],
|
|
fields: {
|
|
name: {
|
|
validate: assertNodeType("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXElement", {
|
|
builder: ["openingElement", "closingElement", "children", "selfClosing"],
|
|
visitor: ["openingElement", "children", "closingElement"],
|
|
aliases: ["Immutable", "Expression"],
|
|
fields: Object.assign({
|
|
openingElement: {
|
|
validate: assertNodeType("JSXOpeningElement")
|
|
},
|
|
closingElement: {
|
|
optional: true,
|
|
validate: assertNodeType("JSXClosingElement")
|
|
},
|
|
children: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")))
|
|
}
|
|
}, {
|
|
selfClosing: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
}
|
|
})
|
|
});
|
|
defineType$2("JSXEmptyExpression", {});
|
|
defineType$2("JSXExpressionContainer", {
|
|
visitor: ["expression"],
|
|
aliases: ["Immutable"],
|
|
fields: {
|
|
expression: {
|
|
validate: assertNodeType("Expression", "JSXEmptyExpression")
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXSpreadChild", {
|
|
visitor: ["expression"],
|
|
aliases: ["Immutable"],
|
|
fields: {
|
|
expression: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXIdentifier", {
|
|
builder: ["name"],
|
|
fields: {
|
|
name: {
|
|
validate: assertValueType("string")
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXMemberExpression", {
|
|
visitor: ["object", "property"],
|
|
fields: {
|
|
object: {
|
|
validate: assertNodeType("JSXMemberExpression", "JSXIdentifier")
|
|
},
|
|
property: {
|
|
validate: assertNodeType("JSXIdentifier")
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXNamespacedName", {
|
|
visitor: ["namespace", "name"],
|
|
fields: {
|
|
namespace: {
|
|
validate: assertNodeType("JSXIdentifier")
|
|
},
|
|
name: {
|
|
validate: assertNodeType("JSXIdentifier")
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXOpeningElement", {
|
|
builder: ["name", "attributes", "selfClosing"],
|
|
visitor: ["name", "attributes"],
|
|
aliases: ["Immutable"],
|
|
fields: {
|
|
name: {
|
|
validate: assertNodeType("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
|
|
},
|
|
selfClosing: {
|
|
"default": false
|
|
},
|
|
attributes: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("JSXAttribute", "JSXSpreadAttribute")))
|
|
},
|
|
typeParameters: {
|
|
validate: assertNodeType("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXSpreadAttribute", {
|
|
visitor: ["argument"],
|
|
fields: {
|
|
argument: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXText", {
|
|
aliases: ["Immutable"],
|
|
builder: ["value"],
|
|
fields: {
|
|
value: {
|
|
validate: assertValueType("string")
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXFragment", {
|
|
builder: ["openingFragment", "closingFragment", "children"],
|
|
visitor: ["openingFragment", "children", "closingFragment"],
|
|
aliases: ["Immutable", "Expression"],
|
|
fields: {
|
|
openingFragment: {
|
|
validate: assertNodeType("JSXOpeningFragment")
|
|
},
|
|
closingFragment: {
|
|
validate: assertNodeType("JSXClosingFragment")
|
|
},
|
|
children: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")))
|
|
}
|
|
}
|
|
});
|
|
defineType$2("JSXOpeningFragment", {
|
|
aliases: ["Immutable"]
|
|
});
|
|
defineType$2("JSXClosingFragment", {
|
|
aliases: ["Immutable"]
|
|
});
|
|
|
|
var PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"];
|
|
var PLACEHOLDERS_ALIAS = {
|
|
Declaration: ["Statement"],
|
|
Pattern: ["PatternLike", "LVal"]
|
|
};
|
|
for (var _i$2 = 0, _PLACEHOLDERS = PLACEHOLDERS; _i$2 < _PLACEHOLDERS.length; _i$2++) {
|
|
var type$2 = _PLACEHOLDERS[_i$2];
|
|
var alias = ALIAS_KEYS[type$2];
|
|
if (alias != null && alias.length) PLACEHOLDERS_ALIAS[type$2] = alias;
|
|
}
|
|
var PLACEHOLDERS_FLIPPED_ALIAS = {};
|
|
Object.keys(PLACEHOLDERS_ALIAS).forEach(function (type) {
|
|
PLACEHOLDERS_ALIAS[type].forEach(function (alias) {
|
|
if (!Object.hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) {
|
|
PLACEHOLDERS_FLIPPED_ALIAS[alias] = [];
|
|
}
|
|
PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type);
|
|
});
|
|
});
|
|
|
|
var defineType$1 = defineAliasedType("Miscellaneous");
|
|
{
|
|
defineType$1("Noop", {
|
|
visitor: []
|
|
});
|
|
}
|
|
defineType$1("Placeholder", {
|
|
visitor: [],
|
|
builder: ["expectedNode", "name"],
|
|
fields: {
|
|
name: {
|
|
validate: assertNodeType("Identifier")
|
|
},
|
|
expectedNode: {
|
|
validate: assertOneOf.apply(void 0, _toConsumableArray(PLACEHOLDERS))
|
|
}
|
|
}
|
|
});
|
|
defineType$1("V8IntrinsicIdentifier", {
|
|
builder: ["name"],
|
|
fields: {
|
|
name: {
|
|
validate: assertValueType("string")
|
|
}
|
|
}
|
|
});
|
|
|
|
defineType$5("ArgumentPlaceholder", {});
|
|
defineType$5("BindExpression", {
|
|
visitor: ["object", "callee"],
|
|
aliases: ["Expression"],
|
|
fields: !browser$1$1.env.BABEL_TYPES_8_BREAKING ? {
|
|
object: {
|
|
validate: Object.assign(function () {}, {
|
|
oneOfNodeTypes: ["Expression"]
|
|
})
|
|
},
|
|
callee: {
|
|
validate: Object.assign(function () {}, {
|
|
oneOfNodeTypes: ["Expression"]
|
|
})
|
|
}
|
|
} : {
|
|
object: {
|
|
validate: assertNodeType("Expression")
|
|
},
|
|
callee: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$5("ImportAttribute", {
|
|
visitor: ["key", "value"],
|
|
fields: {
|
|
key: {
|
|
validate: assertNodeType("Identifier", "StringLiteral")
|
|
},
|
|
value: {
|
|
validate: assertNodeType("StringLiteral")
|
|
}
|
|
}
|
|
});
|
|
defineType$5("Decorator", {
|
|
visitor: ["expression"],
|
|
fields: {
|
|
expression: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
}
|
|
});
|
|
defineType$5("DoExpression", {
|
|
visitor: ["body"],
|
|
builder: ["body", "async"],
|
|
aliases: ["Expression"],
|
|
fields: {
|
|
body: {
|
|
validate: assertNodeType("BlockStatement")
|
|
},
|
|
async: {
|
|
validate: assertValueType("boolean"),
|
|
"default": false
|
|
}
|
|
}
|
|
});
|
|
defineType$5("ExportDefaultSpecifier", {
|
|
visitor: ["exported"],
|
|
aliases: ["ModuleSpecifier"],
|
|
fields: {
|
|
exported: {
|
|
validate: assertNodeType("Identifier")
|
|
}
|
|
}
|
|
});
|
|
defineType$5("RecordExpression", {
|
|
visitor: ["properties"],
|
|
aliases: ["Expression"],
|
|
fields: {
|
|
properties: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("ObjectProperty", "SpreadElement")))
|
|
}
|
|
}
|
|
});
|
|
defineType$5("TupleExpression", {
|
|
fields: {
|
|
elements: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Expression", "SpreadElement"))),
|
|
"default": []
|
|
}
|
|
},
|
|
visitor: ["elements"],
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$5("DecimalLiteral", {
|
|
builder: ["value"],
|
|
fields: {
|
|
value: {
|
|
validate: assertValueType("string")
|
|
}
|
|
},
|
|
aliases: ["Expression", "Pureish", "Literal", "Immutable"]
|
|
});
|
|
defineType$5("ModuleExpression", {
|
|
visitor: ["body"],
|
|
fields: {
|
|
body: {
|
|
validate: assertNodeType("Program")
|
|
}
|
|
},
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$5("TopicReference", {
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$5("PipelineTopicExpression", {
|
|
builder: ["expression"],
|
|
visitor: ["expression"],
|
|
fields: {
|
|
expression: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
},
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$5("PipelineBareFunction", {
|
|
builder: ["callee"],
|
|
visitor: ["callee"],
|
|
fields: {
|
|
callee: {
|
|
validate: assertNodeType("Expression")
|
|
}
|
|
},
|
|
aliases: ["Expression"]
|
|
});
|
|
defineType$5("PipelinePrimaryTopicReference", {
|
|
aliases: ["Expression"]
|
|
});
|
|
|
|
var defineType = defineAliasedType("TypeScript");
|
|
var bool$a = assertValueType("boolean");
|
|
var tSFunctionTypeAnnotationCommon = function tSFunctionTypeAnnotationCommon() {
|
|
return {
|
|
returnType: {
|
|
validate: assertNodeType("TSTypeAnnotation", "Noop"),
|
|
optional: true
|
|
},
|
|
typeParameters: {
|
|
validate: assertNodeType("TSTypeParameterDeclaration", "Noop"),
|
|
optional: true
|
|
}
|
|
};
|
|
};
|
|
defineType("TSParameterProperty", {
|
|
aliases: ["LVal"],
|
|
visitor: ["parameter"],
|
|
fields: {
|
|
accessibility: {
|
|
validate: assertOneOf("public", "private", "protected"),
|
|
optional: true
|
|
},
|
|
readonly: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
parameter: {
|
|
validate: assertNodeType("Identifier", "AssignmentPattern")
|
|
},
|
|
override: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
decorators: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("Decorator"))),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType("TSDeclareFunction", {
|
|
aliases: ["Statement", "Declaration"],
|
|
visitor: ["id", "typeParameters", "params", "returnType"],
|
|
fields: Object.assign({}, functionDeclarationCommon(), tSFunctionTypeAnnotationCommon())
|
|
});
|
|
defineType("TSDeclareMethod", {
|
|
visitor: ["decorators", "key", "typeParameters", "params", "returnType"],
|
|
fields: Object.assign({}, classMethodOrDeclareMethodCommon(), tSFunctionTypeAnnotationCommon())
|
|
});
|
|
defineType("TSQualifiedName", {
|
|
aliases: ["TSEntityName"],
|
|
visitor: ["left", "right"],
|
|
fields: {
|
|
left: validateType("TSEntityName"),
|
|
right: validateType("Identifier")
|
|
}
|
|
});
|
|
var signatureDeclarationCommon = function signatureDeclarationCommon() {
|
|
var _ref;
|
|
return _ref = {
|
|
typeParameters: validateOptionalType("TSTypeParameterDeclaration")
|
|
}, _ref["parameters"] = validateArrayOfType(["Identifier", "RestElement"]), _ref["typeAnnotation"] = validateOptionalType("TSTypeAnnotation"), _ref;
|
|
};
|
|
var callConstructSignatureDeclaration = {
|
|
aliases: ["TSTypeElement"],
|
|
visitor: ["typeParameters", "parameters", "typeAnnotation"],
|
|
fields: signatureDeclarationCommon()
|
|
};
|
|
defineType("TSCallSignatureDeclaration", callConstructSignatureDeclaration);
|
|
defineType("TSConstructSignatureDeclaration", callConstructSignatureDeclaration);
|
|
var namedTypeElementCommon = function namedTypeElementCommon() {
|
|
return {
|
|
key: validateType("Expression"),
|
|
computed: {
|
|
"default": false
|
|
},
|
|
optional: validateOptional(bool$a)
|
|
};
|
|
};
|
|
defineType("TSPropertySignature", {
|
|
aliases: ["TSTypeElement"],
|
|
visitor: ["key", "typeAnnotation", "initializer"],
|
|
fields: Object.assign({}, namedTypeElementCommon(), {
|
|
readonly: validateOptional(bool$a),
|
|
typeAnnotation: validateOptionalType("TSTypeAnnotation"),
|
|
initializer: validateOptionalType("Expression"),
|
|
kind: {
|
|
validate: assertOneOf("get", "set")
|
|
}
|
|
})
|
|
});
|
|
defineType("TSMethodSignature", {
|
|
aliases: ["TSTypeElement"],
|
|
visitor: ["key", "typeParameters", "parameters", "typeAnnotation"],
|
|
fields: Object.assign({}, signatureDeclarationCommon(), namedTypeElementCommon(), {
|
|
kind: {
|
|
validate: assertOneOf("method", "get", "set")
|
|
}
|
|
})
|
|
});
|
|
defineType("TSIndexSignature", {
|
|
aliases: ["TSTypeElement"],
|
|
visitor: ["parameters", "typeAnnotation"],
|
|
fields: {
|
|
readonly: validateOptional(bool$a),
|
|
"static": validateOptional(bool$a),
|
|
parameters: validateArrayOfType("Identifier"),
|
|
typeAnnotation: validateOptionalType("TSTypeAnnotation")
|
|
}
|
|
});
|
|
var tsKeywordTypes = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSIntrinsicKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"];
|
|
for (var _i$1 = 0, _tsKeywordTypes = tsKeywordTypes; _i$1 < _tsKeywordTypes.length; _i$1++) {
|
|
var type$1 = _tsKeywordTypes[_i$1];
|
|
defineType(type$1, {
|
|
aliases: ["TSType", "TSBaseType"],
|
|
visitor: [],
|
|
fields: {}
|
|
});
|
|
}
|
|
defineType("TSThisType", {
|
|
aliases: ["TSType", "TSBaseType"],
|
|
visitor: [],
|
|
fields: {}
|
|
});
|
|
var fnOrCtrBase = {
|
|
aliases: ["TSType"],
|
|
visitor: ["typeParameters", "parameters", "typeAnnotation"]
|
|
};
|
|
defineType("TSFunctionType", Object.assign({}, fnOrCtrBase, {
|
|
fields: signatureDeclarationCommon()
|
|
}));
|
|
defineType("TSConstructorType", Object.assign({}, fnOrCtrBase, {
|
|
fields: Object.assign({}, signatureDeclarationCommon(), {
|
|
"abstract": validateOptional(bool$a)
|
|
})
|
|
}));
|
|
defineType("TSTypeReference", {
|
|
aliases: ["TSType"],
|
|
visitor: ["typeName", "typeParameters"],
|
|
fields: {
|
|
typeName: validateType("TSEntityName"),
|
|
typeParameters: validateOptionalType("TSTypeParameterInstantiation")
|
|
}
|
|
});
|
|
defineType("TSTypePredicate", {
|
|
aliases: ["TSType"],
|
|
visitor: ["parameterName", "typeAnnotation"],
|
|
builder: ["parameterName", "typeAnnotation", "asserts"],
|
|
fields: {
|
|
parameterName: validateType(["Identifier", "TSThisType"]),
|
|
typeAnnotation: validateOptionalType("TSTypeAnnotation"),
|
|
asserts: validateOptional(bool$a)
|
|
}
|
|
});
|
|
defineType("TSTypeQuery", {
|
|
aliases: ["TSType"],
|
|
visitor: ["exprName", "typeParameters"],
|
|
fields: {
|
|
exprName: validateType(["TSEntityName", "TSImportType"]),
|
|
typeParameters: validateOptionalType("TSTypeParameterInstantiation")
|
|
}
|
|
});
|
|
defineType("TSTypeLiteral", {
|
|
aliases: ["TSType"],
|
|
visitor: ["members"],
|
|
fields: {
|
|
members: validateArrayOfType("TSTypeElement")
|
|
}
|
|
});
|
|
defineType("TSArrayType", {
|
|
aliases: ["TSType"],
|
|
visitor: ["elementType"],
|
|
fields: {
|
|
elementType: validateType("TSType")
|
|
}
|
|
});
|
|
defineType("TSTupleType", {
|
|
aliases: ["TSType"],
|
|
visitor: ["elementTypes"],
|
|
fields: {
|
|
elementTypes: validateArrayOfType(["TSType", "TSNamedTupleMember"])
|
|
}
|
|
});
|
|
defineType("TSOptionalType", {
|
|
aliases: ["TSType"],
|
|
visitor: ["typeAnnotation"],
|
|
fields: {
|
|
typeAnnotation: validateType("TSType")
|
|
}
|
|
});
|
|
defineType("TSRestType", {
|
|
aliases: ["TSType"],
|
|
visitor: ["typeAnnotation"],
|
|
fields: {
|
|
typeAnnotation: validateType("TSType")
|
|
}
|
|
});
|
|
defineType("TSNamedTupleMember", {
|
|
visitor: ["label", "elementType"],
|
|
builder: ["label", "elementType", "optional"],
|
|
fields: {
|
|
label: validateType("Identifier"),
|
|
optional: {
|
|
validate: bool$a,
|
|
"default": false
|
|
},
|
|
elementType: validateType("TSType")
|
|
}
|
|
});
|
|
var unionOrIntersection = {
|
|
aliases: ["TSType"],
|
|
visitor: ["types"],
|
|
fields: {
|
|
types: validateArrayOfType("TSType")
|
|
}
|
|
};
|
|
defineType("TSUnionType", unionOrIntersection);
|
|
defineType("TSIntersectionType", unionOrIntersection);
|
|
defineType("TSConditionalType", {
|
|
aliases: ["TSType"],
|
|
visitor: ["checkType", "extendsType", "trueType", "falseType"],
|
|
fields: {
|
|
checkType: validateType("TSType"),
|
|
extendsType: validateType("TSType"),
|
|
trueType: validateType("TSType"),
|
|
falseType: validateType("TSType")
|
|
}
|
|
});
|
|
defineType("TSInferType", {
|
|
aliases: ["TSType"],
|
|
visitor: ["typeParameter"],
|
|
fields: {
|
|
typeParameter: validateType("TSTypeParameter")
|
|
}
|
|
});
|
|
defineType("TSParenthesizedType", {
|
|
aliases: ["TSType"],
|
|
visitor: ["typeAnnotation"],
|
|
fields: {
|
|
typeAnnotation: validateType("TSType")
|
|
}
|
|
});
|
|
defineType("TSTypeOperator", {
|
|
aliases: ["TSType"],
|
|
visitor: ["typeAnnotation"],
|
|
fields: {
|
|
operator: validate$6(assertValueType("string")),
|
|
typeAnnotation: validateType("TSType")
|
|
}
|
|
});
|
|
defineType("TSIndexedAccessType", {
|
|
aliases: ["TSType"],
|
|
visitor: ["objectType", "indexType"],
|
|
fields: {
|
|
objectType: validateType("TSType"),
|
|
indexType: validateType("TSType")
|
|
}
|
|
});
|
|
defineType("TSMappedType", {
|
|
aliases: ["TSType"],
|
|
visitor: ["typeParameter", "typeAnnotation", "nameType"],
|
|
fields: {
|
|
readonly: validateOptional(assertOneOf(true, false, "+", "-")),
|
|
typeParameter: validateType("TSTypeParameter"),
|
|
optional: validateOptional(assertOneOf(true, false, "+", "-")),
|
|
typeAnnotation: validateOptionalType("TSType"),
|
|
nameType: validateOptionalType("TSType")
|
|
}
|
|
});
|
|
defineType("TSLiteralType", {
|
|
aliases: ["TSType", "TSBaseType"],
|
|
visitor: ["literal"],
|
|
fields: {
|
|
literal: {
|
|
validate: function () {
|
|
var unaryExpression = assertNodeType("NumericLiteral", "BigIntLiteral");
|
|
var unaryOperator = assertOneOf("-");
|
|
var literal = assertNodeType("NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral");
|
|
function validator(parent, key, node) {
|
|
if (is$1("UnaryExpression", node)) {
|
|
unaryOperator(node, "operator", node.operator);
|
|
unaryExpression(node, "argument", node.argument);
|
|
} else {
|
|
literal(parent, key, node);
|
|
}
|
|
}
|
|
validator.oneOfNodeTypes = ["NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral", "UnaryExpression"];
|
|
return validator;
|
|
}()
|
|
}
|
|
}
|
|
});
|
|
defineType("TSExpressionWithTypeArguments", {
|
|
aliases: ["TSType"],
|
|
visitor: ["expression", "typeParameters"],
|
|
fields: {
|
|
expression: validateType("TSEntityName"),
|
|
typeParameters: validateOptionalType("TSTypeParameterInstantiation")
|
|
}
|
|
});
|
|
defineType("TSInterfaceDeclaration", {
|
|
aliases: ["Statement", "Declaration"],
|
|
visitor: ["id", "typeParameters", "extends", "body"],
|
|
fields: {
|
|
declare: validateOptional(bool$a),
|
|
id: validateType("Identifier"),
|
|
typeParameters: validateOptionalType("TSTypeParameterDeclaration"),
|
|
"extends": validateOptional(arrayOfType("TSExpressionWithTypeArguments")),
|
|
body: validateType("TSInterfaceBody")
|
|
}
|
|
});
|
|
defineType("TSInterfaceBody", {
|
|
visitor: ["body"],
|
|
fields: {
|
|
body: validateArrayOfType("TSTypeElement")
|
|
}
|
|
});
|
|
defineType("TSTypeAliasDeclaration", {
|
|
aliases: ["Statement", "Declaration"],
|
|
visitor: ["id", "typeParameters", "typeAnnotation"],
|
|
fields: {
|
|
declare: validateOptional(bool$a),
|
|
id: validateType("Identifier"),
|
|
typeParameters: validateOptionalType("TSTypeParameterDeclaration"),
|
|
typeAnnotation: validateType("TSType")
|
|
}
|
|
});
|
|
defineType("TSInstantiationExpression", {
|
|
aliases: ["Expression"],
|
|
visitor: ["expression", "typeParameters"],
|
|
fields: {
|
|
expression: validateType("Expression"),
|
|
typeParameters: validateOptionalType("TSTypeParameterInstantiation")
|
|
}
|
|
});
|
|
var TSTypeExpression$1 = {
|
|
aliases: ["Expression", "LVal", "PatternLike"],
|
|
visitor: ["expression", "typeAnnotation"],
|
|
fields: {
|
|
expression: validateType("Expression"),
|
|
typeAnnotation: validateType("TSType")
|
|
}
|
|
};
|
|
defineType("TSAsExpression", TSTypeExpression$1);
|
|
defineType("TSSatisfiesExpression", TSTypeExpression$1);
|
|
defineType("TSTypeAssertion", {
|
|
aliases: ["Expression", "LVal", "PatternLike"],
|
|
visitor: ["typeAnnotation", "expression"],
|
|
fields: {
|
|
typeAnnotation: validateType("TSType"),
|
|
expression: validateType("Expression")
|
|
}
|
|
});
|
|
defineType("TSEnumDeclaration", {
|
|
aliases: ["Statement", "Declaration"],
|
|
visitor: ["id", "members"],
|
|
fields: {
|
|
declare: validateOptional(bool$a),
|
|
"const": validateOptional(bool$a),
|
|
id: validateType("Identifier"),
|
|
members: validateArrayOfType("TSEnumMember"),
|
|
initializer: validateOptionalType("Expression")
|
|
}
|
|
});
|
|
defineType("TSEnumMember", {
|
|
visitor: ["id", "initializer"],
|
|
fields: {
|
|
id: validateType(["Identifier", "StringLiteral"]),
|
|
initializer: validateOptionalType("Expression")
|
|
}
|
|
});
|
|
defineType("TSModuleDeclaration", {
|
|
aliases: ["Statement", "Declaration"],
|
|
visitor: ["id", "body"],
|
|
fields: {
|
|
declare: validateOptional(bool$a),
|
|
global: validateOptional(bool$a),
|
|
id: validateType(["Identifier", "StringLiteral"]),
|
|
body: validateType(["TSModuleBlock", "TSModuleDeclaration"])
|
|
}
|
|
});
|
|
defineType("TSModuleBlock", {
|
|
aliases: ["Scopable", "Block", "BlockParent", "FunctionParent"],
|
|
visitor: ["body"],
|
|
fields: {
|
|
body: validateArrayOfType("Statement")
|
|
}
|
|
});
|
|
defineType("TSImportType", {
|
|
aliases: ["TSType"],
|
|
visitor: ["argument", "qualifier", "typeParameters"],
|
|
fields: {
|
|
argument: validateType("StringLiteral"),
|
|
qualifier: validateOptionalType("TSEntityName"),
|
|
typeParameters: validateOptionalType("TSTypeParameterInstantiation")
|
|
}
|
|
});
|
|
defineType("TSImportEqualsDeclaration", {
|
|
aliases: ["Statement"],
|
|
visitor: ["id", "moduleReference"],
|
|
fields: {
|
|
isExport: validate$6(bool$a),
|
|
id: validateType("Identifier"),
|
|
moduleReference: validateType(["TSEntityName", "TSExternalModuleReference"]),
|
|
importKind: {
|
|
validate: assertOneOf("type", "value"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
defineType("TSExternalModuleReference", {
|
|
visitor: ["expression"],
|
|
fields: {
|
|
expression: validateType("StringLiteral")
|
|
}
|
|
});
|
|
defineType("TSNonNullExpression", {
|
|
aliases: ["Expression", "LVal", "PatternLike"],
|
|
visitor: ["expression"],
|
|
fields: {
|
|
expression: validateType("Expression")
|
|
}
|
|
});
|
|
defineType("TSExportAssignment", {
|
|
aliases: ["Statement"],
|
|
visitor: ["expression"],
|
|
fields: {
|
|
expression: validateType("Expression")
|
|
}
|
|
});
|
|
defineType("TSNamespaceExportDeclaration", {
|
|
aliases: ["Statement"],
|
|
visitor: ["id"],
|
|
fields: {
|
|
id: validateType("Identifier")
|
|
}
|
|
});
|
|
defineType("TSTypeAnnotation", {
|
|
visitor: ["typeAnnotation"],
|
|
fields: {
|
|
typeAnnotation: {
|
|
validate: assertNodeType("TSType")
|
|
}
|
|
}
|
|
});
|
|
defineType("TSTypeParameterInstantiation", {
|
|
visitor: ["params"],
|
|
fields: {
|
|
params: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("TSType")))
|
|
}
|
|
}
|
|
});
|
|
defineType("TSTypeParameterDeclaration", {
|
|
visitor: ["params"],
|
|
fields: {
|
|
params: {
|
|
validate: chain$1(assertValueType("array"), assertEach(assertNodeType("TSTypeParameter")))
|
|
}
|
|
}
|
|
});
|
|
defineType("TSTypeParameter", {
|
|
builder: ["constraint", "default", "name"],
|
|
visitor: ["constraint", "default"],
|
|
fields: {
|
|
name: {
|
|
validate: assertValueType("string")
|
|
},
|
|
"in": {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
out: {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
"const": {
|
|
validate: assertValueType("boolean"),
|
|
optional: true
|
|
},
|
|
constraint: {
|
|
validate: assertNodeType("TSType"),
|
|
optional: true
|
|
},
|
|
"default": {
|
|
validate: assertNodeType("TSType"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
|
|
var DEPRECATED_ALIASES$1 = {
|
|
ModuleDeclaration: "ImportOrExportDeclaration"
|
|
};
|
|
|
|
Object.keys(DEPRECATED_ALIASES$1).forEach(function (deprecatedAlias) {
|
|
FLIPPED_ALIAS_KEYS$3[deprecatedAlias] = FLIPPED_ALIAS_KEYS$3[DEPRECATED_ALIASES$1[deprecatedAlias]];
|
|
});
|
|
toFastProperties(VISITOR_KEYS$5);
|
|
toFastProperties(ALIAS_KEYS);
|
|
toFastProperties(FLIPPED_ALIAS_KEYS$3);
|
|
toFastProperties(NODE_FIELDS);
|
|
toFastProperties(BUILDER_KEYS);
|
|
toFastProperties(DEPRECATED_KEYS$1);
|
|
toFastProperties(PLACEHOLDERS_ALIAS);
|
|
toFastProperties(PLACEHOLDERS_FLIPPED_ALIAS);
|
|
var TYPES$1 = [].concat(Object.keys(VISITOR_KEYS$5), Object.keys(FLIPPED_ALIAS_KEYS$3), Object.keys(DEPRECATED_KEYS$1));
|
|
|
|
function validate$5(node, key, val) {
|
|
if (!node) return;
|
|
var fields = NODE_FIELDS[node.type];
|
|
if (!fields) return;
|
|
var field = fields[key];
|
|
validateField(node, key, val, field);
|
|
validateChild(node, key, val);
|
|
}
|
|
function validateField(node, key, val, field) {
|
|
if (!(field != null && field.validate)) return;
|
|
if (field.optional && val == null) return;
|
|
field.validate(node, key, val);
|
|
}
|
|
function validateChild(node, key, val) {
|
|
if (val == null) return;
|
|
var validate = NODE_PARENT_VALIDATIONS[val.type];
|
|
if (!validate) return;
|
|
validate(node, key, val);
|
|
}
|
|
|
|
function validateNode(node) {
|
|
var keys = BUILDER_KEYS[node.type];
|
|
for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
|
|
var key = _step.value;
|
|
validate$5(node, key, node[key]);
|
|
}
|
|
return node;
|
|
}
|
|
|
|
function arrayExpression$1(elements) {
|
|
if (elements === void 0) {
|
|
elements = [];
|
|
}
|
|
return validateNode({
|
|
type: "ArrayExpression",
|
|
elements: elements
|
|
});
|
|
}
|
|
function assignmentExpression$d(operator, left, right) {
|
|
return validateNode({
|
|
type: "AssignmentExpression",
|
|
operator: operator,
|
|
left: left,
|
|
right: right
|
|
});
|
|
}
|
|
function binaryExpression$5(operator, left, right) {
|
|
return validateNode({
|
|
type: "BinaryExpression",
|
|
operator: operator,
|
|
left: left,
|
|
right: right
|
|
});
|
|
}
|
|
function interpreterDirective$1(value) {
|
|
return validateNode({
|
|
type: "InterpreterDirective",
|
|
value: value
|
|
});
|
|
}
|
|
function directive$1(value) {
|
|
return validateNode({
|
|
type: "Directive",
|
|
value: value
|
|
});
|
|
}
|
|
function directiveLiteral$1(value) {
|
|
return validateNode({
|
|
type: "DirectiveLiteral",
|
|
value: value
|
|
});
|
|
}
|
|
function blockStatement$6(body, directives) {
|
|
if (directives === void 0) {
|
|
directives = [];
|
|
}
|
|
return validateNode({
|
|
type: "BlockStatement",
|
|
body: body,
|
|
directives: directives
|
|
});
|
|
}
|
|
function breakStatement(label) {
|
|
if (label === void 0) {
|
|
label = null;
|
|
}
|
|
return validateNode({
|
|
type: "BreakStatement",
|
|
label: label
|
|
});
|
|
}
|
|
function callExpression$e(callee, _arguments) {
|
|
return validateNode({
|
|
type: "CallExpression",
|
|
callee: callee,
|
|
arguments: _arguments
|
|
});
|
|
}
|
|
function catchClause(param, body) {
|
|
if (param === void 0) {
|
|
param = null;
|
|
}
|
|
return validateNode({
|
|
type: "CatchClause",
|
|
param: param,
|
|
body: body
|
|
});
|
|
}
|
|
function conditionalExpression$4(test, consequent, alternate) {
|
|
return validateNode({
|
|
type: "ConditionalExpression",
|
|
test: test,
|
|
consequent: consequent,
|
|
alternate: alternate
|
|
});
|
|
}
|
|
function continueStatement(label) {
|
|
if (label === void 0) {
|
|
label = null;
|
|
}
|
|
return validateNode({
|
|
type: "ContinueStatement",
|
|
label: label
|
|
});
|
|
}
|
|
function debuggerStatement() {
|
|
return {
|
|
type: "DebuggerStatement"
|
|
};
|
|
}
|
|
function doWhileStatement(test, body) {
|
|
return validateNode({
|
|
type: "DoWhileStatement",
|
|
test: test,
|
|
body: body
|
|
});
|
|
}
|
|
function emptyStatement$1() {
|
|
return {
|
|
type: "EmptyStatement"
|
|
};
|
|
}
|
|
function expressionStatement$a(expression) {
|
|
return validateNode({
|
|
type: "ExpressionStatement",
|
|
expression: expression
|
|
});
|
|
}
|
|
function file$2(program, comments, tokens) {
|
|
if (comments === void 0) {
|
|
comments = null;
|
|
}
|
|
if (tokens === void 0) {
|
|
tokens = null;
|
|
}
|
|
return validateNode({
|
|
type: "File",
|
|
program: program,
|
|
comments: comments,
|
|
tokens: tokens
|
|
});
|
|
}
|
|
function forInStatement(left, right, body) {
|
|
return validateNode({
|
|
type: "ForInStatement",
|
|
left: left,
|
|
right: right,
|
|
body: body
|
|
});
|
|
}
|
|
function forStatement(init, test, update, body) {
|
|
if (init === void 0) {
|
|
init = null;
|
|
}
|
|
if (test === void 0) {
|
|
test = null;
|
|
}
|
|
if (update === void 0) {
|
|
update = null;
|
|
}
|
|
return validateNode({
|
|
type: "ForStatement",
|
|
init: init,
|
|
test: test,
|
|
update: update,
|
|
body: body
|
|
});
|
|
}
|
|
function functionDeclaration(id, params, body, generator, async) {
|
|
if (id === void 0) {
|
|
id = null;
|
|
}
|
|
if (generator === void 0) {
|
|
generator = false;
|
|
}
|
|
if (async === void 0) {
|
|
async = false;
|
|
}
|
|
return validateNode({
|
|
type: "FunctionDeclaration",
|
|
id: id,
|
|
params: params,
|
|
body: body,
|
|
generator: generator,
|
|
async: async
|
|
});
|
|
}
|
|
function functionExpression$2(id, params, body, generator, async) {
|
|
if (id === void 0) {
|
|
id = null;
|
|
}
|
|
if (generator === void 0) {
|
|
generator = false;
|
|
}
|
|
if (async === void 0) {
|
|
async = false;
|
|
}
|
|
return validateNode({
|
|
type: "FunctionExpression",
|
|
id: id,
|
|
params: params,
|
|
body: body,
|
|
generator: generator,
|
|
async: async
|
|
});
|
|
}
|
|
function identifier$i(name) {
|
|
return validateNode({
|
|
type: "Identifier",
|
|
name: name
|
|
});
|
|
}
|
|
function ifStatement(test, consequent, alternate) {
|
|
if (alternate === void 0) {
|
|
alternate = null;
|
|
}
|
|
return validateNode({
|
|
type: "IfStatement",
|
|
test: test,
|
|
consequent: consequent,
|
|
alternate: alternate
|
|
});
|
|
}
|
|
function labeledStatement(label, body) {
|
|
return validateNode({
|
|
type: "LabeledStatement",
|
|
label: label,
|
|
body: body
|
|
});
|
|
}
|
|
function stringLiteral$8(value) {
|
|
return validateNode({
|
|
type: "StringLiteral",
|
|
value: value
|
|
});
|
|
}
|
|
function numericLiteral$8(value) {
|
|
return validateNode({
|
|
type: "NumericLiteral",
|
|
value: value
|
|
});
|
|
}
|
|
function nullLiteral$2() {
|
|
return {
|
|
type: "NullLiteral"
|
|
};
|
|
}
|
|
function booleanLiteral$4(value) {
|
|
return validateNode({
|
|
type: "BooleanLiteral",
|
|
value: value
|
|
});
|
|
}
|
|
function regExpLiteral(pattern, flags) {
|
|
if (flags === void 0) {
|
|
flags = "";
|
|
}
|
|
return validateNode({
|
|
type: "RegExpLiteral",
|
|
pattern: pattern,
|
|
flags: flags
|
|
});
|
|
}
|
|
function logicalExpression$3(operator, left, right) {
|
|
return validateNode({
|
|
type: "LogicalExpression",
|
|
operator: operator,
|
|
left: left,
|
|
right: right
|
|
});
|
|
}
|
|
function memberExpression$c(object, property, computed, optional) {
|
|
if (computed === void 0) {
|
|
computed = false;
|
|
}
|
|
if (optional === void 0) {
|
|
optional = null;
|
|
}
|
|
return validateNode({
|
|
type: "MemberExpression",
|
|
object: object,
|
|
property: property,
|
|
computed: computed,
|
|
optional: optional
|
|
});
|
|
}
|
|
function newExpression(callee, _arguments) {
|
|
return validateNode({
|
|
type: "NewExpression",
|
|
callee: callee,
|
|
arguments: _arguments
|
|
});
|
|
}
|
|
function program$3(body, directives, sourceType, interpreter) {
|
|
if (directives === void 0) {
|
|
directives = [];
|
|
}
|
|
if (sourceType === void 0) {
|
|
sourceType = "script";
|
|
}
|
|
if (interpreter === void 0) {
|
|
interpreter = null;
|
|
}
|
|
return validateNode({
|
|
type: "Program",
|
|
body: body,
|
|
directives: directives,
|
|
sourceType: sourceType,
|
|
interpreter: interpreter,
|
|
sourceFile: null
|
|
});
|
|
}
|
|
function objectExpression$3(properties) {
|
|
return validateNode({
|
|
type: "ObjectExpression",
|
|
properties: properties
|
|
});
|
|
}
|
|
function objectMethod(kind, key, params, body, computed, generator, async) {
|
|
if (kind === void 0) {
|
|
kind = "method";
|
|
}
|
|
if (computed === void 0) {
|
|
computed = false;
|
|
}
|
|
if (generator === void 0) {
|
|
generator = false;
|
|
}
|
|
if (async === void 0) {
|
|
async = false;
|
|
}
|
|
return validateNode({
|
|
type: "ObjectMethod",
|
|
kind: kind,
|
|
key: key,
|
|
params: params,
|
|
body: body,
|
|
computed: computed,
|
|
generator: generator,
|
|
async: async
|
|
});
|
|
}
|
|
function objectProperty$1(key, value, computed, shorthand, decorators) {
|
|
if (computed === void 0) {
|
|
computed = false;
|
|
}
|
|
if (shorthand === void 0) {
|
|
shorthand = false;
|
|
}
|
|
if (decorators === void 0) {
|
|
decorators = null;
|
|
}
|
|
return validateNode({
|
|
type: "ObjectProperty",
|
|
key: key,
|
|
value: value,
|
|
computed: computed,
|
|
shorthand: shorthand,
|
|
decorators: decorators
|
|
});
|
|
}
|
|
function restElement$2(argument) {
|
|
return validateNode({
|
|
type: "RestElement",
|
|
argument: argument
|
|
});
|
|
}
|
|
function returnStatement$3(argument) {
|
|
if (argument === void 0) {
|
|
argument = null;
|
|
}
|
|
return validateNode({
|
|
type: "ReturnStatement",
|
|
argument: argument
|
|
});
|
|
}
|
|
function sequenceExpression$7(expressions) {
|
|
return validateNode({
|
|
type: "SequenceExpression",
|
|
expressions: expressions
|
|
});
|
|
}
|
|
function parenthesizedExpression(expression) {
|
|
return validateNode({
|
|
type: "ParenthesizedExpression",
|
|
expression: expression
|
|
});
|
|
}
|
|
function switchCase(test, consequent) {
|
|
if (test === void 0) {
|
|
test = null;
|
|
}
|
|
return validateNode({
|
|
type: "SwitchCase",
|
|
test: test,
|
|
consequent: consequent
|
|
});
|
|
}
|
|
function switchStatement(discriminant, cases) {
|
|
return validateNode({
|
|
type: "SwitchStatement",
|
|
discriminant: discriminant,
|
|
cases: cases
|
|
});
|
|
}
|
|
function thisExpression$4() {
|
|
return {
|
|
type: "ThisExpression"
|
|
};
|
|
}
|
|
function throwStatement(argument) {
|
|
return validateNode({
|
|
type: "ThrowStatement",
|
|
argument: argument
|
|
});
|
|
}
|
|
function tryStatement(block, handler, finalizer) {
|
|
if (handler === void 0) {
|
|
handler = null;
|
|
}
|
|
if (finalizer === void 0) {
|
|
finalizer = null;
|
|
}
|
|
return validateNode({
|
|
type: "TryStatement",
|
|
block: block,
|
|
handler: handler,
|
|
finalizer: finalizer
|
|
});
|
|
}
|
|
function unaryExpression$7(operator, argument, prefix) {
|
|
if (prefix === void 0) {
|
|
prefix = true;
|
|
}
|
|
return validateNode({
|
|
type: "UnaryExpression",
|
|
operator: operator,
|
|
argument: argument,
|
|
prefix: prefix
|
|
});
|
|
}
|
|
function updateExpression$1(operator, argument, prefix) {
|
|
if (prefix === void 0) {
|
|
prefix = false;
|
|
}
|
|
return validateNode({
|
|
type: "UpdateExpression",
|
|
operator: operator,
|
|
argument: argument,
|
|
prefix: prefix
|
|
});
|
|
}
|
|
function variableDeclaration$8(kind, declarations) {
|
|
return validateNode({
|
|
type: "VariableDeclaration",
|
|
kind: kind,
|
|
declarations: declarations
|
|
});
|
|
}
|
|
function variableDeclarator$8(id, init) {
|
|
if (init === void 0) {
|
|
init = null;
|
|
}
|
|
return validateNode({
|
|
type: "VariableDeclarator",
|
|
id: id,
|
|
init: init
|
|
});
|
|
}
|
|
function whileStatement(test, body) {
|
|
return validateNode({
|
|
type: "WhileStatement",
|
|
test: test,
|
|
body: body
|
|
});
|
|
}
|
|
function withStatement(object, body) {
|
|
return validateNode({
|
|
type: "WithStatement",
|
|
object: object,
|
|
body: body
|
|
});
|
|
}
|
|
function assignmentPattern(left, right) {
|
|
return validateNode({
|
|
type: "AssignmentPattern",
|
|
left: left,
|
|
right: right
|
|
});
|
|
}
|
|
function arrayPattern(elements) {
|
|
return validateNode({
|
|
type: "ArrayPattern",
|
|
elements: elements
|
|
});
|
|
}
|
|
function arrowFunctionExpression$4(params, body, async) {
|
|
if (async === void 0) {
|
|
async = false;
|
|
}
|
|
return validateNode({
|
|
type: "ArrowFunctionExpression",
|
|
params: params,
|
|
body: body,
|
|
async: async,
|
|
expression: null
|
|
});
|
|
}
|
|
function classBody(body) {
|
|
return validateNode({
|
|
type: "ClassBody",
|
|
body: body
|
|
});
|
|
}
|
|
function classExpression(id, superClass, body, decorators) {
|
|
if (id === void 0) {
|
|
id = null;
|
|
}
|
|
if (superClass === void 0) {
|
|
superClass = null;
|
|
}
|
|
if (decorators === void 0) {
|
|
decorators = null;
|
|
}
|
|
return validateNode({
|
|
type: "ClassExpression",
|
|
id: id,
|
|
superClass: superClass,
|
|
body: body,
|
|
decorators: decorators
|
|
});
|
|
}
|
|
function classDeclaration(id, superClass, body, decorators) {
|
|
if (superClass === void 0) {
|
|
superClass = null;
|
|
}
|
|
if (decorators === void 0) {
|
|
decorators = null;
|
|
}
|
|
return validateNode({
|
|
type: "ClassDeclaration",
|
|
id: id,
|
|
superClass: superClass,
|
|
body: body,
|
|
decorators: decorators
|
|
});
|
|
}
|
|
function exportAllDeclaration(source) {
|
|
return validateNode({
|
|
type: "ExportAllDeclaration",
|
|
source: source
|
|
});
|
|
}
|
|
function exportDefaultDeclaration(declaration) {
|
|
return validateNode({
|
|
type: "ExportDefaultDeclaration",
|
|
declaration: declaration
|
|
});
|
|
}
|
|
function exportNamedDeclaration$2(declaration, specifiers, source) {
|
|
if (declaration === void 0) {
|
|
declaration = null;
|
|
}
|
|
if (specifiers === void 0) {
|
|
specifiers = [];
|
|
}
|
|
if (source === void 0) {
|
|
source = null;
|
|
}
|
|
return validateNode({
|
|
type: "ExportNamedDeclaration",
|
|
declaration: declaration,
|
|
specifiers: specifiers,
|
|
source: source
|
|
});
|
|
}
|
|
function exportSpecifier$2(local, exported) {
|
|
return validateNode({
|
|
type: "ExportSpecifier",
|
|
local: local,
|
|
exported: exported
|
|
});
|
|
}
|
|
function forOfStatement(left, right, body, _await) {
|
|
if (_await === void 0) {
|
|
_await = false;
|
|
}
|
|
return validateNode({
|
|
type: "ForOfStatement",
|
|
left: left,
|
|
right: right,
|
|
body: body,
|
|
"await": _await
|
|
});
|
|
}
|
|
function importDeclaration$1(specifiers, source) {
|
|
return validateNode({
|
|
type: "ImportDeclaration",
|
|
specifiers: specifiers,
|
|
source: source
|
|
});
|
|
}
|
|
function importDefaultSpecifier$1(local) {
|
|
return validateNode({
|
|
type: "ImportDefaultSpecifier",
|
|
local: local
|
|
});
|
|
}
|
|
function importNamespaceSpecifier$1(local) {
|
|
return validateNode({
|
|
type: "ImportNamespaceSpecifier",
|
|
local: local
|
|
});
|
|
}
|
|
function importSpecifier$1(local, imported) {
|
|
return validateNode({
|
|
type: "ImportSpecifier",
|
|
local: local,
|
|
imported: imported
|
|
});
|
|
}
|
|
function metaProperty$1(meta, property) {
|
|
return validateNode({
|
|
type: "MetaProperty",
|
|
meta: meta,
|
|
property: property
|
|
});
|
|
}
|
|
function classMethod(kind, key, params, body, computed, _static, generator, async) {
|
|
if (kind === void 0) {
|
|
kind = "method";
|
|
}
|
|
if (computed === void 0) {
|
|
computed = false;
|
|
}
|
|
if (_static === void 0) {
|
|
_static = false;
|
|
}
|
|
if (generator === void 0) {
|
|
generator = false;
|
|
}
|
|
if (async === void 0) {
|
|
async = false;
|
|
}
|
|
return validateNode({
|
|
type: "ClassMethod",
|
|
kind: kind,
|
|
key: key,
|
|
params: params,
|
|
body: body,
|
|
computed: computed,
|
|
"static": _static,
|
|
generator: generator,
|
|
async: async
|
|
});
|
|
}
|
|
function objectPattern$1(properties) {
|
|
return validateNode({
|
|
type: "ObjectPattern",
|
|
properties: properties
|
|
});
|
|
}
|
|
function spreadElement$2(argument) {
|
|
return validateNode({
|
|
type: "SpreadElement",
|
|
argument: argument
|
|
});
|
|
}
|
|
function _super$1() {
|
|
return {
|
|
type: "Super"
|
|
};
|
|
}
|
|
function taggedTemplateExpression(tag, quasi) {
|
|
return validateNode({
|
|
type: "TaggedTemplateExpression",
|
|
tag: tag,
|
|
quasi: quasi
|
|
});
|
|
}
|
|
function templateElement(value, tail) {
|
|
if (tail === void 0) {
|
|
tail = false;
|
|
}
|
|
return validateNode({
|
|
type: "TemplateElement",
|
|
value: value,
|
|
tail: tail
|
|
});
|
|
}
|
|
function templateLiteral(quasis, expressions) {
|
|
return validateNode({
|
|
type: "TemplateLiteral",
|
|
quasis: quasis,
|
|
expressions: expressions
|
|
});
|
|
}
|
|
function yieldExpression$2(argument, delegate) {
|
|
if (argument === void 0) {
|
|
argument = null;
|
|
}
|
|
if (delegate === void 0) {
|
|
delegate = false;
|
|
}
|
|
return validateNode({
|
|
type: "YieldExpression",
|
|
argument: argument,
|
|
delegate: delegate
|
|
});
|
|
}
|
|
function awaitExpression$1(argument) {
|
|
return validateNode({
|
|
type: "AwaitExpression",
|
|
argument: argument
|
|
});
|
|
}
|
|
function _import() {
|
|
return {
|
|
type: "Import"
|
|
};
|
|
}
|
|
function bigIntLiteral(value) {
|
|
return validateNode({
|
|
type: "BigIntLiteral",
|
|
value: value
|
|
});
|
|
}
|
|
function exportNamespaceSpecifier(exported) {
|
|
return validateNode({
|
|
type: "ExportNamespaceSpecifier",
|
|
exported: exported
|
|
});
|
|
}
|
|
function optionalMemberExpression$2(object, property, computed, optional) {
|
|
if (computed === void 0) {
|
|
computed = false;
|
|
}
|
|
return validateNode({
|
|
type: "OptionalMemberExpression",
|
|
object: object,
|
|
property: property,
|
|
computed: computed,
|
|
optional: optional
|
|
});
|
|
}
|
|
function optionalCallExpression$2(callee, _arguments, optional) {
|
|
return validateNode({
|
|
type: "OptionalCallExpression",
|
|
callee: callee,
|
|
arguments: _arguments,
|
|
optional: optional
|
|
});
|
|
}
|
|
function classProperty(key, value, typeAnnotation, decorators, computed, _static) {
|
|
if (value === void 0) {
|
|
value = null;
|
|
}
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
if (decorators === void 0) {
|
|
decorators = null;
|
|
}
|
|
if (computed === void 0) {
|
|
computed = false;
|
|
}
|
|
if (_static === void 0) {
|
|
_static = false;
|
|
}
|
|
return validateNode({
|
|
type: "ClassProperty",
|
|
key: key,
|
|
value: value,
|
|
typeAnnotation: typeAnnotation,
|
|
decorators: decorators,
|
|
computed: computed,
|
|
"static": _static
|
|
});
|
|
}
|
|
function classAccessorProperty(key, value, typeAnnotation, decorators, computed, _static) {
|
|
if (value === void 0) {
|
|
value = null;
|
|
}
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
if (decorators === void 0) {
|
|
decorators = null;
|
|
}
|
|
if (computed === void 0) {
|
|
computed = false;
|
|
}
|
|
if (_static === void 0) {
|
|
_static = false;
|
|
}
|
|
return validateNode({
|
|
type: "ClassAccessorProperty",
|
|
key: key,
|
|
value: value,
|
|
typeAnnotation: typeAnnotation,
|
|
decorators: decorators,
|
|
computed: computed,
|
|
"static": _static
|
|
});
|
|
}
|
|
function classPrivateProperty(key, value, decorators, _static) {
|
|
if (value === void 0) {
|
|
value = null;
|
|
}
|
|
if (decorators === void 0) {
|
|
decorators = null;
|
|
}
|
|
if (_static === void 0) {
|
|
_static = false;
|
|
}
|
|
return validateNode({
|
|
type: "ClassPrivateProperty",
|
|
key: key,
|
|
value: value,
|
|
decorators: decorators,
|
|
"static": _static
|
|
});
|
|
}
|
|
function classPrivateMethod(kind, key, params, body, _static) {
|
|
if (kind === void 0) {
|
|
kind = "method";
|
|
}
|
|
if (_static === void 0) {
|
|
_static = false;
|
|
}
|
|
return validateNode({
|
|
type: "ClassPrivateMethod",
|
|
kind: kind,
|
|
key: key,
|
|
params: params,
|
|
body: body,
|
|
"static": _static
|
|
});
|
|
}
|
|
function privateName(id) {
|
|
return validateNode({
|
|
type: "PrivateName",
|
|
id: id
|
|
});
|
|
}
|
|
function staticBlock(body) {
|
|
return validateNode({
|
|
type: "StaticBlock",
|
|
body: body
|
|
});
|
|
}
|
|
function anyTypeAnnotation$2() {
|
|
return {
|
|
type: "AnyTypeAnnotation"
|
|
};
|
|
}
|
|
function arrayTypeAnnotation$1(elementType) {
|
|
return validateNode({
|
|
type: "ArrayTypeAnnotation",
|
|
elementType: elementType
|
|
});
|
|
}
|
|
function booleanTypeAnnotation$1() {
|
|
return {
|
|
type: "BooleanTypeAnnotation"
|
|
};
|
|
}
|
|
function booleanLiteralTypeAnnotation(value) {
|
|
return validateNode({
|
|
type: "BooleanLiteralTypeAnnotation",
|
|
value: value
|
|
});
|
|
}
|
|
function nullLiteralTypeAnnotation$1() {
|
|
return {
|
|
type: "NullLiteralTypeAnnotation"
|
|
};
|
|
}
|
|
function classImplements(id, typeParameters) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "ClassImplements",
|
|
id: id,
|
|
typeParameters: typeParameters
|
|
});
|
|
}
|
|
function declareClass(id, typeParameters, _extends, body) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (_extends === void 0) {
|
|
_extends = null;
|
|
}
|
|
return validateNode({
|
|
type: "DeclareClass",
|
|
id: id,
|
|
typeParameters: typeParameters,
|
|
"extends": _extends,
|
|
body: body
|
|
});
|
|
}
|
|
function declareFunction(id) {
|
|
return validateNode({
|
|
type: "DeclareFunction",
|
|
id: id
|
|
});
|
|
}
|
|
function declareInterface(id, typeParameters, _extends, body) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (_extends === void 0) {
|
|
_extends = null;
|
|
}
|
|
return validateNode({
|
|
type: "DeclareInterface",
|
|
id: id,
|
|
typeParameters: typeParameters,
|
|
"extends": _extends,
|
|
body: body
|
|
});
|
|
}
|
|
function declareModule(id, body, kind) {
|
|
if (kind === void 0) {
|
|
kind = null;
|
|
}
|
|
return validateNode({
|
|
type: "DeclareModule",
|
|
id: id,
|
|
body: body,
|
|
kind: kind
|
|
});
|
|
}
|
|
function declareModuleExports(typeAnnotation) {
|
|
return validateNode({
|
|
type: "DeclareModuleExports",
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function declareTypeAlias(id, typeParameters, right) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "DeclareTypeAlias",
|
|
id: id,
|
|
typeParameters: typeParameters,
|
|
right: right
|
|
});
|
|
}
|
|
function declareOpaqueType(id, typeParameters, supertype) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (supertype === void 0) {
|
|
supertype = null;
|
|
}
|
|
return validateNode({
|
|
type: "DeclareOpaqueType",
|
|
id: id,
|
|
typeParameters: typeParameters,
|
|
supertype: supertype
|
|
});
|
|
}
|
|
function declareVariable(id) {
|
|
return validateNode({
|
|
type: "DeclareVariable",
|
|
id: id
|
|
});
|
|
}
|
|
function declareExportDeclaration(declaration, specifiers, source) {
|
|
if (declaration === void 0) {
|
|
declaration = null;
|
|
}
|
|
if (specifiers === void 0) {
|
|
specifiers = null;
|
|
}
|
|
if (source === void 0) {
|
|
source = null;
|
|
}
|
|
return validateNode({
|
|
type: "DeclareExportDeclaration",
|
|
declaration: declaration,
|
|
specifiers: specifiers,
|
|
source: source
|
|
});
|
|
}
|
|
function declareExportAllDeclaration(source) {
|
|
return validateNode({
|
|
type: "DeclareExportAllDeclaration",
|
|
source: source
|
|
});
|
|
}
|
|
function declaredPredicate(value) {
|
|
return validateNode({
|
|
type: "DeclaredPredicate",
|
|
value: value
|
|
});
|
|
}
|
|
function existsTypeAnnotation() {
|
|
return {
|
|
type: "ExistsTypeAnnotation"
|
|
};
|
|
}
|
|
function functionTypeAnnotation(typeParameters, params, rest, returnType) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (rest === void 0) {
|
|
rest = null;
|
|
}
|
|
return validateNode({
|
|
type: "FunctionTypeAnnotation",
|
|
typeParameters: typeParameters,
|
|
params: params,
|
|
rest: rest,
|
|
returnType: returnType
|
|
});
|
|
}
|
|
function functionTypeParam(name, typeAnnotation) {
|
|
if (name === void 0) {
|
|
name = null;
|
|
}
|
|
return validateNode({
|
|
type: "FunctionTypeParam",
|
|
name: name,
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function genericTypeAnnotation$1(id, typeParameters) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "GenericTypeAnnotation",
|
|
id: id,
|
|
typeParameters: typeParameters
|
|
});
|
|
}
|
|
function inferredPredicate() {
|
|
return {
|
|
type: "InferredPredicate"
|
|
};
|
|
}
|
|
function interfaceExtends(id, typeParameters) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "InterfaceExtends",
|
|
id: id,
|
|
typeParameters: typeParameters
|
|
});
|
|
}
|
|
function interfaceDeclaration(id, typeParameters, _extends, body) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (_extends === void 0) {
|
|
_extends = null;
|
|
}
|
|
return validateNode({
|
|
type: "InterfaceDeclaration",
|
|
id: id,
|
|
typeParameters: typeParameters,
|
|
"extends": _extends,
|
|
body: body
|
|
});
|
|
}
|
|
function interfaceTypeAnnotation(_extends, body) {
|
|
if (_extends === void 0) {
|
|
_extends = null;
|
|
}
|
|
return validateNode({
|
|
type: "InterfaceTypeAnnotation",
|
|
"extends": _extends,
|
|
body: body
|
|
});
|
|
}
|
|
function intersectionTypeAnnotation(types) {
|
|
return validateNode({
|
|
type: "IntersectionTypeAnnotation",
|
|
types: types
|
|
});
|
|
}
|
|
function mixedTypeAnnotation() {
|
|
return {
|
|
type: "MixedTypeAnnotation"
|
|
};
|
|
}
|
|
function emptyTypeAnnotation() {
|
|
return {
|
|
type: "EmptyTypeAnnotation"
|
|
};
|
|
}
|
|
function nullableTypeAnnotation(typeAnnotation) {
|
|
return validateNode({
|
|
type: "NullableTypeAnnotation",
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function numberLiteralTypeAnnotation(value) {
|
|
return validateNode({
|
|
type: "NumberLiteralTypeAnnotation",
|
|
value: value
|
|
});
|
|
}
|
|
function numberTypeAnnotation$2() {
|
|
return {
|
|
type: "NumberTypeAnnotation"
|
|
};
|
|
}
|
|
function objectTypeAnnotation(properties, indexers, callProperties, internalSlots, exact) {
|
|
if (indexers === void 0) {
|
|
indexers = [];
|
|
}
|
|
if (callProperties === void 0) {
|
|
callProperties = [];
|
|
}
|
|
if (internalSlots === void 0) {
|
|
internalSlots = [];
|
|
}
|
|
if (exact === void 0) {
|
|
exact = false;
|
|
}
|
|
return validateNode({
|
|
type: "ObjectTypeAnnotation",
|
|
properties: properties,
|
|
indexers: indexers,
|
|
callProperties: callProperties,
|
|
internalSlots: internalSlots,
|
|
exact: exact
|
|
});
|
|
}
|
|
function objectTypeInternalSlot(id, value, optional, _static, method) {
|
|
return validateNode({
|
|
type: "ObjectTypeInternalSlot",
|
|
id: id,
|
|
value: value,
|
|
optional: optional,
|
|
"static": _static,
|
|
method: method
|
|
});
|
|
}
|
|
function objectTypeCallProperty(value) {
|
|
return validateNode({
|
|
type: "ObjectTypeCallProperty",
|
|
value: value,
|
|
"static": null
|
|
});
|
|
}
|
|
function objectTypeIndexer(id, key, value, variance) {
|
|
if (id === void 0) {
|
|
id = null;
|
|
}
|
|
if (variance === void 0) {
|
|
variance = null;
|
|
}
|
|
return validateNode({
|
|
type: "ObjectTypeIndexer",
|
|
id: id,
|
|
key: key,
|
|
value: value,
|
|
variance: variance,
|
|
"static": null
|
|
});
|
|
}
|
|
function objectTypeProperty(key, value, variance) {
|
|
if (variance === void 0) {
|
|
variance = null;
|
|
}
|
|
return validateNode({
|
|
type: "ObjectTypeProperty",
|
|
key: key,
|
|
value: value,
|
|
variance: variance,
|
|
kind: null,
|
|
method: null,
|
|
optional: null,
|
|
proto: null,
|
|
"static": null
|
|
});
|
|
}
|
|
function objectTypeSpreadProperty(argument) {
|
|
return validateNode({
|
|
type: "ObjectTypeSpreadProperty",
|
|
argument: argument
|
|
});
|
|
}
|
|
function opaqueType(id, typeParameters, supertype, impltype) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (supertype === void 0) {
|
|
supertype = null;
|
|
}
|
|
return validateNode({
|
|
type: "OpaqueType",
|
|
id: id,
|
|
typeParameters: typeParameters,
|
|
supertype: supertype,
|
|
impltype: impltype
|
|
});
|
|
}
|
|
function qualifiedTypeIdentifier(id, qualification) {
|
|
return validateNode({
|
|
type: "QualifiedTypeIdentifier",
|
|
id: id,
|
|
qualification: qualification
|
|
});
|
|
}
|
|
function stringLiteralTypeAnnotation(value) {
|
|
return validateNode({
|
|
type: "StringLiteralTypeAnnotation",
|
|
value: value
|
|
});
|
|
}
|
|
function stringTypeAnnotation$2() {
|
|
return {
|
|
type: "StringTypeAnnotation"
|
|
};
|
|
}
|
|
function symbolTypeAnnotation() {
|
|
return {
|
|
type: "SymbolTypeAnnotation"
|
|
};
|
|
}
|
|
function thisTypeAnnotation() {
|
|
return {
|
|
type: "ThisTypeAnnotation"
|
|
};
|
|
}
|
|
function tupleTypeAnnotation$1(types) {
|
|
return validateNode({
|
|
type: "TupleTypeAnnotation",
|
|
types: types
|
|
});
|
|
}
|
|
function typeofTypeAnnotation(argument) {
|
|
return validateNode({
|
|
type: "TypeofTypeAnnotation",
|
|
argument: argument
|
|
});
|
|
}
|
|
function typeAlias(id, typeParameters, right) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "TypeAlias",
|
|
id: id,
|
|
typeParameters: typeParameters,
|
|
right: right
|
|
});
|
|
}
|
|
function typeAnnotation(typeAnnotation) {
|
|
return validateNode({
|
|
type: "TypeAnnotation",
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function typeCastExpression(expression, typeAnnotation) {
|
|
return validateNode({
|
|
type: "TypeCastExpression",
|
|
expression: expression,
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function typeParameter(bound, _default, variance) {
|
|
if (bound === void 0) {
|
|
bound = null;
|
|
}
|
|
if (_default === void 0) {
|
|
_default = null;
|
|
}
|
|
if (variance === void 0) {
|
|
variance = null;
|
|
}
|
|
return validateNode({
|
|
type: "TypeParameter",
|
|
bound: bound,
|
|
"default": _default,
|
|
variance: variance,
|
|
name: null
|
|
});
|
|
}
|
|
function typeParameterDeclaration(params) {
|
|
return validateNode({
|
|
type: "TypeParameterDeclaration",
|
|
params: params
|
|
});
|
|
}
|
|
function typeParameterInstantiation(params) {
|
|
return validateNode({
|
|
type: "TypeParameterInstantiation",
|
|
params: params
|
|
});
|
|
}
|
|
function unionTypeAnnotation$1(types) {
|
|
return validateNode({
|
|
type: "UnionTypeAnnotation",
|
|
types: types
|
|
});
|
|
}
|
|
function variance(kind) {
|
|
return validateNode({
|
|
type: "Variance",
|
|
kind: kind
|
|
});
|
|
}
|
|
function voidTypeAnnotation$3() {
|
|
return {
|
|
type: "VoidTypeAnnotation"
|
|
};
|
|
}
|
|
function enumDeclaration(id, body) {
|
|
return validateNode({
|
|
type: "EnumDeclaration",
|
|
id: id,
|
|
body: body
|
|
});
|
|
}
|
|
function enumBooleanBody(members) {
|
|
return validateNode({
|
|
type: "EnumBooleanBody",
|
|
members: members,
|
|
explicitType: null,
|
|
hasUnknownMembers: null
|
|
});
|
|
}
|
|
function enumNumberBody(members) {
|
|
return validateNode({
|
|
type: "EnumNumberBody",
|
|
members: members,
|
|
explicitType: null,
|
|
hasUnknownMembers: null
|
|
});
|
|
}
|
|
function enumStringBody(members) {
|
|
return validateNode({
|
|
type: "EnumStringBody",
|
|
members: members,
|
|
explicitType: null,
|
|
hasUnknownMembers: null
|
|
});
|
|
}
|
|
function enumSymbolBody(members) {
|
|
return validateNode({
|
|
type: "EnumSymbolBody",
|
|
members: members,
|
|
hasUnknownMembers: null
|
|
});
|
|
}
|
|
function enumBooleanMember(id) {
|
|
return validateNode({
|
|
type: "EnumBooleanMember",
|
|
id: id,
|
|
init: null
|
|
});
|
|
}
|
|
function enumNumberMember(id, init) {
|
|
return validateNode({
|
|
type: "EnumNumberMember",
|
|
id: id,
|
|
init: init
|
|
});
|
|
}
|
|
function enumStringMember(id, init) {
|
|
return validateNode({
|
|
type: "EnumStringMember",
|
|
id: id,
|
|
init: init
|
|
});
|
|
}
|
|
function enumDefaultedMember(id) {
|
|
return validateNode({
|
|
type: "EnumDefaultedMember",
|
|
id: id
|
|
});
|
|
}
|
|
function indexedAccessType(objectType, indexType) {
|
|
return validateNode({
|
|
type: "IndexedAccessType",
|
|
objectType: objectType,
|
|
indexType: indexType
|
|
});
|
|
}
|
|
function optionalIndexedAccessType(objectType, indexType) {
|
|
return validateNode({
|
|
type: "OptionalIndexedAccessType",
|
|
objectType: objectType,
|
|
indexType: indexType,
|
|
optional: null
|
|
});
|
|
}
|
|
function jsxAttribute(name, value) {
|
|
if (value === void 0) {
|
|
value = null;
|
|
}
|
|
return validateNode({
|
|
type: "JSXAttribute",
|
|
name: name,
|
|
value: value
|
|
});
|
|
}
|
|
function jsxClosingElement(name) {
|
|
return validateNode({
|
|
type: "JSXClosingElement",
|
|
name: name
|
|
});
|
|
}
|
|
function jsxElement(openingElement, closingElement, children, selfClosing) {
|
|
if (closingElement === void 0) {
|
|
closingElement = null;
|
|
}
|
|
if (selfClosing === void 0) {
|
|
selfClosing = null;
|
|
}
|
|
return validateNode({
|
|
type: "JSXElement",
|
|
openingElement: openingElement,
|
|
closingElement: closingElement,
|
|
children: children,
|
|
selfClosing: selfClosing
|
|
});
|
|
}
|
|
function jsxEmptyExpression() {
|
|
return {
|
|
type: "JSXEmptyExpression"
|
|
};
|
|
}
|
|
function jsxExpressionContainer$1(expression) {
|
|
return validateNode({
|
|
type: "JSXExpressionContainer",
|
|
expression: expression
|
|
});
|
|
}
|
|
function jsxSpreadChild(expression) {
|
|
return validateNode({
|
|
type: "JSXSpreadChild",
|
|
expression: expression
|
|
});
|
|
}
|
|
function jsxIdentifier$2(name) {
|
|
return validateNode({
|
|
type: "JSXIdentifier",
|
|
name: name
|
|
});
|
|
}
|
|
function jsxMemberExpression$1(object, property) {
|
|
return validateNode({
|
|
type: "JSXMemberExpression",
|
|
object: object,
|
|
property: property
|
|
});
|
|
}
|
|
function jsxNamespacedName(namespace, name) {
|
|
return validateNode({
|
|
type: "JSXNamespacedName",
|
|
namespace: namespace,
|
|
name: name
|
|
});
|
|
}
|
|
function jsxOpeningElement(name, attributes, selfClosing) {
|
|
if (selfClosing === void 0) {
|
|
selfClosing = false;
|
|
}
|
|
return validateNode({
|
|
type: "JSXOpeningElement",
|
|
name: name,
|
|
attributes: attributes,
|
|
selfClosing: selfClosing
|
|
});
|
|
}
|
|
function jsxSpreadAttribute(argument) {
|
|
return validateNode({
|
|
type: "JSXSpreadAttribute",
|
|
argument: argument
|
|
});
|
|
}
|
|
function jsxText(value) {
|
|
return validateNode({
|
|
type: "JSXText",
|
|
value: value
|
|
});
|
|
}
|
|
function jsxFragment(openingFragment, closingFragment, children) {
|
|
return validateNode({
|
|
type: "JSXFragment",
|
|
openingFragment: openingFragment,
|
|
closingFragment: closingFragment,
|
|
children: children
|
|
});
|
|
}
|
|
function jsxOpeningFragment() {
|
|
return {
|
|
type: "JSXOpeningFragment"
|
|
};
|
|
}
|
|
function jsxClosingFragment() {
|
|
return {
|
|
type: "JSXClosingFragment"
|
|
};
|
|
}
|
|
function noop$1() {
|
|
return {
|
|
type: "Noop"
|
|
};
|
|
}
|
|
function placeholder(expectedNode, name) {
|
|
return validateNode({
|
|
type: "Placeholder",
|
|
expectedNode: expectedNode,
|
|
name: name
|
|
});
|
|
}
|
|
function v8IntrinsicIdentifier(name) {
|
|
return validateNode({
|
|
type: "V8IntrinsicIdentifier",
|
|
name: name
|
|
});
|
|
}
|
|
function argumentPlaceholder() {
|
|
return {
|
|
type: "ArgumentPlaceholder"
|
|
};
|
|
}
|
|
function bindExpression(object, callee) {
|
|
return validateNode({
|
|
type: "BindExpression",
|
|
object: object,
|
|
callee: callee
|
|
});
|
|
}
|
|
function importAttribute(key, value) {
|
|
return validateNode({
|
|
type: "ImportAttribute",
|
|
key: key,
|
|
value: value
|
|
});
|
|
}
|
|
function decorator(expression) {
|
|
return validateNode({
|
|
type: "Decorator",
|
|
expression: expression
|
|
});
|
|
}
|
|
function doExpression(body, async) {
|
|
if (async === void 0) {
|
|
async = false;
|
|
}
|
|
return validateNode({
|
|
type: "DoExpression",
|
|
body: body,
|
|
async: async
|
|
});
|
|
}
|
|
function exportDefaultSpecifier(exported) {
|
|
return validateNode({
|
|
type: "ExportDefaultSpecifier",
|
|
exported: exported
|
|
});
|
|
}
|
|
function recordExpression(properties) {
|
|
return validateNode({
|
|
type: "RecordExpression",
|
|
properties: properties
|
|
});
|
|
}
|
|
function tupleExpression(elements) {
|
|
if (elements === void 0) {
|
|
elements = [];
|
|
}
|
|
return validateNode({
|
|
type: "TupleExpression",
|
|
elements: elements
|
|
});
|
|
}
|
|
function decimalLiteral(value) {
|
|
return validateNode({
|
|
type: "DecimalLiteral",
|
|
value: value
|
|
});
|
|
}
|
|
function moduleExpression(body) {
|
|
return validateNode({
|
|
type: "ModuleExpression",
|
|
body: body
|
|
});
|
|
}
|
|
function topicReference() {
|
|
return {
|
|
type: "TopicReference"
|
|
};
|
|
}
|
|
function pipelineTopicExpression(expression) {
|
|
return validateNode({
|
|
type: "PipelineTopicExpression",
|
|
expression: expression
|
|
});
|
|
}
|
|
function pipelineBareFunction(callee) {
|
|
return validateNode({
|
|
type: "PipelineBareFunction",
|
|
callee: callee
|
|
});
|
|
}
|
|
function pipelinePrimaryTopicReference() {
|
|
return {
|
|
type: "PipelinePrimaryTopicReference"
|
|
};
|
|
}
|
|
function tsParameterProperty(parameter) {
|
|
return validateNode({
|
|
type: "TSParameterProperty",
|
|
parameter: parameter
|
|
});
|
|
}
|
|
function tsDeclareFunction(id, typeParameters, params, returnType) {
|
|
if (id === void 0) {
|
|
id = null;
|
|
}
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (returnType === void 0) {
|
|
returnType = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSDeclareFunction",
|
|
id: id,
|
|
typeParameters: typeParameters,
|
|
params: params,
|
|
returnType: returnType
|
|
});
|
|
}
|
|
function tsDeclareMethod(decorators, key, typeParameters, params, returnType) {
|
|
if (decorators === void 0) {
|
|
decorators = null;
|
|
}
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (returnType === void 0) {
|
|
returnType = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSDeclareMethod",
|
|
decorators: decorators,
|
|
key: key,
|
|
typeParameters: typeParameters,
|
|
params: params,
|
|
returnType: returnType
|
|
});
|
|
}
|
|
function tsQualifiedName(left, right) {
|
|
return validateNode({
|
|
type: "TSQualifiedName",
|
|
left: left,
|
|
right: right
|
|
});
|
|
}
|
|
function tsCallSignatureDeclaration(typeParameters, parameters, typeAnnotation) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSCallSignatureDeclaration",
|
|
typeParameters: typeParameters,
|
|
parameters: parameters,
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsConstructSignatureDeclaration(typeParameters, parameters, typeAnnotation) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSConstructSignatureDeclaration",
|
|
typeParameters: typeParameters,
|
|
parameters: parameters,
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsPropertySignature(key, typeAnnotation, initializer) {
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
if (initializer === void 0) {
|
|
initializer = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSPropertySignature",
|
|
key: key,
|
|
typeAnnotation: typeAnnotation,
|
|
initializer: initializer,
|
|
kind: null
|
|
});
|
|
}
|
|
function tsMethodSignature(key, typeParameters, parameters, typeAnnotation) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSMethodSignature",
|
|
key: key,
|
|
typeParameters: typeParameters,
|
|
parameters: parameters,
|
|
typeAnnotation: typeAnnotation,
|
|
kind: null
|
|
});
|
|
}
|
|
function tsIndexSignature(parameters, typeAnnotation) {
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSIndexSignature",
|
|
parameters: parameters,
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsAnyKeyword() {
|
|
return {
|
|
type: "TSAnyKeyword"
|
|
};
|
|
}
|
|
function tsBooleanKeyword() {
|
|
return {
|
|
type: "TSBooleanKeyword"
|
|
};
|
|
}
|
|
function tsBigIntKeyword() {
|
|
return {
|
|
type: "TSBigIntKeyword"
|
|
};
|
|
}
|
|
function tsIntrinsicKeyword() {
|
|
return {
|
|
type: "TSIntrinsicKeyword"
|
|
};
|
|
}
|
|
function tsNeverKeyword() {
|
|
return {
|
|
type: "TSNeverKeyword"
|
|
};
|
|
}
|
|
function tsNullKeyword() {
|
|
return {
|
|
type: "TSNullKeyword"
|
|
};
|
|
}
|
|
function tsNumberKeyword() {
|
|
return {
|
|
type: "TSNumberKeyword"
|
|
};
|
|
}
|
|
function tsObjectKeyword() {
|
|
return {
|
|
type: "TSObjectKeyword"
|
|
};
|
|
}
|
|
function tsStringKeyword() {
|
|
return {
|
|
type: "TSStringKeyword"
|
|
};
|
|
}
|
|
function tsSymbolKeyword() {
|
|
return {
|
|
type: "TSSymbolKeyword"
|
|
};
|
|
}
|
|
function tsUndefinedKeyword() {
|
|
return {
|
|
type: "TSUndefinedKeyword"
|
|
};
|
|
}
|
|
function tsUnknownKeyword() {
|
|
return {
|
|
type: "TSUnknownKeyword"
|
|
};
|
|
}
|
|
function tsVoidKeyword() {
|
|
return {
|
|
type: "TSVoidKeyword"
|
|
};
|
|
}
|
|
function tsThisType() {
|
|
return {
|
|
type: "TSThisType"
|
|
};
|
|
}
|
|
function tsFunctionType(typeParameters, parameters, typeAnnotation) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSFunctionType",
|
|
typeParameters: typeParameters,
|
|
parameters: parameters,
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsConstructorType(typeParameters, parameters, typeAnnotation) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSConstructorType",
|
|
typeParameters: typeParameters,
|
|
parameters: parameters,
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsTypeReference(typeName, typeParameters) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSTypeReference",
|
|
typeName: typeName,
|
|
typeParameters: typeParameters
|
|
});
|
|
}
|
|
function tsTypePredicate(parameterName, typeAnnotation, asserts) {
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
if (asserts === void 0) {
|
|
asserts = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSTypePredicate",
|
|
parameterName: parameterName,
|
|
typeAnnotation: typeAnnotation,
|
|
asserts: asserts
|
|
});
|
|
}
|
|
function tsTypeQuery(exprName, typeParameters) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSTypeQuery",
|
|
exprName: exprName,
|
|
typeParameters: typeParameters
|
|
});
|
|
}
|
|
function tsTypeLiteral(members) {
|
|
return validateNode({
|
|
type: "TSTypeLiteral",
|
|
members: members
|
|
});
|
|
}
|
|
function tsArrayType(elementType) {
|
|
return validateNode({
|
|
type: "TSArrayType",
|
|
elementType: elementType
|
|
});
|
|
}
|
|
function tsTupleType(elementTypes) {
|
|
return validateNode({
|
|
type: "TSTupleType",
|
|
elementTypes: elementTypes
|
|
});
|
|
}
|
|
function tsOptionalType(typeAnnotation) {
|
|
return validateNode({
|
|
type: "TSOptionalType",
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsRestType(typeAnnotation) {
|
|
return validateNode({
|
|
type: "TSRestType",
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsNamedTupleMember(label, elementType, optional) {
|
|
if (optional === void 0) {
|
|
optional = false;
|
|
}
|
|
return validateNode({
|
|
type: "TSNamedTupleMember",
|
|
label: label,
|
|
elementType: elementType,
|
|
optional: optional
|
|
});
|
|
}
|
|
function tsUnionType(types) {
|
|
return validateNode({
|
|
type: "TSUnionType",
|
|
types: types
|
|
});
|
|
}
|
|
function tsIntersectionType(types) {
|
|
return validateNode({
|
|
type: "TSIntersectionType",
|
|
types: types
|
|
});
|
|
}
|
|
function tsConditionalType(checkType, extendsType, trueType, falseType) {
|
|
return validateNode({
|
|
type: "TSConditionalType",
|
|
checkType: checkType,
|
|
extendsType: extendsType,
|
|
trueType: trueType,
|
|
falseType: falseType
|
|
});
|
|
}
|
|
function tsInferType(typeParameter) {
|
|
return validateNode({
|
|
type: "TSInferType",
|
|
typeParameter: typeParameter
|
|
});
|
|
}
|
|
function tsParenthesizedType(typeAnnotation) {
|
|
return validateNode({
|
|
type: "TSParenthesizedType",
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsTypeOperator(typeAnnotation) {
|
|
return validateNode({
|
|
type: "TSTypeOperator",
|
|
typeAnnotation: typeAnnotation,
|
|
operator: null
|
|
});
|
|
}
|
|
function tsIndexedAccessType(objectType, indexType) {
|
|
return validateNode({
|
|
type: "TSIndexedAccessType",
|
|
objectType: objectType,
|
|
indexType: indexType
|
|
});
|
|
}
|
|
function tsMappedType(typeParameter, typeAnnotation, nameType) {
|
|
if (typeAnnotation === void 0) {
|
|
typeAnnotation = null;
|
|
}
|
|
if (nameType === void 0) {
|
|
nameType = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSMappedType",
|
|
typeParameter: typeParameter,
|
|
typeAnnotation: typeAnnotation,
|
|
nameType: nameType
|
|
});
|
|
}
|
|
function tsLiteralType(literal) {
|
|
return validateNode({
|
|
type: "TSLiteralType",
|
|
literal: literal
|
|
});
|
|
}
|
|
function tsExpressionWithTypeArguments(expression, typeParameters) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSExpressionWithTypeArguments",
|
|
expression: expression,
|
|
typeParameters: typeParameters
|
|
});
|
|
}
|
|
function tsInterfaceDeclaration(id, typeParameters, _extends, body) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
if (_extends === void 0) {
|
|
_extends = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSInterfaceDeclaration",
|
|
id: id,
|
|
typeParameters: typeParameters,
|
|
"extends": _extends,
|
|
body: body
|
|
});
|
|
}
|
|
function tsInterfaceBody(body) {
|
|
return validateNode({
|
|
type: "TSInterfaceBody",
|
|
body: body
|
|
});
|
|
}
|
|
function tsTypeAliasDeclaration(id, typeParameters, typeAnnotation) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSTypeAliasDeclaration",
|
|
id: id,
|
|
typeParameters: typeParameters,
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsInstantiationExpression(expression, typeParameters) {
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSInstantiationExpression",
|
|
expression: expression,
|
|
typeParameters: typeParameters
|
|
});
|
|
}
|
|
function tsAsExpression(expression, typeAnnotation) {
|
|
return validateNode({
|
|
type: "TSAsExpression",
|
|
expression: expression,
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsSatisfiesExpression(expression, typeAnnotation) {
|
|
return validateNode({
|
|
type: "TSSatisfiesExpression",
|
|
expression: expression,
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsTypeAssertion(typeAnnotation, expression) {
|
|
return validateNode({
|
|
type: "TSTypeAssertion",
|
|
typeAnnotation: typeAnnotation,
|
|
expression: expression
|
|
});
|
|
}
|
|
function tsEnumDeclaration(id, members) {
|
|
return validateNode({
|
|
type: "TSEnumDeclaration",
|
|
id: id,
|
|
members: members
|
|
});
|
|
}
|
|
function tsEnumMember(id, initializer) {
|
|
if (initializer === void 0) {
|
|
initializer = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSEnumMember",
|
|
id: id,
|
|
initializer: initializer
|
|
});
|
|
}
|
|
function tsModuleDeclaration(id, body) {
|
|
return validateNode({
|
|
type: "TSModuleDeclaration",
|
|
id: id,
|
|
body: body
|
|
});
|
|
}
|
|
function tsModuleBlock(body) {
|
|
return validateNode({
|
|
type: "TSModuleBlock",
|
|
body: body
|
|
});
|
|
}
|
|
function tsImportType(argument, qualifier, typeParameters) {
|
|
if (qualifier === void 0) {
|
|
qualifier = null;
|
|
}
|
|
if (typeParameters === void 0) {
|
|
typeParameters = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSImportType",
|
|
argument: argument,
|
|
qualifier: qualifier,
|
|
typeParameters: typeParameters
|
|
});
|
|
}
|
|
function tsImportEqualsDeclaration(id, moduleReference) {
|
|
return validateNode({
|
|
type: "TSImportEqualsDeclaration",
|
|
id: id,
|
|
moduleReference: moduleReference,
|
|
isExport: null
|
|
});
|
|
}
|
|
function tsExternalModuleReference(expression) {
|
|
return validateNode({
|
|
type: "TSExternalModuleReference",
|
|
expression: expression
|
|
});
|
|
}
|
|
function tsNonNullExpression(expression) {
|
|
return validateNode({
|
|
type: "TSNonNullExpression",
|
|
expression: expression
|
|
});
|
|
}
|
|
function tsExportAssignment(expression) {
|
|
return validateNode({
|
|
type: "TSExportAssignment",
|
|
expression: expression
|
|
});
|
|
}
|
|
function tsNamespaceExportDeclaration(id) {
|
|
return validateNode({
|
|
type: "TSNamespaceExportDeclaration",
|
|
id: id
|
|
});
|
|
}
|
|
function tsTypeAnnotation(typeAnnotation) {
|
|
return validateNode({
|
|
type: "TSTypeAnnotation",
|
|
typeAnnotation: typeAnnotation
|
|
});
|
|
}
|
|
function tsTypeParameterInstantiation(params) {
|
|
return validateNode({
|
|
type: "TSTypeParameterInstantiation",
|
|
params: params
|
|
});
|
|
}
|
|
function tsTypeParameterDeclaration(params) {
|
|
return validateNode({
|
|
type: "TSTypeParameterDeclaration",
|
|
params: params
|
|
});
|
|
}
|
|
function tsTypeParameter(constraint, _default, name) {
|
|
if (constraint === void 0) {
|
|
constraint = null;
|
|
}
|
|
if (_default === void 0) {
|
|
_default = null;
|
|
}
|
|
return validateNode({
|
|
type: "TSTypeParameter",
|
|
constraint: constraint,
|
|
"default": _default,
|
|
name: name
|
|
});
|
|
}
|
|
function NumberLiteral(value) {
|
|
deprecationWarning$1("NumberLiteral", "NumericLiteral", "The node type ");
|
|
return numericLiteral$8(value);
|
|
}
|
|
function RegexLiteral(pattern, flags) {
|
|
if (flags === void 0) {
|
|
flags = "";
|
|
}
|
|
deprecationWarning$1("RegexLiteral", "RegExpLiteral", "The node type ");
|
|
return regExpLiteral(pattern, flags);
|
|
}
|
|
function RestProperty(argument) {
|
|
deprecationWarning$1("RestProperty", "RestElement", "The node type ");
|
|
return restElement$2(argument);
|
|
}
|
|
function SpreadProperty(argument) {
|
|
deprecationWarning$1("SpreadProperty", "SpreadElement", "The node type ");
|
|
return spreadElement$2(argument);
|
|
}
|
|
|
|
function cleanJSXElementLiteralChild(child, args) {
|
|
var lines = child.value.split(/\r\n|\n|\r/);
|
|
var lastNonEmptyLine = 0;
|
|
for (var i = 0; i < lines.length; i++) {
|
|
if (lines[i].match(/[^ \t]/)) {
|
|
lastNonEmptyLine = i;
|
|
}
|
|
}
|
|
var str = "";
|
|
for (var _i = 0; _i < lines.length; _i++) {
|
|
var line = lines[_i];
|
|
var isFirstLine = _i === 0;
|
|
var isLastLine = _i === lines.length - 1;
|
|
var isLastNonEmptyLine = _i === lastNonEmptyLine;
|
|
var trimmedLine = line.replace(/\t/g, " ");
|
|
if (!isFirstLine) {
|
|
trimmedLine = trimmedLine.replace(/^[ ]+/, "");
|
|
}
|
|
if (!isLastLine) {
|
|
trimmedLine = trimmedLine.replace(/[ ]+$/, "");
|
|
}
|
|
if (trimmedLine) {
|
|
if (!isLastNonEmptyLine) {
|
|
trimmedLine += " ";
|
|
}
|
|
str += trimmedLine;
|
|
}
|
|
}
|
|
if (str) args.push(inherits$1(stringLiteral$8(str), child));
|
|
}
|
|
|
|
function buildChildren(node) {
|
|
var elements = [];
|
|
for (var i = 0; i < node.children.length; i++) {
|
|
var child = node.children[i];
|
|
if (isJSXText(child)) {
|
|
cleanJSXElementLiteralChild(child, elements);
|
|
continue;
|
|
}
|
|
if (isJSXExpressionContainer$1(child)) child = child.expression;
|
|
if (isJSXEmptyExpression(child)) continue;
|
|
elements.push(child);
|
|
}
|
|
return elements;
|
|
}
|
|
|
|
function isNode(node) {
|
|
return !!(node && VISITOR_KEYS$5[node.type]);
|
|
}
|
|
|
|
function assertNode(node) {
|
|
if (!isNode(node)) {
|
|
var _node$type;
|
|
var type = (_node$type = node == null ? void 0 : node.type) != null ? _node$type : JSON.stringify(node);
|
|
throw new TypeError("Not a valid node of type \"" + type + "\"");
|
|
}
|
|
}
|
|
|
|
function assert$3(type, node, opts) {
|
|
if (!is$1(type, node, opts)) {
|
|
throw new Error("Expected type \"" + type + "\" with option " + JSON.stringify(opts) + ", " + ("but instead got \"" + node.type + "\"."));
|
|
}
|
|
}
|
|
function assertArrayExpression(node, opts) {
|
|
assert$3("ArrayExpression", node, opts);
|
|
}
|
|
function assertAssignmentExpression(node, opts) {
|
|
assert$3("AssignmentExpression", node, opts);
|
|
}
|
|
function assertBinaryExpression(node, opts) {
|
|
assert$3("BinaryExpression", node, opts);
|
|
}
|
|
function assertInterpreterDirective(node, opts) {
|
|
assert$3("InterpreterDirective", node, opts);
|
|
}
|
|
function assertDirective(node, opts) {
|
|
assert$3("Directive", node, opts);
|
|
}
|
|
function assertDirectiveLiteral(node, opts) {
|
|
assert$3("DirectiveLiteral", node, opts);
|
|
}
|
|
function assertBlockStatement(node, opts) {
|
|
assert$3("BlockStatement", node, opts);
|
|
}
|
|
function assertBreakStatement(node, opts) {
|
|
assert$3("BreakStatement", node, opts);
|
|
}
|
|
function assertCallExpression(node, opts) {
|
|
assert$3("CallExpression", node, opts);
|
|
}
|
|
function assertCatchClause(node, opts) {
|
|
assert$3("CatchClause", node, opts);
|
|
}
|
|
function assertConditionalExpression(node, opts) {
|
|
assert$3("ConditionalExpression", node, opts);
|
|
}
|
|
function assertContinueStatement(node, opts) {
|
|
assert$3("ContinueStatement", node, opts);
|
|
}
|
|
function assertDebuggerStatement(node, opts) {
|
|
assert$3("DebuggerStatement", node, opts);
|
|
}
|
|
function assertDoWhileStatement(node, opts) {
|
|
assert$3("DoWhileStatement", node, opts);
|
|
}
|
|
function assertEmptyStatement(node, opts) {
|
|
assert$3("EmptyStatement", node, opts);
|
|
}
|
|
function assertExpressionStatement$1(node, opts) {
|
|
assert$3("ExpressionStatement", node, opts);
|
|
}
|
|
function assertFile(node, opts) {
|
|
assert$3("File", node, opts);
|
|
}
|
|
function assertForInStatement(node, opts) {
|
|
assert$3("ForInStatement", node, opts);
|
|
}
|
|
function assertForStatement(node, opts) {
|
|
assert$3("ForStatement", node, opts);
|
|
}
|
|
function assertFunctionDeclaration(node, opts) {
|
|
assert$3("FunctionDeclaration", node, opts);
|
|
}
|
|
function assertFunctionExpression(node, opts) {
|
|
assert$3("FunctionExpression", node, opts);
|
|
}
|
|
function assertIdentifier(node, opts) {
|
|
assert$3("Identifier", node, opts);
|
|
}
|
|
function assertIfStatement(node, opts) {
|
|
assert$3("IfStatement", node, opts);
|
|
}
|
|
function assertLabeledStatement(node, opts) {
|
|
assert$3("LabeledStatement", node, opts);
|
|
}
|
|
function assertStringLiteral(node, opts) {
|
|
assert$3("StringLiteral", node, opts);
|
|
}
|
|
function assertNumericLiteral(node, opts) {
|
|
assert$3("NumericLiteral", node, opts);
|
|
}
|
|
function assertNullLiteral(node, opts) {
|
|
assert$3("NullLiteral", node, opts);
|
|
}
|
|
function assertBooleanLiteral(node, opts) {
|
|
assert$3("BooleanLiteral", node, opts);
|
|
}
|
|
function assertRegExpLiteral(node, opts) {
|
|
assert$3("RegExpLiteral", node, opts);
|
|
}
|
|
function assertLogicalExpression(node, opts) {
|
|
assert$3("LogicalExpression", node, opts);
|
|
}
|
|
function assertMemberExpression(node, opts) {
|
|
assert$3("MemberExpression", node, opts);
|
|
}
|
|
function assertNewExpression(node, opts) {
|
|
assert$3("NewExpression", node, opts);
|
|
}
|
|
function assertProgram(node, opts) {
|
|
assert$3("Program", node, opts);
|
|
}
|
|
function assertObjectExpression(node, opts) {
|
|
assert$3("ObjectExpression", node, opts);
|
|
}
|
|
function assertObjectMethod(node, opts) {
|
|
assert$3("ObjectMethod", node, opts);
|
|
}
|
|
function assertObjectProperty(node, opts) {
|
|
assert$3("ObjectProperty", node, opts);
|
|
}
|
|
function assertRestElement(node, opts) {
|
|
assert$3("RestElement", node, opts);
|
|
}
|
|
function assertReturnStatement(node, opts) {
|
|
assert$3("ReturnStatement", node, opts);
|
|
}
|
|
function assertSequenceExpression(node, opts) {
|
|
assert$3("SequenceExpression", node, opts);
|
|
}
|
|
function assertParenthesizedExpression(node, opts) {
|
|
assert$3("ParenthesizedExpression", node, opts);
|
|
}
|
|
function assertSwitchCase(node, opts) {
|
|
assert$3("SwitchCase", node, opts);
|
|
}
|
|
function assertSwitchStatement(node, opts) {
|
|
assert$3("SwitchStatement", node, opts);
|
|
}
|
|
function assertThisExpression(node, opts) {
|
|
assert$3("ThisExpression", node, opts);
|
|
}
|
|
function assertThrowStatement(node, opts) {
|
|
assert$3("ThrowStatement", node, opts);
|
|
}
|
|
function assertTryStatement(node, opts) {
|
|
assert$3("TryStatement", node, opts);
|
|
}
|
|
function assertUnaryExpression(node, opts) {
|
|
assert$3("UnaryExpression", node, opts);
|
|
}
|
|
function assertUpdateExpression(node, opts) {
|
|
assert$3("UpdateExpression", node, opts);
|
|
}
|
|
function assertVariableDeclaration(node, opts) {
|
|
assert$3("VariableDeclaration", node, opts);
|
|
}
|
|
function assertVariableDeclarator(node, opts) {
|
|
assert$3("VariableDeclarator", node, opts);
|
|
}
|
|
function assertWhileStatement(node, opts) {
|
|
assert$3("WhileStatement", node, opts);
|
|
}
|
|
function assertWithStatement(node, opts) {
|
|
assert$3("WithStatement", node, opts);
|
|
}
|
|
function assertAssignmentPattern(node, opts) {
|
|
assert$3("AssignmentPattern", node, opts);
|
|
}
|
|
function assertArrayPattern(node, opts) {
|
|
assert$3("ArrayPattern", node, opts);
|
|
}
|
|
function assertArrowFunctionExpression(node, opts) {
|
|
assert$3("ArrowFunctionExpression", node, opts);
|
|
}
|
|
function assertClassBody(node, opts) {
|
|
assert$3("ClassBody", node, opts);
|
|
}
|
|
function assertClassExpression(node, opts) {
|
|
assert$3("ClassExpression", node, opts);
|
|
}
|
|
function assertClassDeclaration(node, opts) {
|
|
assert$3("ClassDeclaration", node, opts);
|
|
}
|
|
function assertExportAllDeclaration(node, opts) {
|
|
assert$3("ExportAllDeclaration", node, opts);
|
|
}
|
|
function assertExportDefaultDeclaration(node, opts) {
|
|
assert$3("ExportDefaultDeclaration", node, opts);
|
|
}
|
|
function assertExportNamedDeclaration(node, opts) {
|
|
assert$3("ExportNamedDeclaration", node, opts);
|
|
}
|
|
function assertExportSpecifier$1(node, opts) {
|
|
assert$3("ExportSpecifier", node, opts);
|
|
}
|
|
function assertForOfStatement(node, opts) {
|
|
assert$3("ForOfStatement", node, opts);
|
|
}
|
|
function assertImportDeclaration(node, opts) {
|
|
assert$3("ImportDeclaration", node, opts);
|
|
}
|
|
function assertImportDefaultSpecifier(node, opts) {
|
|
assert$3("ImportDefaultSpecifier", node, opts);
|
|
}
|
|
function assertImportNamespaceSpecifier(node, opts) {
|
|
assert$3("ImportNamespaceSpecifier", node, opts);
|
|
}
|
|
function assertImportSpecifier(node, opts) {
|
|
assert$3("ImportSpecifier", node, opts);
|
|
}
|
|
function assertMetaProperty(node, opts) {
|
|
assert$3("MetaProperty", node, opts);
|
|
}
|
|
function assertClassMethod(node, opts) {
|
|
assert$3("ClassMethod", node, opts);
|
|
}
|
|
function assertObjectPattern(node, opts) {
|
|
assert$3("ObjectPattern", node, opts);
|
|
}
|
|
function assertSpreadElement(node, opts) {
|
|
assert$3("SpreadElement", node, opts);
|
|
}
|
|
function assertSuper(node, opts) {
|
|
assert$3("Super", node, opts);
|
|
}
|
|
function assertTaggedTemplateExpression(node, opts) {
|
|
assert$3("TaggedTemplateExpression", node, opts);
|
|
}
|
|
function assertTemplateElement(node, opts) {
|
|
assert$3("TemplateElement", node, opts);
|
|
}
|
|
function assertTemplateLiteral(node, opts) {
|
|
assert$3("TemplateLiteral", node, opts);
|
|
}
|
|
function assertYieldExpression(node, opts) {
|
|
assert$3("YieldExpression", node, opts);
|
|
}
|
|
function assertAwaitExpression(node, opts) {
|
|
assert$3("AwaitExpression", node, opts);
|
|
}
|
|
function assertImport(node, opts) {
|
|
assert$3("Import", node, opts);
|
|
}
|
|
function assertBigIntLiteral(node, opts) {
|
|
assert$3("BigIntLiteral", node, opts);
|
|
}
|
|
function assertExportNamespaceSpecifier(node, opts) {
|
|
assert$3("ExportNamespaceSpecifier", node, opts);
|
|
}
|
|
function assertOptionalMemberExpression(node, opts) {
|
|
assert$3("OptionalMemberExpression", node, opts);
|
|
}
|
|
function assertOptionalCallExpression(node, opts) {
|
|
assert$3("OptionalCallExpression", node, opts);
|
|
}
|
|
function assertClassProperty(node, opts) {
|
|
assert$3("ClassProperty", node, opts);
|
|
}
|
|
function assertClassAccessorProperty(node, opts) {
|
|
assert$3("ClassAccessorProperty", node, opts);
|
|
}
|
|
function assertClassPrivateProperty(node, opts) {
|
|
assert$3("ClassPrivateProperty", node, opts);
|
|
}
|
|
function assertClassPrivateMethod(node, opts) {
|
|
assert$3("ClassPrivateMethod", node, opts);
|
|
}
|
|
function assertPrivateName(node, opts) {
|
|
assert$3("PrivateName", node, opts);
|
|
}
|
|
function assertStaticBlock(node, opts) {
|
|
assert$3("StaticBlock", node, opts);
|
|
}
|
|
function assertAnyTypeAnnotation(node, opts) {
|
|
assert$3("AnyTypeAnnotation", node, opts);
|
|
}
|
|
function assertArrayTypeAnnotation(node, opts) {
|
|
assert$3("ArrayTypeAnnotation", node, opts);
|
|
}
|
|
function assertBooleanTypeAnnotation(node, opts) {
|
|
assert$3("BooleanTypeAnnotation", node, opts);
|
|
}
|
|
function assertBooleanLiteralTypeAnnotation(node, opts) {
|
|
assert$3("BooleanLiteralTypeAnnotation", node, opts);
|
|
}
|
|
function assertNullLiteralTypeAnnotation(node, opts) {
|
|
assert$3("NullLiteralTypeAnnotation", node, opts);
|
|
}
|
|
function assertClassImplements(node, opts) {
|
|
assert$3("ClassImplements", node, opts);
|
|
}
|
|
function assertDeclareClass(node, opts) {
|
|
assert$3("DeclareClass", node, opts);
|
|
}
|
|
function assertDeclareFunction(node, opts) {
|
|
assert$3("DeclareFunction", node, opts);
|
|
}
|
|
function assertDeclareInterface(node, opts) {
|
|
assert$3("DeclareInterface", node, opts);
|
|
}
|
|
function assertDeclareModule(node, opts) {
|
|
assert$3("DeclareModule", node, opts);
|
|
}
|
|
function assertDeclareModuleExports(node, opts) {
|
|
assert$3("DeclareModuleExports", node, opts);
|
|
}
|
|
function assertDeclareTypeAlias(node, opts) {
|
|
assert$3("DeclareTypeAlias", node, opts);
|
|
}
|
|
function assertDeclareOpaqueType(node, opts) {
|
|
assert$3("DeclareOpaqueType", node, opts);
|
|
}
|
|
function assertDeclareVariable(node, opts) {
|
|
assert$3("DeclareVariable", node, opts);
|
|
}
|
|
function assertDeclareExportDeclaration(node, opts) {
|
|
assert$3("DeclareExportDeclaration", node, opts);
|
|
}
|
|
function assertDeclareExportAllDeclaration(node, opts) {
|
|
assert$3("DeclareExportAllDeclaration", node, opts);
|
|
}
|
|
function assertDeclaredPredicate(node, opts) {
|
|
assert$3("DeclaredPredicate", node, opts);
|
|
}
|
|
function assertExistsTypeAnnotation(node, opts) {
|
|
assert$3("ExistsTypeAnnotation", node, opts);
|
|
}
|
|
function assertFunctionTypeAnnotation(node, opts) {
|
|
assert$3("FunctionTypeAnnotation", node, opts);
|
|
}
|
|
function assertFunctionTypeParam(node, opts) {
|
|
assert$3("FunctionTypeParam", node, opts);
|
|
}
|
|
function assertGenericTypeAnnotation(node, opts) {
|
|
assert$3("GenericTypeAnnotation", node, opts);
|
|
}
|
|
function assertInferredPredicate(node, opts) {
|
|
assert$3("InferredPredicate", node, opts);
|
|
}
|
|
function assertInterfaceExtends(node, opts) {
|
|
assert$3("InterfaceExtends", node, opts);
|
|
}
|
|
function assertInterfaceDeclaration(node, opts) {
|
|
assert$3("InterfaceDeclaration", node, opts);
|
|
}
|
|
function assertInterfaceTypeAnnotation(node, opts) {
|
|
assert$3("InterfaceTypeAnnotation", node, opts);
|
|
}
|
|
function assertIntersectionTypeAnnotation(node, opts) {
|
|
assert$3("IntersectionTypeAnnotation", node, opts);
|
|
}
|
|
function assertMixedTypeAnnotation(node, opts) {
|
|
assert$3("MixedTypeAnnotation", node, opts);
|
|
}
|
|
function assertEmptyTypeAnnotation(node, opts) {
|
|
assert$3("EmptyTypeAnnotation", node, opts);
|
|
}
|
|
function assertNullableTypeAnnotation(node, opts) {
|
|
assert$3("NullableTypeAnnotation", node, opts);
|
|
}
|
|
function assertNumberLiteralTypeAnnotation(node, opts) {
|
|
assert$3("NumberLiteralTypeAnnotation", node, opts);
|
|
}
|
|
function assertNumberTypeAnnotation(node, opts) {
|
|
assert$3("NumberTypeAnnotation", node, opts);
|
|
}
|
|
function assertObjectTypeAnnotation(node, opts) {
|
|
assert$3("ObjectTypeAnnotation", node, opts);
|
|
}
|
|
function assertObjectTypeInternalSlot(node, opts) {
|
|
assert$3("ObjectTypeInternalSlot", node, opts);
|
|
}
|
|
function assertObjectTypeCallProperty(node, opts) {
|
|
assert$3("ObjectTypeCallProperty", node, opts);
|
|
}
|
|
function assertObjectTypeIndexer(node, opts) {
|
|
assert$3("ObjectTypeIndexer", node, opts);
|
|
}
|
|
function assertObjectTypeProperty(node, opts) {
|
|
assert$3("ObjectTypeProperty", node, opts);
|
|
}
|
|
function assertObjectTypeSpreadProperty(node, opts) {
|
|
assert$3("ObjectTypeSpreadProperty", node, opts);
|
|
}
|
|
function assertOpaqueType(node, opts) {
|
|
assert$3("OpaqueType", node, opts);
|
|
}
|
|
function assertQualifiedTypeIdentifier(node, opts) {
|
|
assert$3("QualifiedTypeIdentifier", node, opts);
|
|
}
|
|
function assertStringLiteralTypeAnnotation(node, opts) {
|
|
assert$3("StringLiteralTypeAnnotation", node, opts);
|
|
}
|
|
function assertStringTypeAnnotation(node, opts) {
|
|
assert$3("StringTypeAnnotation", node, opts);
|
|
}
|
|
function assertSymbolTypeAnnotation(node, opts) {
|
|
assert$3("SymbolTypeAnnotation", node, opts);
|
|
}
|
|
function assertThisTypeAnnotation(node, opts) {
|
|
assert$3("ThisTypeAnnotation", node, opts);
|
|
}
|
|
function assertTupleTypeAnnotation(node, opts) {
|
|
assert$3("TupleTypeAnnotation", node, opts);
|
|
}
|
|
function assertTypeofTypeAnnotation(node, opts) {
|
|
assert$3("TypeofTypeAnnotation", node, opts);
|
|
}
|
|
function assertTypeAlias(node, opts) {
|
|
assert$3("TypeAlias", node, opts);
|
|
}
|
|
function assertTypeAnnotation(node, opts) {
|
|
assert$3("TypeAnnotation", node, opts);
|
|
}
|
|
function assertTypeCastExpression(node, opts) {
|
|
assert$3("TypeCastExpression", node, opts);
|
|
}
|
|
function assertTypeParameter(node, opts) {
|
|
assert$3("TypeParameter", node, opts);
|
|
}
|
|
function assertTypeParameterDeclaration(node, opts) {
|
|
assert$3("TypeParameterDeclaration", node, opts);
|
|
}
|
|
function assertTypeParameterInstantiation(node, opts) {
|
|
assert$3("TypeParameterInstantiation", node, opts);
|
|
}
|
|
function assertUnionTypeAnnotation(node, opts) {
|
|
assert$3("UnionTypeAnnotation", node, opts);
|
|
}
|
|
function assertVariance(node, opts) {
|
|
assert$3("Variance", node, opts);
|
|
}
|
|
function assertVoidTypeAnnotation(node, opts) {
|
|
assert$3("VoidTypeAnnotation", node, opts);
|
|
}
|
|
function assertEnumDeclaration(node, opts) {
|
|
assert$3("EnumDeclaration", node, opts);
|
|
}
|
|
function assertEnumBooleanBody(node, opts) {
|
|
assert$3("EnumBooleanBody", node, opts);
|
|
}
|
|
function assertEnumNumberBody(node, opts) {
|
|
assert$3("EnumNumberBody", node, opts);
|
|
}
|
|
function assertEnumStringBody(node, opts) {
|
|
assert$3("EnumStringBody", node, opts);
|
|
}
|
|
function assertEnumSymbolBody(node, opts) {
|
|
assert$3("EnumSymbolBody", node, opts);
|
|
}
|
|
function assertEnumBooleanMember(node, opts) {
|
|
assert$3("EnumBooleanMember", node, opts);
|
|
}
|
|
function assertEnumNumberMember(node, opts) {
|
|
assert$3("EnumNumberMember", node, opts);
|
|
}
|
|
function assertEnumStringMember(node, opts) {
|
|
assert$3("EnumStringMember", node, opts);
|
|
}
|
|
function assertEnumDefaultedMember(node, opts) {
|
|
assert$3("EnumDefaultedMember", node, opts);
|
|
}
|
|
function assertIndexedAccessType(node, opts) {
|
|
assert$3("IndexedAccessType", node, opts);
|
|
}
|
|
function assertOptionalIndexedAccessType(node, opts) {
|
|
assert$3("OptionalIndexedAccessType", node, opts);
|
|
}
|
|
function assertJSXAttribute(node, opts) {
|
|
assert$3("JSXAttribute", node, opts);
|
|
}
|
|
function assertJSXClosingElement(node, opts) {
|
|
assert$3("JSXClosingElement", node, opts);
|
|
}
|
|
function assertJSXElement(node, opts) {
|
|
assert$3("JSXElement", node, opts);
|
|
}
|
|
function assertJSXEmptyExpression(node, opts) {
|
|
assert$3("JSXEmptyExpression", node, opts);
|
|
}
|
|
function assertJSXExpressionContainer(node, opts) {
|
|
assert$3("JSXExpressionContainer", node, opts);
|
|
}
|
|
function assertJSXSpreadChild(node, opts) {
|
|
assert$3("JSXSpreadChild", node, opts);
|
|
}
|
|
function assertJSXIdentifier(node, opts) {
|
|
assert$3("JSXIdentifier", node, opts);
|
|
}
|
|
function assertJSXMemberExpression(node, opts) {
|
|
assert$3("JSXMemberExpression", node, opts);
|
|
}
|
|
function assertJSXNamespacedName(node, opts) {
|
|
assert$3("JSXNamespacedName", node, opts);
|
|
}
|
|
function assertJSXOpeningElement(node, opts) {
|
|
assert$3("JSXOpeningElement", node, opts);
|
|
}
|
|
function assertJSXSpreadAttribute(node, opts) {
|
|
assert$3("JSXSpreadAttribute", node, opts);
|
|
}
|
|
function assertJSXText(node, opts) {
|
|
assert$3("JSXText", node, opts);
|
|
}
|
|
function assertJSXFragment(node, opts) {
|
|
assert$3("JSXFragment", node, opts);
|
|
}
|
|
function assertJSXOpeningFragment(node, opts) {
|
|
assert$3("JSXOpeningFragment", node, opts);
|
|
}
|
|
function assertJSXClosingFragment(node, opts) {
|
|
assert$3("JSXClosingFragment", node, opts);
|
|
}
|
|
function assertNoop(node, opts) {
|
|
assert$3("Noop", node, opts);
|
|
}
|
|
function assertPlaceholder(node, opts) {
|
|
assert$3("Placeholder", node, opts);
|
|
}
|
|
function assertV8IntrinsicIdentifier(node, opts) {
|
|
assert$3("V8IntrinsicIdentifier", node, opts);
|
|
}
|
|
function assertArgumentPlaceholder(node, opts) {
|
|
assert$3("ArgumentPlaceholder", node, opts);
|
|
}
|
|
function assertBindExpression(node, opts) {
|
|
assert$3("BindExpression", node, opts);
|
|
}
|
|
function assertImportAttribute(node, opts) {
|
|
assert$3("ImportAttribute", node, opts);
|
|
}
|
|
function assertDecorator(node, opts) {
|
|
assert$3("Decorator", node, opts);
|
|
}
|
|
function assertDoExpression(node, opts) {
|
|
assert$3("DoExpression", node, opts);
|
|
}
|
|
function assertExportDefaultSpecifier(node, opts) {
|
|
assert$3("ExportDefaultSpecifier", node, opts);
|
|
}
|
|
function assertRecordExpression(node, opts) {
|
|
assert$3("RecordExpression", node, opts);
|
|
}
|
|
function assertTupleExpression(node, opts) {
|
|
assert$3("TupleExpression", node, opts);
|
|
}
|
|
function assertDecimalLiteral(node, opts) {
|
|
assert$3("DecimalLiteral", node, opts);
|
|
}
|
|
function assertModuleExpression(node, opts) {
|
|
assert$3("ModuleExpression", node, opts);
|
|
}
|
|
function assertTopicReference(node, opts) {
|
|
assert$3("TopicReference", node, opts);
|
|
}
|
|
function assertPipelineTopicExpression(node, opts) {
|
|
assert$3("PipelineTopicExpression", node, opts);
|
|
}
|
|
function assertPipelineBareFunction(node, opts) {
|
|
assert$3("PipelineBareFunction", node, opts);
|
|
}
|
|
function assertPipelinePrimaryTopicReference(node, opts) {
|
|
assert$3("PipelinePrimaryTopicReference", node, opts);
|
|
}
|
|
function assertTSParameterProperty(node, opts) {
|
|
assert$3("TSParameterProperty", node, opts);
|
|
}
|
|
function assertTSDeclareFunction(node, opts) {
|
|
assert$3("TSDeclareFunction", node, opts);
|
|
}
|
|
function assertTSDeclareMethod(node, opts) {
|
|
assert$3("TSDeclareMethod", node, opts);
|
|
}
|
|
function assertTSQualifiedName(node, opts) {
|
|
assert$3("TSQualifiedName", node, opts);
|
|
}
|
|
function assertTSCallSignatureDeclaration(node, opts) {
|
|
assert$3("TSCallSignatureDeclaration", node, opts);
|
|
}
|
|
function assertTSConstructSignatureDeclaration(node, opts) {
|
|
assert$3("TSConstructSignatureDeclaration", node, opts);
|
|
}
|
|
function assertTSPropertySignature(node, opts) {
|
|
assert$3("TSPropertySignature", node, opts);
|
|
}
|
|
function assertTSMethodSignature(node, opts) {
|
|
assert$3("TSMethodSignature", node, opts);
|
|
}
|
|
function assertTSIndexSignature(node, opts) {
|
|
assert$3("TSIndexSignature", node, opts);
|
|
}
|
|
function assertTSAnyKeyword(node, opts) {
|
|
assert$3("TSAnyKeyword", node, opts);
|
|
}
|
|
function assertTSBooleanKeyword(node, opts) {
|
|
assert$3("TSBooleanKeyword", node, opts);
|
|
}
|
|
function assertTSBigIntKeyword(node, opts) {
|
|
assert$3("TSBigIntKeyword", node, opts);
|
|
}
|
|
function assertTSIntrinsicKeyword(node, opts) {
|
|
assert$3("TSIntrinsicKeyword", node, opts);
|
|
}
|
|
function assertTSNeverKeyword(node, opts) {
|
|
assert$3("TSNeverKeyword", node, opts);
|
|
}
|
|
function assertTSNullKeyword(node, opts) {
|
|
assert$3("TSNullKeyword", node, opts);
|
|
}
|
|
function assertTSNumberKeyword(node, opts) {
|
|
assert$3("TSNumberKeyword", node, opts);
|
|
}
|
|
function assertTSObjectKeyword(node, opts) {
|
|
assert$3("TSObjectKeyword", node, opts);
|
|
}
|
|
function assertTSStringKeyword(node, opts) {
|
|
assert$3("TSStringKeyword", node, opts);
|
|
}
|
|
function assertTSSymbolKeyword(node, opts) {
|
|
assert$3("TSSymbolKeyword", node, opts);
|
|
}
|
|
function assertTSUndefinedKeyword(node, opts) {
|
|
assert$3("TSUndefinedKeyword", node, opts);
|
|
}
|
|
function assertTSUnknownKeyword(node, opts) {
|
|
assert$3("TSUnknownKeyword", node, opts);
|
|
}
|
|
function assertTSVoidKeyword(node, opts) {
|
|
assert$3("TSVoidKeyword", node, opts);
|
|
}
|
|
function assertTSThisType(node, opts) {
|
|
assert$3("TSThisType", node, opts);
|
|
}
|
|
function assertTSFunctionType(node, opts) {
|
|
assert$3("TSFunctionType", node, opts);
|
|
}
|
|
function assertTSConstructorType(node, opts) {
|
|
assert$3("TSConstructorType", node, opts);
|
|
}
|
|
function assertTSTypeReference(node, opts) {
|
|
assert$3("TSTypeReference", node, opts);
|
|
}
|
|
function assertTSTypePredicate(node, opts) {
|
|
assert$3("TSTypePredicate", node, opts);
|
|
}
|
|
function assertTSTypeQuery(node, opts) {
|
|
assert$3("TSTypeQuery", node, opts);
|
|
}
|
|
function assertTSTypeLiteral(node, opts) {
|
|
assert$3("TSTypeLiteral", node, opts);
|
|
}
|
|
function assertTSArrayType(node, opts) {
|
|
assert$3("TSArrayType", node, opts);
|
|
}
|
|
function assertTSTupleType(node, opts) {
|
|
assert$3("TSTupleType", node, opts);
|
|
}
|
|
function assertTSOptionalType(node, opts) {
|
|
assert$3("TSOptionalType", node, opts);
|
|
}
|
|
function assertTSRestType(node, opts) {
|
|
assert$3("TSRestType", node, opts);
|
|
}
|
|
function assertTSNamedTupleMember(node, opts) {
|
|
assert$3("TSNamedTupleMember", node, opts);
|
|
}
|
|
function assertTSUnionType(node, opts) {
|
|
assert$3("TSUnionType", node, opts);
|
|
}
|
|
function assertTSIntersectionType(node, opts) {
|
|
assert$3("TSIntersectionType", node, opts);
|
|
}
|
|
function assertTSConditionalType(node, opts) {
|
|
assert$3("TSConditionalType", node, opts);
|
|
}
|
|
function assertTSInferType(node, opts) {
|
|
assert$3("TSInferType", node, opts);
|
|
}
|
|
function assertTSParenthesizedType(node, opts) {
|
|
assert$3("TSParenthesizedType", node, opts);
|
|
}
|
|
function assertTSTypeOperator(node, opts) {
|
|
assert$3("TSTypeOperator", node, opts);
|
|
}
|
|
function assertTSIndexedAccessType(node, opts) {
|
|
assert$3("TSIndexedAccessType", node, opts);
|
|
}
|
|
function assertTSMappedType(node, opts) {
|
|
assert$3("TSMappedType", node, opts);
|
|
}
|
|
function assertTSLiteralType(node, opts) {
|
|
assert$3("TSLiteralType", node, opts);
|
|
}
|
|
function assertTSExpressionWithTypeArguments(node, opts) {
|
|
assert$3("TSExpressionWithTypeArguments", node, opts);
|
|
}
|
|
function assertTSInterfaceDeclaration(node, opts) {
|
|
assert$3("TSInterfaceDeclaration", node, opts);
|
|
}
|
|
function assertTSInterfaceBody(node, opts) {
|
|
assert$3("TSInterfaceBody", node, opts);
|
|
}
|
|
function assertTSTypeAliasDeclaration(node, opts) {
|
|
assert$3("TSTypeAliasDeclaration", node, opts);
|
|
}
|
|
function assertTSInstantiationExpression(node, opts) {
|
|
assert$3("TSInstantiationExpression", node, opts);
|
|
}
|
|
function assertTSAsExpression(node, opts) {
|
|
assert$3("TSAsExpression", node, opts);
|
|
}
|
|
function assertTSSatisfiesExpression(node, opts) {
|
|
assert$3("TSSatisfiesExpression", node, opts);
|
|
}
|
|
function assertTSTypeAssertion(node, opts) {
|
|
assert$3("TSTypeAssertion", node, opts);
|
|
}
|
|
function assertTSEnumDeclaration(node, opts) {
|
|
assert$3("TSEnumDeclaration", node, opts);
|
|
}
|
|
function assertTSEnumMember(node, opts) {
|
|
assert$3("TSEnumMember", node, opts);
|
|
}
|
|
function assertTSModuleDeclaration(node, opts) {
|
|
assert$3("TSModuleDeclaration", node, opts);
|
|
}
|
|
function assertTSModuleBlock(node, opts) {
|
|
assert$3("TSModuleBlock", node, opts);
|
|
}
|
|
function assertTSImportType(node, opts) {
|
|
assert$3("TSImportType", node, opts);
|
|
}
|
|
function assertTSImportEqualsDeclaration(node, opts) {
|
|
assert$3("TSImportEqualsDeclaration", node, opts);
|
|
}
|
|
function assertTSExternalModuleReference(node, opts) {
|
|
assert$3("TSExternalModuleReference", node, opts);
|
|
}
|
|
function assertTSNonNullExpression(node, opts) {
|
|
assert$3("TSNonNullExpression", node, opts);
|
|
}
|
|
function assertTSExportAssignment(node, opts) {
|
|
assert$3("TSExportAssignment", node, opts);
|
|
}
|
|
function assertTSNamespaceExportDeclaration(node, opts) {
|
|
assert$3("TSNamespaceExportDeclaration", node, opts);
|
|
}
|
|
function assertTSTypeAnnotation(node, opts) {
|
|
assert$3("TSTypeAnnotation", node, opts);
|
|
}
|
|
function assertTSTypeParameterInstantiation(node, opts) {
|
|
assert$3("TSTypeParameterInstantiation", node, opts);
|
|
}
|
|
function assertTSTypeParameterDeclaration(node, opts) {
|
|
assert$3("TSTypeParameterDeclaration", node, opts);
|
|
}
|
|
function assertTSTypeParameter(node, opts) {
|
|
assert$3("TSTypeParameter", node, opts);
|
|
}
|
|
function assertStandardized(node, opts) {
|
|
assert$3("Standardized", node, opts);
|
|
}
|
|
function assertExpression$1(node, opts) {
|
|
assert$3("Expression", node, opts);
|
|
}
|
|
function assertBinary(node, opts) {
|
|
assert$3("Binary", node, opts);
|
|
}
|
|
function assertScopable(node, opts) {
|
|
assert$3("Scopable", node, opts);
|
|
}
|
|
function assertBlockParent(node, opts) {
|
|
assert$3("BlockParent", node, opts);
|
|
}
|
|
function assertBlock(node, opts) {
|
|
assert$3("Block", node, opts);
|
|
}
|
|
function assertStatement(node, opts) {
|
|
assert$3("Statement", node, opts);
|
|
}
|
|
function assertTerminatorless(node, opts) {
|
|
assert$3("Terminatorless", node, opts);
|
|
}
|
|
function assertCompletionStatement(node, opts) {
|
|
assert$3("CompletionStatement", node, opts);
|
|
}
|
|
function assertConditional(node, opts) {
|
|
assert$3("Conditional", node, opts);
|
|
}
|
|
function assertLoop(node, opts) {
|
|
assert$3("Loop", node, opts);
|
|
}
|
|
function assertWhile(node, opts) {
|
|
assert$3("While", node, opts);
|
|
}
|
|
function assertExpressionWrapper(node, opts) {
|
|
assert$3("ExpressionWrapper", node, opts);
|
|
}
|
|
function assertFor(node, opts) {
|
|
assert$3("For", node, opts);
|
|
}
|
|
function assertForXStatement(node, opts) {
|
|
assert$3("ForXStatement", node, opts);
|
|
}
|
|
function assertFunction$1(node, opts) {
|
|
assert$3("Function", node, opts);
|
|
}
|
|
function assertFunctionParent(node, opts) {
|
|
assert$3("FunctionParent", node, opts);
|
|
}
|
|
function assertPureish(node, opts) {
|
|
assert$3("Pureish", node, opts);
|
|
}
|
|
function assertDeclaration(node, opts) {
|
|
assert$3("Declaration", node, opts);
|
|
}
|
|
function assertPatternLike(node, opts) {
|
|
assert$3("PatternLike", node, opts);
|
|
}
|
|
function assertLVal(node, opts) {
|
|
assert$3("LVal", node, opts);
|
|
}
|
|
function assertTSEntityName(node, opts) {
|
|
assert$3("TSEntityName", node, opts);
|
|
}
|
|
function assertLiteral(node, opts) {
|
|
assert$3("Literal", node, opts);
|
|
}
|
|
function assertImmutable(node, opts) {
|
|
assert$3("Immutable", node, opts);
|
|
}
|
|
function assertUserWhitespacable(node, opts) {
|
|
assert$3("UserWhitespacable", node, opts);
|
|
}
|
|
function assertMethod(node, opts) {
|
|
assert$3("Method", node, opts);
|
|
}
|
|
function assertObjectMember(node, opts) {
|
|
assert$3("ObjectMember", node, opts);
|
|
}
|
|
function assertProperty(node, opts) {
|
|
assert$3("Property", node, opts);
|
|
}
|
|
function assertUnaryLike(node, opts) {
|
|
assert$3("UnaryLike", node, opts);
|
|
}
|
|
function assertPattern(node, opts) {
|
|
assert$3("Pattern", node, opts);
|
|
}
|
|
function assertClass(node, opts) {
|
|
assert$3("Class", node, opts);
|
|
}
|
|
function assertImportOrExportDeclaration(node, opts) {
|
|
assert$3("ImportOrExportDeclaration", node, opts);
|
|
}
|
|
function assertExportDeclaration(node, opts) {
|
|
assert$3("ExportDeclaration", node, opts);
|
|
}
|
|
function assertModuleSpecifier(node, opts) {
|
|
assert$3("ModuleSpecifier", node, opts);
|
|
}
|
|
function assertAccessor(node, opts) {
|
|
assert$3("Accessor", node, opts);
|
|
}
|
|
function assertPrivate(node, opts) {
|
|
assert$3("Private", node, opts);
|
|
}
|
|
function assertFlow(node, opts) {
|
|
assert$3("Flow", node, opts);
|
|
}
|
|
function assertFlowType(node, opts) {
|
|
assert$3("FlowType", node, opts);
|
|
}
|
|
function assertFlowBaseAnnotation(node, opts) {
|
|
assert$3("FlowBaseAnnotation", node, opts);
|
|
}
|
|
function assertFlowDeclaration(node, opts) {
|
|
assert$3("FlowDeclaration", node, opts);
|
|
}
|
|
function assertFlowPredicate(node, opts) {
|
|
assert$3("FlowPredicate", node, opts);
|
|
}
|
|
function assertEnumBody(node, opts) {
|
|
assert$3("EnumBody", node, opts);
|
|
}
|
|
function assertEnumMember(node, opts) {
|
|
assert$3("EnumMember", node, opts);
|
|
}
|
|
function assertJSX(node, opts) {
|
|
assert$3("JSX", node, opts);
|
|
}
|
|
function assertMiscellaneous(node, opts) {
|
|
assert$3("Miscellaneous", node, opts);
|
|
}
|
|
function assertTypeScript(node, opts) {
|
|
assert$3("TypeScript", node, opts);
|
|
}
|
|
function assertTSTypeElement(node, opts) {
|
|
assert$3("TSTypeElement", node, opts);
|
|
}
|
|
function assertTSType(node, opts) {
|
|
assert$3("TSType", node, opts);
|
|
}
|
|
function assertTSBaseType(node, opts) {
|
|
assert$3("TSBaseType", node, opts);
|
|
}
|
|
function assertNumberLiteral(node, opts) {
|
|
deprecationWarning$1("assertNumberLiteral", "assertNumericLiteral");
|
|
assert$3("NumberLiteral", node, opts);
|
|
}
|
|
function assertRegexLiteral(node, opts) {
|
|
deprecationWarning$1("assertRegexLiteral", "assertRegExpLiteral");
|
|
assert$3("RegexLiteral", node, opts);
|
|
}
|
|
function assertRestProperty(node, opts) {
|
|
deprecationWarning$1("assertRestProperty", "assertRestElement");
|
|
assert$3("RestProperty", node, opts);
|
|
}
|
|
function assertSpreadProperty(node, opts) {
|
|
deprecationWarning$1("assertSpreadProperty", "assertSpreadElement");
|
|
assert$3("SpreadProperty", node, opts);
|
|
}
|
|
function assertModuleDeclaration(node, opts) {
|
|
deprecationWarning$1("assertModuleDeclaration", "assertImportOrExportDeclaration");
|
|
assert$3("ModuleDeclaration", node, opts);
|
|
}
|
|
|
|
function createTypeAnnotationBasedOnTypeof$1(type) {
|
|
switch (type) {
|
|
case "string":
|
|
return stringTypeAnnotation$2();
|
|
case "number":
|
|
return numberTypeAnnotation$2();
|
|
case "undefined":
|
|
return voidTypeAnnotation$3();
|
|
case "boolean":
|
|
return booleanTypeAnnotation$1();
|
|
case "function":
|
|
return genericTypeAnnotation$1(identifier$i("Function"));
|
|
case "object":
|
|
return genericTypeAnnotation$1(identifier$i("Object"));
|
|
case "symbol":
|
|
return genericTypeAnnotation$1(identifier$i("Symbol"));
|
|
case "bigint":
|
|
return anyTypeAnnotation$2();
|
|
}
|
|
throw new Error("Invalid typeof value: " + type);
|
|
}
|
|
|
|
function getQualifiedName$1(node) {
|
|
return isIdentifier$j(node) ? node.name : node.id.name + "." + getQualifiedName$1(node.qualification);
|
|
}
|
|
function removeTypeDuplicates$1(nodesIn) {
|
|
var nodes = Array.from(nodesIn);
|
|
var generics = new Map();
|
|
var bases = new Map();
|
|
var typeGroups = new Set();
|
|
var types = [];
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
var node = nodes[i];
|
|
if (!node) continue;
|
|
if (types.indexOf(node) >= 0) {
|
|
continue;
|
|
}
|
|
if (isAnyTypeAnnotation$1(node)) {
|
|
return [node];
|
|
}
|
|
if (isFlowBaseAnnotation$1(node)) {
|
|
bases.set(node.type, node);
|
|
continue;
|
|
}
|
|
if (isUnionTypeAnnotation$2(node)) {
|
|
if (!typeGroups.has(node.types)) {
|
|
nodes.push.apply(nodes, _toConsumableArray(node.types));
|
|
typeGroups.add(node.types);
|
|
}
|
|
continue;
|
|
}
|
|
if (isGenericTypeAnnotation$1(node)) {
|
|
var name = getQualifiedName$1(node.id);
|
|
if (generics.has(name)) {
|
|
var existing = generics.get(name);
|
|
if (existing.typeParameters) {
|
|
if (node.typeParameters) {
|
|
var _existing$typeParamet;
|
|
(_existing$typeParamet = existing.typeParameters.params).push.apply(_existing$typeParamet, _toConsumableArray(node.typeParameters.params));
|
|
existing.typeParameters.params = removeTypeDuplicates$1(existing.typeParameters.params);
|
|
}
|
|
} else {
|
|
existing = node.typeParameters;
|
|
}
|
|
} else {
|
|
generics.set(name, node);
|
|
}
|
|
continue;
|
|
}
|
|
types.push(node);
|
|
}
|
|
for (var _iterator = _createForOfIteratorHelperLoose(bases), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
baseType = _step$value[1];
|
|
types.push(baseType);
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(generics), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
genericName = _step2$value[1];
|
|
types.push(genericName);
|
|
}
|
|
return types;
|
|
}
|
|
|
|
function createFlowUnionType$1(types) {
|
|
var flattened = removeTypeDuplicates$1(types);
|
|
if (flattened.length === 1) {
|
|
return flattened[0];
|
|
} else {
|
|
return unionTypeAnnotation$1(flattened);
|
|
}
|
|
}
|
|
|
|
function getQualifiedName(node) {
|
|
return isIdentifier$j(node) ? node.name : node.right.name + "." + getQualifiedName(node.left);
|
|
}
|
|
function removeTypeDuplicates(nodesIn) {
|
|
var nodes = Array.from(nodesIn);
|
|
var generics = new Map();
|
|
var bases = new Map();
|
|
var typeGroups = new Set();
|
|
var types = [];
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
var node = nodes[i];
|
|
if (!node) continue;
|
|
if (types.indexOf(node) >= 0) {
|
|
continue;
|
|
}
|
|
if (isTSAnyKeyword(node)) {
|
|
return [node];
|
|
}
|
|
if (isTSBaseType(node)) {
|
|
bases.set(node.type, node);
|
|
continue;
|
|
}
|
|
if (isTSUnionType$1(node)) {
|
|
if (!typeGroups.has(node.types)) {
|
|
nodes.push.apply(nodes, _toConsumableArray(node.types));
|
|
typeGroups.add(node.types);
|
|
}
|
|
continue;
|
|
}
|
|
if (isTSTypeReference$1(node) && node.typeParameters) {
|
|
var name = getQualifiedName(node.typeName);
|
|
if (generics.has(name)) {
|
|
var existing = generics.get(name);
|
|
if (existing.typeParameters) {
|
|
if (node.typeParameters) {
|
|
var _existing$typeParamet;
|
|
(_existing$typeParamet = existing.typeParameters.params).push.apply(_existing$typeParamet, _toConsumableArray(node.typeParameters.params));
|
|
existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params);
|
|
}
|
|
} else {
|
|
existing = node.typeParameters;
|
|
}
|
|
} else {
|
|
generics.set(name, node);
|
|
}
|
|
continue;
|
|
}
|
|
types.push(node);
|
|
}
|
|
for (var _iterator = _createForOfIteratorHelperLoose(bases), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
baseType = _step$value[1];
|
|
types.push(baseType);
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(generics), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
genericName = _step2$value[1];
|
|
types.push(genericName);
|
|
}
|
|
return types;
|
|
}
|
|
|
|
function createTSUnionType$1(typeAnnotations) {
|
|
var types = typeAnnotations.map(function (type) {
|
|
return isTSTypeAnnotation$1(type) ? type.typeAnnotation : type;
|
|
});
|
|
var flattened = removeTypeDuplicates(types);
|
|
if (flattened.length === 1) {
|
|
return flattened[0];
|
|
} else {
|
|
return tsUnionType(flattened);
|
|
}
|
|
}
|
|
|
|
var has$9 = Function.call.bind(Object.prototype.hasOwnProperty);
|
|
function cloneIfNode(obj, deep, withoutLoc, commentsCache) {
|
|
if (obj && typeof obj.type === "string") {
|
|
return cloneNodeInternal(obj, deep, withoutLoc, commentsCache);
|
|
}
|
|
return obj;
|
|
}
|
|
function cloneIfNodeOrArray(obj, deep, withoutLoc, commentsCache) {
|
|
if (Array.isArray(obj)) {
|
|
return obj.map(function (node) {
|
|
return cloneIfNode(node, deep, withoutLoc, commentsCache);
|
|
});
|
|
}
|
|
return cloneIfNode(obj, deep, withoutLoc, commentsCache);
|
|
}
|
|
function cloneNode$j(node, deep, withoutLoc) {
|
|
if (deep === void 0) {
|
|
deep = true;
|
|
}
|
|
if (withoutLoc === void 0) {
|
|
withoutLoc = false;
|
|
}
|
|
return cloneNodeInternal(node, deep, withoutLoc, new Map());
|
|
}
|
|
function cloneNodeInternal(node, deep, withoutLoc, commentsCache) {
|
|
if (deep === void 0) {
|
|
deep = true;
|
|
}
|
|
if (withoutLoc === void 0) {
|
|
withoutLoc = false;
|
|
}
|
|
if (!node) return node;
|
|
var type = node.type;
|
|
var newNode = {
|
|
type: node.type
|
|
};
|
|
if (isIdentifier$j(node)) {
|
|
newNode.name = node.name;
|
|
if (has$9(node, "optional") && typeof node.optional === "boolean") {
|
|
newNode.optional = node.optional;
|
|
}
|
|
if (has$9(node, "typeAnnotation")) {
|
|
newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true, withoutLoc, commentsCache) : node.typeAnnotation;
|
|
}
|
|
} else if (!has$9(NODE_FIELDS, type)) {
|
|
throw new Error("Unknown node type: \"" + type + "\"");
|
|
} else {
|
|
for (var _i = 0, _Object$keys = Object.keys(NODE_FIELDS[type]); _i < _Object$keys.length; _i++) {
|
|
var field = _Object$keys[_i];
|
|
if (has$9(node, field)) {
|
|
if (deep) {
|
|
newNode[field] = isFile(node) && field === "comments" ? maybeCloneComments(node.comments, deep, withoutLoc, commentsCache) : cloneIfNodeOrArray(node[field], true, withoutLoc, commentsCache);
|
|
} else {
|
|
newNode[field] = node[field];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (has$9(node, "loc")) {
|
|
if (withoutLoc) {
|
|
newNode.loc = null;
|
|
} else {
|
|
newNode.loc = node.loc;
|
|
}
|
|
}
|
|
if (has$9(node, "leadingComments")) {
|
|
newNode.leadingComments = maybeCloneComments(node.leadingComments, deep, withoutLoc, commentsCache);
|
|
}
|
|
if (has$9(node, "innerComments")) {
|
|
newNode.innerComments = maybeCloneComments(node.innerComments, deep, withoutLoc, commentsCache);
|
|
}
|
|
if (has$9(node, "trailingComments")) {
|
|
newNode.trailingComments = maybeCloneComments(node.trailingComments, deep, withoutLoc, commentsCache);
|
|
}
|
|
if (has$9(node, "extra")) {
|
|
newNode.extra = Object.assign({}, node.extra);
|
|
}
|
|
return newNode;
|
|
}
|
|
function maybeCloneComments(comments, deep, withoutLoc, commentsCache) {
|
|
if (!comments || !deep) {
|
|
return comments;
|
|
}
|
|
return comments.map(function (comment) {
|
|
var cache = commentsCache.get(comment);
|
|
if (cache) return cache;
|
|
var type = comment.type,
|
|
value = comment.value,
|
|
loc = comment.loc;
|
|
var ret = {
|
|
type: type,
|
|
value: value,
|
|
loc: loc
|
|
};
|
|
if (withoutLoc) {
|
|
ret.loc = null;
|
|
}
|
|
commentsCache.set(comment, ret);
|
|
return ret;
|
|
});
|
|
}
|
|
|
|
function clone(node) {
|
|
return cloneNode$j(node, false);
|
|
}
|
|
|
|
function cloneDeep$1(node) {
|
|
return cloneNode$j(node);
|
|
}
|
|
|
|
function cloneDeepWithoutLoc(node) {
|
|
return cloneNode$j(node, true, true);
|
|
}
|
|
|
|
function cloneWithoutLoc(node) {
|
|
return cloneNode$j(node, false, true);
|
|
}
|
|
|
|
function addComments$1(node, type, comments) {
|
|
if (!comments || !node) return node;
|
|
var key = type + "Comments";
|
|
if (node[key]) {
|
|
if (type === "leading") {
|
|
node[key] = comments.concat(node[key]);
|
|
} else {
|
|
var _node$key;
|
|
(_node$key = node[key]).push.apply(_node$key, _toConsumableArray(comments));
|
|
}
|
|
} else {
|
|
node[key] = comments;
|
|
}
|
|
return node;
|
|
}
|
|
|
|
function addComment$2(node, type, content, line) {
|
|
return addComments$1(node, type, [{
|
|
type: line ? "CommentLine" : "CommentBlock",
|
|
value: content
|
|
}]);
|
|
}
|
|
|
|
function inherit(key, child, parent) {
|
|
if (child && parent) {
|
|
child[key] = Array.from(new Set([].concat(child[key], parent[key]).filter(Boolean)));
|
|
}
|
|
}
|
|
|
|
function inheritInnerComments(child, parent) {
|
|
inherit("innerComments", child, parent);
|
|
}
|
|
|
|
function inheritLeadingComments$1(child, parent) {
|
|
inherit("leadingComments", child, parent);
|
|
}
|
|
|
|
function inheritTrailingComments$1(child, parent) {
|
|
inherit("trailingComments", child, parent);
|
|
}
|
|
|
|
function inheritsComments$1(child, parent) {
|
|
inheritTrailingComments$1(child, parent);
|
|
inheritLeadingComments$1(child, parent);
|
|
inheritInnerComments(child, parent);
|
|
return child;
|
|
}
|
|
|
|
function removeComments$1(node) {
|
|
COMMENT_KEYS.forEach(function (key) {
|
|
node[key] = null;
|
|
});
|
|
return node;
|
|
}
|
|
|
|
var STANDARDIZED_TYPES = FLIPPED_ALIAS_KEYS$3["Standardized"];
|
|
var EXPRESSION_TYPES = FLIPPED_ALIAS_KEYS$3["Expression"];
|
|
var BINARY_TYPES = FLIPPED_ALIAS_KEYS$3["Binary"];
|
|
var SCOPABLE_TYPES = FLIPPED_ALIAS_KEYS$3["Scopable"];
|
|
var BLOCKPARENT_TYPES = FLIPPED_ALIAS_KEYS$3["BlockParent"];
|
|
var BLOCK_TYPES = FLIPPED_ALIAS_KEYS$3["Block"];
|
|
var STATEMENT_TYPES = FLIPPED_ALIAS_KEYS$3["Statement"];
|
|
var TERMINATORLESS_TYPES = FLIPPED_ALIAS_KEYS$3["Terminatorless"];
|
|
var COMPLETIONSTATEMENT_TYPES = FLIPPED_ALIAS_KEYS$3["CompletionStatement"];
|
|
var CONDITIONAL_TYPES = FLIPPED_ALIAS_KEYS$3["Conditional"];
|
|
var LOOP_TYPES = FLIPPED_ALIAS_KEYS$3["Loop"];
|
|
var WHILE_TYPES = FLIPPED_ALIAS_KEYS$3["While"];
|
|
var EXPRESSIONWRAPPER_TYPES = FLIPPED_ALIAS_KEYS$3["ExpressionWrapper"];
|
|
var FOR_TYPES = FLIPPED_ALIAS_KEYS$3["For"];
|
|
var FORXSTATEMENT_TYPES = FLIPPED_ALIAS_KEYS$3["ForXStatement"];
|
|
var FUNCTION_TYPES$1 = FLIPPED_ALIAS_KEYS$3["Function"];
|
|
var FUNCTIONPARENT_TYPES = FLIPPED_ALIAS_KEYS$3["FunctionParent"];
|
|
var PUREISH_TYPES = FLIPPED_ALIAS_KEYS$3["Pureish"];
|
|
var DECLARATION_TYPES = FLIPPED_ALIAS_KEYS$3["Declaration"];
|
|
var PATTERNLIKE_TYPES = FLIPPED_ALIAS_KEYS$3["PatternLike"];
|
|
var LVAL_TYPES = FLIPPED_ALIAS_KEYS$3["LVal"];
|
|
var TSENTITYNAME_TYPES = FLIPPED_ALIAS_KEYS$3["TSEntityName"];
|
|
var LITERAL_TYPES = FLIPPED_ALIAS_KEYS$3["Literal"];
|
|
var IMMUTABLE_TYPES = FLIPPED_ALIAS_KEYS$3["Immutable"];
|
|
var USERWHITESPACABLE_TYPES = FLIPPED_ALIAS_KEYS$3["UserWhitespacable"];
|
|
var METHOD_TYPES = FLIPPED_ALIAS_KEYS$3["Method"];
|
|
var OBJECTMEMBER_TYPES = FLIPPED_ALIAS_KEYS$3["ObjectMember"];
|
|
var PROPERTY_TYPES = FLIPPED_ALIAS_KEYS$3["Property"];
|
|
var UNARYLIKE_TYPES = FLIPPED_ALIAS_KEYS$3["UnaryLike"];
|
|
var PATTERN_TYPES = FLIPPED_ALIAS_KEYS$3["Pattern"];
|
|
var CLASS_TYPES = FLIPPED_ALIAS_KEYS$3["Class"];
|
|
var IMPORTOREXPORTDECLARATION_TYPES = FLIPPED_ALIAS_KEYS$3["ImportOrExportDeclaration"];
|
|
var EXPORTDECLARATION_TYPES = FLIPPED_ALIAS_KEYS$3["ExportDeclaration"];
|
|
var MODULESPECIFIER_TYPES = FLIPPED_ALIAS_KEYS$3["ModuleSpecifier"];
|
|
var ACCESSOR_TYPES = FLIPPED_ALIAS_KEYS$3["Accessor"];
|
|
var PRIVATE_TYPES = FLIPPED_ALIAS_KEYS$3["Private"];
|
|
var FLOW_TYPES = FLIPPED_ALIAS_KEYS$3["Flow"];
|
|
var FLOWTYPE_TYPES = FLIPPED_ALIAS_KEYS$3["FlowType"];
|
|
var FLOWBASEANNOTATION_TYPES = FLIPPED_ALIAS_KEYS$3["FlowBaseAnnotation"];
|
|
var FLOWDECLARATION_TYPES = FLIPPED_ALIAS_KEYS$3["FlowDeclaration"];
|
|
var FLOWPREDICATE_TYPES = FLIPPED_ALIAS_KEYS$3["FlowPredicate"];
|
|
var ENUMBODY_TYPES = FLIPPED_ALIAS_KEYS$3["EnumBody"];
|
|
var ENUMMEMBER_TYPES = FLIPPED_ALIAS_KEYS$3["EnumMember"];
|
|
var JSX_TYPES = FLIPPED_ALIAS_KEYS$3["JSX"];
|
|
var MISCELLANEOUS_TYPES = FLIPPED_ALIAS_KEYS$3["Miscellaneous"];
|
|
var TYPESCRIPT_TYPES = FLIPPED_ALIAS_KEYS$3["TypeScript"];
|
|
var TSTYPEELEMENT_TYPES = FLIPPED_ALIAS_KEYS$3["TSTypeElement"];
|
|
var TSTYPE_TYPES = FLIPPED_ALIAS_KEYS$3["TSType"];
|
|
var TSBASETYPE_TYPES = FLIPPED_ALIAS_KEYS$3["TSBaseType"];
|
|
var MODULEDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES;
|
|
|
|
function toBlock(node, parent) {
|
|
if (isBlockStatement$2(node)) {
|
|
return node;
|
|
}
|
|
var blockNodes = [];
|
|
if (isEmptyStatement(node)) {
|
|
blockNodes = [];
|
|
} else {
|
|
if (!isStatement$8(node)) {
|
|
if (isFunction$4(parent)) {
|
|
node = returnStatement$3(node);
|
|
} else {
|
|
node = expressionStatement$a(node);
|
|
}
|
|
}
|
|
blockNodes = [node];
|
|
}
|
|
return blockStatement$6(blockNodes);
|
|
}
|
|
|
|
function ensureBlock$1(node, key) {
|
|
if (key === void 0) {
|
|
key = "body";
|
|
}
|
|
var result = toBlock(node[key], node);
|
|
node[key] = result;
|
|
return result;
|
|
}
|
|
|
|
function toIdentifier$1(input) {
|
|
input = input + "";
|
|
var name = "";
|
|
for (var _iterator = _createForOfIteratorHelperLoose(input), _step; !(_step = _iterator()).done;) {
|
|
var c = _step.value;
|
|
name += isIdentifierChar(c.codePointAt(0)) ? c : "-";
|
|
}
|
|
name = name.replace(/^[-0-9]+/, "");
|
|
name = name.replace(/[-\s]+(.)?/g, function (match, c) {
|
|
return c ? c.toUpperCase() : "";
|
|
});
|
|
if (!isValidIdentifier$1(name)) {
|
|
name = "_" + name;
|
|
}
|
|
return name || "_";
|
|
}
|
|
|
|
function toBindingIdentifierName$1(name) {
|
|
name = toIdentifier$1(name);
|
|
if (name === "eval" || name === "arguments") name = "_" + name;
|
|
return name;
|
|
}
|
|
|
|
function toComputedKey$2(node, key) {
|
|
if (key === void 0) {
|
|
key = node.key || node.property;
|
|
}
|
|
if (!node.computed && isIdentifier$j(key)) key = stringLiteral$8(key.name);
|
|
return key;
|
|
}
|
|
|
|
function toExpression$1(node) {
|
|
if (isExpressionStatement$3(node)) {
|
|
node = node.expression;
|
|
}
|
|
if (isExpression$4(node)) {
|
|
return node;
|
|
}
|
|
if (isClass$2(node)) {
|
|
node.type = "ClassExpression";
|
|
} else if (isFunction$4(node)) {
|
|
node.type = "FunctionExpression";
|
|
}
|
|
if (!isExpression$4(node)) {
|
|
throw new Error("cannot turn " + node.type + " to an expression");
|
|
}
|
|
return node;
|
|
}
|
|
|
|
function traverseFast$2(node, enter, opts) {
|
|
if (!node) return;
|
|
var keys = VISITOR_KEYS$5[node.type];
|
|
if (!keys) return;
|
|
opts = opts || {};
|
|
enter(node, opts);
|
|
for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
|
|
var key = _step.value;
|
|
var subNode = node[key];
|
|
if (Array.isArray(subNode)) {
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(subNode), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _node = _step2.value;
|
|
traverseFast$2(_node, enter, opts);
|
|
}
|
|
} else {
|
|
traverseFast$2(subNode, enter, opts);
|
|
}
|
|
}
|
|
}
|
|
|
|
var CLEAR_KEYS = ["tokens", "start", "end", "loc", "raw", "rawValue"];
|
|
var CLEAR_KEYS_PLUS_COMMENTS = [].concat(_toConsumableArray(COMMENT_KEYS), ["comments"], CLEAR_KEYS);
|
|
function removeProperties$1(node, opts) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
var map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(map), _step; !(_step = _iterator()).done;) {
|
|
var _key = _step.value;
|
|
if (node[_key] != null) node[_key] = undefined;
|
|
}
|
|
for (var _i = 0, _Object$keys = Object.keys(node); _i < _Object$keys.length; _i++) {
|
|
var key = _Object$keys[_i];
|
|
if (key[0] === "_" && node[key] != null) node[key] = undefined;
|
|
}
|
|
var symbols = Object.getOwnPropertySymbols(node);
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(symbols), _step2; !(_step2 = _iterator2()).done;) {
|
|
var sym = _step2.value;
|
|
node[sym] = null;
|
|
}
|
|
}
|
|
|
|
function removePropertiesDeep$1(tree, opts) {
|
|
traverseFast$2(tree, removeProperties$1, opts);
|
|
return tree;
|
|
}
|
|
|
|
function toKeyAlias(node, key) {
|
|
if (key === void 0) {
|
|
key = node.key;
|
|
}
|
|
var alias;
|
|
if (node.kind === "method") {
|
|
return toKeyAlias.increment() + "";
|
|
} else if (isIdentifier$j(key)) {
|
|
alias = key.name;
|
|
} else if (isStringLiteral$6(key)) {
|
|
alias = JSON.stringify(key.value);
|
|
} else {
|
|
alias = JSON.stringify(removePropertiesDeep$1(cloneNode$j(key)));
|
|
}
|
|
if (node.computed) {
|
|
alias = "[" + alias + "]";
|
|
}
|
|
if (node["static"]) {
|
|
alias = "static:" + alias;
|
|
}
|
|
return alias;
|
|
}
|
|
toKeyAlias.uid = 0;
|
|
toKeyAlias.increment = function () {
|
|
if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) {
|
|
return toKeyAlias.uid = 0;
|
|
} else {
|
|
return toKeyAlias.uid++;
|
|
}
|
|
};
|
|
|
|
function getBindingIdentifiers$2(node, duplicates, outerOnly) {
|
|
var search = [].concat(node);
|
|
var ids = Object.create(null);
|
|
while (search.length) {
|
|
var id = search.shift();
|
|
if (!id) continue;
|
|
var keys = getBindingIdentifiers$2.keys[id.type];
|
|
if (isIdentifier$j(id)) {
|
|
if (duplicates) {
|
|
var _ids = ids[id.name] = ids[id.name] || [];
|
|
_ids.push(id);
|
|
} else {
|
|
ids[id.name] = id;
|
|
}
|
|
continue;
|
|
}
|
|
if (isExportDeclaration$3(id) && !isExportAllDeclaration$1(id)) {
|
|
if (isDeclaration$1(id.declaration)) {
|
|
search.push(id.declaration);
|
|
}
|
|
continue;
|
|
}
|
|
if (outerOnly) {
|
|
if (isFunctionDeclaration$2(id)) {
|
|
search.push(id.id);
|
|
continue;
|
|
}
|
|
if (isFunctionExpression$1(id)) {
|
|
continue;
|
|
}
|
|
}
|
|
if (keys) {
|
|
for (var i = 0; i < keys.length; i++) {
|
|
var key = keys[i];
|
|
var nodes = id[key];
|
|
if (nodes) {
|
|
Array.isArray(nodes) ? search.push.apply(search, _toConsumableArray(nodes)) : search.push(nodes);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return ids;
|
|
}
|
|
getBindingIdentifiers$2.keys = {
|
|
DeclareClass: ["id"],
|
|
DeclareFunction: ["id"],
|
|
DeclareModule: ["id"],
|
|
DeclareVariable: ["id"],
|
|
DeclareInterface: ["id"],
|
|
DeclareTypeAlias: ["id"],
|
|
DeclareOpaqueType: ["id"],
|
|
InterfaceDeclaration: ["id"],
|
|
TypeAlias: ["id"],
|
|
OpaqueType: ["id"],
|
|
CatchClause: ["param"],
|
|
LabeledStatement: ["label"],
|
|
UnaryExpression: ["argument"],
|
|
AssignmentExpression: ["left"],
|
|
ImportSpecifier: ["local"],
|
|
ImportNamespaceSpecifier: ["local"],
|
|
ImportDefaultSpecifier: ["local"],
|
|
ImportDeclaration: ["specifiers"],
|
|
ExportSpecifier: ["exported"],
|
|
ExportNamespaceSpecifier: ["exported"],
|
|
ExportDefaultSpecifier: ["exported"],
|
|
FunctionDeclaration: ["id", "params"],
|
|
FunctionExpression: ["id", "params"],
|
|
ArrowFunctionExpression: ["params"],
|
|
ObjectMethod: ["params"],
|
|
ClassMethod: ["params"],
|
|
ClassPrivateMethod: ["params"],
|
|
ForInStatement: ["left"],
|
|
ForOfStatement: ["left"],
|
|
ClassDeclaration: ["id"],
|
|
ClassExpression: ["id"],
|
|
RestElement: ["argument"],
|
|
UpdateExpression: ["argument"],
|
|
ObjectProperty: ["value"],
|
|
AssignmentPattern: ["left"],
|
|
ArrayPattern: ["elements"],
|
|
ObjectPattern: ["properties"],
|
|
VariableDeclaration: ["declarations"],
|
|
VariableDeclarator: ["id"]
|
|
};
|
|
|
|
function gatherSequenceExpressions(nodes, scope, declars) {
|
|
var exprs = [];
|
|
var ensureLastUndefined = true;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(nodes), _step; !(_step = _iterator()).done;) {
|
|
var node = _step.value;
|
|
if (!isEmptyStatement(node)) {
|
|
ensureLastUndefined = false;
|
|
}
|
|
if (isExpression$4(node)) {
|
|
exprs.push(node);
|
|
} else if (isExpressionStatement$3(node)) {
|
|
exprs.push(node.expression);
|
|
} else if (isVariableDeclaration$3(node)) {
|
|
if (node.kind !== "var") return;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(node.declarations), _step2; !(_step2 = _iterator2()).done;) {
|
|
var declar = _step2.value;
|
|
var bindings = getBindingIdentifiers$2(declar);
|
|
for (var _i = 0, _Object$keys = Object.keys(bindings); _i < _Object$keys.length; _i++) {
|
|
var key = _Object$keys[_i];
|
|
declars.push({
|
|
kind: node.kind,
|
|
id: cloneNode$j(bindings[key])
|
|
});
|
|
}
|
|
if (declar.init) {
|
|
exprs.push(assignmentExpression$d("=", declar.id, declar.init));
|
|
}
|
|
}
|
|
ensureLastUndefined = true;
|
|
} else if (isIfStatement$2(node)) {
|
|
var consequent = node.consequent ? gatherSequenceExpressions([node.consequent], scope, declars) : scope.buildUndefinedNode();
|
|
var alternate = node.alternate ? gatherSequenceExpressions([node.alternate], scope, declars) : scope.buildUndefinedNode();
|
|
if (!consequent || !alternate) return;
|
|
exprs.push(conditionalExpression$4(node.test, consequent, alternate));
|
|
} else if (isBlockStatement$2(node)) {
|
|
var body = gatherSequenceExpressions(node.body, scope, declars);
|
|
if (!body) return;
|
|
exprs.push(body);
|
|
} else if (isEmptyStatement(node)) {
|
|
if (nodes.indexOf(node) === 0) {
|
|
ensureLastUndefined = true;
|
|
}
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
if (ensureLastUndefined) {
|
|
exprs.push(scope.buildUndefinedNode());
|
|
}
|
|
if (exprs.length === 1) {
|
|
return exprs[0];
|
|
} else {
|
|
return sequenceExpression$7(exprs);
|
|
}
|
|
}
|
|
|
|
function toSequenceExpression$1(nodes, scope) {
|
|
if (!(nodes != null && nodes.length)) return;
|
|
var declars = [];
|
|
var result = gatherSequenceExpressions(nodes, scope, declars);
|
|
if (!result) return;
|
|
for (var _i = 0, _declars = declars; _i < _declars.length; _i++) {
|
|
var declar = _declars[_i];
|
|
scope.push(declar);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
function toStatement(node, ignore) {
|
|
if (isStatement$8(node)) {
|
|
return node;
|
|
}
|
|
var mustHaveId = false;
|
|
var newType;
|
|
if (isClass$2(node)) {
|
|
mustHaveId = true;
|
|
newType = "ClassDeclaration";
|
|
} else if (isFunction$4(node)) {
|
|
mustHaveId = true;
|
|
newType = "FunctionDeclaration";
|
|
} else if (isAssignmentExpression$4(node)) {
|
|
return expressionStatement$a(node);
|
|
}
|
|
if (mustHaveId && !node.id) {
|
|
newType = false;
|
|
}
|
|
if (!newType) {
|
|
if (ignore) {
|
|
return false;
|
|
} else {
|
|
throw new Error("cannot turn " + node.type + " to a statement");
|
|
}
|
|
}
|
|
node.type = newType;
|
|
return node;
|
|
}
|
|
|
|
var objectToString = Function.call.bind(Object.prototype.toString);
|
|
function isRegExp(value) {
|
|
return objectToString(value) === "[object RegExp]";
|
|
}
|
|
function isPlainObject(value) {
|
|
if (typeof value !== "object" || value === null || Object.prototype.toString.call(value) !== "[object Object]") {
|
|
return false;
|
|
}
|
|
var proto = Object.getPrototypeOf(value);
|
|
return proto === null || Object.getPrototypeOf(proto) === null;
|
|
}
|
|
function valueToNode$1(value) {
|
|
if (value === undefined) {
|
|
return identifier$i("undefined");
|
|
}
|
|
if (value === true || value === false) {
|
|
return booleanLiteral$4(value);
|
|
}
|
|
if (value === null) {
|
|
return nullLiteral$2();
|
|
}
|
|
if (typeof value === "string") {
|
|
return stringLiteral$8(value);
|
|
}
|
|
if (typeof value === "number") {
|
|
var result;
|
|
if (Number.isFinite(value)) {
|
|
result = numericLiteral$8(Math.abs(value));
|
|
} else {
|
|
var numerator;
|
|
if (Number.isNaN(value)) {
|
|
numerator = numericLiteral$8(0);
|
|
} else {
|
|
numerator = numericLiteral$8(1);
|
|
}
|
|
result = binaryExpression$5("/", numerator, numericLiteral$8(0));
|
|
}
|
|
if (value < 0 || Object.is(value, -0)) {
|
|
result = unaryExpression$7("-", result);
|
|
}
|
|
return result;
|
|
}
|
|
if (isRegExp(value)) {
|
|
var pattern = value.source;
|
|
var flags = value.toString().match(/\/([a-z]+|)$/)[1];
|
|
return regExpLiteral(pattern, flags);
|
|
}
|
|
if (Array.isArray(value)) {
|
|
return arrayExpression$1(value.map(valueToNode$1));
|
|
}
|
|
if (isPlainObject(value)) {
|
|
var props = [];
|
|
for (var _i = 0, _Object$keys = Object.keys(value); _i < _Object$keys.length; _i++) {
|
|
var key = _Object$keys[_i];
|
|
var nodeKey = void 0;
|
|
if (isValidIdentifier$1(key)) {
|
|
nodeKey = identifier$i(key);
|
|
} else {
|
|
nodeKey = stringLiteral$8(key);
|
|
}
|
|
props.push(objectProperty$1(nodeKey, valueToNode$1(value[key])));
|
|
}
|
|
return objectExpression$3(props);
|
|
}
|
|
throw new Error("don't know how to turn this value into a node");
|
|
}
|
|
|
|
function appendToMemberExpression(member, append, computed) {
|
|
if (computed === void 0) {
|
|
computed = false;
|
|
}
|
|
member.object = memberExpression$c(member.object, member.property, member.computed);
|
|
member.property = append;
|
|
member.computed = !!computed;
|
|
return member;
|
|
}
|
|
|
|
function inherits$1(child, parent) {
|
|
if (!child || !parent) return child;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(INHERIT_KEYS.optional), _step; !(_step = _iterator()).done;) {
|
|
var _key = _step.value;
|
|
if (child[_key] == null) {
|
|
child[_key] = parent[_key];
|
|
}
|
|
}
|
|
for (var _i = 0, _Object$keys = Object.keys(parent); _i < _Object$keys.length; _i++) {
|
|
var key = _Object$keys[_i];
|
|
if (key[0] === "_" && key !== "__clone") {
|
|
child[key] = parent[key];
|
|
}
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(INHERIT_KEYS.force), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _key2 = _step2.value;
|
|
child[_key2] = parent[_key2];
|
|
}
|
|
inheritsComments$1(child, parent);
|
|
return child;
|
|
}
|
|
|
|
function prependToMemberExpression(member, prepend) {
|
|
if (isSuper$3(member.object)) {
|
|
throw new Error("Cannot prepend node to super property access (`super.foo`).");
|
|
}
|
|
member.object = memberExpression$c(prepend, member.object);
|
|
return member;
|
|
}
|
|
|
|
function getOuterBindingIdentifiers$2(node, duplicates) {
|
|
return getBindingIdentifiers$2(node, duplicates, true);
|
|
}
|
|
|
|
function traverse$2(node, handlers, state) {
|
|
if (typeof handlers === "function") {
|
|
handlers = {
|
|
enter: handlers
|
|
};
|
|
}
|
|
var _handlers = handlers,
|
|
enter = _handlers.enter,
|
|
exit = _handlers.exit;
|
|
traverseSimpleImpl(node, enter, exit, state, []);
|
|
}
|
|
function traverseSimpleImpl(node, enter, exit, state, ancestors) {
|
|
var keys = VISITOR_KEYS$5[node.type];
|
|
if (!keys) return;
|
|
if (enter) enter(node, ancestors, state);
|
|
for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
|
|
var key = _step.value;
|
|
var subNode = node[key];
|
|
if (Array.isArray(subNode)) {
|
|
for (var i = 0; i < subNode.length; i++) {
|
|
var child = subNode[i];
|
|
if (!child) continue;
|
|
ancestors.push({
|
|
node: node,
|
|
key: key,
|
|
index: i
|
|
});
|
|
traverseSimpleImpl(child, enter, exit, state, ancestors);
|
|
ancestors.pop();
|
|
}
|
|
} else if (subNode) {
|
|
ancestors.push({
|
|
node: node,
|
|
key: key
|
|
});
|
|
traverseSimpleImpl(subNode, enter, exit, state, ancestors);
|
|
ancestors.pop();
|
|
}
|
|
}
|
|
if (exit) exit(node, ancestors, state);
|
|
}
|
|
|
|
function isBinding$1(node, parent, grandparent) {
|
|
if (grandparent && node.type === "Identifier" && parent.type === "ObjectProperty" && grandparent.type === "ObjectExpression") {
|
|
return false;
|
|
}
|
|
var keys = getBindingIdentifiers$2.keys[parent.type];
|
|
if (keys) {
|
|
for (var i = 0; i < keys.length; i++) {
|
|
var key = keys[i];
|
|
var val = parent[key];
|
|
if (Array.isArray(val)) {
|
|
if (val.indexOf(node) >= 0) return true;
|
|
} else {
|
|
if (val === node) return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function isLet(node) {
|
|
return isVariableDeclaration$3(node) && (node.kind !== "var" || node[BLOCK_SCOPED_SYMBOL]);
|
|
}
|
|
|
|
function isBlockScoped$2(node) {
|
|
return isFunctionDeclaration$2(node) || isClassDeclaration$2(node) || isLet(node);
|
|
}
|
|
|
|
function isImmutable(node) {
|
|
if (isType$2(node.type, "Immutable")) return true;
|
|
if (isIdentifier$j(node)) {
|
|
if (node.name === "undefined") {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function isNodesEquivalent(a, b) {
|
|
if (typeof a !== "object" || typeof b !== "object" || a == null || b == null) {
|
|
return a === b;
|
|
}
|
|
if (a.type !== b.type) {
|
|
return false;
|
|
}
|
|
var fields = Object.keys(NODE_FIELDS[a.type] || a.type);
|
|
var visitorKeys = VISITOR_KEYS$5[a.type];
|
|
for (var _i = 0, _fields = fields; _i < _fields.length; _i++) {
|
|
var field = _fields[_i];
|
|
var val_a = a[field];
|
|
var val_b = b[field];
|
|
if (typeof val_a !== typeof val_b) {
|
|
return false;
|
|
}
|
|
if (val_a == null && val_b == null) {
|
|
continue;
|
|
} else if (val_a == null || val_b == null) {
|
|
return false;
|
|
}
|
|
if (Array.isArray(val_a)) {
|
|
if (!Array.isArray(val_b)) {
|
|
return false;
|
|
}
|
|
if (val_a.length !== val_b.length) {
|
|
return false;
|
|
}
|
|
for (var i = 0; i < val_a.length; i++) {
|
|
if (!isNodesEquivalent(val_a[i], val_b[i])) {
|
|
return false;
|
|
}
|
|
}
|
|
continue;
|
|
}
|
|
if (typeof val_a === "object" && !(visitorKeys != null && visitorKeys.includes(field))) {
|
|
for (var _i2 = 0, _Object$keys = Object.keys(val_a); _i2 < _Object$keys.length; _i2++) {
|
|
var key = _Object$keys[_i2];
|
|
if (val_a[key] !== val_b[key]) {
|
|
return false;
|
|
}
|
|
}
|
|
continue;
|
|
}
|
|
if (!isNodesEquivalent(val_a, val_b)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function isReferenced$2(node, parent, grandparent) {
|
|
switch (parent.type) {
|
|
case "MemberExpression":
|
|
case "OptionalMemberExpression":
|
|
if (parent.property === node) {
|
|
return !!parent.computed;
|
|
}
|
|
return parent.object === node;
|
|
case "JSXMemberExpression":
|
|
return parent.object === node;
|
|
case "VariableDeclarator":
|
|
return parent.init === node;
|
|
case "ArrowFunctionExpression":
|
|
return parent.body === node;
|
|
case "PrivateName":
|
|
return false;
|
|
case "ClassMethod":
|
|
case "ClassPrivateMethod":
|
|
case "ObjectMethod":
|
|
if (parent.key === node) {
|
|
return !!parent.computed;
|
|
}
|
|
return false;
|
|
case "ObjectProperty":
|
|
if (parent.key === node) {
|
|
return !!parent.computed;
|
|
}
|
|
return !grandparent || grandparent.type !== "ObjectPattern";
|
|
case "ClassProperty":
|
|
case "ClassAccessorProperty":
|
|
if (parent.key === node) {
|
|
return !!parent.computed;
|
|
}
|
|
return true;
|
|
case "ClassPrivateProperty":
|
|
return parent.key !== node;
|
|
case "ClassDeclaration":
|
|
case "ClassExpression":
|
|
return parent.superClass === node;
|
|
case "AssignmentExpression":
|
|
return parent.right === node;
|
|
case "AssignmentPattern":
|
|
return parent.right === node;
|
|
case "LabeledStatement":
|
|
return false;
|
|
case "CatchClause":
|
|
return false;
|
|
case "RestElement":
|
|
return false;
|
|
case "BreakStatement":
|
|
case "ContinueStatement":
|
|
return false;
|
|
case "FunctionDeclaration":
|
|
case "FunctionExpression":
|
|
return false;
|
|
case "ExportNamespaceSpecifier":
|
|
case "ExportDefaultSpecifier":
|
|
return false;
|
|
case "ExportSpecifier":
|
|
if (grandparent != null && grandparent.source) {
|
|
return false;
|
|
}
|
|
return parent.local === node;
|
|
case "ImportDefaultSpecifier":
|
|
case "ImportNamespaceSpecifier":
|
|
case "ImportSpecifier":
|
|
return false;
|
|
case "ImportAttribute":
|
|
return false;
|
|
case "JSXAttribute":
|
|
return false;
|
|
case "ObjectPattern":
|
|
case "ArrayPattern":
|
|
return false;
|
|
case "MetaProperty":
|
|
return false;
|
|
case "ObjectTypeProperty":
|
|
return parent.key !== node;
|
|
case "TSEnumMember":
|
|
return parent.id !== node;
|
|
case "TSPropertySignature":
|
|
if (parent.key === node) {
|
|
return !!parent.computed;
|
|
}
|
|
return true;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function isScope$1(node, parent) {
|
|
if (isBlockStatement$2(node) && (isFunction$4(parent) || isCatchClause(parent))) {
|
|
return false;
|
|
}
|
|
if (isPattern(node) && (isFunction$4(parent) || isCatchClause(parent))) {
|
|
return true;
|
|
}
|
|
return isScopable(node);
|
|
}
|
|
|
|
function isSpecifierDefault(specifier) {
|
|
return isImportDefaultSpecifier$1(specifier) || isIdentifier$j(specifier.imported || specifier.exported, {
|
|
name: "default"
|
|
});
|
|
}
|
|
|
|
var RESERVED_WORDS_ES3_ONLY = new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"]);
|
|
function isValidES3Identifier(name) {
|
|
return isValidIdentifier$1(name) && !RESERVED_WORDS_ES3_ONLY.has(name);
|
|
}
|
|
|
|
function isVar$1(node) {
|
|
return isVariableDeclaration$3(node, {
|
|
kind: "var"
|
|
}) && !node[BLOCK_SCOPED_SYMBOL];
|
|
}
|
|
|
|
var react$3 = {
|
|
isReactComponent: isReactComponent,
|
|
isCompatTag: isCompatTag$1,
|
|
buildChildren: buildChildren
|
|
};
|
|
|
|
var t$8 = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
react: react$3,
|
|
assertNode: assertNode,
|
|
createTypeAnnotationBasedOnTypeof: createTypeAnnotationBasedOnTypeof$1,
|
|
createUnionTypeAnnotation: createFlowUnionType$1,
|
|
createFlowUnionType: createFlowUnionType$1,
|
|
createTSUnionType: createTSUnionType$1,
|
|
cloneNode: cloneNode$j,
|
|
clone: clone,
|
|
cloneDeep: cloneDeep$1,
|
|
cloneDeepWithoutLoc: cloneDeepWithoutLoc,
|
|
cloneWithoutLoc: cloneWithoutLoc,
|
|
addComment: addComment$2,
|
|
addComments: addComments$1,
|
|
inheritInnerComments: inheritInnerComments,
|
|
inheritLeadingComments: inheritLeadingComments$1,
|
|
inheritsComments: inheritsComments$1,
|
|
inheritTrailingComments: inheritTrailingComments$1,
|
|
removeComments: removeComments$1,
|
|
ensureBlock: ensureBlock$1,
|
|
toBindingIdentifierName: toBindingIdentifierName$1,
|
|
toBlock: toBlock,
|
|
toComputedKey: toComputedKey$2,
|
|
toExpression: toExpression$1,
|
|
toIdentifier: toIdentifier$1,
|
|
toKeyAlias: toKeyAlias,
|
|
toSequenceExpression: toSequenceExpression$1,
|
|
toStatement: toStatement,
|
|
valueToNode: valueToNode$1,
|
|
appendToMemberExpression: appendToMemberExpression,
|
|
inherits: inherits$1,
|
|
prependToMemberExpression: prependToMemberExpression,
|
|
removeProperties: removeProperties$1,
|
|
removePropertiesDeep: removePropertiesDeep$1,
|
|
removeTypeDuplicates: removeTypeDuplicates$1,
|
|
getBindingIdentifiers: getBindingIdentifiers$2,
|
|
getOuterBindingIdentifiers: getOuterBindingIdentifiers$2,
|
|
traverse: traverse$2,
|
|
traverseFast: traverseFast$2,
|
|
shallowEqual: shallowEqual$2,
|
|
is: is$1,
|
|
isBinding: isBinding$1,
|
|
isBlockScoped: isBlockScoped$2,
|
|
isImmutable: isImmutable,
|
|
isLet: isLet,
|
|
isNode: isNode,
|
|
isNodesEquivalent: isNodesEquivalent,
|
|
isPlaceholderType: isPlaceholderType,
|
|
isReferenced: isReferenced$2,
|
|
isScope: isScope$1,
|
|
isSpecifierDefault: isSpecifierDefault,
|
|
isType: isType$2,
|
|
isValidES3Identifier: isValidES3Identifier,
|
|
isValidIdentifier: isValidIdentifier$1,
|
|
isVar: isVar$1,
|
|
matchesPattern: matchesPattern$2,
|
|
validate: validate$5,
|
|
buildMatchMemberExpression: buildMatchMemberExpression$1,
|
|
__internal__deprecationWarning: deprecationWarning$1,
|
|
assertArrayExpression: assertArrayExpression,
|
|
assertAssignmentExpression: assertAssignmentExpression,
|
|
assertBinaryExpression: assertBinaryExpression,
|
|
assertInterpreterDirective: assertInterpreterDirective,
|
|
assertDirective: assertDirective,
|
|
assertDirectiveLiteral: assertDirectiveLiteral,
|
|
assertBlockStatement: assertBlockStatement,
|
|
assertBreakStatement: assertBreakStatement,
|
|
assertCallExpression: assertCallExpression,
|
|
assertCatchClause: assertCatchClause,
|
|
assertConditionalExpression: assertConditionalExpression,
|
|
assertContinueStatement: assertContinueStatement,
|
|
assertDebuggerStatement: assertDebuggerStatement,
|
|
assertDoWhileStatement: assertDoWhileStatement,
|
|
assertEmptyStatement: assertEmptyStatement,
|
|
assertExpressionStatement: assertExpressionStatement$1,
|
|
assertFile: assertFile,
|
|
assertForInStatement: assertForInStatement,
|
|
assertForStatement: assertForStatement,
|
|
assertFunctionDeclaration: assertFunctionDeclaration,
|
|
assertFunctionExpression: assertFunctionExpression,
|
|
assertIdentifier: assertIdentifier,
|
|
assertIfStatement: assertIfStatement,
|
|
assertLabeledStatement: assertLabeledStatement,
|
|
assertStringLiteral: assertStringLiteral,
|
|
assertNumericLiteral: assertNumericLiteral,
|
|
assertNullLiteral: assertNullLiteral,
|
|
assertBooleanLiteral: assertBooleanLiteral,
|
|
assertRegExpLiteral: assertRegExpLiteral,
|
|
assertLogicalExpression: assertLogicalExpression,
|
|
assertMemberExpression: assertMemberExpression,
|
|
assertNewExpression: assertNewExpression,
|
|
assertProgram: assertProgram,
|
|
assertObjectExpression: assertObjectExpression,
|
|
assertObjectMethod: assertObjectMethod,
|
|
assertObjectProperty: assertObjectProperty,
|
|
assertRestElement: assertRestElement,
|
|
assertReturnStatement: assertReturnStatement,
|
|
assertSequenceExpression: assertSequenceExpression,
|
|
assertParenthesizedExpression: assertParenthesizedExpression,
|
|
assertSwitchCase: assertSwitchCase,
|
|
assertSwitchStatement: assertSwitchStatement,
|
|
assertThisExpression: assertThisExpression,
|
|
assertThrowStatement: assertThrowStatement,
|
|
assertTryStatement: assertTryStatement,
|
|
assertUnaryExpression: assertUnaryExpression,
|
|
assertUpdateExpression: assertUpdateExpression,
|
|
assertVariableDeclaration: assertVariableDeclaration,
|
|
assertVariableDeclarator: assertVariableDeclarator,
|
|
assertWhileStatement: assertWhileStatement,
|
|
assertWithStatement: assertWithStatement,
|
|
assertAssignmentPattern: assertAssignmentPattern,
|
|
assertArrayPattern: assertArrayPattern,
|
|
assertArrowFunctionExpression: assertArrowFunctionExpression,
|
|
assertClassBody: assertClassBody,
|
|
assertClassExpression: assertClassExpression,
|
|
assertClassDeclaration: assertClassDeclaration,
|
|
assertExportAllDeclaration: assertExportAllDeclaration,
|
|
assertExportDefaultDeclaration: assertExportDefaultDeclaration,
|
|
assertExportNamedDeclaration: assertExportNamedDeclaration,
|
|
assertExportSpecifier: assertExportSpecifier$1,
|
|
assertForOfStatement: assertForOfStatement,
|
|
assertImportDeclaration: assertImportDeclaration,
|
|
assertImportDefaultSpecifier: assertImportDefaultSpecifier,
|
|
assertImportNamespaceSpecifier: assertImportNamespaceSpecifier,
|
|
assertImportSpecifier: assertImportSpecifier,
|
|
assertMetaProperty: assertMetaProperty,
|
|
assertClassMethod: assertClassMethod,
|
|
assertObjectPattern: assertObjectPattern,
|
|
assertSpreadElement: assertSpreadElement,
|
|
assertSuper: assertSuper,
|
|
assertTaggedTemplateExpression: assertTaggedTemplateExpression,
|
|
assertTemplateElement: assertTemplateElement,
|
|
assertTemplateLiteral: assertTemplateLiteral,
|
|
assertYieldExpression: assertYieldExpression,
|
|
assertAwaitExpression: assertAwaitExpression,
|
|
assertImport: assertImport,
|
|
assertBigIntLiteral: assertBigIntLiteral,
|
|
assertExportNamespaceSpecifier: assertExportNamespaceSpecifier,
|
|
assertOptionalMemberExpression: assertOptionalMemberExpression,
|
|
assertOptionalCallExpression: assertOptionalCallExpression,
|
|
assertClassProperty: assertClassProperty,
|
|
assertClassAccessorProperty: assertClassAccessorProperty,
|
|
assertClassPrivateProperty: assertClassPrivateProperty,
|
|
assertClassPrivateMethod: assertClassPrivateMethod,
|
|
assertPrivateName: assertPrivateName,
|
|
assertStaticBlock: assertStaticBlock,
|
|
assertAnyTypeAnnotation: assertAnyTypeAnnotation,
|
|
assertArrayTypeAnnotation: assertArrayTypeAnnotation,
|
|
assertBooleanTypeAnnotation: assertBooleanTypeAnnotation,
|
|
assertBooleanLiteralTypeAnnotation: assertBooleanLiteralTypeAnnotation,
|
|
assertNullLiteralTypeAnnotation: assertNullLiteralTypeAnnotation,
|
|
assertClassImplements: assertClassImplements,
|
|
assertDeclareClass: assertDeclareClass,
|
|
assertDeclareFunction: assertDeclareFunction,
|
|
assertDeclareInterface: assertDeclareInterface,
|
|
assertDeclareModule: assertDeclareModule,
|
|
assertDeclareModuleExports: assertDeclareModuleExports,
|
|
assertDeclareTypeAlias: assertDeclareTypeAlias,
|
|
assertDeclareOpaqueType: assertDeclareOpaqueType,
|
|
assertDeclareVariable: assertDeclareVariable,
|
|
assertDeclareExportDeclaration: assertDeclareExportDeclaration,
|
|
assertDeclareExportAllDeclaration: assertDeclareExportAllDeclaration,
|
|
assertDeclaredPredicate: assertDeclaredPredicate,
|
|
assertExistsTypeAnnotation: assertExistsTypeAnnotation,
|
|
assertFunctionTypeAnnotation: assertFunctionTypeAnnotation,
|
|
assertFunctionTypeParam: assertFunctionTypeParam,
|
|
assertGenericTypeAnnotation: assertGenericTypeAnnotation,
|
|
assertInferredPredicate: assertInferredPredicate,
|
|
assertInterfaceExtends: assertInterfaceExtends,
|
|
assertInterfaceDeclaration: assertInterfaceDeclaration,
|
|
assertInterfaceTypeAnnotation: assertInterfaceTypeAnnotation,
|
|
assertIntersectionTypeAnnotation: assertIntersectionTypeAnnotation,
|
|
assertMixedTypeAnnotation: assertMixedTypeAnnotation,
|
|
assertEmptyTypeAnnotation: assertEmptyTypeAnnotation,
|
|
assertNullableTypeAnnotation: assertNullableTypeAnnotation,
|
|
assertNumberLiteralTypeAnnotation: assertNumberLiteralTypeAnnotation,
|
|
assertNumberTypeAnnotation: assertNumberTypeAnnotation,
|
|
assertObjectTypeAnnotation: assertObjectTypeAnnotation,
|
|
assertObjectTypeInternalSlot: assertObjectTypeInternalSlot,
|
|
assertObjectTypeCallProperty: assertObjectTypeCallProperty,
|
|
assertObjectTypeIndexer: assertObjectTypeIndexer,
|
|
assertObjectTypeProperty: assertObjectTypeProperty,
|
|
assertObjectTypeSpreadProperty: assertObjectTypeSpreadProperty,
|
|
assertOpaqueType: assertOpaqueType,
|
|
assertQualifiedTypeIdentifier: assertQualifiedTypeIdentifier,
|
|
assertStringLiteralTypeAnnotation: assertStringLiteralTypeAnnotation,
|
|
assertStringTypeAnnotation: assertStringTypeAnnotation,
|
|
assertSymbolTypeAnnotation: assertSymbolTypeAnnotation,
|
|
assertThisTypeAnnotation: assertThisTypeAnnotation,
|
|
assertTupleTypeAnnotation: assertTupleTypeAnnotation,
|
|
assertTypeofTypeAnnotation: assertTypeofTypeAnnotation,
|
|
assertTypeAlias: assertTypeAlias,
|
|
assertTypeAnnotation: assertTypeAnnotation,
|
|
assertTypeCastExpression: assertTypeCastExpression,
|
|
assertTypeParameter: assertTypeParameter,
|
|
assertTypeParameterDeclaration: assertTypeParameterDeclaration,
|
|
assertTypeParameterInstantiation: assertTypeParameterInstantiation,
|
|
assertUnionTypeAnnotation: assertUnionTypeAnnotation,
|
|
assertVariance: assertVariance,
|
|
assertVoidTypeAnnotation: assertVoidTypeAnnotation,
|
|
assertEnumDeclaration: assertEnumDeclaration,
|
|
assertEnumBooleanBody: assertEnumBooleanBody,
|
|
assertEnumNumberBody: assertEnumNumberBody,
|
|
assertEnumStringBody: assertEnumStringBody,
|
|
assertEnumSymbolBody: assertEnumSymbolBody,
|
|
assertEnumBooleanMember: assertEnumBooleanMember,
|
|
assertEnumNumberMember: assertEnumNumberMember,
|
|
assertEnumStringMember: assertEnumStringMember,
|
|
assertEnumDefaultedMember: assertEnumDefaultedMember,
|
|
assertIndexedAccessType: assertIndexedAccessType,
|
|
assertOptionalIndexedAccessType: assertOptionalIndexedAccessType,
|
|
assertJSXAttribute: assertJSXAttribute,
|
|
assertJSXClosingElement: assertJSXClosingElement,
|
|
assertJSXElement: assertJSXElement,
|
|
assertJSXEmptyExpression: assertJSXEmptyExpression,
|
|
assertJSXExpressionContainer: assertJSXExpressionContainer,
|
|
assertJSXSpreadChild: assertJSXSpreadChild,
|
|
assertJSXIdentifier: assertJSXIdentifier,
|
|
assertJSXMemberExpression: assertJSXMemberExpression,
|
|
assertJSXNamespacedName: assertJSXNamespacedName,
|
|
assertJSXOpeningElement: assertJSXOpeningElement,
|
|
assertJSXSpreadAttribute: assertJSXSpreadAttribute,
|
|
assertJSXText: assertJSXText,
|
|
assertJSXFragment: assertJSXFragment,
|
|
assertJSXOpeningFragment: assertJSXOpeningFragment,
|
|
assertJSXClosingFragment: assertJSXClosingFragment,
|
|
assertNoop: assertNoop,
|
|
assertPlaceholder: assertPlaceholder,
|
|
assertV8IntrinsicIdentifier: assertV8IntrinsicIdentifier,
|
|
assertArgumentPlaceholder: assertArgumentPlaceholder,
|
|
assertBindExpression: assertBindExpression,
|
|
assertImportAttribute: assertImportAttribute,
|
|
assertDecorator: assertDecorator,
|
|
assertDoExpression: assertDoExpression,
|
|
assertExportDefaultSpecifier: assertExportDefaultSpecifier,
|
|
assertRecordExpression: assertRecordExpression,
|
|
assertTupleExpression: assertTupleExpression,
|
|
assertDecimalLiteral: assertDecimalLiteral,
|
|
assertModuleExpression: assertModuleExpression,
|
|
assertTopicReference: assertTopicReference,
|
|
assertPipelineTopicExpression: assertPipelineTopicExpression,
|
|
assertPipelineBareFunction: assertPipelineBareFunction,
|
|
assertPipelinePrimaryTopicReference: assertPipelinePrimaryTopicReference,
|
|
assertTSParameterProperty: assertTSParameterProperty,
|
|
assertTSDeclareFunction: assertTSDeclareFunction,
|
|
assertTSDeclareMethod: assertTSDeclareMethod,
|
|
assertTSQualifiedName: assertTSQualifiedName,
|
|
assertTSCallSignatureDeclaration: assertTSCallSignatureDeclaration,
|
|
assertTSConstructSignatureDeclaration: assertTSConstructSignatureDeclaration,
|
|
assertTSPropertySignature: assertTSPropertySignature,
|
|
assertTSMethodSignature: assertTSMethodSignature,
|
|
assertTSIndexSignature: assertTSIndexSignature,
|
|
assertTSAnyKeyword: assertTSAnyKeyword,
|
|
assertTSBooleanKeyword: assertTSBooleanKeyword,
|
|
assertTSBigIntKeyword: assertTSBigIntKeyword,
|
|
assertTSIntrinsicKeyword: assertTSIntrinsicKeyword,
|
|
assertTSNeverKeyword: assertTSNeverKeyword,
|
|
assertTSNullKeyword: assertTSNullKeyword,
|
|
assertTSNumberKeyword: assertTSNumberKeyword,
|
|
assertTSObjectKeyword: assertTSObjectKeyword,
|
|
assertTSStringKeyword: assertTSStringKeyword,
|
|
assertTSSymbolKeyword: assertTSSymbolKeyword,
|
|
assertTSUndefinedKeyword: assertTSUndefinedKeyword,
|
|
assertTSUnknownKeyword: assertTSUnknownKeyword,
|
|
assertTSVoidKeyword: assertTSVoidKeyword,
|
|
assertTSThisType: assertTSThisType,
|
|
assertTSFunctionType: assertTSFunctionType,
|
|
assertTSConstructorType: assertTSConstructorType,
|
|
assertTSTypeReference: assertTSTypeReference,
|
|
assertTSTypePredicate: assertTSTypePredicate,
|
|
assertTSTypeQuery: assertTSTypeQuery,
|
|
assertTSTypeLiteral: assertTSTypeLiteral,
|
|
assertTSArrayType: assertTSArrayType,
|
|
assertTSTupleType: assertTSTupleType,
|
|
assertTSOptionalType: assertTSOptionalType,
|
|
assertTSRestType: assertTSRestType,
|
|
assertTSNamedTupleMember: assertTSNamedTupleMember,
|
|
assertTSUnionType: assertTSUnionType,
|
|
assertTSIntersectionType: assertTSIntersectionType,
|
|
assertTSConditionalType: assertTSConditionalType,
|
|
assertTSInferType: assertTSInferType,
|
|
assertTSParenthesizedType: assertTSParenthesizedType,
|
|
assertTSTypeOperator: assertTSTypeOperator,
|
|
assertTSIndexedAccessType: assertTSIndexedAccessType,
|
|
assertTSMappedType: assertTSMappedType,
|
|
assertTSLiteralType: assertTSLiteralType,
|
|
assertTSExpressionWithTypeArguments: assertTSExpressionWithTypeArguments,
|
|
assertTSInterfaceDeclaration: assertTSInterfaceDeclaration,
|
|
assertTSInterfaceBody: assertTSInterfaceBody,
|
|
assertTSTypeAliasDeclaration: assertTSTypeAliasDeclaration,
|
|
assertTSInstantiationExpression: assertTSInstantiationExpression,
|
|
assertTSAsExpression: assertTSAsExpression,
|
|
assertTSSatisfiesExpression: assertTSSatisfiesExpression,
|
|
assertTSTypeAssertion: assertTSTypeAssertion,
|
|
assertTSEnumDeclaration: assertTSEnumDeclaration,
|
|
assertTSEnumMember: assertTSEnumMember,
|
|
assertTSModuleDeclaration: assertTSModuleDeclaration,
|
|
assertTSModuleBlock: assertTSModuleBlock,
|
|
assertTSImportType: assertTSImportType,
|
|
assertTSImportEqualsDeclaration: assertTSImportEqualsDeclaration,
|
|
assertTSExternalModuleReference: assertTSExternalModuleReference,
|
|
assertTSNonNullExpression: assertTSNonNullExpression,
|
|
assertTSExportAssignment: assertTSExportAssignment,
|
|
assertTSNamespaceExportDeclaration: assertTSNamespaceExportDeclaration,
|
|
assertTSTypeAnnotation: assertTSTypeAnnotation,
|
|
assertTSTypeParameterInstantiation: assertTSTypeParameterInstantiation,
|
|
assertTSTypeParameterDeclaration: assertTSTypeParameterDeclaration,
|
|
assertTSTypeParameter: assertTSTypeParameter,
|
|
assertStandardized: assertStandardized,
|
|
assertExpression: assertExpression$1,
|
|
assertBinary: assertBinary,
|
|
assertScopable: assertScopable,
|
|
assertBlockParent: assertBlockParent,
|
|
assertBlock: assertBlock,
|
|
assertStatement: assertStatement,
|
|
assertTerminatorless: assertTerminatorless,
|
|
assertCompletionStatement: assertCompletionStatement,
|
|
assertConditional: assertConditional,
|
|
assertLoop: assertLoop,
|
|
assertWhile: assertWhile,
|
|
assertExpressionWrapper: assertExpressionWrapper,
|
|
assertFor: assertFor,
|
|
assertForXStatement: assertForXStatement,
|
|
assertFunction: assertFunction$1,
|
|
assertFunctionParent: assertFunctionParent,
|
|
assertPureish: assertPureish,
|
|
assertDeclaration: assertDeclaration,
|
|
assertPatternLike: assertPatternLike,
|
|
assertLVal: assertLVal,
|
|
assertTSEntityName: assertTSEntityName,
|
|
assertLiteral: assertLiteral,
|
|
assertImmutable: assertImmutable,
|
|
assertUserWhitespacable: assertUserWhitespacable,
|
|
assertMethod: assertMethod,
|
|
assertObjectMember: assertObjectMember,
|
|
assertProperty: assertProperty,
|
|
assertUnaryLike: assertUnaryLike,
|
|
assertPattern: assertPattern,
|
|
assertClass: assertClass,
|
|
assertImportOrExportDeclaration: assertImportOrExportDeclaration,
|
|
assertExportDeclaration: assertExportDeclaration,
|
|
assertModuleSpecifier: assertModuleSpecifier,
|
|
assertAccessor: assertAccessor,
|
|
assertPrivate: assertPrivate,
|
|
assertFlow: assertFlow,
|
|
assertFlowType: assertFlowType,
|
|
assertFlowBaseAnnotation: assertFlowBaseAnnotation,
|
|
assertFlowDeclaration: assertFlowDeclaration,
|
|
assertFlowPredicate: assertFlowPredicate,
|
|
assertEnumBody: assertEnumBody,
|
|
assertEnumMember: assertEnumMember,
|
|
assertJSX: assertJSX,
|
|
assertMiscellaneous: assertMiscellaneous,
|
|
assertTypeScript: assertTypeScript,
|
|
assertTSTypeElement: assertTSTypeElement,
|
|
assertTSType: assertTSType,
|
|
assertTSBaseType: assertTSBaseType,
|
|
assertNumberLiteral: assertNumberLiteral,
|
|
assertRegexLiteral: assertRegexLiteral,
|
|
assertRestProperty: assertRestProperty,
|
|
assertSpreadProperty: assertSpreadProperty,
|
|
assertModuleDeclaration: assertModuleDeclaration,
|
|
arrayExpression: arrayExpression$1,
|
|
assignmentExpression: assignmentExpression$d,
|
|
binaryExpression: binaryExpression$5,
|
|
interpreterDirective: interpreterDirective$1,
|
|
directive: directive$1,
|
|
directiveLiteral: directiveLiteral$1,
|
|
blockStatement: blockStatement$6,
|
|
breakStatement: breakStatement,
|
|
callExpression: callExpression$e,
|
|
catchClause: catchClause,
|
|
conditionalExpression: conditionalExpression$4,
|
|
continueStatement: continueStatement,
|
|
debuggerStatement: debuggerStatement,
|
|
doWhileStatement: doWhileStatement,
|
|
emptyStatement: emptyStatement$1,
|
|
expressionStatement: expressionStatement$a,
|
|
file: file$2,
|
|
forInStatement: forInStatement,
|
|
forStatement: forStatement,
|
|
functionDeclaration: functionDeclaration,
|
|
functionExpression: functionExpression$2,
|
|
identifier: identifier$i,
|
|
ifStatement: ifStatement,
|
|
labeledStatement: labeledStatement,
|
|
stringLiteral: stringLiteral$8,
|
|
numericLiteral: numericLiteral$8,
|
|
nullLiteral: nullLiteral$2,
|
|
booleanLiteral: booleanLiteral$4,
|
|
regExpLiteral: regExpLiteral,
|
|
logicalExpression: logicalExpression$3,
|
|
memberExpression: memberExpression$c,
|
|
newExpression: newExpression,
|
|
program: program$3,
|
|
objectExpression: objectExpression$3,
|
|
objectMethod: objectMethod,
|
|
objectProperty: objectProperty$1,
|
|
restElement: restElement$2,
|
|
returnStatement: returnStatement$3,
|
|
sequenceExpression: sequenceExpression$7,
|
|
parenthesizedExpression: parenthesizedExpression,
|
|
switchCase: switchCase,
|
|
switchStatement: switchStatement,
|
|
thisExpression: thisExpression$4,
|
|
throwStatement: throwStatement,
|
|
tryStatement: tryStatement,
|
|
unaryExpression: unaryExpression$7,
|
|
updateExpression: updateExpression$1,
|
|
variableDeclaration: variableDeclaration$8,
|
|
variableDeclarator: variableDeclarator$8,
|
|
whileStatement: whileStatement,
|
|
withStatement: withStatement,
|
|
assignmentPattern: assignmentPattern,
|
|
arrayPattern: arrayPattern,
|
|
arrowFunctionExpression: arrowFunctionExpression$4,
|
|
classBody: classBody,
|
|
classExpression: classExpression,
|
|
classDeclaration: classDeclaration,
|
|
exportAllDeclaration: exportAllDeclaration,
|
|
exportDefaultDeclaration: exportDefaultDeclaration,
|
|
exportNamedDeclaration: exportNamedDeclaration$2,
|
|
exportSpecifier: exportSpecifier$2,
|
|
forOfStatement: forOfStatement,
|
|
importDeclaration: importDeclaration$1,
|
|
importDefaultSpecifier: importDefaultSpecifier$1,
|
|
importNamespaceSpecifier: importNamespaceSpecifier$1,
|
|
importSpecifier: importSpecifier$1,
|
|
metaProperty: metaProperty$1,
|
|
classMethod: classMethod,
|
|
objectPattern: objectPattern$1,
|
|
spreadElement: spreadElement$2,
|
|
'super': _super$1,
|
|
taggedTemplateExpression: taggedTemplateExpression,
|
|
templateElement: templateElement,
|
|
templateLiteral: templateLiteral,
|
|
yieldExpression: yieldExpression$2,
|
|
awaitExpression: awaitExpression$1,
|
|
'import': _import,
|
|
bigIntLiteral: bigIntLiteral,
|
|
exportNamespaceSpecifier: exportNamespaceSpecifier,
|
|
optionalMemberExpression: optionalMemberExpression$2,
|
|
optionalCallExpression: optionalCallExpression$2,
|
|
classProperty: classProperty,
|
|
classAccessorProperty: classAccessorProperty,
|
|
classPrivateProperty: classPrivateProperty,
|
|
classPrivateMethod: classPrivateMethod,
|
|
privateName: privateName,
|
|
staticBlock: staticBlock,
|
|
anyTypeAnnotation: anyTypeAnnotation$2,
|
|
arrayTypeAnnotation: arrayTypeAnnotation$1,
|
|
booleanTypeAnnotation: booleanTypeAnnotation$1,
|
|
booleanLiteralTypeAnnotation: booleanLiteralTypeAnnotation,
|
|
nullLiteralTypeAnnotation: nullLiteralTypeAnnotation$1,
|
|
classImplements: classImplements,
|
|
declareClass: declareClass,
|
|
declareFunction: declareFunction,
|
|
declareInterface: declareInterface,
|
|
declareModule: declareModule,
|
|
declareModuleExports: declareModuleExports,
|
|
declareTypeAlias: declareTypeAlias,
|
|
declareOpaqueType: declareOpaqueType,
|
|
declareVariable: declareVariable,
|
|
declareExportDeclaration: declareExportDeclaration,
|
|
declareExportAllDeclaration: declareExportAllDeclaration,
|
|
declaredPredicate: declaredPredicate,
|
|
existsTypeAnnotation: existsTypeAnnotation,
|
|
functionTypeAnnotation: functionTypeAnnotation,
|
|
functionTypeParam: functionTypeParam,
|
|
genericTypeAnnotation: genericTypeAnnotation$1,
|
|
inferredPredicate: inferredPredicate,
|
|
interfaceExtends: interfaceExtends,
|
|
interfaceDeclaration: interfaceDeclaration,
|
|
interfaceTypeAnnotation: interfaceTypeAnnotation,
|
|
intersectionTypeAnnotation: intersectionTypeAnnotation,
|
|
mixedTypeAnnotation: mixedTypeAnnotation,
|
|
emptyTypeAnnotation: emptyTypeAnnotation,
|
|
nullableTypeAnnotation: nullableTypeAnnotation,
|
|
numberLiteralTypeAnnotation: numberLiteralTypeAnnotation,
|
|
numberTypeAnnotation: numberTypeAnnotation$2,
|
|
objectTypeAnnotation: objectTypeAnnotation,
|
|
objectTypeInternalSlot: objectTypeInternalSlot,
|
|
objectTypeCallProperty: objectTypeCallProperty,
|
|
objectTypeIndexer: objectTypeIndexer,
|
|
objectTypeProperty: objectTypeProperty,
|
|
objectTypeSpreadProperty: objectTypeSpreadProperty,
|
|
opaqueType: opaqueType,
|
|
qualifiedTypeIdentifier: qualifiedTypeIdentifier,
|
|
stringLiteralTypeAnnotation: stringLiteralTypeAnnotation,
|
|
stringTypeAnnotation: stringTypeAnnotation$2,
|
|
symbolTypeAnnotation: symbolTypeAnnotation,
|
|
thisTypeAnnotation: thisTypeAnnotation,
|
|
tupleTypeAnnotation: tupleTypeAnnotation$1,
|
|
typeofTypeAnnotation: typeofTypeAnnotation,
|
|
typeAlias: typeAlias,
|
|
typeAnnotation: typeAnnotation,
|
|
typeCastExpression: typeCastExpression,
|
|
typeParameter: typeParameter,
|
|
typeParameterDeclaration: typeParameterDeclaration,
|
|
typeParameterInstantiation: typeParameterInstantiation,
|
|
unionTypeAnnotation: unionTypeAnnotation$1,
|
|
variance: variance,
|
|
voidTypeAnnotation: voidTypeAnnotation$3,
|
|
enumDeclaration: enumDeclaration,
|
|
enumBooleanBody: enumBooleanBody,
|
|
enumNumberBody: enumNumberBody,
|
|
enumStringBody: enumStringBody,
|
|
enumSymbolBody: enumSymbolBody,
|
|
enumBooleanMember: enumBooleanMember,
|
|
enumNumberMember: enumNumberMember,
|
|
enumStringMember: enumStringMember,
|
|
enumDefaultedMember: enumDefaultedMember,
|
|
indexedAccessType: indexedAccessType,
|
|
optionalIndexedAccessType: optionalIndexedAccessType,
|
|
jsxAttribute: jsxAttribute,
|
|
jSXAttribute: jsxAttribute,
|
|
jsxClosingElement: jsxClosingElement,
|
|
jSXClosingElement: jsxClosingElement,
|
|
jsxElement: jsxElement,
|
|
jSXElement: jsxElement,
|
|
jsxEmptyExpression: jsxEmptyExpression,
|
|
jSXEmptyExpression: jsxEmptyExpression,
|
|
jsxExpressionContainer: jsxExpressionContainer$1,
|
|
jSXExpressionContainer: jsxExpressionContainer$1,
|
|
jsxSpreadChild: jsxSpreadChild,
|
|
jSXSpreadChild: jsxSpreadChild,
|
|
jsxIdentifier: jsxIdentifier$2,
|
|
jSXIdentifier: jsxIdentifier$2,
|
|
jsxMemberExpression: jsxMemberExpression$1,
|
|
jSXMemberExpression: jsxMemberExpression$1,
|
|
jsxNamespacedName: jsxNamespacedName,
|
|
jSXNamespacedName: jsxNamespacedName,
|
|
jsxOpeningElement: jsxOpeningElement,
|
|
jSXOpeningElement: jsxOpeningElement,
|
|
jsxSpreadAttribute: jsxSpreadAttribute,
|
|
jSXSpreadAttribute: jsxSpreadAttribute,
|
|
jsxText: jsxText,
|
|
jSXText: jsxText,
|
|
jsxFragment: jsxFragment,
|
|
jSXFragment: jsxFragment,
|
|
jsxOpeningFragment: jsxOpeningFragment,
|
|
jSXOpeningFragment: jsxOpeningFragment,
|
|
jsxClosingFragment: jsxClosingFragment,
|
|
jSXClosingFragment: jsxClosingFragment,
|
|
noop: noop$1,
|
|
placeholder: placeholder,
|
|
v8IntrinsicIdentifier: v8IntrinsicIdentifier,
|
|
argumentPlaceholder: argumentPlaceholder,
|
|
bindExpression: bindExpression,
|
|
importAttribute: importAttribute,
|
|
decorator: decorator,
|
|
doExpression: doExpression,
|
|
exportDefaultSpecifier: exportDefaultSpecifier,
|
|
recordExpression: recordExpression,
|
|
tupleExpression: tupleExpression,
|
|
decimalLiteral: decimalLiteral,
|
|
moduleExpression: moduleExpression,
|
|
topicReference: topicReference,
|
|
pipelineTopicExpression: pipelineTopicExpression,
|
|
pipelineBareFunction: pipelineBareFunction,
|
|
pipelinePrimaryTopicReference: pipelinePrimaryTopicReference,
|
|
tsParameterProperty: tsParameterProperty,
|
|
tSParameterProperty: tsParameterProperty,
|
|
tsDeclareFunction: tsDeclareFunction,
|
|
tSDeclareFunction: tsDeclareFunction,
|
|
tsDeclareMethod: tsDeclareMethod,
|
|
tSDeclareMethod: tsDeclareMethod,
|
|
tsQualifiedName: tsQualifiedName,
|
|
tSQualifiedName: tsQualifiedName,
|
|
tsCallSignatureDeclaration: tsCallSignatureDeclaration,
|
|
tSCallSignatureDeclaration: tsCallSignatureDeclaration,
|
|
tsConstructSignatureDeclaration: tsConstructSignatureDeclaration,
|
|
tSConstructSignatureDeclaration: tsConstructSignatureDeclaration,
|
|
tsPropertySignature: tsPropertySignature,
|
|
tSPropertySignature: tsPropertySignature,
|
|
tsMethodSignature: tsMethodSignature,
|
|
tSMethodSignature: tsMethodSignature,
|
|
tsIndexSignature: tsIndexSignature,
|
|
tSIndexSignature: tsIndexSignature,
|
|
tsAnyKeyword: tsAnyKeyword,
|
|
tSAnyKeyword: tsAnyKeyword,
|
|
tsBooleanKeyword: tsBooleanKeyword,
|
|
tSBooleanKeyword: tsBooleanKeyword,
|
|
tsBigIntKeyword: tsBigIntKeyword,
|
|
tSBigIntKeyword: tsBigIntKeyword,
|
|
tsIntrinsicKeyword: tsIntrinsicKeyword,
|
|
tSIntrinsicKeyword: tsIntrinsicKeyword,
|
|
tsNeverKeyword: tsNeverKeyword,
|
|
tSNeverKeyword: tsNeverKeyword,
|
|
tsNullKeyword: tsNullKeyword,
|
|
tSNullKeyword: tsNullKeyword,
|
|
tsNumberKeyword: tsNumberKeyword,
|
|
tSNumberKeyword: tsNumberKeyword,
|
|
tsObjectKeyword: tsObjectKeyword,
|
|
tSObjectKeyword: tsObjectKeyword,
|
|
tsStringKeyword: tsStringKeyword,
|
|
tSStringKeyword: tsStringKeyword,
|
|
tsSymbolKeyword: tsSymbolKeyword,
|
|
tSSymbolKeyword: tsSymbolKeyword,
|
|
tsUndefinedKeyword: tsUndefinedKeyword,
|
|
tSUndefinedKeyword: tsUndefinedKeyword,
|
|
tsUnknownKeyword: tsUnknownKeyword,
|
|
tSUnknownKeyword: tsUnknownKeyword,
|
|
tsVoidKeyword: tsVoidKeyword,
|
|
tSVoidKeyword: tsVoidKeyword,
|
|
tsThisType: tsThisType,
|
|
tSThisType: tsThisType,
|
|
tsFunctionType: tsFunctionType,
|
|
tSFunctionType: tsFunctionType,
|
|
tsConstructorType: tsConstructorType,
|
|
tSConstructorType: tsConstructorType,
|
|
tsTypeReference: tsTypeReference,
|
|
tSTypeReference: tsTypeReference,
|
|
tsTypePredicate: tsTypePredicate,
|
|
tSTypePredicate: tsTypePredicate,
|
|
tsTypeQuery: tsTypeQuery,
|
|
tSTypeQuery: tsTypeQuery,
|
|
tsTypeLiteral: tsTypeLiteral,
|
|
tSTypeLiteral: tsTypeLiteral,
|
|
tsArrayType: tsArrayType,
|
|
tSArrayType: tsArrayType,
|
|
tsTupleType: tsTupleType,
|
|
tSTupleType: tsTupleType,
|
|
tsOptionalType: tsOptionalType,
|
|
tSOptionalType: tsOptionalType,
|
|
tsRestType: tsRestType,
|
|
tSRestType: tsRestType,
|
|
tsNamedTupleMember: tsNamedTupleMember,
|
|
tSNamedTupleMember: tsNamedTupleMember,
|
|
tsUnionType: tsUnionType,
|
|
tSUnionType: tsUnionType,
|
|
tsIntersectionType: tsIntersectionType,
|
|
tSIntersectionType: tsIntersectionType,
|
|
tsConditionalType: tsConditionalType,
|
|
tSConditionalType: tsConditionalType,
|
|
tsInferType: tsInferType,
|
|
tSInferType: tsInferType,
|
|
tsParenthesizedType: tsParenthesizedType,
|
|
tSParenthesizedType: tsParenthesizedType,
|
|
tsTypeOperator: tsTypeOperator,
|
|
tSTypeOperator: tsTypeOperator,
|
|
tsIndexedAccessType: tsIndexedAccessType,
|
|
tSIndexedAccessType: tsIndexedAccessType,
|
|
tsMappedType: tsMappedType,
|
|
tSMappedType: tsMappedType,
|
|
tsLiteralType: tsLiteralType,
|
|
tSLiteralType: tsLiteralType,
|
|
tsExpressionWithTypeArguments: tsExpressionWithTypeArguments,
|
|
tSExpressionWithTypeArguments: tsExpressionWithTypeArguments,
|
|
tsInterfaceDeclaration: tsInterfaceDeclaration,
|
|
tSInterfaceDeclaration: tsInterfaceDeclaration,
|
|
tsInterfaceBody: tsInterfaceBody,
|
|
tSInterfaceBody: tsInterfaceBody,
|
|
tsTypeAliasDeclaration: tsTypeAliasDeclaration,
|
|
tSTypeAliasDeclaration: tsTypeAliasDeclaration,
|
|
tsInstantiationExpression: tsInstantiationExpression,
|
|
tSInstantiationExpression: tsInstantiationExpression,
|
|
tsAsExpression: tsAsExpression,
|
|
tSAsExpression: tsAsExpression,
|
|
tsSatisfiesExpression: tsSatisfiesExpression,
|
|
tSSatisfiesExpression: tsSatisfiesExpression,
|
|
tsTypeAssertion: tsTypeAssertion,
|
|
tSTypeAssertion: tsTypeAssertion,
|
|
tsEnumDeclaration: tsEnumDeclaration,
|
|
tSEnumDeclaration: tsEnumDeclaration,
|
|
tsEnumMember: tsEnumMember,
|
|
tSEnumMember: tsEnumMember,
|
|
tsModuleDeclaration: tsModuleDeclaration,
|
|
tSModuleDeclaration: tsModuleDeclaration,
|
|
tsModuleBlock: tsModuleBlock,
|
|
tSModuleBlock: tsModuleBlock,
|
|
tsImportType: tsImportType,
|
|
tSImportType: tsImportType,
|
|
tsImportEqualsDeclaration: tsImportEqualsDeclaration,
|
|
tSImportEqualsDeclaration: tsImportEqualsDeclaration,
|
|
tsExternalModuleReference: tsExternalModuleReference,
|
|
tSExternalModuleReference: tsExternalModuleReference,
|
|
tsNonNullExpression: tsNonNullExpression,
|
|
tSNonNullExpression: tsNonNullExpression,
|
|
tsExportAssignment: tsExportAssignment,
|
|
tSExportAssignment: tsExportAssignment,
|
|
tsNamespaceExportDeclaration: tsNamespaceExportDeclaration,
|
|
tSNamespaceExportDeclaration: tsNamespaceExportDeclaration,
|
|
tsTypeAnnotation: tsTypeAnnotation,
|
|
tSTypeAnnotation: tsTypeAnnotation,
|
|
tsTypeParameterInstantiation: tsTypeParameterInstantiation,
|
|
tSTypeParameterInstantiation: tsTypeParameterInstantiation,
|
|
tsTypeParameterDeclaration: tsTypeParameterDeclaration,
|
|
tSTypeParameterDeclaration: tsTypeParameterDeclaration,
|
|
tsTypeParameter: tsTypeParameter,
|
|
tSTypeParameter: tsTypeParameter,
|
|
numberLiteral: NumberLiteral,
|
|
regexLiteral: RegexLiteral,
|
|
restProperty: RestProperty,
|
|
spreadProperty: SpreadProperty,
|
|
ArrayExpression: arrayExpression$1,
|
|
AssignmentExpression: assignmentExpression$d,
|
|
BinaryExpression: binaryExpression$5,
|
|
InterpreterDirective: interpreterDirective$1,
|
|
Directive: directive$1,
|
|
DirectiveLiteral: directiveLiteral$1,
|
|
BlockStatement: blockStatement$6,
|
|
BreakStatement: breakStatement,
|
|
CallExpression: callExpression$e,
|
|
CatchClause: catchClause,
|
|
ConditionalExpression: conditionalExpression$4,
|
|
ContinueStatement: continueStatement,
|
|
DebuggerStatement: debuggerStatement,
|
|
DoWhileStatement: doWhileStatement,
|
|
EmptyStatement: emptyStatement$1,
|
|
ExpressionStatement: expressionStatement$a,
|
|
File: file$2,
|
|
ForInStatement: forInStatement,
|
|
ForStatement: forStatement,
|
|
FunctionDeclaration: functionDeclaration,
|
|
FunctionExpression: functionExpression$2,
|
|
Identifier: identifier$i,
|
|
IfStatement: ifStatement,
|
|
LabeledStatement: labeledStatement,
|
|
StringLiteral: stringLiteral$8,
|
|
NumericLiteral: numericLiteral$8,
|
|
NullLiteral: nullLiteral$2,
|
|
BooleanLiteral: booleanLiteral$4,
|
|
RegExpLiteral: regExpLiteral,
|
|
LogicalExpression: logicalExpression$3,
|
|
MemberExpression: memberExpression$c,
|
|
NewExpression: newExpression,
|
|
Program: program$3,
|
|
ObjectExpression: objectExpression$3,
|
|
ObjectMethod: objectMethod,
|
|
ObjectProperty: objectProperty$1,
|
|
RestElement: restElement$2,
|
|
ReturnStatement: returnStatement$3,
|
|
SequenceExpression: sequenceExpression$7,
|
|
ParenthesizedExpression: parenthesizedExpression,
|
|
SwitchCase: switchCase,
|
|
SwitchStatement: switchStatement,
|
|
ThisExpression: thisExpression$4,
|
|
ThrowStatement: throwStatement,
|
|
TryStatement: tryStatement,
|
|
UnaryExpression: unaryExpression$7,
|
|
UpdateExpression: updateExpression$1,
|
|
VariableDeclaration: variableDeclaration$8,
|
|
VariableDeclarator: variableDeclarator$8,
|
|
WhileStatement: whileStatement,
|
|
WithStatement: withStatement,
|
|
AssignmentPattern: assignmentPattern,
|
|
ArrayPattern: arrayPattern,
|
|
ArrowFunctionExpression: arrowFunctionExpression$4,
|
|
ClassBody: classBody,
|
|
ClassExpression: classExpression,
|
|
ClassDeclaration: classDeclaration,
|
|
ExportAllDeclaration: exportAllDeclaration,
|
|
ExportDefaultDeclaration: exportDefaultDeclaration,
|
|
ExportNamedDeclaration: exportNamedDeclaration$2,
|
|
ExportSpecifier: exportSpecifier$2,
|
|
ForOfStatement: forOfStatement,
|
|
ImportDeclaration: importDeclaration$1,
|
|
ImportDefaultSpecifier: importDefaultSpecifier$1,
|
|
ImportNamespaceSpecifier: importNamespaceSpecifier$1,
|
|
ImportSpecifier: importSpecifier$1,
|
|
MetaProperty: metaProperty$1,
|
|
ClassMethod: classMethod,
|
|
ObjectPattern: objectPattern$1,
|
|
SpreadElement: spreadElement$2,
|
|
Super: _super$1,
|
|
TaggedTemplateExpression: taggedTemplateExpression,
|
|
TemplateElement: templateElement,
|
|
TemplateLiteral: templateLiteral,
|
|
YieldExpression: yieldExpression$2,
|
|
AwaitExpression: awaitExpression$1,
|
|
Import: _import,
|
|
BigIntLiteral: bigIntLiteral,
|
|
ExportNamespaceSpecifier: exportNamespaceSpecifier,
|
|
OptionalMemberExpression: optionalMemberExpression$2,
|
|
OptionalCallExpression: optionalCallExpression$2,
|
|
ClassProperty: classProperty,
|
|
ClassAccessorProperty: classAccessorProperty,
|
|
ClassPrivateProperty: classPrivateProperty,
|
|
ClassPrivateMethod: classPrivateMethod,
|
|
PrivateName: privateName,
|
|
StaticBlock: staticBlock,
|
|
AnyTypeAnnotation: anyTypeAnnotation$2,
|
|
ArrayTypeAnnotation: arrayTypeAnnotation$1,
|
|
BooleanTypeAnnotation: booleanTypeAnnotation$1,
|
|
BooleanLiteralTypeAnnotation: booleanLiteralTypeAnnotation,
|
|
NullLiteralTypeAnnotation: nullLiteralTypeAnnotation$1,
|
|
ClassImplements: classImplements,
|
|
DeclareClass: declareClass,
|
|
DeclareFunction: declareFunction,
|
|
DeclareInterface: declareInterface,
|
|
DeclareModule: declareModule,
|
|
DeclareModuleExports: declareModuleExports,
|
|
DeclareTypeAlias: declareTypeAlias,
|
|
DeclareOpaqueType: declareOpaqueType,
|
|
DeclareVariable: declareVariable,
|
|
DeclareExportDeclaration: declareExportDeclaration,
|
|
DeclareExportAllDeclaration: declareExportAllDeclaration,
|
|
DeclaredPredicate: declaredPredicate,
|
|
ExistsTypeAnnotation: existsTypeAnnotation,
|
|
FunctionTypeAnnotation: functionTypeAnnotation,
|
|
FunctionTypeParam: functionTypeParam,
|
|
GenericTypeAnnotation: genericTypeAnnotation$1,
|
|
InferredPredicate: inferredPredicate,
|
|
InterfaceExtends: interfaceExtends,
|
|
InterfaceDeclaration: interfaceDeclaration,
|
|
InterfaceTypeAnnotation: interfaceTypeAnnotation,
|
|
IntersectionTypeAnnotation: intersectionTypeAnnotation,
|
|
MixedTypeAnnotation: mixedTypeAnnotation,
|
|
EmptyTypeAnnotation: emptyTypeAnnotation,
|
|
NullableTypeAnnotation: nullableTypeAnnotation,
|
|
NumberLiteralTypeAnnotation: numberLiteralTypeAnnotation,
|
|
NumberTypeAnnotation: numberTypeAnnotation$2,
|
|
ObjectTypeAnnotation: objectTypeAnnotation,
|
|
ObjectTypeInternalSlot: objectTypeInternalSlot,
|
|
ObjectTypeCallProperty: objectTypeCallProperty,
|
|
ObjectTypeIndexer: objectTypeIndexer,
|
|
ObjectTypeProperty: objectTypeProperty,
|
|
ObjectTypeSpreadProperty: objectTypeSpreadProperty,
|
|
OpaqueType: opaqueType,
|
|
QualifiedTypeIdentifier: qualifiedTypeIdentifier,
|
|
StringLiteralTypeAnnotation: stringLiteralTypeAnnotation,
|
|
StringTypeAnnotation: stringTypeAnnotation$2,
|
|
SymbolTypeAnnotation: symbolTypeAnnotation,
|
|
ThisTypeAnnotation: thisTypeAnnotation,
|
|
TupleTypeAnnotation: tupleTypeAnnotation$1,
|
|
TypeofTypeAnnotation: typeofTypeAnnotation,
|
|
TypeAlias: typeAlias,
|
|
TypeAnnotation: typeAnnotation,
|
|
TypeCastExpression: typeCastExpression,
|
|
TypeParameter: typeParameter,
|
|
TypeParameterDeclaration: typeParameterDeclaration,
|
|
TypeParameterInstantiation: typeParameterInstantiation,
|
|
UnionTypeAnnotation: unionTypeAnnotation$1,
|
|
Variance: variance,
|
|
VoidTypeAnnotation: voidTypeAnnotation$3,
|
|
EnumDeclaration: enumDeclaration,
|
|
EnumBooleanBody: enumBooleanBody,
|
|
EnumNumberBody: enumNumberBody,
|
|
EnumStringBody: enumStringBody,
|
|
EnumSymbolBody: enumSymbolBody,
|
|
EnumBooleanMember: enumBooleanMember,
|
|
EnumNumberMember: enumNumberMember,
|
|
EnumStringMember: enumStringMember,
|
|
EnumDefaultedMember: enumDefaultedMember,
|
|
IndexedAccessType: indexedAccessType,
|
|
OptionalIndexedAccessType: optionalIndexedAccessType,
|
|
JSXAttribute: jsxAttribute,
|
|
JSXClosingElement: jsxClosingElement,
|
|
JSXElement: jsxElement,
|
|
JSXEmptyExpression: jsxEmptyExpression,
|
|
JSXExpressionContainer: jsxExpressionContainer$1,
|
|
JSXSpreadChild: jsxSpreadChild,
|
|
JSXIdentifier: jsxIdentifier$2,
|
|
JSXMemberExpression: jsxMemberExpression$1,
|
|
JSXNamespacedName: jsxNamespacedName,
|
|
JSXOpeningElement: jsxOpeningElement,
|
|
JSXSpreadAttribute: jsxSpreadAttribute,
|
|
JSXText: jsxText,
|
|
JSXFragment: jsxFragment,
|
|
JSXOpeningFragment: jsxOpeningFragment,
|
|
JSXClosingFragment: jsxClosingFragment,
|
|
Noop: noop$1,
|
|
Placeholder: placeholder,
|
|
V8IntrinsicIdentifier: v8IntrinsicIdentifier,
|
|
ArgumentPlaceholder: argumentPlaceholder,
|
|
BindExpression: bindExpression,
|
|
ImportAttribute: importAttribute,
|
|
Decorator: decorator,
|
|
DoExpression: doExpression,
|
|
ExportDefaultSpecifier: exportDefaultSpecifier,
|
|
RecordExpression: recordExpression,
|
|
TupleExpression: tupleExpression,
|
|
DecimalLiteral: decimalLiteral,
|
|
ModuleExpression: moduleExpression,
|
|
TopicReference: topicReference,
|
|
PipelineTopicExpression: pipelineTopicExpression,
|
|
PipelineBareFunction: pipelineBareFunction,
|
|
PipelinePrimaryTopicReference: pipelinePrimaryTopicReference,
|
|
TSParameterProperty: tsParameterProperty,
|
|
TSDeclareFunction: tsDeclareFunction,
|
|
TSDeclareMethod: tsDeclareMethod,
|
|
TSQualifiedName: tsQualifiedName,
|
|
TSCallSignatureDeclaration: tsCallSignatureDeclaration,
|
|
TSConstructSignatureDeclaration: tsConstructSignatureDeclaration,
|
|
TSPropertySignature: tsPropertySignature,
|
|
TSMethodSignature: tsMethodSignature,
|
|
TSIndexSignature: tsIndexSignature,
|
|
TSAnyKeyword: tsAnyKeyword,
|
|
TSBooleanKeyword: tsBooleanKeyword,
|
|
TSBigIntKeyword: tsBigIntKeyword,
|
|
TSIntrinsicKeyword: tsIntrinsicKeyword,
|
|
TSNeverKeyword: tsNeverKeyword,
|
|
TSNullKeyword: tsNullKeyword,
|
|
TSNumberKeyword: tsNumberKeyword,
|
|
TSObjectKeyword: tsObjectKeyword,
|
|
TSStringKeyword: tsStringKeyword,
|
|
TSSymbolKeyword: tsSymbolKeyword,
|
|
TSUndefinedKeyword: tsUndefinedKeyword,
|
|
TSUnknownKeyword: tsUnknownKeyword,
|
|
TSVoidKeyword: tsVoidKeyword,
|
|
TSThisType: tsThisType,
|
|
TSFunctionType: tsFunctionType,
|
|
TSConstructorType: tsConstructorType,
|
|
TSTypeReference: tsTypeReference,
|
|
TSTypePredicate: tsTypePredicate,
|
|
TSTypeQuery: tsTypeQuery,
|
|
TSTypeLiteral: tsTypeLiteral,
|
|
TSArrayType: tsArrayType,
|
|
TSTupleType: tsTupleType,
|
|
TSOptionalType: tsOptionalType,
|
|
TSRestType: tsRestType,
|
|
TSNamedTupleMember: tsNamedTupleMember,
|
|
TSUnionType: tsUnionType,
|
|
TSIntersectionType: tsIntersectionType,
|
|
TSConditionalType: tsConditionalType,
|
|
TSInferType: tsInferType,
|
|
TSParenthesizedType: tsParenthesizedType,
|
|
TSTypeOperator: tsTypeOperator,
|
|
TSIndexedAccessType: tsIndexedAccessType,
|
|
TSMappedType: tsMappedType,
|
|
TSLiteralType: tsLiteralType,
|
|
TSExpressionWithTypeArguments: tsExpressionWithTypeArguments,
|
|
TSInterfaceDeclaration: tsInterfaceDeclaration,
|
|
TSInterfaceBody: tsInterfaceBody,
|
|
TSTypeAliasDeclaration: tsTypeAliasDeclaration,
|
|
TSInstantiationExpression: tsInstantiationExpression,
|
|
TSAsExpression: tsAsExpression,
|
|
TSSatisfiesExpression: tsSatisfiesExpression,
|
|
TSTypeAssertion: tsTypeAssertion,
|
|
TSEnumDeclaration: tsEnumDeclaration,
|
|
TSEnumMember: tsEnumMember,
|
|
TSModuleDeclaration: tsModuleDeclaration,
|
|
TSModuleBlock: tsModuleBlock,
|
|
TSImportType: tsImportType,
|
|
TSImportEqualsDeclaration: tsImportEqualsDeclaration,
|
|
TSExternalModuleReference: tsExternalModuleReference,
|
|
TSNonNullExpression: tsNonNullExpression,
|
|
TSExportAssignment: tsExportAssignment,
|
|
TSNamespaceExportDeclaration: tsNamespaceExportDeclaration,
|
|
TSTypeAnnotation: tsTypeAnnotation,
|
|
TSTypeParameterInstantiation: tsTypeParameterInstantiation,
|
|
TSTypeParameterDeclaration: tsTypeParameterDeclaration,
|
|
TSTypeParameter: tsTypeParameter,
|
|
NumberLiteral: NumberLiteral,
|
|
RegexLiteral: RegexLiteral,
|
|
RestProperty: RestProperty,
|
|
SpreadProperty: SpreadProperty,
|
|
STANDARDIZED_TYPES: STANDARDIZED_TYPES,
|
|
EXPRESSION_TYPES: EXPRESSION_TYPES,
|
|
BINARY_TYPES: BINARY_TYPES,
|
|
SCOPABLE_TYPES: SCOPABLE_TYPES,
|
|
BLOCKPARENT_TYPES: BLOCKPARENT_TYPES,
|
|
BLOCK_TYPES: BLOCK_TYPES,
|
|
STATEMENT_TYPES: STATEMENT_TYPES,
|
|
TERMINATORLESS_TYPES: TERMINATORLESS_TYPES,
|
|
COMPLETIONSTATEMENT_TYPES: COMPLETIONSTATEMENT_TYPES,
|
|
CONDITIONAL_TYPES: CONDITIONAL_TYPES,
|
|
LOOP_TYPES: LOOP_TYPES,
|
|
WHILE_TYPES: WHILE_TYPES,
|
|
EXPRESSIONWRAPPER_TYPES: EXPRESSIONWRAPPER_TYPES,
|
|
FOR_TYPES: FOR_TYPES,
|
|
FORXSTATEMENT_TYPES: FORXSTATEMENT_TYPES,
|
|
FUNCTION_TYPES: FUNCTION_TYPES$1,
|
|
FUNCTIONPARENT_TYPES: FUNCTIONPARENT_TYPES,
|
|
PUREISH_TYPES: PUREISH_TYPES,
|
|
DECLARATION_TYPES: DECLARATION_TYPES,
|
|
PATTERNLIKE_TYPES: PATTERNLIKE_TYPES,
|
|
LVAL_TYPES: LVAL_TYPES,
|
|
TSENTITYNAME_TYPES: TSENTITYNAME_TYPES,
|
|
LITERAL_TYPES: LITERAL_TYPES,
|
|
IMMUTABLE_TYPES: IMMUTABLE_TYPES,
|
|
USERWHITESPACABLE_TYPES: USERWHITESPACABLE_TYPES,
|
|
METHOD_TYPES: METHOD_TYPES,
|
|
OBJECTMEMBER_TYPES: OBJECTMEMBER_TYPES,
|
|
PROPERTY_TYPES: PROPERTY_TYPES,
|
|
UNARYLIKE_TYPES: UNARYLIKE_TYPES,
|
|
PATTERN_TYPES: PATTERN_TYPES,
|
|
CLASS_TYPES: CLASS_TYPES,
|
|
IMPORTOREXPORTDECLARATION_TYPES: IMPORTOREXPORTDECLARATION_TYPES,
|
|
EXPORTDECLARATION_TYPES: EXPORTDECLARATION_TYPES,
|
|
MODULESPECIFIER_TYPES: MODULESPECIFIER_TYPES,
|
|
ACCESSOR_TYPES: ACCESSOR_TYPES,
|
|
PRIVATE_TYPES: PRIVATE_TYPES,
|
|
FLOW_TYPES: FLOW_TYPES,
|
|
FLOWTYPE_TYPES: FLOWTYPE_TYPES,
|
|
FLOWBASEANNOTATION_TYPES: FLOWBASEANNOTATION_TYPES,
|
|
FLOWDECLARATION_TYPES: FLOWDECLARATION_TYPES,
|
|
FLOWPREDICATE_TYPES: FLOWPREDICATE_TYPES,
|
|
ENUMBODY_TYPES: ENUMBODY_TYPES,
|
|
ENUMMEMBER_TYPES: ENUMMEMBER_TYPES,
|
|
JSX_TYPES: JSX_TYPES,
|
|
MISCELLANEOUS_TYPES: MISCELLANEOUS_TYPES,
|
|
TYPESCRIPT_TYPES: TYPESCRIPT_TYPES,
|
|
TSTYPEELEMENT_TYPES: TSTYPEELEMENT_TYPES,
|
|
TSTYPE_TYPES: TSTYPE_TYPES,
|
|
TSBASETYPE_TYPES: TSBASETYPE_TYPES,
|
|
MODULEDECLARATION_TYPES: MODULEDECLARATION_TYPES,
|
|
STATEMENT_OR_BLOCK_KEYS: STATEMENT_OR_BLOCK_KEYS$1,
|
|
FLATTENABLE_KEYS: FLATTENABLE_KEYS,
|
|
FOR_INIT_KEYS: FOR_INIT_KEYS,
|
|
COMMENT_KEYS: COMMENT_KEYS,
|
|
LOGICAL_OPERATORS: LOGICAL_OPERATORS$3,
|
|
UPDATE_OPERATORS: UPDATE_OPERATORS,
|
|
BOOLEAN_NUMBER_BINARY_OPERATORS: BOOLEAN_NUMBER_BINARY_OPERATORS$1,
|
|
EQUALITY_BINARY_OPERATORS: EQUALITY_BINARY_OPERATORS,
|
|
COMPARISON_BINARY_OPERATORS: COMPARISON_BINARY_OPERATORS,
|
|
BOOLEAN_BINARY_OPERATORS: BOOLEAN_BINARY_OPERATORS$1,
|
|
NUMBER_BINARY_OPERATORS: NUMBER_BINARY_OPERATORS$1,
|
|
BINARY_OPERATORS: BINARY_OPERATORS,
|
|
ASSIGNMENT_OPERATORS: ASSIGNMENT_OPERATORS,
|
|
BOOLEAN_UNARY_OPERATORS: BOOLEAN_UNARY_OPERATORS$1,
|
|
NUMBER_UNARY_OPERATORS: NUMBER_UNARY_OPERATORS$1,
|
|
STRING_UNARY_OPERATORS: STRING_UNARY_OPERATORS$1,
|
|
UNARY_OPERATORS: UNARY_OPERATORS,
|
|
INHERIT_KEYS: INHERIT_KEYS,
|
|
BLOCK_SCOPED_SYMBOL: BLOCK_SCOPED_SYMBOL,
|
|
NOT_LOCAL_BINDING: NOT_LOCAL_BINDING$2,
|
|
VISITOR_KEYS: VISITOR_KEYS$5,
|
|
ALIAS_KEYS: ALIAS_KEYS,
|
|
FLIPPED_ALIAS_KEYS: FLIPPED_ALIAS_KEYS$3,
|
|
NODE_FIELDS: NODE_FIELDS,
|
|
BUILDER_KEYS: BUILDER_KEYS,
|
|
DEPRECATED_ALIASES: DEPRECATED_ALIASES$1,
|
|
DEPRECATED_KEYS: DEPRECATED_KEYS$1,
|
|
NODE_PARENT_VALIDATIONS: NODE_PARENT_VALIDATIONS,
|
|
PLACEHOLDERS: PLACEHOLDERS,
|
|
PLACEHOLDERS_ALIAS: PLACEHOLDERS_ALIAS,
|
|
PLACEHOLDERS_FLIPPED_ALIAS: PLACEHOLDERS_FLIPPED_ALIAS,
|
|
TYPES: TYPES$1,
|
|
isArrayExpression: isArrayExpression$2,
|
|
isAssignmentExpression: isAssignmentExpression$4,
|
|
isBinaryExpression: isBinaryExpression$1,
|
|
isInterpreterDirective: isInterpreterDirective,
|
|
isDirective: isDirective,
|
|
isDirectiveLiteral: isDirectiveLiteral,
|
|
isBlockStatement: isBlockStatement$2,
|
|
isBreakStatement: isBreakStatement,
|
|
isCallExpression: isCallExpression$8,
|
|
isCatchClause: isCatchClause,
|
|
isConditionalExpression: isConditionalExpression$1,
|
|
isContinueStatement: isContinueStatement,
|
|
isDebuggerStatement: isDebuggerStatement,
|
|
isDoWhileStatement: isDoWhileStatement,
|
|
isEmptyStatement: isEmptyStatement,
|
|
isExpressionStatement: isExpressionStatement$3,
|
|
isFile: isFile,
|
|
isForInStatement: isForInStatement$1,
|
|
isForStatement: isForStatement$3,
|
|
isFunctionDeclaration: isFunctionDeclaration$2,
|
|
isFunctionExpression: isFunctionExpression$1,
|
|
isIdentifier: isIdentifier$j,
|
|
isIfStatement: isIfStatement$2,
|
|
isLabeledStatement: isLabeledStatement,
|
|
isStringLiteral: isStringLiteral$6,
|
|
isNumericLiteral: isNumericLiteral,
|
|
isNullLiteral: isNullLiteral$2,
|
|
isBooleanLiteral: isBooleanLiteral,
|
|
isRegExpLiteral: isRegExpLiteral$2,
|
|
isLogicalExpression: isLogicalExpression$1,
|
|
isMemberExpression: isMemberExpression$8,
|
|
isNewExpression: isNewExpression$4,
|
|
isProgram: isProgram$1,
|
|
isObjectExpression: isObjectExpression$3,
|
|
isObjectMethod: isObjectMethod$1,
|
|
isObjectProperty: isObjectProperty$5,
|
|
isRestElement: isRestElement$3,
|
|
isReturnStatement: isReturnStatement$1,
|
|
isSequenceExpression: isSequenceExpression$2,
|
|
isParenthesizedExpression: isParenthesizedExpression$1,
|
|
isSwitchCase: isSwitchCase,
|
|
isSwitchStatement: isSwitchStatement$1,
|
|
isThisExpression: isThisExpression$2,
|
|
isThrowStatement: isThrowStatement$1,
|
|
isTryStatement: isTryStatement,
|
|
isUnaryExpression: isUnaryExpression$1,
|
|
isUpdateExpression: isUpdateExpression$2,
|
|
isVariableDeclaration: isVariableDeclaration$3,
|
|
isVariableDeclarator: isVariableDeclarator$2,
|
|
isWhileStatement: isWhileStatement$1,
|
|
isWithStatement: isWithStatement,
|
|
isAssignmentPattern: isAssignmentPattern$5,
|
|
isArrayPattern: isArrayPattern$1,
|
|
isArrowFunctionExpression: isArrowFunctionExpression$1,
|
|
isClassBody: isClassBody$2,
|
|
isClassExpression: isClassExpression$1,
|
|
isClassDeclaration: isClassDeclaration$2,
|
|
isExportAllDeclaration: isExportAllDeclaration$1,
|
|
isExportDefaultDeclaration: isExportDefaultDeclaration$3,
|
|
isExportNamedDeclaration: isExportNamedDeclaration$3,
|
|
isExportSpecifier: isExportSpecifier,
|
|
isForOfStatement: isForOfStatement$2,
|
|
isImportDeclaration: isImportDeclaration$2,
|
|
isImportDefaultSpecifier: isImportDefaultSpecifier$1,
|
|
isImportNamespaceSpecifier: isImportNamespaceSpecifier$1,
|
|
isImportSpecifier: isImportSpecifier$1,
|
|
isMetaProperty: isMetaProperty$1,
|
|
isClassMethod: isClassMethod,
|
|
isObjectPattern: isObjectPattern$2,
|
|
isSpreadElement: isSpreadElement$1,
|
|
isSuper: isSuper$3,
|
|
isTaggedTemplateExpression: isTaggedTemplateExpression$2,
|
|
isTemplateElement: isTemplateElement,
|
|
isTemplateLiteral: isTemplateLiteral$2,
|
|
isYieldExpression: isYieldExpression$1,
|
|
isAwaitExpression: isAwaitExpression$1,
|
|
isImport: isImport,
|
|
isBigIntLiteral: isBigIntLiteral,
|
|
isExportNamespaceSpecifier: isExportNamespaceSpecifier$1,
|
|
isOptionalMemberExpression: isOptionalMemberExpression$3,
|
|
isOptionalCallExpression: isOptionalCallExpression$3,
|
|
isClassProperty: isClassProperty,
|
|
isClassAccessorProperty: isClassAccessorProperty,
|
|
isClassPrivateProperty: isClassPrivateProperty,
|
|
isClassPrivateMethod: isClassPrivateMethod,
|
|
isPrivateName: isPrivateName$3,
|
|
isStaticBlock: isStaticBlock,
|
|
isAnyTypeAnnotation: isAnyTypeAnnotation$1,
|
|
isArrayTypeAnnotation: isArrayTypeAnnotation$2,
|
|
isBooleanTypeAnnotation: isBooleanTypeAnnotation$1,
|
|
isBooleanLiteralTypeAnnotation: isBooleanLiteralTypeAnnotation,
|
|
isNullLiteralTypeAnnotation: isNullLiteralTypeAnnotation,
|
|
isClassImplements: isClassImplements,
|
|
isDeclareClass: isDeclareClass,
|
|
isDeclareFunction: isDeclareFunction,
|
|
isDeclareInterface: isDeclareInterface,
|
|
isDeclareModule: isDeclareModule,
|
|
isDeclareModuleExports: isDeclareModuleExports,
|
|
isDeclareTypeAlias: isDeclareTypeAlias,
|
|
isDeclareOpaqueType: isDeclareOpaqueType,
|
|
isDeclareVariable: isDeclareVariable,
|
|
isDeclareExportDeclaration: isDeclareExportDeclaration$1,
|
|
isDeclareExportAllDeclaration: isDeclareExportAllDeclaration,
|
|
isDeclaredPredicate: isDeclaredPredicate,
|
|
isExistsTypeAnnotation: isExistsTypeAnnotation,
|
|
isFunctionTypeAnnotation: isFunctionTypeAnnotation,
|
|
isFunctionTypeParam: isFunctionTypeParam,
|
|
isGenericTypeAnnotation: isGenericTypeAnnotation$1,
|
|
isInferredPredicate: isInferredPredicate,
|
|
isInterfaceExtends: isInterfaceExtends,
|
|
isInterfaceDeclaration: isInterfaceDeclaration,
|
|
isInterfaceTypeAnnotation: isInterfaceTypeAnnotation,
|
|
isIntersectionTypeAnnotation: isIntersectionTypeAnnotation$1,
|
|
isMixedTypeAnnotation: isMixedTypeAnnotation$1,
|
|
isEmptyTypeAnnotation: isEmptyTypeAnnotation$1,
|
|
isNullableTypeAnnotation: isNullableTypeAnnotation$1,
|
|
isNumberLiteralTypeAnnotation: isNumberLiteralTypeAnnotation,
|
|
isNumberTypeAnnotation: isNumberTypeAnnotation$1,
|
|
isObjectTypeAnnotation: isObjectTypeAnnotation,
|
|
isObjectTypeInternalSlot: isObjectTypeInternalSlot,
|
|
isObjectTypeCallProperty: isObjectTypeCallProperty,
|
|
isObjectTypeIndexer: isObjectTypeIndexer,
|
|
isObjectTypeProperty: isObjectTypeProperty,
|
|
isObjectTypeSpreadProperty: isObjectTypeSpreadProperty,
|
|
isOpaqueType: isOpaqueType,
|
|
isQualifiedTypeIdentifier: isQualifiedTypeIdentifier,
|
|
isStringLiteralTypeAnnotation: isStringLiteralTypeAnnotation,
|
|
isStringTypeAnnotation: isStringTypeAnnotation$1,
|
|
isSymbolTypeAnnotation: isSymbolTypeAnnotation,
|
|
isThisTypeAnnotation: isThisTypeAnnotation,
|
|
isTupleTypeAnnotation: isTupleTypeAnnotation$1,
|
|
isTypeofTypeAnnotation: isTypeofTypeAnnotation,
|
|
isTypeAlias: isTypeAlias,
|
|
isTypeAnnotation: isTypeAnnotation$2,
|
|
isTypeCastExpression: isTypeCastExpression$1,
|
|
isTypeParameter: isTypeParameter,
|
|
isTypeParameterDeclaration: isTypeParameterDeclaration,
|
|
isTypeParameterInstantiation: isTypeParameterInstantiation,
|
|
isUnionTypeAnnotation: isUnionTypeAnnotation$2,
|
|
isVariance: isVariance,
|
|
isVoidTypeAnnotation: isVoidTypeAnnotation$1,
|
|
isEnumDeclaration: isEnumDeclaration,
|
|
isEnumBooleanBody: isEnumBooleanBody,
|
|
isEnumNumberBody: isEnumNumberBody,
|
|
isEnumStringBody: isEnumStringBody,
|
|
isEnumSymbolBody: isEnumSymbolBody,
|
|
isEnumBooleanMember: isEnumBooleanMember,
|
|
isEnumNumberMember: isEnumNumberMember,
|
|
isEnumStringMember: isEnumStringMember,
|
|
isEnumDefaultedMember: isEnumDefaultedMember,
|
|
isIndexedAccessType: isIndexedAccessType$1,
|
|
isOptionalIndexedAccessType: isOptionalIndexedAccessType,
|
|
isJSXAttribute: isJSXAttribute,
|
|
isJSXClosingElement: isJSXClosingElement,
|
|
isJSXElement: isJSXElement,
|
|
isJSXEmptyExpression: isJSXEmptyExpression,
|
|
isJSXExpressionContainer: isJSXExpressionContainer$1,
|
|
isJSXSpreadChild: isJSXSpreadChild,
|
|
isJSXIdentifier: isJSXIdentifier$3,
|
|
isJSXMemberExpression: isJSXMemberExpression$2,
|
|
isJSXNamespacedName: isJSXNamespacedName$1,
|
|
isJSXOpeningElement: isJSXOpeningElement,
|
|
isJSXSpreadAttribute: isJSXSpreadAttribute$1,
|
|
isJSXText: isJSXText,
|
|
isJSXFragment: isJSXFragment,
|
|
isJSXOpeningFragment: isJSXOpeningFragment,
|
|
isJSXClosingFragment: isJSXClosingFragment,
|
|
isNoop: isNoop,
|
|
isPlaceholder: isPlaceholder$1,
|
|
isV8IntrinsicIdentifier: isV8IntrinsicIdentifier,
|
|
isArgumentPlaceholder: isArgumentPlaceholder,
|
|
isBindExpression: isBindExpression,
|
|
isImportAttribute: isImportAttribute,
|
|
isDecorator: isDecorator,
|
|
isDoExpression: isDoExpression,
|
|
isExportDefaultSpecifier: isExportDefaultSpecifier$1,
|
|
isRecordExpression: isRecordExpression$1,
|
|
isTupleExpression: isTupleExpression$1,
|
|
isDecimalLiteral: isDecimalLiteral,
|
|
isModuleExpression: isModuleExpression,
|
|
isTopicReference: isTopicReference$1,
|
|
isPipelineTopicExpression: isPipelineTopicExpression,
|
|
isPipelineBareFunction: isPipelineBareFunction,
|
|
isPipelinePrimaryTopicReference: isPipelinePrimaryTopicReference,
|
|
isTSParameterProperty: isTSParameterProperty,
|
|
isTSDeclareFunction: isTSDeclareFunction,
|
|
isTSDeclareMethod: isTSDeclareMethod,
|
|
isTSQualifiedName: isTSQualifiedName,
|
|
isTSCallSignatureDeclaration: isTSCallSignatureDeclaration,
|
|
isTSConstructSignatureDeclaration: isTSConstructSignatureDeclaration,
|
|
isTSPropertySignature: isTSPropertySignature,
|
|
isTSMethodSignature: isTSMethodSignature,
|
|
isTSIndexSignature: isTSIndexSignature,
|
|
isTSAnyKeyword: isTSAnyKeyword,
|
|
isTSBooleanKeyword: isTSBooleanKeyword,
|
|
isTSBigIntKeyword: isTSBigIntKeyword,
|
|
isTSIntrinsicKeyword: isTSIntrinsicKeyword,
|
|
isTSNeverKeyword: isTSNeverKeyword,
|
|
isTSNullKeyword: isTSNullKeyword,
|
|
isTSNumberKeyword: isTSNumberKeyword,
|
|
isTSObjectKeyword: isTSObjectKeyword,
|
|
isTSStringKeyword: isTSStringKeyword,
|
|
isTSSymbolKeyword: isTSSymbolKeyword,
|
|
isTSUndefinedKeyword: isTSUndefinedKeyword,
|
|
isTSUnknownKeyword: isTSUnknownKeyword,
|
|
isTSVoidKeyword: isTSVoidKeyword,
|
|
isTSThisType: isTSThisType,
|
|
isTSFunctionType: isTSFunctionType,
|
|
isTSConstructorType: isTSConstructorType,
|
|
isTSTypeReference: isTSTypeReference$1,
|
|
isTSTypePredicate: isTSTypePredicate,
|
|
isTSTypeQuery: isTSTypeQuery,
|
|
isTSTypeLiteral: isTSTypeLiteral,
|
|
isTSArrayType: isTSArrayType$2,
|
|
isTSTupleType: isTSTupleType,
|
|
isTSOptionalType: isTSOptionalType$1,
|
|
isTSRestType: isTSRestType$1,
|
|
isTSNamedTupleMember: isTSNamedTupleMember,
|
|
isTSUnionType: isTSUnionType$1,
|
|
isTSIntersectionType: isTSIntersectionType$1,
|
|
isTSConditionalType: isTSConditionalType,
|
|
isTSInferType: isTSInferType,
|
|
isTSParenthesizedType: isTSParenthesizedType,
|
|
isTSTypeOperator: isTSTypeOperator,
|
|
isTSIndexedAccessType: isTSIndexedAccessType,
|
|
isTSMappedType: isTSMappedType,
|
|
isTSLiteralType: isTSLiteralType,
|
|
isTSExpressionWithTypeArguments: isTSExpressionWithTypeArguments,
|
|
isTSInterfaceDeclaration: isTSInterfaceDeclaration,
|
|
isTSInterfaceBody: isTSInterfaceBody$1,
|
|
isTSTypeAliasDeclaration: isTSTypeAliasDeclaration,
|
|
isTSInstantiationExpression: isTSInstantiationExpression$1,
|
|
isTSAsExpression: isTSAsExpression$2,
|
|
isTSSatisfiesExpression: isTSSatisfiesExpression$2,
|
|
isTSTypeAssertion: isTSTypeAssertion$2,
|
|
isTSEnumDeclaration: isTSEnumDeclaration$1,
|
|
isTSEnumMember: isTSEnumMember,
|
|
isTSModuleDeclaration: isTSModuleDeclaration,
|
|
isTSModuleBlock: isTSModuleBlock,
|
|
isTSImportType: isTSImportType,
|
|
isTSImportEqualsDeclaration: isTSImportEqualsDeclaration,
|
|
isTSExternalModuleReference: isTSExternalModuleReference,
|
|
isTSNonNullExpression: isTSNonNullExpression$2,
|
|
isTSExportAssignment: isTSExportAssignment,
|
|
isTSNamespaceExportDeclaration: isTSNamespaceExportDeclaration,
|
|
isTSTypeAnnotation: isTSTypeAnnotation$1,
|
|
isTSTypeParameterInstantiation: isTSTypeParameterInstantiation,
|
|
isTSTypeParameterDeclaration: isTSTypeParameterDeclaration,
|
|
isTSTypeParameter: isTSTypeParameter,
|
|
isStandardized: isStandardized,
|
|
isExpression: isExpression$4,
|
|
isBinary: isBinary$3,
|
|
isScopable: isScopable,
|
|
isBlockParent: isBlockParent,
|
|
isBlock: isBlock,
|
|
isStatement: isStatement$8,
|
|
isTerminatorless: isTerminatorless,
|
|
isCompletionStatement: isCompletionStatement,
|
|
isConditional: isConditional$1,
|
|
isLoop: isLoop$1,
|
|
isWhile: isWhile,
|
|
isExpressionWrapper: isExpressionWrapper,
|
|
isFor: isFor$2,
|
|
isForXStatement: isForXStatement$1,
|
|
isFunction: isFunction$4,
|
|
isFunctionParent: isFunctionParent,
|
|
isPureish: isPureish$2,
|
|
isDeclaration: isDeclaration$1,
|
|
isPatternLike: isPatternLike,
|
|
isLVal: isLVal,
|
|
isTSEntityName: isTSEntityName,
|
|
isLiteral: isLiteral$6,
|
|
isUserWhitespacable: isUserWhitespacable,
|
|
isMethod: isMethod$1,
|
|
isObjectMember: isObjectMember,
|
|
isProperty: isProperty$1,
|
|
isUnaryLike: isUnaryLike$1,
|
|
isPattern: isPattern,
|
|
isClass: isClass$2,
|
|
isImportOrExportDeclaration: isImportOrExportDeclaration,
|
|
isExportDeclaration: isExportDeclaration$3,
|
|
isModuleSpecifier: isModuleSpecifier$1,
|
|
isAccessor: isAccessor,
|
|
isPrivate: isPrivate,
|
|
isFlow: isFlow$1,
|
|
isFlowType: isFlowType$1,
|
|
isFlowBaseAnnotation: isFlowBaseAnnotation$1,
|
|
isFlowDeclaration: isFlowDeclaration,
|
|
isFlowPredicate: isFlowPredicate,
|
|
isEnumBody: isEnumBody,
|
|
isEnumMember: isEnumMember,
|
|
isJSX: isJSX,
|
|
isMiscellaneous: isMiscellaneous,
|
|
isTypeScript: isTypeScript,
|
|
isTSTypeElement: isTSTypeElement,
|
|
isTSType: isTSType,
|
|
isTSBaseType: isTSBaseType,
|
|
isNumberLiteral: isNumberLiteral,
|
|
isRegexLiteral: isRegexLiteral,
|
|
isRestProperty: isRestProperty$1,
|
|
isSpreadProperty: isSpreadProperty$1,
|
|
isModuleDeclaration: isModuleDeclaration
|
|
});
|
|
|
|
var DEPRECATED_KEYS = DEPRECATED_KEYS$1,
|
|
DEPRECATED_ALIASES = DEPRECATED_ALIASES$1,
|
|
FLIPPED_ALIAS_KEYS$2 = FLIPPED_ALIAS_KEYS$3,
|
|
TYPES = TYPES$1,
|
|
deprecationWarning = deprecationWarning$1;
|
|
function isVirtualType(type) {
|
|
return type in virtualTypes;
|
|
}
|
|
function explode$1(visitor) {
|
|
if (visitor._exploded) return visitor;
|
|
visitor._exploded = true;
|
|
for (var _i = 0, _arr = Object.keys(visitor); _i < _arr.length; _i++) {
|
|
var nodeType = _arr[_i];
|
|
if (shouldIgnoreKey(nodeType)) continue;
|
|
var parts = nodeType.split("|");
|
|
if (parts.length === 1) continue;
|
|
var fns = visitor[nodeType];
|
|
delete visitor[nodeType];
|
|
for (var _iterator = _createForOfIteratorHelperLoose(parts), _step; !(_step = _iterator()).done;) {
|
|
var part = _step.value;
|
|
visitor[part] = fns;
|
|
}
|
|
}
|
|
verify(visitor);
|
|
delete visitor.__esModule;
|
|
ensureEntranceObjects(visitor);
|
|
ensureCallbackArrays(visitor);
|
|
for (var _i2 = 0, _Object$keys = Object.keys(visitor); _i2 < _Object$keys.length; _i2++) {
|
|
var _nodeType = _Object$keys[_i2];
|
|
if (shouldIgnoreKey(_nodeType)) continue;
|
|
if (!isVirtualType(_nodeType)) continue;
|
|
var _fns = visitor[_nodeType];
|
|
for (var _i3 = 0, _Object$keys2 = Object.keys(_fns); _i3 < _Object$keys2.length; _i3++) {
|
|
var type = _Object$keys2[_i3];
|
|
_fns[type] = wrapCheck(_nodeType, _fns[type]);
|
|
}
|
|
delete visitor[_nodeType];
|
|
var types = virtualTypes[_nodeType];
|
|
if (types !== null) {
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(types), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _type = _step2.value;
|
|
if (visitor[_type]) {
|
|
mergePair(visitor[_type], _fns);
|
|
} else {
|
|
visitor[_type] = _fns;
|
|
}
|
|
}
|
|
} else {
|
|
mergePair(visitor, _fns);
|
|
}
|
|
}
|
|
for (var _i4 = 0, _arr2 = Object.keys(visitor); _i4 < _arr2.length; _i4++) {
|
|
var _nodeType2 = _arr2[_i4];
|
|
if (shouldIgnoreKey(_nodeType2)) continue;
|
|
var aliases = FLIPPED_ALIAS_KEYS$2[_nodeType2];
|
|
if (_nodeType2 in DEPRECATED_KEYS) {
|
|
var deprecatedKey = DEPRECATED_KEYS[_nodeType2];
|
|
deprecationWarning(_nodeType2, deprecatedKey, "Visitor ");
|
|
aliases = [deprecatedKey];
|
|
} else if (_nodeType2 in DEPRECATED_ALIASES) {
|
|
var deprecatedAlias = DEPRECATED_ALIASES[_nodeType2];
|
|
deprecationWarning(_nodeType2, deprecatedAlias, "Visitor ");
|
|
aliases = FLIPPED_ALIAS_KEYS$2[deprecatedAlias];
|
|
}
|
|
if (!aliases) continue;
|
|
var _fns2 = visitor[_nodeType2];
|
|
delete visitor[_nodeType2];
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(aliases), _step3; !(_step3 = _iterator3()).done;) {
|
|
var alias = _step3.value;
|
|
var existing = visitor[alias];
|
|
if (existing) {
|
|
mergePair(existing, _fns2);
|
|
} else {
|
|
visitor[alias] = Object.assign({}, _fns2);
|
|
}
|
|
}
|
|
}
|
|
for (var _i5 = 0, _Object$keys3 = Object.keys(visitor); _i5 < _Object$keys3.length; _i5++) {
|
|
var _nodeType3 = _Object$keys3[_i5];
|
|
if (shouldIgnoreKey(_nodeType3)) continue;
|
|
ensureCallbackArrays(visitor[_nodeType3]);
|
|
}
|
|
return visitor;
|
|
}
|
|
function verify(visitor) {
|
|
if (visitor._verified) return;
|
|
if (typeof visitor === "function") {
|
|
throw new Error("You passed `traverse()` a function when it expected a visitor object, " + "are you sure you didn't mean `{ enter: Function }`?");
|
|
}
|
|
for (var _i6 = 0, _arr3 = Object.keys(visitor); _i6 < _arr3.length; _i6++) {
|
|
var nodeType = _arr3[_i6];
|
|
if (nodeType === "enter" || nodeType === "exit") {
|
|
validateVisitorMethods(nodeType, visitor[nodeType]);
|
|
}
|
|
if (shouldIgnoreKey(nodeType)) continue;
|
|
if (TYPES.indexOf(nodeType) < 0) {
|
|
throw new Error("You gave us a visitor for the node type " + nodeType + " but it's not a valid type");
|
|
}
|
|
var _visitors = visitor[nodeType];
|
|
if (typeof _visitors === "object") {
|
|
for (var _i7 = 0, _Object$keys4 = Object.keys(_visitors); _i7 < _Object$keys4.length; _i7++) {
|
|
var visitorKey = _Object$keys4[_i7];
|
|
if (visitorKey === "enter" || visitorKey === "exit") {
|
|
validateVisitorMethods(nodeType + "." + visitorKey, _visitors[visitorKey]);
|
|
} else {
|
|
throw new Error("You passed `traverse()` a visitor object with the property " + (nodeType + " that has the invalid property " + visitorKey));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
visitor._verified = true;
|
|
}
|
|
function validateVisitorMethods(path, val) {
|
|
var fns = [].concat(val);
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(fns), _step4; !(_step4 = _iterator4()).done;) {
|
|
var fn = _step4.value;
|
|
if (typeof fn !== "function") {
|
|
throw new TypeError("Non-function found defined in " + path + " with type " + typeof fn);
|
|
}
|
|
}
|
|
}
|
|
function merge$1(visitors, states, wrapper) {
|
|
if (states === void 0) {
|
|
states = [];
|
|
}
|
|
var rootVisitor = {};
|
|
for (var i = 0; i < visitors.length; i++) {
|
|
var visitor = visitors[i];
|
|
var state = states[i];
|
|
explode$1(visitor);
|
|
for (var _i8 = 0, _arr4 = Object.keys(visitor); _i8 < _arr4.length; _i8++) {
|
|
var type = _arr4[_i8];
|
|
var visitorType = visitor[type];
|
|
if (state || wrapper) {
|
|
visitorType = wrapWithStateOrWrapper(visitorType, state, wrapper);
|
|
}
|
|
var nodeVisitor = rootVisitor[type] || (rootVisitor[type] = {});
|
|
mergePair(nodeVisitor, visitorType);
|
|
}
|
|
}
|
|
return rootVisitor;
|
|
}
|
|
function wrapWithStateOrWrapper(oldVisitor, state, wrapper) {
|
|
var newVisitor = {};
|
|
var _loop = function _loop() {
|
|
var key = _arr5[_i9];
|
|
var fns = oldVisitor[key];
|
|
if (!Array.isArray(fns)) return "continue";
|
|
fns = fns.map(function (fn) {
|
|
var newFn = fn;
|
|
if (state) {
|
|
newFn = function newFn(path) {
|
|
return fn.call(state, path, state);
|
|
};
|
|
}
|
|
if (wrapper) {
|
|
newFn = wrapper(state.key, key, newFn);
|
|
}
|
|
if (newFn !== fn) {
|
|
newFn.toString = function () {
|
|
return fn.toString();
|
|
};
|
|
}
|
|
return newFn;
|
|
});
|
|
newVisitor[key] = fns;
|
|
};
|
|
for (var _i9 = 0, _arr5 = Object.keys(oldVisitor); _i9 < _arr5.length; _i9++) {
|
|
var _ret = _loop();
|
|
if (_ret === "continue") continue;
|
|
}
|
|
return newVisitor;
|
|
}
|
|
function ensureEntranceObjects(obj) {
|
|
for (var _i10 = 0, _arr6 = Object.keys(obj); _i10 < _arr6.length; _i10++) {
|
|
var key = _arr6[_i10];
|
|
if (shouldIgnoreKey(key)) continue;
|
|
var fns = obj[key];
|
|
if (typeof fns === "function") {
|
|
obj[key] = {
|
|
enter: fns
|
|
};
|
|
}
|
|
}
|
|
}
|
|
function ensureCallbackArrays(obj) {
|
|
if (obj.enter && !Array.isArray(obj.enter)) obj.enter = [obj.enter];
|
|
if (obj.exit && !Array.isArray(obj.exit)) obj.exit = [obj.exit];
|
|
}
|
|
function wrapCheck(nodeType, fn) {
|
|
var newFn = function newFn(path) {
|
|
if (path["is" + nodeType]()) {
|
|
return fn.apply(this, arguments);
|
|
}
|
|
};
|
|
newFn.toString = function () {
|
|
return fn.toString();
|
|
};
|
|
return newFn;
|
|
}
|
|
function shouldIgnoreKey(key) {
|
|
if (key[0] === "_") return true;
|
|
if (key === "enter" || key === "exit" || key === "shouldSkip") return true;
|
|
if (key === "denylist" || key === "noScope" || key === "skipKeys") {
|
|
return true;
|
|
}
|
|
{
|
|
if (key === "blacklist") {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function mergePair(dest, src) {
|
|
for (var _i11 = 0, _Object$keys5 = Object.keys(src); _i11 < _Object$keys5.length; _i11++) {
|
|
var key = _Object$keys5[_i11];
|
|
dest[key] = [].concat(dest[key] || [], src[key]);
|
|
}
|
|
}
|
|
|
|
var visitors = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
explode: explode$1,
|
|
verify: verify,
|
|
merge: merge$1
|
|
});
|
|
|
|
var path$2 = new WeakMap();
|
|
var scope = new WeakMap();
|
|
function clear() {
|
|
clearPath();
|
|
clearScope();
|
|
}
|
|
function clearPath() {
|
|
path$2 = new WeakMap();
|
|
}
|
|
function clearScope() {
|
|
scope = new WeakMap();
|
|
}
|
|
|
|
var cache$1 = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
get path () { return path$2; },
|
|
get scope () { return scope; },
|
|
clear: clear,
|
|
clearPath: clearPath,
|
|
clearScope: clearScope
|
|
});
|
|
|
|
var browser$4 = {exports: {}};
|
|
|
|
var ms;
|
|
var hasRequiredMs;
|
|
function requireMs() {
|
|
if (hasRequiredMs) return ms;
|
|
hasRequiredMs = 1;
|
|
var s = 1000;
|
|
var m = s * 60;
|
|
var h = m * 60;
|
|
var d = h * 24;
|
|
var w = d * 7;
|
|
var y = d * 365.25;
|
|
ms = function ms(val, options) {
|
|
options = options || {};
|
|
var type = typeof val;
|
|
if (type === 'string' && val.length > 0) {
|
|
return parse(val);
|
|
} else if (type === 'number' && isFinite(val)) {
|
|
return options["long"] ? fmtLong(val) : fmtShort(val);
|
|
}
|
|
throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));
|
|
};
|
|
function parse(str) {
|
|
str = String(str);
|
|
if (str.length > 100) {
|
|
return;
|
|
}
|
|
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
|
|
if (!match) {
|
|
return;
|
|
}
|
|
var n = parseFloat(match[1]);
|
|
var type = (match[2] || 'ms').toLowerCase();
|
|
switch (type) {
|
|
case 'years':
|
|
case 'year':
|
|
case 'yrs':
|
|
case 'yr':
|
|
case 'y':
|
|
return n * y;
|
|
case 'weeks':
|
|
case 'week':
|
|
case 'w':
|
|
return n * w;
|
|
case 'days':
|
|
case 'day':
|
|
case 'd':
|
|
return n * d;
|
|
case 'hours':
|
|
case 'hour':
|
|
case 'hrs':
|
|
case 'hr':
|
|
case 'h':
|
|
return n * h;
|
|
case 'minutes':
|
|
case 'minute':
|
|
case 'mins':
|
|
case 'min':
|
|
case 'm':
|
|
return n * m;
|
|
case 'seconds':
|
|
case 'second':
|
|
case 'secs':
|
|
case 'sec':
|
|
case 's':
|
|
return n * s;
|
|
case 'milliseconds':
|
|
case 'millisecond':
|
|
case 'msecs':
|
|
case 'msec':
|
|
case 'ms':
|
|
return n;
|
|
default:
|
|
return undefined;
|
|
}
|
|
}
|
|
function fmtShort(ms) {
|
|
var msAbs = Math.abs(ms);
|
|
if (msAbs >= d) {
|
|
return Math.round(ms / d) + 'd';
|
|
}
|
|
if (msAbs >= h) {
|
|
return Math.round(ms / h) + 'h';
|
|
}
|
|
if (msAbs >= m) {
|
|
return Math.round(ms / m) + 'm';
|
|
}
|
|
if (msAbs >= s) {
|
|
return Math.round(ms / s) + 's';
|
|
}
|
|
return ms + 'ms';
|
|
}
|
|
function fmtLong(ms) {
|
|
var msAbs = Math.abs(ms);
|
|
if (msAbs >= d) {
|
|
return plural(ms, msAbs, d, 'day');
|
|
}
|
|
if (msAbs >= h) {
|
|
return plural(ms, msAbs, h, 'hour');
|
|
}
|
|
if (msAbs >= m) {
|
|
return plural(ms, msAbs, m, 'minute');
|
|
}
|
|
if (msAbs >= s) {
|
|
return plural(ms, msAbs, s, 'second');
|
|
}
|
|
return ms + ' ms';
|
|
}
|
|
function plural(ms, msAbs, n, name) {
|
|
var isPlural = msAbs >= n * 1.5;
|
|
return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
|
|
}
|
|
return ms;
|
|
}
|
|
|
|
function setup$1(env) {
|
|
createDebug.debug = createDebug;
|
|
createDebug["default"] = createDebug;
|
|
createDebug.coerce = coerce;
|
|
createDebug.disable = disable;
|
|
createDebug.enable = enable;
|
|
createDebug.enabled = enabled;
|
|
createDebug.humanize = requireMs();
|
|
createDebug.destroy = destroy;
|
|
Object.keys(env).forEach(function (key) {
|
|
createDebug[key] = env[key];
|
|
});
|
|
createDebug.names = [];
|
|
createDebug.skips = [];
|
|
createDebug.formatters = {};
|
|
function selectColor(namespace) {
|
|
var hash = 0;
|
|
for (var i = 0; i < namespace.length; i++) {
|
|
hash = (hash << 5) - hash + namespace.charCodeAt(i);
|
|
hash |= 0;
|
|
}
|
|
return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
|
|
}
|
|
createDebug.selectColor = selectColor;
|
|
function createDebug(namespace) {
|
|
var prevTime;
|
|
var enableOverride = null;
|
|
var namespacesCache;
|
|
var enabledCache;
|
|
function debug() {
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
if (!debug.enabled) {
|
|
return;
|
|
}
|
|
var self = debug;
|
|
var curr = Number(new Date());
|
|
var ms = curr - (prevTime || curr);
|
|
self.diff = ms;
|
|
self.prev = prevTime;
|
|
self.curr = curr;
|
|
prevTime = curr;
|
|
args[0] = createDebug.coerce(args[0]);
|
|
if (typeof args[0] !== 'string') {
|
|
args.unshift('%O');
|
|
}
|
|
var index = 0;
|
|
args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {
|
|
if (match === '%%') {
|
|
return '%';
|
|
}
|
|
index++;
|
|
var formatter = createDebug.formatters[format];
|
|
if (typeof formatter === 'function') {
|
|
var val = args[index];
|
|
match = formatter.call(self, val);
|
|
args.splice(index, 1);
|
|
index--;
|
|
}
|
|
return match;
|
|
});
|
|
createDebug.formatArgs.call(self, args);
|
|
var logFn = self.log || createDebug.log;
|
|
logFn.apply(self, args);
|
|
}
|
|
debug.namespace = namespace;
|
|
debug.useColors = createDebug.useColors();
|
|
debug.color = createDebug.selectColor(namespace);
|
|
debug.extend = extend;
|
|
debug.destroy = createDebug.destroy;
|
|
Object.defineProperty(debug, 'enabled', {
|
|
enumerable: true,
|
|
configurable: false,
|
|
get: function get() {
|
|
if (enableOverride !== null) {
|
|
return enableOverride;
|
|
}
|
|
if (namespacesCache !== createDebug.namespaces) {
|
|
namespacesCache = createDebug.namespaces;
|
|
enabledCache = createDebug.enabled(namespace);
|
|
}
|
|
return enabledCache;
|
|
},
|
|
set: function set(v) {
|
|
enableOverride = v;
|
|
}
|
|
});
|
|
if (typeof createDebug.init === 'function') {
|
|
createDebug.init(debug);
|
|
}
|
|
return debug;
|
|
}
|
|
function extend(namespace, delimiter) {
|
|
var newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
|
|
newDebug.log = this.log;
|
|
return newDebug;
|
|
}
|
|
function enable(namespaces) {
|
|
createDebug.save(namespaces);
|
|
createDebug.namespaces = namespaces;
|
|
createDebug.names = [];
|
|
createDebug.skips = [];
|
|
var i;
|
|
var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
|
|
var len = split.length;
|
|
for (i = 0; i < len; i++) {
|
|
if (!split[i]) {
|
|
continue;
|
|
}
|
|
namespaces = split[i].replace(/\*/g, '.*?');
|
|
if (namespaces[0] === '-') {
|
|
createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
|
|
} else {
|
|
createDebug.names.push(new RegExp('^' + namespaces + '$'));
|
|
}
|
|
}
|
|
}
|
|
function disable() {
|
|
var namespaces = [].concat(_toConsumableArray(createDebug.names.map(toNamespace)), _toConsumableArray(createDebug.skips.map(toNamespace).map(function (namespace) {
|
|
return '-' + namespace;
|
|
}))).join(',');
|
|
createDebug.enable('');
|
|
return namespaces;
|
|
}
|
|
function enabled(name) {
|
|
if (name[name.length - 1] === '*') {
|
|
return true;
|
|
}
|
|
var i;
|
|
var len;
|
|
for (i = 0, len = createDebug.skips.length; i < len; i++) {
|
|
if (createDebug.skips[i].test(name)) {
|
|
return false;
|
|
}
|
|
}
|
|
for (i = 0, len = createDebug.names.length; i < len; i++) {
|
|
if (createDebug.names[i].test(name)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function toNamespace(regexp) {
|
|
return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, '*');
|
|
}
|
|
function coerce(val) {
|
|
if (val instanceof Error) {
|
|
return val.stack || val.message;
|
|
}
|
|
return val;
|
|
}
|
|
function destroy() {
|
|
console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
|
|
}
|
|
createDebug.enable(createDebug.load());
|
|
return createDebug;
|
|
}
|
|
var common = setup$1;
|
|
|
|
(function (module, exports) {
|
|
exports.formatArgs = formatArgs;
|
|
exports.save = save;
|
|
exports.load = load;
|
|
exports.useColors = useColors;
|
|
exports.storage = localstorage();
|
|
exports.destroy = function () {
|
|
var warned = false;
|
|
return function () {
|
|
if (!warned) {
|
|
warned = true;
|
|
console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
|
|
}
|
|
};
|
|
}();
|
|
exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'];
|
|
function useColors() {
|
|
if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
|
|
return true;
|
|
}
|
|
if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
|
|
return false;
|
|
}
|
|
return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
|
|
}
|
|
function formatArgs(args) {
|
|
args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff);
|
|
if (!this.useColors) {
|
|
return;
|
|
}
|
|
var c = 'color: ' + this.color;
|
|
args.splice(1, 0, c, 'color: inherit');
|
|
var index = 0;
|
|
var lastC = 0;
|
|
args[0].replace(/%[a-zA-Z%]/g, function (match) {
|
|
if (match === '%%') {
|
|
return;
|
|
}
|
|
index++;
|
|
if (match === '%c') {
|
|
lastC = index;
|
|
}
|
|
});
|
|
args.splice(lastC, 0, c);
|
|
}
|
|
exports.log = console.debug || console.log || function () {};
|
|
function save(namespaces) {
|
|
try {
|
|
if (namespaces) {
|
|
exports.storage.setItem('debug', namespaces);
|
|
} else {
|
|
exports.storage.removeItem('debug');
|
|
}
|
|
} catch (error) {}
|
|
}
|
|
function load() {
|
|
var r;
|
|
try {
|
|
r = exports.storage.getItem('debug');
|
|
} catch (error) {}
|
|
if (!r && typeof browser$1$1 !== 'undefined' && 'env' in browser$1$1) {
|
|
r = browser$1$1.env.DEBUG;
|
|
}
|
|
return r;
|
|
}
|
|
function localstorage() {
|
|
try {
|
|
return localStorage;
|
|
} catch (error) {}
|
|
}
|
|
module.exports = common(exports);
|
|
var formatters = module.exports.formatters;
|
|
formatters.j = function (v) {
|
|
try {
|
|
return JSON.stringify(v);
|
|
} catch (error) {
|
|
return '[UnexpectedJSONParseError]: ' + error.message;
|
|
}
|
|
};
|
|
})(browser$4, browser$4.exports);
|
|
var buildDebug = browser$4.exports;
|
|
|
|
var cloneNode$i = cloneNode$j,
|
|
exportNamedDeclaration$1 = exportNamedDeclaration$2,
|
|
exportSpecifier$1 = exportSpecifier$2,
|
|
identifier$h = identifier$i,
|
|
variableDeclaration$7 = variableDeclaration$8,
|
|
variableDeclarator$7 = variableDeclarator$8;
|
|
function splitExportDeclaration(exportDeclaration) {
|
|
if (!exportDeclaration.isExportDeclaration() || exportDeclaration.isExportAllDeclaration()) {
|
|
throw new Error("Only default and named export declarations can be split.");
|
|
}
|
|
if (exportDeclaration.isExportDefaultDeclaration()) {
|
|
var _declaration = exportDeclaration.get("declaration");
|
|
var standaloneDeclaration = _declaration.isFunctionDeclaration() || _declaration.isClassDeclaration();
|
|
var scope = _declaration.isScope() ? _declaration.scope.parent : _declaration.scope;
|
|
var id = _declaration.node.id;
|
|
var needBindingRegistration = false;
|
|
if (!id) {
|
|
needBindingRegistration = true;
|
|
id = scope.generateUidIdentifier("default");
|
|
if (standaloneDeclaration || _declaration.isFunctionExpression() || _declaration.isClassExpression()) {
|
|
_declaration.node.id = cloneNode$i(id);
|
|
}
|
|
}
|
|
var updatedDeclaration = standaloneDeclaration ? _declaration.node : variableDeclaration$7("var", [variableDeclarator$7(cloneNode$i(id), _declaration.node)]);
|
|
var updatedExportDeclaration = exportNamedDeclaration$1(null, [exportSpecifier$1(cloneNode$i(id), identifier$h("default"))]);
|
|
exportDeclaration.insertAfter(updatedExportDeclaration);
|
|
exportDeclaration.replaceWith(updatedDeclaration);
|
|
if (needBindingRegistration) {
|
|
scope.registerDeclaration(exportDeclaration);
|
|
}
|
|
return exportDeclaration;
|
|
} else if (exportDeclaration.get("specifiers").length > 0) {
|
|
throw new Error("It doesn't make sense to split exported specifiers.");
|
|
}
|
|
var declaration = exportDeclaration.get("declaration");
|
|
var bindingIdentifiers = declaration.getOuterBindingIdentifiers();
|
|
var specifiers = Object.keys(bindingIdentifiers).map(function (name) {
|
|
return exportSpecifier$1(identifier$h(name), identifier$h(name));
|
|
});
|
|
var aliasDeclar = exportNamedDeclaration$1(null, specifiers);
|
|
exportDeclaration.insertAfter(aliasDeclar);
|
|
exportDeclaration.replaceWith(declaration.node);
|
|
return exportDeclaration;
|
|
}
|
|
|
|
function requeueComputedKeyAndDecorators(path) {
|
|
var context = path.context,
|
|
node = path.node;
|
|
if (node.computed) {
|
|
context.maybeQueue(path.get("key"));
|
|
}
|
|
if (node.decorators) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(path.get("decorators")), _step; !(_step = _iterator()).done;) {
|
|
var decorator = _step.value;
|
|
context.maybeQueue(decorator);
|
|
}
|
|
}
|
|
}
|
|
var visitor$5 = {
|
|
FunctionParent: function FunctionParent(path) {
|
|
if (path.isArrowFunctionExpression()) {
|
|
return;
|
|
} else {
|
|
path.skip();
|
|
if (path.isMethod()) {
|
|
requeueComputedKeyAndDecorators(path);
|
|
}
|
|
}
|
|
},
|
|
Property: function Property(path) {
|
|
if (path.isObjectProperty()) {
|
|
return;
|
|
}
|
|
path.skip();
|
|
requeueComputedKeyAndDecorators(path);
|
|
}
|
|
};
|
|
|
|
var renameVisitor = {
|
|
ReferencedIdentifier: function ReferencedIdentifier(_ref, state) {
|
|
var node = _ref.node;
|
|
if (node.name === state.oldName) {
|
|
node.name = state.newName;
|
|
}
|
|
},
|
|
Scope: function Scope(path, state) {
|
|
if (!path.scope.bindingIdentifierEquals(state.oldName, state.binding.identifier)) {
|
|
path.skip();
|
|
if (path.isMethod()) {
|
|
requeueComputedKeyAndDecorators(path);
|
|
}
|
|
}
|
|
},
|
|
"AssignmentExpression|Declaration|VariableDeclarator": function AssignmentExpressionDeclarationVariableDeclarator(path, state) {
|
|
if (path.isVariableDeclaration()) return;
|
|
var ids = path.getOuterBindingIdentifiers();
|
|
for (var name in ids) {
|
|
if (name === state.oldName) ids[name].name = state.newName;
|
|
}
|
|
}
|
|
};
|
|
var Renamer = function () {
|
|
function Renamer(binding, oldName, newName) {
|
|
this.newName = newName;
|
|
this.oldName = oldName;
|
|
this.binding = binding;
|
|
}
|
|
var _proto = Renamer.prototype;
|
|
_proto.maybeConvertFromExportDeclaration = function maybeConvertFromExportDeclaration(parentDeclar) {
|
|
var maybeExportDeclar = parentDeclar.parentPath;
|
|
if (!maybeExportDeclar.isExportDeclaration()) {
|
|
return;
|
|
}
|
|
if (maybeExportDeclar.isExportDefaultDeclaration()) {
|
|
var declaration = maybeExportDeclar.node.declaration;
|
|
if (isDeclaration$1(declaration) && !declaration.id) {
|
|
return;
|
|
}
|
|
}
|
|
if (maybeExportDeclar.isExportAllDeclaration()) {
|
|
return;
|
|
}
|
|
splitExportDeclaration(maybeExportDeclar);
|
|
};
|
|
_proto.maybeConvertFromClassFunctionDeclaration = function maybeConvertFromClassFunctionDeclaration(path) {
|
|
return path;
|
|
};
|
|
_proto.maybeConvertFromClassFunctionExpression = function maybeConvertFromClassFunctionExpression(path) {
|
|
return path;
|
|
};
|
|
_proto.rename = function rename() {
|
|
var binding = this.binding,
|
|
oldName = this.oldName,
|
|
newName = this.newName;
|
|
var scope = binding.scope,
|
|
path = binding.path;
|
|
var parentDeclar = path.find(function (path) {
|
|
return path.isDeclaration() || path.isFunctionExpression() || path.isClassExpression();
|
|
});
|
|
if (parentDeclar) {
|
|
var bindingIds = parentDeclar.getOuterBindingIdentifiers();
|
|
if (bindingIds[oldName] === binding.identifier) {
|
|
this.maybeConvertFromExportDeclaration(parentDeclar);
|
|
}
|
|
}
|
|
var blockToTraverse = arguments[0] || scope.block;
|
|
traverseNode(blockToTraverse, explode$1(renameVisitor), scope, this, scope.path, {
|
|
discriminant: true
|
|
});
|
|
if (!arguments[0]) {
|
|
scope.removeOwnBinding(oldName);
|
|
scope.bindings[newName] = binding;
|
|
this.binding.identifier.name = newName;
|
|
}
|
|
if (parentDeclar) {
|
|
this.maybeConvertFromClassFunctionDeclaration(path);
|
|
this.maybeConvertFromClassFunctionExpression(path);
|
|
}
|
|
};
|
|
return _createClass(Renamer);
|
|
}();
|
|
|
|
var Binding = function () {
|
|
function Binding(_ref) {
|
|
var identifier = _ref.identifier,
|
|
scope = _ref.scope,
|
|
path = _ref.path,
|
|
kind = _ref.kind;
|
|
this.identifier = void 0;
|
|
this.scope = void 0;
|
|
this.path = void 0;
|
|
this.kind = void 0;
|
|
this.constantViolations = [];
|
|
this.constant = true;
|
|
this.referencePaths = [];
|
|
this.referenced = false;
|
|
this.references = 0;
|
|
this.identifier = identifier;
|
|
this.scope = scope;
|
|
this.path = path;
|
|
this.kind = kind;
|
|
if ((kind === "var" || kind === "hoisted") && isDeclaredInLoop(path || function () {
|
|
throw new Error("Internal Babel error: unreachable ");
|
|
}())) {
|
|
this.reassign(path);
|
|
}
|
|
this.clearValue();
|
|
}
|
|
var _proto = Binding.prototype;
|
|
_proto.deoptValue = function deoptValue() {
|
|
this.clearValue();
|
|
this.hasDeoptedValue = true;
|
|
};
|
|
_proto.setValue = function setValue(value) {
|
|
if (this.hasDeoptedValue) return;
|
|
this.hasValue = true;
|
|
this.value = value;
|
|
};
|
|
_proto.clearValue = function clearValue() {
|
|
this.hasDeoptedValue = false;
|
|
this.hasValue = false;
|
|
this.value = null;
|
|
};
|
|
_proto.reassign = function reassign(path) {
|
|
this.constant = false;
|
|
if (this.constantViolations.indexOf(path) !== -1) {
|
|
return;
|
|
}
|
|
this.constantViolations.push(path);
|
|
};
|
|
_proto.reference = function reference(path) {
|
|
if (this.referencePaths.indexOf(path) !== -1) {
|
|
return;
|
|
}
|
|
this.referenced = true;
|
|
this.references++;
|
|
this.referencePaths.push(path);
|
|
};
|
|
_proto.dereference = function dereference() {
|
|
this.references--;
|
|
this.referenced = !!this.references;
|
|
};
|
|
return _createClass(Binding);
|
|
}();
|
|
function isDeclaredInLoop(path) {
|
|
for (var parentPath = path.parentPath, key = path.key; parentPath; _parentPath = parentPath, parentPath = _parentPath.parentPath, key = _parentPath.key, _parentPath) {
|
|
var _parentPath;
|
|
if (parentPath.isFunctionParent()) return false;
|
|
if (parentPath.isWhile() || parentPath.isForXStatement() || parentPath.isForStatement() && key === "body") {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
var builtin$1 = {
|
|
"Array": false,
|
|
"ArrayBuffer": false,
|
|
Atomics: false,
|
|
BigInt: false,
|
|
BigInt64Array: false,
|
|
BigUint64Array: false,
|
|
"Boolean": false,
|
|
constructor: false,
|
|
"DataView": false,
|
|
"Date": false,
|
|
"decodeURI": false,
|
|
"decodeURIComponent": false,
|
|
"encodeURI": false,
|
|
"encodeURIComponent": false,
|
|
"Error": false,
|
|
"escape": false,
|
|
"eval": false,
|
|
"EvalError": false,
|
|
FinalizationRegistry: false,
|
|
"Float32Array": false,
|
|
"Float64Array": false,
|
|
"Function": false,
|
|
globalThis: false,
|
|
hasOwnProperty: false,
|
|
"Infinity": false,
|
|
"Int16Array": false,
|
|
"Int32Array": false,
|
|
"Int8Array": false,
|
|
"isFinite": false,
|
|
"isNaN": false,
|
|
isPrototypeOf: false,
|
|
"JSON": false,
|
|
"Map": false,
|
|
"Math": false,
|
|
"NaN": false,
|
|
"Number": false,
|
|
"Object": false,
|
|
"parseFloat": false,
|
|
"parseInt": false,
|
|
"Promise": false,
|
|
propertyIsEnumerable: false,
|
|
"Proxy": false,
|
|
"RangeError": false,
|
|
"ReferenceError": false,
|
|
"Reflect": false,
|
|
"RegExp": false,
|
|
"Set": false,
|
|
SharedArrayBuffer: false,
|
|
"String": false,
|
|
"Symbol": false,
|
|
"SyntaxError": false,
|
|
toLocaleString: false,
|
|
toString: false,
|
|
"TypeError": false,
|
|
"Uint16Array": false,
|
|
"Uint32Array": false,
|
|
"Uint8Array": false,
|
|
"Uint8ClampedArray": false,
|
|
"undefined": false,
|
|
"unescape": false,
|
|
"URIError": false,
|
|
valueOf: false,
|
|
"WeakMap": false,
|
|
WeakRef: false,
|
|
"WeakSet": false
|
|
};
|
|
var es5$1 = {
|
|
"Array": false,
|
|
"Boolean": false,
|
|
constructor: false,
|
|
"Date": false,
|
|
"decodeURI": false,
|
|
"decodeURIComponent": false,
|
|
"encodeURI": false,
|
|
"encodeURIComponent": false,
|
|
"Error": false,
|
|
"escape": false,
|
|
"eval": false,
|
|
"EvalError": false,
|
|
"Function": false,
|
|
hasOwnProperty: false,
|
|
"Infinity": false,
|
|
"isFinite": false,
|
|
"isNaN": false,
|
|
isPrototypeOf: false,
|
|
"JSON": false,
|
|
"Math": false,
|
|
"NaN": false,
|
|
"Number": false,
|
|
"Object": false,
|
|
"parseFloat": false,
|
|
"parseInt": false,
|
|
propertyIsEnumerable: false,
|
|
"RangeError": false,
|
|
"ReferenceError": false,
|
|
"RegExp": false,
|
|
"String": false,
|
|
"SyntaxError": false,
|
|
toLocaleString: false,
|
|
toString: false,
|
|
"TypeError": false,
|
|
"undefined": false,
|
|
"unescape": false,
|
|
"URIError": false,
|
|
valueOf: false
|
|
};
|
|
var es2015$1 = {
|
|
"Array": false,
|
|
"ArrayBuffer": false,
|
|
"Boolean": false,
|
|
constructor: false,
|
|
"DataView": false,
|
|
"Date": false,
|
|
"decodeURI": false,
|
|
"decodeURIComponent": false,
|
|
"encodeURI": false,
|
|
"encodeURIComponent": false,
|
|
"Error": false,
|
|
"escape": false,
|
|
"eval": false,
|
|
"EvalError": false,
|
|
"Float32Array": false,
|
|
"Float64Array": false,
|
|
"Function": false,
|
|
hasOwnProperty: false,
|
|
"Infinity": false,
|
|
"Int16Array": false,
|
|
"Int32Array": false,
|
|
"Int8Array": false,
|
|
"isFinite": false,
|
|
"isNaN": false,
|
|
isPrototypeOf: false,
|
|
"JSON": false,
|
|
"Map": false,
|
|
"Math": false,
|
|
"NaN": false,
|
|
"Number": false,
|
|
"Object": false,
|
|
"parseFloat": false,
|
|
"parseInt": false,
|
|
"Promise": false,
|
|
propertyIsEnumerable: false,
|
|
"Proxy": false,
|
|
"RangeError": false,
|
|
"ReferenceError": false,
|
|
"Reflect": false,
|
|
"RegExp": false,
|
|
"Set": false,
|
|
"String": false,
|
|
"Symbol": false,
|
|
"SyntaxError": false,
|
|
toLocaleString: false,
|
|
toString: false,
|
|
"TypeError": false,
|
|
"Uint16Array": false,
|
|
"Uint32Array": false,
|
|
"Uint8Array": false,
|
|
"Uint8ClampedArray": false,
|
|
"undefined": false,
|
|
"unescape": false,
|
|
"URIError": false,
|
|
valueOf: false,
|
|
"WeakMap": false,
|
|
"WeakSet": false
|
|
};
|
|
var es2017$1 = {
|
|
"Array": false,
|
|
"ArrayBuffer": false,
|
|
Atomics: false,
|
|
"Boolean": false,
|
|
constructor: false,
|
|
"DataView": false,
|
|
"Date": false,
|
|
"decodeURI": false,
|
|
"decodeURIComponent": false,
|
|
"encodeURI": false,
|
|
"encodeURIComponent": false,
|
|
"Error": false,
|
|
"escape": false,
|
|
"eval": false,
|
|
"EvalError": false,
|
|
"Float32Array": false,
|
|
"Float64Array": false,
|
|
"Function": false,
|
|
hasOwnProperty: false,
|
|
"Infinity": false,
|
|
"Int16Array": false,
|
|
"Int32Array": false,
|
|
"Int8Array": false,
|
|
"isFinite": false,
|
|
"isNaN": false,
|
|
isPrototypeOf: false,
|
|
"JSON": false,
|
|
"Map": false,
|
|
"Math": false,
|
|
"NaN": false,
|
|
"Number": false,
|
|
"Object": false,
|
|
"parseFloat": false,
|
|
"parseInt": false,
|
|
"Promise": false,
|
|
propertyIsEnumerable: false,
|
|
"Proxy": false,
|
|
"RangeError": false,
|
|
"ReferenceError": false,
|
|
"Reflect": false,
|
|
"RegExp": false,
|
|
"Set": false,
|
|
SharedArrayBuffer: false,
|
|
"String": false,
|
|
"Symbol": false,
|
|
"SyntaxError": false,
|
|
toLocaleString: false,
|
|
toString: false,
|
|
"TypeError": false,
|
|
"Uint16Array": false,
|
|
"Uint32Array": false,
|
|
"Uint8Array": false,
|
|
"Uint8ClampedArray": false,
|
|
"undefined": false,
|
|
"unescape": false,
|
|
"URIError": false,
|
|
valueOf: false,
|
|
"WeakMap": false,
|
|
"WeakSet": false
|
|
};
|
|
var es2020 = {
|
|
"Array": false,
|
|
"ArrayBuffer": false,
|
|
Atomics: false,
|
|
BigInt: false,
|
|
BigInt64Array: false,
|
|
BigUint64Array: false,
|
|
"Boolean": false,
|
|
constructor: false,
|
|
"DataView": false,
|
|
"Date": false,
|
|
"decodeURI": false,
|
|
"decodeURIComponent": false,
|
|
"encodeURI": false,
|
|
"encodeURIComponent": false,
|
|
"Error": false,
|
|
"escape": false,
|
|
"eval": false,
|
|
"EvalError": false,
|
|
"Float32Array": false,
|
|
"Float64Array": false,
|
|
"Function": false,
|
|
globalThis: false,
|
|
hasOwnProperty: false,
|
|
"Infinity": false,
|
|
"Int16Array": false,
|
|
"Int32Array": false,
|
|
"Int8Array": false,
|
|
"isFinite": false,
|
|
"isNaN": false,
|
|
isPrototypeOf: false,
|
|
"JSON": false,
|
|
"Map": false,
|
|
"Math": false,
|
|
"NaN": false,
|
|
"Number": false,
|
|
"Object": false,
|
|
"parseFloat": false,
|
|
"parseInt": false,
|
|
"Promise": false,
|
|
propertyIsEnumerable: false,
|
|
"Proxy": false,
|
|
"RangeError": false,
|
|
"ReferenceError": false,
|
|
"Reflect": false,
|
|
"RegExp": false,
|
|
"Set": false,
|
|
SharedArrayBuffer: false,
|
|
"String": false,
|
|
"Symbol": false,
|
|
"SyntaxError": false,
|
|
toLocaleString: false,
|
|
toString: false,
|
|
"TypeError": false,
|
|
"Uint16Array": false,
|
|
"Uint32Array": false,
|
|
"Uint8Array": false,
|
|
"Uint8ClampedArray": false,
|
|
"undefined": false,
|
|
"unescape": false,
|
|
"URIError": false,
|
|
valueOf: false,
|
|
"WeakMap": false,
|
|
"WeakSet": false
|
|
};
|
|
var es2021 = {
|
|
"Array": false,
|
|
"ArrayBuffer": false,
|
|
Atomics: false,
|
|
BigInt: false,
|
|
BigInt64Array: false,
|
|
BigUint64Array: false,
|
|
"Boolean": false,
|
|
constructor: false,
|
|
"DataView": false,
|
|
"Date": false,
|
|
"decodeURI": false,
|
|
"decodeURIComponent": false,
|
|
"encodeURI": false,
|
|
"encodeURIComponent": false,
|
|
"Error": false,
|
|
"escape": false,
|
|
"eval": false,
|
|
"EvalError": false,
|
|
FinalizationRegistry: false,
|
|
"Float32Array": false,
|
|
"Float64Array": false,
|
|
"Function": false,
|
|
globalThis: false,
|
|
hasOwnProperty: false,
|
|
"Infinity": false,
|
|
"Int16Array": false,
|
|
"Int32Array": false,
|
|
"Int8Array": false,
|
|
"isFinite": false,
|
|
"isNaN": false,
|
|
isPrototypeOf: false,
|
|
"JSON": false,
|
|
"Map": false,
|
|
"Math": false,
|
|
"NaN": false,
|
|
"Number": false,
|
|
"Object": false,
|
|
"parseFloat": false,
|
|
"parseInt": false,
|
|
"Promise": false,
|
|
propertyIsEnumerable: false,
|
|
"Proxy": false,
|
|
"RangeError": false,
|
|
"ReferenceError": false,
|
|
"Reflect": false,
|
|
"RegExp": false,
|
|
"Set": false,
|
|
SharedArrayBuffer: false,
|
|
"String": false,
|
|
"Symbol": false,
|
|
"SyntaxError": false,
|
|
toLocaleString: false,
|
|
toString: false,
|
|
"TypeError": false,
|
|
"Uint16Array": false,
|
|
"Uint32Array": false,
|
|
"Uint8Array": false,
|
|
"Uint8ClampedArray": false,
|
|
"undefined": false,
|
|
"unescape": false,
|
|
"URIError": false,
|
|
valueOf: false,
|
|
"WeakMap": false,
|
|
WeakRef: false,
|
|
"WeakSet": false
|
|
};
|
|
var browser$3 = {
|
|
AbortController: false,
|
|
AbortSignal: false,
|
|
addEventListener: false,
|
|
alert: false,
|
|
AnalyserNode: false,
|
|
Animation: false,
|
|
AnimationEffectReadOnly: false,
|
|
AnimationEffectTiming: false,
|
|
AnimationEffectTimingReadOnly: false,
|
|
AnimationEvent: false,
|
|
AnimationPlaybackEvent: false,
|
|
AnimationTimeline: false,
|
|
applicationCache: false,
|
|
ApplicationCache: false,
|
|
ApplicationCacheErrorEvent: false,
|
|
atob: false,
|
|
Attr: false,
|
|
Audio: false,
|
|
AudioBuffer: false,
|
|
AudioBufferSourceNode: false,
|
|
AudioContext: false,
|
|
AudioDestinationNode: false,
|
|
AudioListener: false,
|
|
AudioNode: false,
|
|
AudioParam: false,
|
|
AudioProcessingEvent: false,
|
|
AudioScheduledSourceNode: false,
|
|
"AudioWorkletGlobalScope ": false,
|
|
AudioWorkletNode: false,
|
|
AudioWorkletProcessor: false,
|
|
BarProp: false,
|
|
BaseAudioContext: false,
|
|
BatteryManager: false,
|
|
BeforeUnloadEvent: false,
|
|
BiquadFilterNode: false,
|
|
Blob: false,
|
|
BlobEvent: false,
|
|
blur: false,
|
|
BroadcastChannel: false,
|
|
btoa: false,
|
|
BudgetService: false,
|
|
ByteLengthQueuingStrategy: false,
|
|
Cache: false,
|
|
caches: false,
|
|
CacheStorage: false,
|
|
cancelAnimationFrame: false,
|
|
cancelIdleCallback: false,
|
|
CanvasCaptureMediaStreamTrack: false,
|
|
CanvasGradient: false,
|
|
CanvasPattern: false,
|
|
CanvasRenderingContext2D: false,
|
|
ChannelMergerNode: false,
|
|
ChannelSplitterNode: false,
|
|
CharacterData: false,
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
clientInformation: false,
|
|
ClipboardEvent: false,
|
|
close: false,
|
|
closed: false,
|
|
CloseEvent: false,
|
|
Comment: false,
|
|
CompositionEvent: false,
|
|
confirm: false,
|
|
console: false,
|
|
ConstantSourceNode: false,
|
|
ConvolverNode: false,
|
|
CountQueuingStrategy: false,
|
|
createImageBitmap: false,
|
|
Credential: false,
|
|
CredentialsContainer: false,
|
|
crypto: false,
|
|
Crypto: false,
|
|
CryptoKey: false,
|
|
CSS: false,
|
|
CSSConditionRule: false,
|
|
CSSFontFaceRule: false,
|
|
CSSGroupingRule: false,
|
|
CSSImportRule: false,
|
|
CSSKeyframeRule: false,
|
|
CSSKeyframesRule: false,
|
|
CSSMediaRule: false,
|
|
CSSNamespaceRule: false,
|
|
CSSPageRule: false,
|
|
CSSRule: false,
|
|
CSSRuleList: false,
|
|
CSSStyleDeclaration: false,
|
|
CSSStyleRule: false,
|
|
CSSStyleSheet: false,
|
|
CSSSupportsRule: false,
|
|
CustomElementRegistry: false,
|
|
customElements: false,
|
|
CustomEvent: false,
|
|
DataTransfer: false,
|
|
DataTransferItem: false,
|
|
DataTransferItemList: false,
|
|
defaultstatus: false,
|
|
defaultStatus: false,
|
|
DelayNode: false,
|
|
DeviceMotionEvent: false,
|
|
DeviceOrientationEvent: false,
|
|
devicePixelRatio: false,
|
|
dispatchEvent: false,
|
|
document: false,
|
|
Document: false,
|
|
DocumentFragment: false,
|
|
DocumentType: false,
|
|
DOMError: false,
|
|
DOMException: false,
|
|
DOMImplementation: false,
|
|
DOMMatrix: false,
|
|
DOMMatrixReadOnly: false,
|
|
DOMParser: false,
|
|
DOMPoint: false,
|
|
DOMPointReadOnly: false,
|
|
DOMQuad: false,
|
|
DOMRect: false,
|
|
DOMRectReadOnly: false,
|
|
DOMStringList: false,
|
|
DOMStringMap: false,
|
|
DOMTokenList: false,
|
|
DragEvent: false,
|
|
DynamicsCompressorNode: false,
|
|
Element: false,
|
|
ErrorEvent: false,
|
|
event: false,
|
|
Event: false,
|
|
EventSource: false,
|
|
EventTarget: false,
|
|
external: false,
|
|
fetch: false,
|
|
File: false,
|
|
FileList: false,
|
|
FileReader: false,
|
|
find: false,
|
|
focus: false,
|
|
FocusEvent: false,
|
|
FontFace: false,
|
|
FontFaceSetLoadEvent: false,
|
|
FormData: false,
|
|
frameElement: false,
|
|
frames: false,
|
|
GainNode: false,
|
|
Gamepad: false,
|
|
GamepadButton: false,
|
|
GamepadEvent: false,
|
|
getComputedStyle: false,
|
|
getSelection: false,
|
|
HashChangeEvent: false,
|
|
Headers: false,
|
|
history: false,
|
|
History: false,
|
|
HTMLAllCollection: false,
|
|
HTMLAnchorElement: false,
|
|
HTMLAreaElement: false,
|
|
HTMLAudioElement: false,
|
|
HTMLBaseElement: false,
|
|
HTMLBodyElement: false,
|
|
HTMLBRElement: false,
|
|
HTMLButtonElement: false,
|
|
HTMLCanvasElement: false,
|
|
HTMLCollection: false,
|
|
HTMLContentElement: false,
|
|
HTMLDataElement: false,
|
|
HTMLDataListElement: false,
|
|
HTMLDetailsElement: false,
|
|
HTMLDialogElement: false,
|
|
HTMLDirectoryElement: false,
|
|
HTMLDivElement: false,
|
|
HTMLDListElement: false,
|
|
HTMLDocument: false,
|
|
HTMLElement: false,
|
|
HTMLEmbedElement: false,
|
|
HTMLFieldSetElement: false,
|
|
HTMLFontElement: false,
|
|
HTMLFormControlsCollection: false,
|
|
HTMLFormElement: false,
|
|
HTMLFrameElement: false,
|
|
HTMLFrameSetElement: false,
|
|
HTMLHeadElement: false,
|
|
HTMLHeadingElement: false,
|
|
HTMLHRElement: false,
|
|
HTMLHtmlElement: false,
|
|
HTMLIFrameElement: false,
|
|
HTMLImageElement: false,
|
|
HTMLInputElement: false,
|
|
HTMLLabelElement: false,
|
|
HTMLLegendElement: false,
|
|
HTMLLIElement: false,
|
|
HTMLLinkElement: false,
|
|
HTMLMapElement: false,
|
|
HTMLMarqueeElement: false,
|
|
HTMLMediaElement: false,
|
|
HTMLMenuElement: false,
|
|
HTMLMetaElement: false,
|
|
HTMLMeterElement: false,
|
|
HTMLModElement: false,
|
|
HTMLObjectElement: false,
|
|
HTMLOListElement: false,
|
|
HTMLOptGroupElement: false,
|
|
HTMLOptionElement: false,
|
|
HTMLOptionsCollection: false,
|
|
HTMLOutputElement: false,
|
|
HTMLParagraphElement: false,
|
|
HTMLParamElement: false,
|
|
HTMLPictureElement: false,
|
|
HTMLPreElement: false,
|
|
HTMLProgressElement: false,
|
|
HTMLQuoteElement: false,
|
|
HTMLScriptElement: false,
|
|
HTMLSelectElement: false,
|
|
HTMLShadowElement: false,
|
|
HTMLSlotElement: false,
|
|
HTMLSourceElement: false,
|
|
HTMLSpanElement: false,
|
|
HTMLStyleElement: false,
|
|
HTMLTableCaptionElement: false,
|
|
HTMLTableCellElement: false,
|
|
HTMLTableColElement: false,
|
|
HTMLTableElement: false,
|
|
HTMLTableRowElement: false,
|
|
HTMLTableSectionElement: false,
|
|
HTMLTemplateElement: false,
|
|
HTMLTextAreaElement: false,
|
|
HTMLTimeElement: false,
|
|
HTMLTitleElement: false,
|
|
HTMLTrackElement: false,
|
|
HTMLUListElement: false,
|
|
HTMLUnknownElement: false,
|
|
HTMLVideoElement: false,
|
|
IDBCursor: false,
|
|
IDBCursorWithValue: false,
|
|
IDBDatabase: false,
|
|
IDBFactory: false,
|
|
IDBIndex: false,
|
|
IDBKeyRange: false,
|
|
IDBObjectStore: false,
|
|
IDBOpenDBRequest: false,
|
|
IDBRequest: false,
|
|
IDBTransaction: false,
|
|
IDBVersionChangeEvent: false,
|
|
IdleDeadline: false,
|
|
IIRFilterNode: false,
|
|
Image: false,
|
|
ImageBitmap: false,
|
|
ImageBitmapRenderingContext: false,
|
|
ImageCapture: false,
|
|
ImageData: false,
|
|
indexedDB: false,
|
|
innerHeight: false,
|
|
innerWidth: false,
|
|
InputEvent: false,
|
|
IntersectionObserver: false,
|
|
IntersectionObserverEntry: false,
|
|
"Intl": false,
|
|
isSecureContext: false,
|
|
KeyboardEvent: false,
|
|
KeyframeEffect: false,
|
|
KeyframeEffectReadOnly: false,
|
|
length: false,
|
|
localStorage: false,
|
|
location: true,
|
|
Location: false,
|
|
locationbar: false,
|
|
matchMedia: false,
|
|
MediaDeviceInfo: false,
|
|
MediaDevices: false,
|
|
MediaElementAudioSourceNode: false,
|
|
MediaEncryptedEvent: false,
|
|
MediaError: false,
|
|
MediaKeyMessageEvent: false,
|
|
MediaKeySession: false,
|
|
MediaKeyStatusMap: false,
|
|
MediaKeySystemAccess: false,
|
|
MediaList: false,
|
|
MediaQueryList: false,
|
|
MediaQueryListEvent: false,
|
|
MediaRecorder: false,
|
|
MediaSettingsRange: false,
|
|
MediaSource: false,
|
|
MediaStream: false,
|
|
MediaStreamAudioDestinationNode: false,
|
|
MediaStreamAudioSourceNode: false,
|
|
MediaStreamEvent: false,
|
|
MediaStreamTrack: false,
|
|
MediaStreamTrackEvent: false,
|
|
menubar: false,
|
|
MessageChannel: false,
|
|
MessageEvent: false,
|
|
MessagePort: false,
|
|
MIDIAccess: false,
|
|
MIDIConnectionEvent: false,
|
|
MIDIInput: false,
|
|
MIDIInputMap: false,
|
|
MIDIMessageEvent: false,
|
|
MIDIOutput: false,
|
|
MIDIOutputMap: false,
|
|
MIDIPort: false,
|
|
MimeType: false,
|
|
MimeTypeArray: false,
|
|
MouseEvent: false,
|
|
moveBy: false,
|
|
moveTo: false,
|
|
MutationEvent: false,
|
|
MutationObserver: false,
|
|
MutationRecord: false,
|
|
name: false,
|
|
NamedNodeMap: false,
|
|
NavigationPreloadManager: false,
|
|
navigator: false,
|
|
Navigator: false,
|
|
NetworkInformation: false,
|
|
Node: false,
|
|
NodeFilter: false,
|
|
NodeIterator: false,
|
|
NodeList: false,
|
|
Notification: false,
|
|
OfflineAudioCompletionEvent: false,
|
|
OfflineAudioContext: false,
|
|
offscreenBuffering: false,
|
|
OffscreenCanvas: true,
|
|
OffscreenCanvasRenderingContext2D: false,
|
|
onabort: true,
|
|
onafterprint: true,
|
|
onanimationend: true,
|
|
onanimationiteration: true,
|
|
onanimationstart: true,
|
|
onappinstalled: true,
|
|
onauxclick: true,
|
|
onbeforeinstallprompt: true,
|
|
onbeforeprint: true,
|
|
onbeforeunload: true,
|
|
onblur: true,
|
|
oncancel: true,
|
|
oncanplay: true,
|
|
oncanplaythrough: true,
|
|
onchange: true,
|
|
onclick: true,
|
|
onclose: true,
|
|
oncontextmenu: true,
|
|
oncuechange: true,
|
|
ondblclick: true,
|
|
ondevicemotion: true,
|
|
ondeviceorientation: true,
|
|
ondeviceorientationabsolute: true,
|
|
ondrag: true,
|
|
ondragend: true,
|
|
ondragenter: true,
|
|
ondragleave: true,
|
|
ondragover: true,
|
|
ondragstart: true,
|
|
ondrop: true,
|
|
ondurationchange: true,
|
|
onemptied: true,
|
|
onended: true,
|
|
onerror: true,
|
|
onfocus: true,
|
|
ongotpointercapture: true,
|
|
onhashchange: true,
|
|
oninput: true,
|
|
oninvalid: true,
|
|
onkeydown: true,
|
|
onkeypress: true,
|
|
onkeyup: true,
|
|
onlanguagechange: true,
|
|
onload: true,
|
|
onloadeddata: true,
|
|
onloadedmetadata: true,
|
|
onloadstart: true,
|
|
onlostpointercapture: true,
|
|
onmessage: true,
|
|
onmessageerror: true,
|
|
onmousedown: true,
|
|
onmouseenter: true,
|
|
onmouseleave: true,
|
|
onmousemove: true,
|
|
onmouseout: true,
|
|
onmouseover: true,
|
|
onmouseup: true,
|
|
onmousewheel: true,
|
|
onoffline: true,
|
|
ononline: true,
|
|
onpagehide: true,
|
|
onpageshow: true,
|
|
onpause: true,
|
|
onplay: true,
|
|
onplaying: true,
|
|
onpointercancel: true,
|
|
onpointerdown: true,
|
|
onpointerenter: true,
|
|
onpointerleave: true,
|
|
onpointermove: true,
|
|
onpointerout: true,
|
|
onpointerover: true,
|
|
onpointerup: true,
|
|
onpopstate: true,
|
|
onprogress: true,
|
|
onratechange: true,
|
|
onrejectionhandled: true,
|
|
onreset: true,
|
|
onresize: true,
|
|
onscroll: true,
|
|
onsearch: true,
|
|
onseeked: true,
|
|
onseeking: true,
|
|
onselect: true,
|
|
onstalled: true,
|
|
onstorage: true,
|
|
onsubmit: true,
|
|
onsuspend: true,
|
|
ontimeupdate: true,
|
|
ontoggle: true,
|
|
ontransitionend: true,
|
|
onunhandledrejection: true,
|
|
onunload: true,
|
|
onvolumechange: true,
|
|
onwaiting: true,
|
|
onwheel: true,
|
|
open: false,
|
|
openDatabase: false,
|
|
opener: false,
|
|
Option: false,
|
|
origin: false,
|
|
OscillatorNode: false,
|
|
outerHeight: false,
|
|
outerWidth: false,
|
|
PageTransitionEvent: false,
|
|
pageXOffset: false,
|
|
pageYOffset: false,
|
|
PannerNode: false,
|
|
parent: false,
|
|
Path2D: false,
|
|
PaymentAddress: false,
|
|
PaymentRequest: false,
|
|
PaymentRequestUpdateEvent: false,
|
|
PaymentResponse: false,
|
|
performance: false,
|
|
Performance: false,
|
|
PerformanceEntry: false,
|
|
PerformanceLongTaskTiming: false,
|
|
PerformanceMark: false,
|
|
PerformanceMeasure: false,
|
|
PerformanceNavigation: false,
|
|
PerformanceNavigationTiming: false,
|
|
PerformanceObserver: false,
|
|
PerformanceObserverEntryList: false,
|
|
PerformancePaintTiming: false,
|
|
PerformanceResourceTiming: false,
|
|
PerformanceTiming: false,
|
|
PeriodicWave: false,
|
|
Permissions: false,
|
|
PermissionStatus: false,
|
|
personalbar: false,
|
|
PhotoCapabilities: false,
|
|
Plugin: false,
|
|
PluginArray: false,
|
|
PointerEvent: false,
|
|
PopStateEvent: false,
|
|
postMessage: false,
|
|
Presentation: false,
|
|
PresentationAvailability: false,
|
|
PresentationConnection: false,
|
|
PresentationConnectionAvailableEvent: false,
|
|
PresentationConnectionCloseEvent: false,
|
|
PresentationConnectionList: false,
|
|
PresentationReceiver: false,
|
|
PresentationRequest: false,
|
|
print: false,
|
|
ProcessingInstruction: false,
|
|
ProgressEvent: false,
|
|
PromiseRejectionEvent: false,
|
|
prompt: false,
|
|
PushManager: false,
|
|
PushSubscription: false,
|
|
PushSubscriptionOptions: false,
|
|
queueMicrotask: false,
|
|
RadioNodeList: false,
|
|
Range: false,
|
|
ReadableStream: false,
|
|
registerProcessor: false,
|
|
RemotePlayback: false,
|
|
removeEventListener: false,
|
|
Request: false,
|
|
requestAnimationFrame: false,
|
|
requestIdleCallback: false,
|
|
resizeBy: false,
|
|
ResizeObserver: false,
|
|
ResizeObserverEntry: false,
|
|
resizeTo: false,
|
|
Response: false,
|
|
RTCCertificate: false,
|
|
RTCDataChannel: false,
|
|
RTCDataChannelEvent: false,
|
|
RTCDtlsTransport: false,
|
|
RTCIceCandidate: false,
|
|
RTCIceGatherer: false,
|
|
RTCIceTransport: false,
|
|
RTCPeerConnection: false,
|
|
RTCPeerConnectionIceEvent: false,
|
|
RTCRtpContributingSource: false,
|
|
RTCRtpReceiver: false,
|
|
RTCRtpSender: false,
|
|
RTCSctpTransport: false,
|
|
RTCSessionDescription: false,
|
|
RTCStatsReport: false,
|
|
RTCTrackEvent: false,
|
|
screen: false,
|
|
Screen: false,
|
|
screenLeft: false,
|
|
ScreenOrientation: false,
|
|
screenTop: false,
|
|
screenX: false,
|
|
screenY: false,
|
|
ScriptProcessorNode: false,
|
|
scroll: false,
|
|
scrollbars: false,
|
|
scrollBy: false,
|
|
scrollTo: false,
|
|
scrollX: false,
|
|
scrollY: false,
|
|
SecurityPolicyViolationEvent: false,
|
|
Selection: false,
|
|
self: false,
|
|
ServiceWorker: false,
|
|
ServiceWorkerContainer: false,
|
|
ServiceWorkerRegistration: false,
|
|
sessionStorage: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
ShadowRoot: false,
|
|
SharedWorker: false,
|
|
SourceBuffer: false,
|
|
SourceBufferList: false,
|
|
speechSynthesis: false,
|
|
SpeechSynthesisEvent: false,
|
|
SpeechSynthesisUtterance: false,
|
|
StaticRange: false,
|
|
status: false,
|
|
statusbar: false,
|
|
StereoPannerNode: false,
|
|
stop: false,
|
|
Storage: false,
|
|
StorageEvent: false,
|
|
StorageManager: false,
|
|
styleMedia: false,
|
|
StyleSheet: false,
|
|
StyleSheetList: false,
|
|
SubtleCrypto: false,
|
|
SVGAElement: false,
|
|
SVGAngle: false,
|
|
SVGAnimatedAngle: false,
|
|
SVGAnimatedBoolean: false,
|
|
SVGAnimatedEnumeration: false,
|
|
SVGAnimatedInteger: false,
|
|
SVGAnimatedLength: false,
|
|
SVGAnimatedLengthList: false,
|
|
SVGAnimatedNumber: false,
|
|
SVGAnimatedNumberList: false,
|
|
SVGAnimatedPreserveAspectRatio: false,
|
|
SVGAnimatedRect: false,
|
|
SVGAnimatedString: false,
|
|
SVGAnimatedTransformList: false,
|
|
SVGAnimateElement: false,
|
|
SVGAnimateMotionElement: false,
|
|
SVGAnimateTransformElement: false,
|
|
SVGAnimationElement: false,
|
|
SVGCircleElement: false,
|
|
SVGClipPathElement: false,
|
|
SVGComponentTransferFunctionElement: false,
|
|
SVGDefsElement: false,
|
|
SVGDescElement: false,
|
|
SVGDiscardElement: false,
|
|
SVGElement: false,
|
|
SVGEllipseElement: false,
|
|
SVGFEBlendElement: false,
|
|
SVGFEColorMatrixElement: false,
|
|
SVGFEComponentTransferElement: false,
|
|
SVGFECompositeElement: false,
|
|
SVGFEConvolveMatrixElement: false,
|
|
SVGFEDiffuseLightingElement: false,
|
|
SVGFEDisplacementMapElement: false,
|
|
SVGFEDistantLightElement: false,
|
|
SVGFEDropShadowElement: false,
|
|
SVGFEFloodElement: false,
|
|
SVGFEFuncAElement: false,
|
|
SVGFEFuncBElement: false,
|
|
SVGFEFuncGElement: false,
|
|
SVGFEFuncRElement: false,
|
|
SVGFEGaussianBlurElement: false,
|
|
SVGFEImageElement: false,
|
|
SVGFEMergeElement: false,
|
|
SVGFEMergeNodeElement: false,
|
|
SVGFEMorphologyElement: false,
|
|
SVGFEOffsetElement: false,
|
|
SVGFEPointLightElement: false,
|
|
SVGFESpecularLightingElement: false,
|
|
SVGFESpotLightElement: false,
|
|
SVGFETileElement: false,
|
|
SVGFETurbulenceElement: false,
|
|
SVGFilterElement: false,
|
|
SVGForeignObjectElement: false,
|
|
SVGGElement: false,
|
|
SVGGeometryElement: false,
|
|
SVGGradientElement: false,
|
|
SVGGraphicsElement: false,
|
|
SVGImageElement: false,
|
|
SVGLength: false,
|
|
SVGLengthList: false,
|
|
SVGLinearGradientElement: false,
|
|
SVGLineElement: false,
|
|
SVGMarkerElement: false,
|
|
SVGMaskElement: false,
|
|
SVGMatrix: false,
|
|
SVGMetadataElement: false,
|
|
SVGMPathElement: false,
|
|
SVGNumber: false,
|
|
SVGNumberList: false,
|
|
SVGPathElement: false,
|
|
SVGPatternElement: false,
|
|
SVGPoint: false,
|
|
SVGPointList: false,
|
|
SVGPolygonElement: false,
|
|
SVGPolylineElement: false,
|
|
SVGPreserveAspectRatio: false,
|
|
SVGRadialGradientElement: false,
|
|
SVGRect: false,
|
|
SVGRectElement: false,
|
|
SVGScriptElement: false,
|
|
SVGSetElement: false,
|
|
SVGStopElement: false,
|
|
SVGStringList: false,
|
|
SVGStyleElement: false,
|
|
SVGSVGElement: false,
|
|
SVGSwitchElement: false,
|
|
SVGSymbolElement: false,
|
|
SVGTextContentElement: false,
|
|
SVGTextElement: false,
|
|
SVGTextPathElement: false,
|
|
SVGTextPositioningElement: false,
|
|
SVGTitleElement: false,
|
|
SVGTransform: false,
|
|
SVGTransformList: false,
|
|
SVGTSpanElement: false,
|
|
SVGUnitTypes: false,
|
|
SVGUseElement: false,
|
|
SVGViewElement: false,
|
|
TaskAttributionTiming: false,
|
|
Text: false,
|
|
TextDecoder: false,
|
|
TextEncoder: false,
|
|
TextEvent: false,
|
|
TextMetrics: false,
|
|
TextTrack: false,
|
|
TextTrackCue: false,
|
|
TextTrackCueList: false,
|
|
TextTrackList: false,
|
|
TimeRanges: false,
|
|
toolbar: false,
|
|
top: false,
|
|
Touch: false,
|
|
TouchEvent: false,
|
|
TouchList: false,
|
|
TrackEvent: false,
|
|
TransitionEvent: false,
|
|
TreeWalker: false,
|
|
UIEvent: false,
|
|
URL: false,
|
|
URLSearchParams: false,
|
|
ValidityState: false,
|
|
visualViewport: false,
|
|
VisualViewport: false,
|
|
VTTCue: false,
|
|
WaveShaperNode: false,
|
|
WebAssembly: false,
|
|
WebGL2RenderingContext: false,
|
|
WebGLActiveInfo: false,
|
|
WebGLBuffer: false,
|
|
WebGLContextEvent: false,
|
|
WebGLFramebuffer: false,
|
|
WebGLProgram: false,
|
|
WebGLQuery: false,
|
|
WebGLRenderbuffer: false,
|
|
WebGLRenderingContext: false,
|
|
WebGLSampler: false,
|
|
WebGLShader: false,
|
|
WebGLShaderPrecisionFormat: false,
|
|
WebGLSync: false,
|
|
WebGLTexture: false,
|
|
WebGLTransformFeedback: false,
|
|
WebGLUniformLocation: false,
|
|
WebGLVertexArrayObject: false,
|
|
WebSocket: false,
|
|
WheelEvent: false,
|
|
window: false,
|
|
Window: false,
|
|
Worker: false,
|
|
WritableStream: false,
|
|
XMLDocument: false,
|
|
XMLHttpRequest: false,
|
|
XMLHttpRequestEventTarget: false,
|
|
XMLHttpRequestUpload: false,
|
|
XMLSerializer: false,
|
|
XPathEvaluator: false,
|
|
XPathExpression: false,
|
|
XPathResult: false,
|
|
XSLTProcessor: false
|
|
};
|
|
var worker$1 = {
|
|
addEventListener: false,
|
|
applicationCache: false,
|
|
atob: false,
|
|
Blob: false,
|
|
BroadcastChannel: false,
|
|
btoa: false,
|
|
Cache: false,
|
|
caches: false,
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
close: true,
|
|
console: false,
|
|
fetch: false,
|
|
FileReaderSync: false,
|
|
FormData: false,
|
|
Headers: false,
|
|
IDBCursor: false,
|
|
IDBCursorWithValue: false,
|
|
IDBDatabase: false,
|
|
IDBFactory: false,
|
|
IDBIndex: false,
|
|
IDBKeyRange: false,
|
|
IDBObjectStore: false,
|
|
IDBOpenDBRequest: false,
|
|
IDBRequest: false,
|
|
IDBTransaction: false,
|
|
IDBVersionChangeEvent: false,
|
|
ImageData: false,
|
|
importScripts: true,
|
|
indexedDB: false,
|
|
location: false,
|
|
MessageChannel: false,
|
|
MessagePort: false,
|
|
name: false,
|
|
navigator: false,
|
|
Notification: false,
|
|
onclose: true,
|
|
onconnect: true,
|
|
onerror: true,
|
|
onlanguagechange: true,
|
|
onmessage: true,
|
|
onoffline: true,
|
|
ononline: true,
|
|
onrejectionhandled: true,
|
|
onunhandledrejection: true,
|
|
performance: false,
|
|
Performance: false,
|
|
PerformanceEntry: false,
|
|
PerformanceMark: false,
|
|
PerformanceMeasure: false,
|
|
PerformanceNavigation: false,
|
|
PerformanceResourceTiming: false,
|
|
PerformanceTiming: false,
|
|
postMessage: true,
|
|
"Promise": false,
|
|
queueMicrotask: false,
|
|
removeEventListener: false,
|
|
Request: false,
|
|
Response: false,
|
|
self: true,
|
|
ServiceWorkerRegistration: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
TextDecoder: false,
|
|
TextEncoder: false,
|
|
URL: false,
|
|
URLSearchParams: false,
|
|
WebSocket: false,
|
|
Worker: false,
|
|
WorkerGlobalScope: false,
|
|
XMLHttpRequest: false
|
|
};
|
|
var node$2 = {
|
|
__dirname: false,
|
|
__filename: false,
|
|
Buffer: false,
|
|
clearImmediate: false,
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
console: false,
|
|
exports: true,
|
|
global: false,
|
|
"Intl": false,
|
|
module: false,
|
|
process: false,
|
|
queueMicrotask: false,
|
|
require: false,
|
|
setImmediate: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
TextDecoder: false,
|
|
TextEncoder: false,
|
|
URL: false,
|
|
URLSearchParams: false
|
|
};
|
|
var nodeBuiltin = {
|
|
Buffer: false,
|
|
clearImmediate: false,
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
console: false,
|
|
global: false,
|
|
"Intl": false,
|
|
process: false,
|
|
queueMicrotask: false,
|
|
setImmediate: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
TextDecoder: false,
|
|
TextEncoder: false,
|
|
URL: false,
|
|
URLSearchParams: false
|
|
};
|
|
var commonjs$1 = {
|
|
exports: true,
|
|
global: false,
|
|
module: false,
|
|
require: false
|
|
};
|
|
var amd$1 = {
|
|
define: false,
|
|
require: false
|
|
};
|
|
var mocha$1 = {
|
|
after: false,
|
|
afterEach: false,
|
|
before: false,
|
|
beforeEach: false,
|
|
context: false,
|
|
describe: false,
|
|
it: false,
|
|
mocha: false,
|
|
run: false,
|
|
setup: false,
|
|
specify: false,
|
|
suite: false,
|
|
suiteSetup: false,
|
|
suiteTeardown: false,
|
|
teardown: false,
|
|
test: false,
|
|
xcontext: false,
|
|
xdescribe: false,
|
|
xit: false,
|
|
xspecify: false
|
|
};
|
|
var jasmine$1 = {
|
|
afterAll: false,
|
|
afterEach: false,
|
|
beforeAll: false,
|
|
beforeEach: false,
|
|
describe: false,
|
|
expect: false,
|
|
expectAsync: false,
|
|
fail: false,
|
|
fdescribe: false,
|
|
fit: false,
|
|
it: false,
|
|
jasmine: false,
|
|
pending: false,
|
|
runs: false,
|
|
spyOn: false,
|
|
spyOnAllFunctions: false,
|
|
spyOnProperty: false,
|
|
waits: false,
|
|
waitsFor: false,
|
|
xdescribe: false,
|
|
xit: false
|
|
};
|
|
var jest$1 = {
|
|
afterAll: false,
|
|
afterEach: false,
|
|
beforeAll: false,
|
|
beforeEach: false,
|
|
describe: false,
|
|
expect: false,
|
|
fdescribe: false,
|
|
fit: false,
|
|
it: false,
|
|
jest: false,
|
|
pit: false,
|
|
require: false,
|
|
test: false,
|
|
xdescribe: false,
|
|
xit: false,
|
|
xtest: false
|
|
};
|
|
var qunit$1 = {
|
|
asyncTest: false,
|
|
deepEqual: false,
|
|
equal: false,
|
|
expect: false,
|
|
module: false,
|
|
notDeepEqual: false,
|
|
notEqual: false,
|
|
notOk: false,
|
|
notPropEqual: false,
|
|
notStrictEqual: false,
|
|
ok: false,
|
|
propEqual: false,
|
|
QUnit: false,
|
|
raises: false,
|
|
start: false,
|
|
stop: false,
|
|
strictEqual: false,
|
|
test: false,
|
|
throws: false
|
|
};
|
|
var phantomjs$1 = {
|
|
console: true,
|
|
exports: true,
|
|
phantom: true,
|
|
require: true,
|
|
WebPage: true
|
|
};
|
|
var couch$1 = {
|
|
emit: false,
|
|
exports: false,
|
|
getRow: false,
|
|
log: false,
|
|
module: false,
|
|
provides: false,
|
|
require: false,
|
|
respond: false,
|
|
send: false,
|
|
start: false,
|
|
sum: false
|
|
};
|
|
var rhino$1 = {
|
|
defineClass: false,
|
|
deserialize: false,
|
|
gc: false,
|
|
help: false,
|
|
importClass: false,
|
|
importPackage: false,
|
|
java: false,
|
|
load: false,
|
|
loadClass: false,
|
|
Packages: false,
|
|
print: false,
|
|
quit: false,
|
|
readFile: false,
|
|
readUrl: false,
|
|
runCommand: false,
|
|
seal: false,
|
|
serialize: false,
|
|
spawn: false,
|
|
sync: false,
|
|
toint32: false,
|
|
version: false
|
|
};
|
|
var nashorn$1 = {
|
|
__DIR__: false,
|
|
__FILE__: false,
|
|
__LINE__: false,
|
|
com: false,
|
|
edu: false,
|
|
exit: false,
|
|
java: false,
|
|
Java: false,
|
|
javafx: false,
|
|
JavaImporter: false,
|
|
javax: false,
|
|
JSAdapter: false,
|
|
load: false,
|
|
loadWithNewGlobal: false,
|
|
org: false,
|
|
Packages: false,
|
|
print: false,
|
|
quit: false
|
|
};
|
|
var wsh$1 = {
|
|
ActiveXObject: false,
|
|
CollectGarbage: false,
|
|
Debug: false,
|
|
Enumerator: false,
|
|
GetObject: false,
|
|
RuntimeObject: false,
|
|
ScriptEngine: false,
|
|
ScriptEngineBuildVersion: false,
|
|
ScriptEngineMajorVersion: false,
|
|
ScriptEngineMinorVersion: false,
|
|
VBArray: false,
|
|
WScript: false,
|
|
WSH: false
|
|
};
|
|
var jquery$1 = {
|
|
$: false,
|
|
jQuery: false
|
|
};
|
|
var yui$1 = {
|
|
YAHOO: false,
|
|
YAHOO_config: false,
|
|
YUI: false,
|
|
YUI_config: false
|
|
};
|
|
var shelljs$1 = {
|
|
cat: false,
|
|
cd: false,
|
|
chmod: false,
|
|
config: false,
|
|
cp: false,
|
|
dirs: false,
|
|
echo: false,
|
|
env: false,
|
|
error: false,
|
|
exec: false,
|
|
exit: false,
|
|
find: false,
|
|
grep: false,
|
|
ln: false,
|
|
ls: false,
|
|
mkdir: false,
|
|
mv: false,
|
|
popd: false,
|
|
pushd: false,
|
|
pwd: false,
|
|
rm: false,
|
|
sed: false,
|
|
set: false,
|
|
target: false,
|
|
tempdir: false,
|
|
test: false,
|
|
touch: false,
|
|
which: false
|
|
};
|
|
var prototypejs$1 = {
|
|
$: false,
|
|
$$: false,
|
|
$A: false,
|
|
$break: false,
|
|
$continue: false,
|
|
$F: false,
|
|
$H: false,
|
|
$R: false,
|
|
$w: false,
|
|
Abstract: false,
|
|
Ajax: false,
|
|
Autocompleter: false,
|
|
Builder: false,
|
|
Class: false,
|
|
Control: false,
|
|
Draggable: false,
|
|
Draggables: false,
|
|
Droppables: false,
|
|
Effect: false,
|
|
Element: false,
|
|
Enumerable: false,
|
|
Event: false,
|
|
Field: false,
|
|
Form: false,
|
|
Hash: false,
|
|
Insertion: false,
|
|
ObjectRange: false,
|
|
PeriodicalExecuter: false,
|
|
Position: false,
|
|
Prototype: false,
|
|
Scriptaculous: false,
|
|
Selector: false,
|
|
Sortable: false,
|
|
SortableObserver: false,
|
|
Sound: false,
|
|
Template: false,
|
|
Toggle: false,
|
|
Try: false
|
|
};
|
|
var meteor$1 = {
|
|
$: false,
|
|
Accounts: false,
|
|
AccountsClient: false,
|
|
AccountsCommon: false,
|
|
AccountsServer: false,
|
|
App: false,
|
|
Assets: false,
|
|
Blaze: false,
|
|
check: false,
|
|
Cordova: false,
|
|
DDP: false,
|
|
DDPRateLimiter: false,
|
|
DDPServer: false,
|
|
Deps: false,
|
|
EJSON: false,
|
|
Email: false,
|
|
HTTP: false,
|
|
Log: false,
|
|
Match: false,
|
|
Meteor: false,
|
|
Mongo: false,
|
|
MongoInternals: false,
|
|
Npm: false,
|
|
Package: false,
|
|
Plugin: false,
|
|
process: false,
|
|
Random: false,
|
|
ReactiveDict: false,
|
|
ReactiveVar: false,
|
|
Router: false,
|
|
ServiceConfiguration: false,
|
|
Session: false,
|
|
share: false,
|
|
Spacebars: false,
|
|
Template: false,
|
|
Tinytest: false,
|
|
Tracker: false,
|
|
UI: false,
|
|
Utils: false,
|
|
WebApp: false,
|
|
WebAppInternals: false
|
|
};
|
|
var mongo$1 = {
|
|
_isWindows: false,
|
|
_rand: false,
|
|
BulkWriteResult: false,
|
|
cat: false,
|
|
cd: false,
|
|
connect: false,
|
|
db: false,
|
|
getHostName: false,
|
|
getMemInfo: false,
|
|
hostname: false,
|
|
ISODate: false,
|
|
listFiles: false,
|
|
load: false,
|
|
ls: false,
|
|
md5sumFile: false,
|
|
mkdir: false,
|
|
Mongo: false,
|
|
NumberInt: false,
|
|
NumberLong: false,
|
|
ObjectId: false,
|
|
PlanCache: false,
|
|
print: false,
|
|
printjson: false,
|
|
pwd: false,
|
|
quit: false,
|
|
removeFile: false,
|
|
rs: false,
|
|
sh: false,
|
|
UUID: false,
|
|
version: false,
|
|
WriteResult: false
|
|
};
|
|
var applescript$1 = {
|
|
$: false,
|
|
Application: false,
|
|
Automation: false,
|
|
console: false,
|
|
delay: false,
|
|
Library: false,
|
|
ObjC: false,
|
|
ObjectSpecifier: false,
|
|
Path: false,
|
|
Progress: false,
|
|
Ref: false
|
|
};
|
|
var serviceworker$1 = {
|
|
addEventListener: false,
|
|
applicationCache: false,
|
|
atob: false,
|
|
Blob: false,
|
|
BroadcastChannel: false,
|
|
btoa: false,
|
|
Cache: false,
|
|
caches: false,
|
|
CacheStorage: false,
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
Client: false,
|
|
clients: false,
|
|
Clients: false,
|
|
close: true,
|
|
console: false,
|
|
ExtendableEvent: false,
|
|
ExtendableMessageEvent: false,
|
|
fetch: false,
|
|
FetchEvent: false,
|
|
FileReaderSync: false,
|
|
FormData: false,
|
|
Headers: false,
|
|
IDBCursor: false,
|
|
IDBCursorWithValue: false,
|
|
IDBDatabase: false,
|
|
IDBFactory: false,
|
|
IDBIndex: false,
|
|
IDBKeyRange: false,
|
|
IDBObjectStore: false,
|
|
IDBOpenDBRequest: false,
|
|
IDBRequest: false,
|
|
IDBTransaction: false,
|
|
IDBVersionChangeEvent: false,
|
|
ImageData: false,
|
|
importScripts: false,
|
|
indexedDB: false,
|
|
location: false,
|
|
MessageChannel: false,
|
|
MessagePort: false,
|
|
name: false,
|
|
navigator: false,
|
|
Notification: false,
|
|
onclose: true,
|
|
onconnect: true,
|
|
onerror: true,
|
|
onfetch: true,
|
|
oninstall: true,
|
|
onlanguagechange: true,
|
|
onmessage: true,
|
|
onmessageerror: true,
|
|
onnotificationclick: true,
|
|
onnotificationclose: true,
|
|
onoffline: true,
|
|
ononline: true,
|
|
onpush: true,
|
|
onpushsubscriptionchange: true,
|
|
onrejectionhandled: true,
|
|
onsync: true,
|
|
onunhandledrejection: true,
|
|
performance: false,
|
|
Performance: false,
|
|
PerformanceEntry: false,
|
|
PerformanceMark: false,
|
|
PerformanceMeasure: false,
|
|
PerformanceNavigation: false,
|
|
PerformanceResourceTiming: false,
|
|
PerformanceTiming: false,
|
|
postMessage: true,
|
|
"Promise": false,
|
|
queueMicrotask: false,
|
|
registration: false,
|
|
removeEventListener: false,
|
|
Request: false,
|
|
Response: false,
|
|
self: false,
|
|
ServiceWorker: false,
|
|
ServiceWorkerContainer: false,
|
|
ServiceWorkerGlobalScope: false,
|
|
ServiceWorkerMessageEvent: false,
|
|
ServiceWorkerRegistration: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
skipWaiting: false,
|
|
TextDecoder: false,
|
|
TextEncoder: false,
|
|
URL: false,
|
|
URLSearchParams: false,
|
|
WebSocket: false,
|
|
WindowClient: false,
|
|
Worker: false,
|
|
WorkerGlobalScope: false,
|
|
XMLHttpRequest: false
|
|
};
|
|
var atomtest$1 = {
|
|
advanceClock: false,
|
|
atom: false,
|
|
fakeClearInterval: false,
|
|
fakeClearTimeout: false,
|
|
fakeSetInterval: false,
|
|
fakeSetTimeout: false,
|
|
resetTimeouts: false,
|
|
waitsForPromise: false
|
|
};
|
|
var embertest$1 = {
|
|
andThen: false,
|
|
click: false,
|
|
currentPath: false,
|
|
currentRouteName: false,
|
|
currentURL: false,
|
|
fillIn: false,
|
|
find: false,
|
|
findAll: false,
|
|
findWithAssert: false,
|
|
keyEvent: false,
|
|
pauseTest: false,
|
|
resumeTest: false,
|
|
triggerEvent: false,
|
|
visit: false,
|
|
wait: false
|
|
};
|
|
var protractor$1 = {
|
|
$: false,
|
|
$$: false,
|
|
browser: false,
|
|
by: false,
|
|
By: false,
|
|
DartObject: false,
|
|
element: false,
|
|
protractor: false
|
|
};
|
|
var webextensions$1 = {
|
|
browser: false,
|
|
chrome: false,
|
|
opr: false
|
|
};
|
|
var greasemonkey$1 = {
|
|
cloneInto: false,
|
|
createObjectIn: false,
|
|
exportFunction: false,
|
|
GM: false,
|
|
GM_addStyle: false,
|
|
GM_addValueChangeListener: false,
|
|
GM_deleteValue: false,
|
|
GM_download: false,
|
|
GM_getResourceText: false,
|
|
GM_getResourceURL: false,
|
|
GM_getTab: false,
|
|
GM_getTabs: false,
|
|
GM_getValue: false,
|
|
GM_info: false,
|
|
GM_listValues: false,
|
|
GM_log: false,
|
|
GM_notification: false,
|
|
GM_openInTab: false,
|
|
GM_registerMenuCommand: false,
|
|
GM_removeValueChangeListener: false,
|
|
GM_saveTab: false,
|
|
GM_setClipboard: false,
|
|
GM_setValue: false,
|
|
GM_unregisterMenuCommand: false,
|
|
GM_xmlhttpRequest: false,
|
|
unsafeWindow: false
|
|
};
|
|
var devtools$1 = {
|
|
$: false,
|
|
$_: false,
|
|
$$: false,
|
|
$0: false,
|
|
$1: false,
|
|
$2: false,
|
|
$3: false,
|
|
$4: false,
|
|
$x: false,
|
|
chrome: false,
|
|
clear: false,
|
|
copy: false,
|
|
debug: false,
|
|
dir: false,
|
|
dirxml: false,
|
|
getEventListeners: false,
|
|
inspect: false,
|
|
keys: false,
|
|
monitor: false,
|
|
monitorEvents: false,
|
|
profile: false,
|
|
profileEnd: false,
|
|
queryObjects: false,
|
|
table: false,
|
|
undebug: false,
|
|
unmonitor: false,
|
|
unmonitorEvents: false,
|
|
values: false
|
|
};
|
|
var require$$0$b = {
|
|
builtin: builtin$1,
|
|
es5: es5$1,
|
|
es2015: es2015$1,
|
|
es2017: es2017$1,
|
|
es2020: es2020,
|
|
es2021: es2021,
|
|
browser: browser$3,
|
|
worker: worker$1,
|
|
node: node$2,
|
|
nodeBuiltin: nodeBuiltin,
|
|
commonjs: commonjs$1,
|
|
amd: amd$1,
|
|
mocha: mocha$1,
|
|
jasmine: jasmine$1,
|
|
jest: jest$1,
|
|
qunit: qunit$1,
|
|
phantomjs: phantomjs$1,
|
|
couch: couch$1,
|
|
rhino: rhino$1,
|
|
nashorn: nashorn$1,
|
|
wsh: wsh$1,
|
|
jquery: jquery$1,
|
|
yui: yui$1,
|
|
shelljs: shelljs$1,
|
|
prototypejs: prototypejs$1,
|
|
meteor: meteor$1,
|
|
mongo: mongo$1,
|
|
applescript: applescript$1,
|
|
serviceworker: serviceworker$1,
|
|
atomtest: atomtest$1,
|
|
embertest: embertest$1,
|
|
protractor: protractor$1,
|
|
"shared-node-browser": {
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
console: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
URL: false,
|
|
URLSearchParams: false
|
|
},
|
|
webextensions: webextensions$1,
|
|
greasemonkey: greasemonkey$1,
|
|
devtools: devtools$1
|
|
};
|
|
|
|
var globalsBABEL_8_BREAKINGTrue;
|
|
var hasRequiredGlobalsBABEL_8_BREAKINGTrue;
|
|
function requireGlobalsBABEL_8_BREAKINGTrue() {
|
|
if (hasRequiredGlobalsBABEL_8_BREAKINGTrue) return globalsBABEL_8_BREAKINGTrue;
|
|
hasRequiredGlobalsBABEL_8_BREAKINGTrue = 1;
|
|
globalsBABEL_8_BREAKINGTrue = require$$0$b;
|
|
return globalsBABEL_8_BREAKINGTrue;
|
|
}
|
|
|
|
var builtin = {
|
|
"Array": false,
|
|
"ArrayBuffer": false,
|
|
Atomics: false,
|
|
BigInt: false,
|
|
BigInt64Array: false,
|
|
BigUint64Array: false,
|
|
"Boolean": false,
|
|
constructor: false,
|
|
"DataView": false,
|
|
"Date": false,
|
|
"decodeURI": false,
|
|
"decodeURIComponent": false,
|
|
"encodeURI": false,
|
|
"encodeURIComponent": false,
|
|
"Error": false,
|
|
"escape": false,
|
|
"eval": false,
|
|
"EvalError": false,
|
|
"Float32Array": false,
|
|
"Float64Array": false,
|
|
"Function": false,
|
|
globalThis: false,
|
|
hasOwnProperty: false,
|
|
"Infinity": false,
|
|
"Int16Array": false,
|
|
"Int32Array": false,
|
|
"Int8Array": false,
|
|
"isFinite": false,
|
|
"isNaN": false,
|
|
isPrototypeOf: false,
|
|
"JSON": false,
|
|
"Map": false,
|
|
"Math": false,
|
|
"NaN": false,
|
|
"Number": false,
|
|
"Object": false,
|
|
"parseFloat": false,
|
|
"parseInt": false,
|
|
"Promise": false,
|
|
propertyIsEnumerable: false,
|
|
"Proxy": false,
|
|
"RangeError": false,
|
|
"ReferenceError": false,
|
|
"Reflect": false,
|
|
"RegExp": false,
|
|
"Set": false,
|
|
SharedArrayBuffer: false,
|
|
"String": false,
|
|
"Symbol": false,
|
|
"SyntaxError": false,
|
|
toLocaleString: false,
|
|
toString: false,
|
|
"TypeError": false,
|
|
"Uint16Array": false,
|
|
"Uint32Array": false,
|
|
"Uint8Array": false,
|
|
"Uint8ClampedArray": false,
|
|
"undefined": false,
|
|
"unescape": false,
|
|
"URIError": false,
|
|
valueOf: false,
|
|
"WeakMap": false,
|
|
"WeakSet": false
|
|
};
|
|
var es5 = {
|
|
"Array": false,
|
|
"Boolean": false,
|
|
constructor: false,
|
|
"Date": false,
|
|
"decodeURI": false,
|
|
"decodeURIComponent": false,
|
|
"encodeURI": false,
|
|
"encodeURIComponent": false,
|
|
"Error": false,
|
|
"escape": false,
|
|
"eval": false,
|
|
"EvalError": false,
|
|
"Function": false,
|
|
hasOwnProperty: false,
|
|
"Infinity": false,
|
|
"isFinite": false,
|
|
"isNaN": false,
|
|
isPrototypeOf: false,
|
|
"JSON": false,
|
|
"Math": false,
|
|
"NaN": false,
|
|
"Number": false,
|
|
"Object": false,
|
|
"parseFloat": false,
|
|
"parseInt": false,
|
|
propertyIsEnumerable: false,
|
|
"RangeError": false,
|
|
"ReferenceError": false,
|
|
"RegExp": false,
|
|
"String": false,
|
|
"SyntaxError": false,
|
|
toLocaleString: false,
|
|
toString: false,
|
|
"TypeError": false,
|
|
"undefined": false,
|
|
"unescape": false,
|
|
"URIError": false,
|
|
valueOf: false
|
|
};
|
|
var es2015 = {
|
|
"Array": false,
|
|
"ArrayBuffer": false,
|
|
"Boolean": false,
|
|
constructor: false,
|
|
"DataView": false,
|
|
"Date": false,
|
|
"decodeURI": false,
|
|
"decodeURIComponent": false,
|
|
"encodeURI": false,
|
|
"encodeURIComponent": false,
|
|
"Error": false,
|
|
"escape": false,
|
|
"eval": false,
|
|
"EvalError": false,
|
|
"Float32Array": false,
|
|
"Float64Array": false,
|
|
"Function": false,
|
|
hasOwnProperty: false,
|
|
"Infinity": false,
|
|
"Int16Array": false,
|
|
"Int32Array": false,
|
|
"Int8Array": false,
|
|
"isFinite": false,
|
|
"isNaN": false,
|
|
isPrototypeOf: false,
|
|
"JSON": false,
|
|
"Map": false,
|
|
"Math": false,
|
|
"NaN": false,
|
|
"Number": false,
|
|
"Object": false,
|
|
"parseFloat": false,
|
|
"parseInt": false,
|
|
"Promise": false,
|
|
propertyIsEnumerable: false,
|
|
"Proxy": false,
|
|
"RangeError": false,
|
|
"ReferenceError": false,
|
|
"Reflect": false,
|
|
"RegExp": false,
|
|
"Set": false,
|
|
"String": false,
|
|
"Symbol": false,
|
|
"SyntaxError": false,
|
|
toLocaleString: false,
|
|
toString: false,
|
|
"TypeError": false,
|
|
"Uint16Array": false,
|
|
"Uint32Array": false,
|
|
"Uint8Array": false,
|
|
"Uint8ClampedArray": false,
|
|
"undefined": false,
|
|
"unescape": false,
|
|
"URIError": false,
|
|
valueOf: false,
|
|
"WeakMap": false,
|
|
"WeakSet": false
|
|
};
|
|
var es2017 = {
|
|
"Array": false,
|
|
"ArrayBuffer": false,
|
|
Atomics: false,
|
|
"Boolean": false,
|
|
constructor: false,
|
|
"DataView": false,
|
|
"Date": false,
|
|
"decodeURI": false,
|
|
"decodeURIComponent": false,
|
|
"encodeURI": false,
|
|
"encodeURIComponent": false,
|
|
"Error": false,
|
|
"escape": false,
|
|
"eval": false,
|
|
"EvalError": false,
|
|
"Float32Array": false,
|
|
"Float64Array": false,
|
|
"Function": false,
|
|
hasOwnProperty: false,
|
|
"Infinity": false,
|
|
"Int16Array": false,
|
|
"Int32Array": false,
|
|
"Int8Array": false,
|
|
"isFinite": false,
|
|
"isNaN": false,
|
|
isPrototypeOf: false,
|
|
"JSON": false,
|
|
"Map": false,
|
|
"Math": false,
|
|
"NaN": false,
|
|
"Number": false,
|
|
"Object": false,
|
|
"parseFloat": false,
|
|
"parseInt": false,
|
|
"Promise": false,
|
|
propertyIsEnumerable: false,
|
|
"Proxy": false,
|
|
"RangeError": false,
|
|
"ReferenceError": false,
|
|
"Reflect": false,
|
|
"RegExp": false,
|
|
"Set": false,
|
|
SharedArrayBuffer: false,
|
|
"String": false,
|
|
"Symbol": false,
|
|
"SyntaxError": false,
|
|
toLocaleString: false,
|
|
toString: false,
|
|
"TypeError": false,
|
|
"Uint16Array": false,
|
|
"Uint32Array": false,
|
|
"Uint8Array": false,
|
|
"Uint8ClampedArray": false,
|
|
"undefined": false,
|
|
"unescape": false,
|
|
"URIError": false,
|
|
valueOf: false,
|
|
"WeakMap": false,
|
|
"WeakSet": false
|
|
};
|
|
var browser$2 = {
|
|
AbortController: false,
|
|
AbortSignal: false,
|
|
addEventListener: false,
|
|
alert: false,
|
|
AnalyserNode: false,
|
|
Animation: false,
|
|
AnimationEffectReadOnly: false,
|
|
AnimationEffectTiming: false,
|
|
AnimationEffectTimingReadOnly: false,
|
|
AnimationEvent: false,
|
|
AnimationPlaybackEvent: false,
|
|
AnimationTimeline: false,
|
|
applicationCache: false,
|
|
ApplicationCache: false,
|
|
ApplicationCacheErrorEvent: false,
|
|
atob: false,
|
|
Attr: false,
|
|
Audio: false,
|
|
AudioBuffer: false,
|
|
AudioBufferSourceNode: false,
|
|
AudioContext: false,
|
|
AudioDestinationNode: false,
|
|
AudioListener: false,
|
|
AudioNode: false,
|
|
AudioParam: false,
|
|
AudioProcessingEvent: false,
|
|
AudioScheduledSourceNode: false,
|
|
"AudioWorkletGlobalScope ": false,
|
|
AudioWorkletNode: false,
|
|
AudioWorkletProcessor: false,
|
|
BarProp: false,
|
|
BaseAudioContext: false,
|
|
BatteryManager: false,
|
|
BeforeUnloadEvent: false,
|
|
BiquadFilterNode: false,
|
|
Blob: false,
|
|
BlobEvent: false,
|
|
blur: false,
|
|
BroadcastChannel: false,
|
|
btoa: false,
|
|
BudgetService: false,
|
|
ByteLengthQueuingStrategy: false,
|
|
Cache: false,
|
|
caches: false,
|
|
CacheStorage: false,
|
|
cancelAnimationFrame: false,
|
|
cancelIdleCallback: false,
|
|
CanvasCaptureMediaStreamTrack: false,
|
|
CanvasGradient: false,
|
|
CanvasPattern: false,
|
|
CanvasRenderingContext2D: false,
|
|
ChannelMergerNode: false,
|
|
ChannelSplitterNode: false,
|
|
CharacterData: false,
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
clientInformation: false,
|
|
ClipboardEvent: false,
|
|
close: false,
|
|
closed: false,
|
|
CloseEvent: false,
|
|
Comment: false,
|
|
CompositionEvent: false,
|
|
confirm: false,
|
|
console: false,
|
|
ConstantSourceNode: false,
|
|
ConvolverNode: false,
|
|
CountQueuingStrategy: false,
|
|
createImageBitmap: false,
|
|
Credential: false,
|
|
CredentialsContainer: false,
|
|
crypto: false,
|
|
Crypto: false,
|
|
CryptoKey: false,
|
|
CSS: false,
|
|
CSSConditionRule: false,
|
|
CSSFontFaceRule: false,
|
|
CSSGroupingRule: false,
|
|
CSSImportRule: false,
|
|
CSSKeyframeRule: false,
|
|
CSSKeyframesRule: false,
|
|
CSSMediaRule: false,
|
|
CSSNamespaceRule: false,
|
|
CSSPageRule: false,
|
|
CSSRule: false,
|
|
CSSRuleList: false,
|
|
CSSStyleDeclaration: false,
|
|
CSSStyleRule: false,
|
|
CSSStyleSheet: false,
|
|
CSSSupportsRule: false,
|
|
CustomElementRegistry: false,
|
|
customElements: false,
|
|
CustomEvent: false,
|
|
DataTransfer: false,
|
|
DataTransferItem: false,
|
|
DataTransferItemList: false,
|
|
defaultstatus: false,
|
|
defaultStatus: false,
|
|
DelayNode: false,
|
|
DeviceMotionEvent: false,
|
|
DeviceOrientationEvent: false,
|
|
devicePixelRatio: false,
|
|
dispatchEvent: false,
|
|
document: false,
|
|
Document: false,
|
|
DocumentFragment: false,
|
|
DocumentType: false,
|
|
DOMError: false,
|
|
DOMException: false,
|
|
DOMImplementation: false,
|
|
DOMMatrix: false,
|
|
DOMMatrixReadOnly: false,
|
|
DOMParser: false,
|
|
DOMPoint: false,
|
|
DOMPointReadOnly: false,
|
|
DOMQuad: false,
|
|
DOMRect: false,
|
|
DOMRectReadOnly: false,
|
|
DOMStringList: false,
|
|
DOMStringMap: false,
|
|
DOMTokenList: false,
|
|
DragEvent: false,
|
|
DynamicsCompressorNode: false,
|
|
Element: false,
|
|
ErrorEvent: false,
|
|
event: false,
|
|
Event: false,
|
|
EventSource: false,
|
|
EventTarget: false,
|
|
external: false,
|
|
fetch: false,
|
|
File: false,
|
|
FileList: false,
|
|
FileReader: false,
|
|
find: false,
|
|
focus: false,
|
|
FocusEvent: false,
|
|
FontFace: false,
|
|
FontFaceSetLoadEvent: false,
|
|
FormData: false,
|
|
frameElement: false,
|
|
frames: false,
|
|
GainNode: false,
|
|
Gamepad: false,
|
|
GamepadButton: false,
|
|
GamepadEvent: false,
|
|
getComputedStyle: false,
|
|
getSelection: false,
|
|
HashChangeEvent: false,
|
|
Headers: false,
|
|
history: false,
|
|
History: false,
|
|
HTMLAllCollection: false,
|
|
HTMLAnchorElement: false,
|
|
HTMLAreaElement: false,
|
|
HTMLAudioElement: false,
|
|
HTMLBaseElement: false,
|
|
HTMLBodyElement: false,
|
|
HTMLBRElement: false,
|
|
HTMLButtonElement: false,
|
|
HTMLCanvasElement: false,
|
|
HTMLCollection: false,
|
|
HTMLContentElement: false,
|
|
HTMLDataElement: false,
|
|
HTMLDataListElement: false,
|
|
HTMLDetailsElement: false,
|
|
HTMLDialogElement: false,
|
|
HTMLDirectoryElement: false,
|
|
HTMLDivElement: false,
|
|
HTMLDListElement: false,
|
|
HTMLDocument: false,
|
|
HTMLElement: false,
|
|
HTMLEmbedElement: false,
|
|
HTMLFieldSetElement: false,
|
|
HTMLFontElement: false,
|
|
HTMLFormControlsCollection: false,
|
|
HTMLFormElement: false,
|
|
HTMLFrameElement: false,
|
|
HTMLFrameSetElement: false,
|
|
HTMLHeadElement: false,
|
|
HTMLHeadingElement: false,
|
|
HTMLHRElement: false,
|
|
HTMLHtmlElement: false,
|
|
HTMLIFrameElement: false,
|
|
HTMLImageElement: false,
|
|
HTMLInputElement: false,
|
|
HTMLLabelElement: false,
|
|
HTMLLegendElement: false,
|
|
HTMLLIElement: false,
|
|
HTMLLinkElement: false,
|
|
HTMLMapElement: false,
|
|
HTMLMarqueeElement: false,
|
|
HTMLMediaElement: false,
|
|
HTMLMenuElement: false,
|
|
HTMLMetaElement: false,
|
|
HTMLMeterElement: false,
|
|
HTMLModElement: false,
|
|
HTMLObjectElement: false,
|
|
HTMLOListElement: false,
|
|
HTMLOptGroupElement: false,
|
|
HTMLOptionElement: false,
|
|
HTMLOptionsCollection: false,
|
|
HTMLOutputElement: false,
|
|
HTMLParagraphElement: false,
|
|
HTMLParamElement: false,
|
|
HTMLPictureElement: false,
|
|
HTMLPreElement: false,
|
|
HTMLProgressElement: false,
|
|
HTMLQuoteElement: false,
|
|
HTMLScriptElement: false,
|
|
HTMLSelectElement: false,
|
|
HTMLShadowElement: false,
|
|
HTMLSlotElement: false,
|
|
HTMLSourceElement: false,
|
|
HTMLSpanElement: false,
|
|
HTMLStyleElement: false,
|
|
HTMLTableCaptionElement: false,
|
|
HTMLTableCellElement: false,
|
|
HTMLTableColElement: false,
|
|
HTMLTableElement: false,
|
|
HTMLTableRowElement: false,
|
|
HTMLTableSectionElement: false,
|
|
HTMLTemplateElement: false,
|
|
HTMLTextAreaElement: false,
|
|
HTMLTimeElement: false,
|
|
HTMLTitleElement: false,
|
|
HTMLTrackElement: false,
|
|
HTMLUListElement: false,
|
|
HTMLUnknownElement: false,
|
|
HTMLVideoElement: false,
|
|
IDBCursor: false,
|
|
IDBCursorWithValue: false,
|
|
IDBDatabase: false,
|
|
IDBFactory: false,
|
|
IDBIndex: false,
|
|
IDBKeyRange: false,
|
|
IDBObjectStore: false,
|
|
IDBOpenDBRequest: false,
|
|
IDBRequest: false,
|
|
IDBTransaction: false,
|
|
IDBVersionChangeEvent: false,
|
|
IdleDeadline: false,
|
|
IIRFilterNode: false,
|
|
Image: false,
|
|
ImageBitmap: false,
|
|
ImageBitmapRenderingContext: false,
|
|
ImageCapture: false,
|
|
ImageData: false,
|
|
indexedDB: false,
|
|
innerHeight: false,
|
|
innerWidth: false,
|
|
InputEvent: false,
|
|
IntersectionObserver: false,
|
|
IntersectionObserverEntry: false,
|
|
"Intl": false,
|
|
isSecureContext: false,
|
|
KeyboardEvent: false,
|
|
KeyframeEffect: false,
|
|
KeyframeEffectReadOnly: false,
|
|
length: false,
|
|
localStorage: false,
|
|
location: true,
|
|
Location: false,
|
|
locationbar: false,
|
|
matchMedia: false,
|
|
MediaDeviceInfo: false,
|
|
MediaDevices: false,
|
|
MediaElementAudioSourceNode: false,
|
|
MediaEncryptedEvent: false,
|
|
MediaError: false,
|
|
MediaKeyMessageEvent: false,
|
|
MediaKeySession: false,
|
|
MediaKeyStatusMap: false,
|
|
MediaKeySystemAccess: false,
|
|
MediaList: false,
|
|
MediaQueryList: false,
|
|
MediaQueryListEvent: false,
|
|
MediaRecorder: false,
|
|
MediaSettingsRange: false,
|
|
MediaSource: false,
|
|
MediaStream: false,
|
|
MediaStreamAudioDestinationNode: false,
|
|
MediaStreamAudioSourceNode: false,
|
|
MediaStreamEvent: false,
|
|
MediaStreamTrack: false,
|
|
MediaStreamTrackEvent: false,
|
|
menubar: false,
|
|
MessageChannel: false,
|
|
MessageEvent: false,
|
|
MessagePort: false,
|
|
MIDIAccess: false,
|
|
MIDIConnectionEvent: false,
|
|
MIDIInput: false,
|
|
MIDIInputMap: false,
|
|
MIDIMessageEvent: false,
|
|
MIDIOutput: false,
|
|
MIDIOutputMap: false,
|
|
MIDIPort: false,
|
|
MimeType: false,
|
|
MimeTypeArray: false,
|
|
MouseEvent: false,
|
|
moveBy: false,
|
|
moveTo: false,
|
|
MutationEvent: false,
|
|
MutationObserver: false,
|
|
MutationRecord: false,
|
|
name: false,
|
|
NamedNodeMap: false,
|
|
NavigationPreloadManager: false,
|
|
navigator: false,
|
|
Navigator: false,
|
|
NetworkInformation: false,
|
|
Node: false,
|
|
NodeFilter: false,
|
|
NodeIterator: false,
|
|
NodeList: false,
|
|
Notification: false,
|
|
OfflineAudioCompletionEvent: false,
|
|
OfflineAudioContext: false,
|
|
offscreenBuffering: false,
|
|
OffscreenCanvas: true,
|
|
onabort: true,
|
|
onafterprint: true,
|
|
onanimationend: true,
|
|
onanimationiteration: true,
|
|
onanimationstart: true,
|
|
onappinstalled: true,
|
|
onauxclick: true,
|
|
onbeforeinstallprompt: true,
|
|
onbeforeprint: true,
|
|
onbeforeunload: true,
|
|
onblur: true,
|
|
oncancel: true,
|
|
oncanplay: true,
|
|
oncanplaythrough: true,
|
|
onchange: true,
|
|
onclick: true,
|
|
onclose: true,
|
|
oncontextmenu: true,
|
|
oncuechange: true,
|
|
ondblclick: true,
|
|
ondevicemotion: true,
|
|
ondeviceorientation: true,
|
|
ondeviceorientationabsolute: true,
|
|
ondrag: true,
|
|
ondragend: true,
|
|
ondragenter: true,
|
|
ondragleave: true,
|
|
ondragover: true,
|
|
ondragstart: true,
|
|
ondrop: true,
|
|
ondurationchange: true,
|
|
onemptied: true,
|
|
onended: true,
|
|
onerror: true,
|
|
onfocus: true,
|
|
ongotpointercapture: true,
|
|
onhashchange: true,
|
|
oninput: true,
|
|
oninvalid: true,
|
|
onkeydown: true,
|
|
onkeypress: true,
|
|
onkeyup: true,
|
|
onlanguagechange: true,
|
|
onload: true,
|
|
onloadeddata: true,
|
|
onloadedmetadata: true,
|
|
onloadstart: true,
|
|
onlostpointercapture: true,
|
|
onmessage: true,
|
|
onmessageerror: true,
|
|
onmousedown: true,
|
|
onmouseenter: true,
|
|
onmouseleave: true,
|
|
onmousemove: true,
|
|
onmouseout: true,
|
|
onmouseover: true,
|
|
onmouseup: true,
|
|
onmousewheel: true,
|
|
onoffline: true,
|
|
ononline: true,
|
|
onpagehide: true,
|
|
onpageshow: true,
|
|
onpause: true,
|
|
onplay: true,
|
|
onplaying: true,
|
|
onpointercancel: true,
|
|
onpointerdown: true,
|
|
onpointerenter: true,
|
|
onpointerleave: true,
|
|
onpointermove: true,
|
|
onpointerout: true,
|
|
onpointerover: true,
|
|
onpointerup: true,
|
|
onpopstate: true,
|
|
onprogress: true,
|
|
onratechange: true,
|
|
onrejectionhandled: true,
|
|
onreset: true,
|
|
onresize: true,
|
|
onscroll: true,
|
|
onsearch: true,
|
|
onseeked: true,
|
|
onseeking: true,
|
|
onselect: true,
|
|
onstalled: true,
|
|
onstorage: true,
|
|
onsubmit: true,
|
|
onsuspend: true,
|
|
ontimeupdate: true,
|
|
ontoggle: true,
|
|
ontransitionend: true,
|
|
onunhandledrejection: true,
|
|
onunload: true,
|
|
onvolumechange: true,
|
|
onwaiting: true,
|
|
onwheel: true,
|
|
open: false,
|
|
openDatabase: false,
|
|
opener: false,
|
|
Option: false,
|
|
origin: false,
|
|
OscillatorNode: false,
|
|
outerHeight: false,
|
|
outerWidth: false,
|
|
PageTransitionEvent: false,
|
|
pageXOffset: false,
|
|
pageYOffset: false,
|
|
PannerNode: false,
|
|
parent: false,
|
|
Path2D: false,
|
|
PaymentAddress: false,
|
|
PaymentRequest: false,
|
|
PaymentRequestUpdateEvent: false,
|
|
PaymentResponse: false,
|
|
performance: false,
|
|
Performance: false,
|
|
PerformanceEntry: false,
|
|
PerformanceLongTaskTiming: false,
|
|
PerformanceMark: false,
|
|
PerformanceMeasure: false,
|
|
PerformanceNavigation: false,
|
|
PerformanceNavigationTiming: false,
|
|
PerformanceObserver: false,
|
|
PerformanceObserverEntryList: false,
|
|
PerformancePaintTiming: false,
|
|
PerformanceResourceTiming: false,
|
|
PerformanceTiming: false,
|
|
PeriodicWave: false,
|
|
Permissions: false,
|
|
PermissionStatus: false,
|
|
personalbar: false,
|
|
PhotoCapabilities: false,
|
|
Plugin: false,
|
|
PluginArray: false,
|
|
PointerEvent: false,
|
|
PopStateEvent: false,
|
|
postMessage: false,
|
|
Presentation: false,
|
|
PresentationAvailability: false,
|
|
PresentationConnection: false,
|
|
PresentationConnectionAvailableEvent: false,
|
|
PresentationConnectionCloseEvent: false,
|
|
PresentationConnectionList: false,
|
|
PresentationReceiver: false,
|
|
PresentationRequest: false,
|
|
print: false,
|
|
ProcessingInstruction: false,
|
|
ProgressEvent: false,
|
|
PromiseRejectionEvent: false,
|
|
prompt: false,
|
|
PushManager: false,
|
|
PushSubscription: false,
|
|
PushSubscriptionOptions: false,
|
|
queueMicrotask: false,
|
|
RadioNodeList: false,
|
|
Range: false,
|
|
ReadableStream: false,
|
|
registerProcessor: false,
|
|
RemotePlayback: false,
|
|
removeEventListener: false,
|
|
Request: false,
|
|
requestAnimationFrame: false,
|
|
requestIdleCallback: false,
|
|
resizeBy: false,
|
|
ResizeObserver: false,
|
|
ResizeObserverEntry: false,
|
|
resizeTo: false,
|
|
Response: false,
|
|
RTCCertificate: false,
|
|
RTCDataChannel: false,
|
|
RTCDataChannelEvent: false,
|
|
RTCDtlsTransport: false,
|
|
RTCIceCandidate: false,
|
|
RTCIceGatherer: false,
|
|
RTCIceTransport: false,
|
|
RTCPeerConnection: false,
|
|
RTCPeerConnectionIceEvent: false,
|
|
RTCRtpContributingSource: false,
|
|
RTCRtpReceiver: false,
|
|
RTCRtpSender: false,
|
|
RTCSctpTransport: false,
|
|
RTCSessionDescription: false,
|
|
RTCStatsReport: false,
|
|
RTCTrackEvent: false,
|
|
screen: false,
|
|
Screen: false,
|
|
screenLeft: false,
|
|
ScreenOrientation: false,
|
|
screenTop: false,
|
|
screenX: false,
|
|
screenY: false,
|
|
ScriptProcessorNode: false,
|
|
scroll: false,
|
|
scrollbars: false,
|
|
scrollBy: false,
|
|
scrollTo: false,
|
|
scrollX: false,
|
|
scrollY: false,
|
|
SecurityPolicyViolationEvent: false,
|
|
Selection: false,
|
|
self: false,
|
|
ServiceWorker: false,
|
|
ServiceWorkerContainer: false,
|
|
ServiceWorkerRegistration: false,
|
|
sessionStorage: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
ShadowRoot: false,
|
|
SharedWorker: false,
|
|
SourceBuffer: false,
|
|
SourceBufferList: false,
|
|
speechSynthesis: false,
|
|
SpeechSynthesisEvent: false,
|
|
SpeechSynthesisUtterance: false,
|
|
StaticRange: false,
|
|
status: false,
|
|
statusbar: false,
|
|
StereoPannerNode: false,
|
|
stop: false,
|
|
Storage: false,
|
|
StorageEvent: false,
|
|
StorageManager: false,
|
|
styleMedia: false,
|
|
StyleSheet: false,
|
|
StyleSheetList: false,
|
|
SubtleCrypto: false,
|
|
SVGAElement: false,
|
|
SVGAngle: false,
|
|
SVGAnimatedAngle: false,
|
|
SVGAnimatedBoolean: false,
|
|
SVGAnimatedEnumeration: false,
|
|
SVGAnimatedInteger: false,
|
|
SVGAnimatedLength: false,
|
|
SVGAnimatedLengthList: false,
|
|
SVGAnimatedNumber: false,
|
|
SVGAnimatedNumberList: false,
|
|
SVGAnimatedPreserveAspectRatio: false,
|
|
SVGAnimatedRect: false,
|
|
SVGAnimatedString: false,
|
|
SVGAnimatedTransformList: false,
|
|
SVGAnimateElement: false,
|
|
SVGAnimateMotionElement: false,
|
|
SVGAnimateTransformElement: false,
|
|
SVGAnimationElement: false,
|
|
SVGCircleElement: false,
|
|
SVGClipPathElement: false,
|
|
SVGComponentTransferFunctionElement: false,
|
|
SVGDefsElement: false,
|
|
SVGDescElement: false,
|
|
SVGDiscardElement: false,
|
|
SVGElement: false,
|
|
SVGEllipseElement: false,
|
|
SVGFEBlendElement: false,
|
|
SVGFEColorMatrixElement: false,
|
|
SVGFEComponentTransferElement: false,
|
|
SVGFECompositeElement: false,
|
|
SVGFEConvolveMatrixElement: false,
|
|
SVGFEDiffuseLightingElement: false,
|
|
SVGFEDisplacementMapElement: false,
|
|
SVGFEDistantLightElement: false,
|
|
SVGFEDropShadowElement: false,
|
|
SVGFEFloodElement: false,
|
|
SVGFEFuncAElement: false,
|
|
SVGFEFuncBElement: false,
|
|
SVGFEFuncGElement: false,
|
|
SVGFEFuncRElement: false,
|
|
SVGFEGaussianBlurElement: false,
|
|
SVGFEImageElement: false,
|
|
SVGFEMergeElement: false,
|
|
SVGFEMergeNodeElement: false,
|
|
SVGFEMorphologyElement: false,
|
|
SVGFEOffsetElement: false,
|
|
SVGFEPointLightElement: false,
|
|
SVGFESpecularLightingElement: false,
|
|
SVGFESpotLightElement: false,
|
|
SVGFETileElement: false,
|
|
SVGFETurbulenceElement: false,
|
|
SVGFilterElement: false,
|
|
SVGForeignObjectElement: false,
|
|
SVGGElement: false,
|
|
SVGGeometryElement: false,
|
|
SVGGradientElement: false,
|
|
SVGGraphicsElement: false,
|
|
SVGImageElement: false,
|
|
SVGLength: false,
|
|
SVGLengthList: false,
|
|
SVGLinearGradientElement: false,
|
|
SVGLineElement: false,
|
|
SVGMarkerElement: false,
|
|
SVGMaskElement: false,
|
|
SVGMatrix: false,
|
|
SVGMetadataElement: false,
|
|
SVGMPathElement: false,
|
|
SVGNumber: false,
|
|
SVGNumberList: false,
|
|
SVGPathElement: false,
|
|
SVGPatternElement: false,
|
|
SVGPoint: false,
|
|
SVGPointList: false,
|
|
SVGPolygonElement: false,
|
|
SVGPolylineElement: false,
|
|
SVGPreserveAspectRatio: false,
|
|
SVGRadialGradientElement: false,
|
|
SVGRect: false,
|
|
SVGRectElement: false,
|
|
SVGScriptElement: false,
|
|
SVGSetElement: false,
|
|
SVGStopElement: false,
|
|
SVGStringList: false,
|
|
SVGStyleElement: false,
|
|
SVGSVGElement: false,
|
|
SVGSwitchElement: false,
|
|
SVGSymbolElement: false,
|
|
SVGTextContentElement: false,
|
|
SVGTextElement: false,
|
|
SVGTextPathElement: false,
|
|
SVGTextPositioningElement: false,
|
|
SVGTitleElement: false,
|
|
SVGTransform: false,
|
|
SVGTransformList: false,
|
|
SVGTSpanElement: false,
|
|
SVGUnitTypes: false,
|
|
SVGUseElement: false,
|
|
SVGViewElement: false,
|
|
TaskAttributionTiming: false,
|
|
Text: false,
|
|
TextDecoder: false,
|
|
TextEncoder: false,
|
|
TextEvent: false,
|
|
TextMetrics: false,
|
|
TextTrack: false,
|
|
TextTrackCue: false,
|
|
TextTrackCueList: false,
|
|
TextTrackList: false,
|
|
TimeRanges: false,
|
|
toolbar: false,
|
|
top: false,
|
|
Touch: false,
|
|
TouchEvent: false,
|
|
TouchList: false,
|
|
TrackEvent: false,
|
|
TransitionEvent: false,
|
|
TreeWalker: false,
|
|
UIEvent: false,
|
|
URL: false,
|
|
URLSearchParams: false,
|
|
ValidityState: false,
|
|
visualViewport: false,
|
|
VisualViewport: false,
|
|
VTTCue: false,
|
|
WaveShaperNode: false,
|
|
WebAssembly: false,
|
|
WebGL2RenderingContext: false,
|
|
WebGLActiveInfo: false,
|
|
WebGLBuffer: false,
|
|
WebGLContextEvent: false,
|
|
WebGLFramebuffer: false,
|
|
WebGLProgram: false,
|
|
WebGLQuery: false,
|
|
WebGLRenderbuffer: false,
|
|
WebGLRenderingContext: false,
|
|
WebGLSampler: false,
|
|
WebGLShader: false,
|
|
WebGLShaderPrecisionFormat: false,
|
|
WebGLSync: false,
|
|
WebGLTexture: false,
|
|
WebGLTransformFeedback: false,
|
|
WebGLUniformLocation: false,
|
|
WebGLVertexArrayObject: false,
|
|
WebSocket: false,
|
|
WheelEvent: false,
|
|
window: false,
|
|
Window: false,
|
|
Worker: false,
|
|
WritableStream: false,
|
|
XMLDocument: false,
|
|
XMLHttpRequest: false,
|
|
XMLHttpRequestEventTarget: false,
|
|
XMLHttpRequestUpload: false,
|
|
XMLSerializer: false,
|
|
XPathEvaluator: false,
|
|
XPathExpression: false,
|
|
XPathResult: false,
|
|
XSLTProcessor: false
|
|
};
|
|
var worker = {
|
|
addEventListener: false,
|
|
applicationCache: false,
|
|
atob: false,
|
|
Blob: false,
|
|
BroadcastChannel: false,
|
|
btoa: false,
|
|
Cache: false,
|
|
caches: false,
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
close: true,
|
|
console: false,
|
|
fetch: false,
|
|
FileReaderSync: false,
|
|
FormData: false,
|
|
Headers: false,
|
|
IDBCursor: false,
|
|
IDBCursorWithValue: false,
|
|
IDBDatabase: false,
|
|
IDBFactory: false,
|
|
IDBIndex: false,
|
|
IDBKeyRange: false,
|
|
IDBObjectStore: false,
|
|
IDBOpenDBRequest: false,
|
|
IDBRequest: false,
|
|
IDBTransaction: false,
|
|
IDBVersionChangeEvent: false,
|
|
ImageData: false,
|
|
importScripts: true,
|
|
indexedDB: false,
|
|
location: false,
|
|
MessageChannel: false,
|
|
MessagePort: false,
|
|
name: false,
|
|
navigator: false,
|
|
Notification: false,
|
|
onclose: true,
|
|
onconnect: true,
|
|
onerror: true,
|
|
onlanguagechange: true,
|
|
onmessage: true,
|
|
onoffline: true,
|
|
ononline: true,
|
|
onrejectionhandled: true,
|
|
onunhandledrejection: true,
|
|
performance: false,
|
|
Performance: false,
|
|
PerformanceEntry: false,
|
|
PerformanceMark: false,
|
|
PerformanceMeasure: false,
|
|
PerformanceNavigation: false,
|
|
PerformanceResourceTiming: false,
|
|
PerformanceTiming: false,
|
|
postMessage: true,
|
|
"Promise": false,
|
|
queueMicrotask: false,
|
|
removeEventListener: false,
|
|
Request: false,
|
|
Response: false,
|
|
self: true,
|
|
ServiceWorkerRegistration: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
TextDecoder: false,
|
|
TextEncoder: false,
|
|
URL: false,
|
|
URLSearchParams: false,
|
|
WebSocket: false,
|
|
Worker: false,
|
|
WorkerGlobalScope: false,
|
|
XMLHttpRequest: false
|
|
};
|
|
var node$1 = {
|
|
__dirname: false,
|
|
__filename: false,
|
|
Buffer: false,
|
|
clearImmediate: false,
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
console: false,
|
|
exports: true,
|
|
global: false,
|
|
"Intl": false,
|
|
module: false,
|
|
process: false,
|
|
queueMicrotask: false,
|
|
require: false,
|
|
setImmediate: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
TextDecoder: false,
|
|
TextEncoder: false,
|
|
URL: false,
|
|
URLSearchParams: false
|
|
};
|
|
var commonjs = {
|
|
exports: true,
|
|
global: false,
|
|
module: false,
|
|
require: false
|
|
};
|
|
var amd = {
|
|
define: false,
|
|
require: false
|
|
};
|
|
var mocha = {
|
|
after: false,
|
|
afterEach: false,
|
|
before: false,
|
|
beforeEach: false,
|
|
context: false,
|
|
describe: false,
|
|
it: false,
|
|
mocha: false,
|
|
run: false,
|
|
setup: false,
|
|
specify: false,
|
|
suite: false,
|
|
suiteSetup: false,
|
|
suiteTeardown: false,
|
|
teardown: false,
|
|
test: false,
|
|
xcontext: false,
|
|
xdescribe: false,
|
|
xit: false,
|
|
xspecify: false
|
|
};
|
|
var jasmine = {
|
|
afterAll: false,
|
|
afterEach: false,
|
|
beforeAll: false,
|
|
beforeEach: false,
|
|
describe: false,
|
|
expect: false,
|
|
fail: false,
|
|
fdescribe: false,
|
|
fit: false,
|
|
it: false,
|
|
jasmine: false,
|
|
pending: false,
|
|
runs: false,
|
|
spyOn: false,
|
|
spyOnProperty: false,
|
|
waits: false,
|
|
waitsFor: false,
|
|
xdescribe: false,
|
|
xit: false
|
|
};
|
|
var jest = {
|
|
afterAll: false,
|
|
afterEach: false,
|
|
beforeAll: false,
|
|
beforeEach: false,
|
|
describe: false,
|
|
expect: false,
|
|
fdescribe: false,
|
|
fit: false,
|
|
it: false,
|
|
jest: false,
|
|
pit: false,
|
|
require: false,
|
|
test: false,
|
|
xdescribe: false,
|
|
xit: false,
|
|
xtest: false
|
|
};
|
|
var qunit = {
|
|
asyncTest: false,
|
|
deepEqual: false,
|
|
equal: false,
|
|
expect: false,
|
|
module: false,
|
|
notDeepEqual: false,
|
|
notEqual: false,
|
|
notOk: false,
|
|
notPropEqual: false,
|
|
notStrictEqual: false,
|
|
ok: false,
|
|
propEqual: false,
|
|
QUnit: false,
|
|
raises: false,
|
|
start: false,
|
|
stop: false,
|
|
strictEqual: false,
|
|
test: false,
|
|
throws: false
|
|
};
|
|
var phantomjs = {
|
|
console: true,
|
|
exports: true,
|
|
phantom: true,
|
|
require: true,
|
|
WebPage: true
|
|
};
|
|
var couch = {
|
|
emit: false,
|
|
exports: false,
|
|
getRow: false,
|
|
log: false,
|
|
module: false,
|
|
provides: false,
|
|
require: false,
|
|
respond: false,
|
|
send: false,
|
|
start: false,
|
|
sum: false
|
|
};
|
|
var rhino = {
|
|
defineClass: false,
|
|
deserialize: false,
|
|
gc: false,
|
|
help: false,
|
|
importClass: false,
|
|
importPackage: false,
|
|
java: false,
|
|
load: false,
|
|
loadClass: false,
|
|
Packages: false,
|
|
print: false,
|
|
quit: false,
|
|
readFile: false,
|
|
readUrl: false,
|
|
runCommand: false,
|
|
seal: false,
|
|
serialize: false,
|
|
spawn: false,
|
|
sync: false,
|
|
toint32: false,
|
|
version: false
|
|
};
|
|
var nashorn = {
|
|
__DIR__: false,
|
|
__FILE__: false,
|
|
__LINE__: false,
|
|
com: false,
|
|
edu: false,
|
|
exit: false,
|
|
java: false,
|
|
Java: false,
|
|
javafx: false,
|
|
JavaImporter: false,
|
|
javax: false,
|
|
JSAdapter: false,
|
|
load: false,
|
|
loadWithNewGlobal: false,
|
|
org: false,
|
|
Packages: false,
|
|
print: false,
|
|
quit: false
|
|
};
|
|
var wsh = {
|
|
ActiveXObject: true,
|
|
Enumerator: true,
|
|
GetObject: true,
|
|
ScriptEngine: true,
|
|
ScriptEngineBuildVersion: true,
|
|
ScriptEngineMajorVersion: true,
|
|
ScriptEngineMinorVersion: true,
|
|
VBArray: true,
|
|
WScript: true,
|
|
WSH: true,
|
|
XDomainRequest: true
|
|
};
|
|
var jquery = {
|
|
$: false,
|
|
jQuery: false
|
|
};
|
|
var yui = {
|
|
YAHOO: false,
|
|
YAHOO_config: false,
|
|
YUI: false,
|
|
YUI_config: false
|
|
};
|
|
var shelljs = {
|
|
cat: false,
|
|
cd: false,
|
|
chmod: false,
|
|
config: false,
|
|
cp: false,
|
|
dirs: false,
|
|
echo: false,
|
|
env: false,
|
|
error: false,
|
|
exec: false,
|
|
exit: false,
|
|
find: false,
|
|
grep: false,
|
|
ln: false,
|
|
ls: false,
|
|
mkdir: false,
|
|
mv: false,
|
|
popd: false,
|
|
pushd: false,
|
|
pwd: false,
|
|
rm: false,
|
|
sed: false,
|
|
set: false,
|
|
target: false,
|
|
tempdir: false,
|
|
test: false,
|
|
touch: false,
|
|
which: false
|
|
};
|
|
var prototypejs = {
|
|
$: false,
|
|
$$: false,
|
|
$A: false,
|
|
$break: false,
|
|
$continue: false,
|
|
$F: false,
|
|
$H: false,
|
|
$R: false,
|
|
$w: false,
|
|
Abstract: false,
|
|
Ajax: false,
|
|
Autocompleter: false,
|
|
Builder: false,
|
|
Class: false,
|
|
Control: false,
|
|
Draggable: false,
|
|
Draggables: false,
|
|
Droppables: false,
|
|
Effect: false,
|
|
Element: false,
|
|
Enumerable: false,
|
|
Event: false,
|
|
Field: false,
|
|
Form: false,
|
|
Hash: false,
|
|
Insertion: false,
|
|
ObjectRange: false,
|
|
PeriodicalExecuter: false,
|
|
Position: false,
|
|
Prototype: false,
|
|
Scriptaculous: false,
|
|
Selector: false,
|
|
Sortable: false,
|
|
SortableObserver: false,
|
|
Sound: false,
|
|
Template: false,
|
|
Toggle: false,
|
|
Try: false
|
|
};
|
|
var meteor = {
|
|
_: false,
|
|
$: false,
|
|
Accounts: false,
|
|
AccountsClient: false,
|
|
AccountsCommon: false,
|
|
AccountsServer: false,
|
|
App: false,
|
|
Assets: false,
|
|
Blaze: false,
|
|
check: false,
|
|
Cordova: false,
|
|
DDP: false,
|
|
DDPRateLimiter: false,
|
|
DDPServer: false,
|
|
Deps: false,
|
|
EJSON: false,
|
|
Email: false,
|
|
HTTP: false,
|
|
Log: false,
|
|
Match: false,
|
|
Meteor: false,
|
|
Mongo: false,
|
|
MongoInternals: false,
|
|
Npm: false,
|
|
Package: false,
|
|
Plugin: false,
|
|
process: false,
|
|
Random: false,
|
|
ReactiveDict: false,
|
|
ReactiveVar: false,
|
|
Router: false,
|
|
ServiceConfiguration: false,
|
|
Session: false,
|
|
share: false,
|
|
Spacebars: false,
|
|
Template: false,
|
|
Tinytest: false,
|
|
Tracker: false,
|
|
UI: false,
|
|
Utils: false,
|
|
WebApp: false,
|
|
WebAppInternals: false
|
|
};
|
|
var mongo = {
|
|
_isWindows: false,
|
|
_rand: false,
|
|
BulkWriteResult: false,
|
|
cat: false,
|
|
cd: false,
|
|
connect: false,
|
|
db: false,
|
|
getHostName: false,
|
|
getMemInfo: false,
|
|
hostname: false,
|
|
ISODate: false,
|
|
listFiles: false,
|
|
load: false,
|
|
ls: false,
|
|
md5sumFile: false,
|
|
mkdir: false,
|
|
Mongo: false,
|
|
NumberInt: false,
|
|
NumberLong: false,
|
|
ObjectId: false,
|
|
PlanCache: false,
|
|
print: false,
|
|
printjson: false,
|
|
pwd: false,
|
|
quit: false,
|
|
removeFile: false,
|
|
rs: false,
|
|
sh: false,
|
|
UUID: false,
|
|
version: false,
|
|
WriteResult: false
|
|
};
|
|
var applescript = {
|
|
$: false,
|
|
Application: false,
|
|
Automation: false,
|
|
console: false,
|
|
delay: false,
|
|
Library: false,
|
|
ObjC: false,
|
|
ObjectSpecifier: false,
|
|
Path: false,
|
|
Progress: false,
|
|
Ref: false
|
|
};
|
|
var serviceworker = {
|
|
addEventListener: false,
|
|
applicationCache: false,
|
|
atob: false,
|
|
Blob: false,
|
|
BroadcastChannel: false,
|
|
btoa: false,
|
|
Cache: false,
|
|
caches: false,
|
|
CacheStorage: false,
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
Client: false,
|
|
clients: false,
|
|
Clients: false,
|
|
close: true,
|
|
console: false,
|
|
ExtendableEvent: false,
|
|
ExtendableMessageEvent: false,
|
|
fetch: false,
|
|
FetchEvent: false,
|
|
FileReaderSync: false,
|
|
FormData: false,
|
|
Headers: false,
|
|
IDBCursor: false,
|
|
IDBCursorWithValue: false,
|
|
IDBDatabase: false,
|
|
IDBFactory: false,
|
|
IDBIndex: false,
|
|
IDBKeyRange: false,
|
|
IDBObjectStore: false,
|
|
IDBOpenDBRequest: false,
|
|
IDBRequest: false,
|
|
IDBTransaction: false,
|
|
IDBVersionChangeEvent: false,
|
|
ImageData: false,
|
|
importScripts: false,
|
|
indexedDB: false,
|
|
location: false,
|
|
MessageChannel: false,
|
|
MessagePort: false,
|
|
name: false,
|
|
navigator: false,
|
|
Notification: false,
|
|
onclose: true,
|
|
onconnect: true,
|
|
onerror: true,
|
|
onfetch: true,
|
|
oninstall: true,
|
|
onlanguagechange: true,
|
|
onmessage: true,
|
|
onmessageerror: true,
|
|
onnotificationclick: true,
|
|
onnotificationclose: true,
|
|
onoffline: true,
|
|
ononline: true,
|
|
onpush: true,
|
|
onpushsubscriptionchange: true,
|
|
onrejectionhandled: true,
|
|
onsync: true,
|
|
onunhandledrejection: true,
|
|
performance: false,
|
|
Performance: false,
|
|
PerformanceEntry: false,
|
|
PerformanceMark: false,
|
|
PerformanceMeasure: false,
|
|
PerformanceNavigation: false,
|
|
PerformanceResourceTiming: false,
|
|
PerformanceTiming: false,
|
|
postMessage: true,
|
|
"Promise": false,
|
|
queueMicrotask: false,
|
|
registration: false,
|
|
removeEventListener: false,
|
|
Request: false,
|
|
Response: false,
|
|
self: false,
|
|
ServiceWorker: false,
|
|
ServiceWorkerContainer: false,
|
|
ServiceWorkerGlobalScope: false,
|
|
ServiceWorkerMessageEvent: false,
|
|
ServiceWorkerRegistration: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
skipWaiting: false,
|
|
TextDecoder: false,
|
|
TextEncoder: false,
|
|
URL: false,
|
|
URLSearchParams: false,
|
|
WebSocket: false,
|
|
WindowClient: false,
|
|
Worker: false,
|
|
WorkerGlobalScope: false,
|
|
XMLHttpRequest: false
|
|
};
|
|
var atomtest = {
|
|
advanceClock: false,
|
|
fakeClearInterval: false,
|
|
fakeClearTimeout: false,
|
|
fakeSetInterval: false,
|
|
fakeSetTimeout: false,
|
|
resetTimeouts: false,
|
|
waitsForPromise: false
|
|
};
|
|
var embertest = {
|
|
andThen: false,
|
|
click: false,
|
|
currentPath: false,
|
|
currentRouteName: false,
|
|
currentURL: false,
|
|
fillIn: false,
|
|
find: false,
|
|
findAll: false,
|
|
findWithAssert: false,
|
|
keyEvent: false,
|
|
pauseTest: false,
|
|
resumeTest: false,
|
|
triggerEvent: false,
|
|
visit: false,
|
|
wait: false
|
|
};
|
|
var protractor = {
|
|
$: false,
|
|
$$: false,
|
|
browser: false,
|
|
by: false,
|
|
By: false,
|
|
DartObject: false,
|
|
element: false,
|
|
protractor: false
|
|
};
|
|
var webextensions = {
|
|
browser: false,
|
|
chrome: false,
|
|
opr: false
|
|
};
|
|
var greasemonkey = {
|
|
cloneInto: false,
|
|
createObjectIn: false,
|
|
exportFunction: false,
|
|
GM: false,
|
|
GM_addStyle: false,
|
|
GM_deleteValue: false,
|
|
GM_getResourceText: false,
|
|
GM_getResourceURL: false,
|
|
GM_getValue: false,
|
|
GM_info: false,
|
|
GM_listValues: false,
|
|
GM_log: false,
|
|
GM_openInTab: false,
|
|
GM_registerMenuCommand: false,
|
|
GM_setClipboard: false,
|
|
GM_setValue: false,
|
|
GM_xmlhttpRequest: false,
|
|
unsafeWindow: false
|
|
};
|
|
var devtools = {
|
|
$: false,
|
|
$_: false,
|
|
$$: false,
|
|
$0: false,
|
|
$1: false,
|
|
$2: false,
|
|
$3: false,
|
|
$4: false,
|
|
$x: false,
|
|
chrome: false,
|
|
clear: false,
|
|
copy: false,
|
|
debug: false,
|
|
dir: false,
|
|
dirxml: false,
|
|
getEventListeners: false,
|
|
inspect: false,
|
|
keys: false,
|
|
monitor: false,
|
|
monitorEvents: false,
|
|
profile: false,
|
|
profileEnd: false,
|
|
queryObjects: false,
|
|
table: false,
|
|
undebug: false,
|
|
unmonitor: false,
|
|
unmonitorEvents: false,
|
|
values: false
|
|
};
|
|
var require$$0$a = {
|
|
builtin: builtin,
|
|
es5: es5,
|
|
es2015: es2015,
|
|
es2017: es2017,
|
|
browser: browser$2,
|
|
worker: worker,
|
|
node: node$1,
|
|
commonjs: commonjs,
|
|
amd: amd,
|
|
mocha: mocha,
|
|
jasmine: jasmine,
|
|
jest: jest,
|
|
qunit: qunit,
|
|
phantomjs: phantomjs,
|
|
couch: couch,
|
|
rhino: rhino,
|
|
nashorn: nashorn,
|
|
wsh: wsh,
|
|
jquery: jquery,
|
|
yui: yui,
|
|
shelljs: shelljs,
|
|
prototypejs: prototypejs,
|
|
meteor: meteor,
|
|
mongo: mongo,
|
|
applescript: applescript,
|
|
serviceworker: serviceworker,
|
|
atomtest: atomtest,
|
|
embertest: embertest,
|
|
protractor: protractor,
|
|
"shared-node-browser": {
|
|
clearInterval: false,
|
|
clearTimeout: false,
|
|
console: false,
|
|
setInterval: false,
|
|
setTimeout: false,
|
|
URL: false,
|
|
URLSearchParams: false
|
|
},
|
|
webextensions: webextensions,
|
|
greasemonkey: greasemonkey,
|
|
devtools: devtools
|
|
};
|
|
|
|
var globalsBABEL_8_BREAKINGFalse;
|
|
var hasRequiredGlobalsBABEL_8_BREAKINGFalse;
|
|
function requireGlobalsBABEL_8_BREAKINGFalse() {
|
|
if (hasRequiredGlobalsBABEL_8_BREAKINGFalse) return globalsBABEL_8_BREAKINGFalse;
|
|
hasRequiredGlobalsBABEL_8_BREAKINGFalse = 1;
|
|
globalsBABEL_8_BREAKINGFalse = require$$0$a;
|
|
return globalsBABEL_8_BREAKINGFalse;
|
|
}
|
|
|
|
function bool$9(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var globals = bool$9(browser$1$1.env["BABEL_8_BREAKING"]) ? requireGlobalsBABEL_8_BREAKINGTrue() : requireGlobalsBABEL_8_BREAKINGFalse();
|
|
|
|
var NOT_LOCAL_BINDING$1 = NOT_LOCAL_BINDING$2,
|
|
callExpression$d = callExpression$e,
|
|
cloneNode$h = cloneNode$j,
|
|
getBindingIdentifiers$1 = getBindingIdentifiers$2,
|
|
identifier$g = identifier$i,
|
|
isArrayExpression$1 = isArrayExpression$2,
|
|
isBinary$2 = isBinary$3,
|
|
isClass$1 = isClass$2,
|
|
isClassBody$1 = isClassBody$2,
|
|
isClassDeclaration$1 = isClassDeclaration$2,
|
|
isExportAllDeclaration = isExportAllDeclaration$1,
|
|
isExportDefaultDeclaration$2 = isExportDefaultDeclaration$3,
|
|
isExportNamedDeclaration$2 = isExportNamedDeclaration$3,
|
|
isFunctionDeclaration$1 = isFunctionDeclaration$2,
|
|
isIdentifier$i = isIdentifier$j,
|
|
isImportDeclaration$1 = isImportDeclaration$2,
|
|
isLiteral$5 = isLiteral$6,
|
|
isMethod = isMethod$1,
|
|
isModuleSpecifier = isModuleSpecifier$1,
|
|
isNullLiteral$1 = isNullLiteral$2,
|
|
isObjectExpression$2 = isObjectExpression$3,
|
|
isProperty = isProperty$1,
|
|
isPureish$1 = isPureish$2,
|
|
isRegExpLiteral$1 = isRegExpLiteral$2,
|
|
isSuper$2 = isSuper$3,
|
|
isTaggedTemplateExpression$1 = isTaggedTemplateExpression$2,
|
|
isTemplateLiteral$1 = isTemplateLiteral$2,
|
|
isThisExpression$1 = isThisExpression$2,
|
|
isUnaryExpression = isUnaryExpression$1,
|
|
isVariableDeclaration$2 = isVariableDeclaration$3,
|
|
matchesPattern$1 = matchesPattern$2,
|
|
memberExpression$b = memberExpression$c,
|
|
numericLiteral$7 = numericLiteral$8,
|
|
toIdentifier = toIdentifier$1,
|
|
unaryExpression$6 = unaryExpression$7,
|
|
variableDeclaration$6 = variableDeclaration$8,
|
|
variableDeclarator$6 = variableDeclarator$8,
|
|
isRecordExpression = isRecordExpression$1,
|
|
isTupleExpression = isTupleExpression$1,
|
|
isObjectProperty$4 = isObjectProperty$5,
|
|
isTopicReference = isTopicReference$1,
|
|
isMetaProperty = isMetaProperty$1,
|
|
isPrivateName$2 = isPrivateName$3,
|
|
isExportDeclaration$2 = isExportDeclaration$3;
|
|
function gatherNodeParts(node, parts) {
|
|
switch (node == null ? void 0 : node.type) {
|
|
default:
|
|
if (isImportDeclaration$1(node) || isExportDeclaration$2(node)) {
|
|
if ((isExportAllDeclaration(node) || isExportNamedDeclaration$2(node) || isImportDeclaration$1(node)) && node.source) {
|
|
gatherNodeParts(node.source, parts);
|
|
} else if ((isExportNamedDeclaration$2(node) || isImportDeclaration$1(node)) && node.specifiers && node.specifiers.length) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(node.specifiers), _step; !(_step = _iterator()).done;) {
|
|
var e = _step.value;
|
|
gatherNodeParts(e, parts);
|
|
}
|
|
} else if ((isExportDefaultDeclaration$2(node) || isExportNamedDeclaration$2(node)) && node.declaration) {
|
|
gatherNodeParts(node.declaration, parts);
|
|
}
|
|
} else if (isModuleSpecifier(node)) {
|
|
gatherNodeParts(node.local, parts);
|
|
} else if (isLiteral$5(node) && !isNullLiteral$1(node) && !isRegExpLiteral$1(node) && !isTemplateLiteral$1(node)) {
|
|
parts.push(node.value);
|
|
}
|
|
break;
|
|
case "MemberExpression":
|
|
case "OptionalMemberExpression":
|
|
case "JSXMemberExpression":
|
|
gatherNodeParts(node.object, parts);
|
|
gatherNodeParts(node.property, parts);
|
|
break;
|
|
case "Identifier":
|
|
case "JSXIdentifier":
|
|
parts.push(node.name);
|
|
break;
|
|
case "CallExpression":
|
|
case "OptionalCallExpression":
|
|
case "NewExpression":
|
|
gatherNodeParts(node.callee, parts);
|
|
break;
|
|
case "ObjectExpression":
|
|
case "ObjectPattern":
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(node.properties), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _e = _step2.value;
|
|
gatherNodeParts(_e, parts);
|
|
}
|
|
break;
|
|
case "SpreadElement":
|
|
case "RestElement":
|
|
gatherNodeParts(node.argument, parts);
|
|
break;
|
|
case "ObjectProperty":
|
|
case "ObjectMethod":
|
|
case "ClassProperty":
|
|
case "ClassMethod":
|
|
case "ClassPrivateProperty":
|
|
case "ClassPrivateMethod":
|
|
gatherNodeParts(node.key, parts);
|
|
break;
|
|
case "ThisExpression":
|
|
parts.push("this");
|
|
break;
|
|
case "Super":
|
|
parts.push("super");
|
|
break;
|
|
case "Import":
|
|
parts.push("import");
|
|
break;
|
|
case "DoExpression":
|
|
parts.push("do");
|
|
break;
|
|
case "YieldExpression":
|
|
parts.push("yield");
|
|
gatherNodeParts(node.argument, parts);
|
|
break;
|
|
case "AwaitExpression":
|
|
parts.push("await");
|
|
gatherNodeParts(node.argument, parts);
|
|
break;
|
|
case "AssignmentExpression":
|
|
gatherNodeParts(node.left, parts);
|
|
break;
|
|
case "VariableDeclarator":
|
|
gatherNodeParts(node.id, parts);
|
|
break;
|
|
case "FunctionExpression":
|
|
case "FunctionDeclaration":
|
|
case "ClassExpression":
|
|
case "ClassDeclaration":
|
|
gatherNodeParts(node.id, parts);
|
|
break;
|
|
case "PrivateName":
|
|
gatherNodeParts(node.id, parts);
|
|
break;
|
|
case "ParenthesizedExpression":
|
|
gatherNodeParts(node.expression, parts);
|
|
break;
|
|
case "UnaryExpression":
|
|
case "UpdateExpression":
|
|
gatherNodeParts(node.argument, parts);
|
|
break;
|
|
case "MetaProperty":
|
|
gatherNodeParts(node.meta, parts);
|
|
gatherNodeParts(node.property, parts);
|
|
break;
|
|
case "JSXElement":
|
|
gatherNodeParts(node.openingElement, parts);
|
|
break;
|
|
case "JSXOpeningElement":
|
|
gatherNodeParts(node.name, parts);
|
|
break;
|
|
case "JSXFragment":
|
|
gatherNodeParts(node.openingFragment, parts);
|
|
break;
|
|
case "JSXOpeningFragment":
|
|
parts.push("Fragment");
|
|
break;
|
|
case "JSXNamespacedName":
|
|
gatherNodeParts(node.namespace, parts);
|
|
gatherNodeParts(node.name, parts);
|
|
break;
|
|
}
|
|
}
|
|
var collectorVisitor = {
|
|
ForStatement: function ForStatement(path) {
|
|
var declar = path.get("init");
|
|
if (declar.isVar()) {
|
|
var scope = path.scope;
|
|
var parentScope = scope.getFunctionParent() || scope.getProgramParent();
|
|
parentScope.registerBinding("var", declar);
|
|
}
|
|
},
|
|
Declaration: function Declaration(path) {
|
|
if (path.isBlockScoped()) return;
|
|
if (path.isImportDeclaration()) return;
|
|
if (path.isExportDeclaration()) return;
|
|
var parent = path.scope.getFunctionParent() || path.scope.getProgramParent();
|
|
parent.registerDeclaration(path);
|
|
},
|
|
ImportDeclaration: function ImportDeclaration(path) {
|
|
var parent = path.scope.getBlockParent();
|
|
parent.registerDeclaration(path);
|
|
},
|
|
ReferencedIdentifier: function ReferencedIdentifier(path, state) {
|
|
state.references.push(path);
|
|
},
|
|
ForXStatement: function ForXStatement(path, state) {
|
|
var left = path.get("left");
|
|
if (left.isPattern() || left.isIdentifier()) {
|
|
state.constantViolations.push(path);
|
|
} else if (left.isVar()) {
|
|
var scope = path.scope;
|
|
var parentScope = scope.getFunctionParent() || scope.getProgramParent();
|
|
parentScope.registerBinding("var", left);
|
|
}
|
|
},
|
|
ExportDeclaration: {
|
|
exit: function exit(path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
if (isExportAllDeclaration(node)) return;
|
|
var declar = node.declaration;
|
|
if (isClassDeclaration$1(declar) || isFunctionDeclaration$1(declar)) {
|
|
var id = declar.id;
|
|
if (!id) return;
|
|
var binding = scope.getBinding(id.name);
|
|
binding == null ? void 0 : binding.reference(path);
|
|
} else if (isVariableDeclaration$2(declar)) {
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(declar.declarations), _step3; !(_step3 = _iterator3()).done;) {
|
|
var decl = _step3.value;
|
|
for (var _i = 0, _Object$keys = Object.keys(getBindingIdentifiers$1(decl)); _i < _Object$keys.length; _i++) {
|
|
var _name = _Object$keys[_i];
|
|
var _binding = scope.getBinding(_name);
|
|
_binding == null ? void 0 : _binding.reference(path);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
LabeledStatement: function LabeledStatement(path) {
|
|
path.scope.getBlockParent().registerDeclaration(path);
|
|
},
|
|
AssignmentExpression: function AssignmentExpression(path, state) {
|
|
state.assignments.push(path);
|
|
},
|
|
UpdateExpression: function UpdateExpression(path, state) {
|
|
state.constantViolations.push(path);
|
|
},
|
|
UnaryExpression: function UnaryExpression(path, state) {
|
|
if (path.node.operator === "delete") {
|
|
state.constantViolations.push(path);
|
|
}
|
|
},
|
|
BlockScoped: function BlockScoped(path) {
|
|
var scope = path.scope;
|
|
if (scope.path === path) scope = scope.parent;
|
|
var parent = scope.getBlockParent();
|
|
parent.registerDeclaration(path);
|
|
if (path.isClassDeclaration() && path.node.id) {
|
|
var id = path.node.id;
|
|
var _name2 = id.name;
|
|
path.scope.bindings[_name2] = path.scope.parent.getBinding(_name2);
|
|
}
|
|
},
|
|
CatchClause: function CatchClause(path) {
|
|
path.scope.registerBinding("let", path);
|
|
},
|
|
Function: function Function(path) {
|
|
var params = path.get("params");
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(params), _step4; !(_step4 = _iterator4()).done;) {
|
|
var param = _step4.value;
|
|
path.scope.registerBinding("param", param);
|
|
}
|
|
if (path.isFunctionExpression() && path.has("id") && !path.get("id").node[NOT_LOCAL_BINDING$1]) {
|
|
path.scope.registerBinding("local", path.get("id"), path);
|
|
}
|
|
},
|
|
ClassExpression: function ClassExpression(path) {
|
|
if (path.has("id") && !path.get("id").node[NOT_LOCAL_BINDING$1]) {
|
|
path.scope.registerBinding("local", path);
|
|
}
|
|
}
|
|
};
|
|
var uid = 0;
|
|
var Scope$1 = function () {
|
|
function Scope(path) {
|
|
this.uid = void 0;
|
|
this.path = void 0;
|
|
this.block = void 0;
|
|
this.labels = void 0;
|
|
this.inited = void 0;
|
|
this.bindings = void 0;
|
|
this.references = void 0;
|
|
this.globals = void 0;
|
|
this.uids = void 0;
|
|
this.data = void 0;
|
|
this.crawling = void 0;
|
|
var node = path.node;
|
|
var cached = scope.get(node);
|
|
if ((cached == null ? void 0 : cached.path) === path) {
|
|
return cached;
|
|
}
|
|
scope.set(node, this);
|
|
this.uid = uid++;
|
|
this.block = node;
|
|
this.path = path;
|
|
this.labels = new Map();
|
|
this.inited = false;
|
|
}
|
|
var _proto = Scope.prototype;
|
|
_proto.traverse = function traverse$1(node, opts, state) {
|
|
traverse(node, opts, this, state, this.path);
|
|
};
|
|
_proto.generateDeclaredUidIdentifier = function generateDeclaredUidIdentifier(name) {
|
|
var id = this.generateUidIdentifier(name);
|
|
this.push({
|
|
id: id
|
|
});
|
|
return cloneNode$h(id);
|
|
};
|
|
_proto.generateUidIdentifier = function generateUidIdentifier(name) {
|
|
return identifier$g(this.generateUid(name));
|
|
};
|
|
_proto.generateUid = function generateUid(name) {
|
|
if (name === void 0) {
|
|
name = "temp";
|
|
}
|
|
name = toIdentifier(name).replace(/^_+/, "").replace(/[0-9]+$/g, "");
|
|
var uid;
|
|
var i = 1;
|
|
do {
|
|
uid = this._generateUid(name, i);
|
|
i++;
|
|
} while (this.hasLabel(uid) || this.hasBinding(uid) || this.hasGlobal(uid) || this.hasReference(uid));
|
|
var program = this.getProgramParent();
|
|
program.references[uid] = true;
|
|
program.uids[uid] = true;
|
|
return uid;
|
|
};
|
|
_proto._generateUid = function _generateUid(name, i) {
|
|
var id = name;
|
|
if (i > 1) id += i;
|
|
return "_" + id;
|
|
};
|
|
_proto.generateUidBasedOnNode = function generateUidBasedOnNode(node, defaultName) {
|
|
var parts = [];
|
|
gatherNodeParts(node, parts);
|
|
var id = parts.join("$");
|
|
id = id.replace(/^_/, "") || defaultName || "ref";
|
|
return this.generateUid(id.slice(0, 20));
|
|
};
|
|
_proto.generateUidIdentifierBasedOnNode = function generateUidIdentifierBasedOnNode(node, defaultName) {
|
|
return identifier$g(this.generateUidBasedOnNode(node, defaultName));
|
|
};
|
|
_proto.isStatic = function isStatic(node) {
|
|
if (isThisExpression$1(node) || isSuper$2(node) || isTopicReference(node)) {
|
|
return true;
|
|
}
|
|
if (isIdentifier$i(node)) {
|
|
var binding = this.getBinding(node.name);
|
|
if (binding) {
|
|
return binding.constant;
|
|
} else {
|
|
return this.hasBinding(node.name);
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
_proto.maybeGenerateMemoised = function maybeGenerateMemoised(node, dontPush) {
|
|
if (this.isStatic(node)) {
|
|
return null;
|
|
} else {
|
|
var id = this.generateUidIdentifierBasedOnNode(node);
|
|
if (!dontPush) {
|
|
this.push({
|
|
id: id
|
|
});
|
|
return cloneNode$h(id);
|
|
}
|
|
return id;
|
|
}
|
|
};
|
|
_proto.checkBlockScopedCollisions = function checkBlockScopedCollisions(local, kind, name, id) {
|
|
if (kind === "param") return;
|
|
if (local.kind === "local") return;
|
|
var duplicate = kind === "let" || local.kind === "let" || local.kind === "const" || local.kind === "module" || local.kind === "param" && kind === "const";
|
|
if (duplicate) {
|
|
throw this.hub.buildError(id, "Duplicate declaration \"" + name + "\"", TypeError);
|
|
}
|
|
};
|
|
_proto.rename = function rename(oldName, newName) {
|
|
var binding = this.getBinding(oldName);
|
|
if (binding) {
|
|
newName || (newName = this.generateUidIdentifier(oldName).name);
|
|
var renamer = new Renamer(binding, oldName, newName);
|
|
{
|
|
renamer.rename(arguments[2]);
|
|
}
|
|
}
|
|
};
|
|
_proto._renameFromMap = function _renameFromMap(map, oldName, newName, value) {
|
|
if (map[oldName]) {
|
|
map[newName] = value;
|
|
map[oldName] = null;
|
|
}
|
|
};
|
|
_proto.dump = function dump() {
|
|
var sep = "-".repeat(60);
|
|
console.log(sep);
|
|
var scope = this;
|
|
do {
|
|
console.log("#", scope.block.type);
|
|
for (var _i2 = 0, _Object$keys2 = Object.keys(scope.bindings); _i2 < _Object$keys2.length; _i2++) {
|
|
var _name3 = _Object$keys2[_i2];
|
|
var binding = scope.bindings[_name3];
|
|
console.log(" -", _name3, {
|
|
constant: binding.constant,
|
|
references: binding.references,
|
|
violations: binding.constantViolations.length,
|
|
kind: binding.kind
|
|
});
|
|
}
|
|
} while (scope = scope.parent);
|
|
console.log(sep);
|
|
};
|
|
_proto.toArray = function toArray(node, i, arrayLikeIsIterable) {
|
|
if (isIdentifier$i(node)) {
|
|
var binding = this.getBinding(node.name);
|
|
if (binding != null && binding.constant && binding.path.isGenericType("Array")) {
|
|
return node;
|
|
}
|
|
}
|
|
if (isArrayExpression$1(node)) {
|
|
return node;
|
|
}
|
|
if (isIdentifier$i(node, {
|
|
name: "arguments"
|
|
})) {
|
|
return callExpression$d(memberExpression$b(memberExpression$b(memberExpression$b(identifier$g("Array"), identifier$g("prototype")), identifier$g("slice")), identifier$g("call")), [node]);
|
|
}
|
|
var helperName;
|
|
var args = [node];
|
|
if (i === true) {
|
|
helperName = "toConsumableArray";
|
|
} else if (typeof i === "number") {
|
|
args.push(numericLiteral$7(i));
|
|
helperName = "slicedToArray";
|
|
} else {
|
|
helperName = "toArray";
|
|
}
|
|
if (arrayLikeIsIterable) {
|
|
args.unshift(this.hub.addHelper(helperName));
|
|
helperName = "maybeArrayLike";
|
|
}
|
|
return callExpression$d(this.hub.addHelper(helperName), args);
|
|
};
|
|
_proto.hasLabel = function hasLabel(name) {
|
|
return !!this.getLabel(name);
|
|
};
|
|
_proto.getLabel = function getLabel(name) {
|
|
return this.labels.get(name);
|
|
};
|
|
_proto.registerLabel = function registerLabel(path) {
|
|
this.labels.set(path.node.label.name, path);
|
|
};
|
|
_proto.registerDeclaration = function registerDeclaration(path) {
|
|
if (path.isLabeledStatement()) {
|
|
this.registerLabel(path);
|
|
} else if (path.isFunctionDeclaration()) {
|
|
this.registerBinding("hoisted", path.get("id"), path);
|
|
} else if (path.isVariableDeclaration()) {
|
|
var declarations = path.get("declarations");
|
|
var kind = path.node.kind;
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(declarations), _step5; !(_step5 = _iterator5()).done;) {
|
|
var declar = _step5.value;
|
|
this.registerBinding(kind === "using" ? "const" : kind, declar);
|
|
}
|
|
} else if (path.isClassDeclaration()) {
|
|
if (path.node.declare) return;
|
|
this.registerBinding("let", path);
|
|
} else if (path.isImportDeclaration()) {
|
|
var isTypeDeclaration = path.node.importKind === "type" || path.node.importKind === "typeof";
|
|
var specifiers = path.get("specifiers");
|
|
for (var _iterator6 = _createForOfIteratorHelperLoose(specifiers), _step6; !(_step6 = _iterator6()).done;) {
|
|
var specifier = _step6.value;
|
|
var isTypeSpecifier = isTypeDeclaration || specifier.isImportSpecifier() && (specifier.node.importKind === "type" || specifier.node.importKind === "typeof");
|
|
this.registerBinding(isTypeSpecifier ? "unknown" : "module", specifier);
|
|
}
|
|
} else if (path.isExportDeclaration()) {
|
|
var _declar = path.get("declaration");
|
|
if (_declar.isClassDeclaration() || _declar.isFunctionDeclaration() || _declar.isVariableDeclaration()) {
|
|
this.registerDeclaration(_declar);
|
|
}
|
|
} else {
|
|
this.registerBinding("unknown", path);
|
|
}
|
|
};
|
|
_proto.buildUndefinedNode = function buildUndefinedNode() {
|
|
return unaryExpression$6("void", numericLiteral$7(0), true);
|
|
};
|
|
_proto.registerConstantViolation = function registerConstantViolation(path) {
|
|
var ids = path.getBindingIdentifiers();
|
|
for (var _i3 = 0, _Object$keys3 = Object.keys(ids); _i3 < _Object$keys3.length; _i3++) {
|
|
var _name4 = _Object$keys3[_i3];
|
|
var binding = this.getBinding(_name4);
|
|
if (binding) binding.reassign(path);
|
|
}
|
|
};
|
|
_proto.registerBinding = function registerBinding(kind, path, bindingPath) {
|
|
if (bindingPath === void 0) {
|
|
bindingPath = path;
|
|
}
|
|
if (!kind) throw new ReferenceError("no `kind`");
|
|
if (path.isVariableDeclaration()) {
|
|
var declarators = path.get("declarations");
|
|
for (var _iterator7 = _createForOfIteratorHelperLoose(declarators), _step7; !(_step7 = _iterator7()).done;) {
|
|
var declar = _step7.value;
|
|
this.registerBinding(kind, declar);
|
|
}
|
|
return;
|
|
}
|
|
var parent = this.getProgramParent();
|
|
var ids = path.getOuterBindingIdentifiers(true);
|
|
for (var _i4 = 0, _Object$keys4 = Object.keys(ids); _i4 < _Object$keys4.length; _i4++) {
|
|
var _name5 = _Object$keys4[_i4];
|
|
parent.references[_name5] = true;
|
|
for (var _iterator8 = _createForOfIteratorHelperLoose(ids[_name5]), _step8; !(_step8 = _iterator8()).done;) {
|
|
var id = _step8.value;
|
|
var local = this.getOwnBinding(_name5);
|
|
if (local) {
|
|
if (local.identifier === id) continue;
|
|
this.checkBlockScopedCollisions(local, kind, _name5, id);
|
|
}
|
|
if (local) {
|
|
this.registerConstantViolation(bindingPath);
|
|
} else {
|
|
this.bindings[_name5] = new Binding({
|
|
identifier: id,
|
|
scope: this,
|
|
path: bindingPath,
|
|
kind: kind
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
_proto.addGlobal = function addGlobal(node) {
|
|
this.globals[node.name] = node;
|
|
};
|
|
_proto.hasUid = function hasUid(name) {
|
|
var scope = this;
|
|
do {
|
|
if (scope.uids[name]) return true;
|
|
} while (scope = scope.parent);
|
|
return false;
|
|
};
|
|
_proto.hasGlobal = function hasGlobal(name) {
|
|
var scope = this;
|
|
do {
|
|
if (scope.globals[name]) return true;
|
|
} while (scope = scope.parent);
|
|
return false;
|
|
};
|
|
_proto.hasReference = function hasReference(name) {
|
|
return !!this.getProgramParent().references[name];
|
|
};
|
|
_proto.isPure = function isPure(node, constantsOnly) {
|
|
if (isIdentifier$i(node)) {
|
|
var binding = this.getBinding(node.name);
|
|
if (!binding) return false;
|
|
if (constantsOnly) return binding.constant;
|
|
return true;
|
|
} else if (isThisExpression$1(node) || isMetaProperty(node) || isTopicReference(node) || isPrivateName$2(node)) {
|
|
return true;
|
|
} else if (isClass$1(node)) {
|
|
var _node$decorators;
|
|
if (node.superClass && !this.isPure(node.superClass, constantsOnly)) {
|
|
return false;
|
|
}
|
|
if (((_node$decorators = node.decorators) == null ? void 0 : _node$decorators.length) > 0) {
|
|
return false;
|
|
}
|
|
return this.isPure(node.body, constantsOnly);
|
|
} else if (isClassBody$1(node)) {
|
|
for (var _iterator9 = _createForOfIteratorHelperLoose(node.body), _step9; !(_step9 = _iterator9()).done;) {
|
|
var method = _step9.value;
|
|
if (!this.isPure(method, constantsOnly)) return false;
|
|
}
|
|
return true;
|
|
} else if (isBinary$2(node)) {
|
|
return this.isPure(node.left, constantsOnly) && this.isPure(node.right, constantsOnly);
|
|
} else if (isArrayExpression$1(node) || isTupleExpression(node)) {
|
|
for (var _iterator10 = _createForOfIteratorHelperLoose(node.elements), _step10; !(_step10 = _iterator10()).done;) {
|
|
var elem = _step10.value;
|
|
if (elem !== null && !this.isPure(elem, constantsOnly)) return false;
|
|
}
|
|
return true;
|
|
} else if (isObjectExpression$2(node) || isRecordExpression(node)) {
|
|
for (var _iterator11 = _createForOfIteratorHelperLoose(node.properties), _step11; !(_step11 = _iterator11()).done;) {
|
|
var prop = _step11.value;
|
|
if (!this.isPure(prop, constantsOnly)) return false;
|
|
}
|
|
return true;
|
|
} else if (isMethod(node)) {
|
|
var _node$decorators2;
|
|
if (node.computed && !this.isPure(node.key, constantsOnly)) return false;
|
|
if (((_node$decorators2 = node.decorators) == null ? void 0 : _node$decorators2.length) > 0) {
|
|
return false;
|
|
}
|
|
return true;
|
|
} else if (isProperty(node)) {
|
|
var _node$decorators3;
|
|
if (node.computed && !this.isPure(node.key, constantsOnly)) return false;
|
|
if (((_node$decorators3 = node.decorators) == null ? void 0 : _node$decorators3.length) > 0) {
|
|
return false;
|
|
}
|
|
if (isObjectProperty$4(node) || node["static"]) {
|
|
if (node.value !== null && !this.isPure(node.value, constantsOnly)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
} else if (isUnaryExpression(node)) {
|
|
return this.isPure(node.argument, constantsOnly);
|
|
} else if (isTaggedTemplateExpression$1(node)) {
|
|
return matchesPattern$1(node.tag, "String.raw") && !this.hasBinding("String", true) && this.isPure(node.quasi, constantsOnly);
|
|
} else if (isTemplateLiteral$1(node)) {
|
|
for (var _iterator12 = _createForOfIteratorHelperLoose(node.expressions), _step12; !(_step12 = _iterator12()).done;) {
|
|
var expression = _step12.value;
|
|
if (!this.isPure(expression, constantsOnly)) return false;
|
|
}
|
|
return true;
|
|
} else {
|
|
return isPureish$1(node);
|
|
}
|
|
};
|
|
_proto.setData = function setData(key, val) {
|
|
return this.data[key] = val;
|
|
};
|
|
_proto.getData = function getData(key) {
|
|
var scope = this;
|
|
do {
|
|
var data = scope.data[key];
|
|
if (data != null) return data;
|
|
} while (scope = scope.parent);
|
|
};
|
|
_proto.removeData = function removeData(key) {
|
|
var scope = this;
|
|
do {
|
|
var data = scope.data[key];
|
|
if (data != null) scope.data[key] = null;
|
|
} while (scope = scope.parent);
|
|
};
|
|
_proto.init = function init() {
|
|
if (!this.inited) {
|
|
this.inited = true;
|
|
this.crawl();
|
|
}
|
|
};
|
|
_proto.crawl = function crawl() {
|
|
var path = this.path;
|
|
this.references = Object.create(null);
|
|
this.bindings = Object.create(null);
|
|
this.globals = Object.create(null);
|
|
this.uids = Object.create(null);
|
|
this.data = Object.create(null);
|
|
var programParent = this.getProgramParent();
|
|
if (programParent.crawling) return;
|
|
var state = {
|
|
references: [],
|
|
constantViolations: [],
|
|
assignments: []
|
|
};
|
|
this.crawling = true;
|
|
if (path.type !== "Program" && collectorVisitor._exploded) {
|
|
for (var _iterator13 = _createForOfIteratorHelperLoose(collectorVisitor.enter), _step13; !(_step13 = _iterator13()).done;) {
|
|
var _visit = _step13.value;
|
|
_visit(path, state);
|
|
}
|
|
var typeVisitors = collectorVisitor[path.type];
|
|
if (typeVisitors) {
|
|
for (var _iterator14 = _createForOfIteratorHelperLoose(typeVisitors.enter), _step14; !(_step14 = _iterator14()).done;) {
|
|
var visit = _step14.value;
|
|
visit(path, state);
|
|
}
|
|
}
|
|
}
|
|
path.traverse(collectorVisitor, state);
|
|
this.crawling = false;
|
|
for (var _iterator15 = _createForOfIteratorHelperLoose(state.assignments), _step15; !(_step15 = _iterator15()).done;) {
|
|
var _path = _step15.value;
|
|
var ids = _path.getBindingIdentifiers();
|
|
for (var _i5 = 0, _Object$keys5 = Object.keys(ids); _i5 < _Object$keys5.length; _i5++) {
|
|
var _name6 = _Object$keys5[_i5];
|
|
if (_path.scope.getBinding(_name6)) continue;
|
|
programParent.addGlobal(ids[_name6]);
|
|
}
|
|
_path.scope.registerConstantViolation(_path);
|
|
}
|
|
for (var _iterator16 = _createForOfIteratorHelperLoose(state.references), _step16; !(_step16 = _iterator16()).done;) {
|
|
var ref = _step16.value;
|
|
var binding = ref.scope.getBinding(ref.node.name);
|
|
if (binding) {
|
|
binding.reference(ref);
|
|
} else {
|
|
programParent.addGlobal(ref.node);
|
|
}
|
|
}
|
|
for (var _iterator17 = _createForOfIteratorHelperLoose(state.constantViolations), _step17; !(_step17 = _iterator17()).done;) {
|
|
var _path2 = _step17.value;
|
|
_path2.scope.registerConstantViolation(_path2);
|
|
}
|
|
};
|
|
_proto.push = function push(opts) {
|
|
var path = this.path;
|
|
if (path.isPattern()) {
|
|
path = this.getPatternParent().path;
|
|
} else if (!path.isBlockStatement() && !path.isProgram()) {
|
|
path = this.getBlockParent().path;
|
|
}
|
|
if (path.isSwitchStatement()) {
|
|
path = (this.getFunctionParent() || this.getProgramParent()).path;
|
|
}
|
|
if (path.isLoop() || path.isCatchClause() || path.isFunction()) {
|
|
path.ensureBlock();
|
|
path = path.get("body");
|
|
}
|
|
var unique = opts.unique;
|
|
var kind = opts.kind || "var";
|
|
var blockHoist = opts._blockHoist == null ? 2 : opts._blockHoist;
|
|
var dataKey = "declaration:" + kind + ":" + blockHoist;
|
|
var declarPath = !unique && path.getData(dataKey);
|
|
if (!declarPath) {
|
|
var declar = variableDeclaration$6(kind, []);
|
|
declar._blockHoist = blockHoist;
|
|
var _unshiftContainer = path.unshiftContainer("body", [declar]);
|
|
var _unshiftContainer2 = _slicedToArray(_unshiftContainer, 1);
|
|
declarPath = _unshiftContainer2[0];
|
|
if (!unique) path.setData(dataKey, declarPath);
|
|
}
|
|
var declarator = variableDeclarator$6(opts.id, opts.init);
|
|
var len = declarPath.node.declarations.push(declarator);
|
|
path.scope.registerBinding(kind, declarPath.get("declarations")[len - 1]);
|
|
};
|
|
_proto.getProgramParent = function getProgramParent() {
|
|
var scope = this;
|
|
do {
|
|
if (scope.path.isProgram()) {
|
|
return scope;
|
|
}
|
|
} while (scope = scope.parent);
|
|
throw new Error("Couldn't find a Program");
|
|
};
|
|
_proto.getFunctionParent = function getFunctionParent() {
|
|
var scope = this;
|
|
do {
|
|
if (scope.path.isFunctionParent()) {
|
|
return scope;
|
|
}
|
|
} while (scope = scope.parent);
|
|
return null;
|
|
};
|
|
_proto.getBlockParent = function getBlockParent() {
|
|
var scope = this;
|
|
do {
|
|
if (scope.path.isBlockParent()) {
|
|
return scope;
|
|
}
|
|
} while (scope = scope.parent);
|
|
throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
|
|
};
|
|
_proto.getPatternParent = function getPatternParent() {
|
|
var scope = this;
|
|
do {
|
|
if (!scope.path.isPattern()) {
|
|
return scope.getBlockParent();
|
|
}
|
|
} while (scope = scope.parent.parent);
|
|
throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
|
|
};
|
|
_proto.getAllBindings = function getAllBindings() {
|
|
var ids = Object.create(null);
|
|
var scope = this;
|
|
do {
|
|
for (var _i6 = 0, _Object$keys6 = Object.keys(scope.bindings); _i6 < _Object$keys6.length; _i6++) {
|
|
var _key = _Object$keys6[_i6];
|
|
if (_key in ids === false) {
|
|
ids[_key] = scope.bindings[_key];
|
|
}
|
|
}
|
|
scope = scope.parent;
|
|
} while (scope);
|
|
return ids;
|
|
};
|
|
_proto.getAllBindingsOfKind = function getAllBindingsOfKind() {
|
|
var ids = Object.create(null);
|
|
for (var _len = arguments.length, kinds = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {
|
|
kinds[_key2] = arguments[_key2];
|
|
}
|
|
for (var _i7 = 0, _kinds = kinds; _i7 < _kinds.length; _i7++) {
|
|
var kind = _kinds[_i7];
|
|
var scope = this;
|
|
do {
|
|
for (var _i8 = 0, _Object$keys7 = Object.keys(scope.bindings); _i8 < _Object$keys7.length; _i8++) {
|
|
var _name7 = _Object$keys7[_i8];
|
|
var binding = scope.bindings[_name7];
|
|
if (binding.kind === kind) ids[_name7] = binding;
|
|
}
|
|
scope = scope.parent;
|
|
} while (scope);
|
|
}
|
|
return ids;
|
|
};
|
|
_proto.bindingIdentifierEquals = function bindingIdentifierEquals(name, node) {
|
|
return this.getBindingIdentifier(name) === node;
|
|
};
|
|
_proto.getBinding = function getBinding(name) {
|
|
var scope = this;
|
|
var previousPath;
|
|
do {
|
|
var binding = scope.getOwnBinding(name);
|
|
if (binding) {
|
|
var _previousPath;
|
|
if ((_previousPath = previousPath) != null && _previousPath.isPattern() && binding.kind !== "param" && binding.kind !== "local") ; else {
|
|
return binding;
|
|
}
|
|
} else if (!binding && name === "arguments" && scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) {
|
|
break;
|
|
}
|
|
previousPath = scope.path;
|
|
} while (scope = scope.parent);
|
|
};
|
|
_proto.getOwnBinding = function getOwnBinding(name) {
|
|
return this.bindings[name];
|
|
};
|
|
_proto.getBindingIdentifier = function getBindingIdentifier(name) {
|
|
var _this$getBinding;
|
|
return (_this$getBinding = this.getBinding(name)) == null ? void 0 : _this$getBinding.identifier;
|
|
};
|
|
_proto.getOwnBindingIdentifier = function getOwnBindingIdentifier(name) {
|
|
var binding = this.bindings[name];
|
|
return binding == null ? void 0 : binding.identifier;
|
|
};
|
|
_proto.hasOwnBinding = function hasOwnBinding(name) {
|
|
return !!this.getOwnBinding(name);
|
|
};
|
|
_proto.hasBinding = function hasBinding(name, opts) {
|
|
var _opts, _opts2, _opts3;
|
|
if (!name) return false;
|
|
if (this.hasOwnBinding(name)) return true;
|
|
{
|
|
if (typeof opts === "boolean") opts = {
|
|
noGlobals: opts
|
|
};
|
|
}
|
|
if (this.parentHasBinding(name, opts)) return true;
|
|
if (!((_opts = opts) != null && _opts.noUids) && this.hasUid(name)) return true;
|
|
if (!((_opts2 = opts) != null && _opts2.noGlobals) && Scope.globals.includes(name)) return true;
|
|
if (!((_opts3 = opts) != null && _opts3.noGlobals) && Scope.contextVariables.includes(name)) return true;
|
|
return false;
|
|
};
|
|
_proto.parentHasBinding = function parentHasBinding(name, opts) {
|
|
var _this$parent;
|
|
return (_this$parent = this.parent) == null ? void 0 : _this$parent.hasBinding(name, opts);
|
|
};
|
|
_proto.moveBindingTo = function moveBindingTo(name, scope) {
|
|
var info = this.getBinding(name);
|
|
if (info) {
|
|
info.scope.removeOwnBinding(name);
|
|
info.scope = scope;
|
|
scope.bindings[name] = info;
|
|
}
|
|
};
|
|
_proto.removeOwnBinding = function removeOwnBinding(name) {
|
|
delete this.bindings[name];
|
|
};
|
|
_proto.removeBinding = function removeBinding(name) {
|
|
var _this$getBinding2;
|
|
(_this$getBinding2 = this.getBinding(name)) == null ? void 0 : _this$getBinding2.scope.removeOwnBinding(name);
|
|
var scope = this;
|
|
do {
|
|
if (scope.uids[name]) {
|
|
scope.uids[name] = false;
|
|
}
|
|
} while (scope = scope.parent);
|
|
};
|
|
_createClass(Scope, [{
|
|
key: "parent",
|
|
get: function get() {
|
|
var _parent;
|
|
var parent,
|
|
path = this.path;
|
|
do {
|
|
var shouldSkip = path.key === "key" || path.listKey === "decorators";
|
|
path = path.parentPath;
|
|
if (shouldSkip && path.isMethod()) path = path.parentPath;
|
|
if (path && path.isScope()) parent = path;
|
|
} while (path && !parent);
|
|
return (_parent = parent) == null ? void 0 : _parent.scope;
|
|
}
|
|
}, {
|
|
key: "parentBlock",
|
|
get: function get() {
|
|
return this.path.parent;
|
|
}
|
|
}, {
|
|
key: "hub",
|
|
get: function get() {
|
|
return this.path.hub;
|
|
}
|
|
}]);
|
|
return Scope;
|
|
}();
|
|
Scope$1.globals = Object.keys(globals.builtin);
|
|
Scope$1.contextVariables = ["arguments", "undefined", "Infinity", "NaN"];
|
|
|
|
var genMapping_umd$1 = {exports: {}};
|
|
|
|
var setArray_umd = {exports: {}};
|
|
|
|
var hasRequiredSetArray_umd;
|
|
function requireSetArray_umd() {
|
|
if (hasRequiredSetArray_umd) return setArray_umd.exports;
|
|
hasRequiredSetArray_umd = 1;
|
|
(function (module, exports) {
|
|
(function (global, factory) {
|
|
factory(exports) ;
|
|
})(commonjsGlobal, function (exports) {
|
|
exports.get = void 0;
|
|
exports.put = void 0;
|
|
exports.pop = void 0;
|
|
var SetArray = _createClass(function SetArray() {
|
|
this._indexes = {
|
|
__proto__: null
|
|
};
|
|
this.array = [];
|
|
});
|
|
(function () {
|
|
exports.get = function (strarr, key) {
|
|
return strarr._indexes[key];
|
|
};
|
|
exports.put = function (strarr, key) {
|
|
var index = exports.get(strarr, key);
|
|
if (index !== undefined) return index;
|
|
var array = strarr.array,
|
|
indexes = strarr._indexes;
|
|
return indexes[key] = array.push(key) - 1;
|
|
};
|
|
exports.pop = function (strarr) {
|
|
var array = strarr.array,
|
|
indexes = strarr._indexes;
|
|
if (array.length === 0) return;
|
|
var last = array.pop();
|
|
indexes[last] = undefined;
|
|
};
|
|
})();
|
|
exports.SetArray = SetArray;
|
|
Object.defineProperty(exports, '__esModule', {
|
|
value: true
|
|
});
|
|
});
|
|
})(setArray_umd, setArray_umd.exports);
|
|
return setArray_umd.exports;
|
|
}
|
|
|
|
var lookup$1 = [];
|
|
var revLookup$1 = [];
|
|
var Arr$1 = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;
|
|
var inited = false;
|
|
function init () {
|
|
inited = true;
|
|
var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
for (var i = 0, len = code.length; i < len; ++i) {
|
|
lookup$1[i] = code[i];
|
|
revLookup$1[code.charCodeAt(i)] = i;
|
|
}
|
|
|
|
revLookup$1['-'.charCodeAt(0)] = 62;
|
|
revLookup$1['_'.charCodeAt(0)] = 63;
|
|
}
|
|
|
|
function toByteArray$1 (b64) {
|
|
if (!inited) {
|
|
init();
|
|
}
|
|
var i, j, l, tmp, placeHolders, arr;
|
|
var len = b64.length;
|
|
|
|
if (len % 4 > 0) {
|
|
throw new Error('Invalid string. Length must be a multiple of 4')
|
|
}
|
|
|
|
// the number of equal signs (place holders)
|
|
// if there are two placeholders, than the two characters before it
|
|
// represent one byte
|
|
// if there is only one, then the three characters before it represent 2 bytes
|
|
// this is just a cheap hack to not do indexOf twice
|
|
placeHolders = b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0;
|
|
|
|
// base64 is 4/3 + up to two characters of the original data
|
|
arr = new Arr$1(len * 3 / 4 - placeHolders);
|
|
|
|
// if there are placeholders, only get up to the last complete 4 chars
|
|
l = placeHolders > 0 ? len - 4 : len;
|
|
|
|
var L = 0;
|
|
|
|
for (i = 0, j = 0; i < l; i += 4, j += 3) {
|
|
tmp = (revLookup$1[b64.charCodeAt(i)] << 18) | (revLookup$1[b64.charCodeAt(i + 1)] << 12) | (revLookup$1[b64.charCodeAt(i + 2)] << 6) | revLookup$1[b64.charCodeAt(i + 3)];
|
|
arr[L++] = (tmp >> 16) & 0xFF;
|
|
arr[L++] = (tmp >> 8) & 0xFF;
|
|
arr[L++] = tmp & 0xFF;
|
|
}
|
|
|
|
if (placeHolders === 2) {
|
|
tmp = (revLookup$1[b64.charCodeAt(i)] << 2) | (revLookup$1[b64.charCodeAt(i + 1)] >> 4);
|
|
arr[L++] = tmp & 0xFF;
|
|
} else if (placeHolders === 1) {
|
|
tmp = (revLookup$1[b64.charCodeAt(i)] << 10) | (revLookup$1[b64.charCodeAt(i + 1)] << 4) | (revLookup$1[b64.charCodeAt(i + 2)] >> 2);
|
|
arr[L++] = (tmp >> 8) & 0xFF;
|
|
arr[L++] = tmp & 0xFF;
|
|
}
|
|
|
|
return arr
|
|
}
|
|
|
|
function tripletToBase64$1 (num) {
|
|
return lookup$1[num >> 18 & 0x3F] + lookup$1[num >> 12 & 0x3F] + lookup$1[num >> 6 & 0x3F] + lookup$1[num & 0x3F]
|
|
}
|
|
|
|
function encodeChunk$1 (uint8, start, end) {
|
|
var tmp;
|
|
var output = [];
|
|
for (var i = start; i < end; i += 3) {
|
|
tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]);
|
|
output.push(tripletToBase64$1(tmp));
|
|
}
|
|
return output.join('')
|
|
}
|
|
|
|
function fromByteArray$1 (uint8) {
|
|
if (!inited) {
|
|
init();
|
|
}
|
|
var tmp;
|
|
var len = uint8.length;
|
|
var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes
|
|
var output = '';
|
|
var parts = [];
|
|
var maxChunkLength = 16383; // must be multiple of 3
|
|
|
|
// go through the array every three bytes, we'll deal with trailing stuff later
|
|
for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
|
|
parts.push(encodeChunk$1(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));
|
|
}
|
|
|
|
// pad the end with zeros, but make sure to not forget the extra bytes
|
|
if (extraBytes === 1) {
|
|
tmp = uint8[len - 1];
|
|
output += lookup$1[tmp >> 2];
|
|
output += lookup$1[(tmp << 4) & 0x3F];
|
|
output += '==';
|
|
} else if (extraBytes === 2) {
|
|
tmp = (uint8[len - 2] << 8) + (uint8[len - 1]);
|
|
output += lookup$1[tmp >> 10];
|
|
output += lookup$1[(tmp >> 4) & 0x3F];
|
|
output += lookup$1[(tmp << 2) & 0x3F];
|
|
output += '=';
|
|
}
|
|
|
|
parts.push(output);
|
|
|
|
return parts.join('')
|
|
}
|
|
|
|
function read (buffer, offset, isLE, mLen, nBytes) {
|
|
var e, m;
|
|
var eLen = nBytes * 8 - mLen - 1;
|
|
var eMax = (1 << eLen) - 1;
|
|
var eBias = eMax >> 1;
|
|
var nBits = -7;
|
|
var i = isLE ? (nBytes - 1) : 0;
|
|
var d = isLE ? -1 : 1;
|
|
var s = buffer[offset + i];
|
|
|
|
i += d;
|
|
|
|
e = s & ((1 << (-nBits)) - 1);
|
|
s >>= (-nBits);
|
|
nBits += eLen;
|
|
for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
|
|
|
|
m = e & ((1 << (-nBits)) - 1);
|
|
e >>= (-nBits);
|
|
nBits += mLen;
|
|
for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
|
|
|
|
if (e === 0) {
|
|
e = 1 - eBias;
|
|
} else if (e === eMax) {
|
|
return m ? NaN : ((s ? -1 : 1) * Infinity)
|
|
} else {
|
|
m = m + Math.pow(2, mLen);
|
|
e = e - eBias;
|
|
}
|
|
return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
|
|
}
|
|
|
|
function write (buffer, value, offset, isLE, mLen, nBytes) {
|
|
var e, m, c;
|
|
var eLen = nBytes * 8 - mLen - 1;
|
|
var eMax = (1 << eLen) - 1;
|
|
var eBias = eMax >> 1;
|
|
var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);
|
|
var i = isLE ? 0 : (nBytes - 1);
|
|
var d = isLE ? 1 : -1;
|
|
var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
|
|
|
|
value = Math.abs(value);
|
|
|
|
if (isNaN(value) || value === Infinity) {
|
|
m = isNaN(value) ? 1 : 0;
|
|
e = eMax;
|
|
} else {
|
|
e = Math.floor(Math.log(value) / Math.LN2);
|
|
if (value * (c = Math.pow(2, -e)) < 1) {
|
|
e--;
|
|
c *= 2;
|
|
}
|
|
if (e + eBias >= 1) {
|
|
value += rt / c;
|
|
} else {
|
|
value += rt * Math.pow(2, 1 - eBias);
|
|
}
|
|
if (value * c >= 2) {
|
|
e++;
|
|
c /= 2;
|
|
}
|
|
|
|
if (e + eBias >= eMax) {
|
|
m = 0;
|
|
e = eMax;
|
|
} else if (e + eBias >= 1) {
|
|
m = (value * c - 1) * Math.pow(2, mLen);
|
|
e = e + eBias;
|
|
} else {
|
|
m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
|
|
e = 0;
|
|
}
|
|
}
|
|
|
|
for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
|
|
|
|
e = (e << mLen) | m;
|
|
eLen += mLen;
|
|
for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
|
|
|
|
buffer[offset + i - d] |= s * 128;
|
|
}
|
|
|
|
var toString = {}.toString;
|
|
|
|
var isArray$1 = Array.isArray || function (arr) {
|
|
return toString.call(arr) == '[object Array]';
|
|
};
|
|
|
|
/*!
|
|
* The buffer module from node.js, for the browser.
|
|
*
|
|
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
|
|
* @license MIT
|
|
*/
|
|
|
|
var INSPECT_MAX_BYTES = 50;
|
|
|
|
/**
|
|
* If `Buffer.TYPED_ARRAY_SUPPORT`:
|
|
* === true Use Uint8Array implementation (fastest)
|
|
* === false Use Object implementation (most compatible, even IE6)
|
|
*
|
|
* Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
|
|
* Opera 11.6+, iOS 4.2+.
|
|
*
|
|
* Due to various browser bugs, sometimes the Object implementation will be used even
|
|
* when the browser supports typed arrays.
|
|
*
|
|
* Note:
|
|
*
|
|
* - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
|
|
* See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
|
|
*
|
|
* - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
|
|
*
|
|
* - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
|
|
* incorrect length in some situations.
|
|
|
|
* We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
|
|
* get the Object implementation, which is slower but behaves correctly.
|
|
*/
|
|
Buffer$1.TYPED_ARRAY_SUPPORT = global$1.TYPED_ARRAY_SUPPORT !== undefined
|
|
? global$1.TYPED_ARRAY_SUPPORT
|
|
: true;
|
|
|
|
/*
|
|
* Export kMaxLength after typed array support is determined.
|
|
*/
|
|
kMaxLength();
|
|
|
|
function kMaxLength () {
|
|
return Buffer$1.TYPED_ARRAY_SUPPORT
|
|
? 0x7fffffff
|
|
: 0x3fffffff
|
|
}
|
|
|
|
function createBuffer (that, length) {
|
|
if (kMaxLength() < length) {
|
|
throw new RangeError('Invalid typed array length')
|
|
}
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
// Return an augmented `Uint8Array` instance, for best performance
|
|
that = new Uint8Array(length);
|
|
that.__proto__ = Buffer$1.prototype;
|
|
} else {
|
|
// Fallback: Return an object instance of the Buffer class
|
|
if (that === null) {
|
|
that = new Buffer$1(length);
|
|
}
|
|
that.length = length;
|
|
}
|
|
|
|
return that
|
|
}
|
|
|
|
/**
|
|
* The Buffer constructor returns instances of `Uint8Array` that have their
|
|
* prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
|
|
* `Uint8Array`, so the returned instances will have all the node `Buffer` methods
|
|
* and the `Uint8Array` methods. Square bracket notation works as expected -- it
|
|
* returns a single octet.
|
|
*
|
|
* The `Uint8Array` prototype remains unmodified.
|
|
*/
|
|
|
|
function Buffer$1 (arg, encodingOrOffset, length) {
|
|
if (!Buffer$1.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer$1)) {
|
|
return new Buffer$1(arg, encodingOrOffset, length)
|
|
}
|
|
|
|
// Common case.
|
|
if (typeof arg === 'number') {
|
|
if (typeof encodingOrOffset === 'string') {
|
|
throw new Error(
|
|
'If encoding is specified then the first argument must be a string'
|
|
)
|
|
}
|
|
return allocUnsafe(this, arg)
|
|
}
|
|
return from(this, arg, encodingOrOffset, length)
|
|
}
|
|
|
|
Buffer$1.poolSize = 8192; // not used by this implementation
|
|
|
|
// TODO: Legacy, not needed anymore. Remove in next major version.
|
|
Buffer$1._augment = function (arr) {
|
|
arr.__proto__ = Buffer$1.prototype;
|
|
return arr
|
|
};
|
|
|
|
function from (that, value, encodingOrOffset, length) {
|
|
if (typeof value === 'number') {
|
|
throw new TypeError('"value" argument must not be a number')
|
|
}
|
|
|
|
if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {
|
|
return fromArrayBuffer(that, value, encodingOrOffset, length)
|
|
}
|
|
|
|
if (typeof value === 'string') {
|
|
return fromString(that, value, encodingOrOffset)
|
|
}
|
|
|
|
return fromObject(that, value)
|
|
}
|
|
|
|
/**
|
|
* Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
|
|
* if value is a number.
|
|
* Buffer.from(str[, encoding])
|
|
* Buffer.from(array)
|
|
* Buffer.from(buffer)
|
|
* Buffer.from(arrayBuffer[, byteOffset[, length]])
|
|
**/
|
|
Buffer$1.from = function (value, encodingOrOffset, length) {
|
|
return from(null, value, encodingOrOffset, length)
|
|
};
|
|
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
Buffer$1.prototype.__proto__ = Uint8Array.prototype;
|
|
Buffer$1.__proto__ = Uint8Array;
|
|
}
|
|
|
|
function assertSize (size) {
|
|
if (typeof size !== 'number') {
|
|
throw new TypeError('"size" argument must be a number')
|
|
} else if (size < 0) {
|
|
throw new RangeError('"size" argument must not be negative')
|
|
}
|
|
}
|
|
|
|
function alloc (that, size, fill, encoding) {
|
|
assertSize(size);
|
|
if (size <= 0) {
|
|
return createBuffer(that, size)
|
|
}
|
|
if (fill !== undefined) {
|
|
// Only pay attention to encoding if it's a string. This
|
|
// prevents accidentally sending in a number that would
|
|
// be interpretted as a start offset.
|
|
return typeof encoding === 'string'
|
|
? createBuffer(that, size).fill(fill, encoding)
|
|
: createBuffer(that, size).fill(fill)
|
|
}
|
|
return createBuffer(that, size)
|
|
}
|
|
|
|
/**
|
|
* Creates a new filled Buffer instance.
|
|
* alloc(size[, fill[, encoding]])
|
|
**/
|
|
Buffer$1.alloc = function (size, fill, encoding) {
|
|
return alloc(null, size, fill, encoding)
|
|
};
|
|
|
|
function allocUnsafe (that, size) {
|
|
assertSize(size);
|
|
that = createBuffer(that, size < 0 ? 0 : checked(size) | 0);
|
|
if (!Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
for (var i = 0; i < size; ++i) {
|
|
that[i] = 0;
|
|
}
|
|
}
|
|
return that
|
|
}
|
|
|
|
/**
|
|
* Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
|
|
* */
|
|
Buffer$1.allocUnsafe = function (size) {
|
|
return allocUnsafe(null, size)
|
|
};
|
|
/**
|
|
* Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
|
|
*/
|
|
Buffer$1.allocUnsafeSlow = function (size) {
|
|
return allocUnsafe(null, size)
|
|
};
|
|
|
|
function fromString (that, string, encoding) {
|
|
if (typeof encoding !== 'string' || encoding === '') {
|
|
encoding = 'utf8';
|
|
}
|
|
|
|
if (!Buffer$1.isEncoding(encoding)) {
|
|
throw new TypeError('"encoding" must be a valid string encoding')
|
|
}
|
|
|
|
var length = byteLength$1(string, encoding) | 0;
|
|
that = createBuffer(that, length);
|
|
|
|
var actual = that.write(string, encoding);
|
|
|
|
if (actual !== length) {
|
|
// Writing a hex string, for example, that contains invalid characters will
|
|
// cause everything after the first invalid character to be ignored. (e.g.
|
|
// 'abxxcd' will be treated as 'ab')
|
|
that = that.slice(0, actual);
|
|
}
|
|
|
|
return that
|
|
}
|
|
|
|
function fromArrayLike (that, array) {
|
|
var length = array.length < 0 ? 0 : checked(array.length) | 0;
|
|
that = createBuffer(that, length);
|
|
for (var i = 0; i < length; i += 1) {
|
|
that[i] = array[i] & 255;
|
|
}
|
|
return that
|
|
}
|
|
|
|
function fromArrayBuffer (that, array, byteOffset, length) {
|
|
array.byteLength; // this throws if `array` is not a valid ArrayBuffer
|
|
|
|
if (byteOffset < 0 || array.byteLength < byteOffset) {
|
|
throw new RangeError('\'offset\' is out of bounds')
|
|
}
|
|
|
|
if (array.byteLength < byteOffset + (length || 0)) {
|
|
throw new RangeError('\'length\' is out of bounds')
|
|
}
|
|
|
|
if (byteOffset === undefined && length === undefined) {
|
|
array = new Uint8Array(array);
|
|
} else if (length === undefined) {
|
|
array = new Uint8Array(array, byteOffset);
|
|
} else {
|
|
array = new Uint8Array(array, byteOffset, length);
|
|
}
|
|
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
// Return an augmented `Uint8Array` instance, for best performance
|
|
that = array;
|
|
that.__proto__ = Buffer$1.prototype;
|
|
} else {
|
|
// Fallback: Return an object instance of the Buffer class
|
|
that = fromArrayLike(that, array);
|
|
}
|
|
return that
|
|
}
|
|
|
|
function fromObject (that, obj) {
|
|
if (internalIsBuffer(obj)) {
|
|
var len = checked(obj.length) | 0;
|
|
that = createBuffer(that, len);
|
|
|
|
if (that.length === 0) {
|
|
return that
|
|
}
|
|
|
|
obj.copy(that, 0, 0, len);
|
|
return that
|
|
}
|
|
|
|
if (obj) {
|
|
if ((typeof ArrayBuffer !== 'undefined' &&
|
|
obj.buffer instanceof ArrayBuffer) || 'length' in obj) {
|
|
if (typeof obj.length !== 'number' || isnan(obj.length)) {
|
|
return createBuffer(that, 0)
|
|
}
|
|
return fromArrayLike(that, obj)
|
|
}
|
|
|
|
if (obj.type === 'Buffer' && isArray$1(obj.data)) {
|
|
return fromArrayLike(that, obj.data)
|
|
}
|
|
}
|
|
|
|
throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')
|
|
}
|
|
|
|
function checked (length) {
|
|
// Note: cannot use `length < kMaxLength()` here because that fails when
|
|
// length is NaN (which is otherwise coerced to zero.)
|
|
if (length >= kMaxLength()) {
|
|
throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
|
|
'size: 0x' + kMaxLength().toString(16) + ' bytes')
|
|
}
|
|
return length | 0
|
|
}
|
|
Buffer$1.isBuffer = isBuffer$1;
|
|
function internalIsBuffer (b) {
|
|
return !!(b != null && b._isBuffer)
|
|
}
|
|
|
|
Buffer$1.compare = function compare (a, b) {
|
|
if (!internalIsBuffer(a) || !internalIsBuffer(b)) {
|
|
throw new TypeError('Arguments must be Buffers')
|
|
}
|
|
|
|
if (a === b) return 0
|
|
|
|
var x = a.length;
|
|
var y = b.length;
|
|
|
|
for (var i = 0, len = Math.min(x, y); i < len; ++i) {
|
|
if (a[i] !== b[i]) {
|
|
x = a[i];
|
|
y = b[i];
|
|
break
|
|
}
|
|
}
|
|
|
|
if (x < y) return -1
|
|
if (y < x) return 1
|
|
return 0
|
|
};
|
|
|
|
Buffer$1.isEncoding = function isEncoding (encoding) {
|
|
switch (String(encoding).toLowerCase()) {
|
|
case 'hex':
|
|
case 'utf8':
|
|
case 'utf-8':
|
|
case 'ascii':
|
|
case 'latin1':
|
|
case 'binary':
|
|
case 'base64':
|
|
case 'ucs2':
|
|
case 'ucs-2':
|
|
case 'utf16le':
|
|
case 'utf-16le':
|
|
return true
|
|
default:
|
|
return false
|
|
}
|
|
};
|
|
|
|
Buffer$1.concat = function concat (list, length) {
|
|
if (!isArray$1(list)) {
|
|
throw new TypeError('"list" argument must be an Array of Buffers')
|
|
}
|
|
|
|
if (list.length === 0) {
|
|
return Buffer$1.alloc(0)
|
|
}
|
|
|
|
var i;
|
|
if (length === undefined) {
|
|
length = 0;
|
|
for (i = 0; i < list.length; ++i) {
|
|
length += list[i].length;
|
|
}
|
|
}
|
|
|
|
var buffer = Buffer$1.allocUnsafe(length);
|
|
var pos = 0;
|
|
for (i = 0; i < list.length; ++i) {
|
|
var buf = list[i];
|
|
if (!internalIsBuffer(buf)) {
|
|
throw new TypeError('"list" argument must be an Array of Buffers')
|
|
}
|
|
buf.copy(buffer, pos);
|
|
pos += buf.length;
|
|
}
|
|
return buffer
|
|
};
|
|
|
|
function byteLength$1 (string, encoding) {
|
|
if (internalIsBuffer(string)) {
|
|
return string.length
|
|
}
|
|
if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&
|
|
(ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
|
|
return string.byteLength
|
|
}
|
|
if (typeof string !== 'string') {
|
|
string = '' + string;
|
|
}
|
|
|
|
var len = string.length;
|
|
if (len === 0) return 0
|
|
|
|
// Use a for loop to avoid recursion
|
|
var loweredCase = false;
|
|
for (;;) {
|
|
switch (encoding) {
|
|
case 'ascii':
|
|
case 'latin1':
|
|
case 'binary':
|
|
return len
|
|
case 'utf8':
|
|
case 'utf-8':
|
|
case undefined:
|
|
return utf8ToBytes(string).length
|
|
case 'ucs2':
|
|
case 'ucs-2':
|
|
case 'utf16le':
|
|
case 'utf-16le':
|
|
return len * 2
|
|
case 'hex':
|
|
return len >>> 1
|
|
case 'base64':
|
|
return base64ToBytes(string).length
|
|
default:
|
|
if (loweredCase) return utf8ToBytes(string).length // assume utf8
|
|
encoding = ('' + encoding).toLowerCase();
|
|
loweredCase = true;
|
|
}
|
|
}
|
|
}
|
|
Buffer$1.byteLength = byteLength$1;
|
|
|
|
function slowToString (encoding, start, end) {
|
|
var loweredCase = false;
|
|
|
|
// No need to verify that "this.length <= MAX_UINT32" since it's a read-only
|
|
// property of a typed array.
|
|
|
|
// This behaves neither like String nor Uint8Array in that we set start/end
|
|
// to their upper/lower bounds if the value passed is out of range.
|
|
// undefined is handled specially as per ECMA-262 6th Edition,
|
|
// Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
|
|
if (start === undefined || start < 0) {
|
|
start = 0;
|
|
}
|
|
// Return early if start > this.length. Done here to prevent potential uint32
|
|
// coercion fail below.
|
|
if (start > this.length) {
|
|
return ''
|
|
}
|
|
|
|
if (end === undefined || end > this.length) {
|
|
end = this.length;
|
|
}
|
|
|
|
if (end <= 0) {
|
|
return ''
|
|
}
|
|
|
|
// Force coersion to uint32. This will also coerce falsey/NaN values to 0.
|
|
end >>>= 0;
|
|
start >>>= 0;
|
|
|
|
if (end <= start) {
|
|
return ''
|
|
}
|
|
|
|
if (!encoding) encoding = 'utf8';
|
|
|
|
while (true) {
|
|
switch (encoding) {
|
|
case 'hex':
|
|
return hexSlice(this, start, end)
|
|
|
|
case 'utf8':
|
|
case 'utf-8':
|
|
return utf8Slice(this, start, end)
|
|
|
|
case 'ascii':
|
|
return asciiSlice(this, start, end)
|
|
|
|
case 'latin1':
|
|
case 'binary':
|
|
return latin1Slice(this, start, end)
|
|
|
|
case 'base64':
|
|
return base64Slice(this, start, end)
|
|
|
|
case 'ucs2':
|
|
case 'ucs-2':
|
|
case 'utf16le':
|
|
case 'utf-16le':
|
|
return utf16leSlice(this, start, end)
|
|
|
|
default:
|
|
if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
|
|
encoding = (encoding + '').toLowerCase();
|
|
loweredCase = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
|
|
// Buffer instances.
|
|
Buffer$1.prototype._isBuffer = true;
|
|
|
|
function swap (b, n, m) {
|
|
var i = b[n];
|
|
b[n] = b[m];
|
|
b[m] = i;
|
|
}
|
|
|
|
Buffer$1.prototype.swap16 = function swap16 () {
|
|
var len = this.length;
|
|
if (len % 2 !== 0) {
|
|
throw new RangeError('Buffer size must be a multiple of 16-bits')
|
|
}
|
|
for (var i = 0; i < len; i += 2) {
|
|
swap(this, i, i + 1);
|
|
}
|
|
return this
|
|
};
|
|
|
|
Buffer$1.prototype.swap32 = function swap32 () {
|
|
var len = this.length;
|
|
if (len % 4 !== 0) {
|
|
throw new RangeError('Buffer size must be a multiple of 32-bits')
|
|
}
|
|
for (var i = 0; i < len; i += 4) {
|
|
swap(this, i, i + 3);
|
|
swap(this, i + 1, i + 2);
|
|
}
|
|
return this
|
|
};
|
|
|
|
Buffer$1.prototype.swap64 = function swap64 () {
|
|
var len = this.length;
|
|
if (len % 8 !== 0) {
|
|
throw new RangeError('Buffer size must be a multiple of 64-bits')
|
|
}
|
|
for (var i = 0; i < len; i += 8) {
|
|
swap(this, i, i + 7);
|
|
swap(this, i + 1, i + 6);
|
|
swap(this, i + 2, i + 5);
|
|
swap(this, i + 3, i + 4);
|
|
}
|
|
return this
|
|
};
|
|
|
|
Buffer$1.prototype.toString = function toString () {
|
|
var length = this.length | 0;
|
|
if (length === 0) return ''
|
|
if (arguments.length === 0) return utf8Slice(this, 0, length)
|
|
return slowToString.apply(this, arguments)
|
|
};
|
|
|
|
Buffer$1.prototype.equals = function equals (b) {
|
|
if (!internalIsBuffer(b)) throw new TypeError('Argument must be a Buffer')
|
|
if (this === b) return true
|
|
return Buffer$1.compare(this, b) === 0
|
|
};
|
|
|
|
Buffer$1.prototype.inspect = function inspect () {
|
|
var str = '';
|
|
var max = INSPECT_MAX_BYTES;
|
|
if (this.length > 0) {
|
|
str = this.toString('hex', 0, max).match(/.{2}/g).join(' ');
|
|
if (this.length > max) str += ' ... ';
|
|
}
|
|
return '<Buffer ' + str + '>'
|
|
};
|
|
|
|
Buffer$1.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
|
|
if (!internalIsBuffer(target)) {
|
|
throw new TypeError('Argument must be a Buffer')
|
|
}
|
|
|
|
if (start === undefined) {
|
|
start = 0;
|
|
}
|
|
if (end === undefined) {
|
|
end = target ? target.length : 0;
|
|
}
|
|
if (thisStart === undefined) {
|
|
thisStart = 0;
|
|
}
|
|
if (thisEnd === undefined) {
|
|
thisEnd = this.length;
|
|
}
|
|
|
|
if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
|
|
throw new RangeError('out of range index')
|
|
}
|
|
|
|
if (thisStart >= thisEnd && start >= end) {
|
|
return 0
|
|
}
|
|
if (thisStart >= thisEnd) {
|
|
return -1
|
|
}
|
|
if (start >= end) {
|
|
return 1
|
|
}
|
|
|
|
start >>>= 0;
|
|
end >>>= 0;
|
|
thisStart >>>= 0;
|
|
thisEnd >>>= 0;
|
|
|
|
if (this === target) return 0
|
|
|
|
var x = thisEnd - thisStart;
|
|
var y = end - start;
|
|
var len = Math.min(x, y);
|
|
|
|
var thisCopy = this.slice(thisStart, thisEnd);
|
|
var targetCopy = target.slice(start, end);
|
|
|
|
for (var i = 0; i < len; ++i) {
|
|
if (thisCopy[i] !== targetCopy[i]) {
|
|
x = thisCopy[i];
|
|
y = targetCopy[i];
|
|
break
|
|
}
|
|
}
|
|
|
|
if (x < y) return -1
|
|
if (y < x) return 1
|
|
return 0
|
|
};
|
|
|
|
// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
|
|
// OR the last index of `val` in `buffer` at offset <= `byteOffset`.
|
|
//
|
|
// Arguments:
|
|
// - buffer - a Buffer to search
|
|
// - val - a string, Buffer, or number
|
|
// - byteOffset - an index into `buffer`; will be clamped to an int32
|
|
// - encoding - an optional encoding, relevant is val is a string
|
|
// - dir - true for indexOf, false for lastIndexOf
|
|
function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
|
|
// Empty buffer means no match
|
|
if (buffer.length === 0) return -1
|
|
|
|
// Normalize byteOffset
|
|
if (typeof byteOffset === 'string') {
|
|
encoding = byteOffset;
|
|
byteOffset = 0;
|
|
} else if (byteOffset > 0x7fffffff) {
|
|
byteOffset = 0x7fffffff;
|
|
} else if (byteOffset < -0x80000000) {
|
|
byteOffset = -0x80000000;
|
|
}
|
|
byteOffset = +byteOffset; // Coerce to Number.
|
|
if (isNaN(byteOffset)) {
|
|
// byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
|
|
byteOffset = dir ? 0 : (buffer.length - 1);
|
|
}
|
|
|
|
// Normalize byteOffset: negative offsets start from the end of the buffer
|
|
if (byteOffset < 0) byteOffset = buffer.length + byteOffset;
|
|
if (byteOffset >= buffer.length) {
|
|
if (dir) return -1
|
|
else byteOffset = buffer.length - 1;
|
|
} else if (byteOffset < 0) {
|
|
if (dir) byteOffset = 0;
|
|
else return -1
|
|
}
|
|
|
|
// Normalize val
|
|
if (typeof val === 'string') {
|
|
val = Buffer$1.from(val, encoding);
|
|
}
|
|
|
|
// Finally, search either indexOf (if dir is true) or lastIndexOf
|
|
if (internalIsBuffer(val)) {
|
|
// Special case: looking for empty string/buffer always fails
|
|
if (val.length === 0) {
|
|
return -1
|
|
}
|
|
return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
|
|
} else if (typeof val === 'number') {
|
|
val = val & 0xFF; // Search for a byte value [0-255]
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT &&
|
|
typeof Uint8Array.prototype.indexOf === 'function') {
|
|
if (dir) {
|
|
return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
|
|
} else {
|
|
return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
|
|
}
|
|
}
|
|
return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
|
|
}
|
|
|
|
throw new TypeError('val must be string, number or Buffer')
|
|
}
|
|
|
|
function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
|
|
var indexSize = 1;
|
|
var arrLength = arr.length;
|
|
var valLength = val.length;
|
|
|
|
if (encoding !== undefined) {
|
|
encoding = String(encoding).toLowerCase();
|
|
if (encoding === 'ucs2' || encoding === 'ucs-2' ||
|
|
encoding === 'utf16le' || encoding === 'utf-16le') {
|
|
if (arr.length < 2 || val.length < 2) {
|
|
return -1
|
|
}
|
|
indexSize = 2;
|
|
arrLength /= 2;
|
|
valLength /= 2;
|
|
byteOffset /= 2;
|
|
}
|
|
}
|
|
|
|
function read (buf, i) {
|
|
if (indexSize === 1) {
|
|
return buf[i]
|
|
} else {
|
|
return buf.readUInt16BE(i * indexSize)
|
|
}
|
|
}
|
|
|
|
var i;
|
|
if (dir) {
|
|
var foundIndex = -1;
|
|
for (i = byteOffset; i < arrLength; i++) {
|
|
if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
|
|
if (foundIndex === -1) foundIndex = i;
|
|
if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
|
|
} else {
|
|
if (foundIndex !== -1) i -= i - foundIndex;
|
|
foundIndex = -1;
|
|
}
|
|
}
|
|
} else {
|
|
if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;
|
|
for (i = byteOffset; i >= 0; i--) {
|
|
var found = true;
|
|
for (var j = 0; j < valLength; j++) {
|
|
if (read(arr, i + j) !== read(val, j)) {
|
|
found = false;
|
|
break
|
|
}
|
|
}
|
|
if (found) return i
|
|
}
|
|
}
|
|
|
|
return -1
|
|
}
|
|
|
|
Buffer$1.prototype.includes = function includes (val, byteOffset, encoding) {
|
|
return this.indexOf(val, byteOffset, encoding) !== -1
|
|
};
|
|
|
|
Buffer$1.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
|
|
return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
|
|
};
|
|
|
|
Buffer$1.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
|
|
return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
|
|
};
|
|
|
|
function hexWrite (buf, string, offset, length) {
|
|
offset = Number(offset) || 0;
|
|
var remaining = buf.length - offset;
|
|
if (!length) {
|
|
length = remaining;
|
|
} else {
|
|
length = Number(length);
|
|
if (length > remaining) {
|
|
length = remaining;
|
|
}
|
|
}
|
|
|
|
// must be an even number of digits
|
|
var strLen = string.length;
|
|
if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')
|
|
|
|
if (length > strLen / 2) {
|
|
length = strLen / 2;
|
|
}
|
|
for (var i = 0; i < length; ++i) {
|
|
var parsed = parseInt(string.substr(i * 2, 2), 16);
|
|
if (isNaN(parsed)) return i
|
|
buf[offset + i] = parsed;
|
|
}
|
|
return i
|
|
}
|
|
|
|
function utf8Write (buf, string, offset, length) {
|
|
return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
|
|
}
|
|
|
|
function asciiWrite (buf, string, offset, length) {
|
|
return blitBuffer(asciiToBytes(string), buf, offset, length)
|
|
}
|
|
|
|
function latin1Write (buf, string, offset, length) {
|
|
return asciiWrite(buf, string, offset, length)
|
|
}
|
|
|
|
function base64Write (buf, string, offset, length) {
|
|
return blitBuffer(base64ToBytes(string), buf, offset, length)
|
|
}
|
|
|
|
function ucs2Write (buf, string, offset, length) {
|
|
return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
|
|
}
|
|
|
|
Buffer$1.prototype.write = function write (string, offset, length, encoding) {
|
|
// Buffer#write(string)
|
|
if (offset === undefined) {
|
|
encoding = 'utf8';
|
|
length = this.length;
|
|
offset = 0;
|
|
// Buffer#write(string, encoding)
|
|
} else if (length === undefined && typeof offset === 'string') {
|
|
encoding = offset;
|
|
length = this.length;
|
|
offset = 0;
|
|
// Buffer#write(string, offset[, length][, encoding])
|
|
} else if (isFinite(offset)) {
|
|
offset = offset | 0;
|
|
if (isFinite(length)) {
|
|
length = length | 0;
|
|
if (encoding === undefined) encoding = 'utf8';
|
|
} else {
|
|
encoding = length;
|
|
length = undefined;
|
|
}
|
|
// legacy write(string, encoding, offset, length) - remove in v0.13
|
|
} else {
|
|
throw new Error(
|
|
'Buffer.write(string, encoding, offset[, length]) is no longer supported'
|
|
)
|
|
}
|
|
|
|
var remaining = this.length - offset;
|
|
if (length === undefined || length > remaining) length = remaining;
|
|
|
|
if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
|
|
throw new RangeError('Attempt to write outside buffer bounds')
|
|
}
|
|
|
|
if (!encoding) encoding = 'utf8';
|
|
|
|
var loweredCase = false;
|
|
for (;;) {
|
|
switch (encoding) {
|
|
case 'hex':
|
|
return hexWrite(this, string, offset, length)
|
|
|
|
case 'utf8':
|
|
case 'utf-8':
|
|
return utf8Write(this, string, offset, length)
|
|
|
|
case 'ascii':
|
|
return asciiWrite(this, string, offset, length)
|
|
|
|
case 'latin1':
|
|
case 'binary':
|
|
return latin1Write(this, string, offset, length)
|
|
|
|
case 'base64':
|
|
// Warning: maxLength not taken into account in base64Write
|
|
return base64Write(this, string, offset, length)
|
|
|
|
case 'ucs2':
|
|
case 'ucs-2':
|
|
case 'utf16le':
|
|
case 'utf-16le':
|
|
return ucs2Write(this, string, offset, length)
|
|
|
|
default:
|
|
if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
|
|
encoding = ('' + encoding).toLowerCase();
|
|
loweredCase = true;
|
|
}
|
|
}
|
|
};
|
|
|
|
Buffer$1.prototype.toJSON = function toJSON () {
|
|
return {
|
|
type: 'Buffer',
|
|
data: Array.prototype.slice.call(this._arr || this, 0)
|
|
}
|
|
};
|
|
|
|
function base64Slice (buf, start, end) {
|
|
if (start === 0 && end === buf.length) {
|
|
return fromByteArray$1(buf)
|
|
} else {
|
|
return fromByteArray$1(buf.slice(start, end))
|
|
}
|
|
}
|
|
|
|
function utf8Slice (buf, start, end) {
|
|
end = Math.min(buf.length, end);
|
|
var res = [];
|
|
|
|
var i = start;
|
|
while (i < end) {
|
|
var firstByte = buf[i];
|
|
var codePoint = null;
|
|
var bytesPerSequence = (firstByte > 0xEF) ? 4
|
|
: (firstByte > 0xDF) ? 3
|
|
: (firstByte > 0xBF) ? 2
|
|
: 1;
|
|
|
|
if (i + bytesPerSequence <= end) {
|
|
var secondByte, thirdByte, fourthByte, tempCodePoint;
|
|
|
|
switch (bytesPerSequence) {
|
|
case 1:
|
|
if (firstByte < 0x80) {
|
|
codePoint = firstByte;
|
|
}
|
|
break
|
|
case 2:
|
|
secondByte = buf[i + 1];
|
|
if ((secondByte & 0xC0) === 0x80) {
|
|
tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);
|
|
if (tempCodePoint > 0x7F) {
|
|
codePoint = tempCodePoint;
|
|
}
|
|
}
|
|
break
|
|
case 3:
|
|
secondByte = buf[i + 1];
|
|
thirdByte = buf[i + 2];
|
|
if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
|
|
tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);
|
|
if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
|
|
codePoint = tempCodePoint;
|
|
}
|
|
}
|
|
break
|
|
case 4:
|
|
secondByte = buf[i + 1];
|
|
thirdByte = buf[i + 2];
|
|
fourthByte = buf[i + 3];
|
|
if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
|
|
tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);
|
|
if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
|
|
codePoint = tempCodePoint;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (codePoint === null) {
|
|
// we did not generate a valid codePoint so insert a
|
|
// replacement char (U+FFFD) and advance only 1 byte
|
|
codePoint = 0xFFFD;
|
|
bytesPerSequence = 1;
|
|
} else if (codePoint > 0xFFFF) {
|
|
// encode to utf16 (surrogate pair dance)
|
|
codePoint -= 0x10000;
|
|
res.push(codePoint >>> 10 & 0x3FF | 0xD800);
|
|
codePoint = 0xDC00 | codePoint & 0x3FF;
|
|
}
|
|
|
|
res.push(codePoint);
|
|
i += bytesPerSequence;
|
|
}
|
|
|
|
return decodeCodePointsArray(res)
|
|
}
|
|
|
|
// Based on http://stackoverflow.com/a/22747272/680742, the browser with
|
|
// the lowest limit is Chrome, with 0x10000 args.
|
|
// We go 1 magnitude less, for safety
|
|
var MAX_ARGUMENTS_LENGTH = 0x1000;
|
|
|
|
function decodeCodePointsArray (codePoints) {
|
|
var len = codePoints.length;
|
|
if (len <= MAX_ARGUMENTS_LENGTH) {
|
|
return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
|
|
}
|
|
|
|
// Decode in chunks to avoid "call stack size exceeded".
|
|
var res = '';
|
|
var i = 0;
|
|
while (i < len) {
|
|
res += String.fromCharCode.apply(
|
|
String,
|
|
codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
|
|
);
|
|
}
|
|
return res
|
|
}
|
|
|
|
function asciiSlice (buf, start, end) {
|
|
var ret = '';
|
|
end = Math.min(buf.length, end);
|
|
|
|
for (var i = start; i < end; ++i) {
|
|
ret += String.fromCharCode(buf[i] & 0x7F);
|
|
}
|
|
return ret
|
|
}
|
|
|
|
function latin1Slice (buf, start, end) {
|
|
var ret = '';
|
|
end = Math.min(buf.length, end);
|
|
|
|
for (var i = start; i < end; ++i) {
|
|
ret += String.fromCharCode(buf[i]);
|
|
}
|
|
return ret
|
|
}
|
|
|
|
function hexSlice (buf, start, end) {
|
|
var len = buf.length;
|
|
|
|
if (!start || start < 0) start = 0;
|
|
if (!end || end < 0 || end > len) end = len;
|
|
|
|
var out = '';
|
|
for (var i = start; i < end; ++i) {
|
|
out += toHex(buf[i]);
|
|
}
|
|
return out
|
|
}
|
|
|
|
function utf16leSlice (buf, start, end) {
|
|
var bytes = buf.slice(start, end);
|
|
var res = '';
|
|
for (var i = 0; i < bytes.length; i += 2) {
|
|
res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);
|
|
}
|
|
return res
|
|
}
|
|
|
|
Buffer$1.prototype.slice = function slice (start, end) {
|
|
var len = this.length;
|
|
start = ~~start;
|
|
end = end === undefined ? len : ~~end;
|
|
|
|
if (start < 0) {
|
|
start += len;
|
|
if (start < 0) start = 0;
|
|
} else if (start > len) {
|
|
start = len;
|
|
}
|
|
|
|
if (end < 0) {
|
|
end += len;
|
|
if (end < 0) end = 0;
|
|
} else if (end > len) {
|
|
end = len;
|
|
}
|
|
|
|
if (end < start) end = start;
|
|
|
|
var newBuf;
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
newBuf = this.subarray(start, end);
|
|
newBuf.__proto__ = Buffer$1.prototype;
|
|
} else {
|
|
var sliceLen = end - start;
|
|
newBuf = new Buffer$1(sliceLen, undefined);
|
|
for (var i = 0; i < sliceLen; ++i) {
|
|
newBuf[i] = this[i + start];
|
|
}
|
|
}
|
|
|
|
return newBuf
|
|
};
|
|
|
|
/*
|
|
* Need to make sure that buffer isn't trying to write out of bounds.
|
|
*/
|
|
function checkOffset (offset, ext, length) {
|
|
if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
|
|
if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
|
|
}
|
|
|
|
Buffer$1.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
|
|
offset = offset | 0;
|
|
byteLength = byteLength | 0;
|
|
if (!noAssert) checkOffset(offset, byteLength, this.length);
|
|
|
|
var val = this[offset];
|
|
var mul = 1;
|
|
var i = 0;
|
|
while (++i < byteLength && (mul *= 0x100)) {
|
|
val += this[offset + i] * mul;
|
|
}
|
|
|
|
return val
|
|
};
|
|
|
|
Buffer$1.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
|
|
offset = offset | 0;
|
|
byteLength = byteLength | 0;
|
|
if (!noAssert) {
|
|
checkOffset(offset, byteLength, this.length);
|
|
}
|
|
|
|
var val = this[offset + --byteLength];
|
|
var mul = 1;
|
|
while (byteLength > 0 && (mul *= 0x100)) {
|
|
val += this[offset + --byteLength] * mul;
|
|
}
|
|
|
|
return val
|
|
};
|
|
|
|
Buffer$1.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 1, this.length);
|
|
return this[offset]
|
|
};
|
|
|
|
Buffer$1.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 2, this.length);
|
|
return this[offset] | (this[offset + 1] << 8)
|
|
};
|
|
|
|
Buffer$1.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 2, this.length);
|
|
return (this[offset] << 8) | this[offset + 1]
|
|
};
|
|
|
|
Buffer$1.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
|
|
return ((this[offset]) |
|
|
(this[offset + 1] << 8) |
|
|
(this[offset + 2] << 16)) +
|
|
(this[offset + 3] * 0x1000000)
|
|
};
|
|
|
|
Buffer$1.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
|
|
return (this[offset] * 0x1000000) +
|
|
((this[offset + 1] << 16) |
|
|
(this[offset + 2] << 8) |
|
|
this[offset + 3])
|
|
};
|
|
|
|
Buffer$1.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
|
|
offset = offset | 0;
|
|
byteLength = byteLength | 0;
|
|
if (!noAssert) checkOffset(offset, byteLength, this.length);
|
|
|
|
var val = this[offset];
|
|
var mul = 1;
|
|
var i = 0;
|
|
while (++i < byteLength && (mul *= 0x100)) {
|
|
val += this[offset + i] * mul;
|
|
}
|
|
mul *= 0x80;
|
|
|
|
if (val >= mul) val -= Math.pow(2, 8 * byteLength);
|
|
|
|
return val
|
|
};
|
|
|
|
Buffer$1.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
|
|
offset = offset | 0;
|
|
byteLength = byteLength | 0;
|
|
if (!noAssert) checkOffset(offset, byteLength, this.length);
|
|
|
|
var i = byteLength;
|
|
var mul = 1;
|
|
var val = this[offset + --i];
|
|
while (i > 0 && (mul *= 0x100)) {
|
|
val += this[offset + --i] * mul;
|
|
}
|
|
mul *= 0x80;
|
|
|
|
if (val >= mul) val -= Math.pow(2, 8 * byteLength);
|
|
|
|
return val
|
|
};
|
|
|
|
Buffer$1.prototype.readInt8 = function readInt8 (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 1, this.length);
|
|
if (!(this[offset] & 0x80)) return (this[offset])
|
|
return ((0xff - this[offset] + 1) * -1)
|
|
};
|
|
|
|
Buffer$1.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 2, this.length);
|
|
var val = this[offset] | (this[offset + 1] << 8);
|
|
return (val & 0x8000) ? val | 0xFFFF0000 : val
|
|
};
|
|
|
|
Buffer$1.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 2, this.length);
|
|
var val = this[offset + 1] | (this[offset] << 8);
|
|
return (val & 0x8000) ? val | 0xFFFF0000 : val
|
|
};
|
|
|
|
Buffer$1.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
|
|
return (this[offset]) |
|
|
(this[offset + 1] << 8) |
|
|
(this[offset + 2] << 16) |
|
|
(this[offset + 3] << 24)
|
|
};
|
|
|
|
Buffer$1.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
|
|
return (this[offset] << 24) |
|
|
(this[offset + 1] << 16) |
|
|
(this[offset + 2] << 8) |
|
|
(this[offset + 3])
|
|
};
|
|
|
|
Buffer$1.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
return read(this, offset, true, 23, 4)
|
|
};
|
|
|
|
Buffer$1.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
return read(this, offset, false, 23, 4)
|
|
};
|
|
|
|
Buffer$1.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 8, this.length);
|
|
return read(this, offset, true, 52, 8)
|
|
};
|
|
|
|
Buffer$1.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
|
|
if (!noAssert) checkOffset(offset, 8, this.length);
|
|
return read(this, offset, false, 52, 8)
|
|
};
|
|
|
|
function checkInt (buf, value, offset, ext, max, min) {
|
|
if (!internalIsBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
|
|
if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
|
|
if (offset + ext > buf.length) throw new RangeError('Index out of range')
|
|
}
|
|
|
|
Buffer$1.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
byteLength = byteLength | 0;
|
|
if (!noAssert) {
|
|
var maxBytes = Math.pow(2, 8 * byteLength) - 1;
|
|
checkInt(this, value, offset, byteLength, maxBytes, 0);
|
|
}
|
|
|
|
var mul = 1;
|
|
var i = 0;
|
|
this[offset] = value & 0xFF;
|
|
while (++i < byteLength && (mul *= 0x100)) {
|
|
this[offset + i] = (value / mul) & 0xFF;
|
|
}
|
|
|
|
return offset + byteLength
|
|
};
|
|
|
|
Buffer$1.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
byteLength = byteLength | 0;
|
|
if (!noAssert) {
|
|
var maxBytes = Math.pow(2, 8 * byteLength) - 1;
|
|
checkInt(this, value, offset, byteLength, maxBytes, 0);
|
|
}
|
|
|
|
var i = byteLength - 1;
|
|
var mul = 1;
|
|
this[offset + i] = value & 0xFF;
|
|
while (--i >= 0 && (mul *= 0x100)) {
|
|
this[offset + i] = (value / mul) & 0xFF;
|
|
}
|
|
|
|
return offset + byteLength
|
|
};
|
|
|
|
Buffer$1.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);
|
|
if (!Buffer$1.TYPED_ARRAY_SUPPORT) value = Math.floor(value);
|
|
this[offset] = (value & 0xff);
|
|
return offset + 1
|
|
};
|
|
|
|
function objectWriteUInt16 (buf, value, offset, littleEndian) {
|
|
if (value < 0) value = 0xffff + value + 1;
|
|
for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
|
|
buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
|
|
(littleEndian ? i : 1 - i) * 8;
|
|
}
|
|
}
|
|
|
|
Buffer$1.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
this[offset] = (value & 0xff);
|
|
this[offset + 1] = (value >>> 8);
|
|
} else {
|
|
objectWriteUInt16(this, value, offset, true);
|
|
}
|
|
return offset + 2
|
|
};
|
|
|
|
Buffer$1.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
this[offset] = (value >>> 8);
|
|
this[offset + 1] = (value & 0xff);
|
|
} else {
|
|
objectWriteUInt16(this, value, offset, false);
|
|
}
|
|
return offset + 2
|
|
};
|
|
|
|
function objectWriteUInt32 (buf, value, offset, littleEndian) {
|
|
if (value < 0) value = 0xffffffff + value + 1;
|
|
for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
|
|
buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff;
|
|
}
|
|
}
|
|
|
|
Buffer$1.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
this[offset + 3] = (value >>> 24);
|
|
this[offset + 2] = (value >>> 16);
|
|
this[offset + 1] = (value >>> 8);
|
|
this[offset] = (value & 0xff);
|
|
} else {
|
|
objectWriteUInt32(this, value, offset, true);
|
|
}
|
|
return offset + 4
|
|
};
|
|
|
|
Buffer$1.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
this[offset] = (value >>> 24);
|
|
this[offset + 1] = (value >>> 16);
|
|
this[offset + 2] = (value >>> 8);
|
|
this[offset + 3] = (value & 0xff);
|
|
} else {
|
|
objectWriteUInt32(this, value, offset, false);
|
|
}
|
|
return offset + 4
|
|
};
|
|
|
|
Buffer$1.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) {
|
|
var limit = Math.pow(2, 8 * byteLength - 1);
|
|
|
|
checkInt(this, value, offset, byteLength, limit - 1, -limit);
|
|
}
|
|
|
|
var i = 0;
|
|
var mul = 1;
|
|
var sub = 0;
|
|
this[offset] = value & 0xFF;
|
|
while (++i < byteLength && (mul *= 0x100)) {
|
|
if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
|
|
sub = 1;
|
|
}
|
|
this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;
|
|
}
|
|
|
|
return offset + byteLength
|
|
};
|
|
|
|
Buffer$1.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) {
|
|
var limit = Math.pow(2, 8 * byteLength - 1);
|
|
|
|
checkInt(this, value, offset, byteLength, limit - 1, -limit);
|
|
}
|
|
|
|
var i = byteLength - 1;
|
|
var mul = 1;
|
|
var sub = 0;
|
|
this[offset + i] = value & 0xFF;
|
|
while (--i >= 0 && (mul *= 0x100)) {
|
|
if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
|
|
sub = 1;
|
|
}
|
|
this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;
|
|
}
|
|
|
|
return offset + byteLength
|
|
};
|
|
|
|
Buffer$1.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);
|
|
if (!Buffer$1.TYPED_ARRAY_SUPPORT) value = Math.floor(value);
|
|
if (value < 0) value = 0xff + value + 1;
|
|
this[offset] = (value & 0xff);
|
|
return offset + 1
|
|
};
|
|
|
|
Buffer$1.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
this[offset] = (value & 0xff);
|
|
this[offset + 1] = (value >>> 8);
|
|
} else {
|
|
objectWriteUInt16(this, value, offset, true);
|
|
}
|
|
return offset + 2
|
|
};
|
|
|
|
Buffer$1.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
this[offset] = (value >>> 8);
|
|
this[offset + 1] = (value & 0xff);
|
|
} else {
|
|
objectWriteUInt16(this, value, offset, false);
|
|
}
|
|
return offset + 2
|
|
};
|
|
|
|
Buffer$1.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
this[offset] = (value & 0xff);
|
|
this[offset + 1] = (value >>> 8);
|
|
this[offset + 2] = (value >>> 16);
|
|
this[offset + 3] = (value >>> 24);
|
|
} else {
|
|
objectWriteUInt32(this, value, offset, true);
|
|
}
|
|
return offset + 4
|
|
};
|
|
|
|
Buffer$1.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset | 0;
|
|
if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);
|
|
if (value < 0) value = 0xffffffff + value + 1;
|
|
if (Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
this[offset] = (value >>> 24);
|
|
this[offset + 1] = (value >>> 16);
|
|
this[offset + 2] = (value >>> 8);
|
|
this[offset + 3] = (value & 0xff);
|
|
} else {
|
|
objectWriteUInt32(this, value, offset, false);
|
|
}
|
|
return offset + 4
|
|
};
|
|
|
|
function checkIEEE754 (buf, value, offset, ext, max, min) {
|
|
if (offset + ext > buf.length) throw new RangeError('Index out of range')
|
|
if (offset < 0) throw new RangeError('Index out of range')
|
|
}
|
|
|
|
function writeFloat (buf, value, offset, littleEndian, noAssert) {
|
|
if (!noAssert) {
|
|
checkIEEE754(buf, value, offset, 4);
|
|
}
|
|
write(buf, value, offset, littleEndian, 23, 4);
|
|
return offset + 4
|
|
}
|
|
|
|
Buffer$1.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
|
|
return writeFloat(this, value, offset, true, noAssert)
|
|
};
|
|
|
|
Buffer$1.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
|
|
return writeFloat(this, value, offset, false, noAssert)
|
|
};
|
|
|
|
function writeDouble (buf, value, offset, littleEndian, noAssert) {
|
|
if (!noAssert) {
|
|
checkIEEE754(buf, value, offset, 8);
|
|
}
|
|
write(buf, value, offset, littleEndian, 52, 8);
|
|
return offset + 8
|
|
}
|
|
|
|
Buffer$1.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
|
|
return writeDouble(this, value, offset, true, noAssert)
|
|
};
|
|
|
|
Buffer$1.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
|
|
return writeDouble(this, value, offset, false, noAssert)
|
|
};
|
|
|
|
// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
|
|
Buffer$1.prototype.copy = function copy (target, targetStart, start, end) {
|
|
if (!start) start = 0;
|
|
if (!end && end !== 0) end = this.length;
|
|
if (targetStart >= target.length) targetStart = target.length;
|
|
if (!targetStart) targetStart = 0;
|
|
if (end > 0 && end < start) end = start;
|
|
|
|
// Copy 0 bytes; we're done
|
|
if (end === start) return 0
|
|
if (target.length === 0 || this.length === 0) return 0
|
|
|
|
// Fatal error conditions
|
|
if (targetStart < 0) {
|
|
throw new RangeError('targetStart out of bounds')
|
|
}
|
|
if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
|
|
if (end < 0) throw new RangeError('sourceEnd out of bounds')
|
|
|
|
// Are we oob?
|
|
if (end > this.length) end = this.length;
|
|
if (target.length - targetStart < end - start) {
|
|
end = target.length - targetStart + start;
|
|
}
|
|
|
|
var len = end - start;
|
|
var i;
|
|
|
|
if (this === target && start < targetStart && targetStart < end) {
|
|
// descending copy from end
|
|
for (i = len - 1; i >= 0; --i) {
|
|
target[i + targetStart] = this[i + start];
|
|
}
|
|
} else if (len < 1000 || !Buffer$1.TYPED_ARRAY_SUPPORT) {
|
|
// ascending copy from start
|
|
for (i = 0; i < len; ++i) {
|
|
target[i + targetStart] = this[i + start];
|
|
}
|
|
} else {
|
|
Uint8Array.prototype.set.call(
|
|
target,
|
|
this.subarray(start, start + len),
|
|
targetStart
|
|
);
|
|
}
|
|
|
|
return len
|
|
};
|
|
|
|
// Usage:
|
|
// buffer.fill(number[, offset[, end]])
|
|
// buffer.fill(buffer[, offset[, end]])
|
|
// buffer.fill(string[, offset[, end]][, encoding])
|
|
Buffer$1.prototype.fill = function fill (val, start, end, encoding) {
|
|
// Handle string cases:
|
|
if (typeof val === 'string') {
|
|
if (typeof start === 'string') {
|
|
encoding = start;
|
|
start = 0;
|
|
end = this.length;
|
|
} else if (typeof end === 'string') {
|
|
encoding = end;
|
|
end = this.length;
|
|
}
|
|
if (val.length === 1) {
|
|
var code = val.charCodeAt(0);
|
|
if (code < 256) {
|
|
val = code;
|
|
}
|
|
}
|
|
if (encoding !== undefined && typeof encoding !== 'string') {
|
|
throw new TypeError('encoding must be a string')
|
|
}
|
|
if (typeof encoding === 'string' && !Buffer$1.isEncoding(encoding)) {
|
|
throw new TypeError('Unknown encoding: ' + encoding)
|
|
}
|
|
} else if (typeof val === 'number') {
|
|
val = val & 255;
|
|
}
|
|
|
|
// Invalid ranges are not set to a default, so can range check early.
|
|
if (start < 0 || this.length < start || this.length < end) {
|
|
throw new RangeError('Out of range index')
|
|
}
|
|
|
|
if (end <= start) {
|
|
return this
|
|
}
|
|
|
|
start = start >>> 0;
|
|
end = end === undefined ? this.length : end >>> 0;
|
|
|
|
if (!val) val = 0;
|
|
|
|
var i;
|
|
if (typeof val === 'number') {
|
|
for (i = start; i < end; ++i) {
|
|
this[i] = val;
|
|
}
|
|
} else {
|
|
var bytes = internalIsBuffer(val)
|
|
? val
|
|
: utf8ToBytes(new Buffer$1(val, encoding).toString());
|
|
var len = bytes.length;
|
|
for (i = 0; i < end - start; ++i) {
|
|
this[i + start] = bytes[i % len];
|
|
}
|
|
}
|
|
|
|
return this
|
|
};
|
|
|
|
// HELPER FUNCTIONS
|
|
// ================
|
|
|
|
var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g;
|
|
|
|
function base64clean (str) {
|
|
// Node strips out invalid characters like \n and \t from the string, base64-js does not
|
|
str = stringtrim(str).replace(INVALID_BASE64_RE, '');
|
|
// Node converts strings with length < 2 to ''
|
|
if (str.length < 2) return ''
|
|
// Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
|
|
while (str.length % 4 !== 0) {
|
|
str = str + '=';
|
|
}
|
|
return str
|
|
}
|
|
|
|
function stringtrim (str) {
|
|
if (str.trim) return str.trim()
|
|
return str.replace(/^\s+|\s+$/g, '')
|
|
}
|
|
|
|
function toHex (n) {
|
|
if (n < 16) return '0' + n.toString(16)
|
|
return n.toString(16)
|
|
}
|
|
|
|
function utf8ToBytes (string, units) {
|
|
units = units || Infinity;
|
|
var codePoint;
|
|
var length = string.length;
|
|
var leadSurrogate = null;
|
|
var bytes = [];
|
|
|
|
for (var i = 0; i < length; ++i) {
|
|
codePoint = string.charCodeAt(i);
|
|
|
|
// is surrogate component
|
|
if (codePoint > 0xD7FF && codePoint < 0xE000) {
|
|
// last char was a lead
|
|
if (!leadSurrogate) {
|
|
// no lead yet
|
|
if (codePoint > 0xDBFF) {
|
|
// unexpected trail
|
|
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
|
|
continue
|
|
} else if (i + 1 === length) {
|
|
// unpaired lead
|
|
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
|
|
continue
|
|
}
|
|
|
|
// valid lead
|
|
leadSurrogate = codePoint;
|
|
|
|
continue
|
|
}
|
|
|
|
// 2 leads in a row
|
|
if (codePoint < 0xDC00) {
|
|
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
|
|
leadSurrogate = codePoint;
|
|
continue
|
|
}
|
|
|
|
// valid surrogate pair
|
|
codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;
|
|
} else if (leadSurrogate) {
|
|
// valid bmp char, but last char was a lead
|
|
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
|
|
}
|
|
|
|
leadSurrogate = null;
|
|
|
|
// encode utf8
|
|
if (codePoint < 0x80) {
|
|
if ((units -= 1) < 0) break
|
|
bytes.push(codePoint);
|
|
} else if (codePoint < 0x800) {
|
|
if ((units -= 2) < 0) break
|
|
bytes.push(
|
|
codePoint >> 0x6 | 0xC0,
|
|
codePoint & 0x3F | 0x80
|
|
);
|
|
} else if (codePoint < 0x10000) {
|
|
if ((units -= 3) < 0) break
|
|
bytes.push(
|
|
codePoint >> 0xC | 0xE0,
|
|
codePoint >> 0x6 & 0x3F | 0x80,
|
|
codePoint & 0x3F | 0x80
|
|
);
|
|
} else if (codePoint < 0x110000) {
|
|
if ((units -= 4) < 0) break
|
|
bytes.push(
|
|
codePoint >> 0x12 | 0xF0,
|
|
codePoint >> 0xC & 0x3F | 0x80,
|
|
codePoint >> 0x6 & 0x3F | 0x80,
|
|
codePoint & 0x3F | 0x80
|
|
);
|
|
} else {
|
|
throw new Error('Invalid code point')
|
|
}
|
|
}
|
|
|
|
return bytes
|
|
}
|
|
|
|
function asciiToBytes (str) {
|
|
var byteArray = [];
|
|
for (var i = 0; i < str.length; ++i) {
|
|
// Node's code seems to be doing this and not & 0x7F..
|
|
byteArray.push(str.charCodeAt(i) & 0xFF);
|
|
}
|
|
return byteArray
|
|
}
|
|
|
|
function utf16leToBytes (str, units) {
|
|
var c, hi, lo;
|
|
var byteArray = [];
|
|
for (var i = 0; i < str.length; ++i) {
|
|
if ((units -= 2) < 0) break
|
|
|
|
c = str.charCodeAt(i);
|
|
hi = c >> 8;
|
|
lo = c % 256;
|
|
byteArray.push(lo);
|
|
byteArray.push(hi);
|
|
}
|
|
|
|
return byteArray
|
|
}
|
|
|
|
|
|
function base64ToBytes (str) {
|
|
return toByteArray$1(base64clean(str))
|
|
}
|
|
|
|
function blitBuffer (src, dst, offset, length) {
|
|
for (var i = 0; i < length; ++i) {
|
|
if ((i + offset >= dst.length) || (i >= src.length)) break
|
|
dst[i + offset] = src[i];
|
|
}
|
|
return i
|
|
}
|
|
|
|
function isnan (val) {
|
|
return val !== val // eslint-disable-line no-self-compare
|
|
}
|
|
|
|
|
|
// the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence
|
|
// The _isBuffer check is for Safari 5-7 support, because it's missing
|
|
// Object.prototype.constructor. Remove this eventually
|
|
function isBuffer$1(obj) {
|
|
return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj))
|
|
}
|
|
|
|
function isFastBuffer (obj) {
|
|
return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
|
|
}
|
|
|
|
// For Node v0.10 support. Remove this eventually.
|
|
function isSlowBuffer (obj) {
|
|
return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isFastBuffer(obj.slice(0, 0))
|
|
}
|
|
|
|
var sourcemapCodec_umd = {exports: {}};
|
|
|
|
var hasRequiredSourcemapCodec_umd;
|
|
function requireSourcemapCodec_umd() {
|
|
if (hasRequiredSourcemapCodec_umd) return sourcemapCodec_umd.exports;
|
|
hasRequiredSourcemapCodec_umd = 1;
|
|
(function (module, exports) {
|
|
(function (global, factory) {
|
|
factory(exports) ;
|
|
})(commonjsGlobal, function (exports) {
|
|
|
|
var comma = ','.charCodeAt(0);
|
|
var semicolon = ';'.charCodeAt(0);
|
|
var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
var intToChar = new Uint8Array(64);
|
|
var charToInt = new Uint8Array(128);
|
|
for (var i = 0; i < chars.length; i++) {
|
|
var c = chars.charCodeAt(i);
|
|
intToChar[i] = c;
|
|
charToInt[c] = i;
|
|
}
|
|
var td = typeof TextDecoder !== 'undefined' ? new TextDecoder() : typeof Buffer$1 !== 'undefined' ? {
|
|
decode: function decode(buf) {
|
|
var out = Buffer$1.from(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
return out.toString();
|
|
}
|
|
} : {
|
|
decode: function decode(buf) {
|
|
var out = '';
|
|
for (var _i = 0; _i < buf.length; _i++) {
|
|
out += String.fromCharCode(buf[_i]);
|
|
}
|
|
return out;
|
|
}
|
|
};
|
|
function decode(mappings) {
|
|
var state = new Int32Array(5);
|
|
var decoded = [];
|
|
var index = 0;
|
|
do {
|
|
var semi = indexOf(mappings, index);
|
|
var line = [];
|
|
var sorted = true;
|
|
var lastCol = 0;
|
|
state[0] = 0;
|
|
for (var _i2 = index; _i2 < semi; _i2++) {
|
|
var seg = void 0;
|
|
_i2 = decodeInteger(mappings, _i2, state, 0);
|
|
var col = state[0];
|
|
if (col < lastCol) sorted = false;
|
|
lastCol = col;
|
|
if (hasMoreVlq(mappings, _i2, semi)) {
|
|
_i2 = decodeInteger(mappings, _i2, state, 1);
|
|
_i2 = decodeInteger(mappings, _i2, state, 2);
|
|
_i2 = decodeInteger(mappings, _i2, state, 3);
|
|
if (hasMoreVlq(mappings, _i2, semi)) {
|
|
_i2 = decodeInteger(mappings, _i2, state, 4);
|
|
seg = [col, state[1], state[2], state[3], state[4]];
|
|
} else {
|
|
seg = [col, state[1], state[2], state[3]];
|
|
}
|
|
} else {
|
|
seg = [col];
|
|
}
|
|
line.push(seg);
|
|
}
|
|
if (!sorted) sort(line);
|
|
decoded.push(line);
|
|
index = semi + 1;
|
|
} while (index <= mappings.length);
|
|
return decoded;
|
|
}
|
|
function indexOf(mappings, index) {
|
|
var idx = mappings.indexOf(';', index);
|
|
return idx === -1 ? mappings.length : idx;
|
|
}
|
|
function decodeInteger(mappings, pos, state, j) {
|
|
var value = 0;
|
|
var shift = 0;
|
|
var integer = 0;
|
|
do {
|
|
var _c = mappings.charCodeAt(pos++);
|
|
integer = charToInt[_c];
|
|
value |= (integer & 31) << shift;
|
|
shift += 5;
|
|
} while (integer & 32);
|
|
var shouldNegate = value & 1;
|
|
value >>>= 1;
|
|
if (shouldNegate) {
|
|
value = -0x80000000 | -value;
|
|
}
|
|
state[j] += value;
|
|
return pos;
|
|
}
|
|
function hasMoreVlq(mappings, i, length) {
|
|
if (i >= length) return false;
|
|
return mappings.charCodeAt(i) !== comma;
|
|
}
|
|
function sort(line) {
|
|
line.sort(sortComparator);
|
|
}
|
|
function sortComparator(a, b) {
|
|
return a[0] - b[0];
|
|
}
|
|
function encode(decoded) {
|
|
var state = new Int32Array(5);
|
|
var bufLength = 1024 * 16;
|
|
var subLength = bufLength - 36;
|
|
var buf = new Uint8Array(bufLength);
|
|
var sub = buf.subarray(0, subLength);
|
|
var pos = 0;
|
|
var out = '';
|
|
for (var _i3 = 0; _i3 < decoded.length; _i3++) {
|
|
var line = decoded[_i3];
|
|
if (_i3 > 0) {
|
|
if (pos === bufLength) {
|
|
out += td.decode(buf);
|
|
pos = 0;
|
|
}
|
|
buf[pos++] = semicolon;
|
|
}
|
|
if (line.length === 0) continue;
|
|
state[0] = 0;
|
|
for (var j = 0; j < line.length; j++) {
|
|
var segment = line[j];
|
|
if (pos > subLength) {
|
|
out += td.decode(sub);
|
|
buf.copyWithin(0, subLength, pos);
|
|
pos -= subLength;
|
|
}
|
|
if (j > 0) buf[pos++] = comma;
|
|
pos = encodeInteger(buf, pos, state, segment, 0);
|
|
if (segment.length === 1) continue;
|
|
pos = encodeInteger(buf, pos, state, segment, 1);
|
|
pos = encodeInteger(buf, pos, state, segment, 2);
|
|
pos = encodeInteger(buf, pos, state, segment, 3);
|
|
if (segment.length === 4) continue;
|
|
pos = encodeInteger(buf, pos, state, segment, 4);
|
|
}
|
|
}
|
|
return out + td.decode(buf.subarray(0, pos));
|
|
}
|
|
function encodeInteger(buf, pos, state, segment, j) {
|
|
var next = segment[j];
|
|
var num = next - state[j];
|
|
state[j] = next;
|
|
num = num < 0 ? -num << 1 | 1 : num << 1;
|
|
do {
|
|
var clamped = num & 31;
|
|
num >>>= 5;
|
|
if (num > 0) clamped |= 32;
|
|
buf[pos++] = intToChar[clamped];
|
|
} while (num > 0);
|
|
return pos;
|
|
}
|
|
exports.decode = decode;
|
|
exports.encode = encode;
|
|
Object.defineProperty(exports, '__esModule', {
|
|
value: true
|
|
});
|
|
});
|
|
})(sourcemapCodec_umd, sourcemapCodec_umd.exports);
|
|
return sourcemapCodec_umd.exports;
|
|
}
|
|
|
|
var traceMapping_umd = {exports: {}};
|
|
|
|
var resolveUri_umd = {exports: {}};
|
|
|
|
var hasRequiredResolveUri_umd;
|
|
function requireResolveUri_umd() {
|
|
if (hasRequiredResolveUri_umd) return resolveUri_umd.exports;
|
|
hasRequiredResolveUri_umd = 1;
|
|
(function (module, exports) {
|
|
(function (global, factory) {
|
|
module.exports = factory() ;
|
|
})(commonjsGlobal, function () {
|
|
var schemeRegex = /^[\w+.-]+:\/\//;
|
|
var urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/;
|
|
var fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;
|
|
var UrlType;
|
|
(function (UrlType) {
|
|
UrlType[UrlType["Empty"] = 1] = "Empty";
|
|
UrlType[UrlType["Hash"] = 2] = "Hash";
|
|
UrlType[UrlType["Query"] = 3] = "Query";
|
|
UrlType[UrlType["RelativePath"] = 4] = "RelativePath";
|
|
UrlType[UrlType["AbsolutePath"] = 5] = "AbsolutePath";
|
|
UrlType[UrlType["SchemeRelative"] = 6] = "SchemeRelative";
|
|
UrlType[UrlType["Absolute"] = 7] = "Absolute";
|
|
})(UrlType || (UrlType = {}));
|
|
function isAbsoluteUrl(input) {
|
|
return schemeRegex.test(input);
|
|
}
|
|
function isSchemeRelativeUrl(input) {
|
|
return input.startsWith('//');
|
|
}
|
|
function isAbsolutePath(input) {
|
|
return input.startsWith('/');
|
|
}
|
|
function isFileUrl(input) {
|
|
return input.startsWith('file:');
|
|
}
|
|
function isRelative(input) {
|
|
return /^[.?#]/.test(input);
|
|
}
|
|
function parseAbsoluteUrl(input) {
|
|
var match = urlRegex.exec(input);
|
|
return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || '');
|
|
}
|
|
function parseFileUrl(input) {
|
|
var match = fileRegex.exec(input);
|
|
var path = match[2];
|
|
return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || '');
|
|
}
|
|
function makeUrl(scheme, user, host, port, path, query, hash) {
|
|
return {
|
|
scheme: scheme,
|
|
user: user,
|
|
host: host,
|
|
port: port,
|
|
path: path,
|
|
query: query,
|
|
hash: hash,
|
|
type: UrlType.Absolute
|
|
};
|
|
}
|
|
function parseUrl(input) {
|
|
if (isSchemeRelativeUrl(input)) {
|
|
var _url = parseAbsoluteUrl('http:' + input);
|
|
_url.scheme = '';
|
|
_url.type = UrlType.SchemeRelative;
|
|
return _url;
|
|
}
|
|
if (isAbsolutePath(input)) {
|
|
var _url2 = parseAbsoluteUrl('http://foo.com' + input);
|
|
_url2.scheme = '';
|
|
_url2.host = '';
|
|
_url2.type = UrlType.AbsolutePath;
|
|
return _url2;
|
|
}
|
|
if (isFileUrl(input)) return parseFileUrl(input);
|
|
if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);
|
|
var url = parseAbsoluteUrl('http://foo.com/' + input);
|
|
url.scheme = '';
|
|
url.host = '';
|
|
url.type = input ? input.startsWith('?') ? UrlType.Query : input.startsWith('#') ? UrlType.Hash : UrlType.RelativePath : UrlType.Empty;
|
|
return url;
|
|
}
|
|
function stripPathFilename(path) {
|
|
if (path.endsWith('/..')) return path;
|
|
var index = path.lastIndexOf('/');
|
|
return path.slice(0, index + 1);
|
|
}
|
|
function mergePaths(url, base) {
|
|
normalizePath(base, base.type);
|
|
if (url.path === '/') {
|
|
url.path = base.path;
|
|
} else {
|
|
url.path = stripPathFilename(base.path) + url.path;
|
|
}
|
|
}
|
|
function normalizePath(url, type) {
|
|
var rel = type <= UrlType.RelativePath;
|
|
var pieces = url.path.split('/');
|
|
var pointer = 1;
|
|
var positive = 0;
|
|
var addTrailingSlash = false;
|
|
for (var i = 1; i < pieces.length; i++) {
|
|
var piece = pieces[i];
|
|
if (!piece) {
|
|
addTrailingSlash = true;
|
|
continue;
|
|
}
|
|
addTrailingSlash = false;
|
|
if (piece === '.') continue;
|
|
if (piece === '..') {
|
|
if (positive) {
|
|
addTrailingSlash = true;
|
|
positive--;
|
|
pointer--;
|
|
} else if (rel) {
|
|
pieces[pointer++] = piece;
|
|
}
|
|
continue;
|
|
}
|
|
pieces[pointer++] = piece;
|
|
positive++;
|
|
}
|
|
var path = '';
|
|
for (var _i = 1; _i < pointer; _i++) {
|
|
path += '/' + pieces[_i];
|
|
}
|
|
if (!path || addTrailingSlash && !path.endsWith('/..')) {
|
|
path += '/';
|
|
}
|
|
url.path = path;
|
|
}
|
|
function resolve(input, base) {
|
|
if (!input && !base) return '';
|
|
var url = parseUrl(input);
|
|
var inputType = url.type;
|
|
if (base && inputType !== UrlType.Absolute) {
|
|
var baseUrl = parseUrl(base);
|
|
var baseType = baseUrl.type;
|
|
switch (inputType) {
|
|
case UrlType.Empty:
|
|
url.hash = baseUrl.hash;
|
|
case UrlType.Hash:
|
|
url.query = baseUrl.query;
|
|
case UrlType.Query:
|
|
case UrlType.RelativePath:
|
|
mergePaths(url, baseUrl);
|
|
case UrlType.AbsolutePath:
|
|
url.user = baseUrl.user;
|
|
url.host = baseUrl.host;
|
|
url.port = baseUrl.port;
|
|
case UrlType.SchemeRelative:
|
|
url.scheme = baseUrl.scheme;
|
|
}
|
|
if (baseType > inputType) inputType = baseType;
|
|
}
|
|
normalizePath(url, inputType);
|
|
var queryHash = url.query + url.hash;
|
|
switch (inputType) {
|
|
case UrlType.Hash:
|
|
case UrlType.Query:
|
|
return queryHash;
|
|
case UrlType.RelativePath:
|
|
{
|
|
var path = url.path.slice(1);
|
|
if (!path) return queryHash || '.';
|
|
if (isRelative(base || input) && !isRelative(path)) {
|
|
return './' + path + queryHash;
|
|
}
|
|
return path + queryHash;
|
|
}
|
|
case UrlType.AbsolutePath:
|
|
return url.path + queryHash;
|
|
default:
|
|
return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;
|
|
}
|
|
}
|
|
return resolve;
|
|
});
|
|
})(resolveUri_umd);
|
|
return resolveUri_umd.exports;
|
|
}
|
|
|
|
(function (module, exports) {
|
|
(function (global, factory) {
|
|
factory(exports, requireSourcemapCodec_umd(), requireResolveUri_umd()) ;
|
|
})(commonjsGlobal, function (exports, sourcemapCodec, resolveUri) {
|
|
|
|
function _interopDefaultLegacy(e) {
|
|
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
'default': e
|
|
};
|
|
}
|
|
var resolveUri__default = _interopDefaultLegacy(resolveUri);
|
|
function resolve(input, base) {
|
|
if (base && !base.endsWith('/')) base += '/';
|
|
return resolveUri__default["default"](input, base);
|
|
}
|
|
function stripFilename(path) {
|
|
if (!path) return '';
|
|
var index = path.lastIndexOf('/');
|
|
return path.slice(0, index + 1);
|
|
}
|
|
var COLUMN = 0;
|
|
var SOURCES_INDEX = 1;
|
|
var SOURCE_LINE = 2;
|
|
var SOURCE_COLUMN = 3;
|
|
var NAMES_INDEX = 4;
|
|
var REV_GENERATED_LINE = 1;
|
|
var REV_GENERATED_COLUMN = 2;
|
|
function maybeSort(mappings, owned) {
|
|
var unsortedIndex = nextUnsortedSegmentLine(mappings, 0);
|
|
if (unsortedIndex === mappings.length) return mappings;
|
|
if (!owned) mappings = mappings.slice();
|
|
for (var i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {
|
|
mappings[i] = sortSegments(mappings[i], owned);
|
|
}
|
|
return mappings;
|
|
}
|
|
function nextUnsortedSegmentLine(mappings, start) {
|
|
for (var i = start; i < mappings.length; i++) {
|
|
if (!isSorted(mappings[i])) return i;
|
|
}
|
|
return mappings.length;
|
|
}
|
|
function isSorted(line) {
|
|
for (var j = 1; j < line.length; j++) {
|
|
if (line[j][COLUMN] < line[j - 1][COLUMN]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
function sortSegments(line, owned) {
|
|
if (!owned) line = line.slice();
|
|
return line.sort(sortComparator);
|
|
}
|
|
function sortComparator(a, b) {
|
|
return a[COLUMN] - b[COLUMN];
|
|
}
|
|
var found = false;
|
|
function binarySearch(haystack, needle, low, high) {
|
|
while (low <= high) {
|
|
var mid = low + (high - low >> 1);
|
|
var cmp = haystack[mid][COLUMN] - needle;
|
|
if (cmp === 0) {
|
|
found = true;
|
|
return mid;
|
|
}
|
|
if (cmp < 0) {
|
|
low = mid + 1;
|
|
} else {
|
|
high = mid - 1;
|
|
}
|
|
}
|
|
found = false;
|
|
return low - 1;
|
|
}
|
|
function upperBound(haystack, needle, index) {
|
|
for (var i = index + 1; i < haystack.length; index = i++) {
|
|
if (haystack[i][COLUMN] !== needle) break;
|
|
}
|
|
return index;
|
|
}
|
|
function lowerBound(haystack, needle, index) {
|
|
for (var i = index - 1; i >= 0; index = i--) {
|
|
if (haystack[i][COLUMN] !== needle) break;
|
|
}
|
|
return index;
|
|
}
|
|
function memoizedState() {
|
|
return {
|
|
lastKey: -1,
|
|
lastNeedle: -1,
|
|
lastIndex: -1
|
|
};
|
|
}
|
|
function memoizedBinarySearch(haystack, needle, state, key) {
|
|
var lastKey = state.lastKey,
|
|
lastNeedle = state.lastNeedle,
|
|
lastIndex = state.lastIndex;
|
|
var low = 0;
|
|
var high = haystack.length - 1;
|
|
if (key === lastKey) {
|
|
if (needle === lastNeedle) {
|
|
found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;
|
|
return lastIndex;
|
|
}
|
|
if (needle >= lastNeedle) {
|
|
low = lastIndex === -1 ? 0 : lastIndex;
|
|
} else {
|
|
high = lastIndex;
|
|
}
|
|
}
|
|
state.lastKey = key;
|
|
state.lastNeedle = needle;
|
|
return state.lastIndex = binarySearch(haystack, needle, low, high);
|
|
}
|
|
function buildBySources(decoded, memos) {
|
|
var sources = memos.map(buildNullArray);
|
|
for (var i = 0; i < decoded.length; i++) {
|
|
var line = decoded[i];
|
|
for (var j = 0; j < line.length; j++) {
|
|
var seg = line[j];
|
|
if (seg.length === 1) continue;
|
|
var sourceIndex = seg[SOURCES_INDEX];
|
|
var sourceLine = seg[SOURCE_LINE];
|
|
var sourceColumn = seg[SOURCE_COLUMN];
|
|
var originalSource = sources[sourceIndex];
|
|
var originalLine = originalSource[sourceLine] || (originalSource[sourceLine] = []);
|
|
var memo = memos[sourceIndex];
|
|
var index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine));
|
|
insert(originalLine, memo.lastIndex = index + 1, [sourceColumn, i, seg[COLUMN]]);
|
|
}
|
|
}
|
|
return sources;
|
|
}
|
|
function insert(array, index, value) {
|
|
for (var i = array.length; i > index; i--) {
|
|
array[i] = array[i - 1];
|
|
}
|
|
array[index] = value;
|
|
}
|
|
function buildNullArray() {
|
|
return {
|
|
__proto__: null
|
|
};
|
|
}
|
|
var AnyMap = function AnyMap(map, mapUrl) {
|
|
var parsed = typeof map === 'string' ? JSON.parse(map) : map;
|
|
if (!('sections' in parsed)) return new TraceMap(parsed, mapUrl);
|
|
var mappings = [];
|
|
var sources = [];
|
|
var sourcesContent = [];
|
|
var names = [];
|
|
recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, 0, 0, Infinity, Infinity);
|
|
var joined = {
|
|
version: 3,
|
|
file: parsed.file,
|
|
names: names,
|
|
sources: sources,
|
|
sourcesContent: sourcesContent,
|
|
mappings: mappings
|
|
};
|
|
return exports.presortedDecodedMap(joined);
|
|
};
|
|
function recurse(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) {
|
|
var sections = input.sections;
|
|
for (var i = 0; i < sections.length; i++) {
|
|
var _sections$i = sections[i],
|
|
map = _sections$i.map,
|
|
offset = _sections$i.offset;
|
|
var sl = stopLine;
|
|
var sc = stopColumn;
|
|
if (i + 1 < sections.length) {
|
|
var nextOffset = sections[i + 1].offset;
|
|
sl = Math.min(stopLine, lineOffset + nextOffset.line);
|
|
if (sl === stopLine) {
|
|
sc = Math.min(stopColumn, columnOffset + nextOffset.column);
|
|
} else if (sl < stopLine) {
|
|
sc = columnOffset + nextOffset.column;
|
|
}
|
|
}
|
|
addSection(map, mapUrl, mappings, sources, sourcesContent, names, lineOffset + offset.line, columnOffset + offset.column, sl, sc);
|
|
}
|
|
}
|
|
function addSection(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) {
|
|
if ('sections' in input) return recurse.apply(void 0, arguments);
|
|
var map = new TraceMap(input, mapUrl);
|
|
var sourcesOffset = sources.length;
|
|
var namesOffset = names.length;
|
|
var decoded = exports.decodedMappings(map);
|
|
var resolvedSources = map.resolvedSources,
|
|
contents = map.sourcesContent;
|
|
append(sources, resolvedSources);
|
|
append(names, map.names);
|
|
if (contents) append(sourcesContent, contents);else for (var i = 0; i < resolvedSources.length; i++) sourcesContent.push(null);
|
|
for (var _i = 0; _i < decoded.length; _i++) {
|
|
var lineI = lineOffset + _i;
|
|
if (lineI > stopLine) return;
|
|
var out = getLine(mappings, lineI);
|
|
var cOffset = _i === 0 ? columnOffset : 0;
|
|
var line = decoded[_i];
|
|
for (var j = 0; j < line.length; j++) {
|
|
var seg = line[j];
|
|
var column = cOffset + seg[COLUMN];
|
|
if (lineI === stopLine && column >= stopColumn) return;
|
|
if (seg.length === 1) {
|
|
out.push([column]);
|
|
continue;
|
|
}
|
|
var sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];
|
|
var sourceLine = seg[SOURCE_LINE];
|
|
var sourceColumn = seg[SOURCE_COLUMN];
|
|
out.push(seg.length === 4 ? [column, sourcesIndex, sourceLine, sourceColumn] : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]);
|
|
}
|
|
}
|
|
}
|
|
function append(arr, other) {
|
|
for (var i = 0; i < other.length; i++) arr.push(other[i]);
|
|
}
|
|
function getLine(arr, index) {
|
|
for (var i = arr.length; i <= index; i++) arr[i] = [];
|
|
return arr[index];
|
|
}
|
|
var LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';
|
|
var COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';
|
|
var LEAST_UPPER_BOUND = -1;
|
|
var GREATEST_LOWER_BOUND = 1;
|
|
exports.encodedMappings = void 0;
|
|
exports.decodedMappings = void 0;
|
|
exports.traceSegment = void 0;
|
|
exports.originalPositionFor = void 0;
|
|
exports.generatedPositionFor = void 0;
|
|
exports.allGeneratedPositionsFor = void 0;
|
|
exports.eachMapping = void 0;
|
|
exports.sourceContentFor = void 0;
|
|
exports.presortedDecodedMap = void 0;
|
|
exports.decodedMap = void 0;
|
|
exports.encodedMap = void 0;
|
|
var TraceMap = _createClass(function TraceMap(map, mapUrl) {
|
|
var isString = typeof map === 'string';
|
|
if (!isString && map._decodedMemo) return map;
|
|
var parsed = isString ? JSON.parse(map) : map;
|
|
var version = parsed.version,
|
|
file = parsed.file,
|
|
names = parsed.names,
|
|
sourceRoot = parsed.sourceRoot,
|
|
sources = parsed.sources,
|
|
sourcesContent = parsed.sourcesContent;
|
|
this.version = version;
|
|
this.file = file;
|
|
this.names = names;
|
|
this.sourceRoot = sourceRoot;
|
|
this.sources = sources;
|
|
this.sourcesContent = sourcesContent;
|
|
var from = resolve(sourceRoot || '', stripFilename(mapUrl));
|
|
this.resolvedSources = sources.map(function (s) {
|
|
return resolve(s || '', from);
|
|
});
|
|
var mappings = parsed.mappings;
|
|
if (typeof mappings === 'string') {
|
|
this._encoded = mappings;
|
|
this._decoded = undefined;
|
|
} else {
|
|
this._encoded = undefined;
|
|
this._decoded = maybeSort(mappings, isString);
|
|
}
|
|
this._decodedMemo = memoizedState();
|
|
this._bySources = undefined;
|
|
this._bySourceMemos = undefined;
|
|
});
|
|
(function () {
|
|
exports.encodedMappings = function (map) {
|
|
var _a;
|
|
return (_a = map._encoded) !== null && _a !== void 0 ? _a : map._encoded = sourcemapCodec.encode(map._decoded);
|
|
};
|
|
exports.decodedMappings = function (map) {
|
|
return map._decoded || (map._decoded = sourcemapCodec.decode(map._encoded));
|
|
};
|
|
exports.traceSegment = function (map, line, column) {
|
|
var decoded = exports.decodedMappings(map);
|
|
if (line >= decoded.length) return null;
|
|
var segments = decoded[line];
|
|
var index = traceSegmentInternal(segments, map._decodedMemo, line, column, GREATEST_LOWER_BOUND);
|
|
return index === -1 ? null : segments[index];
|
|
};
|
|
exports.originalPositionFor = function (map, _ref) {
|
|
var line = _ref.line,
|
|
column = _ref.column,
|
|
bias = _ref.bias;
|
|
line--;
|
|
if (line < 0) throw new Error(LINE_GTR_ZERO);
|
|
if (column < 0) throw new Error(COL_GTR_EQ_ZERO);
|
|
var decoded = exports.decodedMappings(map);
|
|
if (line >= decoded.length) return OMapping(null, null, null, null);
|
|
var segments = decoded[line];
|
|
var index = traceSegmentInternal(segments, map._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);
|
|
if (index === -1) return OMapping(null, null, null, null);
|
|
var segment = segments[index];
|
|
if (segment.length === 1) return OMapping(null, null, null, null);
|
|
var names = map.names,
|
|
resolvedSources = map.resolvedSources;
|
|
return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);
|
|
};
|
|
exports.allGeneratedPositionsFor = function (map, _ref2) {
|
|
var source = _ref2.source,
|
|
line = _ref2.line,
|
|
column = _ref2.column,
|
|
bias = _ref2.bias;
|
|
return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);
|
|
};
|
|
exports.generatedPositionFor = function (map, _ref3) {
|
|
var source = _ref3.source,
|
|
line = _ref3.line,
|
|
column = _ref3.column,
|
|
bias = _ref3.bias;
|
|
return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);
|
|
};
|
|
exports.eachMapping = function (map, cb) {
|
|
var decoded = exports.decodedMappings(map);
|
|
var names = map.names,
|
|
resolvedSources = map.resolvedSources;
|
|
for (var i = 0; i < decoded.length; i++) {
|
|
var line = decoded[i];
|
|
for (var j = 0; j < line.length; j++) {
|
|
var seg = line[j];
|
|
var generatedLine = i + 1;
|
|
var generatedColumn = seg[0];
|
|
var source = null;
|
|
var originalLine = null;
|
|
var originalColumn = null;
|
|
var name = null;
|
|
if (seg.length !== 1) {
|
|
source = resolvedSources[seg[1]];
|
|
originalLine = seg[2] + 1;
|
|
originalColumn = seg[3];
|
|
}
|
|
if (seg.length === 5) name = names[seg[4]];
|
|
cb({
|
|
generatedLine: generatedLine,
|
|
generatedColumn: generatedColumn,
|
|
source: source,
|
|
originalLine: originalLine,
|
|
originalColumn: originalColumn,
|
|
name: name
|
|
});
|
|
}
|
|
}
|
|
};
|
|
exports.sourceContentFor = function (map, source) {
|
|
var sources = map.sources,
|
|
resolvedSources = map.resolvedSources,
|
|
sourcesContent = map.sourcesContent;
|
|
if (sourcesContent == null) return null;
|
|
var index = sources.indexOf(source);
|
|
if (index === -1) index = resolvedSources.indexOf(source);
|
|
return index === -1 ? null : sourcesContent[index];
|
|
};
|
|
exports.presortedDecodedMap = function (map, mapUrl) {
|
|
var tracer = new TraceMap(clone(map, []), mapUrl);
|
|
tracer._decoded = map.mappings;
|
|
return tracer;
|
|
};
|
|
exports.decodedMap = function (map) {
|
|
return clone(map, exports.decodedMappings(map));
|
|
};
|
|
exports.encodedMap = function (map) {
|
|
return clone(map, exports.encodedMappings(map));
|
|
};
|
|
function generatedPosition(map, source, line, column, bias, all) {
|
|
line--;
|
|
if (line < 0) throw new Error(LINE_GTR_ZERO);
|
|
if (column < 0) throw new Error(COL_GTR_EQ_ZERO);
|
|
var sources = map.sources,
|
|
resolvedSources = map.resolvedSources;
|
|
var sourceIndex = sources.indexOf(source);
|
|
if (sourceIndex === -1) sourceIndex = resolvedSources.indexOf(source);
|
|
if (sourceIndex === -1) return all ? [] : GMapping(null, null);
|
|
var generated = map._bySources || (map._bySources = buildBySources(exports.decodedMappings(map), map._bySourceMemos = sources.map(memoizedState)));
|
|
var segments = generated[sourceIndex][line];
|
|
if (segments == null) return all ? [] : GMapping(null, null);
|
|
var memo = map._bySourceMemos[sourceIndex];
|
|
if (all) return sliceGeneratedPositions(segments, memo, line, column, bias);
|
|
var index = traceSegmentInternal(segments, memo, line, column, bias);
|
|
if (index === -1) return GMapping(null, null);
|
|
var segment = segments[index];
|
|
return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);
|
|
}
|
|
})();
|
|
function clone(map, mappings) {
|
|
return {
|
|
version: map.version,
|
|
file: map.file,
|
|
names: map.names,
|
|
sourceRoot: map.sourceRoot,
|
|
sources: map.sources,
|
|
sourcesContent: map.sourcesContent,
|
|
mappings: mappings
|
|
};
|
|
}
|
|
function OMapping(source, line, column, name) {
|
|
return {
|
|
source: source,
|
|
line: line,
|
|
column: column,
|
|
name: name
|
|
};
|
|
}
|
|
function GMapping(line, column) {
|
|
return {
|
|
line: line,
|
|
column: column
|
|
};
|
|
}
|
|
function traceSegmentInternal(segments, memo, line, column, bias) {
|
|
var index = memoizedBinarySearch(segments, column, memo, line);
|
|
if (found) {
|
|
index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);
|
|
} else if (bias === LEAST_UPPER_BOUND) index++;
|
|
if (index === -1 || index === segments.length) return -1;
|
|
return index;
|
|
}
|
|
function sliceGeneratedPositions(segments, memo, line, column, bias) {
|
|
var min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);
|
|
if (!found && bias === LEAST_UPPER_BOUND) min++;
|
|
if (min === -1 || min === segments.length) return [];
|
|
var matchedColumn = found ? column : segments[min][COLUMN];
|
|
if (!found) min = lowerBound(segments, matchedColumn, min);
|
|
var max = upperBound(segments, matchedColumn, min);
|
|
var result = [];
|
|
for (; min <= max; min++) {
|
|
var segment = segments[min];
|
|
result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));
|
|
}
|
|
return result;
|
|
}
|
|
exports.AnyMap = AnyMap;
|
|
exports.GREATEST_LOWER_BOUND = GREATEST_LOWER_BOUND;
|
|
exports.LEAST_UPPER_BOUND = LEAST_UPPER_BOUND;
|
|
exports.TraceMap = TraceMap;
|
|
Object.defineProperty(exports, '__esModule', {
|
|
value: true
|
|
});
|
|
});
|
|
})(traceMapping_umd, traceMapping_umd.exports);
|
|
|
|
(function (module, exports) {
|
|
(function (global, factory) {
|
|
factory(exports, requireSetArray_umd(), requireSourcemapCodec_umd(), traceMapping_umd.exports) ;
|
|
})(commonjsGlobal, function (exports, setArray, sourcemapCodec, traceMapping) {
|
|
|
|
var COLUMN = 0;
|
|
var SOURCES_INDEX = 1;
|
|
var SOURCE_LINE = 2;
|
|
var SOURCE_COLUMN = 3;
|
|
var NAMES_INDEX = 4;
|
|
var NO_NAME = -1;
|
|
exports.addSegment = void 0;
|
|
exports.addMapping = void 0;
|
|
exports.maybeAddSegment = void 0;
|
|
exports.maybeAddMapping = void 0;
|
|
exports.setSourceContent = void 0;
|
|
exports.toDecodedMap = void 0;
|
|
exports.toEncodedMap = void 0;
|
|
exports.fromMap = void 0;
|
|
exports.allMappings = void 0;
|
|
var addSegmentInternal;
|
|
var GenMapping = _createClass(function GenMapping(_temp) {
|
|
var _ref = _temp === void 0 ? {} : _temp,
|
|
file = _ref.file,
|
|
sourceRoot = _ref.sourceRoot;
|
|
this._names = new setArray.SetArray();
|
|
this._sources = new setArray.SetArray();
|
|
this._sourcesContent = [];
|
|
this._mappings = [];
|
|
this.file = file;
|
|
this.sourceRoot = sourceRoot;
|
|
});
|
|
(function () {
|
|
exports.addSegment = function (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
|
|
return addSegmentInternal(false, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
|
|
};
|
|
exports.maybeAddSegment = function (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
|
|
return addSegmentInternal(true, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
|
|
};
|
|
exports.addMapping = function (map, mapping) {
|
|
return addMappingInternal(false, map, mapping);
|
|
};
|
|
exports.maybeAddMapping = function (map, mapping) {
|
|
return addMappingInternal(true, map, mapping);
|
|
};
|
|
exports.setSourceContent = function (map, source, content) {
|
|
var sources = map._sources,
|
|
sourcesContent = map._sourcesContent;
|
|
sourcesContent[setArray.put(sources, source)] = content;
|
|
};
|
|
exports.toDecodedMap = function (map) {
|
|
var file = map.file,
|
|
sourceRoot = map.sourceRoot,
|
|
mappings = map._mappings,
|
|
sources = map._sources,
|
|
sourcesContent = map._sourcesContent,
|
|
names = map._names;
|
|
removeEmptyFinalLines(mappings);
|
|
return {
|
|
version: 3,
|
|
file: file || undefined,
|
|
names: names.array,
|
|
sourceRoot: sourceRoot || undefined,
|
|
sources: sources.array,
|
|
sourcesContent: sourcesContent,
|
|
mappings: mappings
|
|
};
|
|
};
|
|
exports.toEncodedMap = function (map) {
|
|
var decoded = exports.toDecodedMap(map);
|
|
return Object.assign(Object.assign({}, decoded), {
|
|
mappings: sourcemapCodec.encode(decoded.mappings)
|
|
});
|
|
};
|
|
exports.allMappings = function (map) {
|
|
var out = [];
|
|
var mappings = map._mappings,
|
|
sources = map._sources,
|
|
names = map._names;
|
|
for (var i = 0; i < mappings.length; i++) {
|
|
var line = mappings[i];
|
|
for (var j = 0; j < line.length; j++) {
|
|
var seg = line[j];
|
|
var generated = {
|
|
line: i + 1,
|
|
column: seg[COLUMN]
|
|
};
|
|
var source = undefined;
|
|
var original = undefined;
|
|
var name = undefined;
|
|
if (seg.length !== 1) {
|
|
source = sources.array[seg[SOURCES_INDEX]];
|
|
original = {
|
|
line: seg[SOURCE_LINE] + 1,
|
|
column: seg[SOURCE_COLUMN]
|
|
};
|
|
if (seg.length === 5) name = names.array[seg[NAMES_INDEX]];
|
|
}
|
|
out.push({
|
|
generated: generated,
|
|
source: source,
|
|
original: original,
|
|
name: name
|
|
});
|
|
}
|
|
}
|
|
return out;
|
|
};
|
|
exports.fromMap = function (input) {
|
|
var map = new traceMapping.TraceMap(input);
|
|
var gen = new GenMapping({
|
|
file: map.file,
|
|
sourceRoot: map.sourceRoot
|
|
});
|
|
putAll(gen._names, map.names);
|
|
putAll(gen._sources, map.sources);
|
|
gen._sourcesContent = map.sourcesContent || map.sources.map(function () {
|
|
return null;
|
|
});
|
|
gen._mappings = traceMapping.decodedMappings(map);
|
|
return gen;
|
|
};
|
|
addSegmentInternal = function addSegmentInternal(skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
|
|
var mappings = map._mappings,
|
|
sources = map._sources,
|
|
sourcesContent = map._sourcesContent,
|
|
names = map._names;
|
|
var line = getLine(mappings, genLine);
|
|
var index = getColumnIndex(line, genColumn);
|
|
if (!source) {
|
|
if (skipable && skipSourceless(line, index)) return;
|
|
return insert(line, index, [genColumn]);
|
|
}
|
|
var sourcesIndex = setArray.put(sources, source);
|
|
var namesIndex = name ? setArray.put(names, name) : NO_NAME;
|
|
if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content !== null && content !== void 0 ? content : null;
|
|
if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {
|
|
return;
|
|
}
|
|
return insert(line, index, name ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] : [genColumn, sourcesIndex, sourceLine, sourceColumn]);
|
|
};
|
|
})();
|
|
function getLine(mappings, index) {
|
|
for (var i = mappings.length; i <= index; i++) {
|
|
mappings[i] = [];
|
|
}
|
|
return mappings[index];
|
|
}
|
|
function getColumnIndex(line, genColumn) {
|
|
var index = line.length;
|
|
for (var i = index - 1; i >= 0; index = i--) {
|
|
var current = line[i];
|
|
if (genColumn >= current[COLUMN]) break;
|
|
}
|
|
return index;
|
|
}
|
|
function insert(array, index, value) {
|
|
for (var i = array.length; i > index; i--) {
|
|
array[i] = array[i - 1];
|
|
}
|
|
array[index] = value;
|
|
}
|
|
function removeEmptyFinalLines(mappings) {
|
|
var length = mappings.length;
|
|
var len = length;
|
|
for (var i = len - 1; i >= 0; len = i, i--) {
|
|
if (mappings[i].length > 0) break;
|
|
}
|
|
if (len < length) mappings.length = len;
|
|
}
|
|
function putAll(strarr, array) {
|
|
for (var i = 0; i < array.length; i++) setArray.put(strarr, array[i]);
|
|
}
|
|
function skipSourceless(line, index) {
|
|
if (index === 0) return true;
|
|
var prev = line[index - 1];
|
|
return prev.length === 1;
|
|
}
|
|
function skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) {
|
|
if (index === 0) return false;
|
|
var prev = line[index - 1];
|
|
if (prev.length === 1) return false;
|
|
return sourcesIndex === prev[SOURCES_INDEX] && sourceLine === prev[SOURCE_LINE] && sourceColumn === prev[SOURCE_COLUMN] && namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME);
|
|
}
|
|
function addMappingInternal(skipable, map, mapping) {
|
|
var generated = mapping.generated,
|
|
source = mapping.source,
|
|
original = mapping.original,
|
|
name = mapping.name,
|
|
content = mapping.content;
|
|
if (!source) {
|
|
return addSegmentInternal(skipable, map, generated.line - 1, generated.column, null, null, null, null, null);
|
|
}
|
|
var s = source;
|
|
return addSegmentInternal(skipable, map, generated.line - 1, generated.column, s, original.line - 1, original.column, name, content);
|
|
}
|
|
exports.GenMapping = GenMapping;
|
|
Object.defineProperty(exports, '__esModule', {
|
|
value: true
|
|
});
|
|
});
|
|
})(genMapping_umd$1, genMapping_umd$1.exports);
|
|
|
|
var SourceMap$1 = function () {
|
|
function SourceMap(opts, code) {
|
|
var _opts$sourceFileName;
|
|
this._map = void 0;
|
|
this._rawMappings = void 0;
|
|
this._sourceFileName = void 0;
|
|
this._lastGenLine = 0;
|
|
this._lastSourceLine = 0;
|
|
this._lastSourceColumn = 0;
|
|
this._inputMap = void 0;
|
|
var map = this._map = new genMapping_umd$1.exports.GenMapping({
|
|
sourceRoot: opts.sourceRoot
|
|
});
|
|
this._sourceFileName = (_opts$sourceFileName = opts.sourceFileName) == null ? void 0 : _opts$sourceFileName.replace(/\\/g, "/");
|
|
this._rawMappings = undefined;
|
|
if (opts.inputSourceMap) {
|
|
this._inputMap = new traceMapping_umd.exports.TraceMap(opts.inputSourceMap);
|
|
var resolvedSources = this._inputMap.resolvedSources;
|
|
if (resolvedSources.length) {
|
|
for (var i = 0; i < resolvedSources.length; i++) {
|
|
var _this$_inputMap$sourc;
|
|
genMapping_umd$1.exports.setSourceContent(map, resolvedSources[i], (_this$_inputMap$sourc = this._inputMap.sourcesContent) == null ? void 0 : _this$_inputMap$sourc[i]);
|
|
}
|
|
}
|
|
}
|
|
if (typeof code === "string" && !opts.inputSourceMap) {
|
|
genMapping_umd$1.exports.setSourceContent(map, this._sourceFileName, code);
|
|
} else if (typeof code === "object") {
|
|
for (var _i = 0, _Object$keys = Object.keys(code); _i < _Object$keys.length; _i++) {
|
|
var _sourceFileName = _Object$keys[_i];
|
|
genMapping_umd$1.exports.setSourceContent(map, _sourceFileName.replace(/\\/g, "/"), code[_sourceFileName]);
|
|
}
|
|
}
|
|
}
|
|
var _proto = SourceMap.prototype;
|
|
_proto.get = function get() {
|
|
return genMapping_umd$1.exports.toEncodedMap(this._map);
|
|
};
|
|
_proto.getDecoded = function getDecoded() {
|
|
return genMapping_umd$1.exports.toDecodedMap(this._map);
|
|
};
|
|
_proto.getRawMappings = function getRawMappings() {
|
|
return this._rawMappings || (this._rawMappings = genMapping_umd$1.exports.allMappings(this._map));
|
|
};
|
|
_proto.mark = function mark(generated, line, column, identifierName, identifierNamePos, filename) {
|
|
var _originalMapping;
|
|
this._rawMappings = undefined;
|
|
var originalMapping;
|
|
if (line != null) {
|
|
if (this._inputMap) {
|
|
originalMapping = traceMapping_umd.exports.originalPositionFor(this._inputMap, {
|
|
line: line,
|
|
column: column
|
|
});
|
|
if (!originalMapping.name && identifierNamePos) {
|
|
var originalIdentifierMapping = traceMapping_umd.exports.originalPositionFor(this._inputMap, identifierNamePos);
|
|
if (originalIdentifierMapping.name) {
|
|
identifierName = originalIdentifierMapping.name;
|
|
}
|
|
}
|
|
} else {
|
|
originalMapping = {
|
|
source: (filename == null ? void 0 : filename.replace(/\\/g, "/")) || this._sourceFileName,
|
|
line: line,
|
|
column: column
|
|
};
|
|
}
|
|
}
|
|
genMapping_umd$1.exports.maybeAddMapping(this._map, {
|
|
name: identifierName,
|
|
generated: generated,
|
|
source: (_originalMapping = originalMapping) == null ? void 0 : _originalMapping.source,
|
|
original: originalMapping
|
|
});
|
|
};
|
|
return _createClass(SourceMap);
|
|
}();
|
|
|
|
var Buffer = function () {
|
|
function Buffer(map) {
|
|
this._map = null;
|
|
this._buf = "";
|
|
this._str = "";
|
|
this._appendCount = 0;
|
|
this._last = 0;
|
|
this._queue = [];
|
|
this._queueCursor = 0;
|
|
this._canMarkIdName = true;
|
|
this._position = {
|
|
line: 1,
|
|
column: 0
|
|
};
|
|
this._sourcePosition = {
|
|
identifierName: undefined,
|
|
identifierNamePos: undefined,
|
|
line: undefined,
|
|
column: undefined,
|
|
filename: undefined
|
|
};
|
|
this._map = map;
|
|
this._allocQueue();
|
|
}
|
|
var _proto = Buffer.prototype;
|
|
_proto._allocQueue = function _allocQueue() {
|
|
var queue = this._queue;
|
|
for (var i = 0; i < 16; i++) {
|
|
queue.push({
|
|
"char": 0,
|
|
repeat: 1,
|
|
line: undefined,
|
|
column: undefined,
|
|
identifierName: undefined,
|
|
identifierNamePos: undefined,
|
|
filename: ""
|
|
});
|
|
}
|
|
};
|
|
_proto._pushQueue = function _pushQueue(_char, repeat, line, column, filename) {
|
|
var cursor = this._queueCursor;
|
|
if (cursor === this._queue.length) {
|
|
this._allocQueue();
|
|
}
|
|
var item = this._queue[cursor];
|
|
item["char"] = _char;
|
|
item.repeat = repeat;
|
|
item.line = line;
|
|
item.column = column;
|
|
item.filename = filename;
|
|
this._queueCursor++;
|
|
};
|
|
_proto._popQueue = function _popQueue() {
|
|
if (this._queueCursor === 0) {
|
|
throw new Error("Cannot pop from empty queue");
|
|
}
|
|
return this._queue[--this._queueCursor];
|
|
};
|
|
_proto.get = function get() {
|
|
this._flush();
|
|
var map = this._map;
|
|
var result = {
|
|
code: (this._buf + this._str).trimRight(),
|
|
decodedMap: map == null ? void 0 : map.getDecoded(),
|
|
get __mergedMap() {
|
|
return this.map;
|
|
},
|
|
get map() {
|
|
var resultMap = map ? map.get() : null;
|
|
result.map = resultMap;
|
|
return resultMap;
|
|
},
|
|
set map(value) {
|
|
Object.defineProperty(result, "map", {
|
|
value: value,
|
|
writable: true
|
|
});
|
|
},
|
|
get rawMappings() {
|
|
var mappings = map == null ? void 0 : map.getRawMappings();
|
|
result.rawMappings = mappings;
|
|
return mappings;
|
|
},
|
|
set rawMappings(value) {
|
|
Object.defineProperty(result, "rawMappings", {
|
|
value: value,
|
|
writable: true
|
|
});
|
|
}
|
|
};
|
|
return result;
|
|
};
|
|
_proto.append = function append(str, maybeNewline) {
|
|
this._flush();
|
|
this._append(str, this._sourcePosition, maybeNewline);
|
|
};
|
|
_proto.appendChar = function appendChar(_char2) {
|
|
this._flush();
|
|
this._appendChar(_char2, 1, this._sourcePosition);
|
|
};
|
|
_proto.queue = function queue(_char3) {
|
|
if (_char3 === 10) {
|
|
while (this._queueCursor !== 0) {
|
|
var _char4 = this._queue[this._queueCursor - 1]["char"];
|
|
if (_char4 !== 32 && _char4 !== 9) {
|
|
break;
|
|
}
|
|
this._queueCursor--;
|
|
}
|
|
}
|
|
var sourcePosition = this._sourcePosition;
|
|
this._pushQueue(_char3, 1, sourcePosition.line, sourcePosition.column, sourcePosition.filename);
|
|
};
|
|
_proto.queueIndentation = function queueIndentation(_char5, repeat) {
|
|
this._pushQueue(_char5, repeat, undefined, undefined, undefined);
|
|
};
|
|
_proto._flush = function _flush() {
|
|
var queueCursor = this._queueCursor;
|
|
var queue = this._queue;
|
|
for (var i = 0; i < queueCursor; i++) {
|
|
var item = queue[i];
|
|
this._appendChar(item["char"], item.repeat, item);
|
|
}
|
|
this._queueCursor = 0;
|
|
};
|
|
_proto._appendChar = function _appendChar(_char6, repeat, sourcePos) {
|
|
this._last = _char6;
|
|
this._str += repeat > 1 ? String.fromCharCode(_char6).repeat(repeat) : String.fromCharCode(_char6);
|
|
if (_char6 !== 10) {
|
|
this._mark(sourcePos.line, sourcePos.column, sourcePos.identifierName, sourcePos.identifierNamePos, sourcePos.filename);
|
|
this._position.column += repeat;
|
|
} else {
|
|
this._position.line++;
|
|
this._position.column = 0;
|
|
}
|
|
if (this._canMarkIdName) {
|
|
sourcePos.identifierName = undefined;
|
|
sourcePos.identifierNamePos = undefined;
|
|
}
|
|
};
|
|
_proto._append = function _append(str, sourcePos, maybeNewline) {
|
|
var len = str.length;
|
|
var position = this._position;
|
|
this._last = str.charCodeAt(len - 1);
|
|
if (++this._appendCount > 4096) {
|
|
+this._str;
|
|
this._buf += this._str;
|
|
this._str = str;
|
|
this._appendCount = 0;
|
|
} else {
|
|
this._str += str;
|
|
}
|
|
if (!maybeNewline && !this._map) {
|
|
position.column += len;
|
|
return;
|
|
}
|
|
var column = sourcePos.column,
|
|
identifierName = sourcePos.identifierName,
|
|
identifierNamePos = sourcePos.identifierNamePos,
|
|
filename = sourcePos.filename;
|
|
var line = sourcePos.line;
|
|
if ((identifierName != null || identifierNamePos != null) && this._canMarkIdName) {
|
|
sourcePos.identifierName = undefined;
|
|
sourcePos.identifierNamePos = undefined;
|
|
}
|
|
var i = str.indexOf("\n");
|
|
var last = 0;
|
|
if (i !== 0) {
|
|
this._mark(line, column, identifierName, identifierNamePos, filename);
|
|
}
|
|
while (i !== -1) {
|
|
position.line++;
|
|
position.column = 0;
|
|
last = i + 1;
|
|
if (last < len && line !== undefined) {
|
|
this._mark(++line, 0, null, null, filename);
|
|
}
|
|
i = str.indexOf("\n", last);
|
|
}
|
|
position.column += len - last;
|
|
};
|
|
_proto._mark = function _mark(line, column, identifierName, identifierNamePos, filename) {
|
|
var _this$_map;
|
|
(_this$_map = this._map) == null ? void 0 : _this$_map.mark(this._position, line, column, identifierName, identifierNamePos, filename);
|
|
};
|
|
_proto.removeTrailingNewline = function removeTrailingNewline() {
|
|
var queueCursor = this._queueCursor;
|
|
if (queueCursor !== 0 && this._queue[queueCursor - 1]["char"] === 10) {
|
|
this._queueCursor--;
|
|
}
|
|
};
|
|
_proto.removeLastSemicolon = function removeLastSemicolon() {
|
|
var queueCursor = this._queueCursor;
|
|
if (queueCursor !== 0 && this._queue[queueCursor - 1]["char"] === 59) {
|
|
this._queueCursor--;
|
|
}
|
|
};
|
|
_proto.getLastChar = function getLastChar() {
|
|
var queueCursor = this._queueCursor;
|
|
return queueCursor !== 0 ? this._queue[queueCursor - 1]["char"] : this._last;
|
|
};
|
|
_proto.getNewlineCount = function getNewlineCount() {
|
|
var queueCursor = this._queueCursor;
|
|
var count = 0;
|
|
if (queueCursor === 0) return this._last === 10 ? 1 : 0;
|
|
for (var i = queueCursor - 1; i >= 0; i--) {
|
|
if (this._queue[i]["char"] !== 10) {
|
|
break;
|
|
}
|
|
count++;
|
|
}
|
|
return count === queueCursor && this._last === 10 ? count + 1 : count;
|
|
};
|
|
_proto.endsWithCharAndNewline = function endsWithCharAndNewline() {
|
|
var queue = this._queue;
|
|
var queueCursor = this._queueCursor;
|
|
if (queueCursor !== 0) {
|
|
var lastCp = queue[queueCursor - 1]["char"];
|
|
if (lastCp !== 10) return;
|
|
if (queueCursor > 1) {
|
|
return queue[queueCursor - 2]["char"];
|
|
} else {
|
|
return this._last;
|
|
}
|
|
}
|
|
};
|
|
_proto.hasContent = function hasContent() {
|
|
return this._queueCursor !== 0 || !!this._last;
|
|
};
|
|
_proto.exactSource = function exactSource(loc, cb) {
|
|
if (!this._map) {
|
|
cb();
|
|
return;
|
|
}
|
|
this.source("start", loc);
|
|
var identifierName = loc.identifierName;
|
|
var sourcePos = this._sourcePosition;
|
|
if (identifierName) {
|
|
this._canMarkIdName = false;
|
|
sourcePos.identifierName = identifierName;
|
|
}
|
|
cb();
|
|
if (identifierName) {
|
|
this._canMarkIdName = true;
|
|
sourcePos.identifierName = undefined;
|
|
sourcePos.identifierNamePos = undefined;
|
|
}
|
|
this.source("end", loc);
|
|
};
|
|
_proto.source = function source(prop, loc) {
|
|
if (!this._map) return;
|
|
this._normalizePosition(prop, loc, 0, 0);
|
|
};
|
|
_proto.sourceWithOffset = function sourceWithOffset(prop, loc, lineOffset, columnOffset) {
|
|
if (!this._map) return;
|
|
this._normalizePosition(prop, loc, lineOffset, columnOffset);
|
|
};
|
|
_proto.withSource = function withSource(prop, loc, cb) {
|
|
if (this._map) {
|
|
this.source(prop, loc);
|
|
}
|
|
cb();
|
|
};
|
|
_proto._normalizePosition = function _normalizePosition(prop, loc, lineOffset, columnOffset) {
|
|
var pos = loc[prop];
|
|
var target = this._sourcePosition;
|
|
if (pos) {
|
|
target.line = pos.line + lineOffset;
|
|
target.column = pos.column + columnOffset;
|
|
target.filename = loc.filename;
|
|
}
|
|
};
|
|
_proto.getCurrentColumn = function getCurrentColumn() {
|
|
var queue = this._queue;
|
|
var queueCursor = this._queueCursor;
|
|
var lastIndex = -1;
|
|
var len = 0;
|
|
for (var i = 0; i < queueCursor; i++) {
|
|
var item = queue[i];
|
|
if (item["char"] === 10) {
|
|
lastIndex = len;
|
|
}
|
|
len += item.repeat;
|
|
}
|
|
return lastIndex === -1 ? this._position.column + len : len - 1 - lastIndex;
|
|
};
|
|
_proto.getCurrentLine = function getCurrentLine() {
|
|
var count = 0;
|
|
var queue = this._queue;
|
|
for (var i = 0; i < this._queueCursor; i++) {
|
|
if (queue[i]["char"] === 10) {
|
|
count++;
|
|
}
|
|
}
|
|
return this._position.line + count;
|
|
};
|
|
return _createClass(Buffer);
|
|
}();
|
|
|
|
var FLIPPED_ALIAS_KEYS$1 = FLIPPED_ALIAS_KEYS$3,
|
|
isArrayExpression = isArrayExpression$2,
|
|
isAssignmentExpression$3 = isAssignmentExpression$4,
|
|
isBinary$1 = isBinary$3,
|
|
isBlockStatement$1 = isBlockStatement$2,
|
|
isCallExpression$7 = isCallExpression$8,
|
|
isFunction$3 = isFunction$4,
|
|
isIdentifier$h = isIdentifier$j,
|
|
isLiteral$4 = isLiteral$6,
|
|
isMemberExpression$7 = isMemberExpression$8,
|
|
isObjectExpression$1 = isObjectExpression$3,
|
|
isOptionalCallExpression$2 = isOptionalCallExpression$3,
|
|
isOptionalMemberExpression$2 = isOptionalMemberExpression$3,
|
|
isStringLiteral$5 = isStringLiteral$6;
|
|
function crawlInternal(node, state) {
|
|
if (!node) return state;
|
|
if (isMemberExpression$7(node) || isOptionalMemberExpression$2(node)) {
|
|
crawlInternal(node.object, state);
|
|
if (node.computed) crawlInternal(node.property, state);
|
|
} else if (isBinary$1(node) || isAssignmentExpression$3(node)) {
|
|
crawlInternal(node.left, state);
|
|
crawlInternal(node.right, state);
|
|
} else if (isCallExpression$7(node) || isOptionalCallExpression$2(node)) {
|
|
state.hasCall = true;
|
|
crawlInternal(node.callee, state);
|
|
} else if (isFunction$3(node)) {
|
|
state.hasFunction = true;
|
|
} else if (isIdentifier$h(node)) {
|
|
state.hasHelper = state.hasHelper || node.callee && isHelper(node.callee);
|
|
}
|
|
return state;
|
|
}
|
|
function crawl(node) {
|
|
return crawlInternal(node, {
|
|
hasCall: false,
|
|
hasFunction: false,
|
|
hasHelper: false
|
|
});
|
|
}
|
|
function isHelper(node) {
|
|
if (!node) return false;
|
|
if (isMemberExpression$7(node)) {
|
|
return isHelper(node.object) || isHelper(node.property);
|
|
} else if (isIdentifier$h(node)) {
|
|
return node.name === "require" || node.name.charCodeAt(0) === 95;
|
|
} else if (isCallExpression$7(node)) {
|
|
return isHelper(node.callee);
|
|
} else if (isBinary$1(node) || isAssignmentExpression$3(node)) {
|
|
return isIdentifier$h(node.left) && isHelper(node.left) || isHelper(node.right);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
function isType$1(node) {
|
|
return isLiteral$4(node) || isObjectExpression$1(node) || isArrayExpression(node) || isIdentifier$h(node) || isMemberExpression$7(node);
|
|
}
|
|
var nodes = {
|
|
AssignmentExpression: function (_AssignmentExpression) {
|
|
function AssignmentExpression(_x) {
|
|
return _AssignmentExpression.apply(this, arguments);
|
|
}
|
|
AssignmentExpression.toString = function () {
|
|
return _AssignmentExpression.toString();
|
|
};
|
|
return AssignmentExpression;
|
|
}(function (node) {
|
|
var state = crawl(node.right);
|
|
if (state.hasCall && state.hasHelper || state.hasFunction) {
|
|
return state.hasFunction ? 1 | 2 : 2;
|
|
}
|
|
}),
|
|
SwitchCase: function (_SwitchCase) {
|
|
function SwitchCase(_x2, _x3) {
|
|
return _SwitchCase.apply(this, arguments);
|
|
}
|
|
SwitchCase.toString = function () {
|
|
return _SwitchCase.toString();
|
|
};
|
|
return SwitchCase;
|
|
}(function (node, parent) {
|
|
return (!!node.consequent.length || parent.cases[0] === node ? 1 : 0) | (!node.consequent.length && parent.cases[parent.cases.length - 1] === node ? 2 : 0);
|
|
}),
|
|
LogicalExpression: function (_LogicalExpression) {
|
|
function LogicalExpression(_x4) {
|
|
return _LogicalExpression.apply(this, arguments);
|
|
}
|
|
LogicalExpression.toString = function () {
|
|
return _LogicalExpression.toString();
|
|
};
|
|
return LogicalExpression;
|
|
}(function (node) {
|
|
if (isFunction$3(node.left) || isFunction$3(node.right)) {
|
|
return 2;
|
|
}
|
|
}),
|
|
Literal: function (_Literal) {
|
|
function Literal(_x5) {
|
|
return _Literal.apply(this, arguments);
|
|
}
|
|
Literal.toString = function () {
|
|
return _Literal.toString();
|
|
};
|
|
return Literal;
|
|
}(function (node) {
|
|
if (isStringLiteral$5(node) && node.value === "use strict") {
|
|
return 2;
|
|
}
|
|
}),
|
|
CallExpression: function (_CallExpression) {
|
|
function CallExpression(_x6) {
|
|
return _CallExpression.apply(this, arguments);
|
|
}
|
|
CallExpression.toString = function () {
|
|
return _CallExpression.toString();
|
|
};
|
|
return CallExpression;
|
|
}(function (node) {
|
|
if (isFunction$3(node.callee) || isHelper(node)) {
|
|
return 1 | 2;
|
|
}
|
|
}),
|
|
OptionalCallExpression: function (_OptionalCallExpression) {
|
|
function OptionalCallExpression(_x7) {
|
|
return _OptionalCallExpression.apply(this, arguments);
|
|
}
|
|
OptionalCallExpression.toString = function () {
|
|
return _OptionalCallExpression.toString();
|
|
};
|
|
return OptionalCallExpression;
|
|
}(function (node) {
|
|
if (isFunction$3(node.callee)) {
|
|
return 1 | 2;
|
|
}
|
|
}),
|
|
VariableDeclaration: function (_VariableDeclaration) {
|
|
function VariableDeclaration(_x8) {
|
|
return _VariableDeclaration.apply(this, arguments);
|
|
}
|
|
VariableDeclaration.toString = function () {
|
|
return _VariableDeclaration.toString();
|
|
};
|
|
return VariableDeclaration;
|
|
}(function (node) {
|
|
for (var i = 0; i < node.declarations.length; i++) {
|
|
var declar = node.declarations[i];
|
|
var enabled = isHelper(declar.id) && !isType$1(declar.init);
|
|
if (!enabled && declar.init) {
|
|
var state = crawl(declar.init);
|
|
enabled = isHelper(declar.init) && state.hasCall || state.hasFunction;
|
|
}
|
|
if (enabled) {
|
|
return 1 | 2;
|
|
}
|
|
}
|
|
}),
|
|
IfStatement: function (_IfStatement) {
|
|
function IfStatement(_x9) {
|
|
return _IfStatement.apply(this, arguments);
|
|
}
|
|
IfStatement.toString = function () {
|
|
return _IfStatement.toString();
|
|
};
|
|
return IfStatement;
|
|
}(function (node) {
|
|
if (isBlockStatement$1(node.consequent)) {
|
|
return 1 | 2;
|
|
}
|
|
})
|
|
};
|
|
nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function (node, parent) {
|
|
if (parent.properties[0] === node) {
|
|
return 1;
|
|
}
|
|
};
|
|
nodes.ObjectTypeCallProperty = function (node, parent) {
|
|
var _parent$properties;
|
|
if (parent.callProperties[0] === node && !((_parent$properties = parent.properties) != null && _parent$properties.length)) {
|
|
return 1;
|
|
}
|
|
};
|
|
nodes.ObjectTypeIndexer = function (node, parent) {
|
|
var _parent$properties2, _parent$callPropertie;
|
|
if (parent.indexers[0] === node && !((_parent$properties2 = parent.properties) != null && _parent$properties2.length) && !((_parent$callPropertie = parent.callProperties) != null && _parent$callPropertie.length)) {
|
|
return 1;
|
|
}
|
|
};
|
|
nodes.ObjectTypeInternalSlot = function (node, parent) {
|
|
var _parent$properties3, _parent$callPropertie2, _parent$indexers;
|
|
if (parent.internalSlots[0] === node && !((_parent$properties3 = parent.properties) != null && _parent$properties3.length) && !((_parent$callPropertie2 = parent.callProperties) != null && _parent$callPropertie2.length) && !((_parent$indexers = parent.indexers) != null && _parent$indexers.length)) {
|
|
return 1;
|
|
}
|
|
};
|
|
[["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function (_ref) {
|
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
type = _ref2[0],
|
|
amounts = _ref2[1];
|
|
[type].concat(FLIPPED_ALIAS_KEYS$1[type] || []).forEach(function (type) {
|
|
var ret = amounts ? 1 | 2 : 0;
|
|
nodes[type] = function () {
|
|
return ret;
|
|
};
|
|
});
|
|
});
|
|
|
|
var isArrayTypeAnnotation$1 = isArrayTypeAnnotation$2,
|
|
isArrowFunctionExpression = isArrowFunctionExpression$1,
|
|
isAssignmentExpression$2 = isAssignmentExpression$4,
|
|
isAwaitExpression = isAwaitExpression$1,
|
|
isBinary = isBinary$3,
|
|
isBinaryExpression = isBinaryExpression$1,
|
|
isUpdateExpression$1 = isUpdateExpression$2,
|
|
isCallExpression$6 = isCallExpression$8,
|
|
isClass = isClass$2,
|
|
isClassExpression = isClassExpression$1,
|
|
isConditional = isConditional$1,
|
|
isConditionalExpression = isConditionalExpression$1,
|
|
isExportDeclaration$1 = isExportDeclaration$3,
|
|
isExportDefaultDeclaration$1 = isExportDefaultDeclaration$3,
|
|
isExpressionStatement$2 = isExpressionStatement$3,
|
|
isFor$1 = isFor$2,
|
|
isForInStatement = isForInStatement$1,
|
|
isForOfStatement$1 = isForOfStatement$2,
|
|
isForStatement$2 = isForStatement$3,
|
|
isFunctionExpression = isFunctionExpression$1,
|
|
isIfStatement$1 = isIfStatement$2,
|
|
isIndexedAccessType = isIndexedAccessType$1,
|
|
isIntersectionTypeAnnotation = isIntersectionTypeAnnotation$1,
|
|
isLogicalExpression = isLogicalExpression$1,
|
|
isMemberExpression$6 = isMemberExpression$8,
|
|
isNewExpression$3 = isNewExpression$4,
|
|
isNullableTypeAnnotation = isNullableTypeAnnotation$1,
|
|
isObjectPattern$1 = isObjectPattern$2,
|
|
isOptionalCallExpression$1 = isOptionalCallExpression$3,
|
|
isOptionalMemberExpression$1 = isOptionalMemberExpression$3,
|
|
isReturnStatement = isReturnStatement$1,
|
|
isSequenceExpression$1 = isSequenceExpression$2,
|
|
isSwitchStatement = isSwitchStatement$1,
|
|
isTSArrayType$1 = isTSArrayType$2,
|
|
isTSAsExpression$1 = isTSAsExpression$2,
|
|
isTSInstantiationExpression = isTSInstantiationExpression$1,
|
|
isTSIntersectionType = isTSIntersectionType$1,
|
|
isTSNonNullExpression$1 = isTSNonNullExpression$2,
|
|
isTSOptionalType = isTSOptionalType$1,
|
|
isTSRestType = isTSRestType$1,
|
|
isTSTypeAssertion$1 = isTSTypeAssertion$2,
|
|
isTSUnionType = isTSUnionType$1,
|
|
isTaggedTemplateExpression = isTaggedTemplateExpression$2,
|
|
isThrowStatement = isThrowStatement$1,
|
|
isTypeAnnotation$1 = isTypeAnnotation$2,
|
|
isUnaryLike = isUnaryLike$1,
|
|
isUnionTypeAnnotation$1 = isUnionTypeAnnotation$2,
|
|
isVariableDeclarator$1 = isVariableDeclarator$2,
|
|
isWhileStatement = isWhileStatement$1,
|
|
isYieldExpression = isYieldExpression$1,
|
|
isTSSatisfiesExpression$1 = isTSSatisfiesExpression$2;
|
|
var PRECEDENCE = {
|
|
"||": 0,
|
|
"??": 0,
|
|
"|>": 0,
|
|
"&&": 1,
|
|
"|": 2,
|
|
"^": 3,
|
|
"&": 4,
|
|
"==": 5,
|
|
"===": 5,
|
|
"!=": 5,
|
|
"!==": 5,
|
|
"<": 6,
|
|
">": 6,
|
|
"<=": 6,
|
|
">=": 6,
|
|
"in": 6,
|
|
"instanceof": 6,
|
|
">>": 7,
|
|
"<<": 7,
|
|
">>>": 7,
|
|
"+": 8,
|
|
"-": 8,
|
|
"*": 9,
|
|
"/": 9,
|
|
"%": 9,
|
|
"**": 10
|
|
};
|
|
function isTSTypeExpression(node) {
|
|
return isTSAsExpression$1(node) || isTSSatisfiesExpression$1(node) || isTSTypeAssertion$1(node);
|
|
}
|
|
var isClassExtendsClause = function isClassExtendsClause(node, parent) {
|
|
return isClass(parent, {
|
|
superClass: node
|
|
});
|
|
};
|
|
var hasPostfixPart = function hasPostfixPart(node, parent) {
|
|
return (isMemberExpression$6(parent) || isOptionalMemberExpression$1(parent)) && parent.object === node || (isCallExpression$6(parent) || isOptionalCallExpression$1(parent) || isNewExpression$3(parent)) && parent.callee === node || isTaggedTemplateExpression(parent) && parent.tag === node || isTSNonNullExpression$1(parent);
|
|
};
|
|
function NullableTypeAnnotation$1(node, parent) {
|
|
return isArrayTypeAnnotation$1(parent);
|
|
}
|
|
function FunctionTypeAnnotation$1(node, parent, printStack) {
|
|
if (printStack.length < 3) return;
|
|
return isUnionTypeAnnotation$1(parent) || isIntersectionTypeAnnotation(parent) || isArrayTypeAnnotation$1(parent) || isTypeAnnotation$1(parent) && isArrowFunctionExpression(printStack[printStack.length - 3]);
|
|
}
|
|
function UpdateExpression$2(node, parent) {
|
|
return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent);
|
|
}
|
|
function ObjectExpression$2(node, parent, printStack) {
|
|
return isFirstInContext(printStack, 1 | 2);
|
|
}
|
|
function DoExpression$1(node, parent, printStack) {
|
|
return !node.async && isFirstInContext(printStack, 1);
|
|
}
|
|
function Binary(node, parent) {
|
|
if (node.operator === "**" && isBinaryExpression(parent, {
|
|
operator: "**"
|
|
})) {
|
|
return parent.left === node;
|
|
}
|
|
if (isClassExtendsClause(node, parent)) {
|
|
return true;
|
|
}
|
|
if (hasPostfixPart(node, parent) || isUnaryLike(parent) || isAwaitExpression(parent)) {
|
|
return true;
|
|
}
|
|
if (isBinary(parent)) {
|
|
var parentOp = parent.operator;
|
|
var parentPos = PRECEDENCE[parentOp];
|
|
var nodeOp = node.operator;
|
|
var nodePos = PRECEDENCE[nodeOp];
|
|
if (parentPos === nodePos && parent.right === node && !isLogicalExpression(parent) || parentPos > nodePos) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
function UnionTypeAnnotation$1(node, parent) {
|
|
return isArrayTypeAnnotation$1(parent) || isNullableTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isUnionTypeAnnotation$1(parent);
|
|
}
|
|
function OptionalIndexedAccessType$1(node, parent) {
|
|
return isIndexedAccessType(parent, {
|
|
objectType: node
|
|
});
|
|
}
|
|
function TSAsExpression$1() {
|
|
return true;
|
|
}
|
|
function TSUnionType$1(node, parent) {
|
|
return isTSArrayType$1(parent) || isTSOptionalType(parent) || isTSIntersectionType(parent) || isTSUnionType(parent) || isTSRestType(parent);
|
|
}
|
|
function TSInferType$1(node, parent) {
|
|
return isTSArrayType$1(parent) || isTSOptionalType(parent);
|
|
}
|
|
function TSInstantiationExpression$1(node, parent) {
|
|
return (isCallExpression$6(parent) || isOptionalCallExpression$1(parent) || isNewExpression$3(parent) || isTSInstantiationExpression(parent)) && !!parent.typeParameters;
|
|
}
|
|
function BinaryExpression$1(node, parent) {
|
|
return node.operator === "in" && (isVariableDeclarator$1(parent) || isFor$1(parent));
|
|
}
|
|
function SequenceExpression$2(node, parent) {
|
|
if (isForStatement$2(parent) || isThrowStatement(parent) || isReturnStatement(parent) || isIfStatement$1(parent) && parent.test === node || isWhileStatement(parent) && parent.test === node || isForInStatement(parent) && parent.right === node || isSwitchStatement(parent) && parent.discriminant === node || isExpressionStatement$2(parent) && parent.expression === node) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
function YieldExpression$1(node, parent) {
|
|
return isBinary(parent) || isUnaryLike(parent) || hasPostfixPart(node, parent) || isAwaitExpression(parent) && isYieldExpression(node) || isConditionalExpression(parent) && node === parent.test || isClassExtendsClause(node, parent);
|
|
}
|
|
function ClassExpression(node, parent, printStack) {
|
|
return isFirstInContext(printStack, 1 | 4);
|
|
}
|
|
function UnaryLike(node, parent) {
|
|
return hasPostfixPart(node, parent) || isBinaryExpression(parent, {
|
|
operator: "**",
|
|
left: node
|
|
}) || isClassExtendsClause(node, parent);
|
|
}
|
|
function FunctionExpression$1(node, parent, printStack) {
|
|
return isFirstInContext(printStack, 1 | 4);
|
|
}
|
|
function ArrowFunctionExpression$1(node, parent) {
|
|
return isExportDeclaration$1(parent) || ConditionalExpression$2(node, parent);
|
|
}
|
|
function ConditionalExpression$2(node, parent) {
|
|
if (isUnaryLike(parent) || isBinary(parent) || isConditionalExpression(parent, {
|
|
test: node
|
|
}) || isAwaitExpression(parent) || isTSTypeExpression(parent)) {
|
|
return true;
|
|
}
|
|
return UnaryLike(node, parent);
|
|
}
|
|
function OptionalMemberExpression$1(node, parent) {
|
|
return isCallExpression$6(parent, {
|
|
callee: node
|
|
}) || isMemberExpression$6(parent, {
|
|
object: node
|
|
});
|
|
}
|
|
function AssignmentExpression$2(node, parent) {
|
|
if (isObjectPattern$1(node.left)) {
|
|
return true;
|
|
} else {
|
|
return ConditionalExpression$2(node, parent);
|
|
}
|
|
}
|
|
function LogicalExpression$1(node, parent) {
|
|
if (isTSTypeExpression(parent)) return true;
|
|
switch (node.operator) {
|
|
case "||":
|
|
if (!isLogicalExpression(parent)) return false;
|
|
return parent.operator === "??" || parent.operator === "&&";
|
|
case "&&":
|
|
return isLogicalExpression(parent, {
|
|
operator: "??"
|
|
});
|
|
case "??":
|
|
return isLogicalExpression(parent) && parent.operator !== "??";
|
|
}
|
|
}
|
|
function Identifier$1(node, parent, printStack) {
|
|
var _node$extra;
|
|
if ((_node$extra = node.extra) != null && _node$extra.parenthesized && isAssignmentExpression$2(parent, {
|
|
left: node
|
|
}) && (isFunctionExpression(parent.right) || isClassExpression(parent.right)) && parent.right.id == null) {
|
|
return true;
|
|
}
|
|
if (node.name === "let") {
|
|
var isFollowedByBracket = isMemberExpression$6(parent, {
|
|
object: node,
|
|
computed: true
|
|
}) || isOptionalMemberExpression$1(parent, {
|
|
object: node,
|
|
computed: true,
|
|
optional: false
|
|
});
|
|
return isFirstInContext(printStack, isFollowedByBracket ? 1 | 8 | 16 | 32 : 32);
|
|
}
|
|
return node.name === "async" && isForOfStatement$1(parent) && node === parent.left;
|
|
}
|
|
function isFirstInContext(printStack, checkParam) {
|
|
var expressionStatement = checkParam & 1;
|
|
var arrowBody = checkParam & 2;
|
|
var exportDefault = checkParam & 4;
|
|
var forHead = checkParam & 8;
|
|
var forInHead = checkParam & 16;
|
|
var forOfHead = checkParam & 32;
|
|
var i = printStack.length - 1;
|
|
if (i <= 0) return;
|
|
var node = printStack[i];
|
|
i--;
|
|
var parent = printStack[i];
|
|
while (i >= 0) {
|
|
if (expressionStatement && isExpressionStatement$2(parent, {
|
|
expression: node
|
|
}) || exportDefault && isExportDefaultDeclaration$1(parent, {
|
|
declaration: node
|
|
}) || arrowBody && isArrowFunctionExpression(parent, {
|
|
body: node
|
|
}) || forHead && isForStatement$2(parent, {
|
|
init: node
|
|
}) || forInHead && isForInStatement(parent, {
|
|
left: node
|
|
}) || forOfHead && isForOfStatement$1(parent, {
|
|
left: node
|
|
})) {
|
|
return true;
|
|
}
|
|
if (i > 0 && (hasPostfixPart(node, parent) && !isNewExpression$3(parent) || isSequenceExpression$1(parent) && parent.expressions[0] === node || isUpdateExpression$1(parent) && !parent.prefix || isConditional(parent, {
|
|
test: node
|
|
}) || isBinary(parent, {
|
|
left: node
|
|
}) || isAssignmentExpression$2(parent, {
|
|
left: node
|
|
}))) {
|
|
node = parent;
|
|
i--;
|
|
parent = printStack[i];
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
var parens = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
NullableTypeAnnotation: NullableTypeAnnotation$1,
|
|
FunctionTypeAnnotation: FunctionTypeAnnotation$1,
|
|
UpdateExpression: UpdateExpression$2,
|
|
ObjectExpression: ObjectExpression$2,
|
|
DoExpression: DoExpression$1,
|
|
Binary: Binary,
|
|
UnionTypeAnnotation: UnionTypeAnnotation$1,
|
|
IntersectionTypeAnnotation: UnionTypeAnnotation$1,
|
|
OptionalIndexedAccessType: OptionalIndexedAccessType$1,
|
|
TSAsExpression: TSAsExpression$1,
|
|
TSSatisfiesExpression: TSAsExpression$1,
|
|
TSTypeAssertion: TSAsExpression$1,
|
|
TSUnionType: TSUnionType$1,
|
|
TSIntersectionType: TSUnionType$1,
|
|
TSInferType: TSInferType$1,
|
|
TSInstantiationExpression: TSInstantiationExpression$1,
|
|
BinaryExpression: BinaryExpression$1,
|
|
SequenceExpression: SequenceExpression$2,
|
|
YieldExpression: YieldExpression$1,
|
|
AwaitExpression: YieldExpression$1,
|
|
ClassExpression: ClassExpression,
|
|
UnaryLike: UnaryLike,
|
|
FunctionExpression: FunctionExpression$1,
|
|
ArrowFunctionExpression: ArrowFunctionExpression$1,
|
|
ConditionalExpression: ConditionalExpression$2,
|
|
OptionalMemberExpression: OptionalMemberExpression$1,
|
|
OptionalCallExpression: OptionalMemberExpression$1,
|
|
AssignmentExpression: AssignmentExpression$2,
|
|
LogicalExpression: LogicalExpression$1,
|
|
Identifier: Identifier$1
|
|
});
|
|
|
|
var FLIPPED_ALIAS_KEYS = FLIPPED_ALIAS_KEYS$3,
|
|
isCallExpression$5 = isCallExpression$8,
|
|
isMemberExpression$5 = isMemberExpression$8,
|
|
isNewExpression$2 = isNewExpression$4;
|
|
function expandAliases(obj) {
|
|
var newObj = {};
|
|
function add(type, func) {
|
|
var fn = newObj[type];
|
|
newObj[type] = fn ? function (node, parent, stack) {
|
|
var result = fn(node, parent, stack);
|
|
return result == null ? func(node, parent, stack) : result;
|
|
} : func;
|
|
}
|
|
for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) {
|
|
var type = _Object$keys[_i];
|
|
var aliases = FLIPPED_ALIAS_KEYS[type];
|
|
if (aliases) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(aliases), _step; !(_step = _iterator()).done;) {
|
|
var alias = _step.value;
|
|
add(alias, obj[type]);
|
|
}
|
|
} else {
|
|
add(type, obj[type]);
|
|
}
|
|
}
|
|
return newObj;
|
|
}
|
|
var expandedParens = expandAliases(parens);
|
|
expandAliases(nodes);
|
|
function find$2(obj, node, parent, printStack) {
|
|
var fn = obj[node.type];
|
|
return fn ? fn(node, parent, printStack) : null;
|
|
}
|
|
function isOrHasCallExpression(node) {
|
|
if (isCallExpression$5(node)) {
|
|
return true;
|
|
}
|
|
return isMemberExpression$5(node) && isOrHasCallExpression(node.object);
|
|
}
|
|
function needsParens$1(node, parent, printStack) {
|
|
if (!parent) return false;
|
|
if (isNewExpression$2(parent) && parent.callee === node) {
|
|
if (isOrHasCallExpression(node)) return true;
|
|
}
|
|
return find$2(expandedParens, node, parent, printStack);
|
|
}
|
|
|
|
function TaggedTemplateExpression$1(node) {
|
|
this.print(node.tag, node);
|
|
this.print(node.typeParameters, node);
|
|
this.print(node.quasi, node);
|
|
}
|
|
function TemplateElement(node, parent) {
|
|
var isFirst = parent.quasis[0] === node;
|
|
var isLast = parent.quasis[parent.quasis.length - 1] === node;
|
|
var value = (isFirst ? "`" : "}") + node.value.raw + (isLast ? "`" : "${");
|
|
this.token(value, true);
|
|
}
|
|
function TemplateLiteral$1(node) {
|
|
var quasis = node.quasis;
|
|
for (var i = 0; i < quasis.length; i++) {
|
|
this.print(quasis[i], node);
|
|
if (i + 1 < quasis.length) {
|
|
this.print(node.expressions[i], node);
|
|
}
|
|
}
|
|
}
|
|
|
|
var isCallExpression$4 = isCallExpression$8,
|
|
isLiteral$3 = isLiteral$6,
|
|
isMemberExpression$4 = isMemberExpression$8,
|
|
isNewExpression$1 = isNewExpression$4;
|
|
function UnaryExpression$1(node) {
|
|
var operator = node.operator;
|
|
if (operator === "void" || operator === "delete" || operator === "typeof" || operator === "throw") {
|
|
this.word(operator);
|
|
this.space();
|
|
} else {
|
|
this.token(operator);
|
|
}
|
|
this.print(node.argument, node);
|
|
}
|
|
function DoExpression(node) {
|
|
if (node.async) {
|
|
this.word("async", true);
|
|
this.space();
|
|
}
|
|
this.word("do");
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function ParenthesizedExpression$1(node) {
|
|
this.tokenChar(40);
|
|
this.print(node.expression, node);
|
|
this.rightParens(node);
|
|
}
|
|
function UpdateExpression$1(node) {
|
|
if (node.prefix) {
|
|
this.token(node.operator);
|
|
this.print(node.argument, node);
|
|
} else {
|
|
this.printTerminatorless(node.argument, node, true);
|
|
this.token(node.operator);
|
|
}
|
|
}
|
|
function ConditionalExpression$1(node) {
|
|
this.print(node.test, node);
|
|
this.space();
|
|
this.tokenChar(63);
|
|
this.space();
|
|
this.print(node.consequent, node);
|
|
this.space();
|
|
this.tokenChar(58);
|
|
this.space();
|
|
this.print(node.alternate, node);
|
|
}
|
|
function NewExpression$1(node, parent) {
|
|
this.word("new");
|
|
this.space();
|
|
this.print(node.callee, node);
|
|
if (this.format.minified && node.arguments.length === 0 && !node.optional && !isCallExpression$4(parent, {
|
|
callee: node
|
|
}) && !isMemberExpression$4(parent) && !isNewExpression$1(parent)) {
|
|
return;
|
|
}
|
|
this.print(node.typeArguments, node);
|
|
this.print(node.typeParameters, node);
|
|
if (node.optional) {
|
|
this.token("?.");
|
|
}
|
|
this.tokenChar(40);
|
|
this.printList(node.arguments, node);
|
|
this.rightParens(node);
|
|
}
|
|
function SequenceExpression$1(node) {
|
|
this.printList(node.expressions, node);
|
|
}
|
|
function ThisExpression() {
|
|
this.word("this");
|
|
}
|
|
function Super() {
|
|
this.word("super");
|
|
}
|
|
function isDecoratorMemberExpression(node) {
|
|
switch (node.type) {
|
|
case "Identifier":
|
|
return true;
|
|
case "MemberExpression":
|
|
return !node.computed && node.property.type === "Identifier" && isDecoratorMemberExpression(node.object);
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
function shouldParenthesizeDecoratorExpression(node) {
|
|
if (node.type === "ParenthesizedExpression") {
|
|
return false;
|
|
}
|
|
return !isDecoratorMemberExpression(node.type === "CallExpression" ? node.callee : node);
|
|
}
|
|
function _shouldPrintDecoratorsBeforeExport(node) {
|
|
if (typeof this.format.decoratorsBeforeExport === "boolean") {
|
|
return this.format.decoratorsBeforeExport;
|
|
}
|
|
return typeof node.start === "number" && node.start === node.declaration.start;
|
|
}
|
|
function Decorator(node) {
|
|
this.tokenChar(64);
|
|
var expression = node.expression;
|
|
if (shouldParenthesizeDecoratorExpression(expression)) {
|
|
this.tokenChar(40);
|
|
this.print(expression, node);
|
|
this.tokenChar(41);
|
|
} else {
|
|
this.print(expression, node);
|
|
}
|
|
this.newline();
|
|
}
|
|
function OptionalMemberExpression(node) {
|
|
var computed = node.computed;
|
|
var optional = node.optional,
|
|
property = node.property;
|
|
this.print(node.object, node);
|
|
if (!computed && isMemberExpression$4(property)) {
|
|
throw new TypeError("Got a MemberExpression for MemberExpression property");
|
|
}
|
|
if (isLiteral$3(property) && typeof property.value === "number") {
|
|
computed = true;
|
|
}
|
|
if (optional) {
|
|
this.token("?.");
|
|
}
|
|
if (computed) {
|
|
this.tokenChar(91);
|
|
this.print(property, node);
|
|
this.tokenChar(93);
|
|
} else {
|
|
if (!optional) {
|
|
this.tokenChar(46);
|
|
}
|
|
this.print(property, node);
|
|
}
|
|
}
|
|
function OptionalCallExpression(node) {
|
|
this.print(node.callee, node);
|
|
this.print(node.typeParameters, node);
|
|
if (node.optional) {
|
|
this.token("?.");
|
|
}
|
|
this.print(node.typeArguments, node);
|
|
this.tokenChar(40);
|
|
this.printList(node.arguments, node);
|
|
this.rightParens(node);
|
|
}
|
|
function CallExpression$1(node) {
|
|
this.print(node.callee, node);
|
|
this.print(node.typeArguments, node);
|
|
this.print(node.typeParameters, node);
|
|
this.tokenChar(40);
|
|
this.printList(node.arguments, node);
|
|
this.rightParens(node);
|
|
}
|
|
function Import() {
|
|
this.word("import");
|
|
}
|
|
function AwaitExpression(node) {
|
|
this.word("await");
|
|
if (node.argument) {
|
|
this.space();
|
|
this.printTerminatorless(node.argument, node, false);
|
|
}
|
|
}
|
|
function YieldExpression(node) {
|
|
this.word("yield", true);
|
|
if (node.delegate) {
|
|
this.tokenChar(42);
|
|
if (node.argument) {
|
|
this.space();
|
|
this.print(node.argument, node);
|
|
}
|
|
} else {
|
|
if (node.argument) {
|
|
this.space();
|
|
this.printTerminatorless(node.argument, node, false);
|
|
}
|
|
}
|
|
}
|
|
function EmptyStatement() {
|
|
this.semicolon(true);
|
|
}
|
|
function ExpressionStatement(node) {
|
|
this.print(node.expression, node);
|
|
this.semicolon();
|
|
}
|
|
function AssignmentPattern(node) {
|
|
this.print(node.left, node);
|
|
if (node.left.optional) this.tokenChar(63);
|
|
this.print(node.left.typeAnnotation, node);
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(node.right, node);
|
|
}
|
|
function AssignmentExpression$1(node, parent) {
|
|
var parens = this.inForStatementInitCounter && node.operator === "in" && !needsParens$1(node, parent);
|
|
if (parens) {
|
|
this.tokenChar(40);
|
|
}
|
|
this.print(node.left, node);
|
|
this.space();
|
|
if (node.operator === "in" || node.operator === "instanceof") {
|
|
this.word(node.operator);
|
|
} else {
|
|
this.token(node.operator);
|
|
}
|
|
this.space();
|
|
this.print(node.right, node);
|
|
if (parens) {
|
|
this.tokenChar(41);
|
|
}
|
|
}
|
|
function BindExpression(node) {
|
|
this.print(node.object, node);
|
|
this.token("::");
|
|
this.print(node.callee, node);
|
|
}
|
|
function MemberExpression(node) {
|
|
this.print(node.object, node);
|
|
if (!node.computed && isMemberExpression$4(node.property)) {
|
|
throw new TypeError("Got a MemberExpression for MemberExpression property");
|
|
}
|
|
var computed = node.computed;
|
|
if (isLiteral$3(node.property) && typeof node.property.value === "number") {
|
|
computed = true;
|
|
}
|
|
if (computed) {
|
|
this.tokenChar(91);
|
|
this.print(node.property, node);
|
|
this.tokenChar(93);
|
|
} else {
|
|
this.tokenChar(46);
|
|
this.print(node.property, node);
|
|
}
|
|
}
|
|
function MetaProperty(node) {
|
|
this.print(node.meta, node);
|
|
this.tokenChar(46);
|
|
this.print(node.property, node);
|
|
}
|
|
function PrivateName(node) {
|
|
this.tokenChar(35);
|
|
this.print(node.id, node);
|
|
}
|
|
function V8IntrinsicIdentifier(node) {
|
|
this.tokenChar(37);
|
|
this.word(node.name);
|
|
}
|
|
function ModuleExpression(node) {
|
|
this.word("module", true);
|
|
this.space();
|
|
this.tokenChar(123);
|
|
this.indent();
|
|
var body = node.body;
|
|
if (body.body.length || body.directives.length) {
|
|
this.newline();
|
|
}
|
|
this.print(body, node);
|
|
this.dedent();
|
|
this.rightBrace(node);
|
|
}
|
|
|
|
var isFor = isFor$2,
|
|
isForStatement$1 = isForStatement$3,
|
|
isIfStatement = isIfStatement$2,
|
|
isStatement$7 = isStatement$8;
|
|
function WithStatement(node) {
|
|
this.word("with");
|
|
this.space();
|
|
this.tokenChar(40);
|
|
this.print(node.object, node);
|
|
this.tokenChar(41);
|
|
this.printBlock(node);
|
|
}
|
|
function IfStatement(node) {
|
|
this.word("if");
|
|
this.space();
|
|
this.tokenChar(40);
|
|
this.print(node.test, node);
|
|
this.tokenChar(41);
|
|
this.space();
|
|
var needsBlock = node.alternate && isIfStatement(getLastStatement(node.consequent));
|
|
if (needsBlock) {
|
|
this.tokenChar(123);
|
|
this.newline();
|
|
this.indent();
|
|
}
|
|
this.printAndIndentOnComments(node.consequent, node);
|
|
if (needsBlock) {
|
|
this.dedent();
|
|
this.newline();
|
|
this.tokenChar(125);
|
|
}
|
|
if (node.alternate) {
|
|
if (this.endsWith(125)) this.space();
|
|
this.word("else");
|
|
this.space();
|
|
this.printAndIndentOnComments(node.alternate, node);
|
|
}
|
|
}
|
|
function getLastStatement(statement) {
|
|
var body = statement.body;
|
|
if (isStatement$7(body) === false) {
|
|
return statement;
|
|
}
|
|
return getLastStatement(body);
|
|
}
|
|
function ForStatement(node) {
|
|
this.word("for");
|
|
this.space();
|
|
this.tokenChar(40);
|
|
this.inForStatementInitCounter++;
|
|
this.print(node.init, node);
|
|
this.inForStatementInitCounter--;
|
|
this.tokenChar(59);
|
|
if (node.test) {
|
|
this.space();
|
|
this.print(node.test, node);
|
|
}
|
|
this.tokenChar(59);
|
|
if (node.update) {
|
|
this.space();
|
|
this.print(node.update, node);
|
|
}
|
|
this.tokenChar(41);
|
|
this.printBlock(node);
|
|
}
|
|
function WhileStatement(node) {
|
|
this.word("while");
|
|
this.space();
|
|
this.tokenChar(40);
|
|
this.print(node.test, node);
|
|
this.tokenChar(41);
|
|
this.printBlock(node);
|
|
}
|
|
function ForXStatement(node) {
|
|
this.word("for");
|
|
this.space();
|
|
var isForOf = node.type === "ForOfStatement";
|
|
if (isForOf && node["await"]) {
|
|
this.word("await");
|
|
this.space();
|
|
}
|
|
this.noIndentInnerCommentsHere();
|
|
this.tokenChar(40);
|
|
this.print(node.left, node);
|
|
this.space();
|
|
this.word(isForOf ? "of" : "in");
|
|
this.space();
|
|
this.print(node.right, node);
|
|
this.tokenChar(41);
|
|
this.printBlock(node);
|
|
}
|
|
var ForInStatement = ForXStatement;
|
|
var ForOfStatement = ForXStatement;
|
|
function DoWhileStatement(node) {
|
|
this.word("do");
|
|
this.space();
|
|
this.print(node.body, node);
|
|
this.space();
|
|
this.word("while");
|
|
this.space();
|
|
this.tokenChar(40);
|
|
this.print(node.test, node);
|
|
this.tokenChar(41);
|
|
this.semicolon();
|
|
}
|
|
function printStatementAfterKeyword(printer, node, parent, isLabel) {
|
|
if (node) {
|
|
printer.space();
|
|
printer.printTerminatorless(node, parent, isLabel);
|
|
}
|
|
printer.semicolon();
|
|
}
|
|
function BreakStatement(node) {
|
|
this.word("break");
|
|
printStatementAfterKeyword(this, node.label, node, true);
|
|
}
|
|
function ContinueStatement(node) {
|
|
this.word("continue");
|
|
printStatementAfterKeyword(this, node.label, node, true);
|
|
}
|
|
function ReturnStatement(node) {
|
|
this.word("return");
|
|
printStatementAfterKeyword(this, node.argument, node, false);
|
|
}
|
|
function ThrowStatement(node) {
|
|
this.word("throw");
|
|
printStatementAfterKeyword(this, node.argument, node, false);
|
|
}
|
|
function LabeledStatement(node) {
|
|
this.print(node.label, node);
|
|
this.tokenChar(58);
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function TryStatement(node) {
|
|
this.word("try");
|
|
this.space();
|
|
this.print(node.block, node);
|
|
this.space();
|
|
if (node.handlers) {
|
|
this.print(node.handlers[0], node);
|
|
} else {
|
|
this.print(node.handler, node);
|
|
}
|
|
if (node.finalizer) {
|
|
this.space();
|
|
this.word("finally");
|
|
this.space();
|
|
this.print(node.finalizer, node);
|
|
}
|
|
}
|
|
function CatchClause(node) {
|
|
this.word("catch");
|
|
this.space();
|
|
if (node.param) {
|
|
this.tokenChar(40);
|
|
this.print(node.param, node);
|
|
this.print(node.param.typeAnnotation, node);
|
|
this.tokenChar(41);
|
|
this.space();
|
|
}
|
|
this.print(node.body, node);
|
|
}
|
|
function SwitchStatement(node) {
|
|
this.word("switch");
|
|
this.space();
|
|
this.tokenChar(40);
|
|
this.print(node.discriminant, node);
|
|
this.tokenChar(41);
|
|
this.space();
|
|
this.tokenChar(123);
|
|
this.printSequence(node.cases, node, {
|
|
indent: true,
|
|
addNewlines: function addNewlines(leading, cas) {
|
|
if (!leading && node.cases[node.cases.length - 1] === cas) return -1;
|
|
}
|
|
});
|
|
this.rightBrace(node);
|
|
}
|
|
function SwitchCase(node) {
|
|
if (node.test) {
|
|
this.word("case");
|
|
this.space();
|
|
this.print(node.test, node);
|
|
this.tokenChar(58);
|
|
} else {
|
|
this.word("default");
|
|
this.tokenChar(58);
|
|
}
|
|
if (node.consequent.length) {
|
|
this.newline();
|
|
this.printSequence(node.consequent, node, {
|
|
indent: true
|
|
});
|
|
}
|
|
}
|
|
function DebuggerStatement() {
|
|
this.word("debugger");
|
|
this.semicolon();
|
|
}
|
|
function VariableDeclaration(node, parent) {
|
|
if (node.declare) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
var kind = node.kind;
|
|
this.word(kind, kind === "using");
|
|
this.space();
|
|
var hasInits = false;
|
|
if (!isFor(parent)) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(node.declarations), _step; !(_step = _iterator()).done;) {
|
|
var declar = _step.value;
|
|
if (declar.init) {
|
|
hasInits = true;
|
|
}
|
|
}
|
|
}
|
|
this.printList(node.declarations, node, {
|
|
separator: hasInits ? function () {
|
|
this.tokenChar(44);
|
|
this.newline();
|
|
} : undefined,
|
|
indent: node.declarations.length > 1 ? true : false
|
|
});
|
|
if (isFor(parent)) {
|
|
if (isForStatement$1(parent)) {
|
|
if (parent.init === node) return;
|
|
} else {
|
|
if (parent.left === node) return;
|
|
}
|
|
}
|
|
this.semicolon();
|
|
}
|
|
function VariableDeclarator$1(node) {
|
|
this.print(node.id, node);
|
|
if (node.definite) this.tokenChar(33);
|
|
this.print(node.id.typeAnnotation, node);
|
|
if (node.init) {
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(node.init, node);
|
|
}
|
|
}
|
|
|
|
var isExportDefaultDeclaration = isExportDefaultDeclaration$3,
|
|
isExportNamedDeclaration$1 = isExportNamedDeclaration$3;
|
|
function ClassDeclaration(node, parent) {
|
|
var inExport = isExportDefaultDeclaration(parent) || isExportNamedDeclaration$1(parent);
|
|
if (!inExport || !this._shouldPrintDecoratorsBeforeExport(parent)) {
|
|
this.printJoin(node.decorators, node);
|
|
}
|
|
if (node.declare) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
if (node["abstract"]) {
|
|
this.word("abstract");
|
|
this.space();
|
|
}
|
|
this.word("class");
|
|
if (node.id) {
|
|
this.space();
|
|
this.print(node.id, node);
|
|
}
|
|
this.print(node.typeParameters, node);
|
|
if (node.superClass) {
|
|
this.space();
|
|
this.word("extends");
|
|
this.space();
|
|
this.print(node.superClass, node);
|
|
this.print(node.superTypeParameters, node);
|
|
}
|
|
if (node["implements"]) {
|
|
this.space();
|
|
this.word("implements");
|
|
this.space();
|
|
this.printList(node["implements"], node);
|
|
}
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function ClassBody(node) {
|
|
this.tokenChar(123);
|
|
if (node.body.length === 0) {
|
|
this.tokenChar(125);
|
|
} else {
|
|
this.newline();
|
|
this.indent();
|
|
this.printSequence(node.body, node);
|
|
this.dedent();
|
|
if (!this.endsWith(10)) this.newline();
|
|
this.rightBrace(node);
|
|
}
|
|
}
|
|
function ClassProperty(node) {
|
|
var _node$key$loc, _node$key$loc$end;
|
|
this.printJoin(node.decorators, node);
|
|
var endLine = (_node$key$loc = node.key.loc) == null ? void 0 : (_node$key$loc$end = _node$key$loc.end) == null ? void 0 : _node$key$loc$end.line;
|
|
if (endLine) this.catchUp(endLine);
|
|
this.tsPrintClassMemberModifiers(node);
|
|
if (node.computed) {
|
|
this.tokenChar(91);
|
|
this.print(node.key, node);
|
|
this.tokenChar(93);
|
|
} else {
|
|
this._variance(node);
|
|
this.print(node.key, node);
|
|
}
|
|
if (node.optional) {
|
|
this.tokenChar(63);
|
|
}
|
|
if (node.definite) {
|
|
this.tokenChar(33);
|
|
}
|
|
this.print(node.typeAnnotation, node);
|
|
if (node.value) {
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(node.value, node);
|
|
}
|
|
this.semicolon();
|
|
}
|
|
function ClassAccessorProperty(node) {
|
|
var _node$key$loc2, _node$key$loc2$end;
|
|
this.printJoin(node.decorators, node);
|
|
var endLine = (_node$key$loc2 = node.key.loc) == null ? void 0 : (_node$key$loc2$end = _node$key$loc2.end) == null ? void 0 : _node$key$loc2$end.line;
|
|
if (endLine) this.catchUp(endLine);
|
|
this.tsPrintClassMemberModifiers(node);
|
|
this.word("accessor", true);
|
|
this.space();
|
|
if (node.computed) {
|
|
this.tokenChar(91);
|
|
this.print(node.key, node);
|
|
this.tokenChar(93);
|
|
} else {
|
|
this._variance(node);
|
|
this.print(node.key, node);
|
|
}
|
|
if (node.optional) {
|
|
this.tokenChar(63);
|
|
}
|
|
if (node.definite) {
|
|
this.tokenChar(33);
|
|
}
|
|
this.print(node.typeAnnotation, node);
|
|
if (node.value) {
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(node.value, node);
|
|
}
|
|
this.semicolon();
|
|
}
|
|
function ClassPrivateProperty(node) {
|
|
this.printJoin(node.decorators, node);
|
|
if (node["static"]) {
|
|
this.word("static");
|
|
this.space();
|
|
}
|
|
this.print(node.key, node);
|
|
this.print(node.typeAnnotation, node);
|
|
if (node.value) {
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(node.value, node);
|
|
}
|
|
this.semicolon();
|
|
}
|
|
function ClassMethod(node) {
|
|
this._classMethodHead(node);
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function ClassPrivateMethod(node) {
|
|
this._classMethodHead(node);
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function _classMethodHead(node) {
|
|
var _node$key$loc3, _node$key$loc3$end;
|
|
this.printJoin(node.decorators, node);
|
|
var endLine = (_node$key$loc3 = node.key.loc) == null ? void 0 : (_node$key$loc3$end = _node$key$loc3.end) == null ? void 0 : _node$key$loc3$end.line;
|
|
if (endLine) this.catchUp(endLine);
|
|
this.tsPrintClassMemberModifiers(node);
|
|
this._methodHead(node);
|
|
}
|
|
function StaticBlock(node) {
|
|
this.word("static");
|
|
this.space();
|
|
this.tokenChar(123);
|
|
if (node.body.length === 0) {
|
|
this.tokenChar(125);
|
|
} else {
|
|
this.newline();
|
|
this.printSequence(node.body, node, {
|
|
indent: true
|
|
});
|
|
this.rightBrace(node);
|
|
}
|
|
}
|
|
|
|
var isIdentifier$g = isIdentifier$j;
|
|
function _params(node, idNode, parentNode) {
|
|
this.print(node.typeParameters, node);
|
|
var nameInfo = _getFuncIdName.call(this, idNode, parentNode);
|
|
if (nameInfo) {
|
|
this.sourceIdentifierName(nameInfo.name, nameInfo.pos);
|
|
}
|
|
this.tokenChar(40);
|
|
this._parameters(node.params, node);
|
|
this.tokenChar(41);
|
|
var noLineTerminator = node.type === "ArrowFunctionExpression";
|
|
this.print(node.returnType, node, noLineTerminator);
|
|
this._noLineTerminator = noLineTerminator;
|
|
}
|
|
function _parameters(parameters, parent) {
|
|
var paramLength = parameters.length;
|
|
for (var i = 0; i < paramLength; i++) {
|
|
this._param(parameters[i], parent);
|
|
if (i < parameters.length - 1) {
|
|
this.tokenChar(44);
|
|
this.space();
|
|
}
|
|
}
|
|
}
|
|
function _param(parameter, parent) {
|
|
this.printJoin(parameter.decorators, parameter);
|
|
this.print(parameter, parent);
|
|
if (parameter.optional) {
|
|
this.tokenChar(63);
|
|
}
|
|
this.print(parameter.typeAnnotation, parameter);
|
|
}
|
|
function _methodHead(node) {
|
|
var kind = node.kind;
|
|
var key = node.key;
|
|
if (kind === "get" || kind === "set") {
|
|
this.word(kind);
|
|
this.space();
|
|
}
|
|
if (node.async) {
|
|
this.word("async", true);
|
|
this.space();
|
|
}
|
|
if (kind === "method" || kind === "init") {
|
|
if (node.generator) {
|
|
this.tokenChar(42);
|
|
}
|
|
}
|
|
if (node.computed) {
|
|
this.tokenChar(91);
|
|
this.print(key, node);
|
|
this.tokenChar(93);
|
|
} else {
|
|
this.print(key, node);
|
|
}
|
|
if (node.optional) {
|
|
this.tokenChar(63);
|
|
}
|
|
this._params(node, node.computed && node.key.type !== "StringLiteral" ? undefined : node.key, undefined);
|
|
}
|
|
function _predicate(node, noLineTerminatorAfter) {
|
|
if (node.predicate) {
|
|
if (!node.returnType) {
|
|
this.tokenChar(58);
|
|
}
|
|
this.space();
|
|
this.print(node.predicate, node, noLineTerminatorAfter);
|
|
}
|
|
}
|
|
function _functionHead(node, parent) {
|
|
if (node.async) {
|
|
this.word("async");
|
|
this._endsWithInnerRaw = false;
|
|
this.space();
|
|
}
|
|
this.word("function");
|
|
if (node.generator) {
|
|
this._endsWithInnerRaw = false;
|
|
this.tokenChar(42);
|
|
}
|
|
this.space();
|
|
if (node.id) {
|
|
this.print(node.id, node);
|
|
}
|
|
this._params(node, node.id, parent);
|
|
if (node.type !== "TSDeclareFunction") {
|
|
this._predicate(node);
|
|
}
|
|
}
|
|
function FunctionExpression(node, parent) {
|
|
this._functionHead(node, parent);
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function ArrowFunctionExpression(node, parent) {
|
|
if (node.async) {
|
|
this.word("async", true);
|
|
this.space();
|
|
}
|
|
var firstParam;
|
|
if (!this.format.retainLines && node.params.length === 1 && isIdentifier$g(firstParam = node.params[0]) && !hasTypesOrComments(node, firstParam)) {
|
|
this.print(firstParam, node, true);
|
|
} else {
|
|
this._params(node, undefined, parent);
|
|
}
|
|
this._predicate(node, true);
|
|
this.space();
|
|
this.printInnerComments();
|
|
this.token("=>");
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function hasTypesOrComments(node, param) {
|
|
var _param$leadingComment, _param$trailingCommen;
|
|
return !!(node.typeParameters || node.returnType || node.predicate || param.typeAnnotation || param.optional || (_param$leadingComment = param.leadingComments) != null && _param$leadingComment.length || (_param$trailingCommen = param.trailingComments) != null && _param$trailingCommen.length);
|
|
}
|
|
function _getFuncIdName(idNode, parent) {
|
|
var id = idNode;
|
|
if (!id && parent) {
|
|
var parentType = parent.type;
|
|
if (parentType === "VariableDeclarator") {
|
|
id = parent.id;
|
|
} else if (parentType === "AssignmentExpression" || parentType === "AssignmentPattern") {
|
|
id = parent.left;
|
|
} else if (parentType === "ObjectProperty" || parentType === "ClassProperty") {
|
|
if (!parent.computed || parent.key.type === "StringLiteral") {
|
|
id = parent.key;
|
|
}
|
|
} else if (parentType === "ClassPrivateProperty" || parentType === "ClassAccessorProperty") {
|
|
id = parent.key;
|
|
}
|
|
}
|
|
if (!id) return;
|
|
var nameInfo;
|
|
if (id.type === "Identifier") {
|
|
var _id$loc, _id$loc2;
|
|
nameInfo = {
|
|
pos: (_id$loc = id.loc) == null ? void 0 : _id$loc.start,
|
|
name: ((_id$loc2 = id.loc) == null ? void 0 : _id$loc2.identifierName) || id.name
|
|
};
|
|
} else if (id.type === "PrivateName") {
|
|
var _id$loc3;
|
|
nameInfo = {
|
|
pos: (_id$loc3 = id.loc) == null ? void 0 : _id$loc3.start,
|
|
name: "#" + id.id.name
|
|
};
|
|
} else if (id.type === "StringLiteral") {
|
|
var _id$loc4;
|
|
nameInfo = {
|
|
pos: (_id$loc4 = id.loc) == null ? void 0 : _id$loc4.start,
|
|
name: id.value
|
|
};
|
|
}
|
|
return nameInfo;
|
|
}
|
|
|
|
var isClassDeclaration = isClassDeclaration$2,
|
|
isExportDefaultSpecifier = isExportDefaultSpecifier$1,
|
|
isExportNamespaceSpecifier = isExportNamespaceSpecifier$1,
|
|
isImportDefaultSpecifier = isImportDefaultSpecifier$1,
|
|
isImportNamespaceSpecifier = isImportNamespaceSpecifier$1,
|
|
isStatement$6 = isStatement$8;
|
|
function ImportSpecifier(node) {
|
|
if (node.importKind === "type" || node.importKind === "typeof") {
|
|
this.word(node.importKind);
|
|
this.space();
|
|
}
|
|
this.print(node.imported, node);
|
|
if (node.local && node.local.name !== node.imported.name) {
|
|
this.space();
|
|
this.word("as");
|
|
this.space();
|
|
this.print(node.local, node);
|
|
}
|
|
}
|
|
function ImportDefaultSpecifier(node) {
|
|
this.print(node.local, node);
|
|
}
|
|
function ExportDefaultSpecifier(node) {
|
|
this.print(node.exported, node);
|
|
}
|
|
function ExportSpecifier(node) {
|
|
if (node.exportKind === "type") {
|
|
this.word("type");
|
|
this.space();
|
|
}
|
|
this.print(node.local, node);
|
|
if (node.exported && node.local.name !== node.exported.name) {
|
|
this.space();
|
|
this.word("as");
|
|
this.space();
|
|
this.print(node.exported, node);
|
|
}
|
|
}
|
|
function ExportNamespaceSpecifier(node) {
|
|
this.tokenChar(42);
|
|
this.space();
|
|
this.word("as");
|
|
this.space();
|
|
this.print(node.exported, node);
|
|
}
|
|
function _printAssertions(node) {
|
|
this.word("assert");
|
|
this.space();
|
|
this.tokenChar(123);
|
|
this.space();
|
|
this.printList(node.assertions, node);
|
|
this.space();
|
|
this.tokenChar(125);
|
|
}
|
|
function ExportAllDeclaration(node) {
|
|
var _node$assertions;
|
|
this.word("export");
|
|
this.space();
|
|
if (node.exportKind === "type") {
|
|
this.word("type");
|
|
this.space();
|
|
}
|
|
this.tokenChar(42);
|
|
this.space();
|
|
this.word("from");
|
|
this.space();
|
|
if ((_node$assertions = node.assertions) != null && _node$assertions.length) {
|
|
this.print(node.source, node, true);
|
|
this.space();
|
|
this._printAssertions(node);
|
|
} else {
|
|
this.print(node.source, node);
|
|
}
|
|
this.semicolon();
|
|
}
|
|
function maybePrintDecoratorsBeforeExport(printer, node) {
|
|
if (isClassDeclaration(node.declaration) && printer._shouldPrintDecoratorsBeforeExport(node)) {
|
|
printer.printJoin(node.declaration.decorators, node);
|
|
}
|
|
}
|
|
function ExportNamedDeclaration(node) {
|
|
maybePrintDecoratorsBeforeExport(this, node);
|
|
this.word("export");
|
|
this.space();
|
|
if (node.declaration) {
|
|
var declar = node.declaration;
|
|
this.print(declar, node);
|
|
if (!isStatement$6(declar)) this.semicolon();
|
|
} else {
|
|
if (node.exportKind === "type") {
|
|
this.word("type");
|
|
this.space();
|
|
}
|
|
var specifiers = node.specifiers.slice(0);
|
|
var hasSpecial = false;
|
|
for (;;) {
|
|
var first = specifiers[0];
|
|
if (isExportDefaultSpecifier(first) || isExportNamespaceSpecifier(first)) {
|
|
hasSpecial = true;
|
|
this.print(specifiers.shift(), node);
|
|
if (specifiers.length) {
|
|
this.tokenChar(44);
|
|
this.space();
|
|
}
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
if (specifiers.length || !specifiers.length && !hasSpecial) {
|
|
this.tokenChar(123);
|
|
if (specifiers.length) {
|
|
this.space();
|
|
this.printList(specifiers, node);
|
|
this.space();
|
|
}
|
|
this.tokenChar(125);
|
|
}
|
|
if (node.source) {
|
|
var _node$assertions2;
|
|
this.space();
|
|
this.word("from");
|
|
this.space();
|
|
if ((_node$assertions2 = node.assertions) != null && _node$assertions2.length) {
|
|
this.print(node.source, node, true);
|
|
this.space();
|
|
this._printAssertions(node);
|
|
} else {
|
|
this.print(node.source, node);
|
|
}
|
|
}
|
|
this.semicolon();
|
|
}
|
|
}
|
|
function ExportDefaultDeclaration(node) {
|
|
maybePrintDecoratorsBeforeExport(this, node);
|
|
this.word("export");
|
|
this.noIndentInnerCommentsHere();
|
|
this.space();
|
|
this.word("default");
|
|
this.space();
|
|
var declar = node.declaration;
|
|
this.print(declar, node);
|
|
if (!isStatement$6(declar)) this.semicolon();
|
|
}
|
|
function ImportDeclaration(node) {
|
|
var _node$assertions3;
|
|
this.word("import");
|
|
this.space();
|
|
var isTypeKind = node.importKind === "type" || node.importKind === "typeof";
|
|
if (isTypeKind) {
|
|
this.noIndentInnerCommentsHere();
|
|
this.word(node.importKind);
|
|
this.space();
|
|
} else if (node.module) {
|
|
this.noIndentInnerCommentsHere();
|
|
this.word("module");
|
|
this.space();
|
|
}
|
|
var specifiers = node.specifiers.slice(0);
|
|
var hasSpecifiers = !!specifiers.length;
|
|
while (hasSpecifiers) {
|
|
var first = specifiers[0];
|
|
if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {
|
|
this.print(specifiers.shift(), node);
|
|
if (specifiers.length) {
|
|
this.tokenChar(44);
|
|
this.space();
|
|
}
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
if (specifiers.length) {
|
|
this.tokenChar(123);
|
|
this.space();
|
|
this.printList(specifiers, node);
|
|
this.space();
|
|
this.tokenChar(125);
|
|
} else if (isTypeKind && !hasSpecifiers) {
|
|
this.tokenChar(123);
|
|
this.tokenChar(125);
|
|
}
|
|
if (hasSpecifiers || isTypeKind) {
|
|
this.space();
|
|
this.word("from");
|
|
this.space();
|
|
}
|
|
if ((_node$assertions3 = node.assertions) != null && _node$assertions3.length) {
|
|
this.print(node.source, node, true);
|
|
this.space();
|
|
this._printAssertions(node);
|
|
} else {
|
|
this.print(node.source, node);
|
|
}
|
|
{
|
|
var _node$attributes;
|
|
if ((_node$attributes = node.attributes) != null && _node$attributes.length) {
|
|
this.space();
|
|
this.word("with");
|
|
this.space();
|
|
this.printList(node.attributes, node);
|
|
}
|
|
}
|
|
this.semicolon();
|
|
}
|
|
function ImportAttribute(node) {
|
|
this.print(node.key);
|
|
this.tokenChar(58);
|
|
this.space();
|
|
this.print(node.value);
|
|
}
|
|
function ImportNamespaceSpecifier(node) {
|
|
this.tokenChar(42);
|
|
this.space();
|
|
this.word("as");
|
|
this.space();
|
|
this.print(node.local, node);
|
|
}
|
|
|
|
var jsesc_1$1;
|
|
var hasRequiredJsesc$1;
|
|
function requireJsesc$1() {
|
|
if (hasRequiredJsesc$1) return jsesc_1$1;
|
|
hasRequiredJsesc$1 = 1;
|
|
var object = {};
|
|
var hasOwnProperty = object.hasOwnProperty;
|
|
var forOwn = function forOwn(object, callback) {
|
|
for (var key in object) {
|
|
if (hasOwnProperty.call(object, key)) {
|
|
callback(key, object[key]);
|
|
}
|
|
}
|
|
};
|
|
var extend = function extend(destination, source) {
|
|
if (!source) {
|
|
return destination;
|
|
}
|
|
forOwn(source, function (key, value) {
|
|
destination[key] = value;
|
|
});
|
|
return destination;
|
|
};
|
|
var forEach = function forEach(array, callback) {
|
|
var length = array.length;
|
|
var index = -1;
|
|
while (++index < length) {
|
|
callback(array[index]);
|
|
}
|
|
};
|
|
var fourHexEscape = function fourHexEscape(hex) {
|
|
return "\\u" + ('0000' + hex).slice(-4);
|
|
};
|
|
var hexadecimal = function hexadecimal(code, lowercase) {
|
|
var hexadecimal = code.toString(16);
|
|
if (lowercase) return hexadecimal;
|
|
return hexadecimal.toUpperCase();
|
|
};
|
|
var toString = object.toString;
|
|
var isArray = Array.isArray;
|
|
var isBuffer = function isBuffer(value) {
|
|
return typeof Buffer$1 === 'function' && Buffer$1.isBuffer(value);
|
|
};
|
|
var isObject = function isObject(value) {
|
|
return toString.call(value) == '[object Object]';
|
|
};
|
|
var isString = function isString(value) {
|
|
return typeof value == 'string' || toString.call(value) == '[object String]';
|
|
};
|
|
var isNumber = function isNumber(value) {
|
|
return typeof value == 'number' || toString.call(value) == '[object Number]';
|
|
};
|
|
var isFunction = function isFunction(value) {
|
|
return typeof value == 'function';
|
|
};
|
|
var isMap = function isMap(value) {
|
|
return toString.call(value) == '[object Map]';
|
|
};
|
|
var isSet = function isSet(value) {
|
|
return toString.call(value) == '[object Set]';
|
|
};
|
|
var singleEscapes = {
|
|
'\\': '\\\\',
|
|
'\b': '\\b',
|
|
'\f': '\\f',
|
|
'\n': '\\n',
|
|
'\r': '\\r',
|
|
'\t': '\\t'
|
|
};
|
|
var regexSingleEscape = /[\\\b\f\n\r\t]/;
|
|
var regexDigit = /[0-9]/;
|
|
var regexWhitespace = /[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;
|
|
var escapeEverythingRegex = /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g;
|
|
var escapeNonAsciiRegex = /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g;
|
|
var jsesc = function jsesc(argument, options) {
|
|
var increaseIndentation = function increaseIndentation() {
|
|
oldIndent = indent;
|
|
++options.indentLevel;
|
|
indent = options.indent.repeat(options.indentLevel);
|
|
};
|
|
var defaults = {
|
|
'escapeEverything': false,
|
|
'minimal': false,
|
|
'isScriptContext': false,
|
|
'quotes': 'single',
|
|
'wrap': false,
|
|
'es6': false,
|
|
'json': false,
|
|
'compact': true,
|
|
'lowercaseHex': false,
|
|
'numbers': 'decimal',
|
|
'indent': '\t',
|
|
'indentLevel': 0,
|
|
'__inline1__': false,
|
|
'__inline2__': false
|
|
};
|
|
var json = options && options.json;
|
|
if (json) {
|
|
defaults.quotes = 'double';
|
|
defaults.wrap = true;
|
|
}
|
|
options = extend(defaults, options);
|
|
if (options.quotes != 'single' && options.quotes != 'double' && options.quotes != 'backtick') {
|
|
options.quotes = 'single';
|
|
}
|
|
var quote = options.quotes == 'double' ? '"' : options.quotes == 'backtick' ? '`' : '\'';
|
|
var compact = options.compact;
|
|
var lowercaseHex = options.lowercaseHex;
|
|
var indent = options.indent.repeat(options.indentLevel);
|
|
var oldIndent = '';
|
|
var inline1 = options.__inline1__;
|
|
var inline2 = options.__inline2__;
|
|
var newLine = compact ? '' : '\n';
|
|
var result;
|
|
var isEmpty = true;
|
|
var useBinNumbers = options.numbers == 'binary';
|
|
var useOctNumbers = options.numbers == 'octal';
|
|
var useDecNumbers = options.numbers == 'decimal';
|
|
var useHexNumbers = options.numbers == 'hexadecimal';
|
|
if (json && argument && isFunction(argument.toJSON)) {
|
|
argument = argument.toJSON();
|
|
}
|
|
if (!isString(argument)) {
|
|
if (isMap(argument)) {
|
|
if (argument.size == 0) {
|
|
return 'new Map()';
|
|
}
|
|
if (!compact) {
|
|
options.__inline1__ = true;
|
|
options.__inline2__ = false;
|
|
}
|
|
return 'new Map(' + jsesc(Array.from(argument), options) + ')';
|
|
}
|
|
if (isSet(argument)) {
|
|
if (argument.size == 0) {
|
|
return 'new Set()';
|
|
}
|
|
return 'new Set(' + jsesc(Array.from(argument), options) + ')';
|
|
}
|
|
if (isBuffer(argument)) {
|
|
if (argument.length == 0) {
|
|
return 'Buffer.from([])';
|
|
}
|
|
return 'Buffer.from(' + jsesc(Array.from(argument), options) + ')';
|
|
}
|
|
if (isArray(argument)) {
|
|
result = [];
|
|
options.wrap = true;
|
|
if (inline1) {
|
|
options.__inline1__ = false;
|
|
options.__inline2__ = true;
|
|
}
|
|
if (!inline2) {
|
|
increaseIndentation();
|
|
}
|
|
forEach(argument, function (value) {
|
|
isEmpty = false;
|
|
if (inline2) {
|
|
options.__inline2__ = false;
|
|
}
|
|
result.push((compact || inline2 ? '' : indent) + jsesc(value, options));
|
|
});
|
|
if (isEmpty) {
|
|
return '[]';
|
|
}
|
|
if (inline2) {
|
|
return '[' + result.join(', ') + ']';
|
|
}
|
|
return '[' + newLine + result.join(',' + newLine) + newLine + (compact ? '' : oldIndent) + ']';
|
|
} else if (isNumber(argument)) {
|
|
if (json) {
|
|
return JSON.stringify(argument);
|
|
}
|
|
if (useDecNumbers) {
|
|
return String(argument);
|
|
}
|
|
if (useHexNumbers) {
|
|
var _hexadecimal = argument.toString(16);
|
|
if (!lowercaseHex) {
|
|
_hexadecimal = _hexadecimal.toUpperCase();
|
|
}
|
|
return '0x' + _hexadecimal;
|
|
}
|
|
if (useBinNumbers) {
|
|
return '0b' + argument.toString(2);
|
|
}
|
|
if (useOctNumbers) {
|
|
return '0o' + argument.toString(8);
|
|
}
|
|
} else if (!isObject(argument)) {
|
|
if (json) {
|
|
return JSON.stringify(argument) || 'null';
|
|
}
|
|
return String(argument);
|
|
} else {
|
|
result = [];
|
|
options.wrap = true;
|
|
increaseIndentation();
|
|
forOwn(argument, function (key, value) {
|
|
isEmpty = false;
|
|
result.push((compact ? '' : indent) + jsesc(key, options) + ':' + (compact ? '' : ' ') + jsesc(value, options));
|
|
});
|
|
if (isEmpty) {
|
|
return '{}';
|
|
}
|
|
return '{' + newLine + result.join(',' + newLine) + newLine + (compact ? '' : oldIndent) + '}';
|
|
}
|
|
}
|
|
var regex = options.escapeEverything ? escapeEverythingRegex : escapeNonAsciiRegex;
|
|
result = argument.replace(regex, function (_char, pair, lone, quoteChar, index, string) {
|
|
if (pair) {
|
|
if (options.minimal) return pair;
|
|
var first = pair.charCodeAt(0);
|
|
var second = pair.charCodeAt(1);
|
|
if (options.es6) {
|
|
var codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
|
|
var _hex = hexadecimal(codePoint, lowercaseHex);
|
|
return "\\u{" + _hex + '}';
|
|
}
|
|
return fourHexEscape(hexadecimal(first, lowercaseHex)) + fourHexEscape(hexadecimal(second, lowercaseHex));
|
|
}
|
|
if (lone) {
|
|
return fourHexEscape(hexadecimal(lone.charCodeAt(0), lowercaseHex));
|
|
}
|
|
if (_char == '\0' && !json && !regexDigit.test(string.charAt(index + 1))) {
|
|
return '\\0';
|
|
}
|
|
if (quoteChar) {
|
|
if (quoteChar == quote || options.escapeEverything) {
|
|
return '\\' + quoteChar;
|
|
}
|
|
return quoteChar;
|
|
}
|
|
if (regexSingleEscape.test(_char)) {
|
|
return singleEscapes[_char];
|
|
}
|
|
if (options.minimal && !regexWhitespace.test(_char)) {
|
|
return _char;
|
|
}
|
|
var hex = hexadecimal(_char.charCodeAt(0), lowercaseHex);
|
|
if (json || hex.length > 2) {
|
|
return fourHexEscape(hex);
|
|
}
|
|
return '\\x' + ('00' + hex).slice(-2);
|
|
});
|
|
if (quote == '`') {
|
|
result = result.replace(/\$\{/g, '\\${');
|
|
}
|
|
if (options.isScriptContext) {
|
|
result = result.replace(/<\/(script|style)/gi, '<\\/$1').replace(/<!--/g, json ? "\\u003C!--" : '\\x3C!--');
|
|
}
|
|
if (options.wrap) {
|
|
result = quote + result + quote;
|
|
}
|
|
return result;
|
|
};
|
|
jsesc.version = '3.0.2';
|
|
jsesc_1$1 = jsesc;
|
|
return jsesc_1$1;
|
|
}
|
|
|
|
var jsesc_1;
|
|
var hasRequiredJsesc;
|
|
function requireJsesc() {
|
|
if (hasRequiredJsesc) return jsesc_1;
|
|
hasRequiredJsesc = 1;
|
|
var object = {};
|
|
var hasOwnProperty = object.hasOwnProperty;
|
|
var forOwn = function forOwn(object, callback) {
|
|
for (var key in object) {
|
|
if (hasOwnProperty.call(object, key)) {
|
|
callback(key, object[key]);
|
|
}
|
|
}
|
|
};
|
|
var extend = function extend(destination, source) {
|
|
if (!source) {
|
|
return destination;
|
|
}
|
|
forOwn(source, function (key, value) {
|
|
destination[key] = value;
|
|
});
|
|
return destination;
|
|
};
|
|
var forEach = function forEach(array, callback) {
|
|
var length = array.length;
|
|
var index = -1;
|
|
while (++index < length) {
|
|
callback(array[index]);
|
|
}
|
|
};
|
|
var toString = object.toString;
|
|
var isArray = Array.isArray;
|
|
var isBuffer = Buffer$1.isBuffer;
|
|
var isObject = function isObject(value) {
|
|
return toString.call(value) == '[object Object]';
|
|
};
|
|
var isString = function isString(value) {
|
|
return typeof value == 'string' || toString.call(value) == '[object String]';
|
|
};
|
|
var isNumber = function isNumber(value) {
|
|
return typeof value == 'number' || toString.call(value) == '[object Number]';
|
|
};
|
|
var isFunction = function isFunction(value) {
|
|
return typeof value == 'function';
|
|
};
|
|
var isMap = function isMap(value) {
|
|
return toString.call(value) == '[object Map]';
|
|
};
|
|
var isSet = function isSet(value) {
|
|
return toString.call(value) == '[object Set]';
|
|
};
|
|
var singleEscapes = {
|
|
'"': '\\"',
|
|
'\'': '\\\'',
|
|
'\\': '\\\\',
|
|
'\b': '\\b',
|
|
'\f': '\\f',
|
|
'\n': '\\n',
|
|
'\r': '\\r',
|
|
'\t': '\\t'
|
|
};
|
|
var regexSingleEscape = /["'\\\b\f\n\r\t]/;
|
|
var regexDigit = /[0-9]/;
|
|
var regexWhitelist = /[ !#-&\(-\[\]-_a-~]/;
|
|
var jsesc = function jsesc(argument, options) {
|
|
var increaseIndentation = function increaseIndentation() {
|
|
oldIndent = indent;
|
|
++options.indentLevel;
|
|
indent = options.indent.repeat(options.indentLevel);
|
|
};
|
|
var defaults = {
|
|
'escapeEverything': false,
|
|
'minimal': false,
|
|
'isScriptContext': false,
|
|
'quotes': 'single',
|
|
'wrap': false,
|
|
'es6': false,
|
|
'json': false,
|
|
'compact': true,
|
|
'lowercaseHex': false,
|
|
'numbers': 'decimal',
|
|
'indent': '\t',
|
|
'indentLevel': 0,
|
|
'__inline1__': false,
|
|
'__inline2__': false
|
|
};
|
|
var json = options && options.json;
|
|
if (json) {
|
|
defaults.quotes = 'double';
|
|
defaults.wrap = true;
|
|
}
|
|
options = extend(defaults, options);
|
|
if (options.quotes != 'single' && options.quotes != 'double' && options.quotes != 'backtick') {
|
|
options.quotes = 'single';
|
|
}
|
|
var quote = options.quotes == 'double' ? '"' : options.quotes == 'backtick' ? '`' : '\'';
|
|
var compact = options.compact;
|
|
var lowercaseHex = options.lowercaseHex;
|
|
var indent = options.indent.repeat(options.indentLevel);
|
|
var oldIndent = '';
|
|
var inline1 = options.__inline1__;
|
|
var inline2 = options.__inline2__;
|
|
var newLine = compact ? '' : '\n';
|
|
var result;
|
|
var isEmpty = true;
|
|
var useBinNumbers = options.numbers == 'binary';
|
|
var useOctNumbers = options.numbers == 'octal';
|
|
var useDecNumbers = options.numbers == 'decimal';
|
|
var useHexNumbers = options.numbers == 'hexadecimal';
|
|
if (json && argument && isFunction(argument.toJSON)) {
|
|
argument = argument.toJSON();
|
|
}
|
|
if (!isString(argument)) {
|
|
if (isMap(argument)) {
|
|
if (argument.size == 0) {
|
|
return 'new Map()';
|
|
}
|
|
if (!compact) {
|
|
options.__inline1__ = true;
|
|
options.__inline2__ = false;
|
|
}
|
|
return 'new Map(' + jsesc(Array.from(argument), options) + ')';
|
|
}
|
|
if (isSet(argument)) {
|
|
if (argument.size == 0) {
|
|
return 'new Set()';
|
|
}
|
|
return 'new Set(' + jsesc(Array.from(argument), options) + ')';
|
|
}
|
|
if (isBuffer(argument)) {
|
|
if (argument.length == 0) {
|
|
return 'Buffer.from([])';
|
|
}
|
|
return 'Buffer.from(' + jsesc(Array.from(argument), options) + ')';
|
|
}
|
|
if (isArray(argument)) {
|
|
result = [];
|
|
options.wrap = true;
|
|
if (inline1) {
|
|
options.__inline1__ = false;
|
|
options.__inline2__ = true;
|
|
}
|
|
if (!inline2) {
|
|
increaseIndentation();
|
|
}
|
|
forEach(argument, function (value) {
|
|
isEmpty = false;
|
|
if (inline2) {
|
|
options.__inline2__ = false;
|
|
}
|
|
result.push((compact || inline2 ? '' : indent) + jsesc(value, options));
|
|
});
|
|
if (isEmpty) {
|
|
return '[]';
|
|
}
|
|
if (inline2) {
|
|
return '[' + result.join(', ') + ']';
|
|
}
|
|
return '[' + newLine + result.join(',' + newLine) + newLine + (compact ? '' : oldIndent) + ']';
|
|
} else if (isNumber(argument)) {
|
|
if (json) {
|
|
return JSON.stringify(argument);
|
|
}
|
|
if (useDecNumbers) {
|
|
return String(argument);
|
|
}
|
|
if (useHexNumbers) {
|
|
var hexadecimal = argument.toString(16);
|
|
if (!lowercaseHex) {
|
|
hexadecimal = hexadecimal.toUpperCase();
|
|
}
|
|
return '0x' + hexadecimal;
|
|
}
|
|
if (useBinNumbers) {
|
|
return '0b' + argument.toString(2);
|
|
}
|
|
if (useOctNumbers) {
|
|
return '0o' + argument.toString(8);
|
|
}
|
|
} else if (!isObject(argument)) {
|
|
if (json) {
|
|
return JSON.stringify(argument) || 'null';
|
|
}
|
|
return String(argument);
|
|
} else {
|
|
result = [];
|
|
options.wrap = true;
|
|
increaseIndentation();
|
|
forOwn(argument, function (key, value) {
|
|
isEmpty = false;
|
|
result.push((compact ? '' : indent) + jsesc(key, options) + ':' + (compact ? '' : ' ') + jsesc(value, options));
|
|
});
|
|
if (isEmpty) {
|
|
return '{}';
|
|
}
|
|
return '{' + newLine + result.join(',' + newLine) + newLine + (compact ? '' : oldIndent) + '}';
|
|
}
|
|
}
|
|
var string = argument;
|
|
var index = -1;
|
|
var length = string.length;
|
|
result = '';
|
|
while (++index < length) {
|
|
var character = string.charAt(index);
|
|
if (options.es6) {
|
|
var first = string.charCodeAt(index);
|
|
if (first >= 0xD800 && first <= 0xDBFF && length > index + 1) {
|
|
var second = string.charCodeAt(index + 1);
|
|
if (second >= 0xDC00 && second <= 0xDFFF) {
|
|
var codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
|
|
var _hexadecimal = codePoint.toString(16);
|
|
if (!lowercaseHex) {
|
|
_hexadecimal = _hexadecimal.toUpperCase();
|
|
}
|
|
result += "\\u{" + _hexadecimal + '}';
|
|
++index;
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
if (!options.escapeEverything) {
|
|
if (regexWhitelist.test(character)) {
|
|
result += character;
|
|
continue;
|
|
}
|
|
if (character == '"') {
|
|
result += quote == character ? '\\"' : character;
|
|
continue;
|
|
}
|
|
if (character == '`') {
|
|
result += quote == character ? '\\`' : character;
|
|
continue;
|
|
}
|
|
if (character == '\'') {
|
|
result += quote == character ? '\\\'' : character;
|
|
continue;
|
|
}
|
|
}
|
|
if (character == '\0' && !json && !regexDigit.test(string.charAt(index + 1))) {
|
|
result += '\\0';
|
|
continue;
|
|
}
|
|
if (regexSingleEscape.test(character)) {
|
|
result += singleEscapes[character];
|
|
continue;
|
|
}
|
|
var charCode = character.charCodeAt(0);
|
|
if (options.minimal && charCode != 0x2028 && charCode != 0x2029) {
|
|
result += character;
|
|
continue;
|
|
}
|
|
var _hexadecimal2 = charCode.toString(16);
|
|
if (!lowercaseHex) {
|
|
_hexadecimal2 = _hexadecimal2.toUpperCase();
|
|
}
|
|
var longhand = _hexadecimal2.length > 2 || json;
|
|
var escaped = '\\' + (longhand ? 'u' : 'x') + ('0000' + _hexadecimal2).slice(longhand ? -4 : -2);
|
|
result += escaped;
|
|
continue;
|
|
}
|
|
if (options.wrap) {
|
|
result = quote + result + quote;
|
|
}
|
|
if (quote == '`') {
|
|
result = result.replace(/\$\{/g, '\\\$\{');
|
|
}
|
|
if (options.isScriptContext) {
|
|
return result.replace(/<\/(script|style)/gi, '<\\/$1').replace(/<!--/g, json ? "\\u003C!--" : '\\x3C!--');
|
|
}
|
|
return result;
|
|
};
|
|
jsesc.version = '2.5.2';
|
|
jsesc_1 = jsesc;
|
|
return jsesc_1;
|
|
}
|
|
|
|
function bool$8(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var jsesc = bool$8(browser$1$1.env["BABEL_8_BREAKING"]) ? requireJsesc$1() : requireJsesc();
|
|
|
|
var isAssignmentPattern$4 = isAssignmentPattern$5,
|
|
isIdentifier$f = isIdentifier$j;
|
|
function Identifier(node) {
|
|
var _node$loc;
|
|
this.sourceIdentifierName(((_node$loc = node.loc) == null ? void 0 : _node$loc.identifierName) || node.name);
|
|
this.word(node.name);
|
|
}
|
|
function ArgumentPlaceholder() {
|
|
this.tokenChar(63);
|
|
}
|
|
function RestElement$1(node) {
|
|
this.token("...");
|
|
this.print(node.argument, node);
|
|
}
|
|
function ObjectExpression$1(node) {
|
|
var props = node.properties;
|
|
this.tokenChar(123);
|
|
if (props.length) {
|
|
this.space();
|
|
this.printList(props, node, {
|
|
indent: true,
|
|
statement: true
|
|
});
|
|
this.space();
|
|
}
|
|
this.sourceWithOffset("end", node.loc, 0, -1);
|
|
this.tokenChar(125);
|
|
}
|
|
function ObjectMethod(node) {
|
|
this.printJoin(node.decorators, node);
|
|
this._methodHead(node);
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function ObjectProperty(node) {
|
|
this.printJoin(node.decorators, node);
|
|
if (node.computed) {
|
|
this.tokenChar(91);
|
|
this.print(node.key, node);
|
|
this.tokenChar(93);
|
|
} else {
|
|
if (isAssignmentPattern$4(node.value) && isIdentifier$f(node.key) && node.key.name === node.value.left.name) {
|
|
this.print(node.value, node);
|
|
return;
|
|
}
|
|
this.print(node.key, node);
|
|
if (node.shorthand && isIdentifier$f(node.key) && isIdentifier$f(node.value) && node.key.name === node.value.name) {
|
|
return;
|
|
}
|
|
}
|
|
this.tokenChar(58);
|
|
this.space();
|
|
this.print(node.value, node);
|
|
}
|
|
function ArrayExpression$1(node) {
|
|
var elems = node.elements;
|
|
var len = elems.length;
|
|
this.tokenChar(91);
|
|
for (var i = 0; i < elems.length; i++) {
|
|
var elem = elems[i];
|
|
if (elem) {
|
|
if (i > 0) this.space();
|
|
this.print(elem, node);
|
|
if (i < len - 1) this.tokenChar(44);
|
|
} else {
|
|
this.tokenChar(44);
|
|
}
|
|
}
|
|
this.tokenChar(93);
|
|
}
|
|
function RecordExpression(node) {
|
|
var props = node.properties;
|
|
var startToken;
|
|
var endToken;
|
|
if (this.format.recordAndTupleSyntaxType === "bar") {
|
|
startToken = "{|";
|
|
endToken = "|}";
|
|
} else if (this.format.recordAndTupleSyntaxType !== "hash" && this.format.recordAndTupleSyntaxType != null) {
|
|
throw new Error("The \"recordAndTupleSyntaxType\" generator option must be \"bar\" or \"hash\" (" + JSON.stringify(this.format.recordAndTupleSyntaxType) + " received).");
|
|
} else {
|
|
startToken = "#{";
|
|
endToken = "}";
|
|
}
|
|
this.token(startToken);
|
|
if (props.length) {
|
|
this.space();
|
|
this.printList(props, node, {
|
|
indent: true,
|
|
statement: true
|
|
});
|
|
this.space();
|
|
}
|
|
this.token(endToken);
|
|
}
|
|
function TupleExpression(node) {
|
|
var elems = node.elements;
|
|
var len = elems.length;
|
|
var startToken;
|
|
var endToken;
|
|
if (this.format.recordAndTupleSyntaxType === "bar") {
|
|
startToken = "[|";
|
|
endToken = "|]";
|
|
} else if (this.format.recordAndTupleSyntaxType === "hash") {
|
|
startToken = "#[";
|
|
endToken = "]";
|
|
} else {
|
|
throw new Error(this.format.recordAndTupleSyntaxType + " is not a valid recordAndTuple syntax type");
|
|
}
|
|
this.token(startToken);
|
|
for (var i = 0; i < elems.length; i++) {
|
|
var elem = elems[i];
|
|
if (elem) {
|
|
if (i > 0) this.space();
|
|
this.print(elem, node);
|
|
if (i < len - 1) this.tokenChar(44);
|
|
}
|
|
}
|
|
this.token(endToken);
|
|
}
|
|
function RegExpLiteral$1(node) {
|
|
this.word("/" + node.pattern + "/" + node.flags);
|
|
}
|
|
function BooleanLiteral$1(node) {
|
|
this.word(node.value ? "true" : "false");
|
|
}
|
|
function NullLiteral$1() {
|
|
this.word("null");
|
|
}
|
|
function NumericLiteral$1(node) {
|
|
var raw = this.getPossibleRaw(node);
|
|
var opts = this.format.jsescOption;
|
|
var value = node.value + "";
|
|
if (opts.numbers) {
|
|
this.number(jsesc(node.value, opts));
|
|
} else if (raw == null) {
|
|
this.number(value);
|
|
} else if (this.format.minified) {
|
|
this.number(raw.length < value.length ? raw : value);
|
|
} else {
|
|
this.number(raw);
|
|
}
|
|
}
|
|
function StringLiteral$1(node) {
|
|
var raw = this.getPossibleRaw(node);
|
|
if (!this.format.minified && raw !== undefined) {
|
|
this.token(raw);
|
|
return;
|
|
}
|
|
var val = jsesc(node.value, this.format.jsescOption);
|
|
this.token(val);
|
|
}
|
|
function BigIntLiteral(node) {
|
|
var raw = this.getPossibleRaw(node);
|
|
if (!this.format.minified && raw !== undefined) {
|
|
this.word(raw);
|
|
return;
|
|
}
|
|
this.word(node.value + "n");
|
|
}
|
|
function DecimalLiteral(node) {
|
|
var raw = this.getPossibleRaw(node);
|
|
if (!this.format.minified && raw !== undefined) {
|
|
this.word(raw);
|
|
return;
|
|
}
|
|
this.word(node.value + "m");
|
|
}
|
|
var validTopicTokenSet = new Set(["^^", "@@", "^", "%", "#"]);
|
|
function TopicReference() {
|
|
var topicToken = this.format.topicToken;
|
|
if (validTopicTokenSet.has(topicToken)) {
|
|
this.token(topicToken);
|
|
} else {
|
|
var givenTopicTokenJSON = JSON.stringify(topicToken);
|
|
var validTopics = Array.from(validTopicTokenSet, function (v) {
|
|
return JSON.stringify(v);
|
|
});
|
|
throw new Error("The \"topicToken\" generator option must be one of " + (validTopics.join(", ") + " (" + givenTopicTokenJSON + " received instead)."));
|
|
}
|
|
}
|
|
function PipelineTopicExpression(node) {
|
|
this.print(node.expression, node);
|
|
}
|
|
function PipelineBareFunction(node) {
|
|
this.print(node.callee, node);
|
|
}
|
|
function PipelinePrimaryTopicReference() {
|
|
this.tokenChar(35);
|
|
}
|
|
|
|
var isDeclareExportDeclaration = isDeclareExportDeclaration$1,
|
|
isStatement$5 = isStatement$8;
|
|
function AnyTypeAnnotation() {
|
|
this.word("any");
|
|
}
|
|
function ArrayTypeAnnotation(node) {
|
|
this.print(node.elementType, node, true);
|
|
this.tokenChar(91);
|
|
this.tokenChar(93);
|
|
}
|
|
function BooleanTypeAnnotation() {
|
|
this.word("boolean");
|
|
}
|
|
function BooleanLiteralTypeAnnotation(node) {
|
|
this.word(node.value ? "true" : "false");
|
|
}
|
|
function NullLiteralTypeAnnotation() {
|
|
this.word("null");
|
|
}
|
|
function DeclareClass(node, parent) {
|
|
if (!isDeclareExportDeclaration(parent)) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
this.word("class");
|
|
this.space();
|
|
this._interfaceish(node);
|
|
}
|
|
function DeclareFunction(node, parent) {
|
|
if (!isDeclareExportDeclaration(parent)) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
this.word("function");
|
|
this.space();
|
|
this.print(node.id, node);
|
|
this.print(node.id.typeAnnotation.typeAnnotation, node);
|
|
if (node.predicate) {
|
|
this.space();
|
|
this.print(node.predicate, node);
|
|
}
|
|
this.semicolon();
|
|
}
|
|
function InferredPredicate() {
|
|
this.tokenChar(37);
|
|
this.word("checks");
|
|
}
|
|
function DeclaredPredicate(node) {
|
|
this.tokenChar(37);
|
|
this.word("checks");
|
|
this.tokenChar(40);
|
|
this.print(node.value, node);
|
|
this.tokenChar(41);
|
|
}
|
|
function DeclareInterface(node) {
|
|
this.word("declare");
|
|
this.space();
|
|
this.InterfaceDeclaration(node);
|
|
}
|
|
function DeclareModule(node) {
|
|
this.word("declare");
|
|
this.space();
|
|
this.word("module");
|
|
this.space();
|
|
this.print(node.id, node);
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function DeclareModuleExports(node) {
|
|
this.word("declare");
|
|
this.space();
|
|
this.word("module");
|
|
this.tokenChar(46);
|
|
this.word("exports");
|
|
this.print(node.typeAnnotation, node);
|
|
}
|
|
function DeclareTypeAlias(node) {
|
|
this.word("declare");
|
|
this.space();
|
|
this.TypeAlias(node);
|
|
}
|
|
function DeclareOpaqueType(node, parent) {
|
|
if (!isDeclareExportDeclaration(parent)) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
this.OpaqueType(node);
|
|
}
|
|
function DeclareVariable(node, parent) {
|
|
if (!isDeclareExportDeclaration(parent)) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
this.word("var");
|
|
this.space();
|
|
this.print(node.id, node);
|
|
this.print(node.id.typeAnnotation, node);
|
|
this.semicolon();
|
|
}
|
|
function DeclareExportDeclaration(node) {
|
|
this.word("declare");
|
|
this.space();
|
|
this.word("export");
|
|
this.space();
|
|
if (node["default"]) {
|
|
this.word("default");
|
|
this.space();
|
|
}
|
|
FlowExportDeclaration.call(this, node);
|
|
}
|
|
function DeclareExportAllDeclaration(node) {
|
|
this.word("declare");
|
|
this.space();
|
|
ExportAllDeclaration.call(this, node);
|
|
}
|
|
function EnumDeclaration(node) {
|
|
var id = node.id,
|
|
body = node.body;
|
|
this.word("enum");
|
|
this.space();
|
|
this.print(id, node);
|
|
this.print(body, node);
|
|
}
|
|
function enumExplicitType(context, name, hasExplicitType) {
|
|
if (hasExplicitType) {
|
|
context.space();
|
|
context.word("of");
|
|
context.space();
|
|
context.word(name);
|
|
}
|
|
context.space();
|
|
}
|
|
function enumBody(context, node) {
|
|
var members = node.members;
|
|
context.token("{");
|
|
context.indent();
|
|
context.newline();
|
|
for (var _iterator = _createForOfIteratorHelperLoose(members), _step; !(_step = _iterator()).done;) {
|
|
var member = _step.value;
|
|
context.print(member, node);
|
|
context.newline();
|
|
}
|
|
if (node.hasUnknownMembers) {
|
|
context.token("...");
|
|
context.newline();
|
|
}
|
|
context.dedent();
|
|
context.token("}");
|
|
}
|
|
function EnumBooleanBody(node) {
|
|
var explicitType = node.explicitType;
|
|
enumExplicitType(this, "boolean", explicitType);
|
|
enumBody(this, node);
|
|
}
|
|
function EnumNumberBody(node) {
|
|
var explicitType = node.explicitType;
|
|
enumExplicitType(this, "number", explicitType);
|
|
enumBody(this, node);
|
|
}
|
|
function EnumStringBody(node) {
|
|
var explicitType = node.explicitType;
|
|
enumExplicitType(this, "string", explicitType);
|
|
enumBody(this, node);
|
|
}
|
|
function EnumSymbolBody(node) {
|
|
enumExplicitType(this, "symbol", true);
|
|
enumBody(this, node);
|
|
}
|
|
function EnumDefaultedMember(node) {
|
|
var id = node.id;
|
|
this.print(id, node);
|
|
this.tokenChar(44);
|
|
}
|
|
function enumInitializedMember(context, node) {
|
|
var id = node.id,
|
|
init = node.init;
|
|
context.print(id, node);
|
|
context.space();
|
|
context.token("=");
|
|
context.space();
|
|
context.print(init, node);
|
|
context.token(",");
|
|
}
|
|
function EnumBooleanMember(node) {
|
|
enumInitializedMember(this, node);
|
|
}
|
|
function EnumNumberMember(node) {
|
|
enumInitializedMember(this, node);
|
|
}
|
|
function EnumStringMember(node) {
|
|
enumInitializedMember(this, node);
|
|
}
|
|
function FlowExportDeclaration(node) {
|
|
if (node.declaration) {
|
|
var declar = node.declaration;
|
|
this.print(declar, node);
|
|
if (!isStatement$5(declar)) this.semicolon();
|
|
} else {
|
|
this.tokenChar(123);
|
|
if (node.specifiers.length) {
|
|
this.space();
|
|
this.printList(node.specifiers, node);
|
|
this.space();
|
|
}
|
|
this.tokenChar(125);
|
|
if (node.source) {
|
|
this.space();
|
|
this.word("from");
|
|
this.space();
|
|
this.print(node.source, node);
|
|
}
|
|
this.semicolon();
|
|
}
|
|
}
|
|
function ExistsTypeAnnotation() {
|
|
this.tokenChar(42);
|
|
}
|
|
function FunctionTypeAnnotation(node, parent) {
|
|
this.print(node.typeParameters, node);
|
|
this.tokenChar(40);
|
|
if (node["this"]) {
|
|
this.word("this");
|
|
this.tokenChar(58);
|
|
this.space();
|
|
this.print(node["this"].typeAnnotation, node);
|
|
if (node.params.length || node.rest) {
|
|
this.tokenChar(44);
|
|
this.space();
|
|
}
|
|
}
|
|
this.printList(node.params, node);
|
|
if (node.rest) {
|
|
if (node.params.length) {
|
|
this.tokenChar(44);
|
|
this.space();
|
|
}
|
|
this.token("...");
|
|
this.print(node.rest, node);
|
|
}
|
|
this.tokenChar(41);
|
|
var type = parent == null ? void 0 : parent.type;
|
|
if (type != null && (type === "ObjectTypeCallProperty" || type === "ObjectTypeInternalSlot" || type === "DeclareFunction" || type === "ObjectTypeProperty" && parent.method)) {
|
|
this.tokenChar(58);
|
|
} else {
|
|
this.space();
|
|
this.token("=>");
|
|
}
|
|
this.space();
|
|
this.print(node.returnType, node);
|
|
}
|
|
function FunctionTypeParam(node) {
|
|
this.print(node.name, node);
|
|
if (node.optional) this.tokenChar(63);
|
|
if (node.name) {
|
|
this.tokenChar(58);
|
|
this.space();
|
|
}
|
|
this.print(node.typeAnnotation, node);
|
|
}
|
|
function InterfaceExtends(node) {
|
|
this.print(node.id, node);
|
|
this.print(node.typeParameters, node, true);
|
|
}
|
|
function _interfaceish(node) {
|
|
var _node$extends;
|
|
this.print(node.id, node);
|
|
this.print(node.typeParameters, node);
|
|
if ((_node$extends = node["extends"]) != null && _node$extends.length) {
|
|
this.space();
|
|
this.word("extends");
|
|
this.space();
|
|
this.printList(node["extends"], node);
|
|
}
|
|
if (node.type === "DeclareClass") {
|
|
var _node$mixins, _node$implements;
|
|
if ((_node$mixins = node.mixins) != null && _node$mixins.length) {
|
|
this.space();
|
|
this.word("mixins");
|
|
this.space();
|
|
this.printList(node.mixins, node);
|
|
}
|
|
if ((_node$implements = node["implements"]) != null && _node$implements.length) {
|
|
this.space();
|
|
this.word("implements");
|
|
this.space();
|
|
this.printList(node["implements"], node);
|
|
}
|
|
}
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function _variance(node) {
|
|
var _node$variance;
|
|
var kind = (_node$variance = node.variance) == null ? void 0 : _node$variance.kind;
|
|
if (kind != null) {
|
|
if (kind === "plus") {
|
|
this.tokenChar(43);
|
|
} else if (kind === "minus") {
|
|
this.tokenChar(45);
|
|
}
|
|
}
|
|
}
|
|
function InterfaceDeclaration(node) {
|
|
this.word("interface");
|
|
this.space();
|
|
this._interfaceish(node);
|
|
}
|
|
function andSeparator() {
|
|
this.space();
|
|
this.tokenChar(38);
|
|
this.space();
|
|
}
|
|
function InterfaceTypeAnnotation(node) {
|
|
var _node$extends2;
|
|
this.word("interface");
|
|
if ((_node$extends2 = node["extends"]) != null && _node$extends2.length) {
|
|
this.space();
|
|
this.word("extends");
|
|
this.space();
|
|
this.printList(node["extends"], node);
|
|
}
|
|
this.space();
|
|
this.print(node.body, node);
|
|
}
|
|
function IntersectionTypeAnnotation(node) {
|
|
this.printJoin(node.types, node, {
|
|
separator: andSeparator
|
|
});
|
|
}
|
|
function MixedTypeAnnotation() {
|
|
this.word("mixed");
|
|
}
|
|
function EmptyTypeAnnotation() {
|
|
this.word("empty");
|
|
}
|
|
function NullableTypeAnnotation(node) {
|
|
this.tokenChar(63);
|
|
this.print(node.typeAnnotation, node);
|
|
}
|
|
function NumberTypeAnnotation() {
|
|
this.word("number");
|
|
}
|
|
function StringTypeAnnotation() {
|
|
this.word("string");
|
|
}
|
|
function ThisTypeAnnotation() {
|
|
this.word("this");
|
|
}
|
|
function TupleTypeAnnotation(node) {
|
|
this.tokenChar(91);
|
|
this.printList(node.types, node);
|
|
this.tokenChar(93);
|
|
}
|
|
function TypeofTypeAnnotation(node) {
|
|
this.word("typeof");
|
|
this.space();
|
|
this.print(node.argument, node);
|
|
}
|
|
function TypeAlias(node) {
|
|
this.word("type");
|
|
this.space();
|
|
this.print(node.id, node);
|
|
this.print(node.typeParameters, node);
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(node.right, node);
|
|
this.semicolon();
|
|
}
|
|
function TypeAnnotation(node) {
|
|
this.tokenChar(58);
|
|
this.space();
|
|
if (node.optional) this.tokenChar(63);
|
|
this.print(node.typeAnnotation, node);
|
|
}
|
|
function TypeParameterInstantiation(node) {
|
|
this.tokenChar(60);
|
|
this.printList(node.params, node, {});
|
|
this.tokenChar(62);
|
|
}
|
|
function TypeParameter(node) {
|
|
this._variance(node);
|
|
this.word(node.name);
|
|
if (node.bound) {
|
|
this.print(node.bound, node);
|
|
}
|
|
if (node["default"]) {
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(node["default"], node);
|
|
}
|
|
}
|
|
function OpaqueType(node) {
|
|
this.word("opaque");
|
|
this.space();
|
|
this.word("type");
|
|
this.space();
|
|
this.print(node.id, node);
|
|
this.print(node.typeParameters, node);
|
|
if (node.supertype) {
|
|
this.tokenChar(58);
|
|
this.space();
|
|
this.print(node.supertype, node);
|
|
}
|
|
if (node.impltype) {
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(node.impltype, node);
|
|
}
|
|
this.semicolon();
|
|
}
|
|
function ObjectTypeAnnotation(node) {
|
|
var _this = this;
|
|
if (node.exact) {
|
|
this.token("{|");
|
|
} else {
|
|
this.tokenChar(123);
|
|
}
|
|
var props = [].concat(_toConsumableArray(node.properties), _toConsumableArray(node.callProperties || []), _toConsumableArray(node.indexers || []), _toConsumableArray(node.internalSlots || []));
|
|
if (props.length) {
|
|
this.newline();
|
|
this.space();
|
|
this.printJoin(props, node, {
|
|
addNewlines: function addNewlines(leading) {
|
|
if (leading && !props[0]) return 1;
|
|
},
|
|
indent: true,
|
|
statement: true,
|
|
iterator: function iterator() {
|
|
if (props.length !== 1 || node.inexact) {
|
|
_this.token(",");
|
|
_this.space();
|
|
}
|
|
}
|
|
});
|
|
this.space();
|
|
}
|
|
if (node.inexact) {
|
|
this.indent();
|
|
this.token("...");
|
|
if (props.length) {
|
|
this.newline();
|
|
}
|
|
this.dedent();
|
|
}
|
|
if (node.exact) {
|
|
this.token("|}");
|
|
} else {
|
|
this.tokenChar(125);
|
|
}
|
|
}
|
|
function ObjectTypeInternalSlot(node) {
|
|
if (node["static"]) {
|
|
this.word("static");
|
|
this.space();
|
|
}
|
|
this.tokenChar(91);
|
|
this.tokenChar(91);
|
|
this.print(node.id, node);
|
|
this.tokenChar(93);
|
|
this.tokenChar(93);
|
|
if (node.optional) this.tokenChar(63);
|
|
if (!node.method) {
|
|
this.tokenChar(58);
|
|
this.space();
|
|
}
|
|
this.print(node.value, node);
|
|
}
|
|
function ObjectTypeCallProperty(node) {
|
|
if (node["static"]) {
|
|
this.word("static");
|
|
this.space();
|
|
}
|
|
this.print(node.value, node);
|
|
}
|
|
function ObjectTypeIndexer(node) {
|
|
if (node["static"]) {
|
|
this.word("static");
|
|
this.space();
|
|
}
|
|
this._variance(node);
|
|
this.tokenChar(91);
|
|
if (node.id) {
|
|
this.print(node.id, node);
|
|
this.tokenChar(58);
|
|
this.space();
|
|
}
|
|
this.print(node.key, node);
|
|
this.tokenChar(93);
|
|
this.tokenChar(58);
|
|
this.space();
|
|
this.print(node.value, node);
|
|
}
|
|
function ObjectTypeProperty(node) {
|
|
if (node.proto) {
|
|
this.word("proto");
|
|
this.space();
|
|
}
|
|
if (node["static"]) {
|
|
this.word("static");
|
|
this.space();
|
|
}
|
|
if (node.kind === "get" || node.kind === "set") {
|
|
this.word(node.kind);
|
|
this.space();
|
|
}
|
|
this._variance(node);
|
|
this.print(node.key, node);
|
|
if (node.optional) this.tokenChar(63);
|
|
if (!node.method) {
|
|
this.tokenChar(58);
|
|
this.space();
|
|
}
|
|
this.print(node.value, node);
|
|
}
|
|
function ObjectTypeSpreadProperty(node) {
|
|
this.token("...");
|
|
this.print(node.argument, node);
|
|
}
|
|
function QualifiedTypeIdentifier(node) {
|
|
this.print(node.qualification, node);
|
|
this.tokenChar(46);
|
|
this.print(node.id, node);
|
|
}
|
|
function SymbolTypeAnnotation() {
|
|
this.word("symbol");
|
|
}
|
|
function orSeparator() {
|
|
this.space();
|
|
this.tokenChar(124);
|
|
this.space();
|
|
}
|
|
function UnionTypeAnnotation(node) {
|
|
this.printJoin(node.types, node, {
|
|
separator: orSeparator
|
|
});
|
|
}
|
|
function TypeCastExpression$1(node) {
|
|
this.tokenChar(40);
|
|
this.print(node.expression, node);
|
|
this.print(node.typeAnnotation, node);
|
|
this.tokenChar(41);
|
|
}
|
|
function Variance(node) {
|
|
if (node.kind === "plus") {
|
|
this.tokenChar(43);
|
|
} else {
|
|
this.tokenChar(45);
|
|
}
|
|
}
|
|
function VoidTypeAnnotation() {
|
|
this.word("void");
|
|
}
|
|
function IndexedAccessType(node) {
|
|
this.print(node.objectType, node, true);
|
|
this.tokenChar(91);
|
|
this.print(node.indexType, node);
|
|
this.tokenChar(93);
|
|
}
|
|
function OptionalIndexedAccessType(node) {
|
|
this.print(node.objectType, node);
|
|
if (node.optional) {
|
|
this.token("?.");
|
|
}
|
|
this.tokenChar(91);
|
|
this.print(node.indexType, node);
|
|
this.tokenChar(93);
|
|
}
|
|
|
|
function File$1(node) {
|
|
if (node.program) {
|
|
this.print(node.program.interpreter, node);
|
|
}
|
|
this.print(node.program, node);
|
|
}
|
|
function Program(node) {
|
|
var _node$directives;
|
|
this.noIndentInnerCommentsHere();
|
|
this.printInnerComments();
|
|
var directivesLen = (_node$directives = node.directives) == null ? void 0 : _node$directives.length;
|
|
if (directivesLen) {
|
|
var _node$directives$trai;
|
|
var newline = node.body.length ? 2 : 1;
|
|
this.printSequence(node.directives, node, {
|
|
trailingCommentsLineOffset: newline
|
|
});
|
|
if (!((_node$directives$trai = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai.length)) {
|
|
this.newline(newline);
|
|
}
|
|
}
|
|
this.printSequence(node.body, node);
|
|
}
|
|
function BlockStatement(node) {
|
|
var _node$directives2;
|
|
this.tokenChar(123);
|
|
var directivesLen = (_node$directives2 = node.directives) == null ? void 0 : _node$directives2.length;
|
|
if (directivesLen) {
|
|
var _node$directives$trai2;
|
|
var newline = node.body.length ? 2 : 1;
|
|
this.printSequence(node.directives, node, {
|
|
indent: true,
|
|
trailingCommentsLineOffset: newline
|
|
});
|
|
if (!((_node$directives$trai2 = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai2.length)) {
|
|
this.newline(newline);
|
|
}
|
|
}
|
|
this.printSequence(node.body, node, {
|
|
indent: true
|
|
});
|
|
this.rightBrace(node);
|
|
}
|
|
function Directive(node) {
|
|
this.print(node.value, node);
|
|
this.semicolon();
|
|
}
|
|
var unescapedSingleQuoteRE = /(?:^|[^\\])(?:\\\\)*'/;
|
|
var unescapedDoubleQuoteRE = /(?:^|[^\\])(?:\\\\)*"/;
|
|
function DirectiveLiteral(node) {
|
|
var raw = this.getPossibleRaw(node);
|
|
if (!this.format.minified && raw !== undefined) {
|
|
this.token(raw);
|
|
return;
|
|
}
|
|
var value = node.value;
|
|
if (!unescapedDoubleQuoteRE.test(value)) {
|
|
this.token("\"" + value + "\"");
|
|
} else if (!unescapedSingleQuoteRE.test(value)) {
|
|
this.token("'" + value + "'");
|
|
} else {
|
|
throw new Error("Malformed AST: it is not possible to print a directive containing" + " both unescaped single and double quotes.");
|
|
}
|
|
}
|
|
function InterpreterDirective(node) {
|
|
this.token("#!" + node.value);
|
|
this.newline(1, true);
|
|
}
|
|
function Placeholder(node) {
|
|
this.token("%%");
|
|
this.print(node.name);
|
|
this.token("%%");
|
|
if (node.expectedNode === "Statement") {
|
|
this.semicolon();
|
|
}
|
|
}
|
|
|
|
function JSXAttribute(node) {
|
|
this.print(node.name, node);
|
|
if (node.value) {
|
|
this.tokenChar(61);
|
|
this.print(node.value, node);
|
|
}
|
|
}
|
|
function JSXIdentifier(node) {
|
|
this.word(node.name);
|
|
}
|
|
function JSXNamespacedName(node) {
|
|
this.print(node.namespace, node);
|
|
this.tokenChar(58);
|
|
this.print(node.name, node);
|
|
}
|
|
function JSXMemberExpression(node) {
|
|
this.print(node.object, node);
|
|
this.tokenChar(46);
|
|
this.print(node.property, node);
|
|
}
|
|
function JSXSpreadAttribute(node) {
|
|
this.tokenChar(123);
|
|
this.token("...");
|
|
this.print(node.argument, node);
|
|
this.tokenChar(125);
|
|
}
|
|
function JSXExpressionContainer(node) {
|
|
this.tokenChar(123);
|
|
this.print(node.expression, node);
|
|
this.tokenChar(125);
|
|
}
|
|
function JSXSpreadChild(node) {
|
|
this.tokenChar(123);
|
|
this.token("...");
|
|
this.print(node.expression, node);
|
|
this.tokenChar(125);
|
|
}
|
|
function JSXText(node) {
|
|
var raw = this.getPossibleRaw(node);
|
|
if (raw !== undefined) {
|
|
this.token(raw, true);
|
|
} else {
|
|
this.token(node.value, true);
|
|
}
|
|
}
|
|
function JSXElement(node) {
|
|
var open = node.openingElement;
|
|
this.print(open, node);
|
|
if (open.selfClosing) return;
|
|
this.indent();
|
|
for (var _iterator = _createForOfIteratorHelperLoose(node.children), _step; !(_step = _iterator()).done;) {
|
|
var child = _step.value;
|
|
this.print(child, node);
|
|
}
|
|
this.dedent();
|
|
this.print(node.closingElement, node);
|
|
}
|
|
function spaceSeparator() {
|
|
this.space();
|
|
}
|
|
function JSXOpeningElement(node) {
|
|
this.tokenChar(60);
|
|
this.print(node.name, node);
|
|
this.print(node.typeParameters, node);
|
|
if (node.attributes.length > 0) {
|
|
this.space();
|
|
this.printJoin(node.attributes, node, {
|
|
separator: spaceSeparator
|
|
});
|
|
}
|
|
if (node.selfClosing) {
|
|
this.space();
|
|
this.token("/>");
|
|
} else {
|
|
this.tokenChar(62);
|
|
}
|
|
}
|
|
function JSXClosingElement(node) {
|
|
this.token("</");
|
|
this.print(node.name, node);
|
|
this.tokenChar(62);
|
|
}
|
|
function JSXEmptyExpression() {
|
|
this.printInnerComments();
|
|
}
|
|
function JSXFragment(node) {
|
|
this.print(node.openingFragment, node);
|
|
this.indent();
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(node.children), _step2; !(_step2 = _iterator2()).done;) {
|
|
var child = _step2.value;
|
|
this.print(child, node);
|
|
}
|
|
this.dedent();
|
|
this.print(node.closingFragment, node);
|
|
}
|
|
function JSXOpeningFragment() {
|
|
this.tokenChar(60);
|
|
this.tokenChar(62);
|
|
}
|
|
function JSXClosingFragment() {
|
|
this.token("</");
|
|
this.tokenChar(62);
|
|
}
|
|
|
|
function TSTypeAnnotation(node) {
|
|
this.tokenChar(58);
|
|
this.space();
|
|
if (node.optional) this.tokenChar(63);
|
|
this.print(node.typeAnnotation, node);
|
|
}
|
|
function TSTypeParameterInstantiation(node, parent) {
|
|
this.tokenChar(60);
|
|
this.printList(node.params, node, {});
|
|
if (parent.type === "ArrowFunctionExpression" && node.params.length === 1) {
|
|
this.tokenChar(44);
|
|
}
|
|
this.tokenChar(62);
|
|
}
|
|
function TSTypeParameter(node) {
|
|
if (node["in"]) {
|
|
this.word("in");
|
|
this.space();
|
|
}
|
|
if (node.out) {
|
|
this.word("out");
|
|
this.space();
|
|
}
|
|
this.word(node.name);
|
|
if (node.constraint) {
|
|
this.space();
|
|
this.word("extends");
|
|
this.space();
|
|
this.print(node.constraint, node);
|
|
}
|
|
if (node["default"]) {
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(node["default"], node);
|
|
}
|
|
}
|
|
function TSParameterProperty(node) {
|
|
if (node.accessibility) {
|
|
this.word(node.accessibility);
|
|
this.space();
|
|
}
|
|
if (node.readonly) {
|
|
this.word("readonly");
|
|
this.space();
|
|
}
|
|
this._param(node.parameter);
|
|
}
|
|
function TSDeclareFunction(node, parent) {
|
|
if (node.declare) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
this._functionHead(node, parent);
|
|
this.tokenChar(59);
|
|
}
|
|
function TSDeclareMethod(node) {
|
|
this._classMethodHead(node);
|
|
this.tokenChar(59);
|
|
}
|
|
function TSQualifiedName(node) {
|
|
this.print(node.left, node);
|
|
this.tokenChar(46);
|
|
this.print(node.right, node);
|
|
}
|
|
function TSCallSignatureDeclaration(node) {
|
|
this.tsPrintSignatureDeclarationBase(node);
|
|
this.tokenChar(59);
|
|
}
|
|
function TSConstructSignatureDeclaration(node) {
|
|
this.word("new");
|
|
this.space();
|
|
this.tsPrintSignatureDeclarationBase(node);
|
|
this.tokenChar(59);
|
|
}
|
|
function TSPropertySignature(node) {
|
|
var readonly = node.readonly,
|
|
initializer = node.initializer;
|
|
if (readonly) {
|
|
this.word("readonly");
|
|
this.space();
|
|
}
|
|
this.tsPrintPropertyOrMethodName(node);
|
|
this.print(node.typeAnnotation, node);
|
|
if (initializer) {
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(initializer, node);
|
|
}
|
|
this.tokenChar(59);
|
|
}
|
|
function tsPrintPropertyOrMethodName(node) {
|
|
if (node.computed) {
|
|
this.tokenChar(91);
|
|
}
|
|
this.print(node.key, node);
|
|
if (node.computed) {
|
|
this.tokenChar(93);
|
|
}
|
|
if (node.optional) {
|
|
this.tokenChar(63);
|
|
}
|
|
}
|
|
function TSMethodSignature(node) {
|
|
var kind = node.kind;
|
|
if (kind === "set" || kind === "get") {
|
|
this.word(kind);
|
|
this.space();
|
|
}
|
|
this.tsPrintPropertyOrMethodName(node);
|
|
this.tsPrintSignatureDeclarationBase(node);
|
|
this.tokenChar(59);
|
|
}
|
|
function TSIndexSignature(node) {
|
|
var readonly = node.readonly,
|
|
isStatic = node["static"];
|
|
if (isStatic) {
|
|
this.word("static");
|
|
this.space();
|
|
}
|
|
if (readonly) {
|
|
this.word("readonly");
|
|
this.space();
|
|
}
|
|
this.tokenChar(91);
|
|
this._parameters(node.parameters, node);
|
|
this.tokenChar(93);
|
|
this.print(node.typeAnnotation, node);
|
|
this.tokenChar(59);
|
|
}
|
|
function TSAnyKeyword() {
|
|
this.word("any");
|
|
}
|
|
function TSBigIntKeyword() {
|
|
this.word("bigint");
|
|
}
|
|
function TSUnknownKeyword() {
|
|
this.word("unknown");
|
|
}
|
|
function TSNumberKeyword() {
|
|
this.word("number");
|
|
}
|
|
function TSObjectKeyword() {
|
|
this.word("object");
|
|
}
|
|
function TSBooleanKeyword() {
|
|
this.word("boolean");
|
|
}
|
|
function TSStringKeyword() {
|
|
this.word("string");
|
|
}
|
|
function TSSymbolKeyword() {
|
|
this.word("symbol");
|
|
}
|
|
function TSVoidKeyword() {
|
|
this.word("void");
|
|
}
|
|
function TSUndefinedKeyword() {
|
|
this.word("undefined");
|
|
}
|
|
function TSNullKeyword() {
|
|
this.word("null");
|
|
}
|
|
function TSNeverKeyword() {
|
|
this.word("never");
|
|
}
|
|
function TSIntrinsicKeyword() {
|
|
this.word("intrinsic");
|
|
}
|
|
function TSThisType() {
|
|
this.word("this");
|
|
}
|
|
function TSFunctionType(node) {
|
|
this.tsPrintFunctionOrConstructorType(node);
|
|
}
|
|
function TSConstructorType(node) {
|
|
if (node["abstract"]) {
|
|
this.word("abstract");
|
|
this.space();
|
|
}
|
|
this.word("new");
|
|
this.space();
|
|
this.tsPrintFunctionOrConstructorType(node);
|
|
}
|
|
function tsPrintFunctionOrConstructorType(node) {
|
|
var typeParameters = node.typeParameters;
|
|
var parameters = node.parameters;
|
|
this.print(typeParameters, node);
|
|
this.tokenChar(40);
|
|
this._parameters(parameters, node);
|
|
this.tokenChar(41);
|
|
this.space();
|
|
this.token("=>");
|
|
this.space();
|
|
var returnType = node.typeAnnotation;
|
|
this.print(returnType.typeAnnotation, node);
|
|
}
|
|
function TSTypeReference(node) {
|
|
this.print(node.typeName, node, true);
|
|
this.print(node.typeParameters, node, true);
|
|
}
|
|
function TSTypePredicate(node) {
|
|
if (node.asserts) {
|
|
this.word("asserts");
|
|
this.space();
|
|
}
|
|
this.print(node.parameterName);
|
|
if (node.typeAnnotation) {
|
|
this.space();
|
|
this.word("is");
|
|
this.space();
|
|
this.print(node.typeAnnotation.typeAnnotation);
|
|
}
|
|
}
|
|
function TSTypeQuery(node) {
|
|
this.word("typeof");
|
|
this.space();
|
|
this.print(node.exprName);
|
|
if (node.typeParameters) {
|
|
this.print(node.typeParameters, node);
|
|
}
|
|
}
|
|
function TSTypeLiteral(node) {
|
|
this.tsPrintTypeLiteralOrInterfaceBody(node.members, node);
|
|
}
|
|
function tsPrintTypeLiteralOrInterfaceBody(members, node) {
|
|
tsPrintBraced(this, members, node);
|
|
}
|
|
function tsPrintBraced(printer, members, node) {
|
|
printer.token("{");
|
|
if (members.length) {
|
|
printer.indent();
|
|
printer.newline();
|
|
for (var _iterator = _createForOfIteratorHelperLoose(members), _step; !(_step = _iterator()).done;) {
|
|
var member = _step.value;
|
|
printer.print(member, node);
|
|
printer.newline();
|
|
}
|
|
printer.dedent();
|
|
}
|
|
printer.rightBrace(node);
|
|
}
|
|
function TSArrayType(node) {
|
|
this.print(node.elementType, node, true);
|
|
this.token("[]");
|
|
}
|
|
function TSTupleType(node) {
|
|
this.tokenChar(91);
|
|
this.printList(node.elementTypes, node);
|
|
this.tokenChar(93);
|
|
}
|
|
function TSOptionalType(node) {
|
|
this.print(node.typeAnnotation, node);
|
|
this.tokenChar(63);
|
|
}
|
|
function TSRestType(node) {
|
|
this.token("...");
|
|
this.print(node.typeAnnotation, node);
|
|
}
|
|
function TSNamedTupleMember(node) {
|
|
this.print(node.label, node);
|
|
if (node.optional) this.tokenChar(63);
|
|
this.tokenChar(58);
|
|
this.space();
|
|
this.print(node.elementType, node);
|
|
}
|
|
function TSUnionType(node) {
|
|
tsPrintUnionOrIntersectionType(this, node, "|");
|
|
}
|
|
function TSIntersectionType(node) {
|
|
tsPrintUnionOrIntersectionType(this, node, "&");
|
|
}
|
|
function tsPrintUnionOrIntersectionType(printer, node, sep) {
|
|
printer.printJoin(node.types, node, {
|
|
separator: function separator() {
|
|
this.space();
|
|
this.token(sep);
|
|
this.space();
|
|
}
|
|
});
|
|
}
|
|
function TSConditionalType(node) {
|
|
this.print(node.checkType);
|
|
this.space();
|
|
this.word("extends");
|
|
this.space();
|
|
this.print(node.extendsType);
|
|
this.space();
|
|
this.tokenChar(63);
|
|
this.space();
|
|
this.print(node.trueType);
|
|
this.space();
|
|
this.tokenChar(58);
|
|
this.space();
|
|
this.print(node.falseType);
|
|
}
|
|
function TSInferType(node) {
|
|
this.token("infer");
|
|
this.space();
|
|
this.print(node.typeParameter);
|
|
}
|
|
function TSParenthesizedType(node) {
|
|
this.tokenChar(40);
|
|
this.print(node.typeAnnotation, node);
|
|
this.tokenChar(41);
|
|
}
|
|
function TSTypeOperator(node) {
|
|
this.word(node.operator);
|
|
this.space();
|
|
this.print(node.typeAnnotation, node);
|
|
}
|
|
function TSIndexedAccessType(node) {
|
|
this.print(node.objectType, node, true);
|
|
this.tokenChar(91);
|
|
this.print(node.indexType, node);
|
|
this.tokenChar(93);
|
|
}
|
|
function TSMappedType(node) {
|
|
var nameType = node.nameType,
|
|
optional = node.optional,
|
|
readonly = node.readonly,
|
|
typeParameter = node.typeParameter;
|
|
this.tokenChar(123);
|
|
this.space();
|
|
if (readonly) {
|
|
tokenIfPlusMinus(this, readonly);
|
|
this.word("readonly");
|
|
this.space();
|
|
}
|
|
this.tokenChar(91);
|
|
this.word(typeParameter.name);
|
|
this.space();
|
|
this.word("in");
|
|
this.space();
|
|
this.print(typeParameter.constraint, typeParameter);
|
|
if (nameType) {
|
|
this.space();
|
|
this.word("as");
|
|
this.space();
|
|
this.print(nameType, node);
|
|
}
|
|
this.tokenChar(93);
|
|
if (optional) {
|
|
tokenIfPlusMinus(this, optional);
|
|
this.tokenChar(63);
|
|
}
|
|
this.tokenChar(58);
|
|
this.space();
|
|
this.print(node.typeAnnotation, node);
|
|
this.space();
|
|
this.tokenChar(125);
|
|
}
|
|
function tokenIfPlusMinus(self, tok) {
|
|
if (tok !== true) {
|
|
self.token(tok);
|
|
}
|
|
}
|
|
function TSLiteralType(node) {
|
|
this.print(node.literal, node);
|
|
}
|
|
function TSExpressionWithTypeArguments(node) {
|
|
this.print(node.expression, node);
|
|
this.print(node.typeParameters, node);
|
|
}
|
|
function TSInterfaceDeclaration(node) {
|
|
var declare = node.declare,
|
|
id = node.id,
|
|
typeParameters = node.typeParameters,
|
|
extendz = node["extends"],
|
|
body = node.body;
|
|
if (declare) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
this.word("interface");
|
|
this.space();
|
|
this.print(id, node);
|
|
this.print(typeParameters, node);
|
|
if (extendz != null && extendz.length) {
|
|
this.space();
|
|
this.word("extends");
|
|
this.space();
|
|
this.printList(extendz, node);
|
|
}
|
|
this.space();
|
|
this.print(body, node);
|
|
}
|
|
function TSInterfaceBody(node) {
|
|
this.tsPrintTypeLiteralOrInterfaceBody(node.body, node);
|
|
}
|
|
function TSTypeAliasDeclaration(node) {
|
|
var declare = node.declare,
|
|
id = node.id,
|
|
typeParameters = node.typeParameters,
|
|
typeAnnotation = node.typeAnnotation;
|
|
if (declare) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
this.word("type");
|
|
this.space();
|
|
this.print(id, node);
|
|
this.print(typeParameters, node);
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(typeAnnotation, node);
|
|
this.tokenChar(59);
|
|
}
|
|
function TSTypeExpression(node) {
|
|
var _expression$trailingC;
|
|
var type = node.type,
|
|
expression = node.expression,
|
|
typeAnnotation = node.typeAnnotation;
|
|
var forceParens = !!((_expression$trailingC = expression.trailingComments) != null && _expression$trailingC.length);
|
|
this.print(expression, node, true, undefined, forceParens);
|
|
this.space();
|
|
this.word(type === "TSAsExpression" ? "as" : "satisfies");
|
|
this.space();
|
|
this.print(typeAnnotation, node);
|
|
}
|
|
function TSTypeAssertion(node) {
|
|
var typeAnnotation = node.typeAnnotation,
|
|
expression = node.expression;
|
|
this.tokenChar(60);
|
|
this.print(typeAnnotation, node);
|
|
this.tokenChar(62);
|
|
this.space();
|
|
this.print(expression, node);
|
|
}
|
|
function TSInstantiationExpression(node) {
|
|
this.print(node.expression, node);
|
|
this.print(node.typeParameters, node);
|
|
}
|
|
function TSEnumDeclaration(node) {
|
|
var declare = node.declare,
|
|
isConst = node["const"],
|
|
id = node.id,
|
|
members = node.members;
|
|
if (declare) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
if (isConst) {
|
|
this.word("const");
|
|
this.space();
|
|
}
|
|
this.word("enum");
|
|
this.space();
|
|
this.print(id, node);
|
|
this.space();
|
|
tsPrintBraced(this, members, node);
|
|
}
|
|
function TSEnumMember(node) {
|
|
var id = node.id,
|
|
initializer = node.initializer;
|
|
this.print(id, node);
|
|
if (initializer) {
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(initializer, node);
|
|
}
|
|
this.tokenChar(44);
|
|
}
|
|
function TSModuleDeclaration(node) {
|
|
var declare = node.declare,
|
|
id = node.id;
|
|
if (declare) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
if (!node.global) {
|
|
this.word(id.type === "Identifier" ? "namespace" : "module");
|
|
this.space();
|
|
}
|
|
this.print(id, node);
|
|
if (!node.body) {
|
|
this.tokenChar(59);
|
|
return;
|
|
}
|
|
var body = node.body;
|
|
while (body.type === "TSModuleDeclaration") {
|
|
this.tokenChar(46);
|
|
this.print(body.id, body);
|
|
body = body.body;
|
|
}
|
|
this.space();
|
|
this.print(body, node);
|
|
}
|
|
function TSModuleBlock(node) {
|
|
tsPrintBraced(this, node.body, node);
|
|
}
|
|
function TSImportType(node) {
|
|
var argument = node.argument,
|
|
qualifier = node.qualifier,
|
|
typeParameters = node.typeParameters;
|
|
this.word("import");
|
|
this.tokenChar(40);
|
|
this.print(argument, node);
|
|
this.tokenChar(41);
|
|
if (qualifier) {
|
|
this.tokenChar(46);
|
|
this.print(qualifier, node);
|
|
}
|
|
if (typeParameters) {
|
|
this.print(typeParameters, node);
|
|
}
|
|
}
|
|
function TSImportEqualsDeclaration(node) {
|
|
var isExport = node.isExport,
|
|
id = node.id,
|
|
moduleReference = node.moduleReference;
|
|
if (isExport) {
|
|
this.word("export");
|
|
this.space();
|
|
}
|
|
this.word("import");
|
|
this.space();
|
|
this.print(id, node);
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(moduleReference, node);
|
|
this.tokenChar(59);
|
|
}
|
|
function TSExternalModuleReference(node) {
|
|
this.token("require(");
|
|
this.print(node.expression, node);
|
|
this.tokenChar(41);
|
|
}
|
|
function TSNonNullExpression$1(node) {
|
|
this.print(node.expression, node);
|
|
this.tokenChar(33);
|
|
}
|
|
function TSExportAssignment(node) {
|
|
this.word("export");
|
|
this.space();
|
|
this.tokenChar(61);
|
|
this.space();
|
|
this.print(node.expression, node);
|
|
this.tokenChar(59);
|
|
}
|
|
function TSNamespaceExportDeclaration(node) {
|
|
this.word("export");
|
|
this.space();
|
|
this.word("as");
|
|
this.space();
|
|
this.word("namespace");
|
|
this.space();
|
|
this.print(node.id, node);
|
|
}
|
|
function tsPrintSignatureDeclarationBase(node) {
|
|
var typeParameters = node.typeParameters;
|
|
var parameters = node.parameters;
|
|
this.print(typeParameters, node);
|
|
this.tokenChar(40);
|
|
this._parameters(parameters, node);
|
|
this.tokenChar(41);
|
|
var returnType = node.typeAnnotation;
|
|
this.print(returnType, node);
|
|
}
|
|
function tsPrintClassMemberModifiers(node) {
|
|
var isField = node.type === "ClassAccessorProperty" || node.type === "ClassProperty";
|
|
if (isField && node.declare) {
|
|
this.word("declare");
|
|
this.space();
|
|
}
|
|
if (node.accessibility) {
|
|
this.word(node.accessibility);
|
|
this.space();
|
|
}
|
|
if (node["static"]) {
|
|
this.word("static");
|
|
this.space();
|
|
}
|
|
if (node.override) {
|
|
this.word("override");
|
|
this.space();
|
|
}
|
|
if (node["abstract"]) {
|
|
this.word("abstract");
|
|
this.space();
|
|
}
|
|
if (isField && node.readonly) {
|
|
this.word("readonly");
|
|
this.space();
|
|
}
|
|
}
|
|
|
|
var generatorFunctions = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
TaggedTemplateExpression: TaggedTemplateExpression$1,
|
|
TemplateElement: TemplateElement,
|
|
TemplateLiteral: TemplateLiteral$1,
|
|
UnaryExpression: UnaryExpression$1,
|
|
DoExpression: DoExpression,
|
|
ParenthesizedExpression: ParenthesizedExpression$1,
|
|
UpdateExpression: UpdateExpression$1,
|
|
ConditionalExpression: ConditionalExpression$1,
|
|
NewExpression: NewExpression$1,
|
|
SequenceExpression: SequenceExpression$1,
|
|
ThisExpression: ThisExpression,
|
|
Super: Super,
|
|
_shouldPrintDecoratorsBeforeExport: _shouldPrintDecoratorsBeforeExport,
|
|
Decorator: Decorator,
|
|
OptionalMemberExpression: OptionalMemberExpression,
|
|
OptionalCallExpression: OptionalCallExpression,
|
|
CallExpression: CallExpression$1,
|
|
Import: Import,
|
|
AwaitExpression: AwaitExpression,
|
|
YieldExpression: YieldExpression,
|
|
EmptyStatement: EmptyStatement,
|
|
ExpressionStatement: ExpressionStatement,
|
|
AssignmentPattern: AssignmentPattern,
|
|
AssignmentExpression: AssignmentExpression$1,
|
|
BindExpression: BindExpression,
|
|
BinaryExpression: AssignmentExpression$1,
|
|
LogicalExpression: AssignmentExpression$1,
|
|
MemberExpression: MemberExpression,
|
|
MetaProperty: MetaProperty,
|
|
PrivateName: PrivateName,
|
|
V8IntrinsicIdentifier: V8IntrinsicIdentifier,
|
|
ModuleExpression: ModuleExpression,
|
|
WithStatement: WithStatement,
|
|
IfStatement: IfStatement,
|
|
ForStatement: ForStatement,
|
|
WhileStatement: WhileStatement,
|
|
ForInStatement: ForInStatement,
|
|
ForOfStatement: ForOfStatement,
|
|
DoWhileStatement: DoWhileStatement,
|
|
BreakStatement: BreakStatement,
|
|
ContinueStatement: ContinueStatement,
|
|
ReturnStatement: ReturnStatement,
|
|
ThrowStatement: ThrowStatement,
|
|
LabeledStatement: LabeledStatement,
|
|
TryStatement: TryStatement,
|
|
CatchClause: CatchClause,
|
|
SwitchStatement: SwitchStatement,
|
|
SwitchCase: SwitchCase,
|
|
DebuggerStatement: DebuggerStatement,
|
|
VariableDeclaration: VariableDeclaration,
|
|
VariableDeclarator: VariableDeclarator$1,
|
|
ClassDeclaration: ClassDeclaration,
|
|
ClassExpression: ClassDeclaration,
|
|
ClassBody: ClassBody,
|
|
ClassProperty: ClassProperty,
|
|
ClassAccessorProperty: ClassAccessorProperty,
|
|
ClassPrivateProperty: ClassPrivateProperty,
|
|
ClassMethod: ClassMethod,
|
|
ClassPrivateMethod: ClassPrivateMethod,
|
|
_classMethodHead: _classMethodHead,
|
|
StaticBlock: StaticBlock,
|
|
_params: _params,
|
|
_parameters: _parameters,
|
|
_param: _param,
|
|
_methodHead: _methodHead,
|
|
_predicate: _predicate,
|
|
_functionHead: _functionHead,
|
|
FunctionExpression: FunctionExpression,
|
|
FunctionDeclaration: FunctionExpression,
|
|
ArrowFunctionExpression: ArrowFunctionExpression,
|
|
ImportSpecifier: ImportSpecifier,
|
|
ImportDefaultSpecifier: ImportDefaultSpecifier,
|
|
ExportDefaultSpecifier: ExportDefaultSpecifier,
|
|
ExportSpecifier: ExportSpecifier,
|
|
ExportNamespaceSpecifier: ExportNamespaceSpecifier,
|
|
_printAssertions: _printAssertions,
|
|
ExportAllDeclaration: ExportAllDeclaration,
|
|
ExportNamedDeclaration: ExportNamedDeclaration,
|
|
ExportDefaultDeclaration: ExportDefaultDeclaration,
|
|
ImportDeclaration: ImportDeclaration,
|
|
ImportAttribute: ImportAttribute,
|
|
ImportNamespaceSpecifier: ImportNamespaceSpecifier,
|
|
Identifier: Identifier,
|
|
ArgumentPlaceholder: ArgumentPlaceholder,
|
|
RestElement: RestElement$1,
|
|
SpreadElement: RestElement$1,
|
|
ObjectExpression: ObjectExpression$1,
|
|
ObjectPattern: ObjectExpression$1,
|
|
ObjectMethod: ObjectMethod,
|
|
ObjectProperty: ObjectProperty,
|
|
ArrayExpression: ArrayExpression$1,
|
|
ArrayPattern: ArrayExpression$1,
|
|
RecordExpression: RecordExpression,
|
|
TupleExpression: TupleExpression,
|
|
RegExpLiteral: RegExpLiteral$1,
|
|
BooleanLiteral: BooleanLiteral$1,
|
|
NullLiteral: NullLiteral$1,
|
|
NumericLiteral: NumericLiteral$1,
|
|
StringLiteral: StringLiteral$1,
|
|
BigIntLiteral: BigIntLiteral,
|
|
DecimalLiteral: DecimalLiteral,
|
|
TopicReference: TopicReference,
|
|
PipelineTopicExpression: PipelineTopicExpression,
|
|
PipelineBareFunction: PipelineBareFunction,
|
|
PipelinePrimaryTopicReference: PipelinePrimaryTopicReference,
|
|
NumberLiteralTypeAnnotation: NumericLiteral$1,
|
|
StringLiteralTypeAnnotation: StringLiteral$1,
|
|
AnyTypeAnnotation: AnyTypeAnnotation,
|
|
ArrayTypeAnnotation: ArrayTypeAnnotation,
|
|
BooleanTypeAnnotation: BooleanTypeAnnotation,
|
|
BooleanLiteralTypeAnnotation: BooleanLiteralTypeAnnotation,
|
|
NullLiteralTypeAnnotation: NullLiteralTypeAnnotation,
|
|
DeclareClass: DeclareClass,
|
|
DeclareFunction: DeclareFunction,
|
|
InferredPredicate: InferredPredicate,
|
|
DeclaredPredicate: DeclaredPredicate,
|
|
DeclareInterface: DeclareInterface,
|
|
DeclareModule: DeclareModule,
|
|
DeclareModuleExports: DeclareModuleExports,
|
|
DeclareTypeAlias: DeclareTypeAlias,
|
|
DeclareOpaqueType: DeclareOpaqueType,
|
|
DeclareVariable: DeclareVariable,
|
|
DeclareExportDeclaration: DeclareExportDeclaration,
|
|
DeclareExportAllDeclaration: DeclareExportAllDeclaration,
|
|
EnumDeclaration: EnumDeclaration,
|
|
EnumBooleanBody: EnumBooleanBody,
|
|
EnumNumberBody: EnumNumberBody,
|
|
EnumStringBody: EnumStringBody,
|
|
EnumSymbolBody: EnumSymbolBody,
|
|
EnumDefaultedMember: EnumDefaultedMember,
|
|
EnumBooleanMember: EnumBooleanMember,
|
|
EnumNumberMember: EnumNumberMember,
|
|
EnumStringMember: EnumStringMember,
|
|
ExistsTypeAnnotation: ExistsTypeAnnotation,
|
|
FunctionTypeAnnotation: FunctionTypeAnnotation,
|
|
FunctionTypeParam: FunctionTypeParam,
|
|
InterfaceExtends: InterfaceExtends,
|
|
ClassImplements: InterfaceExtends,
|
|
GenericTypeAnnotation: InterfaceExtends,
|
|
_interfaceish: _interfaceish,
|
|
_variance: _variance,
|
|
InterfaceDeclaration: InterfaceDeclaration,
|
|
InterfaceTypeAnnotation: InterfaceTypeAnnotation,
|
|
IntersectionTypeAnnotation: IntersectionTypeAnnotation,
|
|
MixedTypeAnnotation: MixedTypeAnnotation,
|
|
EmptyTypeAnnotation: EmptyTypeAnnotation,
|
|
NullableTypeAnnotation: NullableTypeAnnotation,
|
|
NumberTypeAnnotation: NumberTypeAnnotation,
|
|
StringTypeAnnotation: StringTypeAnnotation,
|
|
ThisTypeAnnotation: ThisTypeAnnotation,
|
|
TupleTypeAnnotation: TupleTypeAnnotation,
|
|
TypeofTypeAnnotation: TypeofTypeAnnotation,
|
|
TypeAlias: TypeAlias,
|
|
TypeAnnotation: TypeAnnotation,
|
|
TypeParameterInstantiation: TypeParameterInstantiation,
|
|
TypeParameterDeclaration: TypeParameterInstantiation,
|
|
TypeParameter: TypeParameter,
|
|
OpaqueType: OpaqueType,
|
|
ObjectTypeAnnotation: ObjectTypeAnnotation,
|
|
ObjectTypeInternalSlot: ObjectTypeInternalSlot,
|
|
ObjectTypeCallProperty: ObjectTypeCallProperty,
|
|
ObjectTypeIndexer: ObjectTypeIndexer,
|
|
ObjectTypeProperty: ObjectTypeProperty,
|
|
ObjectTypeSpreadProperty: ObjectTypeSpreadProperty,
|
|
QualifiedTypeIdentifier: QualifiedTypeIdentifier,
|
|
SymbolTypeAnnotation: SymbolTypeAnnotation,
|
|
UnionTypeAnnotation: UnionTypeAnnotation,
|
|
TypeCastExpression: TypeCastExpression$1,
|
|
Variance: Variance,
|
|
VoidTypeAnnotation: VoidTypeAnnotation,
|
|
IndexedAccessType: IndexedAccessType,
|
|
OptionalIndexedAccessType: OptionalIndexedAccessType,
|
|
File: File$1,
|
|
Program: Program,
|
|
BlockStatement: BlockStatement,
|
|
Directive: Directive,
|
|
DirectiveLiteral: DirectiveLiteral,
|
|
InterpreterDirective: InterpreterDirective,
|
|
Placeholder: Placeholder,
|
|
JSXAttribute: JSXAttribute,
|
|
JSXIdentifier: JSXIdentifier,
|
|
JSXNamespacedName: JSXNamespacedName,
|
|
JSXMemberExpression: JSXMemberExpression,
|
|
JSXSpreadAttribute: JSXSpreadAttribute,
|
|
JSXExpressionContainer: JSXExpressionContainer,
|
|
JSXSpreadChild: JSXSpreadChild,
|
|
JSXText: JSXText,
|
|
JSXElement: JSXElement,
|
|
JSXOpeningElement: JSXOpeningElement,
|
|
JSXClosingElement: JSXClosingElement,
|
|
JSXEmptyExpression: JSXEmptyExpression,
|
|
JSXFragment: JSXFragment,
|
|
JSXOpeningFragment: JSXOpeningFragment,
|
|
JSXClosingFragment: JSXClosingFragment,
|
|
TSTypeAnnotation: TSTypeAnnotation,
|
|
TSTypeParameterInstantiation: TSTypeParameterInstantiation,
|
|
TSTypeParameterDeclaration: TSTypeParameterInstantiation,
|
|
TSTypeParameter: TSTypeParameter,
|
|
TSParameterProperty: TSParameterProperty,
|
|
TSDeclareFunction: TSDeclareFunction,
|
|
TSDeclareMethod: TSDeclareMethod,
|
|
TSQualifiedName: TSQualifiedName,
|
|
TSCallSignatureDeclaration: TSCallSignatureDeclaration,
|
|
TSConstructSignatureDeclaration: TSConstructSignatureDeclaration,
|
|
TSPropertySignature: TSPropertySignature,
|
|
tsPrintPropertyOrMethodName: tsPrintPropertyOrMethodName,
|
|
TSMethodSignature: TSMethodSignature,
|
|
TSIndexSignature: TSIndexSignature,
|
|
TSAnyKeyword: TSAnyKeyword,
|
|
TSBigIntKeyword: TSBigIntKeyword,
|
|
TSUnknownKeyword: TSUnknownKeyword,
|
|
TSNumberKeyword: TSNumberKeyword,
|
|
TSObjectKeyword: TSObjectKeyword,
|
|
TSBooleanKeyword: TSBooleanKeyword,
|
|
TSStringKeyword: TSStringKeyword,
|
|
TSSymbolKeyword: TSSymbolKeyword,
|
|
TSVoidKeyword: TSVoidKeyword,
|
|
TSUndefinedKeyword: TSUndefinedKeyword,
|
|
TSNullKeyword: TSNullKeyword,
|
|
TSNeverKeyword: TSNeverKeyword,
|
|
TSIntrinsicKeyword: TSIntrinsicKeyword,
|
|
TSThisType: TSThisType,
|
|
TSFunctionType: TSFunctionType,
|
|
TSConstructorType: TSConstructorType,
|
|
tsPrintFunctionOrConstructorType: tsPrintFunctionOrConstructorType,
|
|
TSTypeReference: TSTypeReference,
|
|
TSTypePredicate: TSTypePredicate,
|
|
TSTypeQuery: TSTypeQuery,
|
|
TSTypeLiteral: TSTypeLiteral,
|
|
tsPrintTypeLiteralOrInterfaceBody: tsPrintTypeLiteralOrInterfaceBody,
|
|
TSArrayType: TSArrayType,
|
|
TSTupleType: TSTupleType,
|
|
TSOptionalType: TSOptionalType,
|
|
TSRestType: TSRestType,
|
|
TSNamedTupleMember: TSNamedTupleMember,
|
|
TSUnionType: TSUnionType,
|
|
TSIntersectionType: TSIntersectionType,
|
|
TSConditionalType: TSConditionalType,
|
|
TSInferType: TSInferType,
|
|
TSParenthesizedType: TSParenthesizedType,
|
|
TSTypeOperator: TSTypeOperator,
|
|
TSIndexedAccessType: TSIndexedAccessType,
|
|
TSMappedType: TSMappedType,
|
|
TSLiteralType: TSLiteralType,
|
|
TSExpressionWithTypeArguments: TSExpressionWithTypeArguments,
|
|
TSInterfaceDeclaration: TSInterfaceDeclaration,
|
|
TSInterfaceBody: TSInterfaceBody,
|
|
TSTypeAliasDeclaration: TSTypeAliasDeclaration,
|
|
TSAsExpression: TSTypeExpression,
|
|
TSSatisfiesExpression: TSTypeExpression,
|
|
TSTypeAssertion: TSTypeAssertion,
|
|
TSInstantiationExpression: TSInstantiationExpression,
|
|
TSEnumDeclaration: TSEnumDeclaration,
|
|
TSEnumMember: TSEnumMember,
|
|
TSModuleDeclaration: TSModuleDeclaration,
|
|
TSModuleBlock: TSModuleBlock,
|
|
TSImportType: TSImportType,
|
|
TSImportEqualsDeclaration: TSImportEqualsDeclaration,
|
|
TSExternalModuleReference: TSExternalModuleReference,
|
|
TSNonNullExpression: TSNonNullExpression$1,
|
|
TSExportAssignment: TSExportAssignment,
|
|
TSNamespaceExportDeclaration: TSNamespaceExportDeclaration,
|
|
tsPrintSignatureDeclarationBase: tsPrintSignatureDeclarationBase,
|
|
tsPrintClassMemberModifiers: tsPrintClassMemberModifiers
|
|
});
|
|
|
|
var isFunction$2 = isFunction$4,
|
|
isStatement$4 = isStatement$8,
|
|
isClassBody = isClassBody$2,
|
|
isTSInterfaceBody = isTSInterfaceBody$1,
|
|
isTSEnumDeclaration = isTSEnumDeclaration$1;
|
|
var SCIENTIFIC_NOTATION = /e/i;
|
|
var ZERO_DECIMAL_INTEGER = /\.0+$/;
|
|
var NON_DECIMAL_LITERAL = /^0[box]/;
|
|
var PURE_ANNOTATION_RE = /^\s*[@#]__PURE__\s*$/;
|
|
var HAS_NEWLINE = /[\n\r\u2028\u2029]/;
|
|
var HAS_BlOCK_COMMENT_END = /\*\//;
|
|
var needsParens = needsParens$1;
|
|
var Printer = function () {
|
|
function Printer(format, map) {
|
|
this.inForStatementInitCounter = 0;
|
|
this._printStack = [];
|
|
this._indent = 0;
|
|
this._indentChar = 0;
|
|
this._indentRepeat = 0;
|
|
this._insideAux = false;
|
|
this._parenPushNewlineState = null;
|
|
this._noLineTerminator = false;
|
|
this._printAuxAfterOnNextUserNode = false;
|
|
this._printedComments = new Set();
|
|
this._endsWithInteger = false;
|
|
this._endsWithWord = false;
|
|
this._lastCommentLine = 0;
|
|
this._endsWithInnerRaw = false;
|
|
this._indentInnerComments = true;
|
|
this.format = format;
|
|
this._buf = new Buffer(map);
|
|
this._indentChar = format.indent.style.charCodeAt(0);
|
|
this._indentRepeat = format.indent.style.length;
|
|
this._inputMap = map == null ? void 0 : map._inputMap;
|
|
}
|
|
var _proto = Printer.prototype;
|
|
_proto.generate = function generate(ast) {
|
|
this.print(ast);
|
|
this._maybeAddAuxComment();
|
|
return this._buf.get();
|
|
};
|
|
_proto.indent = function indent() {
|
|
if (this.format.compact || this.format.concise) return;
|
|
this._indent++;
|
|
};
|
|
_proto.dedent = function dedent() {
|
|
if (this.format.compact || this.format.concise) return;
|
|
this._indent--;
|
|
};
|
|
_proto.semicolon = function semicolon(force) {
|
|
if (force === void 0) {
|
|
force = false;
|
|
}
|
|
this._maybeAddAuxComment();
|
|
if (force) {
|
|
this._appendChar(59);
|
|
} else {
|
|
this._queue(59);
|
|
}
|
|
this._noLineTerminator = false;
|
|
};
|
|
_proto.rightBrace = function rightBrace(node) {
|
|
if (this.format.minified) {
|
|
this._buf.removeLastSemicolon();
|
|
}
|
|
this.sourceWithOffset("end", node.loc, 0, -1);
|
|
this.tokenChar(125);
|
|
};
|
|
_proto.rightParens = function rightParens(node) {
|
|
this.sourceWithOffset("end", node.loc, 0, -1);
|
|
this.tokenChar(41);
|
|
};
|
|
_proto.space = function space(force) {
|
|
if (force === void 0) {
|
|
force = false;
|
|
}
|
|
if (this.format.compact) return;
|
|
if (force) {
|
|
this._space();
|
|
} else if (this._buf.hasContent()) {
|
|
var lastCp = this.getLastChar();
|
|
if (lastCp !== 32 && lastCp !== 10) {
|
|
this._space();
|
|
}
|
|
}
|
|
};
|
|
_proto.word = function word(str, noLineTerminatorAfter) {
|
|
if (noLineTerminatorAfter === void 0) {
|
|
noLineTerminatorAfter = false;
|
|
}
|
|
this._maybePrintInnerComments();
|
|
if (this._endsWithWord || str.charCodeAt(0) === 47 && this.endsWith(47)) {
|
|
this._space();
|
|
}
|
|
this._maybeAddAuxComment();
|
|
this._append(str, false);
|
|
this._endsWithWord = true;
|
|
this._noLineTerminator = noLineTerminatorAfter;
|
|
};
|
|
_proto.number = function number(str) {
|
|
this.word(str);
|
|
this._endsWithInteger = Number.isInteger(+str) && !NON_DECIMAL_LITERAL.test(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str.charCodeAt(str.length - 1) !== 46;
|
|
};
|
|
_proto.token = function token(str, maybeNewline) {
|
|
if (maybeNewline === void 0) {
|
|
maybeNewline = false;
|
|
}
|
|
this._maybePrintInnerComments();
|
|
var lastChar = this.getLastChar();
|
|
var strFirst = str.charCodeAt(0);
|
|
if (lastChar === 33 && (str === "--" || strFirst === 61) || strFirst === 43 && lastChar === 43 || strFirst === 45 && lastChar === 45 || strFirst === 46 && this._endsWithInteger) {
|
|
this._space();
|
|
}
|
|
this._maybeAddAuxComment();
|
|
this._append(str, maybeNewline);
|
|
this._noLineTerminator = false;
|
|
};
|
|
_proto.tokenChar = function tokenChar(_char) {
|
|
this._maybePrintInnerComments();
|
|
var lastChar = this.getLastChar();
|
|
if (_char === 43 && lastChar === 43 || _char === 45 && lastChar === 45 || _char === 46 && this._endsWithInteger) {
|
|
this._space();
|
|
}
|
|
this._maybeAddAuxComment();
|
|
this._appendChar(_char);
|
|
this._noLineTerminator = false;
|
|
};
|
|
_proto.newline = function newline(i, force) {
|
|
if (i === void 0) {
|
|
i = 1;
|
|
}
|
|
if (i <= 0) return;
|
|
if (!force) {
|
|
if (this.format.retainLines || this.format.compact) return;
|
|
if (this.format.concise) {
|
|
this.space();
|
|
return;
|
|
}
|
|
}
|
|
if (i > 2) i = 2;
|
|
i -= this._buf.getNewlineCount();
|
|
for (var j = 0; j < i; j++) {
|
|
this._newline();
|
|
}
|
|
return;
|
|
};
|
|
_proto.endsWith = function endsWith(_char2) {
|
|
return this.getLastChar() === _char2;
|
|
};
|
|
_proto.getLastChar = function getLastChar() {
|
|
return this._buf.getLastChar();
|
|
};
|
|
_proto.endsWithCharAndNewline = function endsWithCharAndNewline() {
|
|
return this._buf.endsWithCharAndNewline();
|
|
};
|
|
_proto.removeTrailingNewline = function removeTrailingNewline() {
|
|
this._buf.removeTrailingNewline();
|
|
};
|
|
_proto.exactSource = function exactSource(loc, cb) {
|
|
if (!loc) {
|
|
cb();
|
|
return;
|
|
}
|
|
this._catchUp("start", loc);
|
|
this._buf.exactSource(loc, cb);
|
|
};
|
|
_proto.source = function source(prop, loc) {
|
|
if (!loc) return;
|
|
this._catchUp(prop, loc);
|
|
this._buf.source(prop, loc);
|
|
};
|
|
_proto.sourceWithOffset = function sourceWithOffset(prop, loc, lineOffset, columnOffset) {
|
|
if (!loc) return;
|
|
this._catchUp(prop, loc);
|
|
this._buf.sourceWithOffset(prop, loc, lineOffset, columnOffset);
|
|
};
|
|
_proto.withSource = function withSource(prop, loc, cb) {
|
|
if (!loc) {
|
|
cb();
|
|
return;
|
|
}
|
|
this._catchUp(prop, loc);
|
|
this._buf.withSource(prop, loc, cb);
|
|
};
|
|
_proto.sourceIdentifierName = function sourceIdentifierName(identifierName, pos) {
|
|
if (!this._buf._canMarkIdName) return;
|
|
var sourcePosition = this._buf._sourcePosition;
|
|
sourcePosition.identifierNamePos = pos;
|
|
sourcePosition.identifierName = identifierName;
|
|
};
|
|
_proto._space = function _space() {
|
|
this._queue(32);
|
|
};
|
|
_proto._newline = function _newline() {
|
|
this._queue(10);
|
|
};
|
|
_proto._append = function _append(str, maybeNewline) {
|
|
this._maybeAddParen(str);
|
|
this._maybeIndent(str.charCodeAt(0));
|
|
this._buf.append(str, maybeNewline);
|
|
this._endsWithWord = false;
|
|
this._endsWithInteger = false;
|
|
};
|
|
_proto._appendChar = function _appendChar(_char3) {
|
|
this._maybeAddParenChar(_char3);
|
|
this._maybeIndent(_char3);
|
|
this._buf.appendChar(_char3);
|
|
this._endsWithWord = false;
|
|
this._endsWithInteger = false;
|
|
};
|
|
_proto._queue = function _queue(_char4) {
|
|
this._maybeAddParenChar(_char4);
|
|
this._maybeIndent(_char4);
|
|
this._buf.queue(_char4);
|
|
this._endsWithWord = false;
|
|
this._endsWithInteger = false;
|
|
};
|
|
_proto._maybeIndent = function _maybeIndent(firstChar) {
|
|
if (this._indent && firstChar !== 10 && this.endsWith(10)) {
|
|
this._buf.queueIndentation(this._indentChar, this._getIndent());
|
|
}
|
|
};
|
|
_proto._shouldIndent = function _shouldIndent(firstChar) {
|
|
if (this._indent && firstChar !== 10 && this.endsWith(10)) {
|
|
return true;
|
|
}
|
|
};
|
|
_proto._maybeAddParenChar = function _maybeAddParenChar(_char5) {
|
|
var parenPushNewlineState = this._parenPushNewlineState;
|
|
if (!parenPushNewlineState) return;
|
|
if (_char5 === 32) {
|
|
return;
|
|
}
|
|
if (_char5 !== 10) {
|
|
this._parenPushNewlineState = null;
|
|
return;
|
|
}
|
|
this.tokenChar(40);
|
|
this.indent();
|
|
parenPushNewlineState.printed = true;
|
|
};
|
|
_proto._maybeAddParen = function _maybeAddParen(str) {
|
|
var parenPushNewlineState = this._parenPushNewlineState;
|
|
if (!parenPushNewlineState) return;
|
|
var len = str.length;
|
|
var i;
|
|
for (i = 0; i < len && str.charCodeAt(i) === 32; i++) continue;
|
|
if (i === len) {
|
|
return;
|
|
}
|
|
var cha = str.charCodeAt(i);
|
|
if (cha !== 10) {
|
|
if (cha !== 47 || i + 1 === len) {
|
|
this._parenPushNewlineState = null;
|
|
return;
|
|
}
|
|
var chaPost = str.charCodeAt(i + 1);
|
|
if (chaPost === 42) {
|
|
if (PURE_ANNOTATION_RE.test(str.slice(i + 2, len - 2))) {
|
|
return;
|
|
}
|
|
} else if (chaPost !== 47) {
|
|
this._parenPushNewlineState = null;
|
|
return;
|
|
}
|
|
}
|
|
this.tokenChar(40);
|
|
this.indent();
|
|
parenPushNewlineState.printed = true;
|
|
};
|
|
_proto.catchUp = function catchUp(line) {
|
|
if (!this.format.retainLines) return;
|
|
var count = line - this._buf.getCurrentLine();
|
|
for (var i = 0; i < count; i++) {
|
|
this._newline();
|
|
}
|
|
};
|
|
_proto._catchUp = function _catchUp(prop, loc) {
|
|
var _loc$prop;
|
|
if (!this.format.retainLines) return;
|
|
var line = loc == null ? void 0 : (_loc$prop = loc[prop]) == null ? void 0 : _loc$prop.line;
|
|
if (line != null) {
|
|
var count = line - this._buf.getCurrentLine();
|
|
for (var i = 0; i < count; i++) {
|
|
this._newline();
|
|
}
|
|
}
|
|
};
|
|
_proto._getIndent = function _getIndent() {
|
|
return this._indentRepeat * this._indent;
|
|
};
|
|
_proto.printTerminatorless = function printTerminatorless(node, parent, isLabel) {
|
|
if (isLabel) {
|
|
this._noLineTerminator = true;
|
|
this.print(node, parent);
|
|
} else {
|
|
var terminatorState = {
|
|
printed: false
|
|
};
|
|
this._parenPushNewlineState = terminatorState;
|
|
this.print(node, parent);
|
|
if (terminatorState.printed) {
|
|
this.dedent();
|
|
this.newline();
|
|
this.tokenChar(41);
|
|
}
|
|
}
|
|
};
|
|
_proto.print = function print(node, parent, noLineTerminatorAfter, trailingCommentsLineOffset, forceParens) {
|
|
var _node$extra;
|
|
if (!node) return;
|
|
this._endsWithInnerRaw = false;
|
|
var nodeType = node.type;
|
|
var format = this.format;
|
|
var oldConcise = format.concise;
|
|
if (node._compact) {
|
|
format.concise = true;
|
|
}
|
|
var printMethod = this[nodeType];
|
|
if (printMethod === undefined) {
|
|
throw new ReferenceError("unknown node of type " + JSON.stringify(nodeType) + " with constructor " + JSON.stringify(node.constructor.name));
|
|
}
|
|
this._printStack.push(node);
|
|
var oldInAux = this._insideAux;
|
|
this._insideAux = node.loc == undefined;
|
|
this._maybeAddAuxComment(this._insideAux && !oldInAux);
|
|
var shouldPrintParens = forceParens || format.retainFunctionParens && nodeType === "FunctionExpression" && ((_node$extra = node.extra) == null ? void 0 : _node$extra.parenthesized) || needsParens(node, parent, this._printStack);
|
|
if (shouldPrintParens) {
|
|
this.tokenChar(40);
|
|
this._endsWithInnerRaw = false;
|
|
}
|
|
this._lastCommentLine = 0;
|
|
this._printLeadingComments(node, parent);
|
|
var loc = nodeType === "Program" || nodeType === "File" ? null : node.loc;
|
|
this.exactSource(loc, printMethod.bind(this, node, parent));
|
|
if (shouldPrintParens) {
|
|
this._printTrailingComments(node, parent);
|
|
this.tokenChar(41);
|
|
this._noLineTerminator = noLineTerminatorAfter;
|
|
} else if (noLineTerminatorAfter && !this._noLineTerminator) {
|
|
this._noLineTerminator = true;
|
|
this._printTrailingComments(node, parent);
|
|
} else {
|
|
this._printTrailingComments(node, parent, trailingCommentsLineOffset);
|
|
}
|
|
this._printStack.pop();
|
|
format.concise = oldConcise;
|
|
this._insideAux = oldInAux;
|
|
this._endsWithInnerRaw = false;
|
|
};
|
|
_proto._maybeAddAuxComment = function _maybeAddAuxComment(enteredPositionlessNode) {
|
|
if (enteredPositionlessNode) this._printAuxBeforeComment();
|
|
if (!this._insideAux) this._printAuxAfterComment();
|
|
};
|
|
_proto._printAuxBeforeComment = function _printAuxBeforeComment() {
|
|
if (this._printAuxAfterOnNextUserNode) return;
|
|
this._printAuxAfterOnNextUserNode = true;
|
|
var comment = this.format.auxiliaryCommentBefore;
|
|
if (comment) {
|
|
this._printComment({
|
|
type: "CommentBlock",
|
|
value: comment
|
|
}, 0);
|
|
}
|
|
};
|
|
_proto._printAuxAfterComment = function _printAuxAfterComment() {
|
|
if (!this._printAuxAfterOnNextUserNode) return;
|
|
this._printAuxAfterOnNextUserNode = false;
|
|
var comment = this.format.auxiliaryCommentAfter;
|
|
if (comment) {
|
|
this._printComment({
|
|
type: "CommentBlock",
|
|
value: comment
|
|
}, 0);
|
|
}
|
|
};
|
|
_proto.getPossibleRaw = function getPossibleRaw(node) {
|
|
var extra = node.extra;
|
|
if (extra && extra.raw != null && extra.rawValue != null && node.value === extra.rawValue) {
|
|
return extra.raw;
|
|
}
|
|
};
|
|
_proto.printJoin = function printJoin(nodes, parent, opts) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
if (!(nodes != null && nodes.length)) return;
|
|
if (opts.indent) this.indent();
|
|
var newlineOpts = {
|
|
addNewlines: opts.addNewlines,
|
|
nextNodeStartLine: 0
|
|
};
|
|
var separator = opts.separator ? opts.separator.bind(this) : null;
|
|
var len = nodes.length;
|
|
for (var i = 0; i < len; i++) {
|
|
var _node = nodes[i];
|
|
if (!_node) continue;
|
|
if (opts.statement) this._printNewline(i === 0, newlineOpts);
|
|
this.print(_node, parent, undefined, opts.trailingCommentsLineOffset || 0);
|
|
opts.iterator == null ? void 0 : opts.iterator(_node, i);
|
|
if (i < len - 1) separator == null ? void 0 : separator();
|
|
if (opts.statement) {
|
|
if (i + 1 === len) {
|
|
this.newline(1);
|
|
} else {
|
|
var _nextNode$loc;
|
|
var nextNode = nodes[i + 1];
|
|
newlineOpts.nextNodeStartLine = ((_nextNode$loc = nextNode.loc) == null ? void 0 : _nextNode$loc.start.line) || 0;
|
|
this._printNewline(true, newlineOpts);
|
|
}
|
|
}
|
|
}
|
|
if (opts.indent) this.dedent();
|
|
};
|
|
_proto.printAndIndentOnComments = function printAndIndentOnComments(node, parent) {
|
|
var indent = node.leadingComments && node.leadingComments.length > 0;
|
|
if (indent) this.indent();
|
|
this.print(node, parent);
|
|
if (indent) this.dedent();
|
|
};
|
|
_proto.printBlock = function printBlock(parent) {
|
|
var node = parent.body;
|
|
if (node.type !== "EmptyStatement") {
|
|
this.space();
|
|
}
|
|
this.print(node, parent);
|
|
};
|
|
_proto._printTrailingComments = function _printTrailingComments(node, parent, lineOffset) {
|
|
var innerComments = node.innerComments,
|
|
trailingComments = node.trailingComments;
|
|
if (innerComments != null && innerComments.length) {
|
|
this._printComments(2, innerComments, node, parent, lineOffset);
|
|
}
|
|
if (trailingComments != null && trailingComments.length) {
|
|
this._printComments(2, trailingComments, node, parent, lineOffset);
|
|
}
|
|
};
|
|
_proto._printLeadingComments = function _printLeadingComments(node, parent) {
|
|
var comments = node.leadingComments;
|
|
if (!(comments != null && comments.length)) return;
|
|
this._printComments(0, comments, node, parent);
|
|
};
|
|
_proto._maybePrintInnerComments = function _maybePrintInnerComments() {
|
|
if (this._endsWithInnerRaw) this.printInnerComments();
|
|
this._endsWithInnerRaw = true;
|
|
this._indentInnerComments = true;
|
|
};
|
|
_proto.printInnerComments = function printInnerComments() {
|
|
var node = this._printStack[this._printStack.length - 1];
|
|
var comments = node.innerComments;
|
|
if (!(comments != null && comments.length)) return;
|
|
var hasSpace = this.endsWith(32);
|
|
var indent = this._indentInnerComments;
|
|
var printedCommentsCount = this._printedComments.size;
|
|
if (indent) this.indent();
|
|
this._printComments(1, comments, node);
|
|
if (hasSpace && printedCommentsCount !== this._printedComments.size) {
|
|
this.space();
|
|
}
|
|
if (indent) this.dedent();
|
|
};
|
|
_proto.noIndentInnerCommentsHere = function noIndentInnerCommentsHere() {
|
|
this._indentInnerComments = false;
|
|
};
|
|
_proto.printSequence = function printSequence(nodes, parent, opts) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
opts.statement = true;
|
|
this.printJoin(nodes, parent, opts);
|
|
};
|
|
_proto.printList = function printList(items, parent, opts) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
if (opts.separator == null) {
|
|
opts.separator = commaSeparator;
|
|
}
|
|
this.printJoin(items, parent, opts);
|
|
};
|
|
_proto._printNewline = function _printNewline(newLine, opts) {
|
|
var format = this.format;
|
|
if (format.retainLines || format.compact) return;
|
|
if (format.concise) {
|
|
this.space();
|
|
return;
|
|
}
|
|
if (!newLine) {
|
|
return;
|
|
}
|
|
var startLine = opts.nextNodeStartLine;
|
|
var lastCommentLine = this._lastCommentLine;
|
|
if (startLine > 0 && lastCommentLine > 0) {
|
|
var offset = startLine - lastCommentLine;
|
|
if (offset >= 0) {
|
|
this.newline(offset || 1);
|
|
return;
|
|
}
|
|
}
|
|
if (this._buf.hasContent()) {
|
|
this.newline(1);
|
|
}
|
|
};
|
|
_proto._shouldPrintComment = function _shouldPrintComment(comment) {
|
|
if (comment.ignore) return 0;
|
|
if (this._printedComments.has(comment)) return 0;
|
|
if (this._noLineTerminator && (HAS_NEWLINE.test(comment.value) || HAS_BlOCK_COMMENT_END.test(comment.value))) {
|
|
return 2;
|
|
}
|
|
this._printedComments.add(comment);
|
|
if (!this.format.shouldPrintComment(comment.value)) {
|
|
return 0;
|
|
}
|
|
return 1;
|
|
};
|
|
_proto._printComment = function _printComment(comment, skipNewLines) {
|
|
var noLineTerminator = this._noLineTerminator;
|
|
var isBlockComment = comment.type === "CommentBlock";
|
|
var printNewLines = isBlockComment && skipNewLines !== 1 && !this._noLineTerminator;
|
|
if (printNewLines && this._buf.hasContent() && skipNewLines !== 2) {
|
|
this.newline(1);
|
|
}
|
|
var lastCharCode = this.getLastChar();
|
|
if (lastCharCode !== 91 && lastCharCode !== 123) {
|
|
this.space();
|
|
}
|
|
var val;
|
|
if (isBlockComment) {
|
|
val = "/*" + comment.value + "*/";
|
|
if (this.format.indent.adjustMultilineComment) {
|
|
var _comment$loc;
|
|
var offset = (_comment$loc = comment.loc) == null ? void 0 : _comment$loc.start.column;
|
|
if (offset) {
|
|
var newlineRegex = new RegExp("\\n\\s{1," + offset + "}", "g");
|
|
val = val.replace(newlineRegex, "\n");
|
|
}
|
|
var indentSize = this.format.retainLines ? 0 : this._buf.getCurrentColumn();
|
|
if (this._shouldIndent(47) || this.format.retainLines) {
|
|
indentSize += this._getIndent();
|
|
}
|
|
val = val.replace(/\n(?!$)/g, "\n" + " ".repeat(indentSize));
|
|
}
|
|
} else if (!noLineTerminator) {
|
|
val = "//" + comment.value;
|
|
} else {
|
|
val = "/*" + comment.value + "*/";
|
|
}
|
|
if (this.endsWith(47)) this._space();
|
|
this.source("start", comment.loc);
|
|
this._append(val, isBlockComment);
|
|
if (!isBlockComment && !noLineTerminator) {
|
|
this.newline(1, true);
|
|
}
|
|
if (printNewLines && skipNewLines !== 3) {
|
|
this.newline(1);
|
|
}
|
|
};
|
|
_proto._printComments = function _printComments(type, comments, node, parent, lineOffset) {
|
|
if (lineOffset === void 0) {
|
|
lineOffset = 0;
|
|
}
|
|
var nodeLoc = node.loc;
|
|
var len = comments.length;
|
|
var hasLoc = !!nodeLoc;
|
|
var nodeStartLine = hasLoc ? nodeLoc.start.line : 0;
|
|
var nodeEndLine = hasLoc ? nodeLoc.end.line : 0;
|
|
var lastLine = 0;
|
|
var leadingCommentNewline = 0;
|
|
var maybeNewline = this._noLineTerminator ? function () {} : this.newline.bind(this);
|
|
for (var i = 0; i < len; i++) {
|
|
var _comment = comments[i];
|
|
var shouldPrint = this._shouldPrintComment(_comment);
|
|
if (shouldPrint === 2) {
|
|
hasLoc = false;
|
|
break;
|
|
}
|
|
if (hasLoc && _comment.loc && shouldPrint === 1) {
|
|
var commentStartLine = _comment.loc.start.line;
|
|
var commentEndLine = _comment.loc.end.line;
|
|
if (type === 0) {
|
|
var offset = 0;
|
|
if (i === 0) {
|
|
if (this._buf.hasContent() && (_comment.type === "CommentLine" || commentStartLine != commentEndLine)) {
|
|
offset = leadingCommentNewline = 1;
|
|
}
|
|
} else {
|
|
offset = commentStartLine - lastLine;
|
|
}
|
|
lastLine = commentEndLine;
|
|
maybeNewline(offset);
|
|
this._printComment(_comment, 1);
|
|
if (i + 1 === len) {
|
|
maybeNewline(Math.max(nodeStartLine - lastLine, leadingCommentNewline));
|
|
lastLine = nodeStartLine;
|
|
}
|
|
} else if (type === 1) {
|
|
var _offset = commentStartLine - (i === 0 ? nodeStartLine : lastLine);
|
|
lastLine = commentEndLine;
|
|
maybeNewline(_offset);
|
|
this._printComment(_comment, 1);
|
|
if (i + 1 === len) {
|
|
maybeNewline(Math.min(1, nodeEndLine - lastLine));
|
|
lastLine = nodeEndLine;
|
|
}
|
|
} else {
|
|
var _offset2 = commentStartLine - (i === 0 ? nodeEndLine - lineOffset : lastLine);
|
|
lastLine = commentEndLine;
|
|
maybeNewline(_offset2);
|
|
this._printComment(_comment, 1);
|
|
}
|
|
} else {
|
|
hasLoc = false;
|
|
if (shouldPrint !== 1) {
|
|
continue;
|
|
}
|
|
if (len === 1) {
|
|
var singleLine = _comment.loc ? _comment.loc.start.line === _comment.loc.end.line : !HAS_NEWLINE.test(_comment.value);
|
|
var shouldSkipNewline = singleLine && !isStatement$4(node) && !isClassBody(parent) && !isTSInterfaceBody(parent) && !isTSEnumDeclaration(parent);
|
|
if (type === 0) {
|
|
this._printComment(_comment, shouldSkipNewline && node.type !== "ObjectExpression" || singleLine && isFunction$2(parent, {
|
|
body: node
|
|
}) ? 1 : 0);
|
|
} else if (shouldSkipNewline && type === 2) {
|
|
this._printComment(_comment, 1);
|
|
} else {
|
|
this._printComment(_comment, 0);
|
|
}
|
|
} else if (type === 1 && !(node.type === "ObjectExpression" && node.properties.length > 1) && node.type !== "ClassBody" && node.type !== "TSInterfaceBody") {
|
|
this._printComment(_comment, i === 0 ? 2 : i === len - 1 ? 3 : 0);
|
|
} else {
|
|
this._printComment(_comment, 0);
|
|
}
|
|
}
|
|
}
|
|
if (type === 2 && hasLoc && lastLine) {
|
|
this._lastCommentLine = lastLine;
|
|
}
|
|
};
|
|
return _createClass(Printer);
|
|
}();
|
|
Object.assign(Printer.prototype, generatorFunctions);
|
|
{
|
|
Printer.prototype.Noop = function Noop() {};
|
|
}
|
|
function commaSeparator() {
|
|
this.tokenChar(44);
|
|
this.space();
|
|
}
|
|
|
|
var Generator = function (_Printer) {
|
|
_inherits(Generator, _Printer);
|
|
function Generator(ast, opts, code) {
|
|
var _this;
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
var format = normalizeOptions$6(code, opts);
|
|
var map = opts.sourceMaps ? new SourceMap$1(opts, code) : null;
|
|
_this = _Printer.call(this, format, map) || this;
|
|
_this.ast = void 0;
|
|
_this.ast = ast;
|
|
return _this;
|
|
}
|
|
var _proto = Generator.prototype;
|
|
_proto.generate = function generate() {
|
|
return _Printer.prototype.generate.call(this, this.ast);
|
|
};
|
|
return _createClass(Generator);
|
|
}(Printer);
|
|
function normalizeOptions$6(code, opts) {
|
|
var format = {
|
|
auxiliaryCommentBefore: opts.auxiliaryCommentBefore,
|
|
auxiliaryCommentAfter: opts.auxiliaryCommentAfter,
|
|
shouldPrintComment: opts.shouldPrintComment,
|
|
retainLines: opts.retainLines,
|
|
retainFunctionParens: opts.retainFunctionParens,
|
|
comments: opts.comments == null || opts.comments,
|
|
compact: opts.compact,
|
|
minified: opts.minified,
|
|
concise: opts.concise,
|
|
indent: {
|
|
adjustMultilineComment: true,
|
|
style: " "
|
|
},
|
|
jsescOption: Object.assign({
|
|
quotes: "double",
|
|
wrap: true,
|
|
minimal: false
|
|
}, opts.jsescOption),
|
|
recordAndTupleSyntaxType: opts.recordAndTupleSyntaxType,
|
|
topicToken: opts.topicToken
|
|
};
|
|
{
|
|
format.decoratorsBeforeExport = opts.decoratorsBeforeExport;
|
|
format.jsescOption.json = opts.jsonCompatibleStrings;
|
|
}
|
|
if (format.minified) {
|
|
format.compact = true;
|
|
format.shouldPrintComment = format.shouldPrintComment || function () {
|
|
return format.comments;
|
|
};
|
|
} else {
|
|
format.shouldPrintComment = format.shouldPrintComment || function (value) {
|
|
return format.comments || value.includes("@license") || value.includes("@preserve");
|
|
};
|
|
}
|
|
if (format.compact === "auto") {
|
|
format.compact = typeof code === "string" && code.length > 500000;
|
|
if (format.compact) {
|
|
console.error("[BABEL] Note: The code generator has deoptimised the styling of " + (opts.filename + " as it exceeds the max of " + "500KB" + "."));
|
|
}
|
|
}
|
|
if (format.compact) {
|
|
format.indent.adjustMultilineComment = false;
|
|
}
|
|
var auxiliaryCommentBefore = format.auxiliaryCommentBefore,
|
|
auxiliaryCommentAfter = format.auxiliaryCommentAfter,
|
|
shouldPrintComment = format.shouldPrintComment;
|
|
if (auxiliaryCommentBefore && !shouldPrintComment(auxiliaryCommentBefore)) {
|
|
format.auxiliaryCommentBefore = undefined;
|
|
}
|
|
if (auxiliaryCommentAfter && !shouldPrintComment(auxiliaryCommentAfter)) {
|
|
format.auxiliaryCommentAfter = undefined;
|
|
}
|
|
return format;
|
|
}
|
|
(function () {
|
|
function CodeGenerator(ast, opts, code) {
|
|
this._generator = void 0;
|
|
this._generator = new Generator(ast, opts, code);
|
|
}
|
|
var _proto2 = CodeGenerator.prototype;
|
|
_proto2.generate = function generate() {
|
|
return this._generator.generate();
|
|
};
|
|
return _createClass(CodeGenerator);
|
|
})();
|
|
function generate$1(ast, opts, code) {
|
|
var gen = new Generator(ast, opts, code);
|
|
return gen.generate();
|
|
}
|
|
|
|
var VISITOR_KEYS$4 = VISITOR_KEYS$5;
|
|
function findParent(callback) {
|
|
var path = this;
|
|
while (path = path.parentPath) {
|
|
if (callback(path)) return path;
|
|
}
|
|
return null;
|
|
}
|
|
function find$1(callback) {
|
|
var path = this;
|
|
do {
|
|
if (callback(path)) return path;
|
|
} while (path = path.parentPath);
|
|
return null;
|
|
}
|
|
function getFunctionParent() {
|
|
return this.findParent(function (p) {
|
|
return p.isFunction();
|
|
});
|
|
}
|
|
function getStatementParent() {
|
|
var path = this;
|
|
do {
|
|
if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) {
|
|
break;
|
|
} else {
|
|
path = path.parentPath;
|
|
}
|
|
} while (path);
|
|
if (path && (path.isProgram() || path.isFile())) {
|
|
throw new Error("File/Program node, we can't possibly find a statement parent to this");
|
|
}
|
|
return path;
|
|
}
|
|
function getEarliestCommonAncestorFrom(paths) {
|
|
return this.getDeepestCommonAncestorFrom(paths, function (deepest, i, ancestries) {
|
|
var earliest;
|
|
var keys = VISITOR_KEYS$4[deepest.type];
|
|
for (var _iterator = _createForOfIteratorHelperLoose(ancestries), _step; !(_step = _iterator()).done;) {
|
|
var ancestry = _step.value;
|
|
var path = ancestry[i + 1];
|
|
if (!earliest) {
|
|
earliest = path;
|
|
continue;
|
|
}
|
|
if (path.listKey && earliest.listKey === path.listKey) {
|
|
if (path.key < earliest.key) {
|
|
earliest = path;
|
|
continue;
|
|
}
|
|
}
|
|
var earliestKeyIndex = keys.indexOf(earliest.parentKey);
|
|
var currentKeyIndex = keys.indexOf(path.parentKey);
|
|
if (earliestKeyIndex > currentKeyIndex) {
|
|
earliest = path;
|
|
}
|
|
}
|
|
return earliest;
|
|
});
|
|
}
|
|
function getDeepestCommonAncestorFrom(paths, filter) {
|
|
var _this = this;
|
|
if (!paths.length) {
|
|
return this;
|
|
}
|
|
if (paths.length === 1) {
|
|
return paths[0];
|
|
}
|
|
var minDepth = Infinity;
|
|
var lastCommonIndex, lastCommon;
|
|
var ancestries = paths.map(function (path) {
|
|
var ancestry = [];
|
|
do {
|
|
ancestry.unshift(path);
|
|
} while ((path = path.parentPath) && path !== _this);
|
|
if (ancestry.length < minDepth) {
|
|
minDepth = ancestry.length;
|
|
}
|
|
return ancestry;
|
|
});
|
|
var first = ancestries[0];
|
|
depthLoop: for (var _i = 0; _i < minDepth; _i++) {
|
|
var shouldMatch = first[_i];
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(ancestries), _step2; !(_step2 = _iterator2()).done;) {
|
|
var ancestry = _step2.value;
|
|
if (ancestry[_i] !== shouldMatch) {
|
|
break depthLoop;
|
|
}
|
|
}
|
|
lastCommonIndex = _i;
|
|
lastCommon = shouldMatch;
|
|
}
|
|
if (lastCommon) {
|
|
if (filter) {
|
|
return filter(lastCommon, lastCommonIndex, ancestries);
|
|
} else {
|
|
return lastCommon;
|
|
}
|
|
} else {
|
|
throw new Error("Couldn't find intersection");
|
|
}
|
|
}
|
|
function getAncestry() {
|
|
var path = this;
|
|
var paths = [];
|
|
do {
|
|
paths.push(path);
|
|
} while (path = path.parentPath);
|
|
return paths;
|
|
}
|
|
function isAncestor(maybeDescendant) {
|
|
return maybeDescendant.isDescendant(this);
|
|
}
|
|
function isDescendant(maybeAncestor) {
|
|
return !!this.findParent(function (parent) {
|
|
return parent === maybeAncestor;
|
|
});
|
|
}
|
|
function inType() {
|
|
var path = this;
|
|
for (var _len = arguments.length, candidateTypes = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
candidateTypes[_key] = arguments[_key];
|
|
}
|
|
while (path) {
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(candidateTypes), _step3; !(_step3 = _iterator3()).done;) {
|
|
var type = _step3.value;
|
|
if (path.node.type === type) return true;
|
|
}
|
|
path = path.parentPath;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
var NodePath_ancestry = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
findParent: findParent,
|
|
find: find$1,
|
|
getFunctionParent: getFunctionParent,
|
|
getStatementParent: getStatementParent,
|
|
getEarliestCommonAncestorFrom: getEarliestCommonAncestorFrom,
|
|
getDeepestCommonAncestorFrom: getDeepestCommonAncestorFrom,
|
|
getAncestry: getAncestry,
|
|
isAncestor: isAncestor,
|
|
isDescendant: isDescendant,
|
|
inType: inType
|
|
});
|
|
|
|
var createFlowUnionType = createFlowUnionType$1,
|
|
createTSUnionType = createTSUnionType$1,
|
|
createUnionTypeAnnotation = createFlowUnionType$1,
|
|
isFlowType = isFlowType$1;
|
|
function createUnionType(types) {
|
|
{
|
|
if (isFlowType(types[0])) {
|
|
if (createFlowUnionType) {
|
|
return createFlowUnionType(types);
|
|
}
|
|
return createUnionTypeAnnotation(types);
|
|
} else {
|
|
if (createTSUnionType) {
|
|
return createTSUnionType(types);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
var BOOLEAN_NUMBER_BINARY_OPERATORS = BOOLEAN_NUMBER_BINARY_OPERATORS$1,
|
|
createTypeAnnotationBasedOnTypeof = createTypeAnnotationBasedOnTypeof$1,
|
|
numberTypeAnnotation$1 = numberTypeAnnotation$2,
|
|
voidTypeAnnotation$2 = voidTypeAnnotation$3;
|
|
function infererReference (node) {
|
|
if (!this.isReferenced()) return;
|
|
var binding = this.scope.getBinding(node.name);
|
|
if (binding) {
|
|
if (binding.identifier.typeAnnotation) {
|
|
return binding.identifier.typeAnnotation;
|
|
} else {
|
|
return getTypeAnnotationBindingConstantViolations(binding, this, node.name);
|
|
}
|
|
}
|
|
if (node.name === "undefined") {
|
|
return voidTypeAnnotation$2();
|
|
} else if (node.name === "NaN" || node.name === "Infinity") {
|
|
return numberTypeAnnotation$1();
|
|
} else if (node.name === "arguments") ;
|
|
}
|
|
function getTypeAnnotationBindingConstantViolations(binding, path, name) {
|
|
var types = [];
|
|
var functionConstantViolations = [];
|
|
var constantViolations = getConstantViolationsBefore(binding, path, functionConstantViolations);
|
|
var testType = getConditionalAnnotation(binding, path, name);
|
|
if (testType) {
|
|
var testConstantViolations = getConstantViolationsBefore(binding, testType.ifStatement);
|
|
constantViolations = constantViolations.filter(function (path) {
|
|
return testConstantViolations.indexOf(path) < 0;
|
|
});
|
|
types.push(testType.typeAnnotation);
|
|
}
|
|
if (constantViolations.length) {
|
|
var _constantViolations;
|
|
(_constantViolations = constantViolations).push.apply(_constantViolations, functionConstantViolations);
|
|
for (var _iterator = _createForOfIteratorHelperLoose(constantViolations), _step; !(_step = _iterator()).done;) {
|
|
var violation = _step.value;
|
|
types.push(violation.getTypeAnnotation());
|
|
}
|
|
}
|
|
if (!types.length) {
|
|
return;
|
|
}
|
|
return createUnionType(types);
|
|
}
|
|
function getConstantViolationsBefore(binding, path, functions) {
|
|
var violations = binding.constantViolations.slice();
|
|
violations.unshift(binding.path);
|
|
return violations.filter(function (violation) {
|
|
violation = violation.resolve();
|
|
var status = violation._guessExecutionStatusRelativeTo(path);
|
|
if (functions && status === "unknown") functions.push(violation);
|
|
return status === "before";
|
|
});
|
|
}
|
|
function inferAnnotationFromBinaryExpression(name, path) {
|
|
var operator = path.node.operator;
|
|
var right = path.get("right").resolve();
|
|
var left = path.get("left").resolve();
|
|
var target;
|
|
if (left.isIdentifier({
|
|
name: name
|
|
})) {
|
|
target = right;
|
|
} else if (right.isIdentifier({
|
|
name: name
|
|
})) {
|
|
target = left;
|
|
}
|
|
if (target) {
|
|
if (operator === "===") {
|
|
return target.getTypeAnnotation();
|
|
}
|
|
if (BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(operator) >= 0) {
|
|
return numberTypeAnnotation$1();
|
|
}
|
|
return;
|
|
}
|
|
if (operator !== "===" && operator !== "==") return;
|
|
var typeofPath;
|
|
var typePath;
|
|
if (left.isUnaryExpression({
|
|
operator: "typeof"
|
|
})) {
|
|
typeofPath = left;
|
|
typePath = right;
|
|
} else if (right.isUnaryExpression({
|
|
operator: "typeof"
|
|
})) {
|
|
typeofPath = right;
|
|
typePath = left;
|
|
}
|
|
if (!typeofPath) return;
|
|
if (!typeofPath.get("argument").isIdentifier({
|
|
name: name
|
|
})) return;
|
|
typePath = typePath.resolve();
|
|
if (!typePath.isLiteral()) return;
|
|
var typeValue = typePath.node.value;
|
|
if (typeof typeValue !== "string") return;
|
|
return createTypeAnnotationBasedOnTypeof(typeValue);
|
|
}
|
|
function getParentConditionalPath(binding, path, name) {
|
|
var parentPath;
|
|
while (parentPath = path.parentPath) {
|
|
if (parentPath.isIfStatement() || parentPath.isConditionalExpression()) {
|
|
if (path.key === "test") {
|
|
return;
|
|
}
|
|
return parentPath;
|
|
}
|
|
if (parentPath.isFunction()) {
|
|
if (parentPath.parentPath.scope.getBinding(name) !== binding) return;
|
|
}
|
|
path = parentPath;
|
|
}
|
|
}
|
|
function getConditionalAnnotation(binding, path, name) {
|
|
var ifStatement = getParentConditionalPath(binding, path, name);
|
|
if (!ifStatement) return;
|
|
var test = ifStatement.get("test");
|
|
var paths = [test];
|
|
var types = [];
|
|
for (var i = 0; i < paths.length; i++) {
|
|
var _path = paths[i];
|
|
if (_path.isLogicalExpression()) {
|
|
if (_path.node.operator === "&&") {
|
|
paths.push(_path.get("left"));
|
|
paths.push(_path.get("right"));
|
|
}
|
|
} else if (_path.isBinaryExpression()) {
|
|
var type = inferAnnotationFromBinaryExpression(name, _path);
|
|
if (type) types.push(type);
|
|
}
|
|
}
|
|
if (types.length) {
|
|
return {
|
|
typeAnnotation: createUnionType(types),
|
|
ifStatement: ifStatement
|
|
};
|
|
}
|
|
return getConditionalAnnotation(binding, ifStatement, name);
|
|
}
|
|
|
|
var BOOLEAN_BINARY_OPERATORS = BOOLEAN_BINARY_OPERATORS$1,
|
|
BOOLEAN_UNARY_OPERATORS = BOOLEAN_UNARY_OPERATORS$1,
|
|
NUMBER_BINARY_OPERATORS = NUMBER_BINARY_OPERATORS$1,
|
|
NUMBER_UNARY_OPERATORS = NUMBER_UNARY_OPERATORS$1,
|
|
STRING_UNARY_OPERATORS = STRING_UNARY_OPERATORS$1,
|
|
anyTypeAnnotation$1 = anyTypeAnnotation$2,
|
|
arrayTypeAnnotation = arrayTypeAnnotation$1,
|
|
booleanTypeAnnotation = booleanTypeAnnotation$1,
|
|
buildMatchMemberExpression = buildMatchMemberExpression$1,
|
|
genericTypeAnnotation = genericTypeAnnotation$1,
|
|
identifier$f = identifier$i,
|
|
nullLiteralTypeAnnotation = nullLiteralTypeAnnotation$1,
|
|
numberTypeAnnotation = numberTypeAnnotation$2,
|
|
stringTypeAnnotation$1 = stringTypeAnnotation$2,
|
|
tupleTypeAnnotation = tupleTypeAnnotation$1,
|
|
unionTypeAnnotation = unionTypeAnnotation$1,
|
|
voidTypeAnnotation$1 = voidTypeAnnotation$3,
|
|
isIdentifier$e = isIdentifier$j;
|
|
function VariableDeclarator() {
|
|
if (!this.get("id").isIdentifier()) return;
|
|
return this.get("init").getTypeAnnotation();
|
|
}
|
|
function TypeCastExpression(node) {
|
|
return node.typeAnnotation;
|
|
}
|
|
TypeCastExpression.validParent = true;
|
|
function TSAsExpression(node) {
|
|
return node.typeAnnotation;
|
|
}
|
|
TSAsExpression.validParent = true;
|
|
function TSNonNullExpression() {
|
|
return this.get("expression").getTypeAnnotation();
|
|
}
|
|
function NewExpression(node) {
|
|
if (node.callee.type === "Identifier") {
|
|
return genericTypeAnnotation(node.callee);
|
|
}
|
|
}
|
|
function TemplateLiteral() {
|
|
return stringTypeAnnotation$1();
|
|
}
|
|
function UnaryExpression(node) {
|
|
var operator = node.operator;
|
|
if (operator === "void") {
|
|
return voidTypeAnnotation$1();
|
|
} else if (NUMBER_UNARY_OPERATORS.indexOf(operator) >= 0) {
|
|
return numberTypeAnnotation();
|
|
} else if (STRING_UNARY_OPERATORS.indexOf(operator) >= 0) {
|
|
return stringTypeAnnotation$1();
|
|
} else if (BOOLEAN_UNARY_OPERATORS.indexOf(operator) >= 0) {
|
|
return booleanTypeAnnotation();
|
|
}
|
|
}
|
|
function BinaryExpression(node) {
|
|
var operator = node.operator;
|
|
if (NUMBER_BINARY_OPERATORS.indexOf(operator) >= 0) {
|
|
return numberTypeAnnotation();
|
|
} else if (BOOLEAN_BINARY_OPERATORS.indexOf(operator) >= 0) {
|
|
return booleanTypeAnnotation();
|
|
} else if (operator === "+") {
|
|
var right = this.get("right");
|
|
var left = this.get("left");
|
|
if (left.isBaseType("number") && right.isBaseType("number")) {
|
|
return numberTypeAnnotation();
|
|
} else if (left.isBaseType("string") || right.isBaseType("string")) {
|
|
return stringTypeAnnotation$1();
|
|
}
|
|
return unionTypeAnnotation([stringTypeAnnotation$1(), numberTypeAnnotation()]);
|
|
}
|
|
}
|
|
function LogicalExpression() {
|
|
var argumentTypes = [this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()];
|
|
return createUnionType(argumentTypes);
|
|
}
|
|
function ConditionalExpression() {
|
|
var argumentTypes = [this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()];
|
|
return createUnionType(argumentTypes);
|
|
}
|
|
function SequenceExpression() {
|
|
return this.get("expressions").pop().getTypeAnnotation();
|
|
}
|
|
function ParenthesizedExpression() {
|
|
return this.get("expression").getTypeAnnotation();
|
|
}
|
|
function AssignmentExpression() {
|
|
return this.get("right").getTypeAnnotation();
|
|
}
|
|
function UpdateExpression(node) {
|
|
var operator = node.operator;
|
|
if (operator === "++" || operator === "--") {
|
|
return numberTypeAnnotation();
|
|
}
|
|
}
|
|
function StringLiteral() {
|
|
return stringTypeAnnotation$1();
|
|
}
|
|
function NumericLiteral() {
|
|
return numberTypeAnnotation();
|
|
}
|
|
function BooleanLiteral() {
|
|
return booleanTypeAnnotation();
|
|
}
|
|
function NullLiteral() {
|
|
return nullLiteralTypeAnnotation();
|
|
}
|
|
function RegExpLiteral() {
|
|
return genericTypeAnnotation(identifier$f("RegExp"));
|
|
}
|
|
function ObjectExpression() {
|
|
return genericTypeAnnotation(identifier$f("Object"));
|
|
}
|
|
function ArrayExpression() {
|
|
return genericTypeAnnotation(identifier$f("Array"));
|
|
}
|
|
function RestElement() {
|
|
return ArrayExpression();
|
|
}
|
|
RestElement.validParent = true;
|
|
function Func() {
|
|
return genericTypeAnnotation(identifier$f("Function"));
|
|
}
|
|
var isArrayFrom = buildMatchMemberExpression("Array.from");
|
|
var isObjectKeys = buildMatchMemberExpression("Object.keys");
|
|
var isObjectValues = buildMatchMemberExpression("Object.values");
|
|
var isObjectEntries = buildMatchMemberExpression("Object.entries");
|
|
function CallExpression() {
|
|
var callee = this.node.callee;
|
|
if (isObjectKeys(callee)) {
|
|
return arrayTypeAnnotation(stringTypeAnnotation$1());
|
|
} else if (isArrayFrom(callee) || isObjectValues(callee) || isIdentifier$e(callee, {
|
|
name: "Array"
|
|
})) {
|
|
return arrayTypeAnnotation(anyTypeAnnotation$1());
|
|
} else if (isObjectEntries(callee)) {
|
|
return arrayTypeAnnotation(tupleTypeAnnotation([stringTypeAnnotation$1(), anyTypeAnnotation$1()]));
|
|
}
|
|
return resolveCall(this.get("callee"));
|
|
}
|
|
function TaggedTemplateExpression() {
|
|
return resolveCall(this.get("tag"));
|
|
}
|
|
function resolveCall(callee) {
|
|
callee = callee.resolve();
|
|
if (callee.isFunction()) {
|
|
var _callee = callee,
|
|
node = _callee.node;
|
|
if (node.async) {
|
|
if (node.generator) {
|
|
return genericTypeAnnotation(identifier$f("AsyncIterator"));
|
|
} else {
|
|
return genericTypeAnnotation(identifier$f("Promise"));
|
|
}
|
|
} else {
|
|
if (node.generator) {
|
|
return genericTypeAnnotation(identifier$f("Iterator"));
|
|
} else if (callee.node.returnType) {
|
|
return callee.node.returnType;
|
|
} else ;
|
|
}
|
|
}
|
|
}
|
|
|
|
var inferers = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
VariableDeclarator: VariableDeclarator,
|
|
TypeCastExpression: TypeCastExpression,
|
|
TSAsExpression: TSAsExpression,
|
|
TSNonNullExpression: TSNonNullExpression,
|
|
NewExpression: NewExpression,
|
|
TemplateLiteral: TemplateLiteral,
|
|
UnaryExpression: UnaryExpression,
|
|
BinaryExpression: BinaryExpression,
|
|
LogicalExpression: LogicalExpression,
|
|
ConditionalExpression: ConditionalExpression,
|
|
SequenceExpression: SequenceExpression,
|
|
ParenthesizedExpression: ParenthesizedExpression,
|
|
AssignmentExpression: AssignmentExpression,
|
|
UpdateExpression: UpdateExpression,
|
|
StringLiteral: StringLiteral,
|
|
NumericLiteral: NumericLiteral,
|
|
BooleanLiteral: BooleanLiteral,
|
|
NullLiteral: NullLiteral,
|
|
RegExpLiteral: RegExpLiteral,
|
|
ObjectExpression: ObjectExpression,
|
|
ArrayExpression: ArrayExpression,
|
|
RestElement: RestElement,
|
|
FunctionExpression: Func,
|
|
ArrowFunctionExpression: Func,
|
|
FunctionDeclaration: Func,
|
|
ClassExpression: Func,
|
|
ClassDeclaration: Func,
|
|
CallExpression: CallExpression,
|
|
TaggedTemplateExpression: TaggedTemplateExpression,
|
|
Identifier: infererReference
|
|
});
|
|
|
|
var anyTypeAnnotation = anyTypeAnnotation$2,
|
|
isAnyTypeAnnotation = isAnyTypeAnnotation$1,
|
|
isArrayTypeAnnotation = isArrayTypeAnnotation$2,
|
|
isBooleanTypeAnnotation = isBooleanTypeAnnotation$1,
|
|
isEmptyTypeAnnotation = isEmptyTypeAnnotation$1,
|
|
isFlowBaseAnnotation = isFlowBaseAnnotation$1,
|
|
isGenericTypeAnnotation = isGenericTypeAnnotation$1,
|
|
isIdentifier$d = isIdentifier$j,
|
|
isMixedTypeAnnotation = isMixedTypeAnnotation$1,
|
|
isNumberTypeAnnotation = isNumberTypeAnnotation$1,
|
|
isStringTypeAnnotation = isStringTypeAnnotation$1,
|
|
isTSArrayType = isTSArrayType$2,
|
|
isTSTypeAnnotation = isTSTypeAnnotation$1,
|
|
isTSTypeReference = isTSTypeReference$1,
|
|
isTupleTypeAnnotation = isTupleTypeAnnotation$1,
|
|
isTypeAnnotation = isTypeAnnotation$2,
|
|
isUnionTypeAnnotation = isUnionTypeAnnotation$2,
|
|
isVoidTypeAnnotation = isVoidTypeAnnotation$1,
|
|
stringTypeAnnotation = stringTypeAnnotation$2,
|
|
voidTypeAnnotation = voidTypeAnnotation$3;
|
|
function getTypeAnnotation() {
|
|
var type = this.getData("typeAnnotation");
|
|
if (type != null) {
|
|
return type;
|
|
}
|
|
type = this._getTypeAnnotation() || anyTypeAnnotation();
|
|
if (isTypeAnnotation(type) || isTSTypeAnnotation(type)) {
|
|
type = type.typeAnnotation;
|
|
}
|
|
this.setData("typeAnnotation", type);
|
|
return type;
|
|
}
|
|
var typeAnnotationInferringNodes = new WeakSet();
|
|
function _getTypeAnnotation() {
|
|
var node = this.node;
|
|
if (!node) {
|
|
if (this.key === "init" && this.parentPath.isVariableDeclarator()) {
|
|
var declar = this.parentPath.parentPath;
|
|
var declarParent = declar.parentPath;
|
|
if (declar.key === "left" && declarParent.isForInStatement()) {
|
|
return stringTypeAnnotation();
|
|
}
|
|
if (declar.key === "left" && declarParent.isForOfStatement()) {
|
|
return anyTypeAnnotation();
|
|
}
|
|
return voidTypeAnnotation();
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
if (node.typeAnnotation) {
|
|
return node.typeAnnotation;
|
|
}
|
|
if (typeAnnotationInferringNodes.has(node)) {
|
|
return;
|
|
}
|
|
typeAnnotationInferringNodes.add(node);
|
|
try {
|
|
var _inferer;
|
|
var inferer = inferers[node.type];
|
|
if (inferer) {
|
|
return inferer.call(this, node);
|
|
}
|
|
inferer = inferers[this.parentPath.type];
|
|
if ((_inferer = inferer) != null && _inferer.validParent) {
|
|
return this.parentPath.getTypeAnnotation();
|
|
}
|
|
} finally {
|
|
typeAnnotationInferringNodes["delete"](node);
|
|
}
|
|
}
|
|
function isBaseType(baseName, soft) {
|
|
return _isBaseType(baseName, this.getTypeAnnotation(), soft);
|
|
}
|
|
function _isBaseType(baseName, type, soft) {
|
|
if (baseName === "string") {
|
|
return isStringTypeAnnotation(type);
|
|
} else if (baseName === "number") {
|
|
return isNumberTypeAnnotation(type);
|
|
} else if (baseName === "boolean") {
|
|
return isBooleanTypeAnnotation(type);
|
|
} else if (baseName === "any") {
|
|
return isAnyTypeAnnotation(type);
|
|
} else if (baseName === "mixed") {
|
|
return isMixedTypeAnnotation(type);
|
|
} else if (baseName === "empty") {
|
|
return isEmptyTypeAnnotation(type);
|
|
} else if (baseName === "void") {
|
|
return isVoidTypeAnnotation(type);
|
|
} else {
|
|
if (soft) {
|
|
return false;
|
|
} else {
|
|
throw new Error("Unknown base type " + baseName);
|
|
}
|
|
}
|
|
}
|
|
function couldBeBaseType(name) {
|
|
var type = this.getTypeAnnotation();
|
|
if (isAnyTypeAnnotation(type)) return true;
|
|
if (isUnionTypeAnnotation(type)) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(type.types), _step; !(_step = _iterator()).done;) {
|
|
var type2 = _step.value;
|
|
if (isAnyTypeAnnotation(type2) || _isBaseType(name, type2, true)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
} else {
|
|
return _isBaseType(name, type, true);
|
|
}
|
|
}
|
|
function baseTypeStrictlyMatches(rightArg) {
|
|
var left = this.getTypeAnnotation();
|
|
var right = rightArg.getTypeAnnotation();
|
|
if (!isAnyTypeAnnotation(left) && isFlowBaseAnnotation(left)) {
|
|
return right.type === left.type;
|
|
}
|
|
return false;
|
|
}
|
|
function isGenericType(genericName) {
|
|
var type = this.getTypeAnnotation();
|
|
if (genericName === "Array") {
|
|
if (isTSArrayType(type) || isArrayTypeAnnotation(type) || isTupleTypeAnnotation(type)) {
|
|
return true;
|
|
}
|
|
}
|
|
return isGenericTypeAnnotation(type) && isIdentifier$d(type.id, {
|
|
name: genericName
|
|
}) || isTSTypeReference(type) && isIdentifier$d(type.typeName, {
|
|
name: genericName
|
|
});
|
|
}
|
|
|
|
var NodePath_inference = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
getTypeAnnotation: getTypeAnnotation,
|
|
_getTypeAnnotation: _getTypeAnnotation,
|
|
isBaseType: isBaseType,
|
|
couldBeBaseType: couldBeBaseType,
|
|
baseTypeStrictlyMatches: baseTypeStrictlyMatches,
|
|
isGenericType: isGenericType
|
|
});
|
|
|
|
var jsTokensBABEL_8_BREAKINGTrue;
|
|
var hasRequiredJsTokensBABEL_8_BREAKINGTrue;
|
|
function requireJsTokensBABEL_8_BREAKINGTrue() {
|
|
if (hasRequiredJsTokensBABEL_8_BREAKINGTrue) return jsTokensBABEL_8_BREAKINGTrue;
|
|
hasRequiredJsTokensBABEL_8_BREAKINGTrue = 1;
|
|
var Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace;
|
|
RegularExpressionLiteral = new RegExp("\\/(?![\\*\\/])(?:\\[(?:(?![\\\\\\]])(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])|\\\\(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]))*\\]|(?![\\/\\\\\\]])(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])|\\\\(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]))*(\\/(?:[\\$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u0898-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3C-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C5D\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECE\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1715\\u171F-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u180F-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF-\\u1ACE\\u1B00-\\u1B4C\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDEFD-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDF70-\\uDF85\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC75\\uDC7F-\\uDCBA\\uDCC2\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E-\\uDE41\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDF00-\\uDF10\\uDF12-\\uDF3A\\uDF3E-\\uDF42\\uDF50-\\uDF59\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC40-\\uDC55]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDE70-\\uDEBE\\uDEC0-\\uDEC9\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD833[\\uDF00-\\uDF2D\\uDF30-\\uDF46]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDC30-\\uDC6D\\uDC8F\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDE90-\\uDEAE\\uDEC0-\\uDEF9]|\\uD839[\\uDCD0-\\uDCF9\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF]|\\uDB40[\\uDD00-\\uDDEF])*|\\\\)?", "y");
|
|
Punctuator = new RegExp("--|\\+\\+|=>|\\.{3}|\\??\\.(?!\\d)|(?:&&|\\|\\||\\?\\?|[+\\-%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\\/(?![\\/*]))=?|[?~,:;[\\](){}]", "y");
|
|
Identifier = new RegExp("(#?)(?=(?:[\\$A-Z\\\\_a-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE3F\\uDE40\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDF02\\uDF04-\\uDF10\\uDF12-\\uDF33\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC30-\\uDC6D\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDCD0-\\uDCEB\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF]))(?:(?:[\\$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u0898-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3C-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C5D\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECE\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1715\\u171F-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u180F-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF-\\u1ACE\\u1B00-\\u1B4C\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDEFD-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDF70-\\uDF85\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC75\\uDC7F-\\uDCBA\\uDCC2\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E-\\uDE41\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDF00-\\uDF10\\uDF12-\\uDF3A\\uDF3E-\\uDF42\\uDF50-\\uDF59\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC40-\\uDC55]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDE70-\\uDEBE\\uDEC0-\\uDEC9\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD833[\\uDF00-\\uDF2D\\uDF30-\\uDF46]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDC30-\\uDC6D\\uDC8F\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDE90-\\uDEAE\\uDEC0-\\uDEF9]|\\uD839[\\uDCD0-\\uDCF9\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF]|\\uDB40[\\uDD00-\\uDDEF])|\\\\u[0-9A-Fa-f]{4}|\\\\u\\{[0-9A-Fa-f]+\\})+", "y");
|
|
StringLiteral = new RegExp("(['\"])(?:(?!\\1)[^\\\\\\n\\r]|\\\\(?:\\r\\n|[^]))*(\\1)?", "y");
|
|
NumericLiteral = new RegExp("(?:0[xX][\\da-fA-F](?:_?[\\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\\d)*n|(?:(?:0(?!\\d)|0\\d*[89]\\d*|[1-9](?:_?\\d)*)(?:\\.(?:\\d(?:_?\\d)*)?)?|\\.\\d(?:_?\\d)*)(?:[eE][+-]?\\d(?:_?\\d)*)?|0[0-7]+", "y");
|
|
Template = new RegExp("[`}](?:[^`\\\\$]|\\\\[^]|\\$(?!\\{))*(`|\\$\\{)?", "y");
|
|
WhiteSpace = new RegExp("[\\t\\x0B\\f \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000\\uFEFF]+", "y");
|
|
LineTerminatorSequence = new RegExp("\\r?\\n|[\\r\\u2028\\u2029]", "y");
|
|
MultiLineComment = new RegExp("\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?", "y");
|
|
SingleLineComment = new RegExp("\\/\\/.*", "y");
|
|
JSXPunctuator = new RegExp("[<>.:={}]|\\/(?![\\/*])", "y");
|
|
JSXIdentifier = new RegExp("(?:[\\$A-Z_a-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE3F\\uDE40\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDF02\\uDF04-\\uDF10\\uDF12-\\uDF33\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC30-\\uDC6D\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDCD0-\\uDCEB\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF])(?:[\\$\\x2D0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u0898-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3C-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C5D\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECE\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1715\\u171F-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u180F-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF-\\u1ACE\\u1B00-\\u1B4C\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDEFD-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDF70-\\uDF85\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC75\\uDC7F-\\uDCBA\\uDCC2\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E-\\uDE41\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDF00-\\uDF10\\uDF12-\\uDF3A\\uDF3E-\\uDF42\\uDF50-\\uDF59\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC40-\\uDC55]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDE70-\\uDEBE\\uDEC0-\\uDEC9\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD833[\\uDF00-\\uDF2D\\uDF30-\\uDF46]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDC30-\\uDC6D\\uDC8F\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDE90-\\uDEAE\\uDEC0-\\uDEF9]|\\uD839[\\uDCD0-\\uDCF9\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF]|\\uDB40[\\uDD00-\\uDDEF])*", "y");
|
|
JSXString = new RegExp("(['\"])(?:(?!\\1)[^])*(\\1)?", "y");
|
|
JSXText = new RegExp("[^<>{}]+", "y");
|
|
TokensPrecedingExpression = /^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/;
|
|
TokensNotPrecedingObjectLiteral = /^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/;
|
|
KeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/;
|
|
KeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/;
|
|
Newline = RegExp(LineTerminatorSequence.source);
|
|
jsTokensBABEL_8_BREAKINGTrue = function jsTokens(input, _temp) {
|
|
var _ref = _temp === void 0 ? {} : _temp,
|
|
_ref$jsx = _ref.jsx,
|
|
jsx = _ref$jsx === void 0 ? false : _ref$jsx;
|
|
return _regeneratorRuntime().mark(function _callee() {
|
|
var braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length, match, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
length = input.length;
|
|
lastIndex = 0;
|
|
lastSignificantToken = "";
|
|
stack = [{
|
|
tag: "JS"
|
|
}];
|
|
braces = [];
|
|
parenNesting = 0;
|
|
postfixIncDec = false;
|
|
case 7:
|
|
if (!(lastIndex < length)) {
|
|
_context.next = 230;
|
|
break;
|
|
}
|
|
mode = stack[stack.length - 1];
|
|
_context.t0 = mode.tag;
|
|
_context.next = _context.t0 === "JS" ? 12 : _context.t0 === "JSNonExpressionParen" ? 12 : _context.t0 === "InterpolationInTemplate" ? 12 : _context.t0 === "InterpolationInJSX" ? 12 : _context.t0 === "JSXTag" ? 135 : _context.t0 === "JSXTagEnd" ? 135 : _context.t0 === "JSXChildren" ? 171 : 194;
|
|
break;
|
|
case 12:
|
|
if (!(input[lastIndex] === "/" && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken)))) {
|
|
_context.next = 21;
|
|
break;
|
|
}
|
|
RegularExpressionLiteral.lastIndex = lastIndex;
|
|
if (!(match = RegularExpressionLiteral.exec(input))) {
|
|
_context.next = 21;
|
|
break;
|
|
}
|
|
lastIndex = RegularExpressionLiteral.lastIndex;
|
|
lastSignificantToken = match[0];
|
|
postfixIncDec = true;
|
|
_context.next = 20;
|
|
return {
|
|
type: "RegularExpressionLiteral",
|
|
value: match[0],
|
|
closed: match[1] !== void 0 && match[1] !== "\\"
|
|
};
|
|
case 20:
|
|
return _context.abrupt("continue", 7);
|
|
case 21:
|
|
Punctuator.lastIndex = lastIndex;
|
|
if (!(match = Punctuator.exec(input))) {
|
|
_context.next = 92;
|
|
break;
|
|
}
|
|
punctuator = match[0];
|
|
nextLastIndex = Punctuator.lastIndex;
|
|
nextLastSignificantToken = punctuator;
|
|
_context.t1 = punctuator;
|
|
_context.next = _context.t1 === "(" ? 29 : _context.t1 === ")" ? 33 : _context.t1 === "{" ? 37 : _context.t1 === "}" ? 42 : _context.t1 === "]" ? 73 : _context.t1 === "++" ? 75 : _context.t1 === "--" ? 75 : _context.t1 === "<" ? 77 : 86;
|
|
break;
|
|
case 29:
|
|
if (lastSignificantToken === "?NonExpressionParenKeyword") {
|
|
stack.push({
|
|
tag: "JSNonExpressionParen",
|
|
nesting: parenNesting
|
|
});
|
|
}
|
|
parenNesting++;
|
|
postfixIncDec = false;
|
|
return _context.abrupt("break", 87);
|
|
case 33:
|
|
parenNesting--;
|
|
postfixIncDec = true;
|
|
if (mode.tag === "JSNonExpressionParen" && parenNesting === mode.nesting) {
|
|
stack.pop();
|
|
nextLastSignificantToken = "?NonExpressionParenEnd";
|
|
postfixIncDec = false;
|
|
}
|
|
return _context.abrupt("break", 87);
|
|
case 37:
|
|
Punctuator.lastIndex = 0;
|
|
isExpression = !TokensNotPrecedingObjectLiteral.test(lastSignificantToken) && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken));
|
|
braces.push(isExpression);
|
|
postfixIncDec = false;
|
|
return _context.abrupt("break", 87);
|
|
case 42:
|
|
_context.t2 = mode.tag;
|
|
_context.next = _context.t2 === "InterpolationInTemplate" ? 45 : _context.t2 === "InterpolationInJSX" ? 63 : 70;
|
|
break;
|
|
case 45:
|
|
if (!(braces.length === mode.nesting)) {
|
|
_context.next = 62;
|
|
break;
|
|
}
|
|
Template.lastIndex = lastIndex;
|
|
match = Template.exec(input);
|
|
lastIndex = Template.lastIndex;
|
|
lastSignificantToken = match[0];
|
|
if (!(match[1] === "${")) {
|
|
_context.next = 57;
|
|
break;
|
|
}
|
|
lastSignificantToken = "?InterpolationInTemplate";
|
|
postfixIncDec = false;
|
|
_context.next = 55;
|
|
return {
|
|
type: "TemplateMiddle",
|
|
value: match[0]
|
|
};
|
|
case 55:
|
|
_context.next = 61;
|
|
break;
|
|
case 57:
|
|
stack.pop();
|
|
postfixIncDec = true;
|
|
_context.next = 61;
|
|
return {
|
|
type: "TemplateTail",
|
|
value: match[0],
|
|
closed: match[1] === "`"
|
|
};
|
|
case 61:
|
|
return _context.abrupt("continue", 7);
|
|
case 62:
|
|
return _context.abrupt("break", 70);
|
|
case 63:
|
|
if (!(braces.length === mode.nesting)) {
|
|
_context.next = 70;
|
|
break;
|
|
}
|
|
stack.pop();
|
|
lastIndex += 1;
|
|
lastSignificantToken = "}";
|
|
_context.next = 69;
|
|
return {
|
|
type: "JSXPunctuator",
|
|
value: "}"
|
|
};
|
|
case 69:
|
|
return _context.abrupt("continue", 7);
|
|
case 70:
|
|
postfixIncDec = braces.pop();
|
|
nextLastSignificantToken = postfixIncDec ? "?ExpressionBraceEnd" : "}";
|
|
return _context.abrupt("break", 87);
|
|
case 73:
|
|
postfixIncDec = true;
|
|
return _context.abrupt("break", 87);
|
|
case 75:
|
|
nextLastSignificantToken = postfixIncDec ? "?PostfixIncDec" : "?UnaryIncDec";
|
|
return _context.abrupt("break", 87);
|
|
case 77:
|
|
if (!(jsx && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken)))) {
|
|
_context.next = 84;
|
|
break;
|
|
}
|
|
stack.push({
|
|
tag: "JSXTag"
|
|
});
|
|
lastIndex += 1;
|
|
lastSignificantToken = "<";
|
|
_context.next = 83;
|
|
return {
|
|
type: "JSXPunctuator",
|
|
value: punctuator
|
|
};
|
|
case 83:
|
|
return _context.abrupt("continue", 7);
|
|
case 84:
|
|
postfixIncDec = false;
|
|
return _context.abrupt("break", 87);
|
|
case 86:
|
|
postfixIncDec = false;
|
|
case 87:
|
|
lastIndex = nextLastIndex;
|
|
lastSignificantToken = nextLastSignificantToken;
|
|
_context.next = 91;
|
|
return {
|
|
type: "Punctuator",
|
|
value: punctuator
|
|
};
|
|
case 91:
|
|
return _context.abrupt("continue", 7);
|
|
case 92:
|
|
Identifier.lastIndex = lastIndex;
|
|
if (!(match = Identifier.exec(input))) {
|
|
_context.next = 102;
|
|
break;
|
|
}
|
|
lastIndex = Identifier.lastIndex;
|
|
nextLastSignificantToken = match[0];
|
|
switch (match[0]) {
|
|
case "for":
|
|
case "if":
|
|
case "while":
|
|
case "with":
|
|
if (lastSignificantToken !== "." && lastSignificantToken !== "?.") {
|
|
nextLastSignificantToken = "?NonExpressionParenKeyword";
|
|
}
|
|
}
|
|
lastSignificantToken = nextLastSignificantToken;
|
|
postfixIncDec = !KeywordsWithExpressionAfter.test(match[0]);
|
|
_context.next = 101;
|
|
return {
|
|
type: match[1] === "#" ? "PrivateIdentifier" : "IdentifierName",
|
|
value: match[0]
|
|
};
|
|
case 101:
|
|
return _context.abrupt("continue", 7);
|
|
case 102:
|
|
StringLiteral.lastIndex = lastIndex;
|
|
if (!(match = StringLiteral.exec(input))) {
|
|
_context.next = 110;
|
|
break;
|
|
}
|
|
lastIndex = StringLiteral.lastIndex;
|
|
lastSignificantToken = match[0];
|
|
postfixIncDec = true;
|
|
_context.next = 109;
|
|
return {
|
|
type: "StringLiteral",
|
|
value: match[0],
|
|
closed: match[2] !== void 0
|
|
};
|
|
case 109:
|
|
return _context.abrupt("continue", 7);
|
|
case 110:
|
|
NumericLiteral.lastIndex = lastIndex;
|
|
if (!(match = NumericLiteral.exec(input))) {
|
|
_context.next = 118;
|
|
break;
|
|
}
|
|
lastIndex = NumericLiteral.lastIndex;
|
|
lastSignificantToken = match[0];
|
|
postfixIncDec = true;
|
|
_context.next = 117;
|
|
return {
|
|
type: "NumericLiteral",
|
|
value: match[0]
|
|
};
|
|
case 117:
|
|
return _context.abrupt("continue", 7);
|
|
case 118:
|
|
Template.lastIndex = lastIndex;
|
|
if (!(match = Template.exec(input))) {
|
|
_context.next = 134;
|
|
break;
|
|
}
|
|
lastIndex = Template.lastIndex;
|
|
lastSignificantToken = match[0];
|
|
if (!(match[1] === "${")) {
|
|
_context.next = 130;
|
|
break;
|
|
}
|
|
lastSignificantToken = "?InterpolationInTemplate";
|
|
stack.push({
|
|
tag: "InterpolationInTemplate",
|
|
nesting: braces.length
|
|
});
|
|
postfixIncDec = false;
|
|
_context.next = 128;
|
|
return {
|
|
type: "TemplateHead",
|
|
value: match[0]
|
|
};
|
|
case 128:
|
|
_context.next = 133;
|
|
break;
|
|
case 130:
|
|
postfixIncDec = true;
|
|
_context.next = 133;
|
|
return {
|
|
type: "NoSubstitutionTemplate",
|
|
value: match[0],
|
|
closed: match[1] === "`"
|
|
};
|
|
case 133:
|
|
return _context.abrupt("continue", 7);
|
|
case 134:
|
|
return _context.abrupt("break", 194);
|
|
case 135:
|
|
JSXPunctuator.lastIndex = lastIndex;
|
|
if (!(match = JSXPunctuator.exec(input))) {
|
|
_context.next = 156;
|
|
break;
|
|
}
|
|
lastIndex = JSXPunctuator.lastIndex;
|
|
nextLastSignificantToken = match[0];
|
|
_context.t3 = match[0];
|
|
_context.next = _context.t3 === "<" ? 142 : _context.t3 === ">" ? 144 : _context.t3 === "{" ? 147 : _context.t3 === "/" ? 151 : 152;
|
|
break;
|
|
case 142:
|
|
stack.push({
|
|
tag: "JSXTag"
|
|
});
|
|
return _context.abrupt("break", 152);
|
|
case 144:
|
|
stack.pop();
|
|
if (lastSignificantToken === "/" || mode.tag === "JSXTagEnd") {
|
|
nextLastSignificantToken = "?JSX";
|
|
postfixIncDec = true;
|
|
} else {
|
|
stack.push({
|
|
tag: "JSXChildren"
|
|
});
|
|
}
|
|
return _context.abrupt("break", 152);
|
|
case 147:
|
|
stack.push({
|
|
tag: "InterpolationInJSX",
|
|
nesting: braces.length
|
|
});
|
|
nextLastSignificantToken = "?InterpolationInJSX";
|
|
postfixIncDec = false;
|
|
return _context.abrupt("break", 152);
|
|
case 151:
|
|
if (lastSignificantToken === "<") {
|
|
stack.pop();
|
|
if (stack[stack.length - 1].tag === "JSXChildren") {
|
|
stack.pop();
|
|
}
|
|
stack.push({
|
|
tag: "JSXTagEnd"
|
|
});
|
|
}
|
|
case 152:
|
|
lastSignificantToken = nextLastSignificantToken;
|
|
_context.next = 155;
|
|
return {
|
|
type: "JSXPunctuator",
|
|
value: match[0]
|
|
};
|
|
case 155:
|
|
return _context.abrupt("continue", 7);
|
|
case 156:
|
|
JSXIdentifier.lastIndex = lastIndex;
|
|
if (!(match = JSXIdentifier.exec(input))) {
|
|
_context.next = 163;
|
|
break;
|
|
}
|
|
lastIndex = JSXIdentifier.lastIndex;
|
|
lastSignificantToken = match[0];
|
|
_context.next = 162;
|
|
return {
|
|
type: "JSXIdentifier",
|
|
value: match[0]
|
|
};
|
|
case 162:
|
|
return _context.abrupt("continue", 7);
|
|
case 163:
|
|
JSXString.lastIndex = lastIndex;
|
|
if (!(match = JSXString.exec(input))) {
|
|
_context.next = 170;
|
|
break;
|
|
}
|
|
lastIndex = JSXString.lastIndex;
|
|
lastSignificantToken = match[0];
|
|
_context.next = 169;
|
|
return {
|
|
type: "JSXString",
|
|
value: match[0],
|
|
closed: match[2] !== void 0
|
|
};
|
|
case 169:
|
|
return _context.abrupt("continue", 7);
|
|
case 170:
|
|
return _context.abrupt("break", 194);
|
|
case 171:
|
|
JSXText.lastIndex = lastIndex;
|
|
if (!(match = JSXText.exec(input))) {
|
|
_context.next = 178;
|
|
break;
|
|
}
|
|
lastIndex = JSXText.lastIndex;
|
|
lastSignificantToken = match[0];
|
|
_context.next = 177;
|
|
return {
|
|
type: "JSXText",
|
|
value: match[0]
|
|
};
|
|
case 177:
|
|
return _context.abrupt("continue", 7);
|
|
case 178:
|
|
_context.t4 = input[lastIndex];
|
|
_context.next = _context.t4 === "<" ? 181 : _context.t4 === "{" ? 187 : 194;
|
|
break;
|
|
case 181:
|
|
stack.push({
|
|
tag: "JSXTag"
|
|
});
|
|
lastIndex++;
|
|
lastSignificantToken = "<";
|
|
_context.next = 186;
|
|
return {
|
|
type: "JSXPunctuator",
|
|
value: "<"
|
|
};
|
|
case 186:
|
|
return _context.abrupt("continue", 7);
|
|
case 187:
|
|
stack.push({
|
|
tag: "InterpolationInJSX",
|
|
nesting: braces.length
|
|
});
|
|
lastIndex++;
|
|
lastSignificantToken = "?InterpolationInJSX";
|
|
postfixIncDec = false;
|
|
_context.next = 193;
|
|
return {
|
|
type: "JSXPunctuator",
|
|
value: "{"
|
|
};
|
|
case 193:
|
|
return _context.abrupt("continue", 7);
|
|
case 194:
|
|
WhiteSpace.lastIndex = lastIndex;
|
|
if (!(match = WhiteSpace.exec(input))) {
|
|
_context.next = 200;
|
|
break;
|
|
}
|
|
lastIndex = WhiteSpace.lastIndex;
|
|
_context.next = 199;
|
|
return {
|
|
type: "WhiteSpace",
|
|
value: match[0]
|
|
};
|
|
case 199:
|
|
return _context.abrupt("continue", 7);
|
|
case 200:
|
|
LineTerminatorSequence.lastIndex = lastIndex;
|
|
if (!(match = LineTerminatorSequence.exec(input))) {
|
|
_context.next = 208;
|
|
break;
|
|
}
|
|
lastIndex = LineTerminatorSequence.lastIndex;
|
|
postfixIncDec = false;
|
|
if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {
|
|
lastSignificantToken = "?NoLineTerminatorHere";
|
|
}
|
|
_context.next = 207;
|
|
return {
|
|
type: "LineTerminatorSequence",
|
|
value: match[0]
|
|
};
|
|
case 207:
|
|
return _context.abrupt("continue", 7);
|
|
case 208:
|
|
MultiLineComment.lastIndex = lastIndex;
|
|
if (!(match = MultiLineComment.exec(input))) {
|
|
_context.next = 215;
|
|
break;
|
|
}
|
|
lastIndex = MultiLineComment.lastIndex;
|
|
if (Newline.test(match[0])) {
|
|
postfixIncDec = false;
|
|
if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {
|
|
lastSignificantToken = "?NoLineTerminatorHere";
|
|
}
|
|
}
|
|
_context.next = 214;
|
|
return {
|
|
type: "MultiLineComment",
|
|
value: match[0],
|
|
closed: match[1] !== void 0
|
|
};
|
|
case 214:
|
|
return _context.abrupt("continue", 7);
|
|
case 215:
|
|
SingleLineComment.lastIndex = lastIndex;
|
|
if (!(match = SingleLineComment.exec(input))) {
|
|
_context.next = 222;
|
|
break;
|
|
}
|
|
lastIndex = SingleLineComment.lastIndex;
|
|
postfixIncDec = false;
|
|
_context.next = 221;
|
|
return {
|
|
type: "SingleLineComment",
|
|
value: match[0]
|
|
};
|
|
case 221:
|
|
return _context.abrupt("continue", 7);
|
|
case 222:
|
|
firstCodePoint = String.fromCodePoint(input.codePointAt(lastIndex));
|
|
lastIndex += firstCodePoint.length;
|
|
lastSignificantToken = firstCodePoint;
|
|
postfixIncDec = false;
|
|
_context.next = 228;
|
|
return {
|
|
type: mode.tag.startsWith("JSX") ? "JSXInvalid" : "Invalid",
|
|
value: firstCodePoint
|
|
};
|
|
case 228:
|
|
_context.next = 7;
|
|
break;
|
|
case 230:
|
|
return _context.abrupt("return", void 0);
|
|
case 231:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
})();
|
|
};
|
|
return jsTokensBABEL_8_BREAKINGTrue;
|
|
}
|
|
|
|
var jsTokensBABEL_8_BREAKINGFalse = {};
|
|
|
|
var hasRequiredJsTokensBABEL_8_BREAKINGFalse;
|
|
function requireJsTokensBABEL_8_BREAKINGFalse() {
|
|
if (hasRequiredJsTokensBABEL_8_BREAKINGFalse) return jsTokensBABEL_8_BREAKINGFalse;
|
|
hasRequiredJsTokensBABEL_8_BREAKINGFalse = 1;
|
|
Object.defineProperty(jsTokensBABEL_8_BREAKINGFalse, "__esModule", {
|
|
value: true
|
|
});
|
|
jsTokensBABEL_8_BREAKINGFalse["default"] = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
|
|
jsTokensBABEL_8_BREAKINGFalse.matchToToken = function (match) {
|
|
var token = {
|
|
type: "invalid",
|
|
value: match[0],
|
|
closed: undefined
|
|
};
|
|
if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = "comment";else if (match[6]) token.type = "comment", token.closed = !!match[7];else if (match[8]) token.type = "regex";else if (match[9]) token.type = "number";else if (match[10]) token.type = "name";else if (match[11]) token.type = "punctuator";else if (match[12]) token.type = "whitespace";
|
|
return token;
|
|
};
|
|
return jsTokensBABEL_8_BREAKINGFalse;
|
|
}
|
|
|
|
function bool$7(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var jsTokens = bool$7(browser$1$1.env["BABEL_8_BREAKING"]) ? requireJsTokensBABEL_8_BREAKINGTrue() : requireJsTokensBABEL_8_BREAKINGFalse();
|
|
|
|
var chalk = {exports: {}};
|
|
|
|
var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
|
|
var escapeStringRegexp = function escapeStringRegexp(str) {
|
|
if (typeof str !== 'string') {
|
|
throw new TypeError('Expected a string');
|
|
}
|
|
return str.replace(matchOperatorsRe, '\\$&');
|
|
};
|
|
|
|
var ansiStyles = {exports: {}};
|
|
|
|
var conversions$2 = {exports: {}};
|
|
|
|
var colorName = {
|
|
"aliceblue": [240, 248, 255],
|
|
"antiquewhite": [250, 235, 215],
|
|
"aqua": [0, 255, 255],
|
|
"aquamarine": [127, 255, 212],
|
|
"azure": [240, 255, 255],
|
|
"beige": [245, 245, 220],
|
|
"bisque": [255, 228, 196],
|
|
"black": [0, 0, 0],
|
|
"blanchedalmond": [255, 235, 205],
|
|
"blue": [0, 0, 255],
|
|
"blueviolet": [138, 43, 226],
|
|
"brown": [165, 42, 42],
|
|
"burlywood": [222, 184, 135],
|
|
"cadetblue": [95, 158, 160],
|
|
"chartreuse": [127, 255, 0],
|
|
"chocolate": [210, 105, 30],
|
|
"coral": [255, 127, 80],
|
|
"cornflowerblue": [100, 149, 237],
|
|
"cornsilk": [255, 248, 220],
|
|
"crimson": [220, 20, 60],
|
|
"cyan": [0, 255, 255],
|
|
"darkblue": [0, 0, 139],
|
|
"darkcyan": [0, 139, 139],
|
|
"darkgoldenrod": [184, 134, 11],
|
|
"darkgray": [169, 169, 169],
|
|
"darkgreen": [0, 100, 0],
|
|
"darkgrey": [169, 169, 169],
|
|
"darkkhaki": [189, 183, 107],
|
|
"darkmagenta": [139, 0, 139],
|
|
"darkolivegreen": [85, 107, 47],
|
|
"darkorange": [255, 140, 0],
|
|
"darkorchid": [153, 50, 204],
|
|
"darkred": [139, 0, 0],
|
|
"darksalmon": [233, 150, 122],
|
|
"darkseagreen": [143, 188, 143],
|
|
"darkslateblue": [72, 61, 139],
|
|
"darkslategray": [47, 79, 79],
|
|
"darkslategrey": [47, 79, 79],
|
|
"darkturquoise": [0, 206, 209],
|
|
"darkviolet": [148, 0, 211],
|
|
"deeppink": [255, 20, 147],
|
|
"deepskyblue": [0, 191, 255],
|
|
"dimgray": [105, 105, 105],
|
|
"dimgrey": [105, 105, 105],
|
|
"dodgerblue": [30, 144, 255],
|
|
"firebrick": [178, 34, 34],
|
|
"floralwhite": [255, 250, 240],
|
|
"forestgreen": [34, 139, 34],
|
|
"fuchsia": [255, 0, 255],
|
|
"gainsboro": [220, 220, 220],
|
|
"ghostwhite": [248, 248, 255],
|
|
"gold": [255, 215, 0],
|
|
"goldenrod": [218, 165, 32],
|
|
"gray": [128, 128, 128],
|
|
"green": [0, 128, 0],
|
|
"greenyellow": [173, 255, 47],
|
|
"grey": [128, 128, 128],
|
|
"honeydew": [240, 255, 240],
|
|
"hotpink": [255, 105, 180],
|
|
"indianred": [205, 92, 92],
|
|
"indigo": [75, 0, 130],
|
|
"ivory": [255, 255, 240],
|
|
"khaki": [240, 230, 140],
|
|
"lavender": [230, 230, 250],
|
|
"lavenderblush": [255, 240, 245],
|
|
"lawngreen": [124, 252, 0],
|
|
"lemonchiffon": [255, 250, 205],
|
|
"lightblue": [173, 216, 230],
|
|
"lightcoral": [240, 128, 128],
|
|
"lightcyan": [224, 255, 255],
|
|
"lightgoldenrodyellow": [250, 250, 210],
|
|
"lightgray": [211, 211, 211],
|
|
"lightgreen": [144, 238, 144],
|
|
"lightgrey": [211, 211, 211],
|
|
"lightpink": [255, 182, 193],
|
|
"lightsalmon": [255, 160, 122],
|
|
"lightseagreen": [32, 178, 170],
|
|
"lightskyblue": [135, 206, 250],
|
|
"lightslategray": [119, 136, 153],
|
|
"lightslategrey": [119, 136, 153],
|
|
"lightsteelblue": [176, 196, 222],
|
|
"lightyellow": [255, 255, 224],
|
|
"lime": [0, 255, 0],
|
|
"limegreen": [50, 205, 50],
|
|
"linen": [250, 240, 230],
|
|
"magenta": [255, 0, 255],
|
|
"maroon": [128, 0, 0],
|
|
"mediumaquamarine": [102, 205, 170],
|
|
"mediumblue": [0, 0, 205],
|
|
"mediumorchid": [186, 85, 211],
|
|
"mediumpurple": [147, 112, 219],
|
|
"mediumseagreen": [60, 179, 113],
|
|
"mediumslateblue": [123, 104, 238],
|
|
"mediumspringgreen": [0, 250, 154],
|
|
"mediumturquoise": [72, 209, 204],
|
|
"mediumvioletred": [199, 21, 133],
|
|
"midnightblue": [25, 25, 112],
|
|
"mintcream": [245, 255, 250],
|
|
"mistyrose": [255, 228, 225],
|
|
"moccasin": [255, 228, 181],
|
|
"navajowhite": [255, 222, 173],
|
|
"navy": [0, 0, 128],
|
|
"oldlace": [253, 245, 230],
|
|
"olive": [128, 128, 0],
|
|
"olivedrab": [107, 142, 35],
|
|
"orange": [255, 165, 0],
|
|
"orangered": [255, 69, 0],
|
|
"orchid": [218, 112, 214],
|
|
"palegoldenrod": [238, 232, 170],
|
|
"palegreen": [152, 251, 152],
|
|
"paleturquoise": [175, 238, 238],
|
|
"palevioletred": [219, 112, 147],
|
|
"papayawhip": [255, 239, 213],
|
|
"peachpuff": [255, 218, 185],
|
|
"peru": [205, 133, 63],
|
|
"pink": [255, 192, 203],
|
|
"plum": [221, 160, 221],
|
|
"powderblue": [176, 224, 230],
|
|
"purple": [128, 0, 128],
|
|
"rebeccapurple": [102, 51, 153],
|
|
"red": [255, 0, 0],
|
|
"rosybrown": [188, 143, 143],
|
|
"royalblue": [65, 105, 225],
|
|
"saddlebrown": [139, 69, 19],
|
|
"salmon": [250, 128, 114],
|
|
"sandybrown": [244, 164, 96],
|
|
"seagreen": [46, 139, 87],
|
|
"seashell": [255, 245, 238],
|
|
"sienna": [160, 82, 45],
|
|
"silver": [192, 192, 192],
|
|
"skyblue": [135, 206, 235],
|
|
"slateblue": [106, 90, 205],
|
|
"slategray": [112, 128, 144],
|
|
"slategrey": [112, 128, 144],
|
|
"snow": [255, 250, 250],
|
|
"springgreen": [0, 255, 127],
|
|
"steelblue": [70, 130, 180],
|
|
"tan": [210, 180, 140],
|
|
"teal": [0, 128, 128],
|
|
"thistle": [216, 191, 216],
|
|
"tomato": [255, 99, 71],
|
|
"turquoise": [64, 224, 208],
|
|
"violet": [238, 130, 238],
|
|
"wheat": [245, 222, 179],
|
|
"white": [255, 255, 255],
|
|
"whitesmoke": [245, 245, 245],
|
|
"yellow": [255, 255, 0],
|
|
"yellowgreen": [154, 205, 50]
|
|
};
|
|
|
|
var cssKeywords = colorName;
|
|
var reverseKeywords = {};
|
|
for (var key in cssKeywords) {
|
|
if (cssKeywords.hasOwnProperty(key)) {
|
|
reverseKeywords[cssKeywords[key]] = key;
|
|
}
|
|
}
|
|
var convert$1 = conversions$2.exports = {
|
|
rgb: {
|
|
channels: 3,
|
|
labels: 'rgb'
|
|
},
|
|
hsl: {
|
|
channels: 3,
|
|
labels: 'hsl'
|
|
},
|
|
hsv: {
|
|
channels: 3,
|
|
labels: 'hsv'
|
|
},
|
|
hwb: {
|
|
channels: 3,
|
|
labels: 'hwb'
|
|
},
|
|
cmyk: {
|
|
channels: 4,
|
|
labels: 'cmyk'
|
|
},
|
|
xyz: {
|
|
channels: 3,
|
|
labels: 'xyz'
|
|
},
|
|
lab: {
|
|
channels: 3,
|
|
labels: 'lab'
|
|
},
|
|
lch: {
|
|
channels: 3,
|
|
labels: 'lch'
|
|
},
|
|
hex: {
|
|
channels: 1,
|
|
labels: ['hex']
|
|
},
|
|
keyword: {
|
|
channels: 1,
|
|
labels: ['keyword']
|
|
},
|
|
ansi16: {
|
|
channels: 1,
|
|
labels: ['ansi16']
|
|
},
|
|
ansi256: {
|
|
channels: 1,
|
|
labels: ['ansi256']
|
|
},
|
|
hcg: {
|
|
channels: 3,
|
|
labels: ['h', 'c', 'g']
|
|
},
|
|
apple: {
|
|
channels: 3,
|
|
labels: ['r16', 'g16', 'b16']
|
|
},
|
|
gray: {
|
|
channels: 1,
|
|
labels: ['gray']
|
|
}
|
|
};
|
|
for (var model in convert$1) {
|
|
if (convert$1.hasOwnProperty(model)) {
|
|
if (!('channels' in convert$1[model])) {
|
|
throw new Error('missing channels property: ' + model);
|
|
}
|
|
if (!('labels' in convert$1[model])) {
|
|
throw new Error('missing channel labels property: ' + model);
|
|
}
|
|
if (convert$1[model].labels.length !== convert$1[model].channels) {
|
|
throw new Error('channel and label counts mismatch: ' + model);
|
|
}
|
|
var channels = convert$1[model].channels;
|
|
var labels = convert$1[model].labels;
|
|
delete convert$1[model].channels;
|
|
delete convert$1[model].labels;
|
|
Object.defineProperty(convert$1[model], 'channels', {
|
|
value: channels
|
|
});
|
|
Object.defineProperty(convert$1[model], 'labels', {
|
|
value: labels
|
|
});
|
|
}
|
|
}
|
|
convert$1.rgb.hsl = function (rgb) {
|
|
var r = rgb[0] / 255;
|
|
var g = rgb[1] / 255;
|
|
var b = rgb[2] / 255;
|
|
var min = Math.min(r, g, b);
|
|
var max = Math.max(r, g, b);
|
|
var delta = max - min;
|
|
var h;
|
|
var s;
|
|
var l;
|
|
if (max === min) {
|
|
h = 0;
|
|
} else if (r === max) {
|
|
h = (g - b) / delta;
|
|
} else if (g === max) {
|
|
h = 2 + (b - r) / delta;
|
|
} else if (b === max) {
|
|
h = 4 + (r - g) / delta;
|
|
}
|
|
h = Math.min(h * 60, 360);
|
|
if (h < 0) {
|
|
h += 360;
|
|
}
|
|
l = (min + max) / 2;
|
|
if (max === min) {
|
|
s = 0;
|
|
} else if (l <= 0.5) {
|
|
s = delta / (max + min);
|
|
} else {
|
|
s = delta / (2 - max - min);
|
|
}
|
|
return [h, s * 100, l * 100];
|
|
};
|
|
convert$1.rgb.hsv = function (rgb) {
|
|
var rdif;
|
|
var gdif;
|
|
var bdif;
|
|
var h;
|
|
var s;
|
|
var r = rgb[0] / 255;
|
|
var g = rgb[1] / 255;
|
|
var b = rgb[2] / 255;
|
|
var v = Math.max(r, g, b);
|
|
var diff = v - Math.min(r, g, b);
|
|
var diffc = function diffc(c) {
|
|
return (v - c) / 6 / diff + 1 / 2;
|
|
};
|
|
if (diff === 0) {
|
|
h = s = 0;
|
|
} else {
|
|
s = diff / v;
|
|
rdif = diffc(r);
|
|
gdif = diffc(g);
|
|
bdif = diffc(b);
|
|
if (r === v) {
|
|
h = bdif - gdif;
|
|
} else if (g === v) {
|
|
h = 1 / 3 + rdif - bdif;
|
|
} else if (b === v) {
|
|
h = 2 / 3 + gdif - rdif;
|
|
}
|
|
if (h < 0) {
|
|
h += 1;
|
|
} else if (h > 1) {
|
|
h -= 1;
|
|
}
|
|
}
|
|
return [h * 360, s * 100, v * 100];
|
|
};
|
|
convert$1.rgb.hwb = function (rgb) {
|
|
var r = rgb[0];
|
|
var g = rgb[1];
|
|
var b = rgb[2];
|
|
var h = convert$1.rgb.hsl(rgb)[0];
|
|
var w = 1 / 255 * Math.min(r, Math.min(g, b));
|
|
b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
|
|
return [h, w * 100, b * 100];
|
|
};
|
|
convert$1.rgb.cmyk = function (rgb) {
|
|
var r = rgb[0] / 255;
|
|
var g = rgb[1] / 255;
|
|
var b = rgb[2] / 255;
|
|
var c;
|
|
var m;
|
|
var y;
|
|
var k;
|
|
k = Math.min(1 - r, 1 - g, 1 - b);
|
|
c = (1 - r - k) / (1 - k) || 0;
|
|
m = (1 - g - k) / (1 - k) || 0;
|
|
y = (1 - b - k) / (1 - k) || 0;
|
|
return [c * 100, m * 100, y * 100, k * 100];
|
|
};
|
|
function comparativeDistance(x, y) {
|
|
return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);
|
|
}
|
|
convert$1.rgb.keyword = function (rgb) {
|
|
var reversed = reverseKeywords[rgb];
|
|
if (reversed) {
|
|
return reversed;
|
|
}
|
|
var currentClosestDistance = Infinity;
|
|
var currentClosestKeyword;
|
|
for (var keyword in cssKeywords) {
|
|
if (cssKeywords.hasOwnProperty(keyword)) {
|
|
var value = cssKeywords[keyword];
|
|
var distance = comparativeDistance(rgb, value);
|
|
if (distance < currentClosestDistance) {
|
|
currentClosestDistance = distance;
|
|
currentClosestKeyword = keyword;
|
|
}
|
|
}
|
|
}
|
|
return currentClosestKeyword;
|
|
};
|
|
convert$1.keyword.rgb = function (keyword) {
|
|
return cssKeywords[keyword];
|
|
};
|
|
convert$1.rgb.xyz = function (rgb) {
|
|
var r = rgb[0] / 255;
|
|
var g = rgb[1] / 255;
|
|
var b = rgb[2] / 255;
|
|
r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
|
|
g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
|
|
b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
|
|
var x = r * 0.4124 + g * 0.3576 + b * 0.1805;
|
|
var y = r * 0.2126 + g * 0.7152 + b * 0.0722;
|
|
var z = r * 0.0193 + g * 0.1192 + b * 0.9505;
|
|
return [x * 100, y * 100, z * 100];
|
|
};
|
|
convert$1.rgb.lab = function (rgb) {
|
|
var xyz = convert$1.rgb.xyz(rgb);
|
|
var x = xyz[0];
|
|
var y = xyz[1];
|
|
var z = xyz[2];
|
|
var l;
|
|
var a;
|
|
var b;
|
|
x /= 95.047;
|
|
y /= 100;
|
|
z /= 108.883;
|
|
x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
|
|
y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
|
|
z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
|
|
l = 116 * y - 16;
|
|
a = 500 * (x - y);
|
|
b = 200 * (y - z);
|
|
return [l, a, b];
|
|
};
|
|
convert$1.hsl.rgb = function (hsl) {
|
|
var h = hsl[0] / 360;
|
|
var s = hsl[1] / 100;
|
|
var l = hsl[2] / 100;
|
|
var t1;
|
|
var t2;
|
|
var t3;
|
|
var rgb;
|
|
var val;
|
|
if (s === 0) {
|
|
val = l * 255;
|
|
return [val, val, val];
|
|
}
|
|
if (l < 0.5) {
|
|
t2 = l * (1 + s);
|
|
} else {
|
|
t2 = l + s - l * s;
|
|
}
|
|
t1 = 2 * l - t2;
|
|
rgb = [0, 0, 0];
|
|
for (var i = 0; i < 3; i++) {
|
|
t3 = h + 1 / 3 * -(i - 1);
|
|
if (t3 < 0) {
|
|
t3++;
|
|
}
|
|
if (t3 > 1) {
|
|
t3--;
|
|
}
|
|
if (6 * t3 < 1) {
|
|
val = t1 + (t2 - t1) * 6 * t3;
|
|
} else if (2 * t3 < 1) {
|
|
val = t2;
|
|
} else if (3 * t3 < 2) {
|
|
val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
|
|
} else {
|
|
val = t1;
|
|
}
|
|
rgb[i] = val * 255;
|
|
}
|
|
return rgb;
|
|
};
|
|
convert$1.hsl.hsv = function (hsl) {
|
|
var h = hsl[0];
|
|
var s = hsl[1] / 100;
|
|
var l = hsl[2] / 100;
|
|
var smin = s;
|
|
var lmin = Math.max(l, 0.01);
|
|
var sv;
|
|
var v;
|
|
l *= 2;
|
|
s *= l <= 1 ? l : 2 - l;
|
|
smin *= lmin <= 1 ? lmin : 2 - lmin;
|
|
v = (l + s) / 2;
|
|
sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
|
|
return [h, sv * 100, v * 100];
|
|
};
|
|
convert$1.hsv.rgb = function (hsv) {
|
|
var h = hsv[0] / 60;
|
|
var s = hsv[1] / 100;
|
|
var v = hsv[2] / 100;
|
|
var hi = Math.floor(h) % 6;
|
|
var f = h - Math.floor(h);
|
|
var p = 255 * v * (1 - s);
|
|
var q = 255 * v * (1 - s * f);
|
|
var t = 255 * v * (1 - s * (1 - f));
|
|
v *= 255;
|
|
switch (hi) {
|
|
case 0:
|
|
return [v, t, p];
|
|
case 1:
|
|
return [q, v, p];
|
|
case 2:
|
|
return [p, v, t];
|
|
case 3:
|
|
return [p, q, v];
|
|
case 4:
|
|
return [t, p, v];
|
|
case 5:
|
|
return [v, p, q];
|
|
}
|
|
};
|
|
convert$1.hsv.hsl = function (hsv) {
|
|
var h = hsv[0];
|
|
var s = hsv[1] / 100;
|
|
var v = hsv[2] / 100;
|
|
var vmin = Math.max(v, 0.01);
|
|
var lmin;
|
|
var sl;
|
|
var l;
|
|
l = (2 - s) * v;
|
|
lmin = (2 - s) * vmin;
|
|
sl = s * vmin;
|
|
sl /= lmin <= 1 ? lmin : 2 - lmin;
|
|
sl = sl || 0;
|
|
l /= 2;
|
|
return [h, sl * 100, l * 100];
|
|
};
|
|
convert$1.hwb.rgb = function (hwb) {
|
|
var h = hwb[0] / 360;
|
|
var wh = hwb[1] / 100;
|
|
var bl = hwb[2] / 100;
|
|
var ratio = wh + bl;
|
|
var i;
|
|
var v;
|
|
var f;
|
|
var n;
|
|
if (ratio > 1) {
|
|
wh /= ratio;
|
|
bl /= ratio;
|
|
}
|
|
i = Math.floor(6 * h);
|
|
v = 1 - bl;
|
|
f = 6 * h - i;
|
|
if ((i & 0x01) !== 0) {
|
|
f = 1 - f;
|
|
}
|
|
n = wh + f * (v - wh);
|
|
var r;
|
|
var g;
|
|
var b;
|
|
switch (i) {
|
|
default:
|
|
case 6:
|
|
case 0:
|
|
r = v;
|
|
g = n;
|
|
b = wh;
|
|
break;
|
|
case 1:
|
|
r = n;
|
|
g = v;
|
|
b = wh;
|
|
break;
|
|
case 2:
|
|
r = wh;
|
|
g = v;
|
|
b = n;
|
|
break;
|
|
case 3:
|
|
r = wh;
|
|
g = n;
|
|
b = v;
|
|
break;
|
|
case 4:
|
|
r = n;
|
|
g = wh;
|
|
b = v;
|
|
break;
|
|
case 5:
|
|
r = v;
|
|
g = wh;
|
|
b = n;
|
|
break;
|
|
}
|
|
return [r * 255, g * 255, b * 255];
|
|
};
|
|
convert$1.cmyk.rgb = function (cmyk) {
|
|
var c = cmyk[0] / 100;
|
|
var m = cmyk[1] / 100;
|
|
var y = cmyk[2] / 100;
|
|
var k = cmyk[3] / 100;
|
|
var r;
|
|
var g;
|
|
var b;
|
|
r = 1 - Math.min(1, c * (1 - k) + k);
|
|
g = 1 - Math.min(1, m * (1 - k) + k);
|
|
b = 1 - Math.min(1, y * (1 - k) + k);
|
|
return [r * 255, g * 255, b * 255];
|
|
};
|
|
convert$1.xyz.rgb = function (xyz) {
|
|
var x = xyz[0] / 100;
|
|
var y = xyz[1] / 100;
|
|
var z = xyz[2] / 100;
|
|
var r;
|
|
var g;
|
|
var b;
|
|
r = x * 3.2406 + y * -1.5372 + z * -0.4986;
|
|
g = x * -0.9689 + y * 1.8758 + z * 0.0415;
|
|
b = x * 0.0557 + y * -0.2040 + z * 1.0570;
|
|
r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;
|
|
g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;
|
|
b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;
|
|
r = Math.min(Math.max(0, r), 1);
|
|
g = Math.min(Math.max(0, g), 1);
|
|
b = Math.min(Math.max(0, b), 1);
|
|
return [r * 255, g * 255, b * 255];
|
|
};
|
|
convert$1.xyz.lab = function (xyz) {
|
|
var x = xyz[0];
|
|
var y = xyz[1];
|
|
var z = xyz[2];
|
|
var l;
|
|
var a;
|
|
var b;
|
|
x /= 95.047;
|
|
y /= 100;
|
|
z /= 108.883;
|
|
x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
|
|
y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
|
|
z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
|
|
l = 116 * y - 16;
|
|
a = 500 * (x - y);
|
|
b = 200 * (y - z);
|
|
return [l, a, b];
|
|
};
|
|
convert$1.lab.xyz = function (lab) {
|
|
var l = lab[0];
|
|
var a = lab[1];
|
|
var b = lab[2];
|
|
var x;
|
|
var y;
|
|
var z;
|
|
y = (l + 16) / 116;
|
|
x = a / 500 + y;
|
|
z = y - b / 200;
|
|
var y2 = Math.pow(y, 3);
|
|
var x2 = Math.pow(x, 3);
|
|
var z2 = Math.pow(z, 3);
|
|
y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
|
|
x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
|
|
z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
|
|
x *= 95.047;
|
|
y *= 100;
|
|
z *= 108.883;
|
|
return [x, y, z];
|
|
};
|
|
convert$1.lab.lch = function (lab) {
|
|
var l = lab[0];
|
|
var a = lab[1];
|
|
var b = lab[2];
|
|
var hr;
|
|
var h;
|
|
var c;
|
|
hr = Math.atan2(b, a);
|
|
h = hr * 360 / 2 / Math.PI;
|
|
if (h < 0) {
|
|
h += 360;
|
|
}
|
|
c = Math.sqrt(a * a + b * b);
|
|
return [l, c, h];
|
|
};
|
|
convert$1.lch.lab = function (lch) {
|
|
var l = lch[0];
|
|
var c = lch[1];
|
|
var h = lch[2];
|
|
var a;
|
|
var b;
|
|
var hr;
|
|
hr = h / 360 * 2 * Math.PI;
|
|
a = c * Math.cos(hr);
|
|
b = c * Math.sin(hr);
|
|
return [l, a, b];
|
|
};
|
|
convert$1.rgb.ansi16 = function (args) {
|
|
var r = args[0];
|
|
var g = args[1];
|
|
var b = args[2];
|
|
var value = 1 in arguments ? arguments[1] : convert$1.rgb.hsv(args)[2];
|
|
value = Math.round(value / 50);
|
|
if (value === 0) {
|
|
return 30;
|
|
}
|
|
var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
|
|
if (value === 2) {
|
|
ansi += 60;
|
|
}
|
|
return ansi;
|
|
};
|
|
convert$1.hsv.ansi16 = function (args) {
|
|
return convert$1.rgb.ansi16(convert$1.hsv.rgb(args), args[2]);
|
|
};
|
|
convert$1.rgb.ansi256 = function (args) {
|
|
var r = args[0];
|
|
var g = args[1];
|
|
var b = args[2];
|
|
if (r === g && g === b) {
|
|
if (r < 8) {
|
|
return 16;
|
|
}
|
|
if (r > 248) {
|
|
return 231;
|
|
}
|
|
return Math.round((r - 8) / 247 * 24) + 232;
|
|
}
|
|
var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
|
|
return ansi;
|
|
};
|
|
convert$1.ansi16.rgb = function (args) {
|
|
var color = args % 10;
|
|
if (color === 0 || color === 7) {
|
|
if (args > 50) {
|
|
color += 3.5;
|
|
}
|
|
color = color / 10.5 * 255;
|
|
return [color, color, color];
|
|
}
|
|
var mult = (~~(args > 50) + 1) * 0.5;
|
|
var r = (color & 1) * mult * 255;
|
|
var g = (color >> 1 & 1) * mult * 255;
|
|
var b = (color >> 2 & 1) * mult * 255;
|
|
return [r, g, b];
|
|
};
|
|
convert$1.ansi256.rgb = function (args) {
|
|
if (args >= 232) {
|
|
var c = (args - 232) * 10 + 8;
|
|
return [c, c, c];
|
|
}
|
|
args -= 16;
|
|
var rem;
|
|
var r = Math.floor(args / 36) / 5 * 255;
|
|
var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
|
|
var b = rem % 6 / 5 * 255;
|
|
return [r, g, b];
|
|
};
|
|
convert$1.rgb.hex = function (args) {
|
|
var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);
|
|
var string = integer.toString(16).toUpperCase();
|
|
return '000000'.substring(string.length) + string;
|
|
};
|
|
convert$1.hex.rgb = function (args) {
|
|
var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
|
|
if (!match) {
|
|
return [0, 0, 0];
|
|
}
|
|
var colorString = match[0];
|
|
if (match[0].length === 3) {
|
|
colorString = colorString.split('').map(function (_char) {
|
|
return _char + _char;
|
|
}).join('');
|
|
}
|
|
var integer = parseInt(colorString, 16);
|
|
var r = integer >> 16 & 0xFF;
|
|
var g = integer >> 8 & 0xFF;
|
|
var b = integer & 0xFF;
|
|
return [r, g, b];
|
|
};
|
|
convert$1.rgb.hcg = function (rgb) {
|
|
var r = rgb[0] / 255;
|
|
var g = rgb[1] / 255;
|
|
var b = rgb[2] / 255;
|
|
var max = Math.max(Math.max(r, g), b);
|
|
var min = Math.min(Math.min(r, g), b);
|
|
var chroma = max - min;
|
|
var grayscale;
|
|
var hue;
|
|
if (chroma < 1) {
|
|
grayscale = min / (1 - chroma);
|
|
} else {
|
|
grayscale = 0;
|
|
}
|
|
if (chroma <= 0) {
|
|
hue = 0;
|
|
} else if (max === r) {
|
|
hue = (g - b) / chroma % 6;
|
|
} else if (max === g) {
|
|
hue = 2 + (b - r) / chroma;
|
|
} else {
|
|
hue = 4 + (r - g) / chroma + 4;
|
|
}
|
|
hue /= 6;
|
|
hue %= 1;
|
|
return [hue * 360, chroma * 100, grayscale * 100];
|
|
};
|
|
convert$1.hsl.hcg = function (hsl) {
|
|
var s = hsl[1] / 100;
|
|
var l = hsl[2] / 100;
|
|
var c = 1;
|
|
var f = 0;
|
|
if (l < 0.5) {
|
|
c = 2.0 * s * l;
|
|
} else {
|
|
c = 2.0 * s * (1.0 - l);
|
|
}
|
|
if (c < 1.0) {
|
|
f = (l - 0.5 * c) / (1.0 - c);
|
|
}
|
|
return [hsl[0], c * 100, f * 100];
|
|
};
|
|
convert$1.hsv.hcg = function (hsv) {
|
|
var s = hsv[1] / 100;
|
|
var v = hsv[2] / 100;
|
|
var c = s * v;
|
|
var f = 0;
|
|
if (c < 1.0) {
|
|
f = (v - c) / (1 - c);
|
|
}
|
|
return [hsv[0], c * 100, f * 100];
|
|
};
|
|
convert$1.hcg.rgb = function (hcg) {
|
|
var h = hcg[0] / 360;
|
|
var c = hcg[1] / 100;
|
|
var g = hcg[2] / 100;
|
|
if (c === 0.0) {
|
|
return [g * 255, g * 255, g * 255];
|
|
}
|
|
var pure = [0, 0, 0];
|
|
var hi = h % 1 * 6;
|
|
var v = hi % 1;
|
|
var w = 1 - v;
|
|
var mg = 0;
|
|
switch (Math.floor(hi)) {
|
|
case 0:
|
|
pure[0] = 1;
|
|
pure[1] = v;
|
|
pure[2] = 0;
|
|
break;
|
|
case 1:
|
|
pure[0] = w;
|
|
pure[1] = 1;
|
|
pure[2] = 0;
|
|
break;
|
|
case 2:
|
|
pure[0] = 0;
|
|
pure[1] = 1;
|
|
pure[2] = v;
|
|
break;
|
|
case 3:
|
|
pure[0] = 0;
|
|
pure[1] = w;
|
|
pure[2] = 1;
|
|
break;
|
|
case 4:
|
|
pure[0] = v;
|
|
pure[1] = 0;
|
|
pure[2] = 1;
|
|
break;
|
|
default:
|
|
pure[0] = 1;
|
|
pure[1] = 0;
|
|
pure[2] = w;
|
|
}
|
|
mg = (1.0 - c) * g;
|
|
return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];
|
|
};
|
|
convert$1.hcg.hsv = function (hcg) {
|
|
var c = hcg[1] / 100;
|
|
var g = hcg[2] / 100;
|
|
var v = c + g * (1.0 - c);
|
|
var f = 0;
|
|
if (v > 0.0) {
|
|
f = c / v;
|
|
}
|
|
return [hcg[0], f * 100, v * 100];
|
|
};
|
|
convert$1.hcg.hsl = function (hcg) {
|
|
var c = hcg[1] / 100;
|
|
var g = hcg[2] / 100;
|
|
var l = g * (1.0 - c) + 0.5 * c;
|
|
var s = 0;
|
|
if (l > 0.0 && l < 0.5) {
|
|
s = c / (2 * l);
|
|
} else if (l >= 0.5 && l < 1.0) {
|
|
s = c / (2 * (1 - l));
|
|
}
|
|
return [hcg[0], s * 100, l * 100];
|
|
};
|
|
convert$1.hcg.hwb = function (hcg) {
|
|
var c = hcg[1] / 100;
|
|
var g = hcg[2] / 100;
|
|
var v = c + g * (1.0 - c);
|
|
return [hcg[0], (v - c) * 100, (1 - v) * 100];
|
|
};
|
|
convert$1.hwb.hcg = function (hwb) {
|
|
var w = hwb[1] / 100;
|
|
var b = hwb[2] / 100;
|
|
var v = 1 - b;
|
|
var c = v - w;
|
|
var g = 0;
|
|
if (c < 1) {
|
|
g = (v - c) / (1 - c);
|
|
}
|
|
return [hwb[0], c * 100, g * 100];
|
|
};
|
|
convert$1.apple.rgb = function (apple) {
|
|
return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
|
|
};
|
|
convert$1.rgb.apple = function (rgb) {
|
|
return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
|
|
};
|
|
convert$1.gray.rgb = function (args) {
|
|
return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
|
|
};
|
|
convert$1.gray.hsl = convert$1.gray.hsv = function (args) {
|
|
return [0, 0, args[0]];
|
|
};
|
|
convert$1.gray.hwb = function (gray) {
|
|
return [0, 100, gray[0]];
|
|
};
|
|
convert$1.gray.cmyk = function (gray) {
|
|
return [0, 0, 0, gray[0]];
|
|
};
|
|
convert$1.gray.lab = function (gray) {
|
|
return [gray[0], 0, 0];
|
|
};
|
|
convert$1.gray.hex = function (gray) {
|
|
var val = Math.round(gray[0] / 100 * 255) & 0xFF;
|
|
var integer = (val << 16) + (val << 8) + val;
|
|
var string = integer.toString(16).toUpperCase();
|
|
return '000000'.substring(string.length) + string;
|
|
};
|
|
convert$1.rgb.gray = function (rgb) {
|
|
var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
|
|
return [val / 255 * 100];
|
|
};
|
|
|
|
var conversions$1 = conversions$2.exports;
|
|
function buildGraph() {
|
|
var graph = {};
|
|
var models = Object.keys(conversions$1);
|
|
for (var len = models.length, i = 0; i < len; i++) {
|
|
graph[models[i]] = {
|
|
distance: -1,
|
|
parent: null
|
|
};
|
|
}
|
|
return graph;
|
|
}
|
|
function deriveBFS(fromModel) {
|
|
var graph = buildGraph();
|
|
var queue = [fromModel];
|
|
graph[fromModel].distance = 0;
|
|
while (queue.length) {
|
|
var current = queue.pop();
|
|
var adjacents = Object.keys(conversions$1[current]);
|
|
for (var len = adjacents.length, i = 0; i < len; i++) {
|
|
var adjacent = adjacents[i];
|
|
var node = graph[adjacent];
|
|
if (node.distance === -1) {
|
|
node.distance = graph[current].distance + 1;
|
|
node.parent = current;
|
|
queue.unshift(adjacent);
|
|
}
|
|
}
|
|
}
|
|
return graph;
|
|
}
|
|
function link(from, to) {
|
|
return function (args) {
|
|
return to(from(args));
|
|
};
|
|
}
|
|
function wrapConversion(toModel, graph) {
|
|
var path = [graph[toModel].parent, toModel];
|
|
var fn = conversions$1[graph[toModel].parent][toModel];
|
|
var cur = graph[toModel].parent;
|
|
while (graph[cur].parent) {
|
|
path.unshift(graph[cur].parent);
|
|
fn = link(conversions$1[graph[cur].parent][cur], fn);
|
|
cur = graph[cur].parent;
|
|
}
|
|
fn.conversion = path;
|
|
return fn;
|
|
}
|
|
var route$1 = function route(fromModel) {
|
|
var graph = deriveBFS(fromModel);
|
|
var conversion = {};
|
|
var models = Object.keys(graph);
|
|
for (var len = models.length, i = 0; i < len; i++) {
|
|
var toModel = models[i];
|
|
var node = graph[toModel];
|
|
if (node.parent === null) {
|
|
continue;
|
|
}
|
|
conversion[toModel] = wrapConversion(toModel, graph);
|
|
}
|
|
return conversion;
|
|
};
|
|
|
|
var conversions = conversions$2.exports;
|
|
var route = route$1;
|
|
var convert = {};
|
|
var models = Object.keys(conversions);
|
|
function wrapRaw(fn) {
|
|
var wrappedFn = function wrappedFn(args) {
|
|
if (args === undefined || args === null) {
|
|
return args;
|
|
}
|
|
if (arguments.length > 1) {
|
|
args = Array.prototype.slice.call(arguments);
|
|
}
|
|
return fn(args);
|
|
};
|
|
if ('conversion' in fn) {
|
|
wrappedFn.conversion = fn.conversion;
|
|
}
|
|
return wrappedFn;
|
|
}
|
|
function wrapRounded(fn) {
|
|
var wrappedFn = function wrappedFn(args) {
|
|
if (args === undefined || args === null) {
|
|
return args;
|
|
}
|
|
if (arguments.length > 1) {
|
|
args = Array.prototype.slice.call(arguments);
|
|
}
|
|
var result = fn(args);
|
|
if (typeof result === 'object') {
|
|
for (var len = result.length, i = 0; i < len; i++) {
|
|
result[i] = Math.round(result[i]);
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
if ('conversion' in fn) {
|
|
wrappedFn.conversion = fn.conversion;
|
|
}
|
|
return wrappedFn;
|
|
}
|
|
models.forEach(function (fromModel) {
|
|
convert[fromModel] = {};
|
|
Object.defineProperty(convert[fromModel], 'channels', {
|
|
value: conversions[fromModel].channels
|
|
});
|
|
Object.defineProperty(convert[fromModel], 'labels', {
|
|
value: conversions[fromModel].labels
|
|
});
|
|
var routes = route(fromModel);
|
|
var routeModels = Object.keys(routes);
|
|
routeModels.forEach(function (toModel) {
|
|
var fn = routes[toModel];
|
|
convert[fromModel][toModel] = wrapRounded(fn);
|
|
convert[fromModel][toModel].raw = wrapRaw(fn);
|
|
});
|
|
});
|
|
var colorConvert = convert;
|
|
|
|
(function (module) {
|
|
|
|
var colorConvert$1 = colorConvert;
|
|
var wrapAnsi16 = function wrapAnsi16(fn, offset) {
|
|
return function () {
|
|
var code = fn.apply(colorConvert$1, arguments);
|
|
return "\x1B[" + (code + offset) + "m";
|
|
};
|
|
};
|
|
var wrapAnsi256 = function wrapAnsi256(fn, offset) {
|
|
return function () {
|
|
var code = fn.apply(colorConvert$1, arguments);
|
|
return "\x1B[" + (38 + offset) + ";5;" + code + "m";
|
|
};
|
|
};
|
|
var wrapAnsi16m = function wrapAnsi16m(fn, offset) {
|
|
return function () {
|
|
var rgb = fn.apply(colorConvert$1, arguments);
|
|
return "\x1B[" + (38 + offset) + ";2;" + rgb[0] + ";" + rgb[1] + ";" + rgb[2] + "m";
|
|
};
|
|
};
|
|
function assembleStyles() {
|
|
var codes = new Map();
|
|
var styles = {
|
|
modifier: {
|
|
reset: [0, 0],
|
|
bold: [1, 22],
|
|
dim: [2, 22],
|
|
italic: [3, 23],
|
|
underline: [4, 24],
|
|
inverse: [7, 27],
|
|
hidden: [8, 28],
|
|
strikethrough: [9, 29]
|
|
},
|
|
color: {
|
|
black: [30, 39],
|
|
red: [31, 39],
|
|
green: [32, 39],
|
|
yellow: [33, 39],
|
|
blue: [34, 39],
|
|
magenta: [35, 39],
|
|
cyan: [36, 39],
|
|
white: [37, 39],
|
|
gray: [90, 39],
|
|
redBright: [91, 39],
|
|
greenBright: [92, 39],
|
|
yellowBright: [93, 39],
|
|
blueBright: [94, 39],
|
|
magentaBright: [95, 39],
|
|
cyanBright: [96, 39],
|
|
whiteBright: [97, 39]
|
|
},
|
|
bgColor: {
|
|
bgBlack: [40, 49],
|
|
bgRed: [41, 49],
|
|
bgGreen: [42, 49],
|
|
bgYellow: [43, 49],
|
|
bgBlue: [44, 49],
|
|
bgMagenta: [45, 49],
|
|
bgCyan: [46, 49],
|
|
bgWhite: [47, 49],
|
|
bgBlackBright: [100, 49],
|
|
bgRedBright: [101, 49],
|
|
bgGreenBright: [102, 49],
|
|
bgYellowBright: [103, 49],
|
|
bgBlueBright: [104, 49],
|
|
bgMagentaBright: [105, 49],
|
|
bgCyanBright: [106, 49],
|
|
bgWhiteBright: [107, 49]
|
|
}
|
|
};
|
|
styles.color.grey = styles.color.gray;
|
|
for (var _i = 0, _Object$keys = Object.keys(styles); _i < _Object$keys.length; _i++) {
|
|
var groupName = _Object$keys[_i];
|
|
var group = styles[groupName];
|
|
for (var _i2 = 0, _Object$keys2 = Object.keys(group); _i2 < _Object$keys2.length; _i2++) {
|
|
var styleName = _Object$keys2[_i2];
|
|
var style = group[styleName];
|
|
styles[styleName] = {
|
|
open: "\x1B[" + style[0] + "m",
|
|
close: "\x1B[" + style[1] + "m"
|
|
};
|
|
group[styleName] = styles[styleName];
|
|
codes.set(style[0], style[1]);
|
|
}
|
|
Object.defineProperty(styles, groupName, {
|
|
value: group,
|
|
enumerable: false
|
|
});
|
|
Object.defineProperty(styles, 'codes', {
|
|
value: codes,
|
|
enumerable: false
|
|
});
|
|
}
|
|
var ansi2ansi = function ansi2ansi(n) {
|
|
return n;
|
|
};
|
|
var rgb2rgb = function rgb2rgb(r, g, b) {
|
|
return [r, g, b];
|
|
};
|
|
styles.color.close = "\x1B[39m";
|
|
styles.bgColor.close = "\x1B[49m";
|
|
styles.color.ansi = {
|
|
ansi: wrapAnsi16(ansi2ansi, 0)
|
|
};
|
|
styles.color.ansi256 = {
|
|
ansi256: wrapAnsi256(ansi2ansi, 0)
|
|
};
|
|
styles.color.ansi16m = {
|
|
rgb: wrapAnsi16m(rgb2rgb, 0)
|
|
};
|
|
styles.bgColor.ansi = {
|
|
ansi: wrapAnsi16(ansi2ansi, 10)
|
|
};
|
|
styles.bgColor.ansi256 = {
|
|
ansi256: wrapAnsi256(ansi2ansi, 10)
|
|
};
|
|
styles.bgColor.ansi16m = {
|
|
rgb: wrapAnsi16m(rgb2rgb, 10)
|
|
};
|
|
for (var _i3 = 0, _Object$keys3 = Object.keys(colorConvert$1); _i3 < _Object$keys3.length; _i3++) {
|
|
var key = _Object$keys3[_i3];
|
|
if (typeof colorConvert$1[key] !== 'object') {
|
|
continue;
|
|
}
|
|
var suite = colorConvert$1[key];
|
|
if (key === 'ansi16') {
|
|
key = 'ansi';
|
|
}
|
|
if ('ansi16' in suite) {
|
|
styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);
|
|
styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);
|
|
}
|
|
if ('ansi256' in suite) {
|
|
styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);
|
|
styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);
|
|
}
|
|
if ('rgb' in suite) {
|
|
styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);
|
|
styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);
|
|
}
|
|
}
|
|
return styles;
|
|
}
|
|
Object.defineProperty(module, 'exports', {
|
|
enumerable: true,
|
|
get: assembleStyles
|
|
});
|
|
})(ansiStyles);
|
|
|
|
var browser$1 = {
|
|
stdout: false,
|
|
stderr: false
|
|
};
|
|
|
|
var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
|
|
var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
|
|
var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
|
|
var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi;
|
|
var ESCAPES = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', "\x1B"], ['a', "\x07"]]);
|
|
function unescape(c) {
|
|
if (c[0] === 'u' && c.length === 5 || c[0] === 'x' && c.length === 3) {
|
|
return String.fromCharCode(parseInt(c.slice(1), 16));
|
|
}
|
|
return ESCAPES.get(c) || c;
|
|
}
|
|
function parseArguments(name, args) {
|
|
var results = [];
|
|
var chunks = args.trim().split(/\s*,\s*/g);
|
|
var matches;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(chunks), _step; !(_step = _iterator()).done;) {
|
|
var chunk = _step.value;
|
|
if (!isNaN(chunk)) {
|
|
results.push(Number(chunk));
|
|
} else if (matches = chunk.match(STRING_REGEX)) {
|
|
results.push(matches[2].replace(ESCAPE_REGEX, function (m, escape, chr) {
|
|
return escape ? unescape(escape) : chr;
|
|
}));
|
|
} else {
|
|
throw new Error("Invalid Chalk template style argument: " + chunk + " (in style '" + name + "')");
|
|
}
|
|
}
|
|
return results;
|
|
}
|
|
function parseStyle(style) {
|
|
STYLE_REGEX.lastIndex = 0;
|
|
var results = [];
|
|
var matches;
|
|
while ((matches = STYLE_REGEX.exec(style)) !== null) {
|
|
var name = matches[1];
|
|
if (matches[2]) {
|
|
var args = parseArguments(name, matches[2]);
|
|
results.push([name].concat(args));
|
|
} else {
|
|
results.push([name]);
|
|
}
|
|
}
|
|
return results;
|
|
}
|
|
function buildStyle(chalk, styles) {
|
|
var enabled = {};
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(styles), _step2; !(_step2 = _iterator2()).done;) {
|
|
var layer = _step2.value;
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(layer.styles), _step3; !(_step3 = _iterator3()).done;) {
|
|
var style = _step3.value;
|
|
enabled[style[0]] = layer.inverse ? null : style.slice(1);
|
|
}
|
|
}
|
|
var current = chalk;
|
|
for (var _i = 0, _Object$keys = Object.keys(enabled); _i < _Object$keys.length; _i++) {
|
|
var styleName = _Object$keys[_i];
|
|
if (Array.isArray(enabled[styleName])) {
|
|
if (!(styleName in current)) {
|
|
throw new Error("Unknown Chalk style: " + styleName);
|
|
}
|
|
if (enabled[styleName].length > 0) {
|
|
current = current[styleName].apply(current, enabled[styleName]);
|
|
} else {
|
|
current = current[styleName];
|
|
}
|
|
}
|
|
}
|
|
return current;
|
|
}
|
|
var templates = function templates(chalk, tmp) {
|
|
var styles = [];
|
|
var chunks = [];
|
|
var chunk = [];
|
|
tmp.replace(TEMPLATE_REGEX, function (m, escapeChar, inverse, style, close, chr) {
|
|
if (escapeChar) {
|
|
chunk.push(unescape(escapeChar));
|
|
} else if (style) {
|
|
var str = chunk.join('');
|
|
chunk = [];
|
|
chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));
|
|
styles.push({
|
|
inverse: inverse,
|
|
styles: parseStyle(style)
|
|
});
|
|
} else if (close) {
|
|
if (styles.length === 0) {
|
|
throw new Error('Found extraneous } in Chalk template literal');
|
|
}
|
|
chunks.push(buildStyle(chalk, styles)(chunk.join('')));
|
|
chunk = [];
|
|
styles.pop();
|
|
} else {
|
|
chunk.push(chr);
|
|
}
|
|
});
|
|
chunks.push(chunk.join(''));
|
|
if (styles.length > 0) {
|
|
var errMsg = "Chalk template literal is missing " + styles.length + " closing bracket" + (styles.length === 1 ? '' : 's') + " (`}`)";
|
|
throw new Error(errMsg);
|
|
}
|
|
return chunks.join('');
|
|
};
|
|
|
|
(function (module) {
|
|
|
|
var escapeStringRegexp$1 = escapeStringRegexp;
|
|
var ansiStyles$1 = ansiStyles.exports;
|
|
var stdoutColor = browser$1.stdout;
|
|
var template = templates;
|
|
var isSimpleWindowsTerm = browser$1$1.platform === 'win32' && !(browser$1$1.env.TERM || '').toLowerCase().startsWith('xterm');
|
|
var levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m'];
|
|
var skipModels = new Set(['gray']);
|
|
var styles = Object.create(null);
|
|
function applyOptions(obj, options) {
|
|
options = options || {};
|
|
var scLevel = 0;
|
|
obj.level = options.level === undefined ? scLevel : options.level;
|
|
obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;
|
|
}
|
|
function Chalk(options) {
|
|
if (!this || !(this instanceof Chalk) || this.template) {
|
|
var _chalk = {};
|
|
applyOptions(_chalk, options);
|
|
_chalk.template = function () {
|
|
var args = [].slice.call(arguments);
|
|
return chalkTag.apply(null, [_chalk.template].concat(args));
|
|
};
|
|
Object.setPrototypeOf(_chalk, Chalk.prototype);
|
|
Object.setPrototypeOf(_chalk.template, _chalk);
|
|
_chalk.template.constructor = Chalk;
|
|
return _chalk.template;
|
|
}
|
|
applyOptions(this, options);
|
|
}
|
|
if (isSimpleWindowsTerm) {
|
|
ansiStyles$1.blue.open = "\x1B[94m";
|
|
}
|
|
var _loop = function _loop() {
|
|
var key = _Object$keys[_i];
|
|
ansiStyles$1[key].closeRe = new RegExp(escapeStringRegexp$1(ansiStyles$1[key].close), 'g');
|
|
styles[key] = {
|
|
get: function get() {
|
|
var codes = ansiStyles$1[key];
|
|
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);
|
|
}
|
|
};
|
|
};
|
|
for (var _i = 0, _Object$keys = Object.keys(ansiStyles$1); _i < _Object$keys.length; _i++) {
|
|
_loop();
|
|
}
|
|
styles.visible = {
|
|
get: function get() {
|
|
return build.call(this, this._styles || [], true, 'visible');
|
|
}
|
|
};
|
|
ansiStyles$1.color.closeRe = new RegExp(escapeStringRegexp$1(ansiStyles$1.color.close), 'g');
|
|
var _loop2 = function _loop2() {
|
|
var model = _Object$keys2[_i2];
|
|
if (skipModels.has(model)) {
|
|
return "continue";
|
|
}
|
|
styles[model] = {
|
|
get: function get() {
|
|
var level = this.level;
|
|
return function () {
|
|
var open = ansiStyles$1.color[levelMapping[level]][model].apply(null, arguments);
|
|
var codes = {
|
|
open: open,
|
|
close: ansiStyles$1.color.close,
|
|
closeRe: ansiStyles$1.color.closeRe
|
|
};
|
|
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
|
|
};
|
|
}
|
|
};
|
|
};
|
|
for (var _i2 = 0, _Object$keys2 = Object.keys(ansiStyles$1.color.ansi); _i2 < _Object$keys2.length; _i2++) {
|
|
var _ret = _loop2();
|
|
if (_ret === "continue") continue;
|
|
}
|
|
ansiStyles$1.bgColor.closeRe = new RegExp(escapeStringRegexp$1(ansiStyles$1.bgColor.close), 'g');
|
|
var _loop3 = function _loop3() {
|
|
var model = _Object$keys3[_i3];
|
|
if (skipModels.has(model)) {
|
|
return "continue";
|
|
}
|
|
var bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);
|
|
styles[bgModel] = {
|
|
get: function get() {
|
|
var level = this.level;
|
|
return function () {
|
|
var open = ansiStyles$1.bgColor[levelMapping[level]][model].apply(null, arguments);
|
|
var codes = {
|
|
open: open,
|
|
close: ansiStyles$1.bgColor.close,
|
|
closeRe: ansiStyles$1.bgColor.closeRe
|
|
};
|
|
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
|
|
};
|
|
}
|
|
};
|
|
};
|
|
for (var _i3 = 0, _Object$keys3 = Object.keys(ansiStyles$1.bgColor.ansi); _i3 < _Object$keys3.length; _i3++) {
|
|
var _ret2 = _loop3();
|
|
if (_ret2 === "continue") continue;
|
|
}
|
|
var proto = Object.defineProperties(function () {}, styles);
|
|
function build(_styles, _empty, key) {
|
|
var builder = function builder() {
|
|
return applyStyle.apply(builder, arguments);
|
|
};
|
|
builder._styles = _styles;
|
|
builder._empty = _empty;
|
|
var self = this;
|
|
Object.defineProperty(builder, 'level', {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return self.level;
|
|
},
|
|
set: function set(level) {
|
|
self.level = level;
|
|
}
|
|
});
|
|
Object.defineProperty(builder, 'enabled', {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return self.enabled;
|
|
},
|
|
set: function set(enabled) {
|
|
self.enabled = enabled;
|
|
}
|
|
});
|
|
builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey';
|
|
builder.__proto__ = proto;
|
|
return builder;
|
|
}
|
|
function applyStyle() {
|
|
var args = arguments;
|
|
var argsLen = args.length;
|
|
var str = String(arguments[0]);
|
|
if (argsLen === 0) {
|
|
return '';
|
|
}
|
|
if (argsLen > 1) {
|
|
for (var a = 1; a < argsLen; a++) {
|
|
str += ' ' + args[a];
|
|
}
|
|
}
|
|
if (!this.enabled || this.level <= 0 || !str) {
|
|
return this._empty ? '' : str;
|
|
}
|
|
var originalDim = ansiStyles$1.dim.open;
|
|
if (isSimpleWindowsTerm && this.hasGrey) {
|
|
ansiStyles$1.dim.open = '';
|
|
}
|
|
for (var _iterator = _createForOfIteratorHelperLoose(this._styles.slice().reverse()), _step; !(_step = _iterator()).done;) {
|
|
var code = _step.value;
|
|
str = code.open + str.replace(code.closeRe, code.open) + code.close;
|
|
str = str.replace(/\r?\n/g, code.close + "$&" + code.open);
|
|
}
|
|
ansiStyles$1.dim.open = originalDim;
|
|
return str;
|
|
}
|
|
function chalkTag(chalk, strings) {
|
|
if (!Array.isArray(strings)) {
|
|
return [].slice.call(arguments, 1).join(' ');
|
|
}
|
|
var args = [].slice.call(arguments, 2);
|
|
var parts = [strings.raw[0]];
|
|
for (var i = 1; i < strings.length; i++) {
|
|
parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&'));
|
|
parts.push(String(strings.raw[i]));
|
|
}
|
|
return template(chalk, parts.join(''));
|
|
}
|
|
Object.defineProperties(Chalk.prototype, styles);
|
|
module.exports = Chalk();
|
|
module.exports.supportsColor = stdoutColor;
|
|
module.exports["default"] = module.exports;
|
|
})(chalk);
|
|
var Chalk = chalk.exports;
|
|
|
|
var sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);
|
|
function getDefs$1(chalk) {
|
|
return {
|
|
keyword: chalk.cyan,
|
|
capitalized: chalk.yellow,
|
|
jsxIdentifier: chalk.yellow,
|
|
punctuator: chalk.yellow,
|
|
number: chalk.magenta,
|
|
string: chalk.green,
|
|
regex: chalk.magenta,
|
|
comment: chalk.grey,
|
|
invalid: chalk.white.bgRed.bold
|
|
};
|
|
}
|
|
var NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
|
|
var BRACKET = /^[()[\]{}]$/;
|
|
var tokenize;
|
|
{
|
|
var JSX_TAG = /^[a-z][\w-]*$/i;
|
|
var getTokenType = function getTokenType(token, offset, text) {
|
|
if (token.type === "name") {
|
|
if (isKeyword(token.value) || isStrictReservedWord(token.value, true) || sometimesKeywords.has(token.value)) {
|
|
return "keyword";
|
|
}
|
|
if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) == "</")) {
|
|
return "jsxIdentifier";
|
|
}
|
|
if (token.value[0] !== token.value[0].toLowerCase()) {
|
|
return "capitalized";
|
|
}
|
|
}
|
|
if (token.type === "punctuator" && BRACKET.test(token.value)) {
|
|
return "bracket";
|
|
}
|
|
if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
|
|
return "punctuator";
|
|
}
|
|
return token.type;
|
|
};
|
|
tokenize = _regeneratorRuntime().mark(function tokenize(text) {
|
|
var match, token;
|
|
return _regeneratorRuntime().wrap(function tokenize$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
if (!(match = jsTokens["default"].exec(text))) {
|
|
_context.next = 6;
|
|
break;
|
|
}
|
|
token = jsTokens.matchToToken(match);
|
|
_context.next = 4;
|
|
return {
|
|
type: getTokenType(token, match.index, text),
|
|
value: token.value
|
|
};
|
|
case 4:
|
|
_context.next = 0;
|
|
break;
|
|
case 6:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, tokenize);
|
|
});
|
|
}
|
|
function highlightTokens(defs, text) {
|
|
var highlighted = "";
|
|
var _loop = function _loop() {
|
|
var _step$value = _step.value,
|
|
type = _step$value.type,
|
|
value = _step$value.value;
|
|
var colorize = defs[type];
|
|
if (colorize) {
|
|
highlighted += value.split(NEWLINE$1).map(function (str) {
|
|
return colorize(str);
|
|
}).join("\n");
|
|
} else {
|
|
highlighted += value;
|
|
}
|
|
};
|
|
for (var _iterator = _createForOfIteratorHelperLoose(tokenize(text)), _step; !(_step = _iterator()).done;) {
|
|
_loop();
|
|
}
|
|
return highlighted;
|
|
}
|
|
function shouldHighlight(options) {
|
|
return !!Chalk.supportsColor || options.forceColor;
|
|
}
|
|
function getChalk(options) {
|
|
return options.forceColor ? new Chalk.constructor({
|
|
enabled: true,
|
|
level: 1
|
|
}) : Chalk;
|
|
}
|
|
function highlight(code, options) {
|
|
if (options === void 0) {
|
|
options = {};
|
|
}
|
|
if (code !== "" && shouldHighlight(options)) {
|
|
var chalk = getChalk(options);
|
|
var defs = getDefs$1(chalk);
|
|
return highlightTokens(defs, code);
|
|
} else {
|
|
return code;
|
|
}
|
|
}
|
|
|
|
function getDefs(chalk) {
|
|
return {
|
|
gutter: chalk.grey,
|
|
marker: chalk.red.bold,
|
|
message: chalk.red.bold
|
|
};
|
|
}
|
|
var NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
|
|
function getMarkerLines(loc, source, opts) {
|
|
var startLoc = Object.assign({
|
|
column: 0,
|
|
line: -1
|
|
}, loc.start);
|
|
var endLoc = Object.assign({}, startLoc, loc.end);
|
|
var _ref = opts || {},
|
|
_ref$linesAbove = _ref.linesAbove,
|
|
linesAbove = _ref$linesAbove === void 0 ? 2 : _ref$linesAbove,
|
|
_ref$linesBelow = _ref.linesBelow,
|
|
linesBelow = _ref$linesBelow === void 0 ? 3 : _ref$linesBelow;
|
|
var startLine = startLoc.line;
|
|
var startColumn = startLoc.column;
|
|
var endLine = endLoc.line;
|
|
var endColumn = endLoc.column;
|
|
var start = Math.max(startLine - (linesAbove + 1), 0);
|
|
var end = Math.min(source.length, endLine + linesBelow);
|
|
if (startLine === -1) {
|
|
start = 0;
|
|
}
|
|
if (endLine === -1) {
|
|
end = source.length;
|
|
}
|
|
var lineDiff = endLine - startLine;
|
|
var markerLines = {};
|
|
if (lineDiff) {
|
|
for (var i = 0; i <= lineDiff; i++) {
|
|
var lineNumber = i + startLine;
|
|
if (!startColumn) {
|
|
markerLines[lineNumber] = true;
|
|
} else if (i === 0) {
|
|
var sourceLength = source[lineNumber - 1].length;
|
|
markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
|
|
} else if (i === lineDiff) {
|
|
markerLines[lineNumber] = [0, endColumn];
|
|
} else {
|
|
var _sourceLength = source[lineNumber - i].length;
|
|
markerLines[lineNumber] = [0, _sourceLength];
|
|
}
|
|
}
|
|
} else {
|
|
if (startColumn === endColumn) {
|
|
if (startColumn) {
|
|
markerLines[startLine] = [startColumn, 0];
|
|
} else {
|
|
markerLines[startLine] = true;
|
|
}
|
|
} else {
|
|
markerLines[startLine] = [startColumn, endColumn - startColumn];
|
|
}
|
|
}
|
|
return {
|
|
start: start,
|
|
end: end,
|
|
markerLines: markerLines
|
|
};
|
|
}
|
|
function codeFrameColumns(rawLines, loc, opts) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
var highlighted = (opts.highlightCode || opts.forceColor) && shouldHighlight(opts);
|
|
var chalk = getChalk(opts);
|
|
var defs = getDefs(chalk);
|
|
var maybeHighlight = function maybeHighlight(chalkFn, string) {
|
|
return highlighted ? chalkFn(string) : string;
|
|
};
|
|
var lines = rawLines.split(NEWLINE);
|
|
var _getMarkerLines = getMarkerLines(loc, lines, opts),
|
|
start = _getMarkerLines.start,
|
|
end = _getMarkerLines.end,
|
|
markerLines = _getMarkerLines.markerLines;
|
|
var hasColumns = loc.start && typeof loc.start.column === "number";
|
|
var numberMaxWidth = String(end).length;
|
|
var highlightedLines = highlighted ? highlight(rawLines, opts) : rawLines;
|
|
var frame = highlightedLines.split(NEWLINE, end).slice(start, end).map(function (line, index) {
|
|
var number = start + 1 + index;
|
|
var paddedNumber = (" " + number).slice(-numberMaxWidth);
|
|
var gutter = " " + paddedNumber + " |";
|
|
var hasMarker = markerLines[number];
|
|
var lastMarkerLine = !markerLines[number + 1];
|
|
if (hasMarker) {
|
|
var markerLine = "";
|
|
if (Array.isArray(hasMarker)) {
|
|
var markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
|
|
var numberOfMarkers = hasMarker[1] || 1;
|
|
markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join("");
|
|
if (lastMarkerLine && opts.message) {
|
|
markerLine += " " + maybeHighlight(defs.message, opts.message);
|
|
}
|
|
}
|
|
return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? " " + line : "", markerLine].join("");
|
|
} else {
|
|
return " " + maybeHighlight(defs.gutter, gutter) + (line.length > 0 ? " " + line : "");
|
|
}
|
|
}).join("\n");
|
|
if (opts.message && !hasColumns) {
|
|
frame = "" + " ".repeat(numberMaxWidth + 1) + opts.message + "\n" + frame;
|
|
}
|
|
if (highlighted) {
|
|
return chalk.reset(frame);
|
|
} else {
|
|
return frame;
|
|
}
|
|
}
|
|
|
|
var defaultOptions = {
|
|
sourceType: "script",
|
|
sourceFilename: undefined,
|
|
startColumn: 0,
|
|
startLine: 1,
|
|
allowAwaitOutsideFunction: false,
|
|
allowReturnOutsideFunction: false,
|
|
allowNewTargetOutsideFunction: false,
|
|
allowImportExportEverywhere: false,
|
|
allowSuperOutsideMethod: false,
|
|
allowUndeclaredExports: false,
|
|
plugins: [],
|
|
strictMode: null,
|
|
ranges: false,
|
|
tokens: false,
|
|
createParenthesizedExpressions: false,
|
|
errorRecovery: false,
|
|
attachComment: true,
|
|
annexB: true
|
|
};
|
|
function getOptions(opts) {
|
|
if (opts && opts.annexB != null && opts.annexB !== false) {
|
|
throw new Error("The `annexB` option can only be set to `false`.");
|
|
}
|
|
var options = {};
|
|
for (var _i2 = 0, _Object$keys2 = Object.keys(defaultOptions); _i2 < _Object$keys2.length; _i2++) {
|
|
var key = _Object$keys2[_i2];
|
|
options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key];
|
|
}
|
|
return options;
|
|
}
|
|
|
|
var TokContext = _createClass(function TokContext(token, preserveSpace) {
|
|
this.token = void 0;
|
|
this.preserveSpace = void 0;
|
|
this.token = token;
|
|
this.preserveSpace = !!preserveSpace;
|
|
});
|
|
var types = {
|
|
brace: new TokContext("{"),
|
|
j_oTag: new TokContext("<tag"),
|
|
j_cTag: new TokContext("</tag"),
|
|
j_expr: new TokContext("<tag>...</tag>", true)
|
|
};
|
|
{
|
|
types.template = new TokContext("`", true);
|
|
}
|
|
|
|
var beforeExpr = true;
|
|
var startsExpr = true;
|
|
var isLoop = true;
|
|
var isAssign = true;
|
|
var prefix = true;
|
|
var postfix = true;
|
|
var ExportedTokenType = _createClass(function ExportedTokenType(label, conf) {
|
|
if (conf === void 0) {
|
|
conf = {};
|
|
}
|
|
this.label = void 0;
|
|
this.keyword = void 0;
|
|
this.beforeExpr = void 0;
|
|
this.startsExpr = void 0;
|
|
this.rightAssociative = void 0;
|
|
this.isLoop = void 0;
|
|
this.isAssign = void 0;
|
|
this.prefix = void 0;
|
|
this.postfix = void 0;
|
|
this.binop = void 0;
|
|
this.label = label;
|
|
this.keyword = conf.keyword;
|
|
this.beforeExpr = !!conf.beforeExpr;
|
|
this.startsExpr = !!conf.startsExpr;
|
|
this.rightAssociative = !!conf.rightAssociative;
|
|
this.isLoop = !!conf.isLoop;
|
|
this.isAssign = !!conf.isAssign;
|
|
this.prefix = !!conf.prefix;
|
|
this.postfix = !!conf.postfix;
|
|
this.binop = conf.binop != null ? conf.binop : null;
|
|
{
|
|
this.updateContext = null;
|
|
}
|
|
});
|
|
var keywords = new Map();
|
|
function createKeyword(name, options) {
|
|
if (options === void 0) {
|
|
options = {};
|
|
}
|
|
options.keyword = name;
|
|
var token = createToken(name, options);
|
|
keywords.set(name, token);
|
|
return token;
|
|
}
|
|
function createBinop(name, binop) {
|
|
return createToken(name, {
|
|
beforeExpr: beforeExpr,
|
|
binop: binop
|
|
});
|
|
}
|
|
var tokenTypeCounter = -1;
|
|
var tokenTypes = [];
|
|
var tokenLabels = [];
|
|
var tokenBinops = [];
|
|
var tokenBeforeExprs = [];
|
|
var tokenStartsExprs = [];
|
|
var tokenPrefixes = [];
|
|
function createToken(name, options) {
|
|
var _options$binop, _options$beforeExpr, _options$startsExpr, _options$prefix;
|
|
if (options === void 0) {
|
|
options = {};
|
|
}
|
|
++tokenTypeCounter;
|
|
tokenLabels.push(name);
|
|
tokenBinops.push((_options$binop = options.binop) != null ? _options$binop : -1);
|
|
tokenBeforeExprs.push((_options$beforeExpr = options.beforeExpr) != null ? _options$beforeExpr : false);
|
|
tokenStartsExprs.push((_options$startsExpr = options.startsExpr) != null ? _options$startsExpr : false);
|
|
tokenPrefixes.push((_options$prefix = options.prefix) != null ? _options$prefix : false);
|
|
tokenTypes.push(new ExportedTokenType(name, options));
|
|
return tokenTypeCounter;
|
|
}
|
|
function createKeywordLike(name, options) {
|
|
var _options$binop2, _options$beforeExpr2, _options$startsExpr2, _options$prefix2;
|
|
if (options === void 0) {
|
|
options = {};
|
|
}
|
|
++tokenTypeCounter;
|
|
keywords.set(name, tokenTypeCounter);
|
|
tokenLabels.push(name);
|
|
tokenBinops.push((_options$binop2 = options.binop) != null ? _options$binop2 : -1);
|
|
tokenBeforeExprs.push((_options$beforeExpr2 = options.beforeExpr) != null ? _options$beforeExpr2 : false);
|
|
tokenStartsExprs.push((_options$startsExpr2 = options.startsExpr) != null ? _options$startsExpr2 : false);
|
|
tokenPrefixes.push((_options$prefix2 = options.prefix) != null ? _options$prefix2 : false);
|
|
tokenTypes.push(new ExportedTokenType("name", options));
|
|
return tokenTypeCounter;
|
|
}
|
|
var tt = {
|
|
bracketL: createToken("[", {
|
|
beforeExpr: beforeExpr,
|
|
startsExpr: startsExpr
|
|
}),
|
|
bracketHashL: createToken("#[", {
|
|
beforeExpr: beforeExpr,
|
|
startsExpr: startsExpr
|
|
}),
|
|
bracketBarL: createToken("[|", {
|
|
beforeExpr: beforeExpr,
|
|
startsExpr: startsExpr
|
|
}),
|
|
bracketR: createToken("]"),
|
|
bracketBarR: createToken("|]"),
|
|
braceL: createToken("{", {
|
|
beforeExpr: beforeExpr,
|
|
startsExpr: startsExpr
|
|
}),
|
|
braceBarL: createToken("{|", {
|
|
beforeExpr: beforeExpr,
|
|
startsExpr: startsExpr
|
|
}),
|
|
braceHashL: createToken("#{", {
|
|
beforeExpr: beforeExpr,
|
|
startsExpr: startsExpr
|
|
}),
|
|
braceR: createToken("}"),
|
|
braceBarR: createToken("|}"),
|
|
parenL: createToken("(", {
|
|
beforeExpr: beforeExpr,
|
|
startsExpr: startsExpr
|
|
}),
|
|
parenR: createToken(")"),
|
|
comma: createToken(",", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
semi: createToken(";", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
colon: createToken(":", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
doubleColon: createToken("::", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
dot: createToken("."),
|
|
question: createToken("?", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
questionDot: createToken("?."),
|
|
arrow: createToken("=>", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
template: createToken("template"),
|
|
ellipsis: createToken("...", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
backQuote: createToken("`", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
dollarBraceL: createToken("${", {
|
|
beforeExpr: beforeExpr,
|
|
startsExpr: startsExpr
|
|
}),
|
|
templateTail: createToken("...`", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
templateNonTail: createToken("...${", {
|
|
beforeExpr: beforeExpr,
|
|
startsExpr: startsExpr
|
|
}),
|
|
at: createToken("@"),
|
|
hash: createToken("#", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
interpreterDirective: createToken("#!..."),
|
|
eq: createToken("=", {
|
|
beforeExpr: beforeExpr,
|
|
isAssign: isAssign
|
|
}),
|
|
assign: createToken("_=", {
|
|
beforeExpr: beforeExpr,
|
|
isAssign: isAssign
|
|
}),
|
|
slashAssign: createToken("_=", {
|
|
beforeExpr: beforeExpr,
|
|
isAssign: isAssign
|
|
}),
|
|
xorAssign: createToken("_=", {
|
|
beforeExpr: beforeExpr,
|
|
isAssign: isAssign
|
|
}),
|
|
moduloAssign: createToken("_=", {
|
|
beforeExpr: beforeExpr,
|
|
isAssign: isAssign
|
|
}),
|
|
incDec: createToken("++/--", {
|
|
prefix: prefix,
|
|
postfix: postfix,
|
|
startsExpr: startsExpr
|
|
}),
|
|
bang: createToken("!", {
|
|
beforeExpr: beforeExpr,
|
|
prefix: prefix,
|
|
startsExpr: startsExpr
|
|
}),
|
|
tilde: createToken("~", {
|
|
beforeExpr: beforeExpr,
|
|
prefix: prefix,
|
|
startsExpr: startsExpr
|
|
}),
|
|
doubleCaret: createToken("^^", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
doubleAt: createToken("@@", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
pipeline: createBinop("|>", 0),
|
|
nullishCoalescing: createBinop("??", 1),
|
|
logicalOR: createBinop("||", 1),
|
|
logicalAND: createBinop("&&", 2),
|
|
bitwiseOR: createBinop("|", 3),
|
|
bitwiseXOR: createBinop("^", 4),
|
|
bitwiseAND: createBinop("&", 5),
|
|
equality: createBinop("==/!=/===/!==", 6),
|
|
lt: createBinop("</>/<=/>=", 7),
|
|
gt: createBinop("</>/<=/>=", 7),
|
|
relational: createBinop("</>/<=/>=", 7),
|
|
bitShift: createBinop("<</>>/>>>", 8),
|
|
bitShiftL: createBinop("<</>>/>>>", 8),
|
|
bitShiftR: createBinop("<</>>/>>>", 8),
|
|
plusMin: createToken("+/-", {
|
|
beforeExpr: beforeExpr,
|
|
binop: 9,
|
|
prefix: prefix,
|
|
startsExpr: startsExpr
|
|
}),
|
|
modulo: createToken("%", {
|
|
binop: 10,
|
|
startsExpr: startsExpr
|
|
}),
|
|
star: createToken("*", {
|
|
binop: 10
|
|
}),
|
|
slash: createBinop("/", 10),
|
|
exponent: createToken("**", {
|
|
beforeExpr: beforeExpr,
|
|
binop: 11,
|
|
rightAssociative: true
|
|
}),
|
|
_in: createKeyword("in", {
|
|
beforeExpr: beforeExpr,
|
|
binop: 7
|
|
}),
|
|
_instanceof: createKeyword("instanceof", {
|
|
beforeExpr: beforeExpr,
|
|
binop: 7
|
|
}),
|
|
_break: createKeyword("break"),
|
|
_case: createKeyword("case", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
_catch: createKeyword("catch"),
|
|
_continue: createKeyword("continue"),
|
|
_debugger: createKeyword("debugger"),
|
|
_default: createKeyword("default", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
_else: createKeyword("else", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
_finally: createKeyword("finally"),
|
|
_function: createKeyword("function", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_if: createKeyword("if"),
|
|
_return: createKeyword("return", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
_switch: createKeyword("switch"),
|
|
_throw: createKeyword("throw", {
|
|
beforeExpr: beforeExpr,
|
|
prefix: prefix,
|
|
startsExpr: startsExpr
|
|
}),
|
|
_try: createKeyword("try"),
|
|
_var: createKeyword("var"),
|
|
_const: createKeyword("const"),
|
|
_with: createKeyword("with"),
|
|
_new: createKeyword("new", {
|
|
beforeExpr: beforeExpr,
|
|
startsExpr: startsExpr
|
|
}),
|
|
_this: createKeyword("this", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_super: createKeyword("super", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_class: createKeyword("class", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_extends: createKeyword("extends", {
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
_export: createKeyword("export"),
|
|
_import: createKeyword("import", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_null: createKeyword("null", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_true: createKeyword("true", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_false: createKeyword("false", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_typeof: createKeyword("typeof", {
|
|
beforeExpr: beforeExpr,
|
|
prefix: prefix,
|
|
startsExpr: startsExpr
|
|
}),
|
|
_void: createKeyword("void", {
|
|
beforeExpr: beforeExpr,
|
|
prefix: prefix,
|
|
startsExpr: startsExpr
|
|
}),
|
|
_delete: createKeyword("delete", {
|
|
beforeExpr: beforeExpr,
|
|
prefix: prefix,
|
|
startsExpr: startsExpr
|
|
}),
|
|
_do: createKeyword("do", {
|
|
isLoop: isLoop,
|
|
beforeExpr: beforeExpr
|
|
}),
|
|
_for: createKeyword("for", {
|
|
isLoop: isLoop
|
|
}),
|
|
_while: createKeyword("while", {
|
|
isLoop: isLoop
|
|
}),
|
|
_as: createKeywordLike("as", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_assert: createKeywordLike("assert", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_async: createKeywordLike("async", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_await: createKeywordLike("await", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_from: createKeywordLike("from", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_get: createKeywordLike("get", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_let: createKeywordLike("let", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_meta: createKeywordLike("meta", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_of: createKeywordLike("of", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_sent: createKeywordLike("sent", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_set: createKeywordLike("set", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_static: createKeywordLike("static", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_using: createKeywordLike("using", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_yield: createKeywordLike("yield", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_asserts: createKeywordLike("asserts", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_checks: createKeywordLike("checks", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_exports: createKeywordLike("exports", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_global: createKeywordLike("global", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_implements: createKeywordLike("implements", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_intrinsic: createKeywordLike("intrinsic", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_infer: createKeywordLike("infer", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_is: createKeywordLike("is", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_mixins: createKeywordLike("mixins", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_proto: createKeywordLike("proto", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_require: createKeywordLike("require", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_satisfies: createKeywordLike("satisfies", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_keyof: createKeywordLike("keyof", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_readonly: createKeywordLike("readonly", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_unique: createKeywordLike("unique", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_abstract: createKeywordLike("abstract", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_declare: createKeywordLike("declare", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_enum: createKeywordLike("enum", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_module: createKeywordLike("module", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_namespace: createKeywordLike("namespace", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_interface: createKeywordLike("interface", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_type: createKeywordLike("type", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
_opaque: createKeywordLike("opaque", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
name: createToken("name", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
string: createToken("string", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
num: createToken("num", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
bigint: createToken("bigint", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
decimal: createToken("decimal", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
regexp: createToken("regexp", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
privateName: createToken("#name", {
|
|
startsExpr: startsExpr
|
|
}),
|
|
eof: createToken("eof"),
|
|
jsxName: createToken("jsxName"),
|
|
jsxText: createToken("jsxText", {
|
|
beforeExpr: true
|
|
}),
|
|
jsxTagStart: createToken("jsxTagStart", {
|
|
startsExpr: true
|
|
}),
|
|
jsxTagEnd: createToken("jsxTagEnd"),
|
|
placeholder: createToken("%%", {
|
|
startsExpr: true
|
|
})
|
|
};
|
|
function tokenIsIdentifier(token) {
|
|
return token >= 93 && token <= 130;
|
|
}
|
|
function tokenKeywordOrIdentifierIsKeyword(token) {
|
|
return token <= 92;
|
|
}
|
|
function tokenIsKeywordOrIdentifier(token) {
|
|
return token >= 58 && token <= 130;
|
|
}
|
|
function tokenIsLiteralPropertyName(token) {
|
|
return token >= 58 && token <= 134;
|
|
}
|
|
function tokenComesBeforeExpression(token) {
|
|
return tokenBeforeExprs[token];
|
|
}
|
|
function tokenCanStartExpression(token) {
|
|
return tokenStartsExprs[token];
|
|
}
|
|
function tokenIsAssignment(token) {
|
|
return token >= 29 && token <= 33;
|
|
}
|
|
function tokenIsFlowInterfaceOrTypeOrOpaque(token) {
|
|
return token >= 127 && token <= 129;
|
|
}
|
|
function tokenIsLoop(token) {
|
|
return token >= 90 && token <= 92;
|
|
}
|
|
function tokenIsKeyword(token) {
|
|
return token >= 58 && token <= 92;
|
|
}
|
|
function tokenIsOperator(token) {
|
|
return token >= 39 && token <= 59;
|
|
}
|
|
function tokenIsPostfix(token) {
|
|
return token === 34;
|
|
}
|
|
function tokenIsPrefix(token) {
|
|
return tokenPrefixes[token];
|
|
}
|
|
function tokenIsTSTypeOperator(token) {
|
|
return token >= 119 && token <= 121;
|
|
}
|
|
function tokenIsTSDeclarationStart(token) {
|
|
return token >= 122 && token <= 128;
|
|
}
|
|
function tokenLabelName(token) {
|
|
return tokenLabels[token];
|
|
}
|
|
function tokenOperatorPrecedence(token) {
|
|
return tokenBinops[token];
|
|
}
|
|
function tokenIsRightAssociative(token) {
|
|
return token === 57;
|
|
}
|
|
function tokenIsTemplate(token) {
|
|
return token >= 24 && token <= 25;
|
|
}
|
|
function getExportedToken(token) {
|
|
return tokenTypes[token];
|
|
}
|
|
{
|
|
tokenTypes[8].updateContext = function (context) {
|
|
context.pop();
|
|
};
|
|
tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = function (context) {
|
|
context.push(types.brace);
|
|
};
|
|
tokenTypes[22].updateContext = function (context) {
|
|
if (context[context.length - 1] === types.template) {
|
|
context.pop();
|
|
} else {
|
|
context.push(types.template);
|
|
}
|
|
};
|
|
tokenTypes[140].updateContext = function (context) {
|
|
context.push(types.j_expr, types.j_oTag);
|
|
};
|
|
}
|
|
|
|
var Position = _createClass(function Position(line, col, index) {
|
|
this.line = void 0;
|
|
this.column = void 0;
|
|
this.index = void 0;
|
|
this.line = line;
|
|
this.column = col;
|
|
this.index = index;
|
|
});
|
|
var SourceLocation = _createClass(function SourceLocation(start, end) {
|
|
this.start = void 0;
|
|
this.end = void 0;
|
|
this.filename = void 0;
|
|
this.identifierName = void 0;
|
|
this.start = start;
|
|
this.end = end;
|
|
});
|
|
function createPositionWithColumnOffset(position, columnOffset) {
|
|
var line = position.line,
|
|
column = position.column,
|
|
index = position.index;
|
|
return new Position(line, column + columnOffset, index + columnOffset);
|
|
}
|
|
|
|
var ParseErrorCode = {
|
|
SyntaxError: "BABEL_PARSER_SYNTAX_ERROR",
|
|
SourceTypeModuleError: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"
|
|
};
|
|
var reflect = function reflect(keys, last) {
|
|
if (last === void 0) {
|
|
last = keys.length - 1;
|
|
}
|
|
return {
|
|
get: function get() {
|
|
return keys.reduce(function (object, key) {
|
|
return object[key];
|
|
}, this);
|
|
},
|
|
set: function set(value) {
|
|
keys.reduce(function (item, key, i) {
|
|
return i === last ? item[key] = value : item[key];
|
|
}, this);
|
|
}
|
|
};
|
|
};
|
|
var instantiate = function instantiate(constructor, properties, descriptors) {
|
|
return Object.keys(descriptors).map(function (key) {
|
|
return [key, descriptors[key]];
|
|
}).filter(function (_ref) {
|
|
var descriptor = _ref[1];
|
|
return !!descriptor;
|
|
}).map(function (_ref2) {
|
|
var key = _ref2[0],
|
|
descriptor = _ref2[1];
|
|
return [key, typeof descriptor === "function" ? {
|
|
value: descriptor,
|
|
enumerable: false
|
|
} : typeof descriptor.reflect === "string" ? Object.assign({}, descriptor, reflect(descriptor.reflect.split("."))) : descriptor];
|
|
}).reduce(function (instance, _ref3) {
|
|
var key = _ref3[0],
|
|
descriptor = _ref3[1];
|
|
return Object.defineProperty(instance, key, Object.assign({
|
|
configurable: true
|
|
}, descriptor));
|
|
}, Object.assign(new constructor(), properties));
|
|
};
|
|
|
|
var ModuleErrors = {
|
|
ImportMetaOutsideModule: {
|
|
message: "import.meta may appear only with 'sourceType: \"module\"'",
|
|
code: ParseErrorCode.SourceTypeModuleError
|
|
},
|
|
ImportOutsideModule: {
|
|
message: "'import' and 'export' may appear only with 'sourceType: \"module\"'",
|
|
code: ParseErrorCode.SourceTypeModuleError
|
|
}
|
|
};
|
|
|
|
var NodeDescriptions = {
|
|
ArrayPattern: "array destructuring pattern",
|
|
AssignmentExpression: "assignment expression",
|
|
AssignmentPattern: "assignment expression",
|
|
ArrowFunctionExpression: "arrow function expression",
|
|
ConditionalExpression: "conditional expression",
|
|
CatchClause: "catch clause",
|
|
ForOfStatement: "for-of statement",
|
|
ForInStatement: "for-in statement",
|
|
ForStatement: "for-loop",
|
|
FormalParameters: "function parameter list",
|
|
Identifier: "identifier",
|
|
ImportSpecifier: "import specifier",
|
|
ImportDefaultSpecifier: "import default specifier",
|
|
ImportNamespaceSpecifier: "import namespace specifier",
|
|
ObjectPattern: "object destructuring pattern",
|
|
ParenthesizedExpression: "parenthesized expression",
|
|
RestElement: "rest element",
|
|
UpdateExpression: {
|
|
"true": "prefix operation",
|
|
"false": "postfix operation"
|
|
},
|
|
VariableDeclarator: "variable declaration",
|
|
YieldExpression: "yield expression"
|
|
};
|
|
var toNodeDescription = function toNodeDescription(_ref) {
|
|
var type = _ref.type,
|
|
prefix = _ref.prefix;
|
|
return type === "UpdateExpression" ? NodeDescriptions.UpdateExpression[String(prefix)] : NodeDescriptions[type];
|
|
};
|
|
|
|
var StandardErrors = {
|
|
AccessorIsGenerator: function AccessorIsGenerator(_ref) {
|
|
var kind = _ref.kind;
|
|
return "A " + kind + "ter cannot be a generator.";
|
|
},
|
|
ArgumentsInClass: "'arguments' is only allowed in functions and class methods.",
|
|
AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.",
|
|
AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.",
|
|
AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.",
|
|
AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.",
|
|
AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.",
|
|
AwaitNotInAsyncFunction: "'await' is only allowed within async functions.",
|
|
BadGetterArity: "A 'get' accessor must not have any formal parameters.",
|
|
BadSetterArity: "A 'set' accessor must have exactly one formal parameter.",
|
|
BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.",
|
|
ConstructorClassField: "Classes may not have a field named 'constructor'.",
|
|
ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.",
|
|
ConstructorIsAccessor: "Class constructor may not be an accessor.",
|
|
ConstructorIsAsync: "Constructor can't be an async function.",
|
|
ConstructorIsGenerator: "Constructor can't be a generator.",
|
|
DeclarationMissingInitializer: function DeclarationMissingInitializer(_ref2) {
|
|
var kind = _ref2.kind;
|
|
return "Missing initializer in " + kind + " declaration.";
|
|
},
|
|
DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",
|
|
DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",
|
|
DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",
|
|
DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",
|
|
DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",
|
|
DecoratorSemicolon: "Decorators must not be followed by a semicolon.",
|
|
DecoratorStaticBlock: "Decorators can't be used with a static block.",
|
|
DeletePrivateField: "Deleting a private field is not allowed.",
|
|
DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.",
|
|
DuplicateConstructor: "Duplicate constructor in the same class.",
|
|
DuplicateDefaultExport: "Only one default export allowed per module.",
|
|
DuplicateExport: function DuplicateExport(_ref3) {
|
|
var exportName = _ref3.exportName;
|
|
return "`" + exportName + "` has already been exported. Exported identifiers must be unique.";
|
|
},
|
|
DuplicateProto: "Redefinition of __proto__ property.",
|
|
DuplicateRegExpFlags: "Duplicate regular expression flag.",
|
|
ElementAfterRest: "Rest element must be last element.",
|
|
EscapedCharNotAnIdentifier: "Invalid Unicode escape.",
|
|
ExportBindingIsString: function ExportBindingIsString(_ref4) {
|
|
var localName = _ref4.localName,
|
|
exportName = _ref4.exportName;
|
|
return "A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '" + localName + "' as '" + exportName + "' } from 'some-module'`?";
|
|
},
|
|
ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.",
|
|
ForInOfLoopInitializer: function ForInOfLoopInitializer(_ref5) {
|
|
var type = _ref5.type;
|
|
return "'" + (type === "ForInStatement" ? "for-in" : "for-of") + "' loop variable declaration may not have an initializer.";
|
|
},
|
|
ForInUsing: "For-in loop may not start with 'using' declaration.",
|
|
ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.",
|
|
ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.",
|
|
GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.",
|
|
IllegalBreakContinue: function IllegalBreakContinue(_ref6) {
|
|
var type = _ref6.type;
|
|
return "Unsyntactic " + (type === "BreakStatement" ? "break" : "continue") + ".";
|
|
},
|
|
IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.",
|
|
IllegalReturn: "'return' outside of function.",
|
|
ImportBindingIsString: function ImportBindingIsString(_ref7) {
|
|
var importName = _ref7.importName;
|
|
return "A string literal cannot be used as an imported binding.\n- Did you mean `import { \"" + importName + "\" as foo }`?";
|
|
},
|
|
ImportCallArgumentTrailingComma: "Trailing comma is disallowed inside import(...) arguments.",
|
|
ImportCallArity: function ImportCallArity(_ref8) {
|
|
var maxArgumentCount = _ref8.maxArgumentCount;
|
|
return "`import()` requires exactly " + (maxArgumentCount === 1 ? "one argument" : "one or two arguments") + ".";
|
|
},
|
|
ImportCallNotNewExpression: "Cannot use new with import(...).",
|
|
ImportCallSpreadArgument: "`...` is not allowed in `import()`.",
|
|
ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.",
|
|
ImportReflectionHasAssertion: "`import module x` cannot have assertions.",
|
|
ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.',
|
|
IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.",
|
|
InvalidBigIntLiteral: "Invalid BigIntLiteral.",
|
|
InvalidCodePoint: "Code point out of bounds.",
|
|
InvalidCoverInitializedName: "Invalid shorthand property initializer.",
|
|
InvalidDecimal: "Invalid decimal.",
|
|
InvalidDigit: function InvalidDigit(_ref9) {
|
|
var radix = _ref9.radix;
|
|
return "Expected number in radix " + radix + ".";
|
|
},
|
|
InvalidEscapeSequence: "Bad character escape sequence.",
|
|
InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.",
|
|
InvalidEscapedReservedWord: function InvalidEscapedReservedWord(_ref10) {
|
|
var reservedWord = _ref10.reservedWord;
|
|
return "Escape sequence in keyword " + reservedWord + ".";
|
|
},
|
|
InvalidIdentifier: function InvalidIdentifier(_ref11) {
|
|
var identifierName = _ref11.identifierName;
|
|
return "Invalid identifier " + identifierName + ".";
|
|
},
|
|
InvalidLhs: function InvalidLhs(_ref12) {
|
|
var ancestor = _ref12.ancestor;
|
|
return "Invalid left-hand side in " + toNodeDescription(ancestor) + ".";
|
|
},
|
|
InvalidLhsBinding: function InvalidLhsBinding(_ref13) {
|
|
var ancestor = _ref13.ancestor;
|
|
return "Binding invalid left-hand side in " + toNodeDescription(ancestor) + ".";
|
|
},
|
|
InvalidNumber: "Invalid number.",
|
|
InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.",
|
|
InvalidOrUnexpectedToken: function InvalidOrUnexpectedToken(_ref14) {
|
|
var unexpected = _ref14.unexpected;
|
|
return "Unexpected character '" + unexpected + "'.";
|
|
},
|
|
InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.",
|
|
InvalidPrivateFieldResolution: function InvalidPrivateFieldResolution(_ref15) {
|
|
var identifierName = _ref15.identifierName;
|
|
return "Private name #" + identifierName + " is not defined.";
|
|
},
|
|
InvalidPropertyBindingPattern: "Binding member expression.",
|
|
InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.",
|
|
InvalidRestAssignmentPattern: "Invalid rest operator's argument.",
|
|
LabelRedeclaration: function LabelRedeclaration(_ref16) {
|
|
var labelName = _ref16.labelName;
|
|
return "Label '" + labelName + "' is already declared.";
|
|
},
|
|
LetInLexicalBinding: "'let' is not allowed to be used as a name in 'let' or 'const' declarations.",
|
|
LineTerminatorBeforeArrow: "No line break is allowed before '=>'.",
|
|
MalformedRegExpFlags: "Invalid regular expression flag.",
|
|
MissingClassName: "A class name is required.",
|
|
MissingEqInAssignment: "Only '=' operator can be used for specifying default value.",
|
|
MissingSemicolon: "Missing semicolon.",
|
|
MissingPlugin: function MissingPlugin(_ref17) {
|
|
var missingPlugin = _ref17.missingPlugin;
|
|
return "This experimental syntax requires enabling the parser plugin: " + missingPlugin.map(function (name) {
|
|
return JSON.stringify(name);
|
|
}).join(", ") + ".";
|
|
},
|
|
MissingOneOfPlugins: function MissingOneOfPlugins(_ref18) {
|
|
var missingPlugin = _ref18.missingPlugin;
|
|
return "This experimental syntax requires enabling one of the following parser plugin(s): " + missingPlugin.map(function (name) {
|
|
return JSON.stringify(name);
|
|
}).join(", ") + ".";
|
|
},
|
|
MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.",
|
|
MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.",
|
|
ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.",
|
|
ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.",
|
|
ModuleAttributesWithDuplicateKeys: function ModuleAttributesWithDuplicateKeys(_ref19) {
|
|
var key = _ref19.key;
|
|
return "Duplicate key \"" + key + "\" is not allowed in module attributes.";
|
|
},
|
|
ModuleExportNameHasLoneSurrogate: function ModuleExportNameHasLoneSurrogate(_ref20) {
|
|
var surrogateCharCode = _ref20.surrogateCharCode;
|
|
return "An export name cannot include a lone surrogate, found '\\u" + surrogateCharCode.toString(16) + "'.";
|
|
},
|
|
ModuleExportUndefined: function ModuleExportUndefined(_ref21) {
|
|
var localName = _ref21.localName;
|
|
return "Export '" + localName + "' is not defined.";
|
|
},
|
|
MultipleDefaultsInSwitch: "Multiple default clauses.",
|
|
NewlineAfterThrow: "Illegal newline after throw.",
|
|
NoCatchOrFinally: "Missing catch or finally clause.",
|
|
NumberIdentifier: "Identifier directly after number.",
|
|
NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",
|
|
ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.",
|
|
OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.",
|
|
OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.",
|
|
OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.",
|
|
ParamDupe: "Argument name clash.",
|
|
PatternHasAccessor: "Object pattern can't contain getter or setter.",
|
|
PatternHasMethod: "Object pattern can't contain methods.",
|
|
PrivateInExpectedIn: function PrivateInExpectedIn(_ref22) {
|
|
var identifierName = _ref22.identifierName;
|
|
return "Private names are only allowed in property accesses (`obj.#" + identifierName + "`) or in `in` expressions (`#" + identifierName + " in obj`).";
|
|
},
|
|
PrivateNameRedeclaration: function PrivateNameRedeclaration(_ref23) {
|
|
var identifierName = _ref23.identifierName;
|
|
return "Duplicate private name #" + identifierName + ".";
|
|
},
|
|
RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",
|
|
RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",
|
|
RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",
|
|
RecordNoProto: "'__proto__' is not allowed in Record expressions.",
|
|
RestTrailingComma: "Unexpected trailing comma after rest element.",
|
|
SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.",
|
|
SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",
|
|
StaticPrototype: "Classes may not have static property named prototype.",
|
|
SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",
|
|
SuperPrivateField: "Private fields can't be accessed on super.",
|
|
TrailingDecorator: "Decorators must be attached to a class element.",
|
|
TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",
|
|
TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",
|
|
TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",
|
|
UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.",
|
|
UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',
|
|
UnexpectedDigitAfterHash: "Unexpected digit after hash token.",
|
|
UnexpectedImportExport: "'import' and 'export' may only appear at the top level.",
|
|
UnexpectedKeyword: function UnexpectedKeyword(_ref24) {
|
|
var keyword = _ref24.keyword;
|
|
return "Unexpected keyword '" + keyword + "'.";
|
|
},
|
|
UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.",
|
|
UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.",
|
|
UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.",
|
|
UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.",
|
|
UnexpectedPrivateField: "Unexpected private name.",
|
|
UnexpectedReservedWord: function UnexpectedReservedWord(_ref25) {
|
|
var reservedWord = _ref25.reservedWord;
|
|
return "Unexpected reserved word '" + reservedWord + "'.";
|
|
},
|
|
UnexpectedSuper: "'super' is only allowed in object methods and classes.",
|
|
UnexpectedToken: function UnexpectedToken(_ref26) {
|
|
var expected = _ref26.expected,
|
|
unexpected = _ref26.unexpected;
|
|
return "Unexpected token" + (unexpected ? " '" + unexpected + "'." : "") + (expected ? ", expected \"" + expected + "\"" : "");
|
|
},
|
|
UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",
|
|
UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script`.",
|
|
UnsupportedBind: "Binding should be performed on object property.",
|
|
UnsupportedDecoratorExport: "A decorated export must export a class declaration.",
|
|
UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.",
|
|
UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.",
|
|
UnsupportedMetaProperty: function UnsupportedMetaProperty(_ref27) {
|
|
var target = _ref27.target,
|
|
onlyValidPropertyName = _ref27.onlyValidPropertyName;
|
|
return "The only valid meta property for " + target + " is " + target + "." + onlyValidPropertyName + ".";
|
|
},
|
|
UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.",
|
|
UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.",
|
|
UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",
|
|
UnterminatedComment: "Unterminated comment.",
|
|
UnterminatedRegExp: "Unterminated regular expression.",
|
|
UnterminatedString: "Unterminated string constant.",
|
|
UnterminatedTemplate: "Unterminated template.",
|
|
UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.",
|
|
VarRedeclaration: function VarRedeclaration(_ref28) {
|
|
var identifierName = _ref28.identifierName;
|
|
return "Identifier '" + identifierName + "' has already been declared.";
|
|
},
|
|
YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.",
|
|
YieldInParameter: "Yield expression is not allowed in formal parameters.",
|
|
ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0."
|
|
};
|
|
|
|
var StrictModeErrors = {
|
|
StrictDelete: "Deleting local variable in strict mode.",
|
|
StrictEvalArguments: function StrictEvalArguments(_ref) {
|
|
var referenceName = _ref.referenceName;
|
|
return "Assigning to '" + referenceName + "' in strict mode.";
|
|
},
|
|
StrictEvalArgumentsBinding: function StrictEvalArgumentsBinding(_ref2) {
|
|
var bindingName = _ref2.bindingName;
|
|
return "Binding '" + bindingName + "' in strict mode.";
|
|
},
|
|
StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.",
|
|
StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.",
|
|
StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.",
|
|
StrictWith: "'with' in strict mode."
|
|
};
|
|
|
|
var UnparenthesizedPipeBodyDescriptions = new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]);
|
|
var PipelineOperatorErrors = {
|
|
PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",
|
|
PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.',
|
|
PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.",
|
|
PipeTopicUnconfiguredToken: function PipeTopicUnconfiguredToken(_ref) {
|
|
var token = _ref.token;
|
|
return "Invalid topic token " + token + ". In order to use " + token + " as a topic reference, the pipelineOperator plugin must be configured with { \"proposal\": \"hack\", \"topicToken\": \"" + token + "\" }.";
|
|
},
|
|
PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",
|
|
PipeUnparenthesizedBody: function PipeUnparenthesizedBody(_ref2) {
|
|
var type = _ref2.type;
|
|
return "Hack-style pipe body cannot be an unparenthesized " + toNodeDescription({
|
|
type: type
|
|
}) + "; please wrap it in parentheses.";
|
|
},
|
|
PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',
|
|
PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.",
|
|
PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.",
|
|
PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.",
|
|
PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.",
|
|
PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.'
|
|
};
|
|
|
|
var _templateObject$A;
|
|
var _excluded$5 = ["toMessage"],
|
|
_excluded2$1 = ["message"];
|
|
function toParseErrorConstructor(_ref) {
|
|
var toMessage = _ref.toMessage,
|
|
properties = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
return function constructor(_ref2) {
|
|
var loc = _ref2.loc,
|
|
details = _ref2.details;
|
|
return instantiate(SyntaxError, Object.assign({}, properties, {
|
|
loc: loc
|
|
}), {
|
|
clone: function clone(overrides) {
|
|
if (overrides === void 0) {
|
|
overrides = {};
|
|
}
|
|
var loc = overrides.loc || {};
|
|
return constructor({
|
|
loc: new Position("line" in loc ? loc.line : this.loc.line, "column" in loc ? loc.column : this.loc.column, "index" in loc ? loc.index : this.loc.index),
|
|
details: Object.assign({}, this.details, overrides.details)
|
|
});
|
|
},
|
|
details: {
|
|
value: details,
|
|
enumerable: false
|
|
},
|
|
message: {
|
|
get: function get() {
|
|
return toMessage(this.details) + " (" + this.loc.line + ":" + this.loc.column + ")";
|
|
},
|
|
set: function set(value) {
|
|
Object.defineProperty(this, "message", {
|
|
value: value
|
|
});
|
|
}
|
|
},
|
|
pos: {
|
|
reflect: "loc.index",
|
|
enumerable: true
|
|
},
|
|
missingPlugin: "missingPlugin" in details && {
|
|
reflect: "details.missingPlugin",
|
|
enumerable: true
|
|
}
|
|
});
|
|
};
|
|
}
|
|
function ParseErrorEnum(argument, syntaxPlugin) {
|
|
if (Array.isArray(argument)) {
|
|
return function (parseErrorTemplates) {
|
|
return ParseErrorEnum(parseErrorTemplates, argument[0]);
|
|
};
|
|
}
|
|
var ParseErrorConstructors = {};
|
|
var _loop = function _loop() {
|
|
var reasonCode = _Object$keys2[_i2];
|
|
var template = argument[reasonCode];
|
|
var _ref3 = typeof template === "string" ? {
|
|
message: function message() {
|
|
return template;
|
|
}
|
|
} : typeof template === "function" ? {
|
|
message: template
|
|
} : template,
|
|
message = _ref3.message,
|
|
rest = _objectWithoutPropertiesLoose(_ref3, _excluded2$1);
|
|
var toMessage = typeof message === "string" ? function () {
|
|
return message;
|
|
} : message;
|
|
ParseErrorConstructors[reasonCode] = toParseErrorConstructor(Object.assign({
|
|
code: ParseErrorCode.SyntaxError,
|
|
reasonCode: reasonCode,
|
|
toMessage: toMessage
|
|
}, syntaxPlugin ? {
|
|
syntaxPlugin: syntaxPlugin
|
|
} : {}, rest));
|
|
};
|
|
for (var _i2 = 0, _Object$keys2 = Object.keys(argument); _i2 < _Object$keys2.length; _i2++) {
|
|
_loop();
|
|
}
|
|
return ParseErrorConstructors;
|
|
}
|
|
var Errors = Object.assign({}, ParseErrorEnum(ModuleErrors), ParseErrorEnum(StandardErrors), ParseErrorEnum(StrictModeErrors), ParseErrorEnum(_templateObject$A || (_templateObject$A = _taggedTemplateLiteralLoose(["pipelineOperator"])))(PipelineOperatorErrors));
|
|
|
|
var defineProperty = Object.defineProperty;
|
|
var toUnenumerable = function toUnenumerable(object, key) {
|
|
return defineProperty(object, key, {
|
|
enumerable: false,
|
|
value: object[key]
|
|
});
|
|
};
|
|
function toESTreeLocation(node) {
|
|
node.loc.start && toUnenumerable(node.loc.start, "index");
|
|
node.loc.end && toUnenumerable(node.loc.end, "index");
|
|
return node;
|
|
}
|
|
var estree = (function (superClass) {
|
|
return function (_superClass) {
|
|
_inherits(ESTreeParserMixin, _superClass);
|
|
function ESTreeParserMixin() {
|
|
return _superClass.apply(this, arguments) || this;
|
|
}
|
|
var _proto = ESTreeParserMixin.prototype;
|
|
_proto.parse = function parse() {
|
|
var file = toESTreeLocation(_superClass.prototype.parse.call(this));
|
|
if (this.options.tokens) {
|
|
file.tokens = file.tokens.map(toESTreeLocation);
|
|
}
|
|
return file;
|
|
};
|
|
_proto.parseRegExpLiteral = function parseRegExpLiteral(_ref) {
|
|
var pattern = _ref.pattern,
|
|
flags = _ref.flags;
|
|
var regex = null;
|
|
try {
|
|
regex = new RegExp(pattern, flags);
|
|
} catch (e) {}
|
|
var node = this.estreeParseLiteral(regex);
|
|
node.regex = {
|
|
pattern: pattern,
|
|
flags: flags
|
|
};
|
|
return node;
|
|
};
|
|
_proto.parseBigIntLiteral = function parseBigIntLiteral(value) {
|
|
var bigInt;
|
|
try {
|
|
bigInt = BigInt(value);
|
|
} catch (_unused) {
|
|
bigInt = null;
|
|
}
|
|
var node = this.estreeParseLiteral(bigInt);
|
|
node.bigint = String(node.value || value);
|
|
return node;
|
|
};
|
|
_proto.parseDecimalLiteral = function parseDecimalLiteral(value) {
|
|
var decimal = null;
|
|
var node = this.estreeParseLiteral(decimal);
|
|
node.decimal = String(node.value || value);
|
|
return node;
|
|
};
|
|
_proto.estreeParseLiteral = function estreeParseLiteral(value) {
|
|
return this.parseLiteral(value, "Literal");
|
|
};
|
|
_proto.parseStringLiteral = function parseStringLiteral(value) {
|
|
return this.estreeParseLiteral(value);
|
|
};
|
|
_proto.parseNumericLiteral = function parseNumericLiteral(value) {
|
|
return this.estreeParseLiteral(value);
|
|
};
|
|
_proto.parseNullLiteral = function parseNullLiteral() {
|
|
return this.estreeParseLiteral(null);
|
|
};
|
|
_proto.parseBooleanLiteral = function parseBooleanLiteral(value) {
|
|
return this.estreeParseLiteral(value);
|
|
};
|
|
_proto.directiveToStmt = function directiveToStmt(directive) {
|
|
var expression = directive.value;
|
|
delete directive.value;
|
|
expression.type = "Literal";
|
|
expression.raw = expression.extra.raw;
|
|
expression.value = expression.extra.expressionValue;
|
|
var stmt = directive;
|
|
stmt.type = "ExpressionStatement";
|
|
stmt.expression = expression;
|
|
stmt.directive = expression.extra.rawValue;
|
|
delete expression.extra;
|
|
return stmt;
|
|
};
|
|
_proto.initFunction = function initFunction(node, isAsync) {
|
|
_superClass.prototype.initFunction.call(this, node, isAsync);
|
|
node.expression = false;
|
|
};
|
|
_proto.checkDeclaration = function checkDeclaration(node) {
|
|
if (node != null && this.isObjectProperty(node)) {
|
|
this.checkDeclaration(node.value);
|
|
} else {
|
|
_superClass.prototype.checkDeclaration.call(this, node);
|
|
}
|
|
};
|
|
_proto.getObjectOrClassMethodParams = function getObjectOrClassMethodParams(method) {
|
|
return method.value.params;
|
|
};
|
|
_proto.isValidDirective = function isValidDirective(stmt) {
|
|
var _stmt$expression$extr;
|
|
return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized);
|
|
};
|
|
_proto.parseBlockBody = function parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) {
|
|
var _this = this;
|
|
_superClass.prototype.parseBlockBody.call(this, node, allowDirectives, topLevel, end, afterBlockParse);
|
|
var directiveStatements = node.directives.map(function (d) {
|
|
return _this.directiveToStmt(d);
|
|
});
|
|
node.body = directiveStatements.concat(node.body);
|
|
delete node.directives;
|
|
};
|
|
_proto.pushClassMethod = function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
|
|
this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true);
|
|
if (method.typeParameters) {
|
|
method.value.typeParameters = method.typeParameters;
|
|
delete method.typeParameters;
|
|
}
|
|
classBody.body.push(method);
|
|
};
|
|
_proto.parsePrivateName = function parsePrivateName() {
|
|
var node = _superClass.prototype.parsePrivateName.call(this);
|
|
{
|
|
if (!this.getPluginOption("estree", "classFeatures")) {
|
|
return node;
|
|
}
|
|
}
|
|
return this.convertPrivateNameToPrivateIdentifier(node);
|
|
};
|
|
_proto.convertPrivateNameToPrivateIdentifier = function convertPrivateNameToPrivateIdentifier(node) {
|
|
var name = _superClass.prototype.getPrivateNameSV.call(this, node);
|
|
node = node;
|
|
delete node.id;
|
|
node.name = name;
|
|
node.type = "PrivateIdentifier";
|
|
return node;
|
|
};
|
|
_proto.isPrivateName = function isPrivateName(node) {
|
|
{
|
|
if (!this.getPluginOption("estree", "classFeatures")) {
|
|
return _superClass.prototype.isPrivateName.call(this, node);
|
|
}
|
|
}
|
|
return node.type === "PrivateIdentifier";
|
|
};
|
|
_proto.getPrivateNameSV = function getPrivateNameSV(node) {
|
|
{
|
|
if (!this.getPluginOption("estree", "classFeatures")) {
|
|
return _superClass.prototype.getPrivateNameSV.call(this, node);
|
|
}
|
|
}
|
|
return node.name;
|
|
};
|
|
_proto.parseLiteral = function parseLiteral(value, type) {
|
|
var node = _superClass.prototype.parseLiteral.call(this, value, type);
|
|
node.raw = node.extra.raw;
|
|
delete node.extra;
|
|
return node;
|
|
};
|
|
_proto.parseFunctionBody = function parseFunctionBody(node, allowExpression, isMethod) {
|
|
if (isMethod === void 0) {
|
|
isMethod = false;
|
|
}
|
|
_superClass.prototype.parseFunctionBody.call(this, node, allowExpression, isMethod);
|
|
node.expression = node.body.type !== "BlockStatement";
|
|
};
|
|
_proto.parseMethod = function parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) {
|
|
if (inClassScope === void 0) {
|
|
inClassScope = false;
|
|
}
|
|
var funcNode = this.startNode();
|
|
funcNode.kind = node.kind;
|
|
funcNode = _superClass.prototype.parseMethod.call(this, funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope);
|
|
funcNode.type = "FunctionExpression";
|
|
delete funcNode.kind;
|
|
node.value = funcNode;
|
|
if (type === "ClassPrivateMethod") {
|
|
node.computed = false;
|
|
}
|
|
return this.finishNode(node, "MethodDefinition");
|
|
};
|
|
_proto.parseClassProperty = function parseClassProperty() {
|
|
var _superClass$prototype;
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
var propertyNode = (_superClass$prototype = _superClass.prototype.parseClassProperty).call.apply(_superClass$prototype, [this].concat(args));
|
|
{
|
|
if (!this.getPluginOption("estree", "classFeatures")) {
|
|
return propertyNode;
|
|
}
|
|
}
|
|
propertyNode.type = "PropertyDefinition";
|
|
return propertyNode;
|
|
};
|
|
_proto.parseClassPrivateProperty = function parseClassPrivateProperty() {
|
|
var _superClass$prototype2;
|
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
args[_key2] = arguments[_key2];
|
|
}
|
|
var propertyNode = (_superClass$prototype2 = _superClass.prototype.parseClassPrivateProperty).call.apply(_superClass$prototype2, [this].concat(args));
|
|
{
|
|
if (!this.getPluginOption("estree", "classFeatures")) {
|
|
return propertyNode;
|
|
}
|
|
}
|
|
propertyNode.type = "PropertyDefinition";
|
|
propertyNode.computed = false;
|
|
return propertyNode;
|
|
};
|
|
_proto.parseObjectMethod = function parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) {
|
|
var node = _superClass.prototype.parseObjectMethod.call(this, prop, isGenerator, isAsync, isPattern, isAccessor);
|
|
if (node) {
|
|
node.type = "Property";
|
|
if (node.kind === "method") {
|
|
node.kind = "init";
|
|
}
|
|
node.shorthand = false;
|
|
}
|
|
return node;
|
|
};
|
|
_proto.parseObjectProperty = function parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) {
|
|
var node = _superClass.prototype.parseObjectProperty.call(this, prop, startLoc, isPattern, refExpressionErrors);
|
|
if (node) {
|
|
node.kind = "init";
|
|
node.type = "Property";
|
|
}
|
|
return node;
|
|
};
|
|
_proto.isValidLVal = function isValidLVal(type, isUnparenthesizedInAssign, binding) {
|
|
return type === "Property" ? "value" : _superClass.prototype.isValidLVal.call(this, type, isUnparenthesizedInAssign, binding);
|
|
};
|
|
_proto.isAssignable = function isAssignable(node, isBinding) {
|
|
if (node != null && this.isObjectProperty(node)) {
|
|
return this.isAssignable(node.value, isBinding);
|
|
}
|
|
return _superClass.prototype.isAssignable.call(this, node, isBinding);
|
|
};
|
|
_proto.toAssignable = function toAssignable(node, isLHS) {
|
|
if (isLHS === void 0) {
|
|
isLHS = false;
|
|
}
|
|
if (node != null && this.isObjectProperty(node)) {
|
|
var key = node.key,
|
|
value = node.value;
|
|
if (this.isPrivateName(key)) {
|
|
this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start);
|
|
}
|
|
this.toAssignable(value, isLHS);
|
|
} else {
|
|
_superClass.prototype.toAssignable.call(this, node, isLHS);
|
|
}
|
|
};
|
|
_proto.toAssignableObjectExpressionProp = function toAssignableObjectExpressionProp(prop, isLast, isLHS) {
|
|
if (prop.kind === "get" || prop.kind === "set") {
|
|
this.raise(Errors.PatternHasAccessor, {
|
|
at: prop.key
|
|
});
|
|
} else if (prop.method) {
|
|
this.raise(Errors.PatternHasMethod, {
|
|
at: prop.key
|
|
});
|
|
} else {
|
|
_superClass.prototype.toAssignableObjectExpressionProp.call(this, prop, isLast, isLHS);
|
|
}
|
|
};
|
|
_proto.finishCallExpression = function finishCallExpression(unfinished, optional) {
|
|
var node = _superClass.prototype.finishCallExpression.call(this, unfinished, optional);
|
|
if (node.callee.type === "Import") {
|
|
node.type = "ImportExpression";
|
|
node.source = node.arguments[0];
|
|
if (this.hasPlugin("importAssertions")) {
|
|
var _node$arguments$;
|
|
node.attributes = (_node$arguments$ = node.arguments[1]) != null ? _node$arguments$ : null;
|
|
}
|
|
delete node.arguments;
|
|
delete node.callee;
|
|
}
|
|
return node;
|
|
};
|
|
_proto.toReferencedArguments = function toReferencedArguments(node) {
|
|
if (node.type === "ImportExpression") {
|
|
return;
|
|
}
|
|
_superClass.prototype.toReferencedArguments.call(this, node);
|
|
};
|
|
_proto.parseExport = function parseExport(unfinished, decorators) {
|
|
var exportStartLoc = this.state.lastTokStartLoc;
|
|
var node = _superClass.prototype.parseExport.call(this, unfinished, decorators);
|
|
switch (node.type) {
|
|
case "ExportAllDeclaration":
|
|
node.exported = null;
|
|
break;
|
|
case "ExportNamedDeclaration":
|
|
if (node.specifiers.length === 1 && node.specifiers[0].type === "ExportNamespaceSpecifier") {
|
|
node.type = "ExportAllDeclaration";
|
|
node.exported = node.specifiers[0].exported;
|
|
delete node.specifiers;
|
|
}
|
|
case "ExportDefaultDeclaration":
|
|
{
|
|
var _declaration$decorato;
|
|
var declaration = node.declaration;
|
|
if ((declaration == null ? void 0 : declaration.type) === "ClassDeclaration" && ((_declaration$decorato = declaration.decorators) == null ? void 0 : _declaration$decorato.length) > 0 && declaration.start === node.start) {
|
|
this.resetStartLocation(node, exportStartLoc);
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
return node;
|
|
};
|
|
_proto.parseSubscript = function parseSubscript(base, startLoc, noCalls, state) {
|
|
var node = _superClass.prototype.parseSubscript.call(this, base, startLoc, noCalls, state);
|
|
if (state.optionalChainMember) {
|
|
if (node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression") {
|
|
node.type = node.type.substring(8);
|
|
}
|
|
if (state.stop) {
|
|
var chain = this.startNodeAtNode(node);
|
|
chain.expression = node;
|
|
return this.finishNode(chain, "ChainExpression");
|
|
}
|
|
} else if (node.type === "MemberExpression" || node.type === "CallExpression") {
|
|
node.optional = false;
|
|
}
|
|
return node;
|
|
};
|
|
_proto.hasPropertyAsPrivateName = function hasPropertyAsPrivateName(node) {
|
|
if (node.type === "ChainExpression") {
|
|
node = node.expression;
|
|
}
|
|
return _superClass.prototype.hasPropertyAsPrivateName.call(this, node);
|
|
};
|
|
_proto.isObjectProperty = function isObjectProperty(node) {
|
|
return node.type === "Property" && node.kind === "init" && !node.method;
|
|
};
|
|
_proto.isObjectMethod = function isObjectMethod(node) {
|
|
return node.method || node.kind === "get" || node.kind === "set";
|
|
};
|
|
_proto.finishNodeAt = function finishNodeAt(node, type, endLoc) {
|
|
return toESTreeLocation(_superClass.prototype.finishNodeAt.call(this, node, type, endLoc));
|
|
};
|
|
_proto.resetStartLocation = function resetStartLocation(node, startLoc) {
|
|
_superClass.prototype.resetStartLocation.call(this, node, startLoc);
|
|
toESTreeLocation(node);
|
|
};
|
|
_proto.resetEndLocation = function resetEndLocation(node, endLoc) {
|
|
if (endLoc === void 0) {
|
|
endLoc = this.state.lastTokEndLoc;
|
|
}
|
|
_superClass.prototype.resetEndLocation.call(this, node, endLoc);
|
|
toESTreeLocation(node);
|
|
};
|
|
return _createClass(ESTreeParserMixin);
|
|
}(superClass);
|
|
});
|
|
|
|
function isIteratorStart(current, next, next2) {
|
|
return current === 64 && next === 64 && isIdentifierStart(next2);
|
|
}
|
|
var reservedWordLikeSet = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "eval", "arguments", "enum", "await"]);
|
|
function canBeReservedWord(word) {
|
|
return reservedWordLikeSet.has(word);
|
|
}
|
|
|
|
var SCOPE_OTHER = 0,
|
|
SCOPE_PROGRAM = 1,
|
|
SCOPE_FUNCTION = 2,
|
|
SCOPE_ARROW = 4,
|
|
SCOPE_SIMPLE_CATCH = 8,
|
|
SCOPE_SUPER = 16,
|
|
SCOPE_DIRECT_SUPER = 32,
|
|
SCOPE_CLASS = 64,
|
|
SCOPE_STATIC_BLOCK = 128,
|
|
SCOPE_TS_MODULE = 256,
|
|
SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_STATIC_BLOCK | SCOPE_TS_MODULE;
|
|
var BIND_KIND_VALUE = 1,
|
|
BIND_KIND_TYPE = 2,
|
|
BIND_SCOPE_VAR = 4,
|
|
BIND_SCOPE_LEXICAL = 8,
|
|
BIND_SCOPE_FUNCTION = 16,
|
|
BIND_FLAGS_NONE = 64,
|
|
BIND_FLAGS_CLASS = 128,
|
|
BIND_FLAGS_TS_ENUM = 256,
|
|
BIND_FLAGS_TS_CONST_ENUM = 512,
|
|
BIND_FLAGS_TS_EXPORT_ONLY = 1024,
|
|
BIND_FLAGS_FLOW_DECLARE_FN = 2048,
|
|
BIND_FLAGS_TS_IMPORT = 4096,
|
|
BIND_FLAGS_NO_LET_IN_LEXICAL = 8192;
|
|
var BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS | BIND_FLAGS_NO_LET_IN_LEXICAL,
|
|
BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | BIND_FLAGS_NO_LET_IN_LEXICAL,
|
|
BIND_CATCH_PARAM = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0,
|
|
BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0,
|
|
BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0,
|
|
BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS,
|
|
BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0,
|
|
BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM | BIND_FLAGS_NO_LET_IN_LEXICAL,
|
|
BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,
|
|
BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE,
|
|
BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE,
|
|
BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM,
|
|
BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,
|
|
BIND_TS_TYPE_IMPORT = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_TS_IMPORT,
|
|
BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN;
|
|
var CLASS_ELEMENT_FLAG_STATIC = 4,
|
|
CLASS_ELEMENT_KIND_GETTER = 2,
|
|
CLASS_ELEMENT_KIND_SETTER = 1,
|
|
CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER;
|
|
var CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC,
|
|
CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC,
|
|
CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER,
|
|
CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER,
|
|
CLASS_ELEMENT_OTHER = 0;
|
|
|
|
var Scope = _createClass(function Scope(flags) {
|
|
this["var"] = new Set();
|
|
this.lexical = new Set();
|
|
this.functions = new Set();
|
|
this.flags = flags;
|
|
});
|
|
var ScopeHandler = function () {
|
|
function ScopeHandler(parser, inModule) {
|
|
this.parser = void 0;
|
|
this.scopeStack = [];
|
|
this.inModule = void 0;
|
|
this.undefinedExports = new Map();
|
|
this.parser = parser;
|
|
this.inModule = inModule;
|
|
}
|
|
var _proto = ScopeHandler.prototype;
|
|
_proto.createScope = function createScope(flags) {
|
|
return new Scope(flags);
|
|
};
|
|
_proto.enter = function enter(flags) {
|
|
this.scopeStack.push(this.createScope(flags));
|
|
};
|
|
_proto.exit = function exit() {
|
|
var scope = this.scopeStack.pop();
|
|
return scope.flags;
|
|
};
|
|
_proto.treatFunctionsAsVarInScope = function treatFunctionsAsVarInScope(scope) {
|
|
return !!(scope.flags & (SCOPE_FUNCTION | SCOPE_STATIC_BLOCK) || !this.parser.inModule && scope.flags & SCOPE_PROGRAM);
|
|
};
|
|
_proto.declareName = function declareName(name, bindingType, loc) {
|
|
var scope = this.currentScope();
|
|
if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) {
|
|
this.checkRedeclarationInScope(scope, name, bindingType, loc);
|
|
if (bindingType & BIND_SCOPE_FUNCTION) {
|
|
scope.functions.add(name);
|
|
} else {
|
|
scope.lexical.add(name);
|
|
}
|
|
if (bindingType & BIND_SCOPE_LEXICAL) {
|
|
this.maybeExportDefined(scope, name);
|
|
}
|
|
} else if (bindingType & BIND_SCOPE_VAR) {
|
|
for (var i = this.scopeStack.length - 1; i >= 0; --i) {
|
|
scope = this.scopeStack[i];
|
|
this.checkRedeclarationInScope(scope, name, bindingType, loc);
|
|
scope["var"].add(name);
|
|
this.maybeExportDefined(scope, name);
|
|
if (scope.flags & SCOPE_VAR) break;
|
|
}
|
|
}
|
|
if (this.parser.inModule && scope.flags & SCOPE_PROGRAM) {
|
|
this.undefinedExports["delete"](name);
|
|
}
|
|
};
|
|
_proto.maybeExportDefined = function maybeExportDefined(scope, name) {
|
|
if (this.parser.inModule && scope.flags & SCOPE_PROGRAM) {
|
|
this.undefinedExports["delete"](name);
|
|
}
|
|
};
|
|
_proto.checkRedeclarationInScope = function checkRedeclarationInScope(scope, name, bindingType, loc) {
|
|
if (this.isRedeclaredInScope(scope, name, bindingType)) {
|
|
this.parser.raise(Errors.VarRedeclaration, {
|
|
at: loc,
|
|
identifierName: name
|
|
});
|
|
}
|
|
};
|
|
_proto.isRedeclaredInScope = function isRedeclaredInScope(scope, name, bindingType) {
|
|
if (!(bindingType & BIND_KIND_VALUE)) return false;
|
|
if (bindingType & BIND_SCOPE_LEXICAL) {
|
|
return scope.lexical.has(name) || scope.functions.has(name) || scope["var"].has(name);
|
|
}
|
|
if (bindingType & BIND_SCOPE_FUNCTION) {
|
|
return scope.lexical.has(name) || !this.treatFunctionsAsVarInScope(scope) && scope["var"].has(name);
|
|
}
|
|
return scope.lexical.has(name) && !(scope.flags & SCOPE_SIMPLE_CATCH && scope.lexical.values().next().value === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name);
|
|
};
|
|
_proto.checkLocalExport = function checkLocalExport(id) {
|
|
var name = id.name;
|
|
var topLevelScope = this.scopeStack[0];
|
|
if (!topLevelScope.lexical.has(name) && !topLevelScope["var"].has(name) && !topLevelScope.functions.has(name)) {
|
|
this.undefinedExports.set(name, id.loc.start);
|
|
}
|
|
};
|
|
_proto.currentScope = function currentScope() {
|
|
return this.scopeStack[this.scopeStack.length - 1];
|
|
};
|
|
_proto.currentVarScopeFlags = function currentVarScopeFlags() {
|
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
var flags = this.scopeStack[i].flags;
|
|
if (flags & SCOPE_VAR) {
|
|
return flags;
|
|
}
|
|
}
|
|
};
|
|
_proto.currentThisScopeFlags = function currentThisScopeFlags() {
|
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
var flags = this.scopeStack[i].flags;
|
|
if (flags & (SCOPE_VAR | SCOPE_CLASS) && !(flags & SCOPE_ARROW)) {
|
|
return flags;
|
|
}
|
|
}
|
|
};
|
|
_createClass(ScopeHandler, [{
|
|
key: "inTopLevel",
|
|
get: function get() {
|
|
return (this.currentScope().flags & SCOPE_PROGRAM) > 0;
|
|
}
|
|
}, {
|
|
key: "inFunction",
|
|
get: function get() {
|
|
return (this.currentVarScopeFlags() & SCOPE_FUNCTION) > 0;
|
|
}
|
|
}, {
|
|
key: "allowSuper",
|
|
get: function get() {
|
|
return (this.currentThisScopeFlags() & SCOPE_SUPER) > 0;
|
|
}
|
|
}, {
|
|
key: "allowDirectSuper",
|
|
get: function get() {
|
|
return (this.currentThisScopeFlags() & SCOPE_DIRECT_SUPER) > 0;
|
|
}
|
|
}, {
|
|
key: "inClass",
|
|
get: function get() {
|
|
return (this.currentThisScopeFlags() & SCOPE_CLASS) > 0;
|
|
}
|
|
}, {
|
|
key: "inClassAndNotInNonArrowFunction",
|
|
get: function get() {
|
|
var flags = this.currentThisScopeFlags();
|
|
return (flags & SCOPE_CLASS) > 0 && (flags & SCOPE_FUNCTION) === 0;
|
|
}
|
|
}, {
|
|
key: "inStaticBlock",
|
|
get: function get() {
|
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
var flags = this.scopeStack[i].flags;
|
|
if (flags & SCOPE_STATIC_BLOCK) {
|
|
return true;
|
|
}
|
|
if (flags & (SCOPE_VAR | SCOPE_CLASS)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
key: "inNonArrowFunction",
|
|
get: function get() {
|
|
return (this.currentThisScopeFlags() & SCOPE_FUNCTION) > 0;
|
|
}
|
|
}, {
|
|
key: "treatFunctionsAsVar",
|
|
get: function get() {
|
|
return this.treatFunctionsAsVarInScope(this.currentScope());
|
|
}
|
|
}]);
|
|
return ScopeHandler;
|
|
}();
|
|
|
|
var FlowScope = function (_Scope) {
|
|
_inherits(FlowScope, _Scope);
|
|
function FlowScope() {
|
|
var _this;
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
_this = _Scope.call.apply(_Scope, [this].concat(args)) || this;
|
|
_this.declareFunctions = new Set();
|
|
return _this;
|
|
}
|
|
return _createClass(FlowScope);
|
|
}(Scope);
|
|
var FlowScopeHandler = function (_ScopeHandler) {
|
|
_inherits(FlowScopeHandler, _ScopeHandler);
|
|
function FlowScopeHandler() {
|
|
return _ScopeHandler.apply(this, arguments) || this;
|
|
}
|
|
var _proto = FlowScopeHandler.prototype;
|
|
_proto.createScope = function createScope(flags) {
|
|
return new FlowScope(flags);
|
|
};
|
|
_proto.declareName = function declareName(name, bindingType, loc) {
|
|
var scope = this.currentScope();
|
|
if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {
|
|
this.checkRedeclarationInScope(scope, name, bindingType, loc);
|
|
this.maybeExportDefined(scope, name);
|
|
scope.declareFunctions.add(name);
|
|
return;
|
|
}
|
|
_ScopeHandler.prototype.declareName.call(this, name, bindingType, loc);
|
|
};
|
|
_proto.isRedeclaredInScope = function isRedeclaredInScope(scope, name, bindingType) {
|
|
if (_ScopeHandler.prototype.isRedeclaredInScope.call(this, scope, name, bindingType)) return true;
|
|
if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {
|
|
return !scope.declareFunctions.has(name) && (scope.lexical.has(name) || scope.functions.has(name));
|
|
}
|
|
return false;
|
|
};
|
|
_proto.checkLocalExport = function checkLocalExport(id) {
|
|
if (!this.scopeStack[0].declareFunctions.has(id.name)) {
|
|
_ScopeHandler.prototype.checkLocalExport.call(this, id);
|
|
}
|
|
};
|
|
return _createClass(FlowScopeHandler);
|
|
}(ScopeHandler);
|
|
|
|
var BaseParser = function () {
|
|
function BaseParser() {
|
|
this.sawUnambiguousESM = false;
|
|
this.ambiguousScriptDifferentAst = false;
|
|
}
|
|
var _proto = BaseParser.prototype;
|
|
_proto.hasPlugin = function hasPlugin(pluginConfig) {
|
|
if (typeof pluginConfig === "string") {
|
|
return this.plugins.has(pluginConfig);
|
|
} else {
|
|
var pluginName = pluginConfig[0],
|
|
pluginOptions = pluginConfig[1];
|
|
if (!this.hasPlugin(pluginName)) {
|
|
return false;
|
|
}
|
|
var actualOptions = this.plugins.get(pluginName);
|
|
for (var _i2 = 0, _ref2 = Object.keys(pluginOptions); _i2 < _ref2.length; _i2++) {
|
|
var key = _ref2[_i2];
|
|
if ((actualOptions == null ? void 0 : actualOptions[key]) !== pluginOptions[key]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
};
|
|
_proto.getPluginOption = function getPluginOption(plugin, name) {
|
|
var _this$plugins$get;
|
|
return (_this$plugins$get = this.plugins.get(plugin)) == null ? void 0 : _this$plugins$get[name];
|
|
};
|
|
return _createClass(BaseParser);
|
|
}();
|
|
|
|
function setTrailingComments(node, comments) {
|
|
if (node.trailingComments === undefined) {
|
|
node.trailingComments = comments;
|
|
} else {
|
|
var _node$trailingComment;
|
|
(_node$trailingComment = node.trailingComments).unshift.apply(_node$trailingComment, comments);
|
|
}
|
|
}
|
|
function setLeadingComments(node, comments) {
|
|
if (node.leadingComments === undefined) {
|
|
node.leadingComments = comments;
|
|
} else {
|
|
var _node$leadingComments;
|
|
(_node$leadingComments = node.leadingComments).unshift.apply(_node$leadingComments, comments);
|
|
}
|
|
}
|
|
function setInnerComments(node, comments) {
|
|
if (node.innerComments === undefined) {
|
|
node.innerComments = comments;
|
|
} else {
|
|
var _node$innerComments;
|
|
(_node$innerComments = node.innerComments).unshift.apply(_node$innerComments, comments);
|
|
}
|
|
}
|
|
function adjustInnerComments(node, elements, commentWS) {
|
|
var lastElement = null;
|
|
var i = elements.length;
|
|
while (lastElement === null && i > 0) {
|
|
lastElement = elements[--i];
|
|
}
|
|
if (lastElement === null || lastElement.start > commentWS.start) {
|
|
setInnerComments(node, commentWS.comments);
|
|
} else {
|
|
setTrailingComments(lastElement, commentWS.comments);
|
|
}
|
|
}
|
|
var CommentsParser = function (_BaseParser) {
|
|
_inherits(CommentsParser, _BaseParser);
|
|
function CommentsParser() {
|
|
return _BaseParser.apply(this, arguments) || this;
|
|
}
|
|
var _proto = CommentsParser.prototype;
|
|
_proto.addComment = function addComment(comment) {
|
|
if (this.filename) comment.loc.filename = this.filename;
|
|
this.state.comments.push(comment);
|
|
};
|
|
_proto.processComment = function processComment(node) {
|
|
var commentStack = this.state.commentStack;
|
|
var commentStackLength = commentStack.length;
|
|
if (commentStackLength === 0) return;
|
|
var i = commentStackLength - 1;
|
|
var lastCommentWS = commentStack[i];
|
|
if (lastCommentWS.start === node.end) {
|
|
lastCommentWS.leadingNode = node;
|
|
i--;
|
|
}
|
|
var nodeStart = node.start;
|
|
for (; i >= 0; i--) {
|
|
var commentWS = commentStack[i];
|
|
var commentEnd = commentWS.end;
|
|
if (commentEnd > nodeStart) {
|
|
commentWS.containingNode = node;
|
|
this.finalizeComment(commentWS);
|
|
commentStack.splice(i, 1);
|
|
} else {
|
|
if (commentEnd === nodeStart) {
|
|
commentWS.trailingNode = node;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
_proto.finalizeComment = function finalizeComment(commentWS) {
|
|
var comments = commentWS.comments;
|
|
if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) {
|
|
if (commentWS.leadingNode !== null) {
|
|
setTrailingComments(commentWS.leadingNode, comments);
|
|
}
|
|
if (commentWS.trailingNode !== null) {
|
|
setLeadingComments(commentWS.trailingNode, comments);
|
|
}
|
|
} else {
|
|
var node = commentWS.containingNode,
|
|
commentStart = commentWS.start;
|
|
if (this.input.charCodeAt(commentStart - 1) === 44) {
|
|
switch (node.type) {
|
|
case "ObjectExpression":
|
|
case "ObjectPattern":
|
|
case "RecordExpression":
|
|
adjustInnerComments(node, node.properties, commentWS);
|
|
break;
|
|
case "CallExpression":
|
|
case "OptionalCallExpression":
|
|
adjustInnerComments(node, node.arguments, commentWS);
|
|
break;
|
|
case "FunctionDeclaration":
|
|
case "FunctionExpression":
|
|
case "ArrowFunctionExpression":
|
|
case "ObjectMethod":
|
|
case "ClassMethod":
|
|
case "ClassPrivateMethod":
|
|
adjustInnerComments(node, node.params, commentWS);
|
|
break;
|
|
case "ArrayExpression":
|
|
case "ArrayPattern":
|
|
case "TupleExpression":
|
|
adjustInnerComments(node, node.elements, commentWS);
|
|
break;
|
|
case "ExportNamedDeclaration":
|
|
case "ImportDeclaration":
|
|
adjustInnerComments(node, node.specifiers, commentWS);
|
|
break;
|
|
default:
|
|
{
|
|
setInnerComments(node, comments);
|
|
}
|
|
}
|
|
} else {
|
|
setInnerComments(node, comments);
|
|
}
|
|
}
|
|
};
|
|
_proto.finalizeRemainingComments = function finalizeRemainingComments() {
|
|
var commentStack = this.state.commentStack;
|
|
for (var i = commentStack.length - 1; i >= 0; i--) {
|
|
this.finalizeComment(commentStack[i]);
|
|
}
|
|
this.state.commentStack = [];
|
|
};
|
|
_proto.resetPreviousNodeTrailingComments = function resetPreviousNodeTrailingComments(node) {
|
|
var commentStack = this.state.commentStack;
|
|
var length = commentStack.length;
|
|
if (length === 0) return;
|
|
var commentWS = commentStack[length - 1];
|
|
if (commentWS.leadingNode === node) {
|
|
commentWS.leadingNode = null;
|
|
}
|
|
};
|
|
_proto.takeSurroundingComments = function takeSurroundingComments(node, start, end) {
|
|
var commentStack = this.state.commentStack;
|
|
var commentStackLength = commentStack.length;
|
|
if (commentStackLength === 0) return;
|
|
var i = commentStackLength - 1;
|
|
for (; i >= 0; i--) {
|
|
var commentWS = commentStack[i];
|
|
var commentEnd = commentWS.end;
|
|
var commentStart = commentWS.start;
|
|
if (commentStart === end) {
|
|
commentWS.leadingNode = node;
|
|
} else if (commentEnd === start) {
|
|
commentWS.trailingNode = node;
|
|
} else if (commentEnd < start) {
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
return _createClass(CommentsParser);
|
|
}(BaseParser);
|
|
|
|
var lineBreak = /\r\n?|[\n\u2028\u2029]/;
|
|
var lineBreakG = new RegExp(lineBreak.source, "g");
|
|
function isNewLine(code) {
|
|
switch (code) {
|
|
case 10:
|
|
case 13:
|
|
case 8232:
|
|
case 8233:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
|
|
var skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;
|
|
var skipWhiteSpaceToLineBreak = new RegExp("(?=(" + skipWhiteSpaceInLine.source + "))\\1" + /(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source, "y");
|
|
function isWhitespace(code) {
|
|
switch (code) {
|
|
case 0x0009:
|
|
case 0x000b:
|
|
case 0x000c:
|
|
case 32:
|
|
case 160:
|
|
case 5760:
|
|
case 0x2000:
|
|
case 0x2001:
|
|
case 0x2002:
|
|
case 0x2003:
|
|
case 0x2004:
|
|
case 0x2005:
|
|
case 0x2006:
|
|
case 0x2007:
|
|
case 0x2008:
|
|
case 0x2009:
|
|
case 0x200a:
|
|
case 0x202f:
|
|
case 0x205f:
|
|
case 0x3000:
|
|
case 0xfeff:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
var State = function () {
|
|
function State() {
|
|
this.strict = void 0;
|
|
this.curLine = void 0;
|
|
this.lineStart = void 0;
|
|
this.startLoc = void 0;
|
|
this.endLoc = void 0;
|
|
this.errors = [];
|
|
this.potentialArrowAt = -1;
|
|
this.noArrowAt = [];
|
|
this.noArrowParamsConversionAt = [];
|
|
this.maybeInArrowParameters = false;
|
|
this.inType = false;
|
|
this.noAnonFunctionType = false;
|
|
this.hasFlowComment = false;
|
|
this.isAmbientContext = false;
|
|
this.inAbstractClass = false;
|
|
this.inDisallowConditionalTypesContext = false;
|
|
this.topicContext = {
|
|
maxNumOfResolvableTopics: 0,
|
|
maxTopicIndex: null
|
|
};
|
|
this.soloAwait = false;
|
|
this.inFSharpPipelineDirectBody = false;
|
|
this.labels = [];
|
|
this.comments = [];
|
|
this.commentStack = [];
|
|
this.pos = 0;
|
|
this.type = 137;
|
|
this.value = null;
|
|
this.start = 0;
|
|
this.end = 0;
|
|
this.lastTokEndLoc = null;
|
|
this.lastTokStartLoc = null;
|
|
this.lastTokStart = 0;
|
|
this.context = [types.brace];
|
|
this.canStartJSXElement = true;
|
|
this.containsEsc = false;
|
|
this.firstInvalidTemplateEscapePos = null;
|
|
this.strictErrors = new Map();
|
|
this.tokensLength = 0;
|
|
}
|
|
var _proto = State.prototype;
|
|
_proto.init = function init(_ref) {
|
|
var strictMode = _ref.strictMode,
|
|
sourceType = _ref.sourceType,
|
|
startLine = _ref.startLine,
|
|
startColumn = _ref.startColumn;
|
|
this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === "module";
|
|
this.curLine = startLine;
|
|
this.lineStart = -startColumn;
|
|
this.startLoc = this.endLoc = new Position(startLine, startColumn, 0);
|
|
};
|
|
_proto.curPosition = function curPosition() {
|
|
return new Position(this.curLine, this.pos - this.lineStart, this.pos);
|
|
};
|
|
_proto.clone = function clone(skipArrays) {
|
|
var state = new State();
|
|
var keys = Object.keys(this);
|
|
for (var i = 0, length = keys.length; i < length; i++) {
|
|
var key = keys[i];
|
|
var val = this[key];
|
|
if (!skipArrays && Array.isArray(val)) {
|
|
val = val.slice();
|
|
}
|
|
state[key] = val;
|
|
}
|
|
return state;
|
|
};
|
|
return _createClass(State);
|
|
}();
|
|
|
|
var _excluded$4 = ["at"],
|
|
_excluded2 = ["at"];
|
|
function buildPosition(pos, lineStart, curLine) {
|
|
return new Position(curLine, pos - lineStart, pos);
|
|
}
|
|
var VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100, 118]);
|
|
var Token = _createClass(function Token(state) {
|
|
this.type = state.type;
|
|
this.value = state.value;
|
|
this.start = state.start;
|
|
this.end = state.end;
|
|
this.loc = new SourceLocation(state.startLoc, state.endLoc);
|
|
});
|
|
var Tokenizer = function (_CommentsParser) {
|
|
_inherits(Tokenizer, _CommentsParser);
|
|
function Tokenizer(options, input) {
|
|
var _this;
|
|
_this = _CommentsParser.call(this) || this;
|
|
_this.isLookahead = void 0;
|
|
_this.tokens = [];
|
|
_this.errorHandlers_readInt = {
|
|
invalidDigit: function invalidDigit(pos, lineStart, curLine, radix) {
|
|
if (!_this.options.errorRecovery) return false;
|
|
_this.raise(Errors.InvalidDigit, {
|
|
at: buildPosition(pos, lineStart, curLine),
|
|
radix: radix
|
|
});
|
|
return true;
|
|
},
|
|
numericSeparatorInEscapeSequence: _this.errorBuilder(Errors.NumericSeparatorInEscapeSequence),
|
|
unexpectedNumericSeparator: _this.errorBuilder(Errors.UnexpectedNumericSeparator)
|
|
};
|
|
_this.errorHandlers_readCodePoint = Object.assign({}, _this.errorHandlers_readInt, {
|
|
invalidEscapeSequence: _this.errorBuilder(Errors.InvalidEscapeSequence),
|
|
invalidCodePoint: _this.errorBuilder(Errors.InvalidCodePoint)
|
|
});
|
|
_this.errorHandlers_readStringContents_string = Object.assign({}, _this.errorHandlers_readCodePoint, {
|
|
strictNumericEscape: function strictNumericEscape(pos, lineStart, curLine) {
|
|
_this.recordStrictModeErrors(Errors.StrictNumericEscape, {
|
|
at: buildPosition(pos, lineStart, curLine)
|
|
});
|
|
},
|
|
unterminated: function unterminated(pos, lineStart, curLine) {
|
|
throw _this.raise(Errors.UnterminatedString, {
|
|
at: buildPosition(pos - 1, lineStart, curLine)
|
|
});
|
|
}
|
|
});
|
|
_this.errorHandlers_readStringContents_template = Object.assign({}, _this.errorHandlers_readCodePoint, {
|
|
strictNumericEscape: _this.errorBuilder(Errors.StrictNumericEscape),
|
|
unterminated: function unterminated(pos, lineStart, curLine) {
|
|
throw _this.raise(Errors.UnterminatedTemplate, {
|
|
at: buildPosition(pos, lineStart, curLine)
|
|
});
|
|
}
|
|
});
|
|
_this.state = new State();
|
|
_this.state.init(options);
|
|
_this.input = input;
|
|
_this.length = input.length;
|
|
_this.isLookahead = false;
|
|
return _this;
|
|
}
|
|
var _proto = Tokenizer.prototype;
|
|
_proto.pushToken = function pushToken(token) {
|
|
this.tokens.length = this.state.tokensLength;
|
|
this.tokens.push(token);
|
|
++this.state.tokensLength;
|
|
};
|
|
_proto.next = function next() {
|
|
this.checkKeywordEscapes();
|
|
if (this.options.tokens) {
|
|
this.pushToken(new Token(this.state));
|
|
}
|
|
this.state.lastTokStart = this.state.start;
|
|
this.state.lastTokEndLoc = this.state.endLoc;
|
|
this.state.lastTokStartLoc = this.state.startLoc;
|
|
this.nextToken();
|
|
};
|
|
_proto.eat = function eat(type) {
|
|
if (this.match(type)) {
|
|
this.next();
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
_proto.match = function match(type) {
|
|
return this.state.type === type;
|
|
};
|
|
_proto.createLookaheadState = function createLookaheadState(state) {
|
|
return {
|
|
pos: state.pos,
|
|
value: null,
|
|
type: state.type,
|
|
start: state.start,
|
|
end: state.end,
|
|
context: [this.curContext()],
|
|
inType: state.inType,
|
|
startLoc: state.startLoc,
|
|
lastTokEndLoc: state.lastTokEndLoc,
|
|
curLine: state.curLine,
|
|
lineStart: state.lineStart,
|
|
curPosition: state.curPosition
|
|
};
|
|
};
|
|
_proto.lookahead = function lookahead() {
|
|
var old = this.state;
|
|
this.state = this.createLookaheadState(old);
|
|
this.isLookahead = true;
|
|
this.nextToken();
|
|
this.isLookahead = false;
|
|
var curr = this.state;
|
|
this.state = old;
|
|
return curr;
|
|
};
|
|
_proto.nextTokenStart = function nextTokenStart() {
|
|
return this.nextTokenStartSince(this.state.pos);
|
|
};
|
|
_proto.nextTokenStartSince = function nextTokenStartSince(pos) {
|
|
skipWhiteSpace.lastIndex = pos;
|
|
return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos;
|
|
};
|
|
_proto.lookaheadCharCode = function lookaheadCharCode() {
|
|
return this.input.charCodeAt(this.nextTokenStart());
|
|
};
|
|
_proto.nextTokenInLineStart = function nextTokenInLineStart() {
|
|
return this.nextTokenInLineStartSince(this.state.pos);
|
|
};
|
|
_proto.nextTokenInLineStartSince = function nextTokenInLineStartSince(pos) {
|
|
skipWhiteSpaceInLine.lastIndex = pos;
|
|
return skipWhiteSpaceInLine.test(this.input) ? skipWhiteSpaceInLine.lastIndex : pos;
|
|
};
|
|
_proto.lookaheadInLineCharCode = function lookaheadInLineCharCode() {
|
|
return this.input.charCodeAt(this.nextTokenInLineStart());
|
|
};
|
|
_proto.codePointAtPos = function codePointAtPos(pos) {
|
|
var cp = this.input.charCodeAt(pos);
|
|
if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) {
|
|
var trail = this.input.charCodeAt(pos);
|
|
if ((trail & 0xfc00) === 0xdc00) {
|
|
cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
|
|
}
|
|
}
|
|
return cp;
|
|
};
|
|
_proto.setStrict = function setStrict(strict) {
|
|
var _this2 = this;
|
|
this.state.strict = strict;
|
|
if (strict) {
|
|
this.state.strictErrors.forEach(function (_ref) {
|
|
var toParseError = _ref[0],
|
|
at = _ref[1];
|
|
return _this2.raise(toParseError, {
|
|
at: at
|
|
});
|
|
});
|
|
this.state.strictErrors.clear();
|
|
}
|
|
};
|
|
_proto.curContext = function curContext() {
|
|
return this.state.context[this.state.context.length - 1];
|
|
};
|
|
_proto.nextToken = function nextToken() {
|
|
this.skipSpace();
|
|
this.state.start = this.state.pos;
|
|
if (!this.isLookahead) this.state.startLoc = this.state.curPosition();
|
|
if (this.state.pos >= this.length) {
|
|
this.finishToken(137);
|
|
return;
|
|
}
|
|
this.getTokenFromCode(this.codePointAtPos(this.state.pos));
|
|
};
|
|
_proto.skipBlockComment = function skipBlockComment(commentEnd) {
|
|
var startLoc;
|
|
if (!this.isLookahead) startLoc = this.state.curPosition();
|
|
var start = this.state.pos;
|
|
var end = this.input.indexOf(commentEnd, start + 2);
|
|
if (end === -1) {
|
|
throw this.raise(Errors.UnterminatedComment, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
this.state.pos = end + commentEnd.length;
|
|
lineBreakG.lastIndex = start + 2;
|
|
while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) {
|
|
++this.state.curLine;
|
|
this.state.lineStart = lineBreakG.lastIndex;
|
|
}
|
|
if (this.isLookahead) return;
|
|
var comment = {
|
|
type: "CommentBlock",
|
|
value: this.input.slice(start + 2, end),
|
|
start: start,
|
|
end: end + commentEnd.length,
|
|
loc: new SourceLocation(startLoc, this.state.curPosition())
|
|
};
|
|
if (this.options.tokens) this.pushToken(comment);
|
|
return comment;
|
|
};
|
|
_proto.skipLineComment = function skipLineComment(startSkip) {
|
|
var start = this.state.pos;
|
|
var startLoc;
|
|
if (!this.isLookahead) startLoc = this.state.curPosition();
|
|
var ch = this.input.charCodeAt(this.state.pos += startSkip);
|
|
if (this.state.pos < this.length) {
|
|
while (!isNewLine(ch) && ++this.state.pos < this.length) {
|
|
ch = this.input.charCodeAt(this.state.pos);
|
|
}
|
|
}
|
|
if (this.isLookahead) return;
|
|
var end = this.state.pos;
|
|
var value = this.input.slice(start + startSkip, end);
|
|
var comment = {
|
|
type: "CommentLine",
|
|
value: value,
|
|
start: start,
|
|
end: end,
|
|
loc: new SourceLocation(startLoc, this.state.curPosition())
|
|
};
|
|
if (this.options.tokens) this.pushToken(comment);
|
|
return comment;
|
|
};
|
|
_proto.skipSpace = function skipSpace() {
|
|
var spaceStart = this.state.pos;
|
|
var comments = [];
|
|
loop: while (this.state.pos < this.length) {
|
|
var ch = this.input.charCodeAt(this.state.pos);
|
|
switch (ch) {
|
|
case 32:
|
|
case 160:
|
|
case 9:
|
|
++this.state.pos;
|
|
break;
|
|
case 13:
|
|
if (this.input.charCodeAt(this.state.pos + 1) === 10) {
|
|
++this.state.pos;
|
|
}
|
|
case 10:
|
|
case 8232:
|
|
case 8233:
|
|
++this.state.pos;
|
|
++this.state.curLine;
|
|
this.state.lineStart = this.state.pos;
|
|
break;
|
|
case 47:
|
|
switch (this.input.charCodeAt(this.state.pos + 1)) {
|
|
case 42:
|
|
{
|
|
var comment = this.skipBlockComment("*/");
|
|
if (comment !== undefined) {
|
|
this.addComment(comment);
|
|
if (this.options.attachComment) comments.push(comment);
|
|
}
|
|
break;
|
|
}
|
|
case 47:
|
|
{
|
|
var _comment = this.skipLineComment(2);
|
|
if (_comment !== undefined) {
|
|
this.addComment(_comment);
|
|
if (this.options.attachComment) comments.push(_comment);
|
|
}
|
|
break;
|
|
}
|
|
default:
|
|
break loop;
|
|
}
|
|
break;
|
|
default:
|
|
if (isWhitespace(ch)) {
|
|
++this.state.pos;
|
|
} else if (ch === 45 && !this.inModule && this.options.annexB) {
|
|
var pos = this.state.pos;
|
|
if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) {
|
|
var _comment2 = this.skipLineComment(3);
|
|
if (_comment2 !== undefined) {
|
|
this.addComment(_comment2);
|
|
if (this.options.attachComment) comments.push(_comment2);
|
|
}
|
|
} else {
|
|
break loop;
|
|
}
|
|
} else if (ch === 60 && !this.inModule && this.options.annexB) {
|
|
var _pos = this.state.pos;
|
|
if (this.input.charCodeAt(_pos + 1) === 33 && this.input.charCodeAt(_pos + 2) === 45 && this.input.charCodeAt(_pos + 3) === 45) {
|
|
var _comment3 = this.skipLineComment(4);
|
|
if (_comment3 !== undefined) {
|
|
this.addComment(_comment3);
|
|
if (this.options.attachComment) comments.push(_comment3);
|
|
}
|
|
} else {
|
|
break loop;
|
|
}
|
|
} else {
|
|
break loop;
|
|
}
|
|
}
|
|
}
|
|
if (comments.length > 0) {
|
|
var end = this.state.pos;
|
|
var commentWhitespace = {
|
|
start: spaceStart,
|
|
end: end,
|
|
comments: comments,
|
|
leadingNode: null,
|
|
trailingNode: null,
|
|
containingNode: null
|
|
};
|
|
this.state.commentStack.push(commentWhitespace);
|
|
}
|
|
};
|
|
_proto.finishToken = function finishToken(type, val) {
|
|
this.state.end = this.state.pos;
|
|
this.state.endLoc = this.state.curPosition();
|
|
var prevType = this.state.type;
|
|
this.state.type = type;
|
|
this.state.value = val;
|
|
if (!this.isLookahead) {
|
|
this.updateContext(prevType);
|
|
}
|
|
};
|
|
_proto.replaceToken = function replaceToken(type) {
|
|
this.state.type = type;
|
|
this.updateContext();
|
|
};
|
|
_proto.readToken_numberSign = function readToken_numberSign() {
|
|
if (this.state.pos === 0 && this.readToken_interpreter()) {
|
|
return;
|
|
}
|
|
var nextPos = this.state.pos + 1;
|
|
var next = this.codePointAtPos(nextPos);
|
|
if (next >= 48 && next <= 57) {
|
|
throw this.raise(Errors.UnexpectedDigitAfterHash, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
if (next === 123 || next === 91 && this.hasPlugin("recordAndTuple")) {
|
|
this.expectPlugin("recordAndTuple");
|
|
if (this.getPluginOption("recordAndTuple", "syntaxType") === "bar") {
|
|
throw this.raise(next === 123 ? Errors.RecordExpressionHashIncorrectStartSyntaxType : Errors.TupleExpressionHashIncorrectStartSyntaxType, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
this.state.pos += 2;
|
|
if (next === 123) {
|
|
this.finishToken(7);
|
|
} else {
|
|
this.finishToken(1);
|
|
}
|
|
} else if (isIdentifierStart(next)) {
|
|
++this.state.pos;
|
|
this.finishToken(136, this.readWord1(next));
|
|
} else if (next === 92) {
|
|
++this.state.pos;
|
|
this.finishToken(136, this.readWord1());
|
|
} else {
|
|
this.finishOp(27, 1);
|
|
}
|
|
};
|
|
_proto.readToken_dot = function readToken_dot() {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (next >= 48 && next <= 57) {
|
|
this.readNumber(true);
|
|
return;
|
|
}
|
|
if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) {
|
|
this.state.pos += 3;
|
|
this.finishToken(21);
|
|
} else {
|
|
++this.state.pos;
|
|
this.finishToken(16);
|
|
}
|
|
};
|
|
_proto.readToken_slash = function readToken_slash() {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (next === 61) {
|
|
this.finishOp(31, 2);
|
|
} else {
|
|
this.finishOp(56, 1);
|
|
}
|
|
};
|
|
_proto.readToken_interpreter = function readToken_interpreter() {
|
|
if (this.state.pos !== 0 || this.length < 2) return false;
|
|
var ch = this.input.charCodeAt(this.state.pos + 1);
|
|
if (ch !== 33) return false;
|
|
var start = this.state.pos;
|
|
this.state.pos += 1;
|
|
while (!isNewLine(ch) && ++this.state.pos < this.length) {
|
|
ch = this.input.charCodeAt(this.state.pos);
|
|
}
|
|
var value = this.input.slice(start + 2, this.state.pos);
|
|
this.finishToken(28, value);
|
|
return true;
|
|
};
|
|
_proto.readToken_mult_modulo = function readToken_mult_modulo(code) {
|
|
var type = code === 42 ? 55 : 54;
|
|
var width = 1;
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (code === 42 && next === 42) {
|
|
width++;
|
|
next = this.input.charCodeAt(this.state.pos + 2);
|
|
type = 57;
|
|
}
|
|
if (next === 61 && !this.state.inType) {
|
|
width++;
|
|
type = code === 37 ? 33 : 30;
|
|
}
|
|
this.finishOp(type, width);
|
|
};
|
|
_proto.readToken_pipe_amp = function readToken_pipe_amp(code) {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (next === code) {
|
|
if (this.input.charCodeAt(this.state.pos + 2) === 61) {
|
|
this.finishOp(30, 3);
|
|
} else {
|
|
this.finishOp(code === 124 ? 41 : 42, 2);
|
|
}
|
|
return;
|
|
}
|
|
if (code === 124) {
|
|
if (next === 62) {
|
|
this.finishOp(39, 2);
|
|
return;
|
|
}
|
|
if (this.hasPlugin("recordAndTuple") && next === 125) {
|
|
if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
|
|
throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
this.state.pos += 2;
|
|
this.finishToken(9);
|
|
return;
|
|
}
|
|
if (this.hasPlugin("recordAndTuple") && next === 93) {
|
|
if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
|
|
throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
this.state.pos += 2;
|
|
this.finishToken(4);
|
|
return;
|
|
}
|
|
}
|
|
if (next === 61) {
|
|
this.finishOp(30, 2);
|
|
return;
|
|
}
|
|
this.finishOp(code === 124 ? 43 : 45, 1);
|
|
};
|
|
_proto.readToken_caret = function readToken_caret() {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (next === 61 && !this.state.inType) {
|
|
this.finishOp(32, 2);
|
|
} else if (next === 94 && this.hasPlugin(["pipelineOperator", {
|
|
proposal: "hack",
|
|
topicToken: "^^"
|
|
}])) {
|
|
this.finishOp(37, 2);
|
|
var lookaheadCh = this.input.codePointAt(this.state.pos);
|
|
if (lookaheadCh === 94) {
|
|
this.unexpected();
|
|
}
|
|
} else {
|
|
this.finishOp(44, 1);
|
|
}
|
|
};
|
|
_proto.readToken_atSign = function readToken_atSign() {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (next === 64 && this.hasPlugin(["pipelineOperator", {
|
|
proposal: "hack",
|
|
topicToken: "@@"
|
|
}])) {
|
|
this.finishOp(38, 2);
|
|
} else {
|
|
this.finishOp(26, 1);
|
|
}
|
|
};
|
|
_proto.readToken_plus_min = function readToken_plus_min(code) {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (next === code) {
|
|
this.finishOp(34, 2);
|
|
return;
|
|
}
|
|
if (next === 61) {
|
|
this.finishOp(30, 2);
|
|
} else {
|
|
this.finishOp(53, 1);
|
|
}
|
|
};
|
|
_proto.readToken_lt = function readToken_lt() {
|
|
var pos = this.state.pos;
|
|
var next = this.input.charCodeAt(pos + 1);
|
|
if (next === 60) {
|
|
if (this.input.charCodeAt(pos + 2) === 61) {
|
|
this.finishOp(30, 3);
|
|
return;
|
|
}
|
|
this.finishOp(51, 2);
|
|
return;
|
|
}
|
|
if (next === 61) {
|
|
this.finishOp(49, 2);
|
|
return;
|
|
}
|
|
this.finishOp(47, 1);
|
|
};
|
|
_proto.readToken_gt = function readToken_gt() {
|
|
var pos = this.state.pos;
|
|
var next = this.input.charCodeAt(pos + 1);
|
|
if (next === 62) {
|
|
var size = this.input.charCodeAt(pos + 2) === 62 ? 3 : 2;
|
|
if (this.input.charCodeAt(pos + size) === 61) {
|
|
this.finishOp(30, size + 1);
|
|
return;
|
|
}
|
|
this.finishOp(52, size);
|
|
return;
|
|
}
|
|
if (next === 61) {
|
|
this.finishOp(49, 2);
|
|
return;
|
|
}
|
|
this.finishOp(48, 1);
|
|
};
|
|
_proto.readToken_eq_excl = function readToken_eq_excl(code) {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (next === 61) {
|
|
this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);
|
|
return;
|
|
}
|
|
if (code === 61 && next === 62) {
|
|
this.state.pos += 2;
|
|
this.finishToken(19);
|
|
return;
|
|
}
|
|
this.finishOp(code === 61 ? 29 : 35, 1);
|
|
};
|
|
_proto.readToken_question = function readToken_question() {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
var next2 = this.input.charCodeAt(this.state.pos + 2);
|
|
if (next === 63) {
|
|
if (next2 === 61) {
|
|
this.finishOp(30, 3);
|
|
} else {
|
|
this.finishOp(40, 2);
|
|
}
|
|
} else if (next === 46 && !(next2 >= 48 && next2 <= 57)) {
|
|
this.state.pos += 2;
|
|
this.finishToken(18);
|
|
} else {
|
|
++this.state.pos;
|
|
this.finishToken(17);
|
|
}
|
|
};
|
|
_proto.getTokenFromCode = function getTokenFromCode(code) {
|
|
switch (code) {
|
|
case 46:
|
|
this.readToken_dot();
|
|
return;
|
|
case 40:
|
|
++this.state.pos;
|
|
this.finishToken(10);
|
|
return;
|
|
case 41:
|
|
++this.state.pos;
|
|
this.finishToken(11);
|
|
return;
|
|
case 59:
|
|
++this.state.pos;
|
|
this.finishToken(13);
|
|
return;
|
|
case 44:
|
|
++this.state.pos;
|
|
this.finishToken(12);
|
|
return;
|
|
case 91:
|
|
if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
|
|
if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
|
|
throw this.raise(Errors.TupleExpressionBarIncorrectStartSyntaxType, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
this.state.pos += 2;
|
|
this.finishToken(2);
|
|
} else {
|
|
++this.state.pos;
|
|
this.finishToken(0);
|
|
}
|
|
return;
|
|
case 93:
|
|
++this.state.pos;
|
|
this.finishToken(3);
|
|
return;
|
|
case 123:
|
|
if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
|
|
if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
|
|
throw this.raise(Errors.RecordExpressionBarIncorrectStartSyntaxType, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
this.state.pos += 2;
|
|
this.finishToken(6);
|
|
} else {
|
|
++this.state.pos;
|
|
this.finishToken(5);
|
|
}
|
|
return;
|
|
case 125:
|
|
++this.state.pos;
|
|
this.finishToken(8);
|
|
return;
|
|
case 58:
|
|
if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) {
|
|
this.finishOp(15, 2);
|
|
} else {
|
|
++this.state.pos;
|
|
this.finishToken(14);
|
|
}
|
|
return;
|
|
case 63:
|
|
this.readToken_question();
|
|
return;
|
|
case 96:
|
|
this.readTemplateToken();
|
|
return;
|
|
case 48:
|
|
{
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (next === 120 || next === 88) {
|
|
this.readRadixNumber(16);
|
|
return;
|
|
}
|
|
if (next === 111 || next === 79) {
|
|
this.readRadixNumber(8);
|
|
return;
|
|
}
|
|
if (next === 98 || next === 66) {
|
|
this.readRadixNumber(2);
|
|
return;
|
|
}
|
|
}
|
|
case 49:
|
|
case 50:
|
|
case 51:
|
|
case 52:
|
|
case 53:
|
|
case 54:
|
|
case 55:
|
|
case 56:
|
|
case 57:
|
|
this.readNumber(false);
|
|
return;
|
|
case 34:
|
|
case 39:
|
|
this.readString(code);
|
|
return;
|
|
case 47:
|
|
this.readToken_slash();
|
|
return;
|
|
case 37:
|
|
case 42:
|
|
this.readToken_mult_modulo(code);
|
|
return;
|
|
case 124:
|
|
case 38:
|
|
this.readToken_pipe_amp(code);
|
|
return;
|
|
case 94:
|
|
this.readToken_caret();
|
|
return;
|
|
case 43:
|
|
case 45:
|
|
this.readToken_plus_min(code);
|
|
return;
|
|
case 60:
|
|
this.readToken_lt();
|
|
return;
|
|
case 62:
|
|
this.readToken_gt();
|
|
return;
|
|
case 61:
|
|
case 33:
|
|
this.readToken_eq_excl(code);
|
|
return;
|
|
case 126:
|
|
this.finishOp(36, 1);
|
|
return;
|
|
case 64:
|
|
this.readToken_atSign();
|
|
return;
|
|
case 35:
|
|
this.readToken_numberSign();
|
|
return;
|
|
case 92:
|
|
this.readWord();
|
|
return;
|
|
default:
|
|
if (isIdentifierStart(code)) {
|
|
this.readWord(code);
|
|
return;
|
|
}
|
|
}
|
|
throw this.raise(Errors.InvalidOrUnexpectedToken, {
|
|
at: this.state.curPosition(),
|
|
unexpected: String.fromCodePoint(code)
|
|
});
|
|
};
|
|
_proto.finishOp = function finishOp(type, size) {
|
|
var str = this.input.slice(this.state.pos, this.state.pos + size);
|
|
this.state.pos += size;
|
|
this.finishToken(type, str);
|
|
};
|
|
_proto.readRegexp = function readRegexp() {
|
|
var startLoc = this.state.startLoc;
|
|
var start = this.state.start + 1;
|
|
var escaped, inClass;
|
|
var pos = this.state.pos;
|
|
for (;; ++pos) {
|
|
if (pos >= this.length) {
|
|
throw this.raise(Errors.UnterminatedRegExp, {
|
|
at: createPositionWithColumnOffset(startLoc, 1)
|
|
});
|
|
}
|
|
var ch = this.input.charCodeAt(pos);
|
|
if (isNewLine(ch)) {
|
|
throw this.raise(Errors.UnterminatedRegExp, {
|
|
at: createPositionWithColumnOffset(startLoc, 1)
|
|
});
|
|
}
|
|
if (escaped) {
|
|
escaped = false;
|
|
} else {
|
|
if (ch === 91) {
|
|
inClass = true;
|
|
} else if (ch === 93 && inClass) {
|
|
inClass = false;
|
|
} else if (ch === 47 && !inClass) {
|
|
break;
|
|
}
|
|
escaped = ch === 92;
|
|
}
|
|
}
|
|
var content = this.input.slice(start, pos);
|
|
++pos;
|
|
var mods = "";
|
|
var nextPos = function nextPos() {
|
|
return createPositionWithColumnOffset(startLoc, pos + 2 - start);
|
|
};
|
|
while (pos < this.length) {
|
|
var cp = this.codePointAtPos(pos);
|
|
var _char = String.fromCharCode(cp);
|
|
if (VALID_REGEX_FLAGS.has(cp)) {
|
|
if (cp === 118) {
|
|
this.expectPlugin("regexpUnicodeSets", nextPos());
|
|
if (mods.includes("u")) {
|
|
this.raise(Errors.IncompatibleRegExpUVFlags, {
|
|
at: nextPos()
|
|
});
|
|
}
|
|
} else if (cp === 117) {
|
|
if (mods.includes("v")) {
|
|
this.raise(Errors.IncompatibleRegExpUVFlags, {
|
|
at: nextPos()
|
|
});
|
|
}
|
|
}
|
|
if (mods.includes(_char)) {
|
|
this.raise(Errors.DuplicateRegExpFlags, {
|
|
at: nextPos()
|
|
});
|
|
}
|
|
} else if (isIdentifierChar(cp) || cp === 92) {
|
|
this.raise(Errors.MalformedRegExpFlags, {
|
|
at: nextPos()
|
|
});
|
|
} else {
|
|
break;
|
|
}
|
|
++pos;
|
|
mods += _char;
|
|
}
|
|
this.state.pos = pos;
|
|
this.finishToken(135, {
|
|
pattern: content,
|
|
flags: mods
|
|
});
|
|
};
|
|
_proto.readInt = function readInt$1(radix, len, forceLen, allowNumSeparator) {
|
|
if (forceLen === void 0) {
|
|
forceLen = false;
|
|
}
|
|
if (allowNumSeparator === void 0) {
|
|
allowNumSeparator = true;
|
|
}
|
|
var _readInt2 = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix, len, forceLen, allowNumSeparator, this.errorHandlers_readInt, false),
|
|
n = _readInt2.n,
|
|
pos = _readInt2.pos;
|
|
this.state.pos = pos;
|
|
return n;
|
|
};
|
|
_proto.readRadixNumber = function readRadixNumber(radix) {
|
|
var startLoc = this.state.curPosition();
|
|
var isBigInt = false;
|
|
this.state.pos += 2;
|
|
var val = this.readInt(radix);
|
|
if (val == null) {
|
|
this.raise(Errors.InvalidDigit, {
|
|
at: createPositionWithColumnOffset(startLoc, 2),
|
|
radix: radix
|
|
});
|
|
}
|
|
var next = this.input.charCodeAt(this.state.pos);
|
|
if (next === 110) {
|
|
++this.state.pos;
|
|
isBigInt = true;
|
|
} else if (next === 109) {
|
|
throw this.raise(Errors.InvalidDecimal, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {
|
|
throw this.raise(Errors.NumberIdentifier, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
if (isBigInt) {
|
|
var str = this.input.slice(startLoc.index, this.state.pos).replace(/[_n]/g, "");
|
|
this.finishToken(133, str);
|
|
return;
|
|
}
|
|
this.finishToken(132, val);
|
|
};
|
|
_proto.readNumber = function readNumber(startsWithDot) {
|
|
var start = this.state.pos;
|
|
var startLoc = this.state.curPosition();
|
|
var isFloat = false;
|
|
var isBigInt = false;
|
|
var isDecimal = false;
|
|
var hasExponent = false;
|
|
var isOctal = false;
|
|
if (!startsWithDot && this.readInt(10) === null) {
|
|
this.raise(Errors.InvalidNumber, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
var hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48;
|
|
if (hasLeadingZero) {
|
|
var integer = this.input.slice(start, this.state.pos);
|
|
this.recordStrictModeErrors(Errors.StrictOctalLiteral, {
|
|
at: startLoc
|
|
});
|
|
if (!this.state.strict) {
|
|
var underscorePos = integer.indexOf("_");
|
|
if (underscorePos > 0) {
|
|
this.raise(Errors.ZeroDigitNumericSeparator, {
|
|
at: createPositionWithColumnOffset(startLoc, underscorePos)
|
|
});
|
|
}
|
|
}
|
|
isOctal = hasLeadingZero && !/[89]/.test(integer);
|
|
}
|
|
var next = this.input.charCodeAt(this.state.pos);
|
|
if (next === 46 && !isOctal) {
|
|
++this.state.pos;
|
|
this.readInt(10);
|
|
isFloat = true;
|
|
next = this.input.charCodeAt(this.state.pos);
|
|
}
|
|
if ((next === 69 || next === 101) && !isOctal) {
|
|
next = this.input.charCodeAt(++this.state.pos);
|
|
if (next === 43 || next === 45) {
|
|
++this.state.pos;
|
|
}
|
|
if (this.readInt(10) === null) {
|
|
this.raise(Errors.InvalidOrMissingExponent, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
isFloat = true;
|
|
hasExponent = true;
|
|
next = this.input.charCodeAt(this.state.pos);
|
|
}
|
|
if (next === 110) {
|
|
if (isFloat || hasLeadingZero) {
|
|
this.raise(Errors.InvalidBigIntLiteral, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
++this.state.pos;
|
|
isBigInt = true;
|
|
}
|
|
if (next === 109) {
|
|
this.expectPlugin("decimal", this.state.curPosition());
|
|
if (hasExponent || hasLeadingZero) {
|
|
this.raise(Errors.InvalidDecimal, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
++this.state.pos;
|
|
isDecimal = true;
|
|
}
|
|
if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {
|
|
throw this.raise(Errors.NumberIdentifier, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
var str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, "");
|
|
if (isBigInt) {
|
|
this.finishToken(133, str);
|
|
return;
|
|
}
|
|
if (isDecimal) {
|
|
this.finishToken(134, str);
|
|
return;
|
|
}
|
|
var val = isOctal ? parseInt(str, 8) : parseFloat(str);
|
|
this.finishToken(132, val);
|
|
};
|
|
_proto.readCodePoint = function readCodePoint$1(throwOnInvalid) {
|
|
var _readCodePoint2 = readCodePoint(this.input, this.state.pos, this.state.lineStart, this.state.curLine, throwOnInvalid, this.errorHandlers_readCodePoint),
|
|
code = _readCodePoint2.code,
|
|
pos = _readCodePoint2.pos;
|
|
this.state.pos = pos;
|
|
return code;
|
|
};
|
|
_proto.readString = function readString(quote) {
|
|
var _readStringContents = readStringContents(quote === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string),
|
|
str = _readStringContents.str,
|
|
pos = _readStringContents.pos,
|
|
curLine = _readStringContents.curLine,
|
|
lineStart = _readStringContents.lineStart;
|
|
this.state.pos = pos + 1;
|
|
this.state.lineStart = lineStart;
|
|
this.state.curLine = curLine;
|
|
this.finishToken(131, str);
|
|
};
|
|
_proto.readTemplateContinuation = function readTemplateContinuation() {
|
|
if (!this.match(8)) {
|
|
this.unexpected(null, 8);
|
|
}
|
|
this.state.pos--;
|
|
this.readTemplateToken();
|
|
};
|
|
_proto.readTemplateToken = function readTemplateToken() {
|
|
var opening = this.input[this.state.pos];
|
|
var _readStringContents2 = readStringContents("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template),
|
|
str = _readStringContents2.str,
|
|
firstInvalidLoc = _readStringContents2.firstInvalidLoc,
|
|
pos = _readStringContents2.pos,
|
|
curLine = _readStringContents2.curLine,
|
|
lineStart = _readStringContents2.lineStart;
|
|
this.state.pos = pos + 1;
|
|
this.state.lineStart = lineStart;
|
|
this.state.curLine = curLine;
|
|
if (firstInvalidLoc) {
|
|
this.state.firstInvalidTemplateEscapePos = new Position(firstInvalidLoc.curLine, firstInvalidLoc.pos - firstInvalidLoc.lineStart, firstInvalidLoc.pos);
|
|
}
|
|
if (this.input.codePointAt(pos) === 96) {
|
|
this.finishToken(24, firstInvalidLoc ? null : opening + str + "`");
|
|
} else {
|
|
this.state.pos++;
|
|
this.finishToken(25, firstInvalidLoc ? null : opening + str + "${");
|
|
}
|
|
};
|
|
_proto.recordStrictModeErrors = function recordStrictModeErrors(toParseError, _ref2) {
|
|
var at = _ref2.at;
|
|
var index = at.index;
|
|
if (this.state.strict && !this.state.strictErrors.has(index)) {
|
|
this.raise(toParseError, {
|
|
at: at
|
|
});
|
|
} else {
|
|
this.state.strictErrors.set(index, [toParseError, at]);
|
|
}
|
|
};
|
|
_proto.readWord1 = function readWord1(firstCode) {
|
|
this.state.containsEsc = false;
|
|
var word = "";
|
|
var start = this.state.pos;
|
|
var chunkStart = this.state.pos;
|
|
if (firstCode !== undefined) {
|
|
this.state.pos += firstCode <= 0xffff ? 1 : 2;
|
|
}
|
|
while (this.state.pos < this.length) {
|
|
var ch = this.codePointAtPos(this.state.pos);
|
|
if (isIdentifierChar(ch)) {
|
|
this.state.pos += ch <= 0xffff ? 1 : 2;
|
|
} else if (ch === 92) {
|
|
this.state.containsEsc = true;
|
|
word += this.input.slice(chunkStart, this.state.pos);
|
|
var escStart = this.state.curPosition();
|
|
var identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar;
|
|
if (this.input.charCodeAt(++this.state.pos) !== 117) {
|
|
this.raise(Errors.MissingUnicodeEscape, {
|
|
at: this.state.curPosition()
|
|
});
|
|
chunkStart = this.state.pos - 1;
|
|
continue;
|
|
}
|
|
++this.state.pos;
|
|
var esc = this.readCodePoint(true);
|
|
if (esc !== null) {
|
|
if (!identifierCheck(esc)) {
|
|
this.raise(Errors.EscapedCharNotAnIdentifier, {
|
|
at: escStart
|
|
});
|
|
}
|
|
word += String.fromCodePoint(esc);
|
|
}
|
|
chunkStart = this.state.pos;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
return word + this.input.slice(chunkStart, this.state.pos);
|
|
};
|
|
_proto.readWord = function readWord(firstCode) {
|
|
var word = this.readWord1(firstCode);
|
|
var type = keywords.get(word);
|
|
if (type !== undefined) {
|
|
this.finishToken(type, tokenLabelName(type));
|
|
} else {
|
|
this.finishToken(130, word);
|
|
}
|
|
};
|
|
_proto.checkKeywordEscapes = function checkKeywordEscapes() {
|
|
var type = this.state.type;
|
|
if (tokenIsKeyword(type) && this.state.containsEsc) {
|
|
this.raise(Errors.InvalidEscapedReservedWord, {
|
|
at: this.state.startLoc,
|
|
reservedWord: tokenLabelName(type)
|
|
});
|
|
}
|
|
};
|
|
_proto.raise = function raise(toParseError, raiseProperties) {
|
|
var at = raiseProperties.at,
|
|
details = _objectWithoutPropertiesLoose(raiseProperties, _excluded$4);
|
|
var loc = at instanceof Position ? at : at.loc.start;
|
|
var error = toParseError({
|
|
loc: loc,
|
|
details: details
|
|
});
|
|
if (!this.options.errorRecovery) throw error;
|
|
if (!this.isLookahead) this.state.errors.push(error);
|
|
return error;
|
|
};
|
|
_proto.raiseOverwrite = function raiseOverwrite(toParseError, raiseProperties) {
|
|
var at = raiseProperties.at,
|
|
details = _objectWithoutPropertiesLoose(raiseProperties, _excluded2);
|
|
var loc = at instanceof Position ? at : at.loc.start;
|
|
var pos = loc.index;
|
|
var errors = this.state.errors;
|
|
for (var i = errors.length - 1; i >= 0; i--) {
|
|
var error = errors[i];
|
|
if (error.loc.index === pos) {
|
|
return errors[i] = toParseError({
|
|
loc: loc,
|
|
details: details
|
|
});
|
|
}
|
|
if (error.loc.index < pos) break;
|
|
}
|
|
return this.raise(toParseError, raiseProperties);
|
|
};
|
|
_proto.updateContext = function updateContext(prevType) {};
|
|
_proto.unexpected = function unexpected(loc, type) {
|
|
throw this.raise(Errors.UnexpectedToken, {
|
|
expected: type ? tokenLabelName(type) : null,
|
|
at: loc != null ? loc : this.state.startLoc
|
|
});
|
|
};
|
|
_proto.expectPlugin = function expectPlugin(pluginName, loc) {
|
|
if (this.hasPlugin(pluginName)) {
|
|
return true;
|
|
}
|
|
throw this.raise(Errors.MissingPlugin, {
|
|
at: loc != null ? loc : this.state.startLoc,
|
|
missingPlugin: [pluginName]
|
|
});
|
|
};
|
|
_proto.expectOnePlugin = function expectOnePlugin(pluginNames) {
|
|
var _this3 = this;
|
|
if (!pluginNames.some(function (name) {
|
|
return _this3.hasPlugin(name);
|
|
})) {
|
|
throw this.raise(Errors.MissingOneOfPlugins, {
|
|
at: this.state.startLoc,
|
|
missingPlugin: pluginNames
|
|
});
|
|
}
|
|
};
|
|
_proto.errorBuilder = function errorBuilder(error) {
|
|
var _this4 = this;
|
|
return function (pos, lineStart, curLine) {
|
|
_this4.raise(error, {
|
|
at: buildPosition(pos, lineStart, curLine)
|
|
});
|
|
};
|
|
};
|
|
return _createClass(Tokenizer);
|
|
}(CommentsParser);
|
|
|
|
var ClassScope = _createClass(function ClassScope() {
|
|
this.privateNames = new Set();
|
|
this.loneAccessors = new Map();
|
|
this.undefinedPrivateNames = new Map();
|
|
});
|
|
var ClassScopeHandler = function () {
|
|
function ClassScopeHandler(parser) {
|
|
this.parser = void 0;
|
|
this.stack = [];
|
|
this.undefinedPrivateNames = new Map();
|
|
this.parser = parser;
|
|
}
|
|
var _proto = ClassScopeHandler.prototype;
|
|
_proto.current = function current() {
|
|
return this.stack[this.stack.length - 1];
|
|
};
|
|
_proto.enter = function enter() {
|
|
this.stack.push(new ClassScope());
|
|
};
|
|
_proto.exit = function exit() {
|
|
var oldClassScope = this.stack.pop();
|
|
var current = this.current();
|
|
for (var _i2 = 0, _Array$from2 = Array.from(oldClassScope.undefinedPrivateNames); _i2 < _Array$from2.length; _i2++) {
|
|
var _Array$from2$_i = _Array$from2[_i2],
|
|
name = _Array$from2$_i[0],
|
|
loc = _Array$from2$_i[1];
|
|
if (current) {
|
|
if (!current.undefinedPrivateNames.has(name)) {
|
|
current.undefinedPrivateNames.set(name, loc);
|
|
}
|
|
} else {
|
|
this.parser.raise(Errors.InvalidPrivateFieldResolution, {
|
|
at: loc,
|
|
identifierName: name
|
|
});
|
|
}
|
|
}
|
|
};
|
|
_proto.declarePrivateName = function declarePrivateName(name, elementType, loc) {
|
|
var _this$current = this.current(),
|
|
privateNames = _this$current.privateNames,
|
|
loneAccessors = _this$current.loneAccessors,
|
|
undefinedPrivateNames = _this$current.undefinedPrivateNames;
|
|
var redefined = privateNames.has(name);
|
|
if (elementType & CLASS_ELEMENT_KIND_ACCESSOR) {
|
|
var accessor = redefined && loneAccessors.get(name);
|
|
if (accessor) {
|
|
var oldStatic = accessor & CLASS_ELEMENT_FLAG_STATIC;
|
|
var newStatic = elementType & CLASS_ELEMENT_FLAG_STATIC;
|
|
var oldKind = accessor & CLASS_ELEMENT_KIND_ACCESSOR;
|
|
var newKind = elementType & CLASS_ELEMENT_KIND_ACCESSOR;
|
|
redefined = oldKind === newKind || oldStatic !== newStatic;
|
|
if (!redefined) loneAccessors["delete"](name);
|
|
} else if (!redefined) {
|
|
loneAccessors.set(name, elementType);
|
|
}
|
|
}
|
|
if (redefined) {
|
|
this.parser.raise(Errors.PrivateNameRedeclaration, {
|
|
at: loc,
|
|
identifierName: name
|
|
});
|
|
}
|
|
privateNames.add(name);
|
|
undefinedPrivateNames["delete"](name);
|
|
};
|
|
_proto.usePrivateName = function usePrivateName(name, loc) {
|
|
var classScope;
|
|
for (var _i4 = 0, _this$stack2 = this.stack; _i4 < _this$stack2.length; _i4++) {
|
|
classScope = _this$stack2[_i4];
|
|
if (classScope.privateNames.has(name)) return;
|
|
}
|
|
if (classScope) {
|
|
classScope.undefinedPrivateNames.set(name, loc);
|
|
} else {
|
|
this.parser.raise(Errors.InvalidPrivateFieldResolution, {
|
|
at: loc,
|
|
identifierName: name
|
|
});
|
|
}
|
|
};
|
|
return _createClass(ClassScopeHandler);
|
|
}();
|
|
|
|
var kExpression = 0,
|
|
kMaybeArrowParameterDeclaration = 1,
|
|
kMaybeAsyncArrowParameterDeclaration = 2,
|
|
kParameterDeclaration = 3;
|
|
var ExpressionScope = function () {
|
|
function ExpressionScope(type) {
|
|
if (type === void 0) {
|
|
type = kExpression;
|
|
}
|
|
this.type = void 0;
|
|
this.type = type;
|
|
}
|
|
var _proto = ExpressionScope.prototype;
|
|
_proto.canBeArrowParameterDeclaration = function canBeArrowParameterDeclaration() {
|
|
return this.type === kMaybeAsyncArrowParameterDeclaration || this.type === kMaybeArrowParameterDeclaration;
|
|
};
|
|
_proto.isCertainlyParameterDeclaration = function isCertainlyParameterDeclaration() {
|
|
return this.type === kParameterDeclaration;
|
|
};
|
|
return _createClass(ExpressionScope);
|
|
}();
|
|
var ArrowHeadParsingScope = function (_ExpressionScope) {
|
|
_inherits(ArrowHeadParsingScope, _ExpressionScope);
|
|
function ArrowHeadParsingScope(type) {
|
|
var _this;
|
|
_this = _ExpressionScope.call(this, type) || this;
|
|
_this.declarationErrors = new Map();
|
|
return _this;
|
|
}
|
|
var _proto2 = ArrowHeadParsingScope.prototype;
|
|
_proto2.recordDeclarationError = function recordDeclarationError(ParsingErrorClass, _ref) {
|
|
var at = _ref.at;
|
|
var index = at.index;
|
|
this.declarationErrors.set(index, [ParsingErrorClass, at]);
|
|
};
|
|
_proto2.clearDeclarationError = function clearDeclarationError(index) {
|
|
this.declarationErrors["delete"](index);
|
|
};
|
|
_proto2.iterateErrors = function iterateErrors(iterator) {
|
|
this.declarationErrors.forEach(iterator);
|
|
};
|
|
return _createClass(ArrowHeadParsingScope);
|
|
}(ExpressionScope);
|
|
var ExpressionScopeHandler = function () {
|
|
function ExpressionScopeHandler(parser) {
|
|
this.parser = void 0;
|
|
this.stack = [new ExpressionScope()];
|
|
this.parser = parser;
|
|
}
|
|
var _proto3 = ExpressionScopeHandler.prototype;
|
|
_proto3.enter = function enter(scope) {
|
|
this.stack.push(scope);
|
|
};
|
|
_proto3.exit = function exit() {
|
|
this.stack.pop();
|
|
};
|
|
_proto3.recordParameterInitializerError = function recordParameterInitializerError(toParseError, _ref2) {
|
|
var node = _ref2.at;
|
|
var origin = {
|
|
at: node.loc.start
|
|
};
|
|
var stack = this.stack;
|
|
var i = stack.length - 1;
|
|
var scope = stack[i];
|
|
while (!scope.isCertainlyParameterDeclaration()) {
|
|
if (scope.canBeArrowParameterDeclaration()) {
|
|
scope.recordDeclarationError(toParseError, origin);
|
|
} else {
|
|
return;
|
|
}
|
|
scope = stack[--i];
|
|
}
|
|
this.parser.raise(toParseError, origin);
|
|
};
|
|
_proto3.recordArrowParameterBindingError = function recordArrowParameterBindingError(error, _ref3) {
|
|
var node = _ref3.at;
|
|
var stack = this.stack;
|
|
var scope = stack[stack.length - 1];
|
|
var origin = {
|
|
at: node.loc.start
|
|
};
|
|
if (scope.isCertainlyParameterDeclaration()) {
|
|
this.parser.raise(error, origin);
|
|
} else if (scope.canBeArrowParameterDeclaration()) {
|
|
scope.recordDeclarationError(error, origin);
|
|
} else {
|
|
return;
|
|
}
|
|
};
|
|
_proto3.recordAsyncArrowParametersError = function recordAsyncArrowParametersError(_ref4) {
|
|
var at = _ref4.at;
|
|
var stack = this.stack;
|
|
var i = stack.length - 1;
|
|
var scope = stack[i];
|
|
while (scope.canBeArrowParameterDeclaration()) {
|
|
if (scope.type === kMaybeAsyncArrowParameterDeclaration) {
|
|
scope.recordDeclarationError(Errors.AwaitBindingIdentifier, {
|
|
at: at
|
|
});
|
|
}
|
|
scope = stack[--i];
|
|
}
|
|
};
|
|
_proto3.validateAsPattern = function validateAsPattern() {
|
|
var _this2 = this;
|
|
var stack = this.stack;
|
|
var currentScope = stack[stack.length - 1];
|
|
if (!currentScope.canBeArrowParameterDeclaration()) return;
|
|
currentScope.iterateErrors(function (_ref5) {
|
|
var toParseError = _ref5[0],
|
|
loc = _ref5[1];
|
|
_this2.parser.raise(toParseError, {
|
|
at: loc
|
|
});
|
|
var i = stack.length - 2;
|
|
var scope = stack[i];
|
|
while (scope.canBeArrowParameterDeclaration()) {
|
|
scope.clearDeclarationError(loc.index);
|
|
scope = stack[--i];
|
|
}
|
|
});
|
|
};
|
|
return _createClass(ExpressionScopeHandler);
|
|
}();
|
|
function newParameterDeclarationScope() {
|
|
return new ExpressionScope(kParameterDeclaration);
|
|
}
|
|
function newArrowHeadScope() {
|
|
return new ArrowHeadParsingScope(kMaybeArrowParameterDeclaration);
|
|
}
|
|
function newAsyncArrowScope() {
|
|
return new ArrowHeadParsingScope(kMaybeAsyncArrowParameterDeclaration);
|
|
}
|
|
function newExpressionScope() {
|
|
return new ExpressionScope();
|
|
}
|
|
|
|
var PARAM = 0,
|
|
PARAM_YIELD = 1,
|
|
PARAM_AWAIT = 2,
|
|
PARAM_RETURN = 4,
|
|
PARAM_IN = 8;
|
|
var ProductionParameterHandler = function () {
|
|
function ProductionParameterHandler() {
|
|
this.stacks = [];
|
|
}
|
|
var _proto = ProductionParameterHandler.prototype;
|
|
_proto.enter = function enter(flags) {
|
|
this.stacks.push(flags);
|
|
};
|
|
_proto.exit = function exit() {
|
|
this.stacks.pop();
|
|
};
|
|
_proto.currentFlags = function currentFlags() {
|
|
return this.stacks[this.stacks.length - 1];
|
|
};
|
|
_createClass(ProductionParameterHandler, [{
|
|
key: "hasAwait",
|
|
get: function get() {
|
|
return (this.currentFlags() & PARAM_AWAIT) > 0;
|
|
}
|
|
}, {
|
|
key: "hasYield",
|
|
get: function get() {
|
|
return (this.currentFlags() & PARAM_YIELD) > 0;
|
|
}
|
|
}, {
|
|
key: "hasReturn",
|
|
get: function get() {
|
|
return (this.currentFlags() & PARAM_RETURN) > 0;
|
|
}
|
|
}, {
|
|
key: "hasIn",
|
|
get: function get() {
|
|
return (this.currentFlags() & PARAM_IN) > 0;
|
|
}
|
|
}]);
|
|
return ProductionParameterHandler;
|
|
}();
|
|
function functionFlags(isAsync, isGenerator) {
|
|
return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0);
|
|
}
|
|
|
|
var UtilParser = function (_Tokenizer) {
|
|
_inherits(UtilParser, _Tokenizer);
|
|
function UtilParser() {
|
|
return _Tokenizer.apply(this, arguments) || this;
|
|
}
|
|
var _proto = UtilParser.prototype;
|
|
_proto.addExtra = function addExtra(node, key, value, enumerable) {
|
|
if (enumerable === void 0) {
|
|
enumerable = true;
|
|
}
|
|
if (!node) return;
|
|
var extra = node.extra = node.extra || {};
|
|
if (enumerable) {
|
|
extra[key] = value;
|
|
} else {
|
|
Object.defineProperty(extra, key, {
|
|
enumerable: enumerable,
|
|
value: value
|
|
});
|
|
}
|
|
};
|
|
_proto.isContextual = function isContextual(token) {
|
|
return this.state.type === token && !this.state.containsEsc;
|
|
};
|
|
_proto.isUnparsedContextual = function isUnparsedContextual(nameStart, name) {
|
|
var nameEnd = nameStart + name.length;
|
|
if (this.input.slice(nameStart, nameEnd) === name) {
|
|
var nextCh = this.input.charCodeAt(nameEnd);
|
|
return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800);
|
|
}
|
|
return false;
|
|
};
|
|
_proto.isLookaheadContextual = function isLookaheadContextual(name) {
|
|
var next = this.nextTokenStart();
|
|
return this.isUnparsedContextual(next, name);
|
|
};
|
|
_proto.eatContextual = function eatContextual(token) {
|
|
if (this.isContextual(token)) {
|
|
this.next();
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.expectContextual = function expectContextual(token, toParseError) {
|
|
if (!this.eatContextual(token)) {
|
|
if (toParseError != null) {
|
|
throw this.raise(toParseError, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
this.unexpected(null, token);
|
|
}
|
|
};
|
|
_proto.canInsertSemicolon = function canInsertSemicolon() {
|
|
return this.match(137) || this.match(8) || this.hasPrecedingLineBreak();
|
|
};
|
|
_proto.hasPrecedingLineBreak = function hasPrecedingLineBreak() {
|
|
return lineBreak.test(this.input.slice(this.state.lastTokEndLoc.index, this.state.start));
|
|
};
|
|
_proto.hasFollowingLineBreak = function hasFollowingLineBreak() {
|
|
skipWhiteSpaceToLineBreak.lastIndex = this.state.end;
|
|
return skipWhiteSpaceToLineBreak.test(this.input);
|
|
};
|
|
_proto.isLineTerminator = function isLineTerminator() {
|
|
return this.eat(13) || this.canInsertSemicolon();
|
|
};
|
|
_proto.semicolon = function semicolon(allowAsi) {
|
|
if (allowAsi === void 0) {
|
|
allowAsi = true;
|
|
}
|
|
if (allowAsi ? this.isLineTerminator() : this.eat(13)) return;
|
|
this.raise(Errors.MissingSemicolon, {
|
|
at: this.state.lastTokEndLoc
|
|
});
|
|
};
|
|
_proto.expect = function expect(type, loc) {
|
|
this.eat(type) || this.unexpected(loc, type);
|
|
};
|
|
_proto.tryParse = function tryParse(fn, oldState) {
|
|
if (oldState === void 0) {
|
|
oldState = this.state.clone();
|
|
}
|
|
var abortSignal = {
|
|
node: null
|
|
};
|
|
try {
|
|
var _node = fn(function (node) {
|
|
if (node === void 0) {
|
|
node = null;
|
|
}
|
|
abortSignal.node = node;
|
|
throw abortSignal;
|
|
});
|
|
if (this.state.errors.length > oldState.errors.length) {
|
|
var failState = this.state;
|
|
this.state = oldState;
|
|
this.state.tokensLength = failState.tokensLength;
|
|
return {
|
|
node: _node,
|
|
error: failState.errors[oldState.errors.length],
|
|
thrown: false,
|
|
aborted: false,
|
|
failState: failState
|
|
};
|
|
}
|
|
return {
|
|
node: _node,
|
|
error: null,
|
|
thrown: false,
|
|
aborted: false,
|
|
failState: null
|
|
};
|
|
} catch (error) {
|
|
var _failState = this.state;
|
|
this.state = oldState;
|
|
if (error instanceof SyntaxError) {
|
|
return {
|
|
node: null,
|
|
error: error,
|
|
thrown: true,
|
|
aborted: false,
|
|
failState: _failState
|
|
};
|
|
}
|
|
if (error === abortSignal) {
|
|
return {
|
|
node: abortSignal.node,
|
|
error: null,
|
|
thrown: false,
|
|
aborted: true,
|
|
failState: _failState
|
|
};
|
|
}
|
|
throw error;
|
|
}
|
|
};
|
|
_proto.checkExpressionErrors = function checkExpressionErrors(refExpressionErrors, andThrow) {
|
|
if (!refExpressionErrors) return false;
|
|
var shorthandAssignLoc = refExpressionErrors.shorthandAssignLoc,
|
|
doubleProtoLoc = refExpressionErrors.doubleProtoLoc,
|
|
privateKeyLoc = refExpressionErrors.privateKeyLoc,
|
|
optionalParametersLoc = refExpressionErrors.optionalParametersLoc;
|
|
var hasErrors = !!shorthandAssignLoc || !!doubleProtoLoc || !!optionalParametersLoc || !!privateKeyLoc;
|
|
if (!andThrow) {
|
|
return hasErrors;
|
|
}
|
|
if (shorthandAssignLoc != null) {
|
|
this.raise(Errors.InvalidCoverInitializedName, {
|
|
at: shorthandAssignLoc
|
|
});
|
|
}
|
|
if (doubleProtoLoc != null) {
|
|
this.raise(Errors.DuplicateProto, {
|
|
at: doubleProtoLoc
|
|
});
|
|
}
|
|
if (privateKeyLoc != null) {
|
|
this.raise(Errors.UnexpectedPrivateField, {
|
|
at: privateKeyLoc
|
|
});
|
|
}
|
|
if (optionalParametersLoc != null) {
|
|
this.unexpected(optionalParametersLoc);
|
|
}
|
|
};
|
|
_proto.isLiteralPropertyName = function isLiteralPropertyName() {
|
|
return tokenIsLiteralPropertyName(this.state.type);
|
|
};
|
|
_proto.isPrivateName = function isPrivateName(node) {
|
|
return node.type === "PrivateName";
|
|
};
|
|
_proto.getPrivateNameSV = function getPrivateNameSV(node) {
|
|
return node.id.name;
|
|
};
|
|
_proto.hasPropertyAsPrivateName = function hasPropertyAsPrivateName(node) {
|
|
return (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") && this.isPrivateName(node.property);
|
|
};
|
|
_proto.isObjectProperty = function isObjectProperty(node) {
|
|
return node.type === "ObjectProperty";
|
|
};
|
|
_proto.isObjectMethod = function isObjectMethod(node) {
|
|
return node.type === "ObjectMethod";
|
|
};
|
|
_proto.initializeScopes = function initializeScopes(inModule) {
|
|
var _this = this;
|
|
if (inModule === void 0) {
|
|
inModule = this.options.sourceType === "module";
|
|
}
|
|
var oldLabels = this.state.labels;
|
|
this.state.labels = [];
|
|
var oldExportedIdentifiers = this.exportedIdentifiers;
|
|
this.exportedIdentifiers = new Set();
|
|
var oldInModule = this.inModule;
|
|
this.inModule = inModule;
|
|
var oldScope = this.scope;
|
|
var ScopeHandler = this.getScopeHandler();
|
|
this.scope = new ScopeHandler(this, inModule);
|
|
var oldProdParam = this.prodParam;
|
|
this.prodParam = new ProductionParameterHandler();
|
|
var oldClassScope = this.classScope;
|
|
this.classScope = new ClassScopeHandler(this);
|
|
var oldExpressionScope = this.expressionScope;
|
|
this.expressionScope = new ExpressionScopeHandler(this);
|
|
return function () {
|
|
_this.state.labels = oldLabels;
|
|
_this.exportedIdentifiers = oldExportedIdentifiers;
|
|
_this.inModule = oldInModule;
|
|
_this.scope = oldScope;
|
|
_this.prodParam = oldProdParam;
|
|
_this.classScope = oldClassScope;
|
|
_this.expressionScope = oldExpressionScope;
|
|
};
|
|
};
|
|
_proto.enterInitialScopes = function enterInitialScopes() {
|
|
var paramFlags = PARAM;
|
|
if (this.inModule) {
|
|
paramFlags |= PARAM_AWAIT;
|
|
}
|
|
this.scope.enter(SCOPE_PROGRAM);
|
|
this.prodParam.enter(paramFlags);
|
|
};
|
|
_proto.checkDestructuringPrivate = function checkDestructuringPrivate(refExpressionErrors) {
|
|
var privateKeyLoc = refExpressionErrors.privateKeyLoc;
|
|
if (privateKeyLoc !== null) {
|
|
this.expectPlugin("destructuringPrivate", privateKeyLoc);
|
|
}
|
|
};
|
|
return _createClass(UtilParser);
|
|
}(Tokenizer);
|
|
var ExpressionErrors = _createClass(function ExpressionErrors() {
|
|
this.shorthandAssignLoc = null;
|
|
this.doubleProtoLoc = null;
|
|
this.privateKeyLoc = null;
|
|
this.optionalParametersLoc = null;
|
|
});
|
|
|
|
var Node = _createClass(function Node(parser, pos, loc) {
|
|
this.type = "";
|
|
this.start = pos;
|
|
this.end = 0;
|
|
this.loc = new SourceLocation(loc);
|
|
if (parser != null && parser.options.ranges) this.range = [pos, 0];
|
|
if (parser != null && parser.filename) this.loc.filename = parser.filename;
|
|
});
|
|
var NodePrototype = Node.prototype;
|
|
{
|
|
NodePrototype.__clone = function () {
|
|
var newNode = new Node(undefined, this.start, this.loc.start);
|
|
var keys = Object.keys(this);
|
|
for (var i = 0, length = keys.length; i < length; i++) {
|
|
var _key = keys[i];
|
|
if (_key !== "leadingComments" && _key !== "trailingComments" && _key !== "innerComments") {
|
|
newNode[_key] = this[_key];
|
|
}
|
|
}
|
|
return newNode;
|
|
};
|
|
}
|
|
function clonePlaceholder(node) {
|
|
return cloneIdentifier(node);
|
|
}
|
|
function cloneIdentifier(node) {
|
|
var type = node.type,
|
|
start = node.start,
|
|
end = node.end,
|
|
loc = node.loc,
|
|
range = node.range,
|
|
extra = node.extra,
|
|
name = node.name;
|
|
var cloned = Object.create(NodePrototype);
|
|
cloned.type = type;
|
|
cloned.start = start;
|
|
cloned.end = end;
|
|
cloned.loc = loc;
|
|
cloned.range = range;
|
|
cloned.extra = extra;
|
|
cloned.name = name;
|
|
if (type === "Placeholder") {
|
|
cloned.expectedNode = node.expectedNode;
|
|
}
|
|
return cloned;
|
|
}
|
|
function cloneStringLiteral(node) {
|
|
var type = node.type,
|
|
start = node.start,
|
|
end = node.end,
|
|
loc = node.loc,
|
|
range = node.range,
|
|
extra = node.extra;
|
|
if (type === "Placeholder") {
|
|
return clonePlaceholder(node);
|
|
}
|
|
var cloned = Object.create(NodePrototype);
|
|
cloned.type = type;
|
|
cloned.start = start;
|
|
cloned.end = end;
|
|
cloned.loc = loc;
|
|
cloned.range = range;
|
|
if (node.raw !== undefined) {
|
|
cloned.raw = node.raw;
|
|
} else {
|
|
cloned.extra = extra;
|
|
}
|
|
cloned.value = node.value;
|
|
return cloned;
|
|
}
|
|
var NodeUtils = function (_UtilParser) {
|
|
_inherits(NodeUtils, _UtilParser);
|
|
function NodeUtils() {
|
|
return _UtilParser.apply(this, arguments) || this;
|
|
}
|
|
var _proto = NodeUtils.prototype;
|
|
_proto.startNode = function startNode() {
|
|
return new Node(this, this.state.start, this.state.startLoc);
|
|
};
|
|
_proto.startNodeAt = function startNodeAt(loc) {
|
|
return new Node(this, loc.index, loc);
|
|
};
|
|
_proto.startNodeAtNode = function startNodeAtNode(type) {
|
|
return this.startNodeAt(type.loc.start);
|
|
};
|
|
_proto.finishNode = function finishNode(node, type) {
|
|
return this.finishNodeAt(node, type, this.state.lastTokEndLoc);
|
|
};
|
|
_proto.finishNodeAt = function finishNodeAt(node, type, endLoc) {
|
|
node.type = type;
|
|
node.end = endLoc.index;
|
|
node.loc.end = endLoc;
|
|
if (this.options.ranges) node.range[1] = endLoc.index;
|
|
if (this.options.attachComment) this.processComment(node);
|
|
return node;
|
|
};
|
|
_proto.resetStartLocation = function resetStartLocation(node, startLoc) {
|
|
node.start = startLoc.index;
|
|
node.loc.start = startLoc;
|
|
if (this.options.ranges) node.range[0] = startLoc.index;
|
|
};
|
|
_proto.resetEndLocation = function resetEndLocation(node, endLoc) {
|
|
if (endLoc === void 0) {
|
|
endLoc = this.state.lastTokEndLoc;
|
|
}
|
|
node.end = endLoc.index;
|
|
node.loc.end = endLoc;
|
|
if (this.options.ranges) node.range[1] = endLoc.index;
|
|
};
|
|
_proto.resetStartLocationFromNode = function resetStartLocationFromNode(node, locationNode) {
|
|
this.resetStartLocation(node, locationNode.loc.start);
|
|
};
|
|
return _createClass(NodeUtils);
|
|
}(UtilParser);
|
|
|
|
var _templateObject$z;
|
|
var reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]);
|
|
var FlowErrors = ParseErrorEnum(_templateObject$z || (_templateObject$z = _taggedTemplateLiteralLoose(["flow"])))({
|
|
AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",
|
|
AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",
|
|
AssignReservedType: function AssignReservedType(_ref) {
|
|
var reservedType = _ref.reservedType;
|
|
return "Cannot overwrite reserved type " + reservedType + ".";
|
|
},
|
|
DeclareClassElement: "The `declare` modifier can only appear on class fields.",
|
|
DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.",
|
|
DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.",
|
|
EnumBooleanMemberNotInitialized: function EnumBooleanMemberNotInitialized(_ref2) {
|
|
var memberName = _ref2.memberName,
|
|
enumName = _ref2.enumName;
|
|
return "Boolean enum members need to be initialized. Use either `" + memberName + " = true,` or `" + memberName + " = false,` in enum `" + enumName + "`.";
|
|
},
|
|
EnumDuplicateMemberName: function EnumDuplicateMemberName(_ref3) {
|
|
var memberName = _ref3.memberName,
|
|
enumName = _ref3.enumName;
|
|
return "Enum member names need to be unique, but the name `" + memberName + "` has already been used before in enum `" + enumName + "`.";
|
|
},
|
|
EnumInconsistentMemberValues: function EnumInconsistentMemberValues(_ref4) {
|
|
var enumName = _ref4.enumName;
|
|
return "Enum `" + enumName + "` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.";
|
|
},
|
|
EnumInvalidExplicitType: function EnumInvalidExplicitType(_ref5) {
|
|
var invalidEnumType = _ref5.invalidEnumType,
|
|
enumName = _ref5.enumName;
|
|
return "Enum type `" + invalidEnumType + "` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `" + enumName + "`.";
|
|
},
|
|
EnumInvalidExplicitTypeUnknownSupplied: function EnumInvalidExplicitTypeUnknownSupplied(_ref6) {
|
|
var enumName = _ref6.enumName;
|
|
return "Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `" + enumName + "`.";
|
|
},
|
|
EnumInvalidMemberInitializerPrimaryType: function EnumInvalidMemberInitializerPrimaryType(_ref7) {
|
|
var enumName = _ref7.enumName,
|
|
memberName = _ref7.memberName,
|
|
explicitType = _ref7.explicitType;
|
|
return "Enum `" + enumName + "` has type `" + explicitType + "`, so the initializer of `" + memberName + "` needs to be a " + explicitType + " literal.";
|
|
},
|
|
EnumInvalidMemberInitializerSymbolType: function EnumInvalidMemberInitializerSymbolType(_ref8) {
|
|
var enumName = _ref8.enumName,
|
|
memberName = _ref8.memberName;
|
|
return "Symbol enum members cannot be initialized. Use `" + memberName + ",` in enum `" + enumName + "`.";
|
|
},
|
|
EnumInvalidMemberInitializerUnknownType: function EnumInvalidMemberInitializerUnknownType(_ref9) {
|
|
var enumName = _ref9.enumName,
|
|
memberName = _ref9.memberName;
|
|
return "The enum member initializer for `" + memberName + "` needs to be a literal (either a boolean, number, or string) in enum `" + enumName + "`.";
|
|
},
|
|
EnumInvalidMemberName: function EnumInvalidMemberName(_ref10) {
|
|
var enumName = _ref10.enumName,
|
|
memberName = _ref10.memberName,
|
|
suggestion = _ref10.suggestion;
|
|
return "Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `" + memberName + "`, consider using `" + suggestion + "`, in enum `" + enumName + "`.";
|
|
},
|
|
EnumNumberMemberNotInitialized: function EnumNumberMemberNotInitialized(_ref11) {
|
|
var enumName = _ref11.enumName,
|
|
memberName = _ref11.memberName;
|
|
return "Number enum members need to be initialized, e.g. `" + memberName + " = 1` in enum `" + enumName + "`.";
|
|
},
|
|
EnumStringMemberInconsistentlyInitailized: function EnumStringMemberInconsistentlyInitailized(_ref12) {
|
|
var enumName = _ref12.enumName;
|
|
return "String enum members need to consistently either all use initializers, or use no initializers, in enum `" + enumName + "`.";
|
|
},
|
|
GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.",
|
|
ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.",
|
|
ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",
|
|
InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.",
|
|
InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.",
|
|
InexactVariance: "Explicit inexact syntax cannot have variance.",
|
|
InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.",
|
|
MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",
|
|
NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.",
|
|
NestedFlowComment: "Cannot have a flow comment inside another flow comment.",
|
|
PatternIsOptional: Object.assign({
|
|
message: "A binding pattern parameter cannot be optional in an implementation signature."
|
|
}, {
|
|
reasonCode: "OptionalBindingPattern"
|
|
}),
|
|
SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.",
|
|
SpreadVariance: "Spread properties cannot have variance.",
|
|
ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.",
|
|
ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",
|
|
ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.",
|
|
ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.",
|
|
ThisParamNoDefault: "The `this` parameter may not have a default value.",
|
|
TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",
|
|
TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.",
|
|
UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.",
|
|
UnexpectedReservedType: function UnexpectedReservedType(_ref13) {
|
|
var reservedType = _ref13.reservedType;
|
|
return "Unexpected reserved type " + reservedType + ".";
|
|
},
|
|
UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.",
|
|
UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.",
|
|
UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.",
|
|
UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".',
|
|
UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.",
|
|
UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`.",
|
|
UnsupportedDeclareExportKind: function UnsupportedDeclareExportKind(_ref14) {
|
|
var unsupportedExportKind = _ref14.unsupportedExportKind,
|
|
suggestion = _ref14.suggestion;
|
|
return "`declare export " + unsupportedExportKind + "` is not supported. Use `" + suggestion + "` instead.";
|
|
},
|
|
UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.",
|
|
UnterminatedFlowComment: "Unterminated flow-comment."
|
|
});
|
|
function isEsModuleType(bodyElement) {
|
|
return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration");
|
|
}
|
|
function hasTypeImportKind(node) {
|
|
return node.importKind === "type" || node.importKind === "typeof";
|
|
}
|
|
function isMaybeDefaultImport(type) {
|
|
return tokenIsKeywordOrIdentifier(type) && type !== 97;
|
|
}
|
|
var exportSuggestions = {
|
|
"const": "declare export var",
|
|
"let": "declare export var",
|
|
type: "export type",
|
|
"interface": "export interface"
|
|
};
|
|
function partition(list, test) {
|
|
var list1 = [];
|
|
var list2 = [];
|
|
for (var i = 0; i < list.length; i++) {
|
|
(test(list[i], i, list) ? list1 : list2).push(list[i]);
|
|
}
|
|
return [list1, list2];
|
|
}
|
|
var FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/;
|
|
var flow = (function (superClass) {
|
|
return function (_superClass) {
|
|
_inherits(FlowParserMixin, _superClass);
|
|
function FlowParserMixin() {
|
|
var _this2;
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
_this2 = _superClass.call.apply(_superClass, [this].concat(args)) || this;
|
|
_this2.flowPragma = undefined;
|
|
return _this2;
|
|
}
|
|
var _proto = FlowParserMixin.prototype;
|
|
_proto.getScopeHandler = function getScopeHandler() {
|
|
return FlowScopeHandler;
|
|
};
|
|
_proto.shouldParseTypes = function shouldParseTypes() {
|
|
return this.getPluginOption("flow", "all") || this.flowPragma === "flow";
|
|
};
|
|
_proto.shouldParseEnums = function shouldParseEnums() {
|
|
return !!this.getPluginOption("flow", "enums");
|
|
};
|
|
_proto.finishToken = function finishToken(type, val) {
|
|
if (type !== 131 && type !== 13 && type !== 28) {
|
|
if (this.flowPragma === undefined) {
|
|
this.flowPragma = null;
|
|
}
|
|
}
|
|
_superClass.prototype.finishToken.call(this, type, val);
|
|
};
|
|
_proto.addComment = function addComment(comment) {
|
|
if (this.flowPragma === undefined) {
|
|
var matches = FLOW_PRAGMA_REGEX.exec(comment.value);
|
|
if (!matches) ; else if (matches[1] === "flow") {
|
|
this.flowPragma = "flow";
|
|
} else if (matches[1] === "noflow") {
|
|
this.flowPragma = "noflow";
|
|
} else {
|
|
throw new Error("Unexpected flow pragma");
|
|
}
|
|
}
|
|
_superClass.prototype.addComment.call(this, comment);
|
|
};
|
|
_proto.flowParseTypeInitialiser = function flowParseTypeInitialiser(tok) {
|
|
var oldInType = this.state.inType;
|
|
this.state.inType = true;
|
|
this.expect(tok || 14);
|
|
var type = this.flowParseType();
|
|
this.state.inType = oldInType;
|
|
return type;
|
|
};
|
|
_proto.flowParsePredicate = function flowParsePredicate() {
|
|
var node = this.startNode();
|
|
var moduloLoc = this.state.startLoc;
|
|
this.next();
|
|
this.expectContextual(108);
|
|
if (this.state.lastTokStart > moduloLoc.index + 1) {
|
|
this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks, {
|
|
at: moduloLoc
|
|
});
|
|
}
|
|
if (this.eat(10)) {
|
|
node.value = _superClass.prototype.parseExpression.call(this);
|
|
this.expect(11);
|
|
return this.finishNode(node, "DeclaredPredicate");
|
|
} else {
|
|
return this.finishNode(node, "InferredPredicate");
|
|
}
|
|
};
|
|
_proto.flowParseTypeAndPredicateInitialiser = function flowParseTypeAndPredicateInitialiser() {
|
|
var oldInType = this.state.inType;
|
|
this.state.inType = true;
|
|
this.expect(14);
|
|
var type = null;
|
|
var predicate = null;
|
|
if (this.match(54)) {
|
|
this.state.inType = oldInType;
|
|
predicate = this.flowParsePredicate();
|
|
} else {
|
|
type = this.flowParseType();
|
|
this.state.inType = oldInType;
|
|
if (this.match(54)) {
|
|
predicate = this.flowParsePredicate();
|
|
}
|
|
}
|
|
return [type, predicate];
|
|
};
|
|
_proto.flowParseDeclareClass = function flowParseDeclareClass(node) {
|
|
this.next();
|
|
this.flowParseInterfaceish(node, true);
|
|
return this.finishNode(node, "DeclareClass");
|
|
};
|
|
_proto.flowParseDeclareFunction = function flowParseDeclareFunction(node) {
|
|
this.next();
|
|
var id = node.id = this.parseIdentifier();
|
|
var typeNode = this.startNode();
|
|
var typeContainer = this.startNode();
|
|
if (this.match(47)) {
|
|
typeNode.typeParameters = this.flowParseTypeParameterDeclaration();
|
|
} else {
|
|
typeNode.typeParameters = null;
|
|
}
|
|
this.expect(10);
|
|
var tmp = this.flowParseFunctionTypeParams();
|
|
typeNode.params = tmp.params;
|
|
typeNode.rest = tmp.rest;
|
|
typeNode["this"] = tmp._this;
|
|
this.expect(11);
|
|
var _this$flowParseTypeAn = this.flowParseTypeAndPredicateInitialiser();
|
|
typeNode.returnType = _this$flowParseTypeAn[0];
|
|
node.predicate = _this$flowParseTypeAn[1];
|
|
typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation");
|
|
id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation");
|
|
this.resetEndLocation(id);
|
|
this.semicolon();
|
|
this.scope.declareName(node.id.name, BIND_FLOW_DECLARE_FN, node.id.loc.start);
|
|
return this.finishNode(node, "DeclareFunction");
|
|
};
|
|
_proto.flowParseDeclare = function flowParseDeclare(node, insideModule) {
|
|
if (this.match(80)) {
|
|
return this.flowParseDeclareClass(node);
|
|
} else if (this.match(68)) {
|
|
return this.flowParseDeclareFunction(node);
|
|
} else if (this.match(74)) {
|
|
return this.flowParseDeclareVariable(node);
|
|
} else if (this.eatContextual(125)) {
|
|
if (this.match(16)) {
|
|
return this.flowParseDeclareModuleExports(node);
|
|
} else {
|
|
if (insideModule) {
|
|
this.raise(FlowErrors.NestedDeclareModule, {
|
|
at: this.state.lastTokStartLoc
|
|
});
|
|
}
|
|
return this.flowParseDeclareModule(node);
|
|
}
|
|
} else if (this.isContextual(128)) {
|
|
return this.flowParseDeclareTypeAlias(node);
|
|
} else if (this.isContextual(129)) {
|
|
return this.flowParseDeclareOpaqueType(node);
|
|
} else if (this.isContextual(127)) {
|
|
return this.flowParseDeclareInterface(node);
|
|
} else if (this.match(82)) {
|
|
return this.flowParseDeclareExportDeclaration(node, insideModule);
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
};
|
|
_proto.flowParseDeclareVariable = function flowParseDeclareVariable(node) {
|
|
this.next();
|
|
node.id = this.flowParseTypeAnnotatableIdentifier(true);
|
|
this.scope.declareName(node.id.name, BIND_VAR, node.id.loc.start);
|
|
this.semicolon();
|
|
return this.finishNode(node, "DeclareVariable");
|
|
};
|
|
_proto.flowParseDeclareModule = function flowParseDeclareModule(node) {
|
|
var _this3 = this;
|
|
this.scope.enter(SCOPE_OTHER);
|
|
if (this.match(131)) {
|
|
node.id = _superClass.prototype.parseExprAtom.call(this);
|
|
} else {
|
|
node.id = this.parseIdentifier();
|
|
}
|
|
var bodyNode = node.body = this.startNode();
|
|
var body = bodyNode.body = [];
|
|
this.expect(5);
|
|
while (!this.match(8)) {
|
|
var _bodyNode = this.startNode();
|
|
if (this.match(83)) {
|
|
this.next();
|
|
if (!this.isContextual(128) && !this.match(87)) {
|
|
this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule, {
|
|
at: this.state.lastTokStartLoc
|
|
});
|
|
}
|
|
_superClass.prototype.parseImport.call(this, _bodyNode);
|
|
} else {
|
|
this.expectContextual(123, FlowErrors.UnsupportedStatementInDeclareModule);
|
|
_bodyNode = this.flowParseDeclare(_bodyNode, true);
|
|
}
|
|
body.push(_bodyNode);
|
|
}
|
|
this.scope.exit();
|
|
this.expect(8);
|
|
this.finishNode(bodyNode, "BlockStatement");
|
|
var kind = null;
|
|
var hasModuleExport = false;
|
|
body.forEach(function (bodyElement) {
|
|
if (isEsModuleType(bodyElement)) {
|
|
if (kind === "CommonJS") {
|
|
_this3.raise(FlowErrors.AmbiguousDeclareModuleKind, {
|
|
at: bodyElement
|
|
});
|
|
}
|
|
kind = "ES";
|
|
} else if (bodyElement.type === "DeclareModuleExports") {
|
|
if (hasModuleExport) {
|
|
_this3.raise(FlowErrors.DuplicateDeclareModuleExports, {
|
|
at: bodyElement
|
|
});
|
|
}
|
|
if (kind === "ES") {
|
|
_this3.raise(FlowErrors.AmbiguousDeclareModuleKind, {
|
|
at: bodyElement
|
|
});
|
|
}
|
|
kind = "CommonJS";
|
|
hasModuleExport = true;
|
|
}
|
|
});
|
|
node.kind = kind || "CommonJS";
|
|
return this.finishNode(node, "DeclareModule");
|
|
};
|
|
_proto.flowParseDeclareExportDeclaration = function flowParseDeclareExportDeclaration(node, insideModule) {
|
|
this.expect(82);
|
|
if (this.eat(65)) {
|
|
if (this.match(68) || this.match(80)) {
|
|
node.declaration = this.flowParseDeclare(this.startNode());
|
|
} else {
|
|
node.declaration = this.flowParseType();
|
|
this.semicolon();
|
|
}
|
|
node["default"] = true;
|
|
return this.finishNode(node, "DeclareExportDeclaration");
|
|
} else {
|
|
if (this.match(75) || this.isLet() || (this.isContextual(128) || this.isContextual(127)) && !insideModule) {
|
|
var label = this.state.value;
|
|
throw this.raise(FlowErrors.UnsupportedDeclareExportKind, {
|
|
at: this.state.startLoc,
|
|
unsupportedExportKind: label,
|
|
suggestion: exportSuggestions[label]
|
|
});
|
|
}
|
|
if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(129)) {
|
|
node.declaration = this.flowParseDeclare(this.startNode());
|
|
node["default"] = false;
|
|
return this.finishNode(node, "DeclareExportDeclaration");
|
|
} else if (this.match(55) || this.match(5) || this.isContextual(127) || this.isContextual(128) || this.isContextual(129)) {
|
|
node = this.parseExport(node, null);
|
|
if (node.type === "ExportNamedDeclaration") {
|
|
node.type = "ExportDeclaration";
|
|
node["default"] = false;
|
|
delete node.exportKind;
|
|
}
|
|
node.type = "Declare" + node.type;
|
|
return node;
|
|
}
|
|
}
|
|
this.unexpected();
|
|
};
|
|
_proto.flowParseDeclareModuleExports = function flowParseDeclareModuleExports(node) {
|
|
this.next();
|
|
this.expectContextual(109);
|
|
node.typeAnnotation = this.flowParseTypeAnnotation();
|
|
this.semicolon();
|
|
return this.finishNode(node, "DeclareModuleExports");
|
|
};
|
|
_proto.flowParseDeclareTypeAlias = function flowParseDeclareTypeAlias(node) {
|
|
this.next();
|
|
var finished = this.flowParseTypeAlias(node);
|
|
finished.type = "DeclareTypeAlias";
|
|
return finished;
|
|
};
|
|
_proto.flowParseDeclareOpaqueType = function flowParseDeclareOpaqueType(node) {
|
|
this.next();
|
|
var finished = this.flowParseOpaqueType(node, true);
|
|
finished.type = "DeclareOpaqueType";
|
|
return finished;
|
|
};
|
|
_proto.flowParseDeclareInterface = function flowParseDeclareInterface(node) {
|
|
this.next();
|
|
this.flowParseInterfaceish(node, false);
|
|
return this.finishNode(node, "DeclareInterface");
|
|
};
|
|
_proto.flowParseInterfaceish = function flowParseInterfaceish(node, isClass) {
|
|
node.id = this.flowParseRestrictedIdentifier(!isClass, true);
|
|
this.scope.declareName(node.id.name, isClass ? BIND_FUNCTION : BIND_LEXICAL, node.id.loc.start);
|
|
if (this.match(47)) {
|
|
node.typeParameters = this.flowParseTypeParameterDeclaration();
|
|
} else {
|
|
node.typeParameters = null;
|
|
}
|
|
node["extends"] = [];
|
|
if (this.eat(81)) {
|
|
do {
|
|
node["extends"].push(this.flowParseInterfaceExtends());
|
|
} while (!isClass && this.eat(12));
|
|
}
|
|
if (isClass) {
|
|
node["implements"] = [];
|
|
node.mixins = [];
|
|
if (this.eatContextual(115)) {
|
|
do {
|
|
node.mixins.push(this.flowParseInterfaceExtends());
|
|
} while (this.eat(12));
|
|
}
|
|
if (this.eatContextual(111)) {
|
|
do {
|
|
node["implements"].push(this.flowParseInterfaceExtends());
|
|
} while (this.eat(12));
|
|
}
|
|
}
|
|
node.body = this.flowParseObjectType({
|
|
allowStatic: isClass,
|
|
allowExact: false,
|
|
allowSpread: false,
|
|
allowProto: isClass,
|
|
allowInexact: false
|
|
});
|
|
};
|
|
_proto.flowParseInterfaceExtends = function flowParseInterfaceExtends() {
|
|
var node = this.startNode();
|
|
node.id = this.flowParseQualifiedTypeIdentifier();
|
|
if (this.match(47)) {
|
|
node.typeParameters = this.flowParseTypeParameterInstantiation();
|
|
} else {
|
|
node.typeParameters = null;
|
|
}
|
|
return this.finishNode(node, "InterfaceExtends");
|
|
};
|
|
_proto.flowParseInterface = function flowParseInterface(node) {
|
|
this.flowParseInterfaceish(node, false);
|
|
return this.finishNode(node, "InterfaceDeclaration");
|
|
};
|
|
_proto.checkNotUnderscore = function checkNotUnderscore(word) {
|
|
if (word === "_") {
|
|
this.raise(FlowErrors.UnexpectedReservedUnderscore, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
};
|
|
_proto.checkReservedType = function checkReservedType(word, startLoc, declaration) {
|
|
if (!reservedTypes.has(word)) return;
|
|
this.raise(declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, {
|
|
at: startLoc,
|
|
reservedType: word
|
|
});
|
|
};
|
|
_proto.flowParseRestrictedIdentifier = function flowParseRestrictedIdentifier(liberal, declaration) {
|
|
this.checkReservedType(this.state.value, this.state.startLoc, declaration);
|
|
return this.parseIdentifier(liberal);
|
|
};
|
|
_proto.flowParseTypeAlias = function flowParseTypeAlias(node) {
|
|
node.id = this.flowParseRestrictedIdentifier(false, true);
|
|
this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.loc.start);
|
|
if (this.match(47)) {
|
|
node.typeParameters = this.flowParseTypeParameterDeclaration();
|
|
} else {
|
|
node.typeParameters = null;
|
|
}
|
|
node.right = this.flowParseTypeInitialiser(29);
|
|
this.semicolon();
|
|
return this.finishNode(node, "TypeAlias");
|
|
};
|
|
_proto.flowParseOpaqueType = function flowParseOpaqueType(node, declare) {
|
|
this.expectContextual(128);
|
|
node.id = this.flowParseRestrictedIdentifier(true, true);
|
|
this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.loc.start);
|
|
if (this.match(47)) {
|
|
node.typeParameters = this.flowParseTypeParameterDeclaration();
|
|
} else {
|
|
node.typeParameters = null;
|
|
}
|
|
node.supertype = null;
|
|
if (this.match(14)) {
|
|
node.supertype = this.flowParseTypeInitialiser(14);
|
|
}
|
|
node.impltype = null;
|
|
if (!declare) {
|
|
node.impltype = this.flowParseTypeInitialiser(29);
|
|
}
|
|
this.semicolon();
|
|
return this.finishNode(node, "OpaqueType");
|
|
};
|
|
_proto.flowParseTypeParameter = function flowParseTypeParameter(requireDefault) {
|
|
if (requireDefault === void 0) {
|
|
requireDefault = false;
|
|
}
|
|
var nodeStartLoc = this.state.startLoc;
|
|
var node = this.startNode();
|
|
var variance = this.flowParseVariance();
|
|
var ident = this.flowParseTypeAnnotatableIdentifier();
|
|
node.name = ident.name;
|
|
node.variance = variance;
|
|
node.bound = ident.typeAnnotation;
|
|
if (this.match(29)) {
|
|
this.eat(29);
|
|
node["default"] = this.flowParseType();
|
|
} else {
|
|
if (requireDefault) {
|
|
this.raise(FlowErrors.MissingTypeParamDefault, {
|
|
at: nodeStartLoc
|
|
});
|
|
}
|
|
}
|
|
return this.finishNode(node, "TypeParameter");
|
|
};
|
|
_proto.flowParseTypeParameterDeclaration = function flowParseTypeParameterDeclaration() {
|
|
var oldInType = this.state.inType;
|
|
var node = this.startNode();
|
|
node.params = [];
|
|
this.state.inType = true;
|
|
if (this.match(47) || this.match(140)) {
|
|
this.next();
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
var defaultRequired = false;
|
|
do {
|
|
var typeParameter = this.flowParseTypeParameter(defaultRequired);
|
|
node.params.push(typeParameter);
|
|
if (typeParameter["default"]) {
|
|
defaultRequired = true;
|
|
}
|
|
if (!this.match(48)) {
|
|
this.expect(12);
|
|
}
|
|
} while (!this.match(48));
|
|
this.expect(48);
|
|
this.state.inType = oldInType;
|
|
return this.finishNode(node, "TypeParameterDeclaration");
|
|
};
|
|
_proto.flowParseTypeParameterInstantiation = function flowParseTypeParameterInstantiation() {
|
|
var node = this.startNode();
|
|
var oldInType = this.state.inType;
|
|
node.params = [];
|
|
this.state.inType = true;
|
|
this.expect(47);
|
|
var oldNoAnonFunctionType = this.state.noAnonFunctionType;
|
|
this.state.noAnonFunctionType = false;
|
|
while (!this.match(48)) {
|
|
node.params.push(this.flowParseType());
|
|
if (!this.match(48)) {
|
|
this.expect(12);
|
|
}
|
|
}
|
|
this.state.noAnonFunctionType = oldNoAnonFunctionType;
|
|
this.expect(48);
|
|
this.state.inType = oldInType;
|
|
return this.finishNode(node, "TypeParameterInstantiation");
|
|
};
|
|
_proto.flowParseTypeParameterInstantiationCallOrNew = function flowParseTypeParameterInstantiationCallOrNew() {
|
|
var node = this.startNode();
|
|
var oldInType = this.state.inType;
|
|
node.params = [];
|
|
this.state.inType = true;
|
|
this.expect(47);
|
|
while (!this.match(48)) {
|
|
node.params.push(this.flowParseTypeOrImplicitInstantiation());
|
|
if (!this.match(48)) {
|
|
this.expect(12);
|
|
}
|
|
}
|
|
this.expect(48);
|
|
this.state.inType = oldInType;
|
|
return this.finishNode(node, "TypeParameterInstantiation");
|
|
};
|
|
_proto.flowParseInterfaceType = function flowParseInterfaceType() {
|
|
var node = this.startNode();
|
|
this.expectContextual(127);
|
|
node["extends"] = [];
|
|
if (this.eat(81)) {
|
|
do {
|
|
node["extends"].push(this.flowParseInterfaceExtends());
|
|
} while (this.eat(12));
|
|
}
|
|
node.body = this.flowParseObjectType({
|
|
allowStatic: false,
|
|
allowExact: false,
|
|
allowSpread: false,
|
|
allowProto: false,
|
|
allowInexact: false
|
|
});
|
|
return this.finishNode(node, "InterfaceTypeAnnotation");
|
|
};
|
|
_proto.flowParseObjectPropertyKey = function flowParseObjectPropertyKey() {
|
|
return this.match(132) || this.match(131) ? _superClass.prototype.parseExprAtom.call(this) : this.parseIdentifier(true);
|
|
};
|
|
_proto.flowParseObjectTypeIndexer = function flowParseObjectTypeIndexer(node, isStatic, variance) {
|
|
node["static"] = isStatic;
|
|
if (this.lookahead().type === 14) {
|
|
node.id = this.flowParseObjectPropertyKey();
|
|
node.key = this.flowParseTypeInitialiser();
|
|
} else {
|
|
node.id = null;
|
|
node.key = this.flowParseType();
|
|
}
|
|
this.expect(3);
|
|
node.value = this.flowParseTypeInitialiser();
|
|
node.variance = variance;
|
|
return this.finishNode(node, "ObjectTypeIndexer");
|
|
};
|
|
_proto.flowParseObjectTypeInternalSlot = function flowParseObjectTypeInternalSlot(node, isStatic) {
|
|
node["static"] = isStatic;
|
|
node.id = this.flowParseObjectPropertyKey();
|
|
this.expect(3);
|
|
this.expect(3);
|
|
if (this.match(47) || this.match(10)) {
|
|
node.method = true;
|
|
node.optional = false;
|
|
node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start));
|
|
} else {
|
|
node.method = false;
|
|
if (this.eat(17)) {
|
|
node.optional = true;
|
|
}
|
|
node.value = this.flowParseTypeInitialiser();
|
|
}
|
|
return this.finishNode(node, "ObjectTypeInternalSlot");
|
|
};
|
|
_proto.flowParseObjectTypeMethodish = function flowParseObjectTypeMethodish(node) {
|
|
node.params = [];
|
|
node.rest = null;
|
|
node.typeParameters = null;
|
|
node["this"] = null;
|
|
if (this.match(47)) {
|
|
node.typeParameters = this.flowParseTypeParameterDeclaration();
|
|
}
|
|
this.expect(10);
|
|
if (this.match(78)) {
|
|
node["this"] = this.flowParseFunctionTypeParam(true);
|
|
node["this"].name = null;
|
|
if (!this.match(11)) {
|
|
this.expect(12);
|
|
}
|
|
}
|
|
while (!this.match(11) && !this.match(21)) {
|
|
node.params.push(this.flowParseFunctionTypeParam(false));
|
|
if (!this.match(11)) {
|
|
this.expect(12);
|
|
}
|
|
}
|
|
if (this.eat(21)) {
|
|
node.rest = this.flowParseFunctionTypeParam(false);
|
|
}
|
|
this.expect(11);
|
|
node.returnType = this.flowParseTypeInitialiser();
|
|
return this.finishNode(node, "FunctionTypeAnnotation");
|
|
};
|
|
_proto.flowParseObjectTypeCallProperty = function flowParseObjectTypeCallProperty(node, isStatic) {
|
|
var valueNode = this.startNode();
|
|
node["static"] = isStatic;
|
|
node.value = this.flowParseObjectTypeMethodish(valueNode);
|
|
return this.finishNode(node, "ObjectTypeCallProperty");
|
|
};
|
|
_proto.flowParseObjectType = function flowParseObjectType(_ref15) {
|
|
var allowStatic = _ref15.allowStatic,
|
|
allowExact = _ref15.allowExact,
|
|
allowSpread = _ref15.allowSpread,
|
|
allowProto = _ref15.allowProto,
|
|
allowInexact = _ref15.allowInexact;
|
|
var oldInType = this.state.inType;
|
|
this.state.inType = true;
|
|
var nodeStart = this.startNode();
|
|
nodeStart.callProperties = [];
|
|
nodeStart.properties = [];
|
|
nodeStart.indexers = [];
|
|
nodeStart.internalSlots = [];
|
|
var endDelim;
|
|
var exact;
|
|
var inexact = false;
|
|
if (allowExact && this.match(6)) {
|
|
this.expect(6);
|
|
endDelim = 9;
|
|
exact = true;
|
|
} else {
|
|
this.expect(5);
|
|
endDelim = 8;
|
|
exact = false;
|
|
}
|
|
nodeStart.exact = exact;
|
|
while (!this.match(endDelim)) {
|
|
var isStatic = false;
|
|
var protoStartLoc = null;
|
|
var inexactStartLoc = null;
|
|
var node = this.startNode();
|
|
if (allowProto && this.isContextual(116)) {
|
|
var lookahead = this.lookahead();
|
|
if (lookahead.type !== 14 && lookahead.type !== 17) {
|
|
this.next();
|
|
protoStartLoc = this.state.startLoc;
|
|
allowStatic = false;
|
|
}
|
|
}
|
|
if (allowStatic && this.isContextual(104)) {
|
|
var _lookahead = this.lookahead();
|
|
if (_lookahead.type !== 14 && _lookahead.type !== 17) {
|
|
this.next();
|
|
isStatic = true;
|
|
}
|
|
}
|
|
var variance = this.flowParseVariance();
|
|
if (this.eat(0)) {
|
|
if (protoStartLoc != null) {
|
|
this.unexpected(protoStartLoc);
|
|
}
|
|
if (this.eat(0)) {
|
|
if (variance) {
|
|
this.unexpected(variance.loc.start);
|
|
}
|
|
nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic));
|
|
} else {
|
|
nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance));
|
|
}
|
|
} else if (this.match(10) || this.match(47)) {
|
|
if (protoStartLoc != null) {
|
|
this.unexpected(protoStartLoc);
|
|
}
|
|
if (variance) {
|
|
this.unexpected(variance.loc.start);
|
|
}
|
|
nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic));
|
|
} else {
|
|
var kind = "init";
|
|
if (this.isContextual(98) || this.isContextual(103)) {
|
|
var _lookahead2 = this.lookahead();
|
|
if (tokenIsLiteralPropertyName(_lookahead2.type)) {
|
|
kind = this.state.value;
|
|
this.next();
|
|
}
|
|
}
|
|
var propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact);
|
|
if (propOrInexact === null) {
|
|
inexact = true;
|
|
inexactStartLoc = this.state.lastTokStartLoc;
|
|
} else {
|
|
nodeStart.properties.push(propOrInexact);
|
|
}
|
|
}
|
|
this.flowObjectTypeSemicolon();
|
|
if (inexactStartLoc && !this.match(8) && !this.match(9)) {
|
|
this.raise(FlowErrors.UnexpectedExplicitInexactInObject, {
|
|
at: inexactStartLoc
|
|
});
|
|
}
|
|
}
|
|
this.expect(endDelim);
|
|
if (allowSpread) {
|
|
nodeStart.inexact = inexact;
|
|
}
|
|
var out = this.finishNode(nodeStart, "ObjectTypeAnnotation");
|
|
this.state.inType = oldInType;
|
|
return out;
|
|
};
|
|
_proto.flowParseObjectTypeProperty = function flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact) {
|
|
if (this.eat(21)) {
|
|
var isInexactToken = this.match(12) || this.match(13) || this.match(8) || this.match(9);
|
|
if (isInexactToken) {
|
|
if (!allowSpread) {
|
|
this.raise(FlowErrors.InexactInsideNonObject, {
|
|
at: this.state.lastTokStartLoc
|
|
});
|
|
} else if (!allowInexact) {
|
|
this.raise(FlowErrors.InexactInsideExact, {
|
|
at: this.state.lastTokStartLoc
|
|
});
|
|
}
|
|
if (variance) {
|
|
this.raise(FlowErrors.InexactVariance, {
|
|
at: variance
|
|
});
|
|
}
|
|
return null;
|
|
}
|
|
if (!allowSpread) {
|
|
this.raise(FlowErrors.UnexpectedSpreadType, {
|
|
at: this.state.lastTokStartLoc
|
|
});
|
|
}
|
|
if (protoStartLoc != null) {
|
|
this.unexpected(protoStartLoc);
|
|
}
|
|
if (variance) {
|
|
this.raise(FlowErrors.SpreadVariance, {
|
|
at: variance
|
|
});
|
|
}
|
|
node.argument = this.flowParseType();
|
|
return this.finishNode(node, "ObjectTypeSpreadProperty");
|
|
} else {
|
|
node.key = this.flowParseObjectPropertyKey();
|
|
node["static"] = isStatic;
|
|
node.proto = protoStartLoc != null;
|
|
node.kind = kind;
|
|
var optional = false;
|
|
if (this.match(47) || this.match(10)) {
|
|
node.method = true;
|
|
if (protoStartLoc != null) {
|
|
this.unexpected(protoStartLoc);
|
|
}
|
|
if (variance) {
|
|
this.unexpected(variance.loc.start);
|
|
}
|
|
node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start));
|
|
if (kind === "get" || kind === "set") {
|
|
this.flowCheckGetterSetterParams(node);
|
|
}
|
|
if (!allowSpread && node.key.name === "constructor" && node.value["this"]) {
|
|
this.raise(FlowErrors.ThisParamBannedInConstructor, {
|
|
at: node.value["this"]
|
|
});
|
|
}
|
|
} else {
|
|
if (kind !== "init") this.unexpected();
|
|
node.method = false;
|
|
if (this.eat(17)) {
|
|
optional = true;
|
|
}
|
|
node.value = this.flowParseTypeInitialiser();
|
|
node.variance = variance;
|
|
}
|
|
node.optional = optional;
|
|
return this.finishNode(node, "ObjectTypeProperty");
|
|
}
|
|
};
|
|
_proto.flowCheckGetterSetterParams = function flowCheckGetterSetterParams(property) {
|
|
var paramCount = property.kind === "get" ? 0 : 1;
|
|
var length = property.value.params.length + (property.value.rest ? 1 : 0);
|
|
if (property.value["this"]) {
|
|
this.raise(property.kind === "get" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam, {
|
|
at: property.value["this"]
|
|
});
|
|
}
|
|
if (length !== paramCount) {
|
|
this.raise(property.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, {
|
|
at: property
|
|
});
|
|
}
|
|
if (property.kind === "set" && property.value.rest) {
|
|
this.raise(Errors.BadSetterRestParameter, {
|
|
at: property
|
|
});
|
|
}
|
|
};
|
|
_proto.flowObjectTypeSemicolon = function flowObjectTypeSemicolon() {
|
|
if (!this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9)) {
|
|
this.unexpected();
|
|
}
|
|
};
|
|
_proto.flowParseQualifiedTypeIdentifier = function flowParseQualifiedTypeIdentifier(startLoc, id) {
|
|
var _startLoc;
|
|
(_startLoc = startLoc) != null ? _startLoc : startLoc = this.state.startLoc;
|
|
var node = id || this.flowParseRestrictedIdentifier(true);
|
|
while (this.eat(16)) {
|
|
var node2 = this.startNodeAt(startLoc);
|
|
node2.qualification = node;
|
|
node2.id = this.flowParseRestrictedIdentifier(true);
|
|
node = this.finishNode(node2, "QualifiedTypeIdentifier");
|
|
}
|
|
return node;
|
|
};
|
|
_proto.flowParseGenericType = function flowParseGenericType(startLoc, id) {
|
|
var node = this.startNodeAt(startLoc);
|
|
node.typeParameters = null;
|
|
node.id = this.flowParseQualifiedTypeIdentifier(startLoc, id);
|
|
if (this.match(47)) {
|
|
node.typeParameters = this.flowParseTypeParameterInstantiation();
|
|
}
|
|
return this.finishNode(node, "GenericTypeAnnotation");
|
|
};
|
|
_proto.flowParseTypeofType = function flowParseTypeofType() {
|
|
var node = this.startNode();
|
|
this.expect(87);
|
|
node.argument = this.flowParsePrimaryType();
|
|
return this.finishNode(node, "TypeofTypeAnnotation");
|
|
};
|
|
_proto.flowParseTupleType = function flowParseTupleType() {
|
|
var node = this.startNode();
|
|
node.types = [];
|
|
this.expect(0);
|
|
while (this.state.pos < this.length && !this.match(3)) {
|
|
node.types.push(this.flowParseType());
|
|
if (this.match(3)) break;
|
|
this.expect(12);
|
|
}
|
|
this.expect(3);
|
|
return this.finishNode(node, "TupleTypeAnnotation");
|
|
};
|
|
_proto.flowParseFunctionTypeParam = function flowParseFunctionTypeParam(first) {
|
|
var name = null;
|
|
var optional = false;
|
|
var typeAnnotation = null;
|
|
var node = this.startNode();
|
|
var lh = this.lookahead();
|
|
var isThis = this.state.type === 78;
|
|
if (lh.type === 14 || lh.type === 17) {
|
|
if (isThis && !first) {
|
|
this.raise(FlowErrors.ThisParamMustBeFirst, {
|
|
at: node
|
|
});
|
|
}
|
|
name = this.parseIdentifier(isThis);
|
|
if (this.eat(17)) {
|
|
optional = true;
|
|
if (isThis) {
|
|
this.raise(FlowErrors.ThisParamMayNotBeOptional, {
|
|
at: node
|
|
});
|
|
}
|
|
}
|
|
typeAnnotation = this.flowParseTypeInitialiser();
|
|
} else {
|
|
typeAnnotation = this.flowParseType();
|
|
}
|
|
node.name = name;
|
|
node.optional = optional;
|
|
node.typeAnnotation = typeAnnotation;
|
|
return this.finishNode(node, "FunctionTypeParam");
|
|
};
|
|
_proto.reinterpretTypeAsFunctionTypeParam = function reinterpretTypeAsFunctionTypeParam(type) {
|
|
var node = this.startNodeAt(type.loc.start);
|
|
node.name = null;
|
|
node.optional = false;
|
|
node.typeAnnotation = type;
|
|
return this.finishNode(node, "FunctionTypeParam");
|
|
};
|
|
_proto.flowParseFunctionTypeParams = function flowParseFunctionTypeParams(params) {
|
|
if (params === void 0) {
|
|
params = [];
|
|
}
|
|
var rest = null;
|
|
var _this = null;
|
|
if (this.match(78)) {
|
|
_this = this.flowParseFunctionTypeParam(true);
|
|
_this.name = null;
|
|
if (!this.match(11)) {
|
|
this.expect(12);
|
|
}
|
|
}
|
|
while (!this.match(11) && !this.match(21)) {
|
|
params.push(this.flowParseFunctionTypeParam(false));
|
|
if (!this.match(11)) {
|
|
this.expect(12);
|
|
}
|
|
}
|
|
if (this.eat(21)) {
|
|
rest = this.flowParseFunctionTypeParam(false);
|
|
}
|
|
return {
|
|
params: params,
|
|
rest: rest,
|
|
_this: _this
|
|
};
|
|
};
|
|
_proto.flowIdentToTypeAnnotation = function flowIdentToTypeAnnotation(startLoc, node, id) {
|
|
switch (id.name) {
|
|
case "any":
|
|
return this.finishNode(node, "AnyTypeAnnotation");
|
|
case "bool":
|
|
case "boolean":
|
|
return this.finishNode(node, "BooleanTypeAnnotation");
|
|
case "mixed":
|
|
return this.finishNode(node, "MixedTypeAnnotation");
|
|
case "empty":
|
|
return this.finishNode(node, "EmptyTypeAnnotation");
|
|
case "number":
|
|
return this.finishNode(node, "NumberTypeAnnotation");
|
|
case "string":
|
|
return this.finishNode(node, "StringTypeAnnotation");
|
|
case "symbol":
|
|
return this.finishNode(node, "SymbolTypeAnnotation");
|
|
default:
|
|
this.checkNotUnderscore(id.name);
|
|
return this.flowParseGenericType(startLoc, id);
|
|
}
|
|
};
|
|
_proto.flowParsePrimaryType = function flowParsePrimaryType() {
|
|
var startLoc = this.state.startLoc;
|
|
var node = this.startNode();
|
|
var tmp;
|
|
var type;
|
|
var isGroupedType = false;
|
|
var oldNoAnonFunctionType = this.state.noAnonFunctionType;
|
|
switch (this.state.type) {
|
|
case 5:
|
|
return this.flowParseObjectType({
|
|
allowStatic: false,
|
|
allowExact: false,
|
|
allowSpread: true,
|
|
allowProto: false,
|
|
allowInexact: true
|
|
});
|
|
case 6:
|
|
return this.flowParseObjectType({
|
|
allowStatic: false,
|
|
allowExact: true,
|
|
allowSpread: true,
|
|
allowProto: false,
|
|
allowInexact: false
|
|
});
|
|
case 0:
|
|
this.state.noAnonFunctionType = false;
|
|
type = this.flowParseTupleType();
|
|
this.state.noAnonFunctionType = oldNoAnonFunctionType;
|
|
return type;
|
|
case 47:
|
|
node.typeParameters = this.flowParseTypeParameterDeclaration();
|
|
this.expect(10);
|
|
tmp = this.flowParseFunctionTypeParams();
|
|
node.params = tmp.params;
|
|
node.rest = tmp.rest;
|
|
node["this"] = tmp._this;
|
|
this.expect(11);
|
|
this.expect(19);
|
|
node.returnType = this.flowParseType();
|
|
return this.finishNode(node, "FunctionTypeAnnotation");
|
|
case 10:
|
|
this.next();
|
|
if (!this.match(11) && !this.match(21)) {
|
|
if (tokenIsIdentifier(this.state.type) || this.match(78)) {
|
|
var token = this.lookahead().type;
|
|
isGroupedType = token !== 17 && token !== 14;
|
|
} else {
|
|
isGroupedType = true;
|
|
}
|
|
}
|
|
if (isGroupedType) {
|
|
this.state.noAnonFunctionType = false;
|
|
type = this.flowParseType();
|
|
this.state.noAnonFunctionType = oldNoAnonFunctionType;
|
|
if (this.state.noAnonFunctionType || !(this.match(12) || this.match(11) && this.lookahead().type === 19)) {
|
|
this.expect(11);
|
|
return type;
|
|
} else {
|
|
this.eat(12);
|
|
}
|
|
}
|
|
if (type) {
|
|
tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]);
|
|
} else {
|
|
tmp = this.flowParseFunctionTypeParams();
|
|
}
|
|
node.params = tmp.params;
|
|
node.rest = tmp.rest;
|
|
node["this"] = tmp._this;
|
|
this.expect(11);
|
|
this.expect(19);
|
|
node.returnType = this.flowParseType();
|
|
node.typeParameters = null;
|
|
return this.finishNode(node, "FunctionTypeAnnotation");
|
|
case 131:
|
|
return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");
|
|
case 85:
|
|
case 86:
|
|
node.value = this.match(85);
|
|
this.next();
|
|
return this.finishNode(node, "BooleanLiteralTypeAnnotation");
|
|
case 53:
|
|
if (this.state.value === "-") {
|
|
this.next();
|
|
if (this.match(132)) {
|
|
return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node);
|
|
}
|
|
if (this.match(133)) {
|
|
return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node);
|
|
}
|
|
throw this.raise(FlowErrors.UnexpectedSubtractionOperand, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
this.unexpected();
|
|
return;
|
|
case 132:
|
|
return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");
|
|
case 133:
|
|
return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation");
|
|
case 88:
|
|
this.next();
|
|
return this.finishNode(node, "VoidTypeAnnotation");
|
|
case 84:
|
|
this.next();
|
|
return this.finishNode(node, "NullLiteralTypeAnnotation");
|
|
case 78:
|
|
this.next();
|
|
return this.finishNode(node, "ThisTypeAnnotation");
|
|
case 55:
|
|
this.next();
|
|
return this.finishNode(node, "ExistsTypeAnnotation");
|
|
case 87:
|
|
return this.flowParseTypeofType();
|
|
default:
|
|
if (tokenIsKeyword(this.state.type)) {
|
|
var label = tokenLabelName(this.state.type);
|
|
this.next();
|
|
return _superClass.prototype.createIdentifier.call(this, node, label);
|
|
} else if (tokenIsIdentifier(this.state.type)) {
|
|
if (this.isContextual(127)) {
|
|
return this.flowParseInterfaceType();
|
|
}
|
|
return this.flowIdentToTypeAnnotation(startLoc, node, this.parseIdentifier());
|
|
}
|
|
}
|
|
this.unexpected();
|
|
};
|
|
_proto.flowParsePostfixType = function flowParsePostfixType() {
|
|
var startLoc = this.state.startLoc;
|
|
var type = this.flowParsePrimaryType();
|
|
var seenOptionalIndexedAccess = false;
|
|
while ((this.match(0) || this.match(18)) && !this.canInsertSemicolon()) {
|
|
var node = this.startNodeAt(startLoc);
|
|
var optional = this.eat(18);
|
|
seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional;
|
|
this.expect(0);
|
|
if (!optional && this.match(3)) {
|
|
node.elementType = type;
|
|
this.next();
|
|
type = this.finishNode(node, "ArrayTypeAnnotation");
|
|
} else {
|
|
node.objectType = type;
|
|
node.indexType = this.flowParseType();
|
|
this.expect(3);
|
|
if (seenOptionalIndexedAccess) {
|
|
node.optional = optional;
|
|
type = this.finishNode(node, "OptionalIndexedAccessType");
|
|
} else {
|
|
type = this.finishNode(node, "IndexedAccessType");
|
|
}
|
|
}
|
|
}
|
|
return type;
|
|
};
|
|
_proto.flowParsePrefixType = function flowParsePrefixType() {
|
|
var node = this.startNode();
|
|
if (this.eat(17)) {
|
|
node.typeAnnotation = this.flowParsePrefixType();
|
|
return this.finishNode(node, "NullableTypeAnnotation");
|
|
} else {
|
|
return this.flowParsePostfixType();
|
|
}
|
|
};
|
|
_proto.flowParseAnonFunctionWithoutParens = function flowParseAnonFunctionWithoutParens() {
|
|
var param = this.flowParsePrefixType();
|
|
if (!this.state.noAnonFunctionType && this.eat(19)) {
|
|
var node = this.startNodeAt(param.loc.start);
|
|
node.params = [this.reinterpretTypeAsFunctionTypeParam(param)];
|
|
node.rest = null;
|
|
node["this"] = null;
|
|
node.returnType = this.flowParseType();
|
|
node.typeParameters = null;
|
|
return this.finishNode(node, "FunctionTypeAnnotation");
|
|
}
|
|
return param;
|
|
};
|
|
_proto.flowParseIntersectionType = function flowParseIntersectionType() {
|
|
var node = this.startNode();
|
|
this.eat(45);
|
|
var type = this.flowParseAnonFunctionWithoutParens();
|
|
node.types = [type];
|
|
while (this.eat(45)) {
|
|
node.types.push(this.flowParseAnonFunctionWithoutParens());
|
|
}
|
|
return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation");
|
|
};
|
|
_proto.flowParseUnionType = function flowParseUnionType() {
|
|
var node = this.startNode();
|
|
this.eat(43);
|
|
var type = this.flowParseIntersectionType();
|
|
node.types = [type];
|
|
while (this.eat(43)) {
|
|
node.types.push(this.flowParseIntersectionType());
|
|
}
|
|
return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation");
|
|
};
|
|
_proto.flowParseType = function flowParseType() {
|
|
var oldInType = this.state.inType;
|
|
this.state.inType = true;
|
|
var type = this.flowParseUnionType();
|
|
this.state.inType = oldInType;
|
|
return type;
|
|
};
|
|
_proto.flowParseTypeOrImplicitInstantiation = function flowParseTypeOrImplicitInstantiation() {
|
|
if (this.state.type === 130 && this.state.value === "_") {
|
|
var startLoc = this.state.startLoc;
|
|
var node = this.parseIdentifier();
|
|
return this.flowParseGenericType(startLoc, node);
|
|
} else {
|
|
return this.flowParseType();
|
|
}
|
|
};
|
|
_proto.flowParseTypeAnnotation = function flowParseTypeAnnotation() {
|
|
var node = this.startNode();
|
|
node.typeAnnotation = this.flowParseTypeInitialiser();
|
|
return this.finishNode(node, "TypeAnnotation");
|
|
};
|
|
_proto.flowParseTypeAnnotatableIdentifier = function flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) {
|
|
var ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();
|
|
if (this.match(14)) {
|
|
ident.typeAnnotation = this.flowParseTypeAnnotation();
|
|
this.resetEndLocation(ident);
|
|
}
|
|
return ident;
|
|
};
|
|
_proto.typeCastToParameter = function typeCastToParameter(node) {
|
|
node.expression.typeAnnotation = node.typeAnnotation;
|
|
this.resetEndLocation(node.expression, node.typeAnnotation.loc.end);
|
|
return node.expression;
|
|
};
|
|
_proto.flowParseVariance = function flowParseVariance() {
|
|
var variance = null;
|
|
if (this.match(53)) {
|
|
variance = this.startNode();
|
|
if (this.state.value === "+") {
|
|
variance.kind = "plus";
|
|
} else {
|
|
variance.kind = "minus";
|
|
}
|
|
this.next();
|
|
return this.finishNode(variance, "Variance");
|
|
}
|
|
return variance;
|
|
};
|
|
_proto.parseFunctionBody = function parseFunctionBody(node, allowExpressionBody, isMethod) {
|
|
var _this4 = this;
|
|
if (isMethod === void 0) {
|
|
isMethod = false;
|
|
}
|
|
if (allowExpressionBody) {
|
|
this.forwardNoArrowParamsConversionAt(node, function () {
|
|
return _superClass.prototype.parseFunctionBody.call(_this4, node, true, isMethod);
|
|
});
|
|
return;
|
|
}
|
|
_superClass.prototype.parseFunctionBody.call(this, node, false, isMethod);
|
|
};
|
|
_proto.parseFunctionBodyAndFinish = function parseFunctionBodyAndFinish(node, type, isMethod) {
|
|
if (isMethod === void 0) {
|
|
isMethod = false;
|
|
}
|
|
if (this.match(14)) {
|
|
var typeNode = this.startNode();
|
|
var _this$flowParseTypeAn2 = this.flowParseTypeAndPredicateInitialiser();
|
|
typeNode.typeAnnotation = _this$flowParseTypeAn2[0];
|
|
node.predicate = _this$flowParseTypeAn2[1];
|
|
node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null;
|
|
}
|
|
return _superClass.prototype.parseFunctionBodyAndFinish.call(this, node, type, isMethod);
|
|
};
|
|
_proto.parseStatementLike = function parseStatementLike(flags) {
|
|
if (this.state.strict && this.isContextual(127)) {
|
|
var lookahead = this.lookahead();
|
|
if (tokenIsKeywordOrIdentifier(lookahead.type)) {
|
|
var node = this.startNode();
|
|
this.next();
|
|
return this.flowParseInterface(node);
|
|
}
|
|
} else if (this.shouldParseEnums() && this.isContextual(124)) {
|
|
var _node = this.startNode();
|
|
this.next();
|
|
return this.flowParseEnumDeclaration(_node);
|
|
}
|
|
var stmt = _superClass.prototype.parseStatementLike.call(this, flags);
|
|
if (this.flowPragma === undefined && !this.isValidDirective(stmt)) {
|
|
this.flowPragma = null;
|
|
}
|
|
return stmt;
|
|
};
|
|
_proto.parseExpressionStatement = function parseExpressionStatement(node, expr, decorators) {
|
|
if (expr.type === "Identifier") {
|
|
if (expr.name === "declare") {
|
|
if (this.match(80) || tokenIsIdentifier(this.state.type) || this.match(68) || this.match(74) || this.match(82)) {
|
|
return this.flowParseDeclare(node);
|
|
}
|
|
} else if (tokenIsIdentifier(this.state.type)) {
|
|
if (expr.name === "interface") {
|
|
return this.flowParseInterface(node);
|
|
} else if (expr.name === "type") {
|
|
return this.flowParseTypeAlias(node);
|
|
} else if (expr.name === "opaque") {
|
|
return this.flowParseOpaqueType(node, false);
|
|
}
|
|
}
|
|
}
|
|
return _superClass.prototype.parseExpressionStatement.call(this, node, expr, decorators);
|
|
};
|
|
_proto.shouldParseExportDeclaration = function shouldParseExportDeclaration() {
|
|
var type = this.state.type;
|
|
if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 124) {
|
|
return !this.state.containsEsc;
|
|
}
|
|
return _superClass.prototype.shouldParseExportDeclaration.call(this);
|
|
};
|
|
_proto.isExportDefaultSpecifier = function isExportDefaultSpecifier() {
|
|
var type = this.state.type;
|
|
if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 124) {
|
|
return this.state.containsEsc;
|
|
}
|
|
return _superClass.prototype.isExportDefaultSpecifier.call(this);
|
|
};
|
|
_proto.parseExportDefaultExpression = function parseExportDefaultExpression() {
|
|
if (this.shouldParseEnums() && this.isContextual(124)) {
|
|
var node = this.startNode();
|
|
this.next();
|
|
return this.flowParseEnumDeclaration(node);
|
|
}
|
|
return _superClass.prototype.parseExportDefaultExpression.call(this);
|
|
};
|
|
_proto.parseConditional = function parseConditional(expr, startLoc, refExpressionErrors) {
|
|
var _this5 = this;
|
|
if (!this.match(17)) return expr;
|
|
if (this.state.maybeInArrowParameters) {
|
|
var nextCh = this.lookaheadCharCode();
|
|
if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) {
|
|
this.setOptionalParametersError(refExpressionErrors);
|
|
return expr;
|
|
}
|
|
}
|
|
this.expect(17);
|
|
var state = this.state.clone();
|
|
var originalNoArrowAt = this.state.noArrowAt;
|
|
var node = this.startNodeAt(startLoc);
|
|
var _this$tryParseConditi = this.tryParseConditionalConsequent(),
|
|
consequent = _this$tryParseConditi.consequent,
|
|
failed = _this$tryParseConditi.failed;
|
|
var _this$getArrowLikeExp = this.getArrowLikeExpressions(consequent),
|
|
valid = _this$getArrowLikeExp[0],
|
|
invalid = _this$getArrowLikeExp[1];
|
|
if (failed || invalid.length > 0) {
|
|
var noArrowAt = [].concat(originalNoArrowAt);
|
|
if (invalid.length > 0) {
|
|
this.state = state;
|
|
this.state.noArrowAt = noArrowAt;
|
|
for (var i = 0; i < invalid.length; i++) {
|
|
noArrowAt.push(invalid[i].start);
|
|
}
|
|
var _this$tryParseConditi2 = this.tryParseConditionalConsequent();
|
|
consequent = _this$tryParseConditi2.consequent;
|
|
failed = _this$tryParseConditi2.failed;
|
|
var _this$getArrowLikeExp2 = this.getArrowLikeExpressions(consequent);
|
|
valid = _this$getArrowLikeExp2[0];
|
|
invalid = _this$getArrowLikeExp2[1];
|
|
}
|
|
if (failed && valid.length > 1) {
|
|
this.raise(FlowErrors.AmbiguousConditionalArrow, {
|
|
at: state.startLoc
|
|
});
|
|
}
|
|
if (failed && valid.length === 1) {
|
|
this.state = state;
|
|
noArrowAt.push(valid[0].start);
|
|
this.state.noArrowAt = noArrowAt;
|
|
var _this$tryParseConditi3 = this.tryParseConditionalConsequent();
|
|
consequent = _this$tryParseConditi3.consequent;
|
|
failed = _this$tryParseConditi3.failed;
|
|
}
|
|
}
|
|
this.getArrowLikeExpressions(consequent, true);
|
|
this.state.noArrowAt = originalNoArrowAt;
|
|
this.expect(14);
|
|
node.test = expr;
|
|
node.consequent = consequent;
|
|
node.alternate = this.forwardNoArrowParamsConversionAt(node, function () {
|
|
return _this5.parseMaybeAssign(undefined, undefined);
|
|
});
|
|
return this.finishNode(node, "ConditionalExpression");
|
|
};
|
|
_proto.tryParseConditionalConsequent = function tryParseConditionalConsequent() {
|
|
this.state.noArrowParamsConversionAt.push(this.state.start);
|
|
var consequent = this.parseMaybeAssignAllowIn();
|
|
var failed = !this.match(14);
|
|
this.state.noArrowParamsConversionAt.pop();
|
|
return {
|
|
consequent: consequent,
|
|
failed: failed
|
|
};
|
|
};
|
|
_proto.getArrowLikeExpressions = function getArrowLikeExpressions(node, disallowInvalid) {
|
|
var _this6 = this;
|
|
var stack = [node];
|
|
var arrows = [];
|
|
while (stack.length !== 0) {
|
|
var _node2 = stack.pop();
|
|
if (_node2.type === "ArrowFunctionExpression") {
|
|
if (_node2.typeParameters || !_node2.returnType) {
|
|
this.finishArrowValidation(_node2);
|
|
} else {
|
|
arrows.push(_node2);
|
|
}
|
|
stack.push(_node2.body);
|
|
} else if (_node2.type === "ConditionalExpression") {
|
|
stack.push(_node2.consequent);
|
|
stack.push(_node2.alternate);
|
|
}
|
|
}
|
|
if (disallowInvalid) {
|
|
arrows.forEach(function (node) {
|
|
return _this6.finishArrowValidation(node);
|
|
});
|
|
return [arrows, []];
|
|
}
|
|
return partition(arrows, function (node) {
|
|
return node.params.every(function (param) {
|
|
return _this6.isAssignable(param, true);
|
|
});
|
|
});
|
|
};
|
|
_proto.finishArrowValidation = function finishArrowValidation(node) {
|
|
var _node$extra;
|
|
this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingCommaLoc, false);
|
|
this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW);
|
|
_superClass.prototype.checkParams.call(this, node, false, true);
|
|
this.scope.exit();
|
|
};
|
|
_proto.forwardNoArrowParamsConversionAt = function forwardNoArrowParamsConversionAt(node, parse) {
|
|
var result;
|
|
if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {
|
|
this.state.noArrowParamsConversionAt.push(this.state.start);
|
|
result = parse();
|
|
this.state.noArrowParamsConversionAt.pop();
|
|
} else {
|
|
result = parse();
|
|
}
|
|
return result;
|
|
};
|
|
_proto.parseParenItem = function parseParenItem(node, startLoc) {
|
|
node = _superClass.prototype.parseParenItem.call(this, node, startLoc);
|
|
if (this.eat(17)) {
|
|
node.optional = true;
|
|
this.resetEndLocation(node);
|
|
}
|
|
if (this.match(14)) {
|
|
var typeCastNode = this.startNodeAt(startLoc);
|
|
typeCastNode.expression = node;
|
|
typeCastNode.typeAnnotation = this.flowParseTypeAnnotation();
|
|
return this.finishNode(typeCastNode, "TypeCastExpression");
|
|
}
|
|
return node;
|
|
};
|
|
_proto.assertModuleNodeAllowed = function assertModuleNodeAllowed(node) {
|
|
if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") {
|
|
return;
|
|
}
|
|
_superClass.prototype.assertModuleNodeAllowed.call(this, node);
|
|
};
|
|
_proto.parseExport = function parseExport(node, decorators) {
|
|
var decl = _superClass.prototype.parseExport.call(this, node, decorators);
|
|
if (decl.type === "ExportNamedDeclaration" || decl.type === "ExportAllDeclaration") {
|
|
decl.exportKind = decl.exportKind || "value";
|
|
}
|
|
return decl;
|
|
};
|
|
_proto.parseExportDeclaration = function parseExportDeclaration(node) {
|
|
if (this.isContextual(128)) {
|
|
node.exportKind = "type";
|
|
var declarationNode = this.startNode();
|
|
this.next();
|
|
if (this.match(5)) {
|
|
node.specifiers = this.parseExportSpecifiers(true);
|
|
_superClass.prototype.parseExportFrom.call(this, node);
|
|
return null;
|
|
} else {
|
|
return this.flowParseTypeAlias(declarationNode);
|
|
}
|
|
} else if (this.isContextual(129)) {
|
|
node.exportKind = "type";
|
|
var _declarationNode = this.startNode();
|
|
this.next();
|
|
return this.flowParseOpaqueType(_declarationNode, false);
|
|
} else if (this.isContextual(127)) {
|
|
node.exportKind = "type";
|
|
var _declarationNode2 = this.startNode();
|
|
this.next();
|
|
return this.flowParseInterface(_declarationNode2);
|
|
} else if (this.shouldParseEnums() && this.isContextual(124)) {
|
|
node.exportKind = "value";
|
|
var _declarationNode3 = this.startNode();
|
|
this.next();
|
|
return this.flowParseEnumDeclaration(_declarationNode3);
|
|
} else {
|
|
return _superClass.prototype.parseExportDeclaration.call(this, node);
|
|
}
|
|
};
|
|
_proto.eatExportStar = function eatExportStar(node) {
|
|
if (_superClass.prototype.eatExportStar.call(this, node)) return true;
|
|
if (this.isContextual(128) && this.lookahead().type === 55) {
|
|
node.exportKind = "type";
|
|
this.next();
|
|
this.next();
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.maybeParseExportNamespaceSpecifier = function maybeParseExportNamespaceSpecifier(node) {
|
|
var startLoc = this.state.startLoc;
|
|
var hasNamespace = _superClass.prototype.maybeParseExportNamespaceSpecifier.call(this, node);
|
|
if (hasNamespace && node.exportKind === "type") {
|
|
this.unexpected(startLoc);
|
|
}
|
|
return hasNamespace;
|
|
};
|
|
_proto.parseClassId = function parseClassId(node, isStatement, optionalId) {
|
|
_superClass.prototype.parseClassId.call(this, node, isStatement, optionalId);
|
|
if (this.match(47)) {
|
|
node.typeParameters = this.flowParseTypeParameterDeclaration();
|
|
}
|
|
};
|
|
_proto.parseClassMember = function parseClassMember(classBody, member, state) {
|
|
var startLoc = this.state.startLoc;
|
|
if (this.isContextual(123)) {
|
|
if (_superClass.prototype.parseClassMemberFromModifier.call(this, classBody, member)) {
|
|
return;
|
|
}
|
|
member.declare = true;
|
|
}
|
|
_superClass.prototype.parseClassMember.call(this, classBody, member, state);
|
|
if (member.declare) {
|
|
if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty" && member.type !== "PropertyDefinition") {
|
|
this.raise(FlowErrors.DeclareClassElement, {
|
|
at: startLoc
|
|
});
|
|
} else if (member.value) {
|
|
this.raise(FlowErrors.DeclareClassFieldInitializer, {
|
|
at: member.value
|
|
});
|
|
}
|
|
}
|
|
};
|
|
_proto.isIterator = function isIterator(word) {
|
|
return word === "iterator" || word === "asyncIterator";
|
|
};
|
|
_proto.readIterator = function readIterator() {
|
|
var word = _superClass.prototype.readWord1.call(this);
|
|
var fullWord = "@@" + word;
|
|
if (!this.isIterator(word) || !this.state.inType) {
|
|
this.raise(Errors.InvalidIdentifier, {
|
|
at: this.state.curPosition(),
|
|
identifierName: fullWord
|
|
});
|
|
}
|
|
this.finishToken(130, fullWord);
|
|
};
|
|
_proto.getTokenFromCode = function getTokenFromCode(code) {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (code === 123 && next === 124) {
|
|
this.finishOp(6, 2);
|
|
} else if (this.state.inType && (code === 62 || code === 60)) {
|
|
this.finishOp(code === 62 ? 48 : 47, 1);
|
|
} else if (this.state.inType && code === 63) {
|
|
if (next === 46) {
|
|
this.finishOp(18, 2);
|
|
} else {
|
|
this.finishOp(17, 1);
|
|
}
|
|
} else if (isIteratorStart(code, next, this.input.charCodeAt(this.state.pos + 2))) {
|
|
this.state.pos += 2;
|
|
this.readIterator();
|
|
} else {
|
|
_superClass.prototype.getTokenFromCode.call(this, code);
|
|
}
|
|
};
|
|
_proto.isAssignable = function isAssignable(node, isBinding) {
|
|
if (node.type === "TypeCastExpression") {
|
|
return this.isAssignable(node.expression, isBinding);
|
|
} else {
|
|
return _superClass.prototype.isAssignable.call(this, node, isBinding);
|
|
}
|
|
};
|
|
_proto.toAssignable = function toAssignable(node, isLHS) {
|
|
if (isLHS === void 0) {
|
|
isLHS = false;
|
|
}
|
|
if (!isLHS && node.type === "AssignmentExpression" && node.left.type === "TypeCastExpression") {
|
|
node.left = this.typeCastToParameter(node.left);
|
|
}
|
|
_superClass.prototype.toAssignable.call(this, node, isLHS);
|
|
};
|
|
_proto.toAssignableList = function toAssignableList(exprList, trailingCommaLoc, isLHS) {
|
|
for (var i = 0; i < exprList.length; i++) {
|
|
var expr = exprList[i];
|
|
if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") {
|
|
exprList[i] = this.typeCastToParameter(expr);
|
|
}
|
|
}
|
|
_superClass.prototype.toAssignableList.call(this, exprList, trailingCommaLoc, isLHS);
|
|
};
|
|
_proto.toReferencedList = function toReferencedList(exprList, isParenthesizedExpr) {
|
|
for (var i = 0; i < exprList.length; i++) {
|
|
var _expr$extra;
|
|
var expr = exprList[i];
|
|
if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) {
|
|
this.raise(FlowErrors.TypeCastInPattern, {
|
|
at: expr.typeAnnotation
|
|
});
|
|
}
|
|
}
|
|
return exprList;
|
|
};
|
|
_proto.parseArrayLike = function parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {
|
|
var node = _superClass.prototype.parseArrayLike.call(this, close, canBePattern, isTuple, refExpressionErrors);
|
|
if (canBePattern && !this.state.maybeInArrowParameters) {
|
|
this.toReferencedList(node.elements);
|
|
}
|
|
return node;
|
|
};
|
|
_proto.isValidLVal = function isValidLVal(type, isParenthesized, binding) {
|
|
return type === "TypeCastExpression" || _superClass.prototype.isValidLVal.call(this, type, isParenthesized, binding);
|
|
};
|
|
_proto.parseClassProperty = function parseClassProperty(node) {
|
|
if (this.match(14)) {
|
|
node.typeAnnotation = this.flowParseTypeAnnotation();
|
|
}
|
|
return _superClass.prototype.parseClassProperty.call(this, node);
|
|
};
|
|
_proto.parseClassPrivateProperty = function parseClassPrivateProperty(node) {
|
|
if (this.match(14)) {
|
|
node.typeAnnotation = this.flowParseTypeAnnotation();
|
|
}
|
|
return _superClass.prototype.parseClassPrivateProperty.call(this, node);
|
|
};
|
|
_proto.isClassMethod = function isClassMethod() {
|
|
return this.match(47) || _superClass.prototype.isClassMethod.call(this);
|
|
};
|
|
_proto.isClassProperty = function isClassProperty() {
|
|
return this.match(14) || _superClass.prototype.isClassProperty.call(this);
|
|
};
|
|
_proto.isNonstaticConstructor = function isNonstaticConstructor(method) {
|
|
return !this.match(14) && _superClass.prototype.isNonstaticConstructor.call(this, method);
|
|
};
|
|
_proto.pushClassMethod = function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
|
|
if (method.variance) {
|
|
this.unexpected(method.variance.loc.start);
|
|
}
|
|
delete method.variance;
|
|
if (this.match(47)) {
|
|
method.typeParameters = this.flowParseTypeParameterDeclaration();
|
|
}
|
|
_superClass.prototype.pushClassMethod.call(this, classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper);
|
|
if (method.params && isConstructor) {
|
|
var params = method.params;
|
|
if (params.length > 0 && this.isThisParam(params[0])) {
|
|
this.raise(FlowErrors.ThisParamBannedInConstructor, {
|
|
at: method
|
|
});
|
|
}
|
|
} else if (method.type === "MethodDefinition" && isConstructor && method.value.params) {
|
|
var _params = method.value.params;
|
|
if (_params.length > 0 && this.isThisParam(_params[0])) {
|
|
this.raise(FlowErrors.ThisParamBannedInConstructor, {
|
|
at: method
|
|
});
|
|
}
|
|
}
|
|
};
|
|
_proto.pushClassPrivateMethod = function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {
|
|
if (method.variance) {
|
|
this.unexpected(method.variance.loc.start);
|
|
}
|
|
delete method.variance;
|
|
if (this.match(47)) {
|
|
method.typeParameters = this.flowParseTypeParameterDeclaration();
|
|
}
|
|
_superClass.prototype.pushClassPrivateMethod.call(this, classBody, method, isGenerator, isAsync);
|
|
};
|
|
_proto.parseClassSuper = function parseClassSuper(node) {
|
|
_superClass.prototype.parseClassSuper.call(this, node);
|
|
if (node.superClass && this.match(47)) {
|
|
node.superTypeParameters = this.flowParseTypeParameterInstantiation();
|
|
}
|
|
if (this.isContextual(111)) {
|
|
this.next();
|
|
var implemented = node["implements"] = [];
|
|
do {
|
|
var _node3 = this.startNode();
|
|
_node3.id = this.flowParseRestrictedIdentifier(true);
|
|
if (this.match(47)) {
|
|
_node3.typeParameters = this.flowParseTypeParameterInstantiation();
|
|
} else {
|
|
_node3.typeParameters = null;
|
|
}
|
|
implemented.push(this.finishNode(_node3, "ClassImplements"));
|
|
} while (this.eat(12));
|
|
}
|
|
};
|
|
_proto.checkGetterSetterParams = function checkGetterSetterParams(method) {
|
|
_superClass.prototype.checkGetterSetterParams.call(this, method);
|
|
var params = this.getObjectOrClassMethodParams(method);
|
|
if (params.length > 0) {
|
|
var param = params[0];
|
|
if (this.isThisParam(param) && method.kind === "get") {
|
|
this.raise(FlowErrors.GetterMayNotHaveThisParam, {
|
|
at: param
|
|
});
|
|
} else if (this.isThisParam(param)) {
|
|
this.raise(FlowErrors.SetterMayNotHaveThisParam, {
|
|
at: param
|
|
});
|
|
}
|
|
}
|
|
};
|
|
_proto.parsePropertyNamePrefixOperator = function parsePropertyNamePrefixOperator(node) {
|
|
node.variance = this.flowParseVariance();
|
|
};
|
|
_proto.parseObjPropValue = function parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {
|
|
if (prop.variance) {
|
|
this.unexpected(prop.variance.loc.start);
|
|
}
|
|
delete prop.variance;
|
|
var typeParameters;
|
|
if (this.match(47) && !isAccessor) {
|
|
typeParameters = this.flowParseTypeParameterDeclaration();
|
|
if (!this.match(10)) this.unexpected();
|
|
}
|
|
var result = _superClass.prototype.parseObjPropValue.call(this, prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors);
|
|
if (typeParameters) {
|
|
(result.value || result).typeParameters = typeParameters;
|
|
}
|
|
return result;
|
|
};
|
|
_proto.parseAssignableListItemTypes = function parseAssignableListItemTypes(param) {
|
|
if (this.eat(17)) {
|
|
if (param.type !== "Identifier") {
|
|
this.raise(FlowErrors.PatternIsOptional, {
|
|
at: param
|
|
});
|
|
}
|
|
if (this.isThisParam(param)) {
|
|
this.raise(FlowErrors.ThisParamMayNotBeOptional, {
|
|
at: param
|
|
});
|
|
}
|
|
param.optional = true;
|
|
}
|
|
if (this.match(14)) {
|
|
param.typeAnnotation = this.flowParseTypeAnnotation();
|
|
} else if (this.isThisParam(param)) {
|
|
this.raise(FlowErrors.ThisParamAnnotationRequired, {
|
|
at: param
|
|
});
|
|
}
|
|
if (this.match(29) && this.isThisParam(param)) {
|
|
this.raise(FlowErrors.ThisParamNoDefault, {
|
|
at: param
|
|
});
|
|
}
|
|
this.resetEndLocation(param);
|
|
return param;
|
|
};
|
|
_proto.parseMaybeDefault = function parseMaybeDefault(startLoc, left) {
|
|
var node = _superClass.prototype.parseMaybeDefault.call(this, startLoc, left);
|
|
if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) {
|
|
this.raise(FlowErrors.TypeBeforeInitializer, {
|
|
at: node.typeAnnotation
|
|
});
|
|
}
|
|
return node;
|
|
};
|
|
_proto.shouldParseDefaultImport = function shouldParseDefaultImport(node) {
|
|
if (!hasTypeImportKind(node)) {
|
|
return _superClass.prototype.shouldParseDefaultImport.call(this, node);
|
|
}
|
|
return isMaybeDefaultImport(this.state.type);
|
|
};
|
|
_proto.checkImportReflection = function checkImportReflection(node) {
|
|
_superClass.prototype.checkImportReflection.call(this, node);
|
|
if (node.module && node.importKind !== "value") {
|
|
this.raise(FlowErrors.ImportReflectionHasImportType, {
|
|
at: node.specifiers[0].loc.start
|
|
});
|
|
}
|
|
};
|
|
_proto.parseImportSpecifierLocal = function parseImportSpecifierLocal(node, specifier, type) {
|
|
specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier();
|
|
node.specifiers.push(this.finishImportSpecifier(specifier, type));
|
|
};
|
|
_proto.maybeParseDefaultImportSpecifier = function maybeParseDefaultImportSpecifier(node) {
|
|
node.importKind = "value";
|
|
var kind = null;
|
|
if (this.match(87)) {
|
|
kind = "typeof";
|
|
} else if (this.isContextual(128)) {
|
|
kind = "type";
|
|
}
|
|
if (kind) {
|
|
var lh = this.lookahead();
|
|
var type = lh.type;
|
|
if (kind === "type" && type === 55) {
|
|
this.unexpected(null, lh.type);
|
|
}
|
|
if (isMaybeDefaultImport(type) || type === 5 || type === 55) {
|
|
this.next();
|
|
node.importKind = kind;
|
|
}
|
|
}
|
|
return _superClass.prototype.maybeParseDefaultImportSpecifier.call(this, node);
|
|
};
|
|
_proto.parseImportSpecifier = function parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) {
|
|
var firstIdent = specifier.imported;
|
|
var specifierTypeKind = null;
|
|
if (firstIdent.type === "Identifier") {
|
|
if (firstIdent.name === "type") {
|
|
specifierTypeKind = "type";
|
|
} else if (firstIdent.name === "typeof") {
|
|
specifierTypeKind = "typeof";
|
|
}
|
|
}
|
|
var isBinding = false;
|
|
if (this.isContextual(93) && !this.isLookaheadContextual("as")) {
|
|
var as_ident = this.parseIdentifier(true);
|
|
if (specifierTypeKind !== null && !tokenIsKeywordOrIdentifier(this.state.type)) {
|
|
specifier.imported = as_ident;
|
|
specifier.importKind = specifierTypeKind;
|
|
specifier.local = cloneIdentifier(as_ident);
|
|
} else {
|
|
specifier.imported = firstIdent;
|
|
specifier.importKind = null;
|
|
specifier.local = this.parseIdentifier();
|
|
}
|
|
} else {
|
|
if (specifierTypeKind !== null && tokenIsKeywordOrIdentifier(this.state.type)) {
|
|
specifier.imported = this.parseIdentifier(true);
|
|
specifier.importKind = specifierTypeKind;
|
|
} else {
|
|
if (importedIsString) {
|
|
throw this.raise(Errors.ImportBindingIsString, {
|
|
at: specifier,
|
|
importName: firstIdent.value
|
|
});
|
|
}
|
|
specifier.imported = firstIdent;
|
|
specifier.importKind = null;
|
|
}
|
|
if (this.eatContextual(93)) {
|
|
specifier.local = this.parseIdentifier();
|
|
} else {
|
|
isBinding = true;
|
|
specifier.local = cloneIdentifier(specifier.imported);
|
|
}
|
|
}
|
|
var specifierIsTypeImport = hasTypeImportKind(specifier);
|
|
if (isInTypeOnlyImport && specifierIsTypeImport) {
|
|
this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport, {
|
|
at: specifier
|
|
});
|
|
}
|
|
if (isInTypeOnlyImport || specifierIsTypeImport) {
|
|
this.checkReservedType(specifier.local.name, specifier.local.loc.start, true);
|
|
}
|
|
if (isBinding && !isInTypeOnlyImport && !specifierIsTypeImport) {
|
|
this.checkReservedWord(specifier.local.name, specifier.loc.start, true, true);
|
|
}
|
|
return this.finishImportSpecifier(specifier, "ImportSpecifier");
|
|
};
|
|
_proto.parseBindingAtom = function parseBindingAtom() {
|
|
switch (this.state.type) {
|
|
case 78:
|
|
return this.parseIdentifier(true);
|
|
default:
|
|
return _superClass.prototype.parseBindingAtom.call(this);
|
|
}
|
|
};
|
|
_proto.parseFunctionParams = function parseFunctionParams(node, isConstructor) {
|
|
var kind = node.kind;
|
|
if (kind !== "get" && kind !== "set" && this.match(47)) {
|
|
node.typeParameters = this.flowParseTypeParameterDeclaration();
|
|
}
|
|
_superClass.prototype.parseFunctionParams.call(this, node, isConstructor);
|
|
};
|
|
_proto.parseVarId = function parseVarId(decl, kind) {
|
|
_superClass.prototype.parseVarId.call(this, decl, kind);
|
|
if (this.match(14)) {
|
|
decl.id.typeAnnotation = this.flowParseTypeAnnotation();
|
|
this.resetEndLocation(decl.id);
|
|
}
|
|
};
|
|
_proto.parseAsyncArrowFromCallExpression = function parseAsyncArrowFromCallExpression(node, call) {
|
|
if (this.match(14)) {
|
|
var oldNoAnonFunctionType = this.state.noAnonFunctionType;
|
|
this.state.noAnonFunctionType = true;
|
|
node.returnType = this.flowParseTypeAnnotation();
|
|
this.state.noAnonFunctionType = oldNoAnonFunctionType;
|
|
}
|
|
return _superClass.prototype.parseAsyncArrowFromCallExpression.call(this, node, call);
|
|
};
|
|
_proto.shouldParseAsyncArrow = function shouldParseAsyncArrow() {
|
|
return this.match(14) || _superClass.prototype.shouldParseAsyncArrow.call(this);
|
|
};
|
|
_proto.parseMaybeAssign = function parseMaybeAssign(refExpressionErrors, afterLeftParse) {
|
|
var _this7 = this,
|
|
_jsx;
|
|
var state = null;
|
|
var jsx;
|
|
if (this.hasPlugin("jsx") && (this.match(140) || this.match(47))) {
|
|
state = this.state.clone();
|
|
jsx = this.tryParse(function () {
|
|
return _superClass.prototype.parseMaybeAssign.call(_this7, refExpressionErrors, afterLeftParse);
|
|
}, state);
|
|
if (!jsx.error) return jsx.node;
|
|
var context = this.state.context;
|
|
var currentContext = context[context.length - 1];
|
|
if (currentContext === types.j_oTag || currentContext === types.j_expr) {
|
|
context.pop();
|
|
}
|
|
}
|
|
if ((_jsx = jsx) != null && _jsx.error || this.match(47)) {
|
|
var _jsx2, _jsx3;
|
|
state = state || this.state.clone();
|
|
var typeParameters;
|
|
var arrow = this.tryParse(function (abort) {
|
|
var _arrowExpression$extr;
|
|
typeParameters = _this7.flowParseTypeParameterDeclaration();
|
|
var arrowExpression = _this7.forwardNoArrowParamsConversionAt(typeParameters, function () {
|
|
var result = _superClass.prototype.parseMaybeAssign.call(_this7, refExpressionErrors, afterLeftParse);
|
|
_this7.resetStartLocationFromNode(result, typeParameters);
|
|
return result;
|
|
});
|
|
if ((_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) abort();
|
|
var expr = _this7.maybeUnwrapTypeCastExpression(arrowExpression);
|
|
if (expr.type !== "ArrowFunctionExpression") abort();
|
|
expr.typeParameters = typeParameters;
|
|
_this7.resetStartLocationFromNode(expr, typeParameters);
|
|
return arrowExpression;
|
|
}, state);
|
|
var arrowExpression = null;
|
|
if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") {
|
|
if (!arrow.error && !arrow.aborted) {
|
|
if (arrow.node.async) {
|
|
this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction, {
|
|
at: typeParameters
|
|
});
|
|
}
|
|
return arrow.node;
|
|
}
|
|
arrowExpression = arrow.node;
|
|
}
|
|
if ((_jsx2 = jsx) != null && _jsx2.node) {
|
|
this.state = jsx.failState;
|
|
return jsx.node;
|
|
}
|
|
if (arrowExpression) {
|
|
this.state = arrow.failState;
|
|
return arrowExpression;
|
|
}
|
|
if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error;
|
|
if (arrow.thrown) throw arrow.error;
|
|
throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter, {
|
|
at: typeParameters
|
|
});
|
|
}
|
|
return _superClass.prototype.parseMaybeAssign.call(this, refExpressionErrors, afterLeftParse);
|
|
};
|
|
_proto.parseArrow = function parseArrow(node) {
|
|
var _this8 = this;
|
|
if (this.match(14)) {
|
|
var result = this.tryParse(function () {
|
|
var oldNoAnonFunctionType = _this8.state.noAnonFunctionType;
|
|
_this8.state.noAnonFunctionType = true;
|
|
var typeNode = _this8.startNode();
|
|
var _this8$flowParseTypeA = _this8.flowParseTypeAndPredicateInitialiser();
|
|
typeNode.typeAnnotation = _this8$flowParseTypeA[0];
|
|
node.predicate = _this8$flowParseTypeA[1];
|
|
_this8.state.noAnonFunctionType = oldNoAnonFunctionType;
|
|
if (_this8.canInsertSemicolon()) _this8.unexpected();
|
|
if (!_this8.match(19)) _this8.unexpected();
|
|
return typeNode;
|
|
});
|
|
if (result.thrown) return null;
|
|
if (result.error) this.state = result.failState;
|
|
node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null;
|
|
}
|
|
return _superClass.prototype.parseArrow.call(this, node);
|
|
};
|
|
_proto.shouldParseArrow = function shouldParseArrow(params) {
|
|
return this.match(14) || _superClass.prototype.shouldParseArrow.call(this, params);
|
|
};
|
|
_proto.setArrowFunctionParameters = function setArrowFunctionParameters(node, params) {
|
|
if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {
|
|
node.params = params;
|
|
} else {
|
|
_superClass.prototype.setArrowFunctionParameters.call(this, node, params);
|
|
}
|
|
};
|
|
_proto.checkParams = function checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged) {
|
|
if (strictModeChanged === void 0) {
|
|
strictModeChanged = true;
|
|
}
|
|
if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {
|
|
return;
|
|
}
|
|
for (var i = 0; i < node.params.length; i++) {
|
|
if (this.isThisParam(node.params[i]) && i > 0) {
|
|
this.raise(FlowErrors.ThisParamMustBeFirst, {
|
|
at: node.params[i]
|
|
});
|
|
}
|
|
}
|
|
_superClass.prototype.checkParams.call(this, node, allowDuplicates, isArrowFunction, strictModeChanged);
|
|
};
|
|
_proto.parseParenAndDistinguishExpression = function parseParenAndDistinguishExpression(canBeArrow) {
|
|
return _superClass.prototype.parseParenAndDistinguishExpression.call(this, canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1);
|
|
};
|
|
_proto.parseSubscripts = function parseSubscripts(base, startLoc, noCalls) {
|
|
var _this9 = this;
|
|
if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startLoc.index) !== -1) {
|
|
this.next();
|
|
var node = this.startNodeAt(startLoc);
|
|
node.callee = base;
|
|
node.arguments = _superClass.prototype.parseCallExpressionArguments.call(this, 11, false);
|
|
base = this.finishNode(node, "CallExpression");
|
|
} else if (base.type === "Identifier" && base.name === "async" && this.match(47)) {
|
|
var state = this.state.clone();
|
|
var arrow = this.tryParse(function (abort) {
|
|
return _this9.parseAsyncArrowWithTypeParameters(startLoc) || abort();
|
|
}, state);
|
|
if (!arrow.error && !arrow.aborted) return arrow.node;
|
|
var result = this.tryParse(function () {
|
|
return _superClass.prototype.parseSubscripts.call(_this9, base, startLoc, noCalls);
|
|
}, state);
|
|
if (result.node && !result.error) return result.node;
|
|
if (arrow.node) {
|
|
this.state = arrow.failState;
|
|
return arrow.node;
|
|
}
|
|
if (result.node) {
|
|
this.state = result.failState;
|
|
return result.node;
|
|
}
|
|
throw arrow.error || result.error;
|
|
}
|
|
return _superClass.prototype.parseSubscripts.call(this, base, startLoc, noCalls);
|
|
};
|
|
_proto.parseSubscript = function parseSubscript(base, startLoc, noCalls, subscriptState) {
|
|
var _this10 = this;
|
|
if (this.match(18) && this.isLookaheadToken_lt()) {
|
|
subscriptState.optionalChainMember = true;
|
|
if (noCalls) {
|
|
subscriptState.stop = true;
|
|
return base;
|
|
}
|
|
this.next();
|
|
var node = this.startNodeAt(startLoc);
|
|
node.callee = base;
|
|
node.typeArguments = this.flowParseTypeParameterInstantiation();
|
|
this.expect(10);
|
|
node.arguments = this.parseCallExpressionArguments(11, false);
|
|
node.optional = true;
|
|
return this.finishCallExpression(node, true);
|
|
} else if (!noCalls && this.shouldParseTypes() && this.match(47)) {
|
|
var _node4 = this.startNodeAt(startLoc);
|
|
_node4.callee = base;
|
|
var result = this.tryParse(function () {
|
|
_node4.typeArguments = _this10.flowParseTypeParameterInstantiationCallOrNew();
|
|
_this10.expect(10);
|
|
_node4.arguments = _superClass.prototype.parseCallExpressionArguments.call(_this10, 11, false);
|
|
if (subscriptState.optionalChainMember) {
|
|
_node4.optional = false;
|
|
}
|
|
return _this10.finishCallExpression(_node4, subscriptState.optionalChainMember);
|
|
});
|
|
if (result.node) {
|
|
if (result.error) this.state = result.failState;
|
|
return result.node;
|
|
}
|
|
}
|
|
return _superClass.prototype.parseSubscript.call(this, base, startLoc, noCalls, subscriptState);
|
|
};
|
|
_proto.parseNewCallee = function parseNewCallee(node) {
|
|
var _this11 = this;
|
|
_superClass.prototype.parseNewCallee.call(this, node);
|
|
var targs = null;
|
|
if (this.shouldParseTypes() && this.match(47)) {
|
|
targs = this.tryParse(function () {
|
|
return _this11.flowParseTypeParameterInstantiationCallOrNew();
|
|
}).node;
|
|
}
|
|
node.typeArguments = targs;
|
|
};
|
|
_proto.parseAsyncArrowWithTypeParameters = function parseAsyncArrowWithTypeParameters(startLoc) {
|
|
var node = this.startNodeAt(startLoc);
|
|
this.parseFunctionParams(node, false);
|
|
if (!this.parseArrow(node)) return;
|
|
return _superClass.prototype.parseArrowExpression.call(this, node, undefined, true);
|
|
};
|
|
_proto.readToken_mult_modulo = function readToken_mult_modulo(code) {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (code === 42 && next === 47 && this.state.hasFlowComment) {
|
|
this.state.hasFlowComment = false;
|
|
this.state.pos += 2;
|
|
this.nextToken();
|
|
return;
|
|
}
|
|
_superClass.prototype.readToken_mult_modulo.call(this, code);
|
|
};
|
|
_proto.readToken_pipe_amp = function readToken_pipe_amp(code) {
|
|
var next = this.input.charCodeAt(this.state.pos + 1);
|
|
if (code === 124 && next === 125) {
|
|
this.finishOp(9, 2);
|
|
return;
|
|
}
|
|
_superClass.prototype.readToken_pipe_amp.call(this, code);
|
|
};
|
|
_proto.parseTopLevel = function parseTopLevel(file, program) {
|
|
var fileNode = _superClass.prototype.parseTopLevel.call(this, file, program);
|
|
if (this.state.hasFlowComment) {
|
|
this.raise(FlowErrors.UnterminatedFlowComment, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
return fileNode;
|
|
};
|
|
_proto.skipBlockComment = function skipBlockComment() {
|
|
if (this.hasPlugin("flowComments") && this.skipFlowComment()) {
|
|
if (this.state.hasFlowComment) {
|
|
throw this.raise(FlowErrors.NestedFlowComment, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
this.hasFlowCommentCompletion();
|
|
var commentSkip = this.skipFlowComment();
|
|
if (commentSkip) {
|
|
this.state.pos += commentSkip;
|
|
this.state.hasFlowComment = true;
|
|
}
|
|
return;
|
|
}
|
|
return _superClass.prototype.skipBlockComment.call(this, this.state.hasFlowComment ? "*-/" : "*/");
|
|
};
|
|
_proto.skipFlowComment = function skipFlowComment() {
|
|
var pos = this.state.pos;
|
|
var shiftToFirstNonWhiteSpace = 2;
|
|
while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) {
|
|
shiftToFirstNonWhiteSpace++;
|
|
}
|
|
var ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos);
|
|
var ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1);
|
|
if (ch2 === 58 && ch3 === 58) {
|
|
return shiftToFirstNonWhiteSpace + 2;
|
|
}
|
|
if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") {
|
|
return shiftToFirstNonWhiteSpace + 12;
|
|
}
|
|
if (ch2 === 58 && ch3 !== 58) {
|
|
return shiftToFirstNonWhiteSpace;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.hasFlowCommentCompletion = function hasFlowCommentCompletion() {
|
|
var end = this.input.indexOf("*/", this.state.pos);
|
|
if (end === -1) {
|
|
throw this.raise(Errors.UnterminatedComment, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
};
|
|
_proto.flowEnumErrorBooleanMemberNotInitialized = function flowEnumErrorBooleanMemberNotInitialized(loc, _ref16) {
|
|
var enumName = _ref16.enumName,
|
|
memberName = _ref16.memberName;
|
|
this.raise(FlowErrors.EnumBooleanMemberNotInitialized, {
|
|
at: loc,
|
|
memberName: memberName,
|
|
enumName: enumName
|
|
});
|
|
};
|
|
_proto.flowEnumErrorInvalidMemberInitializer = function flowEnumErrorInvalidMemberInitializer(loc, enumContext) {
|
|
return this.raise(!enumContext.explicitType ? FlowErrors.EnumInvalidMemberInitializerUnknownType : enumContext.explicitType === "symbol" ? FlowErrors.EnumInvalidMemberInitializerSymbolType : FlowErrors.EnumInvalidMemberInitializerPrimaryType, Object.assign({
|
|
at: loc
|
|
}, enumContext));
|
|
};
|
|
_proto.flowEnumErrorNumberMemberNotInitialized = function flowEnumErrorNumberMemberNotInitialized(loc, _ref17) {
|
|
var enumName = _ref17.enumName,
|
|
memberName = _ref17.memberName;
|
|
this.raise(FlowErrors.EnumNumberMemberNotInitialized, {
|
|
at: loc,
|
|
enumName: enumName,
|
|
memberName: memberName
|
|
});
|
|
};
|
|
_proto.flowEnumErrorStringMemberInconsistentlyInitailized = function flowEnumErrorStringMemberInconsistentlyInitailized(node, _ref18) {
|
|
var enumName = _ref18.enumName;
|
|
this.raise(FlowErrors.EnumStringMemberInconsistentlyInitailized, {
|
|
at: node,
|
|
enumName: enumName
|
|
});
|
|
};
|
|
_proto.flowEnumMemberInit = function flowEnumMemberInit() {
|
|
var _this12 = this;
|
|
var startLoc = this.state.startLoc;
|
|
var endOfInit = function endOfInit() {
|
|
return _this12.match(12) || _this12.match(8);
|
|
};
|
|
switch (this.state.type) {
|
|
case 132:
|
|
{
|
|
var literal = this.parseNumericLiteral(this.state.value);
|
|
if (endOfInit()) {
|
|
return {
|
|
type: "number",
|
|
loc: literal.loc.start,
|
|
value: literal
|
|
};
|
|
}
|
|
return {
|
|
type: "invalid",
|
|
loc: startLoc
|
|
};
|
|
}
|
|
case 131:
|
|
{
|
|
var _literal = this.parseStringLiteral(this.state.value);
|
|
if (endOfInit()) {
|
|
return {
|
|
type: "string",
|
|
loc: _literal.loc.start,
|
|
value: _literal
|
|
};
|
|
}
|
|
return {
|
|
type: "invalid",
|
|
loc: startLoc
|
|
};
|
|
}
|
|
case 85:
|
|
case 86:
|
|
{
|
|
var _literal2 = this.parseBooleanLiteral(this.match(85));
|
|
if (endOfInit()) {
|
|
return {
|
|
type: "boolean",
|
|
loc: _literal2.loc.start,
|
|
value: _literal2
|
|
};
|
|
}
|
|
return {
|
|
type: "invalid",
|
|
loc: startLoc
|
|
};
|
|
}
|
|
default:
|
|
return {
|
|
type: "invalid",
|
|
loc: startLoc
|
|
};
|
|
}
|
|
};
|
|
_proto.flowEnumMemberRaw = function flowEnumMemberRaw() {
|
|
var loc = this.state.startLoc;
|
|
var id = this.parseIdentifier(true);
|
|
var init = this.eat(29) ? this.flowEnumMemberInit() : {
|
|
type: "none",
|
|
loc: loc
|
|
};
|
|
return {
|
|
id: id,
|
|
init: init
|
|
};
|
|
};
|
|
_proto.flowEnumCheckExplicitTypeMismatch = function flowEnumCheckExplicitTypeMismatch(loc, context, expectedType) {
|
|
var explicitType = context.explicitType;
|
|
if (explicitType === null) {
|
|
return;
|
|
}
|
|
if (explicitType !== expectedType) {
|
|
this.flowEnumErrorInvalidMemberInitializer(loc, context);
|
|
}
|
|
};
|
|
_proto.flowEnumMembers = function flowEnumMembers(_ref19) {
|
|
var enumName = _ref19.enumName,
|
|
explicitType = _ref19.explicitType;
|
|
var seenNames = new Set();
|
|
var members = {
|
|
booleanMembers: [],
|
|
numberMembers: [],
|
|
stringMembers: [],
|
|
defaultedMembers: []
|
|
};
|
|
var hasUnknownMembers = false;
|
|
while (!this.match(8)) {
|
|
if (this.eat(21)) {
|
|
hasUnknownMembers = true;
|
|
break;
|
|
}
|
|
var memberNode = this.startNode();
|
|
var _this$flowEnumMemberR = this.flowEnumMemberRaw(),
|
|
id = _this$flowEnumMemberR.id,
|
|
init = _this$flowEnumMemberR.init;
|
|
var memberName = id.name;
|
|
if (memberName === "") {
|
|
continue;
|
|
}
|
|
if (/^[a-z]/.test(memberName)) {
|
|
this.raise(FlowErrors.EnumInvalidMemberName, {
|
|
at: id,
|
|
memberName: memberName,
|
|
suggestion: memberName[0].toUpperCase() + memberName.slice(1),
|
|
enumName: enumName
|
|
});
|
|
}
|
|
if (seenNames.has(memberName)) {
|
|
this.raise(FlowErrors.EnumDuplicateMemberName, {
|
|
at: id,
|
|
memberName: memberName,
|
|
enumName: enumName
|
|
});
|
|
}
|
|
seenNames.add(memberName);
|
|
var context = {
|
|
enumName: enumName,
|
|
explicitType: explicitType,
|
|
memberName: memberName
|
|
};
|
|
memberNode.id = id;
|
|
switch (init.type) {
|
|
case "boolean":
|
|
{
|
|
this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "boolean");
|
|
memberNode.init = init.value;
|
|
members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember"));
|
|
break;
|
|
}
|
|
case "number":
|
|
{
|
|
this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "number");
|
|
memberNode.init = init.value;
|
|
members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember"));
|
|
break;
|
|
}
|
|
case "string":
|
|
{
|
|
this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "string");
|
|
memberNode.init = init.value;
|
|
members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember"));
|
|
break;
|
|
}
|
|
case "invalid":
|
|
{
|
|
throw this.flowEnumErrorInvalidMemberInitializer(init.loc, context);
|
|
}
|
|
case "none":
|
|
{
|
|
switch (explicitType) {
|
|
case "boolean":
|
|
this.flowEnumErrorBooleanMemberNotInitialized(init.loc, context);
|
|
break;
|
|
case "number":
|
|
this.flowEnumErrorNumberMemberNotInitialized(init.loc, context);
|
|
break;
|
|
default:
|
|
members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember"));
|
|
}
|
|
}
|
|
}
|
|
if (!this.match(8)) {
|
|
this.expect(12);
|
|
}
|
|
}
|
|
return {
|
|
members: members,
|
|
hasUnknownMembers: hasUnknownMembers
|
|
};
|
|
};
|
|
_proto.flowEnumStringMembers = function flowEnumStringMembers(initializedMembers, defaultedMembers, _ref20) {
|
|
var enumName = _ref20.enumName;
|
|
if (initializedMembers.length === 0) {
|
|
return defaultedMembers;
|
|
} else if (defaultedMembers.length === 0) {
|
|
return initializedMembers;
|
|
} else if (defaultedMembers.length > initializedMembers.length) {
|
|
for (var _i2 = 0; _i2 < initializedMembers.length; _i2++) {
|
|
var member = initializedMembers[_i2];
|
|
this.flowEnumErrorStringMemberInconsistentlyInitailized(member, {
|
|
enumName: enumName
|
|
});
|
|
}
|
|
return defaultedMembers;
|
|
} else {
|
|
for (var _i4 = 0; _i4 < defaultedMembers.length; _i4++) {
|
|
var _member = defaultedMembers[_i4];
|
|
this.flowEnumErrorStringMemberInconsistentlyInitailized(_member, {
|
|
enumName: enumName
|
|
});
|
|
}
|
|
return initializedMembers;
|
|
}
|
|
};
|
|
_proto.flowEnumParseExplicitType = function flowEnumParseExplicitType(_ref21) {
|
|
var enumName = _ref21.enumName;
|
|
if (!this.eatContextual(101)) return null;
|
|
if (!tokenIsIdentifier(this.state.type)) {
|
|
throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied, {
|
|
at: this.state.startLoc,
|
|
enumName: enumName
|
|
});
|
|
}
|
|
var value = this.state.value;
|
|
this.next();
|
|
if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") {
|
|
this.raise(FlowErrors.EnumInvalidExplicitType, {
|
|
at: this.state.startLoc,
|
|
enumName: enumName,
|
|
invalidEnumType: value
|
|
});
|
|
}
|
|
return value;
|
|
};
|
|
_proto.flowEnumBody = function flowEnumBody(node, id) {
|
|
var _this13 = this;
|
|
var enumName = id.name;
|
|
var nameLoc = id.loc.start;
|
|
var explicitType = this.flowEnumParseExplicitType({
|
|
enumName: enumName
|
|
});
|
|
this.expect(5);
|
|
var _this$flowEnumMembers = this.flowEnumMembers({
|
|
enumName: enumName,
|
|
explicitType: explicitType
|
|
}),
|
|
members = _this$flowEnumMembers.members,
|
|
hasUnknownMembers = _this$flowEnumMembers.hasUnknownMembers;
|
|
node.hasUnknownMembers = hasUnknownMembers;
|
|
switch (explicitType) {
|
|
case "boolean":
|
|
node.explicitType = true;
|
|
node.members = members.booleanMembers;
|
|
this.expect(8);
|
|
return this.finishNode(node, "EnumBooleanBody");
|
|
case "number":
|
|
node.explicitType = true;
|
|
node.members = members.numberMembers;
|
|
this.expect(8);
|
|
return this.finishNode(node, "EnumNumberBody");
|
|
case "string":
|
|
node.explicitType = true;
|
|
node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, {
|
|
enumName: enumName
|
|
});
|
|
this.expect(8);
|
|
return this.finishNode(node, "EnumStringBody");
|
|
case "symbol":
|
|
node.members = members.defaultedMembers;
|
|
this.expect(8);
|
|
return this.finishNode(node, "EnumSymbolBody");
|
|
default:
|
|
{
|
|
var empty = function empty() {
|
|
node.members = [];
|
|
_this13.expect(8);
|
|
return _this13.finishNode(node, "EnumStringBody");
|
|
};
|
|
node.explicitType = false;
|
|
var boolsLen = members.booleanMembers.length;
|
|
var numsLen = members.numberMembers.length;
|
|
var strsLen = members.stringMembers.length;
|
|
var defaultedLen = members.defaultedMembers.length;
|
|
if (!boolsLen && !numsLen && !strsLen && !defaultedLen) {
|
|
return empty();
|
|
} else if (!boolsLen && !numsLen) {
|
|
node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, {
|
|
enumName: enumName
|
|
});
|
|
this.expect(8);
|
|
return this.finishNode(node, "EnumStringBody");
|
|
} else if (!numsLen && !strsLen && boolsLen >= defaultedLen) {
|
|
for (var _i6 = 0, _members$defaultedMem2 = members.defaultedMembers; _i6 < _members$defaultedMem2.length; _i6++) {
|
|
var member = _members$defaultedMem2[_i6];
|
|
this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start, {
|
|
enumName: enumName,
|
|
memberName: member.id.name
|
|
});
|
|
}
|
|
node.members = members.booleanMembers;
|
|
this.expect(8);
|
|
return this.finishNode(node, "EnumBooleanBody");
|
|
} else if (!boolsLen && !strsLen && numsLen >= defaultedLen) {
|
|
for (var _i8 = 0, _members$defaultedMem4 = members.defaultedMembers; _i8 < _members$defaultedMem4.length; _i8++) {
|
|
var _member2 = _members$defaultedMem4[_i8];
|
|
this.flowEnumErrorNumberMemberNotInitialized(_member2.loc.start, {
|
|
enumName: enumName,
|
|
memberName: _member2.id.name
|
|
});
|
|
}
|
|
node.members = members.numberMembers;
|
|
this.expect(8);
|
|
return this.finishNode(node, "EnumNumberBody");
|
|
} else {
|
|
this.raise(FlowErrors.EnumInconsistentMemberValues, {
|
|
at: nameLoc,
|
|
enumName: enumName
|
|
});
|
|
return empty();
|
|
}
|
|
}
|
|
}
|
|
};
|
|
_proto.flowParseEnumDeclaration = function flowParseEnumDeclaration(node) {
|
|
var id = this.parseIdentifier();
|
|
node.id = id;
|
|
node.body = this.flowEnumBody(this.startNode(), id);
|
|
return this.finishNode(node, "EnumDeclaration");
|
|
};
|
|
_proto.isLookaheadToken_lt = function isLookaheadToken_lt() {
|
|
var next = this.nextTokenStart();
|
|
if (this.input.charCodeAt(next) === 60) {
|
|
var afterNext = this.input.charCodeAt(next + 1);
|
|
return afterNext !== 60 && afterNext !== 61;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.maybeUnwrapTypeCastExpression = function maybeUnwrapTypeCastExpression(node) {
|
|
return node.type === "TypeCastExpression" ? node.expression : node;
|
|
};
|
|
return _createClass(FlowParserMixin);
|
|
}(superClass);
|
|
});
|
|
|
|
var entities = {
|
|
__proto__: null,
|
|
quot: "\"",
|
|
amp: "&",
|
|
apos: "'",
|
|
lt: "<",
|
|
gt: ">",
|
|
nbsp: "\xA0",
|
|
iexcl: "\xA1",
|
|
cent: "\xA2",
|
|
pound: "\xA3",
|
|
curren: "\xA4",
|
|
yen: "\xA5",
|
|
brvbar: "\xA6",
|
|
sect: "\xA7",
|
|
uml: "\xA8",
|
|
copy: "\xA9",
|
|
ordf: "\xAA",
|
|
laquo: "\xAB",
|
|
not: "\xAC",
|
|
shy: "\xAD",
|
|
reg: "\xAE",
|
|
macr: "\xAF",
|
|
deg: "\xB0",
|
|
plusmn: "\xB1",
|
|
sup2: "\xB2",
|
|
sup3: "\xB3",
|
|
acute: "\xB4",
|
|
micro: "\xB5",
|
|
para: "\xB6",
|
|
middot: "\xB7",
|
|
cedil: "\xB8",
|
|
sup1: "\xB9",
|
|
ordm: "\xBA",
|
|
raquo: "\xBB",
|
|
frac14: "\xBC",
|
|
frac12: "\xBD",
|
|
frac34: "\xBE",
|
|
iquest: "\xBF",
|
|
Agrave: "\xC0",
|
|
Aacute: "\xC1",
|
|
Acirc: "\xC2",
|
|
Atilde: "\xC3",
|
|
Auml: "\xC4",
|
|
Aring: "\xC5",
|
|
AElig: "\xC6",
|
|
Ccedil: "\xC7",
|
|
Egrave: "\xC8",
|
|
Eacute: "\xC9",
|
|
Ecirc: "\xCA",
|
|
Euml: "\xCB",
|
|
Igrave: "\xCC",
|
|
Iacute: "\xCD",
|
|
Icirc: "\xCE",
|
|
Iuml: "\xCF",
|
|
ETH: "\xD0",
|
|
Ntilde: "\xD1",
|
|
Ograve: "\xD2",
|
|
Oacute: "\xD3",
|
|
Ocirc: "\xD4",
|
|
Otilde: "\xD5",
|
|
Ouml: "\xD6",
|
|
times: "\xD7",
|
|
Oslash: "\xD8",
|
|
Ugrave: "\xD9",
|
|
Uacute: "\xDA",
|
|
Ucirc: "\xDB",
|
|
Uuml: "\xDC",
|
|
Yacute: "\xDD",
|
|
THORN: "\xDE",
|
|
szlig: "\xDF",
|
|
agrave: "\xE0",
|
|
aacute: "\xE1",
|
|
acirc: "\xE2",
|
|
atilde: "\xE3",
|
|
auml: "\xE4",
|
|
aring: "\xE5",
|
|
aelig: "\xE6",
|
|
ccedil: "\xE7",
|
|
egrave: "\xE8",
|
|
eacute: "\xE9",
|
|
ecirc: "\xEA",
|
|
euml: "\xEB",
|
|
igrave: "\xEC",
|
|
iacute: "\xED",
|
|
icirc: "\xEE",
|
|
iuml: "\xEF",
|
|
eth: "\xF0",
|
|
ntilde: "\xF1",
|
|
ograve: "\xF2",
|
|
oacute: "\xF3",
|
|
ocirc: "\xF4",
|
|
otilde: "\xF5",
|
|
ouml: "\xF6",
|
|
divide: "\xF7",
|
|
oslash: "\xF8",
|
|
ugrave: "\xF9",
|
|
uacute: "\xFA",
|
|
ucirc: "\xFB",
|
|
uuml: "\xFC",
|
|
yacute: "\xFD",
|
|
thorn: "\xFE",
|
|
yuml: "\xFF",
|
|
OElig: "\u0152",
|
|
oelig: "\u0153",
|
|
Scaron: "\u0160",
|
|
scaron: "\u0161",
|
|
Yuml: "\u0178",
|
|
fnof: "\u0192",
|
|
circ: "\u02C6",
|
|
tilde: "\u02DC",
|
|
Alpha: "\u0391",
|
|
Beta: "\u0392",
|
|
Gamma: "\u0393",
|
|
Delta: "\u0394",
|
|
Epsilon: "\u0395",
|
|
Zeta: "\u0396",
|
|
Eta: "\u0397",
|
|
Theta: "\u0398",
|
|
Iota: "\u0399",
|
|
Kappa: "\u039A",
|
|
Lambda: "\u039B",
|
|
Mu: "\u039C",
|
|
Nu: "\u039D",
|
|
Xi: "\u039E",
|
|
Omicron: "\u039F",
|
|
Pi: "\u03A0",
|
|
Rho: "\u03A1",
|
|
Sigma: "\u03A3",
|
|
Tau: "\u03A4",
|
|
Upsilon: "\u03A5",
|
|
Phi: "\u03A6",
|
|
Chi: "\u03A7",
|
|
Psi: "\u03A8",
|
|
Omega: "\u03A9",
|
|
alpha: "\u03B1",
|
|
beta: "\u03B2",
|
|
gamma: "\u03B3",
|
|
delta: "\u03B4",
|
|
epsilon: "\u03B5",
|
|
zeta: "\u03B6",
|
|
eta: "\u03B7",
|
|
theta: "\u03B8",
|
|
iota: "\u03B9",
|
|
kappa: "\u03BA",
|
|
lambda: "\u03BB",
|
|
mu: "\u03BC",
|
|
nu: "\u03BD",
|
|
xi: "\u03BE",
|
|
omicron: "\u03BF",
|
|
pi: "\u03C0",
|
|
rho: "\u03C1",
|
|
sigmaf: "\u03C2",
|
|
sigma: "\u03C3",
|
|
tau: "\u03C4",
|
|
upsilon: "\u03C5",
|
|
phi: "\u03C6",
|
|
chi: "\u03C7",
|
|
psi: "\u03C8",
|
|
omega: "\u03C9",
|
|
thetasym: "\u03D1",
|
|
upsih: "\u03D2",
|
|
piv: "\u03D6",
|
|
ensp: "\u2002",
|
|
emsp: "\u2003",
|
|
thinsp: "\u2009",
|
|
zwnj: "\u200C",
|
|
zwj: "\u200D",
|
|
lrm: "\u200E",
|
|
rlm: "\u200F",
|
|
ndash: "\u2013",
|
|
mdash: "\u2014",
|
|
lsquo: "\u2018",
|
|
rsquo: "\u2019",
|
|
sbquo: "\u201A",
|
|
ldquo: "\u201C",
|
|
rdquo: "\u201D",
|
|
bdquo: "\u201E",
|
|
dagger: "\u2020",
|
|
Dagger: "\u2021",
|
|
bull: "\u2022",
|
|
hellip: "\u2026",
|
|
permil: "\u2030",
|
|
prime: "\u2032",
|
|
Prime: "\u2033",
|
|
lsaquo: "\u2039",
|
|
rsaquo: "\u203A",
|
|
oline: "\u203E",
|
|
frasl: "\u2044",
|
|
euro: "\u20AC",
|
|
image: "\u2111",
|
|
weierp: "\u2118",
|
|
real: "\u211C",
|
|
trade: "\u2122",
|
|
alefsym: "\u2135",
|
|
larr: "\u2190",
|
|
uarr: "\u2191",
|
|
rarr: "\u2192",
|
|
darr: "\u2193",
|
|
harr: "\u2194",
|
|
crarr: "\u21B5",
|
|
lArr: "\u21D0",
|
|
uArr: "\u21D1",
|
|
rArr: "\u21D2",
|
|
dArr: "\u21D3",
|
|
hArr: "\u21D4",
|
|
forall: "\u2200",
|
|
part: "\u2202",
|
|
exist: "\u2203",
|
|
empty: "\u2205",
|
|
nabla: "\u2207",
|
|
isin: "\u2208",
|
|
notin: "\u2209",
|
|
ni: "\u220B",
|
|
prod: "\u220F",
|
|
sum: "\u2211",
|
|
minus: "\u2212",
|
|
lowast: "\u2217",
|
|
radic: "\u221A",
|
|
prop: "\u221D",
|
|
infin: "\u221E",
|
|
ang: "\u2220",
|
|
and: "\u2227",
|
|
or: "\u2228",
|
|
cap: "\u2229",
|
|
cup: "\u222A",
|
|
"int": "\u222B",
|
|
there4: "\u2234",
|
|
sim: "\u223C",
|
|
cong: "\u2245",
|
|
asymp: "\u2248",
|
|
ne: "\u2260",
|
|
equiv: "\u2261",
|
|
le: "\u2264",
|
|
ge: "\u2265",
|
|
sub: "\u2282",
|
|
sup: "\u2283",
|
|
nsub: "\u2284",
|
|
sube: "\u2286",
|
|
supe: "\u2287",
|
|
oplus: "\u2295",
|
|
otimes: "\u2297",
|
|
perp: "\u22A5",
|
|
sdot: "\u22C5",
|
|
lceil: "\u2308",
|
|
rceil: "\u2309",
|
|
lfloor: "\u230A",
|
|
rfloor: "\u230B",
|
|
lang: "\u2329",
|
|
rang: "\u232A",
|
|
loz: "\u25CA",
|
|
spades: "\u2660",
|
|
clubs: "\u2663",
|
|
hearts: "\u2665",
|
|
diams: "\u2666"
|
|
};
|
|
|
|
var _templateObject$y;
|
|
var JsxErrors = ParseErrorEnum(_templateObject$y || (_templateObject$y = _taggedTemplateLiteralLoose(["jsx"])))({
|
|
AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.",
|
|
MissingClosingTagElement: function MissingClosingTagElement(_ref) {
|
|
var openingTagName = _ref.openingTagName;
|
|
return "Expected corresponding JSX closing tag for <" + openingTagName + ">.";
|
|
},
|
|
MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.",
|
|
UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",
|
|
UnexpectedToken: function UnexpectedToken(_ref2) {
|
|
var unexpected = _ref2.unexpected,
|
|
HTMLEntity = _ref2.HTMLEntity;
|
|
return "Unexpected token `" + unexpected + "`. Did you mean `" + HTMLEntity + "` or `{'" + unexpected + "'}`?";
|
|
},
|
|
UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.",
|
|
UnterminatedJsxContent: "Unterminated JSX contents.",
|
|
UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"
|
|
});
|
|
function isFragment(object) {
|
|
return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false;
|
|
}
|
|
function getQualifiedJSXName(object) {
|
|
if (object.type === "JSXIdentifier") {
|
|
return object.name;
|
|
}
|
|
if (object.type === "JSXNamespacedName") {
|
|
return object.namespace.name + ":" + object.name.name;
|
|
}
|
|
if (object.type === "JSXMemberExpression") {
|
|
return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property);
|
|
}
|
|
throw new Error("Node had unexpected type: " + object.type);
|
|
}
|
|
var jsx = (function (superClass) {
|
|
return function (_superClass) {
|
|
_inherits(JSXParserMixin, _superClass);
|
|
function JSXParserMixin() {
|
|
return _superClass.apply(this, arguments) || this;
|
|
}
|
|
var _proto = JSXParserMixin.prototype;
|
|
_proto.jsxReadToken = function jsxReadToken() {
|
|
var out = "";
|
|
var chunkStart = this.state.pos;
|
|
for (;;) {
|
|
if (this.state.pos >= this.length) {
|
|
throw this.raise(JsxErrors.UnterminatedJsxContent, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
var ch = this.input.charCodeAt(this.state.pos);
|
|
switch (ch) {
|
|
case 60:
|
|
case 123:
|
|
if (this.state.pos === this.state.start) {
|
|
if (ch === 60 && this.state.canStartJSXElement) {
|
|
++this.state.pos;
|
|
this.finishToken(140);
|
|
} else {
|
|
_superClass.prototype.getTokenFromCode.call(this, ch);
|
|
}
|
|
return;
|
|
}
|
|
out += this.input.slice(chunkStart, this.state.pos);
|
|
this.finishToken(139, out);
|
|
return;
|
|
case 38:
|
|
out += this.input.slice(chunkStart, this.state.pos);
|
|
out += this.jsxReadEntity();
|
|
chunkStart = this.state.pos;
|
|
break;
|
|
case 62:
|
|
case 125:
|
|
default:
|
|
if (isNewLine(ch)) {
|
|
out += this.input.slice(chunkStart, this.state.pos);
|
|
out += this.jsxReadNewLine(true);
|
|
chunkStart = this.state.pos;
|
|
} else {
|
|
++this.state.pos;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
_proto.jsxReadNewLine = function jsxReadNewLine(normalizeCRLF) {
|
|
var ch = this.input.charCodeAt(this.state.pos);
|
|
var out;
|
|
++this.state.pos;
|
|
if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) {
|
|
++this.state.pos;
|
|
out = normalizeCRLF ? "\n" : "\r\n";
|
|
} else {
|
|
out = String.fromCharCode(ch);
|
|
}
|
|
++this.state.curLine;
|
|
this.state.lineStart = this.state.pos;
|
|
return out;
|
|
};
|
|
_proto.jsxReadString = function jsxReadString(quote) {
|
|
var out = "";
|
|
var chunkStart = ++this.state.pos;
|
|
for (;;) {
|
|
if (this.state.pos >= this.length) {
|
|
throw this.raise(Errors.UnterminatedString, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
var ch = this.input.charCodeAt(this.state.pos);
|
|
if (ch === quote) break;
|
|
if (ch === 38) {
|
|
out += this.input.slice(chunkStart, this.state.pos);
|
|
out += this.jsxReadEntity();
|
|
chunkStart = this.state.pos;
|
|
} else if (isNewLine(ch)) {
|
|
out += this.input.slice(chunkStart, this.state.pos);
|
|
out += this.jsxReadNewLine(false);
|
|
chunkStart = this.state.pos;
|
|
} else {
|
|
++this.state.pos;
|
|
}
|
|
}
|
|
out += this.input.slice(chunkStart, this.state.pos++);
|
|
this.finishToken(131, out);
|
|
};
|
|
_proto.jsxReadEntity = function jsxReadEntity() {
|
|
var startPos = ++this.state.pos;
|
|
if (this.codePointAtPos(this.state.pos) === 35) {
|
|
++this.state.pos;
|
|
var radix = 10;
|
|
if (this.codePointAtPos(this.state.pos) === 120) {
|
|
radix = 16;
|
|
++this.state.pos;
|
|
}
|
|
var codePoint = this.readInt(radix, undefined, false, "bail");
|
|
if (codePoint !== null && this.codePointAtPos(this.state.pos) === 59) {
|
|
++this.state.pos;
|
|
return String.fromCodePoint(codePoint);
|
|
}
|
|
} else {
|
|
var count = 0;
|
|
var semi = false;
|
|
while (count++ < 10 && this.state.pos < this.length && !(semi = this.codePointAtPos(this.state.pos) == 59)) {
|
|
++this.state.pos;
|
|
}
|
|
if (semi) {
|
|
var desc = this.input.slice(startPos, this.state.pos);
|
|
var entity = entities[desc];
|
|
++this.state.pos;
|
|
if (entity) {
|
|
return entity;
|
|
}
|
|
}
|
|
}
|
|
this.state.pos = startPos;
|
|
return "&";
|
|
};
|
|
_proto.jsxReadWord = function jsxReadWord() {
|
|
var ch;
|
|
var start = this.state.pos;
|
|
do {
|
|
ch = this.input.charCodeAt(++this.state.pos);
|
|
} while (isIdentifierChar(ch) || ch === 45);
|
|
this.finishToken(138, this.input.slice(start, this.state.pos));
|
|
};
|
|
_proto.jsxParseIdentifier = function jsxParseIdentifier() {
|
|
var node = this.startNode();
|
|
if (this.match(138)) {
|
|
node.name = this.state.value;
|
|
} else if (tokenIsKeyword(this.state.type)) {
|
|
node.name = tokenLabelName(this.state.type);
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
this.next();
|
|
return this.finishNode(node, "JSXIdentifier");
|
|
};
|
|
_proto.jsxParseNamespacedName = function jsxParseNamespacedName() {
|
|
var startLoc = this.state.startLoc;
|
|
var name = this.jsxParseIdentifier();
|
|
if (!this.eat(14)) return name;
|
|
var node = this.startNodeAt(startLoc);
|
|
node.namespace = name;
|
|
node.name = this.jsxParseIdentifier();
|
|
return this.finishNode(node, "JSXNamespacedName");
|
|
};
|
|
_proto.jsxParseElementName = function jsxParseElementName() {
|
|
var startLoc = this.state.startLoc;
|
|
var node = this.jsxParseNamespacedName();
|
|
if (node.type === "JSXNamespacedName") {
|
|
return node;
|
|
}
|
|
while (this.eat(16)) {
|
|
var newNode = this.startNodeAt(startLoc);
|
|
newNode.object = node;
|
|
newNode.property = this.jsxParseIdentifier();
|
|
node = this.finishNode(newNode, "JSXMemberExpression");
|
|
}
|
|
return node;
|
|
};
|
|
_proto.jsxParseAttributeValue = function jsxParseAttributeValue() {
|
|
var node;
|
|
switch (this.state.type) {
|
|
case 5:
|
|
node = this.startNode();
|
|
this.setContext(types.brace);
|
|
this.next();
|
|
node = this.jsxParseExpressionContainer(node, types.j_oTag);
|
|
if (node.expression.type === "JSXEmptyExpression") {
|
|
this.raise(JsxErrors.AttributeIsEmpty, {
|
|
at: node
|
|
});
|
|
}
|
|
return node;
|
|
case 140:
|
|
case 131:
|
|
return this.parseExprAtom();
|
|
default:
|
|
throw this.raise(JsxErrors.UnsupportedJsxValue, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
};
|
|
_proto.jsxParseEmptyExpression = function jsxParseEmptyExpression() {
|
|
var node = this.startNodeAt(this.state.lastTokEndLoc);
|
|
return this.finishNodeAt(node, "JSXEmptyExpression", this.state.startLoc);
|
|
};
|
|
_proto.jsxParseSpreadChild = function jsxParseSpreadChild(node) {
|
|
this.next();
|
|
node.expression = this.parseExpression();
|
|
this.setContext(types.j_expr);
|
|
this.state.canStartJSXElement = true;
|
|
this.expect(8);
|
|
return this.finishNode(node, "JSXSpreadChild");
|
|
};
|
|
_proto.jsxParseExpressionContainer = function jsxParseExpressionContainer(node, previousContext) {
|
|
if (this.match(8)) {
|
|
node.expression = this.jsxParseEmptyExpression();
|
|
} else {
|
|
var expression = this.parseExpression();
|
|
node.expression = expression;
|
|
}
|
|
this.setContext(previousContext);
|
|
this.state.canStartJSXElement = true;
|
|
this.expect(8);
|
|
return this.finishNode(node, "JSXExpressionContainer");
|
|
};
|
|
_proto.jsxParseAttribute = function jsxParseAttribute() {
|
|
var node = this.startNode();
|
|
if (this.match(5)) {
|
|
this.setContext(types.brace);
|
|
this.next();
|
|
this.expect(21);
|
|
node.argument = this.parseMaybeAssignAllowIn();
|
|
this.setContext(types.j_oTag);
|
|
this.state.canStartJSXElement = true;
|
|
this.expect(8);
|
|
return this.finishNode(node, "JSXSpreadAttribute");
|
|
}
|
|
node.name = this.jsxParseNamespacedName();
|
|
node.value = this.eat(29) ? this.jsxParseAttributeValue() : null;
|
|
return this.finishNode(node, "JSXAttribute");
|
|
};
|
|
_proto.jsxParseOpeningElementAt = function jsxParseOpeningElementAt(startLoc) {
|
|
var node = this.startNodeAt(startLoc);
|
|
if (this.eat(141)) {
|
|
return this.finishNode(node, "JSXOpeningFragment");
|
|
}
|
|
node.name = this.jsxParseElementName();
|
|
return this.jsxParseOpeningElementAfterName(node);
|
|
};
|
|
_proto.jsxParseOpeningElementAfterName = function jsxParseOpeningElementAfterName(node) {
|
|
var attributes = [];
|
|
while (!this.match(56) && !this.match(141)) {
|
|
attributes.push(this.jsxParseAttribute());
|
|
}
|
|
node.attributes = attributes;
|
|
node.selfClosing = this.eat(56);
|
|
this.expect(141);
|
|
return this.finishNode(node, "JSXOpeningElement");
|
|
};
|
|
_proto.jsxParseClosingElementAt = function jsxParseClosingElementAt(startLoc) {
|
|
var node = this.startNodeAt(startLoc);
|
|
if (this.eat(141)) {
|
|
return this.finishNode(node, "JSXClosingFragment");
|
|
}
|
|
node.name = this.jsxParseElementName();
|
|
this.expect(141);
|
|
return this.finishNode(node, "JSXClosingElement");
|
|
};
|
|
_proto.jsxParseElementAt = function jsxParseElementAt(startLoc) {
|
|
var node = this.startNodeAt(startLoc);
|
|
var children = [];
|
|
var openingElement = this.jsxParseOpeningElementAt(startLoc);
|
|
var closingElement = null;
|
|
if (!openingElement.selfClosing) {
|
|
contents: for (;;) {
|
|
switch (this.state.type) {
|
|
case 140:
|
|
startLoc = this.state.startLoc;
|
|
this.next();
|
|
if (this.eat(56)) {
|
|
closingElement = this.jsxParseClosingElementAt(startLoc);
|
|
break contents;
|
|
}
|
|
children.push(this.jsxParseElementAt(startLoc));
|
|
break;
|
|
case 139:
|
|
children.push(this.parseExprAtom());
|
|
break;
|
|
case 5:
|
|
{
|
|
var _node = this.startNode();
|
|
this.setContext(types.brace);
|
|
this.next();
|
|
if (this.match(21)) {
|
|
children.push(this.jsxParseSpreadChild(_node));
|
|
} else {
|
|
children.push(this.jsxParseExpressionContainer(_node, types.j_expr));
|
|
}
|
|
break;
|
|
}
|
|
default:
|
|
this.unexpected();
|
|
}
|
|
}
|
|
if (isFragment(openingElement) && !isFragment(closingElement) && closingElement !== null) {
|
|
this.raise(JsxErrors.MissingClosingTagFragment, {
|
|
at: closingElement
|
|
});
|
|
} else if (!isFragment(openingElement) && isFragment(closingElement)) {
|
|
this.raise(JsxErrors.MissingClosingTagElement, {
|
|
at: closingElement,
|
|
openingTagName: getQualifiedJSXName(openingElement.name)
|
|
});
|
|
} else if (!isFragment(openingElement) && !isFragment(closingElement)) {
|
|
if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) {
|
|
this.raise(JsxErrors.MissingClosingTagElement, {
|
|
at: closingElement,
|
|
openingTagName: getQualifiedJSXName(openingElement.name)
|
|
});
|
|
}
|
|
}
|
|
}
|
|
if (isFragment(openingElement)) {
|
|
node.openingFragment = openingElement;
|
|
node.closingFragment = closingElement;
|
|
} else {
|
|
node.openingElement = openingElement;
|
|
node.closingElement = closingElement;
|
|
}
|
|
node.children = children;
|
|
if (this.match(47)) {
|
|
throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement");
|
|
};
|
|
_proto.jsxParseElement = function jsxParseElement() {
|
|
var startLoc = this.state.startLoc;
|
|
this.next();
|
|
return this.jsxParseElementAt(startLoc);
|
|
};
|
|
_proto.setContext = function setContext(newContext) {
|
|
var context = this.state.context;
|
|
context[context.length - 1] = newContext;
|
|
};
|
|
_proto.parseExprAtom = function parseExprAtom(refExpressionErrors) {
|
|
if (this.match(139)) {
|
|
return this.parseLiteral(this.state.value, "JSXText");
|
|
} else if (this.match(140)) {
|
|
return this.jsxParseElement();
|
|
} else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) {
|
|
this.replaceToken(140);
|
|
return this.jsxParseElement();
|
|
} else {
|
|
return _superClass.prototype.parseExprAtom.call(this, refExpressionErrors);
|
|
}
|
|
};
|
|
_proto.skipSpace = function skipSpace() {
|
|
var curContext = this.curContext();
|
|
if (!curContext.preserveSpace) _superClass.prototype.skipSpace.call(this);
|
|
};
|
|
_proto.getTokenFromCode = function getTokenFromCode(code) {
|
|
var context = this.curContext();
|
|
if (context === types.j_expr) {
|
|
this.jsxReadToken();
|
|
return;
|
|
}
|
|
if (context === types.j_oTag || context === types.j_cTag) {
|
|
if (isIdentifierStart(code)) {
|
|
this.jsxReadWord();
|
|
return;
|
|
}
|
|
if (code === 62) {
|
|
++this.state.pos;
|
|
this.finishToken(141);
|
|
return;
|
|
}
|
|
if ((code === 34 || code === 39) && context === types.j_oTag) {
|
|
this.jsxReadString(code);
|
|
return;
|
|
}
|
|
}
|
|
if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {
|
|
++this.state.pos;
|
|
this.finishToken(140);
|
|
return;
|
|
}
|
|
_superClass.prototype.getTokenFromCode.call(this, code);
|
|
};
|
|
_proto.updateContext = function updateContext(prevType) {
|
|
var _this$state = this.state,
|
|
context = _this$state.context,
|
|
type = _this$state.type;
|
|
if (type === 56 && prevType === 140) {
|
|
context.splice(-2, 2, types.j_cTag);
|
|
this.state.canStartJSXElement = false;
|
|
} else if (type === 140) {
|
|
context.push(types.j_oTag);
|
|
} else if (type === 141) {
|
|
var out = context[context.length - 1];
|
|
if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) {
|
|
context.pop();
|
|
this.state.canStartJSXElement = context[context.length - 1] === types.j_expr;
|
|
} else {
|
|
this.setContext(types.j_expr);
|
|
this.state.canStartJSXElement = true;
|
|
}
|
|
} else {
|
|
this.state.canStartJSXElement = tokenComesBeforeExpression(type);
|
|
}
|
|
};
|
|
return _createClass(JSXParserMixin);
|
|
}(superClass);
|
|
});
|
|
|
|
var TypeScriptScope = function (_Scope) {
|
|
_inherits(TypeScriptScope, _Scope);
|
|
function TypeScriptScope() {
|
|
var _this;
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
_this = _Scope.call.apply(_Scope, [this].concat(args)) || this;
|
|
_this.types = new Set();
|
|
_this.enums = new Set();
|
|
_this.constEnums = new Set();
|
|
_this.classes = new Set();
|
|
_this.exportOnlyBindings = new Set();
|
|
return _this;
|
|
}
|
|
return _createClass(TypeScriptScope);
|
|
}(Scope);
|
|
var TypeScriptScopeHandler = function (_ScopeHandler) {
|
|
_inherits(TypeScriptScopeHandler, _ScopeHandler);
|
|
function TypeScriptScopeHandler() {
|
|
var _this2;
|
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
args[_key2] = arguments[_key2];
|
|
}
|
|
_this2 = _ScopeHandler.call.apply(_ScopeHandler, [this].concat(args)) || this;
|
|
_this2.importsStack = [];
|
|
return _this2;
|
|
}
|
|
var _proto = TypeScriptScopeHandler.prototype;
|
|
_proto.createScope = function createScope(flags) {
|
|
this.importsStack.push(new Set());
|
|
return new TypeScriptScope(flags);
|
|
};
|
|
_proto.enter = function enter(flags) {
|
|
if (flags == SCOPE_TS_MODULE) {
|
|
this.importsStack.push(new Set());
|
|
}
|
|
_ScopeHandler.prototype.enter.call(this, flags);
|
|
};
|
|
_proto.exit = function exit() {
|
|
var flags = _ScopeHandler.prototype.exit.call(this);
|
|
if (flags == SCOPE_TS_MODULE) {
|
|
this.importsStack.pop();
|
|
}
|
|
return flags;
|
|
};
|
|
_proto.hasImport = function hasImport(name, allowShadow) {
|
|
var len = this.importsStack.length;
|
|
if (this.importsStack[len - 1].has(name)) {
|
|
return true;
|
|
}
|
|
if (!allowShadow && len > 1) {
|
|
for (var i = 0; i < len - 1; i++) {
|
|
if (this.importsStack[i].has(name)) return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
_proto.declareName = function declareName(name, bindingType, loc) {
|
|
if (bindingType & BIND_FLAGS_TS_IMPORT) {
|
|
if (this.hasImport(name, true)) {
|
|
this.parser.raise(Errors.VarRedeclaration, {
|
|
at: loc,
|
|
identifierName: name
|
|
});
|
|
}
|
|
this.importsStack[this.importsStack.length - 1].add(name);
|
|
return;
|
|
}
|
|
var scope = this.currentScope();
|
|
if (bindingType & BIND_FLAGS_TS_EXPORT_ONLY) {
|
|
this.maybeExportDefined(scope, name);
|
|
scope.exportOnlyBindings.add(name);
|
|
return;
|
|
}
|
|
_ScopeHandler.prototype.declareName.call(this, name, bindingType, loc);
|
|
if (bindingType & BIND_KIND_TYPE) {
|
|
if (!(bindingType & BIND_KIND_VALUE)) {
|
|
this.checkRedeclarationInScope(scope, name, bindingType, loc);
|
|
this.maybeExportDefined(scope, name);
|
|
}
|
|
scope.types.add(name);
|
|
}
|
|
if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.add(name);
|
|
if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.add(name);
|
|
if (bindingType & BIND_FLAGS_CLASS) scope.classes.add(name);
|
|
};
|
|
_proto.isRedeclaredInScope = function isRedeclaredInScope(scope, name, bindingType) {
|
|
if (scope.enums.has(name)) {
|
|
if (bindingType & BIND_FLAGS_TS_ENUM) {
|
|
var isConst = !!(bindingType & BIND_FLAGS_TS_CONST_ENUM);
|
|
var wasConst = scope.constEnums.has(name);
|
|
return isConst !== wasConst;
|
|
}
|
|
return true;
|
|
}
|
|
if (bindingType & BIND_FLAGS_CLASS && scope.classes.has(name)) {
|
|
if (scope.lexical.has(name)) {
|
|
return !!(bindingType & BIND_KIND_VALUE);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
if (bindingType & BIND_KIND_TYPE && scope.types.has(name)) {
|
|
return true;
|
|
}
|
|
return _ScopeHandler.prototype.isRedeclaredInScope.call(this, scope, name, bindingType);
|
|
};
|
|
_proto.checkLocalExport = function checkLocalExport(id) {
|
|
var name = id.name;
|
|
if (this.hasImport(name)) return;
|
|
var len = this.scopeStack.length;
|
|
for (var i = len - 1; i >= 0; i--) {
|
|
var scope = this.scopeStack[i];
|
|
if (scope.types.has(name) || scope.exportOnlyBindings.has(name)) return;
|
|
}
|
|
_ScopeHandler.prototype.checkLocalExport.call(this, id);
|
|
};
|
|
return _createClass(TypeScriptScopeHandler);
|
|
}(ScopeHandler);
|
|
|
|
var getOwn$1 = function getOwn(object, key) {
|
|
return Object.hasOwnProperty.call(object, key) && object[key];
|
|
};
|
|
var unwrapParenthesizedExpression = function unwrapParenthesizedExpression(node) {
|
|
return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node;
|
|
};
|
|
var ParseBindingListFlags = {
|
|
ALLOW_EMPTY: 1,
|
|
IS_FUNCTION_PARAMS: 2,
|
|
IS_CONSTRUCTOR_PARAMS: 4
|
|
};
|
|
var LValParser = function (_NodeUtils) {
|
|
_inherits(LValParser, _NodeUtils);
|
|
function LValParser() {
|
|
return _NodeUtils.apply(this, arguments) || this;
|
|
}
|
|
var _proto = LValParser.prototype;
|
|
_proto.toAssignable = function toAssignable(node, isLHS) {
|
|
var _node$extra, _node$extra3;
|
|
if (isLHS === void 0) {
|
|
isLHS = false;
|
|
}
|
|
var parenthesized = undefined;
|
|
if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) {
|
|
parenthesized = unwrapParenthesizedExpression(node);
|
|
if (isLHS) {
|
|
if (parenthesized.type === "Identifier") {
|
|
this.expressionScope.recordArrowParameterBindingError(Errors.InvalidParenthesizedAssignment, {
|
|
at: node
|
|
});
|
|
} else if (parenthesized.type !== "MemberExpression") {
|
|
this.raise(Errors.InvalidParenthesizedAssignment, {
|
|
at: node
|
|
});
|
|
}
|
|
} else {
|
|
this.raise(Errors.InvalidParenthesizedAssignment, {
|
|
at: node
|
|
});
|
|
}
|
|
}
|
|
switch (node.type) {
|
|
case "Identifier":
|
|
case "ObjectPattern":
|
|
case "ArrayPattern":
|
|
case "AssignmentPattern":
|
|
case "RestElement":
|
|
break;
|
|
case "ObjectExpression":
|
|
node.type = "ObjectPattern";
|
|
for (var i = 0, length = node.properties.length, last = length - 1; i < length; i++) {
|
|
var _node$extra2;
|
|
var _prop = node.properties[i];
|
|
var isLast = i === last;
|
|
this.toAssignableObjectExpressionProp(_prop, isLast, isLHS);
|
|
if (isLast && _prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingCommaLoc) {
|
|
this.raise(Errors.RestTrailingComma, {
|
|
at: node.extra.trailingCommaLoc
|
|
});
|
|
}
|
|
}
|
|
break;
|
|
case "ObjectProperty":
|
|
{
|
|
var key = node.key,
|
|
value = node.value;
|
|
if (this.isPrivateName(key)) {
|
|
this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start);
|
|
}
|
|
this.toAssignable(value, isLHS);
|
|
break;
|
|
}
|
|
case "SpreadElement":
|
|
{
|
|
throw new Error("Internal @babel/parser error (this is a bug, please report it)." + " SpreadElement should be converted by .toAssignable's caller.");
|
|
}
|
|
case "ArrayExpression":
|
|
node.type = "ArrayPattern";
|
|
this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingCommaLoc, isLHS);
|
|
break;
|
|
case "AssignmentExpression":
|
|
if (node.operator !== "=") {
|
|
this.raise(Errors.MissingEqInAssignment, {
|
|
at: node.left.loc.end
|
|
});
|
|
}
|
|
node.type = "AssignmentPattern";
|
|
delete node.operator;
|
|
this.toAssignable(node.left, isLHS);
|
|
break;
|
|
case "ParenthesizedExpression":
|
|
this.toAssignable(parenthesized, isLHS);
|
|
break;
|
|
}
|
|
};
|
|
_proto.toAssignableObjectExpressionProp = function toAssignableObjectExpressionProp(prop, isLast, isLHS) {
|
|
if (prop.type === "ObjectMethod") {
|
|
this.raise(prop.kind === "get" || prop.kind === "set" ? Errors.PatternHasAccessor : Errors.PatternHasMethod, {
|
|
at: prop.key
|
|
});
|
|
} else if (prop.type === "SpreadElement") {
|
|
prop.type = "RestElement";
|
|
var arg = prop.argument;
|
|
this.checkToRestConversion(arg, false);
|
|
this.toAssignable(arg, isLHS);
|
|
if (!isLast) {
|
|
this.raise(Errors.RestTrailingComma, {
|
|
at: prop
|
|
});
|
|
}
|
|
} else {
|
|
this.toAssignable(prop, isLHS);
|
|
}
|
|
};
|
|
_proto.toAssignableList = function toAssignableList(exprList, trailingCommaLoc, isLHS) {
|
|
var end = exprList.length - 1;
|
|
for (var i = 0; i <= end; i++) {
|
|
var elt = exprList[i];
|
|
if (!elt) continue;
|
|
if (elt.type === "SpreadElement") {
|
|
elt.type = "RestElement";
|
|
var arg = elt.argument;
|
|
this.checkToRestConversion(arg, true);
|
|
this.toAssignable(arg, isLHS);
|
|
} else {
|
|
this.toAssignable(elt, isLHS);
|
|
}
|
|
if (elt.type === "RestElement") {
|
|
if (i < end) {
|
|
this.raise(Errors.RestTrailingComma, {
|
|
at: elt
|
|
});
|
|
} else if (trailingCommaLoc) {
|
|
this.raise(Errors.RestTrailingComma, {
|
|
at: trailingCommaLoc
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
_proto.isAssignable = function isAssignable(node, isBinding) {
|
|
var _this = this;
|
|
switch (node.type) {
|
|
case "Identifier":
|
|
case "ObjectPattern":
|
|
case "ArrayPattern":
|
|
case "AssignmentPattern":
|
|
case "RestElement":
|
|
return true;
|
|
case "ObjectExpression":
|
|
{
|
|
var last = node.properties.length - 1;
|
|
return node.properties.every(function (prop, i) {
|
|
return prop.type !== "ObjectMethod" && (i === last || prop.type !== "SpreadElement") && _this.isAssignable(prop);
|
|
});
|
|
}
|
|
case "ObjectProperty":
|
|
return this.isAssignable(node.value);
|
|
case "SpreadElement":
|
|
return this.isAssignable(node.argument);
|
|
case "ArrayExpression":
|
|
return node.elements.every(function (element) {
|
|
return element === null || _this.isAssignable(element);
|
|
});
|
|
case "AssignmentExpression":
|
|
return node.operator === "=";
|
|
case "ParenthesizedExpression":
|
|
return this.isAssignable(node.expression);
|
|
case "MemberExpression":
|
|
case "OptionalMemberExpression":
|
|
return !isBinding;
|
|
default:
|
|
return false;
|
|
}
|
|
};
|
|
_proto.toReferencedList = function toReferencedList(exprList, isParenthesizedExpr) {
|
|
return exprList;
|
|
};
|
|
_proto.toReferencedListDeep = function toReferencedListDeep(exprList, isParenthesizedExpr) {
|
|
this.toReferencedList(exprList, isParenthesizedExpr);
|
|
for (var _i2 = 0; _i2 < exprList.length; _i2++) {
|
|
var expr = exprList[_i2];
|
|
if ((expr == null ? void 0 : expr.type) === "ArrayExpression") {
|
|
this.toReferencedListDeep(expr.elements);
|
|
}
|
|
}
|
|
};
|
|
_proto.parseSpread = function parseSpread(refExpressionErrors) {
|
|
var node = this.startNode();
|
|
this.next();
|
|
node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined);
|
|
return this.finishNode(node, "SpreadElement");
|
|
};
|
|
_proto.parseRestBinding = function parseRestBinding() {
|
|
var node = this.startNode();
|
|
this.next();
|
|
node.argument = this.parseBindingAtom();
|
|
return this.finishNode(node, "RestElement");
|
|
};
|
|
_proto.parseBindingAtom = function parseBindingAtom() {
|
|
switch (this.state.type) {
|
|
case 0:
|
|
{
|
|
var node = this.startNode();
|
|
this.next();
|
|
node.elements = this.parseBindingList(3, 93, ParseBindingListFlags.ALLOW_EMPTY);
|
|
return this.finishNode(node, "ArrayPattern");
|
|
}
|
|
case 5:
|
|
return this.parseObjectLike(8, true);
|
|
}
|
|
return this.parseIdentifier();
|
|
};
|
|
_proto.parseBindingList = function parseBindingList(close, closeCharCode, flags) {
|
|
var allowEmpty = flags & ParseBindingListFlags.ALLOW_EMPTY;
|
|
var elts = [];
|
|
var first = true;
|
|
while (!this.eat(close)) {
|
|
if (first) {
|
|
first = false;
|
|
} else {
|
|
this.expect(12);
|
|
}
|
|
if (allowEmpty && this.match(12)) {
|
|
elts.push(null);
|
|
} else if (this.eat(close)) {
|
|
break;
|
|
} else if (this.match(21)) {
|
|
elts.push(this.parseAssignableListItemTypes(this.parseRestBinding(), flags));
|
|
if (!this.checkCommaAfterRest(closeCharCode)) {
|
|
this.expect(close);
|
|
break;
|
|
}
|
|
} else {
|
|
var decorators = [];
|
|
if (this.match(26) && this.hasPlugin("decorators")) {
|
|
this.raise(Errors.UnsupportedParameterDecorator, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
while (this.match(26)) {
|
|
decorators.push(this.parseDecorator());
|
|
}
|
|
elts.push(this.parseAssignableListItem(flags, decorators));
|
|
}
|
|
}
|
|
return elts;
|
|
};
|
|
_proto.parseBindingRestProperty = function parseBindingRestProperty(prop) {
|
|
this.next();
|
|
prop.argument = this.parseIdentifier();
|
|
this.checkCommaAfterRest(125);
|
|
return this.finishNode(prop, "RestElement");
|
|
};
|
|
_proto.parseBindingProperty = function parseBindingProperty() {
|
|
var prop = this.startNode();
|
|
var _this$state = this.state,
|
|
type = _this$state.type,
|
|
startLoc = _this$state.startLoc;
|
|
if (type === 21) {
|
|
return this.parseBindingRestProperty(prop);
|
|
} else if (type === 136) {
|
|
this.expectPlugin("destructuringPrivate", startLoc);
|
|
this.classScope.usePrivateName(this.state.value, startLoc);
|
|
prop.key = this.parsePrivateName();
|
|
} else {
|
|
this.parsePropertyName(prop);
|
|
}
|
|
prop.method = false;
|
|
return this.parseObjPropValue(prop, startLoc, false, false, true, false);
|
|
};
|
|
_proto.parseAssignableListItem = function parseAssignableListItem(flags, decorators) {
|
|
var left = this.parseMaybeDefault();
|
|
this.parseAssignableListItemTypes(left, flags);
|
|
var elt = this.parseMaybeDefault(left.loc.start, left);
|
|
if (decorators.length) {
|
|
left.decorators = decorators;
|
|
}
|
|
return elt;
|
|
};
|
|
_proto.parseAssignableListItemTypes = function parseAssignableListItemTypes(param, flags) {
|
|
return param;
|
|
};
|
|
_proto.parseMaybeDefault = function parseMaybeDefault(startLoc, left) {
|
|
var _startLoc, _left;
|
|
(_startLoc = startLoc) != null ? _startLoc : startLoc = this.state.startLoc;
|
|
left = (_left = left) != null ? _left : this.parseBindingAtom();
|
|
if (!this.eat(29)) return left;
|
|
var node = this.startNodeAt(startLoc);
|
|
node.left = left;
|
|
node.right = this.parseMaybeAssignAllowIn();
|
|
return this.finishNode(node, "AssignmentPattern");
|
|
};
|
|
_proto.isValidLVal = function isValidLVal(type, isUnparenthesizedInAssign, binding) {
|
|
return getOwn$1({
|
|
AssignmentPattern: "left",
|
|
RestElement: "argument",
|
|
ObjectProperty: "value",
|
|
ParenthesizedExpression: "expression",
|
|
ArrayPattern: "elements",
|
|
ObjectPattern: "properties"
|
|
}, type);
|
|
};
|
|
_proto.checkLVal = function checkLVal(expression, _ref) {
|
|
var _expression$extra;
|
|
var ancestor = _ref["in"],
|
|
_ref$binding = _ref.binding,
|
|
binding = _ref$binding === void 0 ? BIND_NONE : _ref$binding,
|
|
_ref$checkClashes = _ref.checkClashes,
|
|
checkClashes = _ref$checkClashes === void 0 ? false : _ref$checkClashes,
|
|
_ref$strictModeChange = _ref.strictModeChanged,
|
|
strictModeChanged = _ref$strictModeChange === void 0 ? false : _ref$strictModeChange,
|
|
_ref$hasParenthesized = _ref.hasParenthesizedAncestor,
|
|
hasParenthesizedAncestor = _ref$hasParenthesized === void 0 ? false : _ref$hasParenthesized;
|
|
var type = expression.type;
|
|
if (this.isObjectMethod(expression)) return;
|
|
if (type === "MemberExpression") {
|
|
if (binding !== BIND_NONE) {
|
|
this.raise(Errors.InvalidPropertyBindingPattern, {
|
|
at: expression
|
|
});
|
|
}
|
|
return;
|
|
}
|
|
if (type === "Identifier") {
|
|
this.checkIdentifier(expression, binding, strictModeChanged);
|
|
var _ref2 = expression,
|
|
name = _ref2.name;
|
|
if (checkClashes) {
|
|
if (checkClashes.has(name)) {
|
|
this.raise(Errors.ParamDupe, {
|
|
at: expression
|
|
});
|
|
} else {
|
|
checkClashes.add(name);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
var validity = this.isValidLVal(type, !(hasParenthesizedAncestor || (_expression$extra = expression.extra) != null && _expression$extra.parenthesized) && ancestor.type === "AssignmentExpression", binding);
|
|
if (validity === true) return;
|
|
if (validity === false) {
|
|
var ParseErrorClass = binding === BIND_NONE ? Errors.InvalidLhs : Errors.InvalidLhsBinding;
|
|
this.raise(ParseErrorClass, {
|
|
at: expression,
|
|
ancestor: ancestor
|
|
});
|
|
return;
|
|
}
|
|
var _ref3 = Array.isArray(validity) ? validity : [validity, type === "ParenthesizedExpression"],
|
|
key = _ref3[0],
|
|
isParenthesizedExpression = _ref3[1];
|
|
var nextAncestor = type === "ArrayPattern" || type === "ObjectPattern" || type === "ParenthesizedExpression" ? {
|
|
type: type
|
|
} : ancestor;
|
|
for (var _i4 = 0, _concat2 = [].concat(expression[key]); _i4 < _concat2.length; _i4++) {
|
|
var child = _concat2[_i4];
|
|
if (child) {
|
|
this.checkLVal(child, {
|
|
"in": nextAncestor,
|
|
binding: binding,
|
|
checkClashes: checkClashes,
|
|
strictModeChanged: strictModeChanged,
|
|
hasParenthesizedAncestor: isParenthesizedExpression
|
|
});
|
|
}
|
|
}
|
|
};
|
|
_proto.checkIdentifier = function checkIdentifier(at, bindingType, strictModeChanged) {
|
|
if (strictModeChanged === void 0) {
|
|
strictModeChanged = false;
|
|
}
|
|
if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(at.name, this.inModule) : isStrictBindOnlyReservedWord(at.name))) {
|
|
if (bindingType === BIND_NONE) {
|
|
this.raise(Errors.StrictEvalArguments, {
|
|
at: at,
|
|
referenceName: at.name
|
|
});
|
|
} else {
|
|
this.raise(Errors.StrictEvalArgumentsBinding, {
|
|
at: at,
|
|
bindingName: at.name
|
|
});
|
|
}
|
|
}
|
|
if (bindingType & BIND_FLAGS_NO_LET_IN_LEXICAL && at.name === "let") {
|
|
this.raise(Errors.LetInLexicalBinding, {
|
|
at: at
|
|
});
|
|
}
|
|
if (!(bindingType & BIND_NONE)) {
|
|
this.declareNameFromIdentifier(at, bindingType);
|
|
}
|
|
};
|
|
_proto.declareNameFromIdentifier = function declareNameFromIdentifier(identifier, binding) {
|
|
this.scope.declareName(identifier.name, binding, identifier.loc.start);
|
|
};
|
|
_proto.checkToRestConversion = function checkToRestConversion(node, allowPattern) {
|
|
switch (node.type) {
|
|
case "ParenthesizedExpression":
|
|
this.checkToRestConversion(node.expression, allowPattern);
|
|
break;
|
|
case "Identifier":
|
|
case "MemberExpression":
|
|
break;
|
|
case "ArrayExpression":
|
|
case "ObjectExpression":
|
|
if (allowPattern) break;
|
|
default:
|
|
this.raise(Errors.InvalidRestAssignmentPattern, {
|
|
at: node
|
|
});
|
|
}
|
|
};
|
|
_proto.checkCommaAfterRest = function checkCommaAfterRest(close) {
|
|
if (!this.match(12)) {
|
|
return false;
|
|
}
|
|
this.raise(this.lookaheadCharCode() === close ? Errors.RestTrailingComma : Errors.ElementAfterRest, {
|
|
at: this.state.startLoc
|
|
});
|
|
return true;
|
|
};
|
|
return _createClass(LValParser);
|
|
}(NodeUtils);
|
|
|
|
var _templateObject$x;
|
|
var getOwn = function getOwn(object, key) {
|
|
return Object.hasOwnProperty.call(object, key) && object[key];
|
|
};
|
|
function nonNull(x) {
|
|
if (x == null) {
|
|
throw new Error("Unexpected " + x + " value.");
|
|
}
|
|
return x;
|
|
}
|
|
function assert$2(x) {
|
|
if (!x) {
|
|
throw new Error("Assert fail");
|
|
}
|
|
}
|
|
var TSErrors = ParseErrorEnum(_templateObject$x || (_templateObject$x = _taggedTemplateLiteralLoose(["typescript"])))({
|
|
AbstractMethodHasImplementation: function AbstractMethodHasImplementation(_ref) {
|
|
var methodName = _ref.methodName;
|
|
return "Method '" + methodName + "' cannot have an implementation because it is marked abstract.";
|
|
},
|
|
AbstractPropertyHasInitializer: function AbstractPropertyHasInitializer(_ref2) {
|
|
var propertyName = _ref2.propertyName;
|
|
return "Property '" + propertyName + "' cannot have an initializer because it is marked abstract.";
|
|
},
|
|
AccesorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.",
|
|
AccesorCannotHaveTypeParameters: "An accessor cannot have type parameters.",
|
|
AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.",
|
|
ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.",
|
|
ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.",
|
|
ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",
|
|
ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.",
|
|
DeclareAccessor: function DeclareAccessor(_ref3) {
|
|
var kind = _ref3.kind;
|
|
return "'declare' is not allowed in " + kind + "ters.";
|
|
},
|
|
DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.",
|
|
DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.",
|
|
DuplicateAccessibilityModifier: function DuplicateAccessibilityModifier(_ref4) {
|
|
_ref4.modifier;
|
|
return "Accessibility modifier already seen.";
|
|
},
|
|
DuplicateModifier: function DuplicateModifier(_ref5) {
|
|
var modifier = _ref5.modifier;
|
|
return "Duplicate modifier: '" + modifier + "'.";
|
|
},
|
|
EmptyHeritageClauseType: function EmptyHeritageClauseType(_ref6) {
|
|
var token = _ref6.token;
|
|
return "'" + token + "' list cannot be empty.";
|
|
},
|
|
EmptyTypeArguments: "Type argument list cannot be empty.",
|
|
EmptyTypeParameters: "Type parameter list cannot be empty.",
|
|
ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.",
|
|
ImportAliasHasImportType: "An import alias can not use 'import type'.",
|
|
ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier",
|
|
IncompatibleModifiers: function IncompatibleModifiers(_ref7) {
|
|
var modifiers = _ref7.modifiers;
|
|
return "'" + modifiers[0] + "' modifier cannot be used with '" + modifiers[1] + "' modifier.";
|
|
},
|
|
IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.",
|
|
IndexSignatureHasAccessibility: function IndexSignatureHasAccessibility(_ref8) {
|
|
var modifier = _ref8.modifier;
|
|
return "Index signatures cannot have an accessibility modifier ('" + modifier + "').";
|
|
},
|
|
IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.",
|
|
IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.",
|
|
IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.",
|
|
InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.",
|
|
InvalidModifierOnTypeMember: function InvalidModifierOnTypeMember(_ref9) {
|
|
var modifier = _ref9.modifier;
|
|
return "'" + modifier + "' modifier cannot appear on a type member.";
|
|
},
|
|
InvalidModifierOnTypeParameter: function InvalidModifierOnTypeParameter(_ref10) {
|
|
var modifier = _ref10.modifier;
|
|
return "'" + modifier + "' modifier cannot appear on a type parameter.";
|
|
},
|
|
InvalidModifierOnTypeParameterPositions: function InvalidModifierOnTypeParameterPositions(_ref11) {
|
|
var modifier = _ref11.modifier;
|
|
return "'" + modifier + "' modifier can only appear on a type parameter of a class, interface or type alias.";
|
|
},
|
|
InvalidModifiersOrder: function InvalidModifiersOrder(_ref12) {
|
|
var orderedModifiers = _ref12.orderedModifiers;
|
|
return "'" + orderedModifiers[0] + "' modifier must precede '" + orderedModifiers[1] + "' modifier.";
|
|
},
|
|
InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. " + "You can either wrap the instantiation expression in parentheses, or delete the type arguments.",
|
|
InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.",
|
|
MissingInterfaceName: "'interface' declarations must be followed by an identifier.",
|
|
MixedLabeledAndUnlabeledElements: "Tuple members must all have names or all not have names.",
|
|
NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.",
|
|
NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.",
|
|
OptionalTypeBeforeRequired: "A required element cannot follow an optional element.",
|
|
OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.",
|
|
PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.",
|
|
PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.",
|
|
PrivateElementHasAccessibility: function PrivateElementHasAccessibility(_ref13) {
|
|
var modifier = _ref13.modifier;
|
|
return "Private elements cannot have an accessibility modifier ('" + modifier + "').";
|
|
},
|
|
ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.",
|
|
ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",
|
|
ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",
|
|
SetAccesorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.",
|
|
SetAccesorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.",
|
|
SetAccesorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.",
|
|
SingleTypeParameterWithoutTrailingComma: function SingleTypeParameterWithoutTrailingComma(_ref14) {
|
|
var typeParameterName = _ref14.typeParameterName;
|
|
return "Single type parameter " + typeParameterName + " should have a trailing comma. Example usage: <" + typeParameterName + ",>.";
|
|
},
|
|
StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.",
|
|
TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",
|
|
TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",
|
|
TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.",
|
|
TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",
|
|
TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",
|
|
UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.",
|
|
UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.",
|
|
UnexpectedTypeAnnotation: "Did not expect a type annotation here.",
|
|
UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.",
|
|
UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.",
|
|
UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.",
|
|
UnsupportedSignatureParameterKind: function UnsupportedSignatureParameterKind(_ref15) {
|
|
var type = _ref15.type;
|
|
return "Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got " + type + ".";
|
|
}
|
|
});
|
|
function keywordTypeFromName(value) {
|
|
switch (value) {
|
|
case "any":
|
|
return "TSAnyKeyword";
|
|
case "boolean":
|
|
return "TSBooleanKeyword";
|
|
case "bigint":
|
|
return "TSBigIntKeyword";
|
|
case "never":
|
|
return "TSNeverKeyword";
|
|
case "number":
|
|
return "TSNumberKeyword";
|
|
case "object":
|
|
return "TSObjectKeyword";
|
|
case "string":
|
|
return "TSStringKeyword";
|
|
case "symbol":
|
|
return "TSSymbolKeyword";
|
|
case "undefined":
|
|
return "TSUndefinedKeyword";
|
|
case "unknown":
|
|
return "TSUnknownKeyword";
|
|
default:
|
|
return undefined;
|
|
}
|
|
}
|
|
function tsIsAccessModifier(modifier) {
|
|
return modifier === "private" || modifier === "public" || modifier === "protected";
|
|
}
|
|
function tsIsVarianceAnnotations(modifier) {
|
|
return modifier === "in" || modifier === "out";
|
|
}
|
|
var typescript = (function (superClass) {
|
|
return function (_superClass) {
|
|
_inherits(TypeScriptParserMixin, _superClass);
|
|
function TypeScriptParserMixin() {
|
|
var _this;
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
_this = _superClass.call.apply(_superClass, [this].concat(args)) || this;
|
|
_this.tsParseInOutModifiers = _this.tsParseModifiers.bind(_assertThisInitialized(_this), {
|
|
allowedModifiers: ["in", "out"],
|
|
disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"],
|
|
errorTemplate: TSErrors.InvalidModifierOnTypeParameter
|
|
});
|
|
_this.tsParseConstModifier = _this.tsParseModifiers.bind(_assertThisInitialized(_this), {
|
|
allowedModifiers: ["const"],
|
|
disallowedModifiers: ["in", "out"],
|
|
errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions
|
|
});
|
|
_this.tsParseInOutConstModifiers = _this.tsParseModifiers.bind(_assertThisInitialized(_this), {
|
|
allowedModifiers: ["in", "out", "const"],
|
|
disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"],
|
|
errorTemplate: TSErrors.InvalidModifierOnTypeParameter
|
|
});
|
|
return _this;
|
|
}
|
|
var _proto = TypeScriptParserMixin.prototype;
|
|
_proto.getScopeHandler = function getScopeHandler() {
|
|
return TypeScriptScopeHandler;
|
|
};
|
|
_proto.tsIsIdentifier = function tsIsIdentifier() {
|
|
return tokenIsIdentifier(this.state.type);
|
|
};
|
|
_proto.tsTokenCanFollowModifier = function tsTokenCanFollowModifier() {
|
|
return (this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(136) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak();
|
|
};
|
|
_proto.tsNextTokenCanFollowModifier = function tsNextTokenCanFollowModifier() {
|
|
this.next();
|
|
return this.tsTokenCanFollowModifier();
|
|
};
|
|
_proto.tsParseModifier = function tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock) {
|
|
if (!tokenIsIdentifier(this.state.type) && this.state.type !== 58 && this.state.type !== 75) {
|
|
return undefined;
|
|
}
|
|
var modifier = this.state.value;
|
|
if (allowedModifiers.indexOf(modifier) !== -1) {
|
|
if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) {
|
|
return undefined;
|
|
}
|
|
if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) {
|
|
return modifier;
|
|
}
|
|
}
|
|
return undefined;
|
|
};
|
|
_proto.tsParseModifiers = function tsParseModifiers(_ref16, modified) {
|
|
var _this2 = this;
|
|
var allowedModifiers = _ref16.allowedModifiers,
|
|
disallowedModifiers = _ref16.disallowedModifiers,
|
|
stopOnStartOfClassStaticBlock = _ref16.stopOnStartOfClassStaticBlock,
|
|
_ref16$errorTemplate = _ref16.errorTemplate,
|
|
errorTemplate = _ref16$errorTemplate === void 0 ? TSErrors.InvalidModifierOnTypeMember : _ref16$errorTemplate;
|
|
var enforceOrder = function enforceOrder(loc, modifier, before, after) {
|
|
if (modifier === before && modified[after]) {
|
|
_this2.raise(TSErrors.InvalidModifiersOrder, {
|
|
at: loc,
|
|
orderedModifiers: [before, after]
|
|
});
|
|
}
|
|
};
|
|
var incompatible = function incompatible(loc, modifier, mod1, mod2) {
|
|
if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) {
|
|
_this2.raise(TSErrors.IncompatibleModifiers, {
|
|
at: loc,
|
|
modifiers: [mod1, mod2]
|
|
});
|
|
}
|
|
};
|
|
for (;;) {
|
|
var startLoc = this.state.startLoc;
|
|
var modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []), stopOnStartOfClassStaticBlock);
|
|
if (!modifier) break;
|
|
if (tsIsAccessModifier(modifier)) {
|
|
if (modified.accessibility) {
|
|
this.raise(TSErrors.DuplicateAccessibilityModifier, {
|
|
at: startLoc,
|
|
modifier: modifier
|
|
});
|
|
} else {
|
|
enforceOrder(startLoc, modifier, modifier, "override");
|
|
enforceOrder(startLoc, modifier, modifier, "static");
|
|
enforceOrder(startLoc, modifier, modifier, "readonly");
|
|
modified.accessibility = modifier;
|
|
}
|
|
} else if (tsIsVarianceAnnotations(modifier)) {
|
|
if (modified[modifier]) {
|
|
this.raise(TSErrors.DuplicateModifier, {
|
|
at: startLoc,
|
|
modifier: modifier
|
|
});
|
|
}
|
|
modified[modifier] = true;
|
|
enforceOrder(startLoc, modifier, "in", "out");
|
|
} else {
|
|
if (Object.hasOwnProperty.call(modified, modifier)) {
|
|
this.raise(TSErrors.DuplicateModifier, {
|
|
at: startLoc,
|
|
modifier: modifier
|
|
});
|
|
} else {
|
|
enforceOrder(startLoc, modifier, "static", "readonly");
|
|
enforceOrder(startLoc, modifier, "static", "override");
|
|
enforceOrder(startLoc, modifier, "override", "readonly");
|
|
enforceOrder(startLoc, modifier, "abstract", "override");
|
|
incompatible(startLoc, modifier, "declare", "override");
|
|
incompatible(startLoc, modifier, "static", "abstract");
|
|
}
|
|
modified[modifier] = true;
|
|
}
|
|
if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) {
|
|
this.raise(errorTemplate, {
|
|
at: startLoc,
|
|
modifier: modifier
|
|
});
|
|
}
|
|
}
|
|
};
|
|
_proto.tsIsListTerminator = function tsIsListTerminator(kind) {
|
|
switch (kind) {
|
|
case "EnumMembers":
|
|
case "TypeMembers":
|
|
return this.match(8);
|
|
case "HeritageClauseElement":
|
|
return this.match(5);
|
|
case "TupleElementTypes":
|
|
return this.match(3);
|
|
case "TypeParametersOrArguments":
|
|
return this.match(48);
|
|
}
|
|
};
|
|
_proto.tsParseList = function tsParseList(kind, parseElement) {
|
|
var result = [];
|
|
while (!this.tsIsListTerminator(kind)) {
|
|
result.push(parseElement());
|
|
}
|
|
return result;
|
|
};
|
|
_proto.tsParseDelimitedList = function tsParseDelimitedList(kind, parseElement, refTrailingCommaPos) {
|
|
return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true, refTrailingCommaPos));
|
|
};
|
|
_proto.tsParseDelimitedListWorker = function tsParseDelimitedListWorker(kind, parseElement, expectSuccess, refTrailingCommaPos) {
|
|
var result = [];
|
|
var trailingCommaPos = -1;
|
|
for (;;) {
|
|
if (this.tsIsListTerminator(kind)) {
|
|
break;
|
|
}
|
|
trailingCommaPos = -1;
|
|
var element = parseElement();
|
|
if (element == null) {
|
|
return undefined;
|
|
}
|
|
result.push(element);
|
|
if (this.eat(12)) {
|
|
trailingCommaPos = this.state.lastTokStart;
|
|
continue;
|
|
}
|
|
if (this.tsIsListTerminator(kind)) {
|
|
break;
|
|
}
|
|
if (expectSuccess) {
|
|
this.expect(12);
|
|
}
|
|
return undefined;
|
|
}
|
|
if (refTrailingCommaPos) {
|
|
refTrailingCommaPos.value = trailingCommaPos;
|
|
}
|
|
return result;
|
|
};
|
|
_proto.tsParseBracketedList = function tsParseBracketedList(kind, parseElement, bracket, skipFirstToken, refTrailingCommaPos) {
|
|
if (!skipFirstToken) {
|
|
if (bracket) {
|
|
this.expect(0);
|
|
} else {
|
|
this.expect(47);
|
|
}
|
|
}
|
|
var result = this.tsParseDelimitedList(kind, parseElement, refTrailingCommaPos);
|
|
if (bracket) {
|
|
this.expect(3);
|
|
} else {
|
|
this.expect(48);
|
|
}
|
|
return result;
|
|
};
|
|
_proto.tsParseImportType = function tsParseImportType() {
|
|
var node = this.startNode();
|
|
this.expect(83);
|
|
this.expect(10);
|
|
if (!this.match(131)) {
|
|
this.raise(TSErrors.UnsupportedImportTypeArgument, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
node.argument = _superClass.prototype.parseExprAtom.call(this);
|
|
this.expect(11);
|
|
if (this.eat(16)) {
|
|
node.qualifier = this.tsParseEntityName();
|
|
}
|
|
if (this.match(47)) {
|
|
node.typeParameters = this.tsParseTypeArguments();
|
|
}
|
|
return this.finishNode(node, "TSImportType");
|
|
};
|
|
_proto.tsParseEntityName = function tsParseEntityName(allowReservedWords) {
|
|
if (allowReservedWords === void 0) {
|
|
allowReservedWords = true;
|
|
}
|
|
var entity = this.parseIdentifier(allowReservedWords);
|
|
while (this.eat(16)) {
|
|
var _node = this.startNodeAtNode(entity);
|
|
_node.left = entity;
|
|
_node.right = this.parseIdentifier(allowReservedWords);
|
|
entity = this.finishNode(_node, "TSQualifiedName");
|
|
}
|
|
return entity;
|
|
};
|
|
_proto.tsParseTypeReference = function tsParseTypeReference() {
|
|
var node = this.startNode();
|
|
node.typeName = this.tsParseEntityName();
|
|
if (!this.hasPrecedingLineBreak() && this.match(47)) {
|
|
node.typeParameters = this.tsParseTypeArguments();
|
|
}
|
|
return this.finishNode(node, "TSTypeReference");
|
|
};
|
|
_proto.tsParseThisTypePredicate = function tsParseThisTypePredicate(lhs) {
|
|
this.next();
|
|
var node = this.startNodeAtNode(lhs);
|
|
node.parameterName = lhs;
|
|
node.typeAnnotation = this.tsParseTypeAnnotation(false);
|
|
node.asserts = false;
|
|
return this.finishNode(node, "TSTypePredicate");
|
|
};
|
|
_proto.tsParseThisTypeNode = function tsParseThisTypeNode() {
|
|
var node = this.startNode();
|
|
this.next();
|
|
return this.finishNode(node, "TSThisType");
|
|
};
|
|
_proto.tsParseTypeQuery = function tsParseTypeQuery() {
|
|
var node = this.startNode();
|
|
this.expect(87);
|
|
if (this.match(83)) {
|
|
node.exprName = this.tsParseImportType();
|
|
} else {
|
|
node.exprName = this.tsParseEntityName();
|
|
}
|
|
if (!this.hasPrecedingLineBreak() && this.match(47)) {
|
|
node.typeParameters = this.tsParseTypeArguments();
|
|
}
|
|
return this.finishNode(node, "TSTypeQuery");
|
|
};
|
|
_proto.tsParseTypeParameter = function tsParseTypeParameter(parseModifiers) {
|
|
var node = this.startNode();
|
|
parseModifiers(node);
|
|
node.name = this.tsParseTypeParameterName();
|
|
node.constraint = this.tsEatThenParseType(81);
|
|
node["default"] = this.tsEatThenParseType(29);
|
|
return this.finishNode(node, "TSTypeParameter");
|
|
};
|
|
_proto.tsTryParseTypeParameters = function tsTryParseTypeParameters(parseModifiers) {
|
|
if (this.match(47)) {
|
|
return this.tsParseTypeParameters(parseModifiers);
|
|
}
|
|
};
|
|
_proto.tsParseTypeParameters = function tsParseTypeParameters(parseModifiers) {
|
|
var node = this.startNode();
|
|
if (this.match(47) || this.match(140)) {
|
|
this.next();
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
var refTrailingCommaPos = {
|
|
value: -1
|
|
};
|
|
node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, parseModifiers), false, true, refTrailingCommaPos);
|
|
if (node.params.length === 0) {
|
|
this.raise(TSErrors.EmptyTypeParameters, {
|
|
at: node
|
|
});
|
|
}
|
|
if (refTrailingCommaPos.value !== -1) {
|
|
this.addExtra(node, "trailingComma", refTrailingCommaPos.value);
|
|
}
|
|
return this.finishNode(node, "TSTypeParameterDeclaration");
|
|
};
|
|
_proto.tsFillSignature = function tsFillSignature(returnToken, signature) {
|
|
var returnTokenRequired = returnToken === 19;
|
|
var paramsKey = "parameters";
|
|
var returnTypeKey = "typeAnnotation";
|
|
signature.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier);
|
|
this.expect(10);
|
|
signature[paramsKey] = this.tsParseBindingListForSignature();
|
|
if (returnTokenRequired) {
|
|
signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken);
|
|
} else if (this.match(returnToken)) {
|
|
signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken);
|
|
}
|
|
};
|
|
_proto.tsParseBindingListForSignature = function tsParseBindingListForSignature() {
|
|
var list = _superClass.prototype.parseBindingList.call(this, 11, 41, ParseBindingListFlags.IS_FUNCTION_PARAMS);
|
|
for (var _i2 = 0; _i2 < list.length; _i2++) {
|
|
var pattern = list[_i2];
|
|
var type = pattern.type;
|
|
if (type === "AssignmentPattern" || type === "TSParameterProperty") {
|
|
this.raise(TSErrors.UnsupportedSignatureParameterKind, {
|
|
at: pattern,
|
|
type: type
|
|
});
|
|
}
|
|
}
|
|
return list;
|
|
};
|
|
_proto.tsParseTypeMemberSemicolon = function tsParseTypeMemberSemicolon() {
|
|
if (!this.eat(12) && !this.isLineTerminator()) {
|
|
this.expect(13);
|
|
}
|
|
};
|
|
_proto.tsParseSignatureMember = function tsParseSignatureMember(kind, node) {
|
|
this.tsFillSignature(14, node);
|
|
this.tsParseTypeMemberSemicolon();
|
|
return this.finishNode(node, kind);
|
|
};
|
|
_proto.tsIsUnambiguouslyIndexSignature = function tsIsUnambiguouslyIndexSignature() {
|
|
this.next();
|
|
if (tokenIsIdentifier(this.state.type)) {
|
|
this.next();
|
|
return this.match(14);
|
|
}
|
|
return false;
|
|
};
|
|
_proto.tsTryParseIndexSignature = function tsTryParseIndexSignature(node) {
|
|
if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) {
|
|
return;
|
|
}
|
|
this.expect(0);
|
|
var id = this.parseIdentifier();
|
|
id.typeAnnotation = this.tsParseTypeAnnotation();
|
|
this.resetEndLocation(id);
|
|
this.expect(3);
|
|
node.parameters = [id];
|
|
var type = this.tsTryParseTypeAnnotation();
|
|
if (type) node.typeAnnotation = type;
|
|
this.tsParseTypeMemberSemicolon();
|
|
return this.finishNode(node, "TSIndexSignature");
|
|
};
|
|
_proto.tsParsePropertyOrMethodSignature = function tsParsePropertyOrMethodSignature(node, readonly) {
|
|
if (this.eat(17)) node.optional = true;
|
|
var nodeAny = node;
|
|
if (this.match(10) || this.match(47)) {
|
|
if (readonly) {
|
|
this.raise(TSErrors.ReadonlyForMethodSignature, {
|
|
at: node
|
|
});
|
|
}
|
|
var method = nodeAny;
|
|
if (method.kind && this.match(47)) {
|
|
this.raise(TSErrors.AccesorCannotHaveTypeParameters, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
this.tsFillSignature(14, method);
|
|
this.tsParseTypeMemberSemicolon();
|
|
var paramsKey = "parameters";
|
|
var returnTypeKey = "typeAnnotation";
|
|
if (method.kind === "get") {
|
|
if (method[paramsKey].length > 0) {
|
|
this.raise(Errors.BadGetterArity, {
|
|
at: this.state.curPosition()
|
|
});
|
|
if (this.isThisParam(method[paramsKey][0])) {
|
|
this.raise(TSErrors.AccesorCannotDeclareThisParameter, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
}
|
|
} else if (method.kind === "set") {
|
|
if (method[paramsKey].length !== 1) {
|
|
this.raise(Errors.BadSetterArity, {
|
|
at: this.state.curPosition()
|
|
});
|
|
} else {
|
|
var firstParameter = method[paramsKey][0];
|
|
if (this.isThisParam(firstParameter)) {
|
|
this.raise(TSErrors.AccesorCannotDeclareThisParameter, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
if (firstParameter.type === "Identifier" && firstParameter.optional) {
|
|
this.raise(TSErrors.SetAccesorCannotHaveOptionalParameter, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
if (firstParameter.type === "RestElement") {
|
|
this.raise(TSErrors.SetAccesorCannotHaveRestParameter, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
}
|
|
if (method[returnTypeKey]) {
|
|
this.raise(TSErrors.SetAccesorCannotHaveReturnType, {
|
|
at: method[returnTypeKey]
|
|
});
|
|
}
|
|
} else {
|
|
method.kind = "method";
|
|
}
|
|
return this.finishNode(method, "TSMethodSignature");
|
|
} else {
|
|
var property = nodeAny;
|
|
if (readonly) property.readonly = true;
|
|
var type = this.tsTryParseTypeAnnotation();
|
|
if (type) property.typeAnnotation = type;
|
|
this.tsParseTypeMemberSemicolon();
|
|
return this.finishNode(property, "TSPropertySignature");
|
|
}
|
|
};
|
|
_proto.tsParseTypeMember = function tsParseTypeMember() {
|
|
var node = this.startNode();
|
|
if (this.match(10) || this.match(47)) {
|
|
return this.tsParseSignatureMember("TSCallSignatureDeclaration", node);
|
|
}
|
|
if (this.match(77)) {
|
|
var id = this.startNode();
|
|
this.next();
|
|
if (this.match(10) || this.match(47)) {
|
|
return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node);
|
|
} else {
|
|
node.key = this.createIdentifier(id, "new");
|
|
return this.tsParsePropertyOrMethodSignature(node, false);
|
|
}
|
|
}
|
|
this.tsParseModifiers({
|
|
allowedModifiers: ["readonly"],
|
|
disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"]
|
|
}, node);
|
|
var idx = this.tsTryParseIndexSignature(node);
|
|
if (idx) {
|
|
return idx;
|
|
}
|
|
_superClass.prototype.parsePropertyName.call(this, node);
|
|
if (!node.computed && node.key.type === "Identifier" && (node.key.name === "get" || node.key.name === "set") && this.tsTokenCanFollowModifier()) {
|
|
node.kind = node.key.name;
|
|
_superClass.prototype.parsePropertyName.call(this, node);
|
|
}
|
|
return this.tsParsePropertyOrMethodSignature(node, !!node.readonly);
|
|
};
|
|
_proto.tsParseTypeLiteral = function tsParseTypeLiteral() {
|
|
var node = this.startNode();
|
|
node.members = this.tsParseObjectTypeMembers();
|
|
return this.finishNode(node, "TSTypeLiteral");
|
|
};
|
|
_proto.tsParseObjectTypeMembers = function tsParseObjectTypeMembers() {
|
|
this.expect(5);
|
|
var members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this));
|
|
this.expect(8);
|
|
return members;
|
|
};
|
|
_proto.tsIsStartOfMappedType = function tsIsStartOfMappedType() {
|
|
this.next();
|
|
if (this.eat(53)) {
|
|
return this.isContextual(120);
|
|
}
|
|
if (this.isContextual(120)) {
|
|
this.next();
|
|
}
|
|
if (!this.match(0)) {
|
|
return false;
|
|
}
|
|
this.next();
|
|
if (!this.tsIsIdentifier()) {
|
|
return false;
|
|
}
|
|
this.next();
|
|
return this.match(58);
|
|
};
|
|
_proto.tsParseMappedTypeParameter = function tsParseMappedTypeParameter() {
|
|
var node = this.startNode();
|
|
node.name = this.tsParseTypeParameterName();
|
|
node.constraint = this.tsExpectThenParseType(58);
|
|
return this.finishNode(node, "TSTypeParameter");
|
|
};
|
|
_proto.tsParseMappedType = function tsParseMappedType() {
|
|
var node = this.startNode();
|
|
this.expect(5);
|
|
if (this.match(53)) {
|
|
node.readonly = this.state.value;
|
|
this.next();
|
|
this.expectContextual(120);
|
|
} else if (this.eatContextual(120)) {
|
|
node.readonly = true;
|
|
}
|
|
this.expect(0);
|
|
node.typeParameter = this.tsParseMappedTypeParameter();
|
|
node.nameType = this.eatContextual(93) ? this.tsParseType() : null;
|
|
this.expect(3);
|
|
if (this.match(53)) {
|
|
node.optional = this.state.value;
|
|
this.next();
|
|
this.expect(17);
|
|
} else if (this.eat(17)) {
|
|
node.optional = true;
|
|
}
|
|
node.typeAnnotation = this.tsTryParseType();
|
|
this.semicolon();
|
|
this.expect(8);
|
|
return this.finishNode(node, "TSMappedType");
|
|
};
|
|
_proto.tsParseTupleType = function tsParseTupleType() {
|
|
var _this3 = this;
|
|
var node = this.startNode();
|
|
node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false);
|
|
var seenOptionalElement = false;
|
|
var labeledElements = null;
|
|
node.elementTypes.forEach(function (elementNode) {
|
|
var _labeledElements;
|
|
var _elementNode = elementNode,
|
|
type = _elementNode.type;
|
|
if (seenOptionalElement && type !== "TSRestType" && type !== "TSOptionalType" && !(type === "TSNamedTupleMember" && elementNode.optional)) {
|
|
_this3.raise(TSErrors.OptionalTypeBeforeRequired, {
|
|
at: elementNode
|
|
});
|
|
}
|
|
seenOptionalElement || (seenOptionalElement = type === "TSNamedTupleMember" && elementNode.optional || type === "TSOptionalType");
|
|
var checkType = type;
|
|
if (type === "TSRestType") {
|
|
elementNode = elementNode.typeAnnotation;
|
|
checkType = elementNode.type;
|
|
}
|
|
var isLabeled = checkType === "TSNamedTupleMember";
|
|
(_labeledElements = labeledElements) != null ? _labeledElements : labeledElements = isLabeled;
|
|
if (labeledElements !== isLabeled) {
|
|
_this3.raise(TSErrors.MixedLabeledAndUnlabeledElements, {
|
|
at: elementNode
|
|
});
|
|
}
|
|
});
|
|
return this.finishNode(node, "TSTupleType");
|
|
};
|
|
_proto.tsParseTupleElementType = function tsParseTupleElementType() {
|
|
var startLoc = this.state.startLoc;
|
|
var rest = this.eat(21);
|
|
var labeled;
|
|
var label;
|
|
var optional;
|
|
var type;
|
|
var isWord = tokenIsKeywordOrIdentifier(this.state.type);
|
|
var chAfterWord = isWord ? this.lookaheadCharCode() : null;
|
|
if (chAfterWord === 58) {
|
|
labeled = true;
|
|
optional = false;
|
|
label = this.parseIdentifier(true);
|
|
this.expect(14);
|
|
type = this.tsParseType();
|
|
} else if (chAfterWord === 63) {
|
|
optional = true;
|
|
var _startLoc = this.state.startLoc;
|
|
var wordName = this.state.value;
|
|
var typeOrLabel = this.tsParseNonArrayType();
|
|
if (this.lookaheadCharCode() === 58) {
|
|
labeled = true;
|
|
label = this.createIdentifier(this.startNodeAt(_startLoc), wordName);
|
|
this.expect(17);
|
|
this.expect(14);
|
|
type = this.tsParseType();
|
|
} else {
|
|
labeled = false;
|
|
type = typeOrLabel;
|
|
this.expect(17);
|
|
}
|
|
} else {
|
|
type = this.tsParseType();
|
|
optional = this.eat(17);
|
|
labeled = this.eat(14);
|
|
}
|
|
if (labeled) {
|
|
var labeledNode;
|
|
if (label) {
|
|
labeledNode = this.startNodeAtNode(label);
|
|
labeledNode.optional = optional;
|
|
labeledNode.label = label;
|
|
labeledNode.elementType = type;
|
|
if (this.eat(17)) {
|
|
labeledNode.optional = true;
|
|
this.raise(TSErrors.TupleOptionalAfterType, {
|
|
at: this.state.lastTokStartLoc
|
|
});
|
|
}
|
|
} else {
|
|
labeledNode = this.startNodeAtNode(type);
|
|
labeledNode.optional = optional;
|
|
this.raise(TSErrors.InvalidTupleMemberLabel, {
|
|
at: type
|
|
});
|
|
labeledNode.label = type;
|
|
labeledNode.elementType = this.tsParseType();
|
|
}
|
|
type = this.finishNode(labeledNode, "TSNamedTupleMember");
|
|
} else if (optional) {
|
|
var optionalTypeNode = this.startNodeAtNode(type);
|
|
optionalTypeNode.typeAnnotation = type;
|
|
type = this.finishNode(optionalTypeNode, "TSOptionalType");
|
|
}
|
|
if (rest) {
|
|
var restNode = this.startNodeAt(startLoc);
|
|
restNode.typeAnnotation = type;
|
|
type = this.finishNode(restNode, "TSRestType");
|
|
}
|
|
return type;
|
|
};
|
|
_proto.tsParseParenthesizedType = function tsParseParenthesizedType() {
|
|
var node = this.startNode();
|
|
this.expect(10);
|
|
node.typeAnnotation = this.tsParseType();
|
|
this.expect(11);
|
|
return this.finishNode(node, "TSParenthesizedType");
|
|
};
|
|
_proto.tsParseFunctionOrConstructorType = function tsParseFunctionOrConstructorType(type, _abstract) {
|
|
var _this4 = this;
|
|
var node = this.startNode();
|
|
if (type === "TSConstructorType") {
|
|
node["abstract"] = !!_abstract;
|
|
if (_abstract) this.next();
|
|
this.next();
|
|
}
|
|
this.tsInAllowConditionalTypesContext(function () {
|
|
return _this4.tsFillSignature(19, node);
|
|
});
|
|
return this.finishNode(node, type);
|
|
};
|
|
_proto.tsParseLiteralTypeNode = function tsParseLiteralTypeNode() {
|
|
var node = this.startNode();
|
|
switch (this.state.type) {
|
|
case 132:
|
|
case 133:
|
|
case 131:
|
|
case 85:
|
|
case 86:
|
|
node.literal = _superClass.prototype.parseExprAtom.call(this);
|
|
break;
|
|
default:
|
|
this.unexpected();
|
|
}
|
|
return this.finishNode(node, "TSLiteralType");
|
|
};
|
|
_proto.tsParseTemplateLiteralType = function tsParseTemplateLiteralType() {
|
|
var node = this.startNode();
|
|
node.literal = _superClass.prototype.parseTemplate.call(this, false);
|
|
return this.finishNode(node, "TSLiteralType");
|
|
};
|
|
_proto.parseTemplateSubstitution = function parseTemplateSubstitution() {
|
|
if (this.state.inType) return this.tsParseType();
|
|
return _superClass.prototype.parseTemplateSubstitution.call(this);
|
|
};
|
|
_proto.tsParseThisTypeOrThisTypePredicate = function tsParseThisTypeOrThisTypePredicate() {
|
|
var thisKeyword = this.tsParseThisTypeNode();
|
|
if (this.isContextual(114) && !this.hasPrecedingLineBreak()) {
|
|
return this.tsParseThisTypePredicate(thisKeyword);
|
|
} else {
|
|
return thisKeyword;
|
|
}
|
|
};
|
|
_proto.tsParseNonArrayType = function tsParseNonArrayType() {
|
|
switch (this.state.type) {
|
|
case 131:
|
|
case 132:
|
|
case 133:
|
|
case 85:
|
|
case 86:
|
|
return this.tsParseLiteralTypeNode();
|
|
case 53:
|
|
if (this.state.value === "-") {
|
|
var _node2 = this.startNode();
|
|
var nextToken = this.lookahead();
|
|
if (nextToken.type !== 132 && nextToken.type !== 133) {
|
|
this.unexpected();
|
|
}
|
|
_node2.literal = this.parseMaybeUnary();
|
|
return this.finishNode(_node2, "TSLiteralType");
|
|
}
|
|
break;
|
|
case 78:
|
|
return this.tsParseThisTypeOrThisTypePredicate();
|
|
case 87:
|
|
return this.tsParseTypeQuery();
|
|
case 83:
|
|
return this.tsParseImportType();
|
|
case 5:
|
|
return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();
|
|
case 0:
|
|
return this.tsParseTupleType();
|
|
case 10:
|
|
return this.tsParseParenthesizedType();
|
|
case 25:
|
|
case 24:
|
|
return this.tsParseTemplateLiteralType();
|
|
default:
|
|
{
|
|
var type = this.state.type;
|
|
if (tokenIsIdentifier(type) || type === 88 || type === 84) {
|
|
var nodeType = type === 88 ? "TSVoidKeyword" : type === 84 ? "TSNullKeyword" : keywordTypeFromName(this.state.value);
|
|
if (nodeType !== undefined && this.lookaheadCharCode() !== 46) {
|
|
var _node3 = this.startNode();
|
|
this.next();
|
|
return this.finishNode(_node3, nodeType);
|
|
}
|
|
return this.tsParseTypeReference();
|
|
}
|
|
}
|
|
}
|
|
this.unexpected();
|
|
};
|
|
_proto.tsParseArrayTypeOrHigher = function tsParseArrayTypeOrHigher() {
|
|
var type = this.tsParseNonArrayType();
|
|
while (!this.hasPrecedingLineBreak() && this.eat(0)) {
|
|
if (this.match(3)) {
|
|
var _node4 = this.startNodeAtNode(type);
|
|
_node4.elementType = type;
|
|
this.expect(3);
|
|
type = this.finishNode(_node4, "TSArrayType");
|
|
} else {
|
|
var _node5 = this.startNodeAtNode(type);
|
|
_node5.objectType = type;
|
|
_node5.indexType = this.tsParseType();
|
|
this.expect(3);
|
|
type = this.finishNode(_node5, "TSIndexedAccessType");
|
|
}
|
|
}
|
|
return type;
|
|
};
|
|
_proto.tsParseTypeOperator = function tsParseTypeOperator() {
|
|
var node = this.startNode();
|
|
var operator = this.state.value;
|
|
this.next();
|
|
node.operator = operator;
|
|
node.typeAnnotation = this.tsParseTypeOperatorOrHigher();
|
|
if (operator === "readonly") {
|
|
this.tsCheckTypeAnnotationForReadOnly(node);
|
|
}
|
|
return this.finishNode(node, "TSTypeOperator");
|
|
};
|
|
_proto.tsCheckTypeAnnotationForReadOnly = function tsCheckTypeAnnotationForReadOnly(node) {
|
|
switch (node.typeAnnotation.type) {
|
|
case "TSTupleType":
|
|
case "TSArrayType":
|
|
return;
|
|
default:
|
|
this.raise(TSErrors.UnexpectedReadonly, {
|
|
at: node
|
|
});
|
|
}
|
|
};
|
|
_proto.tsParseInferType = function tsParseInferType() {
|
|
var _this5 = this;
|
|
var node = this.startNode();
|
|
this.expectContextual(113);
|
|
var typeParameter = this.startNode();
|
|
typeParameter.name = this.tsParseTypeParameterName();
|
|
typeParameter.constraint = this.tsTryParse(function () {
|
|
return _this5.tsParseConstraintForInferType();
|
|
});
|
|
node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter");
|
|
return this.finishNode(node, "TSInferType");
|
|
};
|
|
_proto.tsParseConstraintForInferType = function tsParseConstraintForInferType() {
|
|
var _this6 = this;
|
|
if (this.eat(81)) {
|
|
var constraint = this.tsInDisallowConditionalTypesContext(function () {
|
|
return _this6.tsParseType();
|
|
});
|
|
if (this.state.inDisallowConditionalTypesContext || !this.match(17)) {
|
|
return constraint;
|
|
}
|
|
}
|
|
};
|
|
_proto.tsParseTypeOperatorOrHigher = function tsParseTypeOperatorOrHigher() {
|
|
var _this7 = this;
|
|
var isTypeOperator = tokenIsTSTypeOperator(this.state.type) && !this.state.containsEsc;
|
|
return isTypeOperator ? this.tsParseTypeOperator() : this.isContextual(113) ? this.tsParseInferType() : this.tsInAllowConditionalTypesContext(function () {
|
|
return _this7.tsParseArrayTypeOrHigher();
|
|
});
|
|
};
|
|
_proto.tsParseUnionOrIntersectionType = function tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) {
|
|
var node = this.startNode();
|
|
var hasLeadingOperator = this.eat(operator);
|
|
var types = [];
|
|
do {
|
|
types.push(parseConstituentType());
|
|
} while (this.eat(operator));
|
|
if (types.length === 1 && !hasLeadingOperator) {
|
|
return types[0];
|
|
}
|
|
node.types = types;
|
|
return this.finishNode(node, kind);
|
|
};
|
|
_proto.tsParseIntersectionTypeOrHigher = function tsParseIntersectionTypeOrHigher() {
|
|
return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45);
|
|
};
|
|
_proto.tsParseUnionTypeOrHigher = function tsParseUnionTypeOrHigher() {
|
|
return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43);
|
|
};
|
|
_proto.tsIsStartOfFunctionType = function tsIsStartOfFunctionType() {
|
|
if (this.match(47)) {
|
|
return true;
|
|
}
|
|
return this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));
|
|
};
|
|
_proto.tsSkipParameterStart = function tsSkipParameterStart() {
|
|
if (tokenIsIdentifier(this.state.type) || this.match(78)) {
|
|
this.next();
|
|
return true;
|
|
}
|
|
if (this.match(5)) {
|
|
var errors = this.state.errors;
|
|
var previousErrorCount = errors.length;
|
|
try {
|
|
this.parseObjectLike(8, true);
|
|
return errors.length === previousErrorCount;
|
|
} catch (_unused) {
|
|
return false;
|
|
}
|
|
}
|
|
if (this.match(0)) {
|
|
this.next();
|
|
var _errors = this.state.errors;
|
|
var _previousErrorCount = _errors.length;
|
|
try {
|
|
_superClass.prototype.parseBindingList.call(this, 3, 93, ParseBindingListFlags.ALLOW_EMPTY);
|
|
return _errors.length === _previousErrorCount;
|
|
} catch (_unused2) {
|
|
return false;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
_proto.tsIsUnambiguouslyStartOfFunctionType = function tsIsUnambiguouslyStartOfFunctionType() {
|
|
this.next();
|
|
if (this.match(11) || this.match(21)) {
|
|
return true;
|
|
}
|
|
if (this.tsSkipParameterStart()) {
|
|
if (this.match(14) || this.match(12) || this.match(17) || this.match(29)) {
|
|
return true;
|
|
}
|
|
if (this.match(11)) {
|
|
this.next();
|
|
if (this.match(19)) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
_proto.tsParseTypeOrTypePredicateAnnotation = function tsParseTypeOrTypePredicateAnnotation(returnToken) {
|
|
var _this8 = this;
|
|
return this.tsInType(function () {
|
|
var t = _this8.startNode();
|
|
_this8.expect(returnToken);
|
|
var node = _this8.startNode();
|
|
var asserts = !!_this8.tsTryParse(_this8.tsParseTypePredicateAsserts.bind(_this8));
|
|
if (asserts && _this8.match(78)) {
|
|
var thisTypePredicate = _this8.tsParseThisTypeOrThisTypePredicate();
|
|
if (thisTypePredicate.type === "TSThisType") {
|
|
node.parameterName = thisTypePredicate;
|
|
node.asserts = true;
|
|
node.typeAnnotation = null;
|
|
thisTypePredicate = _this8.finishNode(node, "TSTypePredicate");
|
|
} else {
|
|
_this8.resetStartLocationFromNode(thisTypePredicate, node);
|
|
thisTypePredicate.asserts = true;
|
|
}
|
|
t.typeAnnotation = thisTypePredicate;
|
|
return _this8.finishNode(t, "TSTypeAnnotation");
|
|
}
|
|
var typePredicateVariable = _this8.tsIsIdentifier() && _this8.tsTryParse(_this8.tsParseTypePredicatePrefix.bind(_this8));
|
|
if (!typePredicateVariable) {
|
|
if (!asserts) {
|
|
return _this8.tsParseTypeAnnotation(false, t);
|
|
}
|
|
node.parameterName = _this8.parseIdentifier();
|
|
node.asserts = asserts;
|
|
node.typeAnnotation = null;
|
|
t.typeAnnotation = _this8.finishNode(node, "TSTypePredicate");
|
|
return _this8.finishNode(t, "TSTypeAnnotation");
|
|
}
|
|
var type = _this8.tsParseTypeAnnotation(false);
|
|
node.parameterName = typePredicateVariable;
|
|
node.typeAnnotation = type;
|
|
node.asserts = asserts;
|
|
t.typeAnnotation = _this8.finishNode(node, "TSTypePredicate");
|
|
return _this8.finishNode(t, "TSTypeAnnotation");
|
|
});
|
|
};
|
|
_proto.tsTryParseTypeOrTypePredicateAnnotation = function tsTryParseTypeOrTypePredicateAnnotation() {
|
|
if (this.match(14)) {
|
|
return this.tsParseTypeOrTypePredicateAnnotation(14);
|
|
}
|
|
};
|
|
_proto.tsTryParseTypeAnnotation = function tsTryParseTypeAnnotation() {
|
|
if (this.match(14)) {
|
|
return this.tsParseTypeAnnotation();
|
|
}
|
|
};
|
|
_proto.tsTryParseType = function tsTryParseType() {
|
|
return this.tsEatThenParseType(14);
|
|
};
|
|
_proto.tsParseTypePredicatePrefix = function tsParseTypePredicatePrefix() {
|
|
var id = this.parseIdentifier();
|
|
if (this.isContextual(114) && !this.hasPrecedingLineBreak()) {
|
|
this.next();
|
|
return id;
|
|
}
|
|
};
|
|
_proto.tsParseTypePredicateAsserts = function tsParseTypePredicateAsserts() {
|
|
if (this.state.type !== 107) {
|
|
return false;
|
|
}
|
|
var containsEsc = this.state.containsEsc;
|
|
this.next();
|
|
if (!tokenIsIdentifier(this.state.type) && !this.match(78)) {
|
|
return false;
|
|
}
|
|
if (containsEsc) {
|
|
this.raise(Errors.InvalidEscapedReservedWord, {
|
|
at: this.state.lastTokStartLoc,
|
|
reservedWord: "asserts"
|
|
});
|
|
}
|
|
return true;
|
|
};
|
|
_proto.tsParseTypeAnnotation = function tsParseTypeAnnotation(eatColon, t) {
|
|
var _this9 = this;
|
|
if (eatColon === void 0) {
|
|
eatColon = true;
|
|
}
|
|
if (t === void 0) {
|
|
t = this.startNode();
|
|
}
|
|
this.tsInType(function () {
|
|
if (eatColon) _this9.expect(14);
|
|
t.typeAnnotation = _this9.tsParseType();
|
|
});
|
|
return this.finishNode(t, "TSTypeAnnotation");
|
|
};
|
|
_proto.tsParseType = function tsParseType() {
|
|
var _this10 = this;
|
|
assert$2(this.state.inType);
|
|
var type = this.tsParseNonConditionalType();
|
|
if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81)) {
|
|
return type;
|
|
}
|
|
var node = this.startNodeAtNode(type);
|
|
node.checkType = type;
|
|
node.extendsType = this.tsInDisallowConditionalTypesContext(function () {
|
|
return _this10.tsParseNonConditionalType();
|
|
});
|
|
this.expect(17);
|
|
node.trueType = this.tsInAllowConditionalTypesContext(function () {
|
|
return _this10.tsParseType();
|
|
});
|
|
this.expect(14);
|
|
node.falseType = this.tsInAllowConditionalTypesContext(function () {
|
|
return _this10.tsParseType();
|
|
});
|
|
return this.finishNode(node, "TSConditionalType");
|
|
};
|
|
_proto.isAbstractConstructorSignature = function isAbstractConstructorSignature() {
|
|
return this.isContextual(122) && this.lookahead().type === 77;
|
|
};
|
|
_proto.tsParseNonConditionalType = function tsParseNonConditionalType() {
|
|
if (this.tsIsStartOfFunctionType()) {
|
|
return this.tsParseFunctionOrConstructorType("TSFunctionType");
|
|
}
|
|
if (this.match(77)) {
|
|
return this.tsParseFunctionOrConstructorType("TSConstructorType");
|
|
} else if (this.isAbstractConstructorSignature()) {
|
|
return this.tsParseFunctionOrConstructorType("TSConstructorType", true);
|
|
}
|
|
return this.tsParseUnionTypeOrHigher();
|
|
};
|
|
_proto.tsParseTypeAssertion = function tsParseTypeAssertion() {
|
|
var _this11 = this;
|
|
if (this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) {
|
|
this.raise(TSErrors.ReservedTypeAssertion, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
var node = this.startNode();
|
|
node.typeAnnotation = this.tsInType(function () {
|
|
_this11.next();
|
|
return _this11.match(75) ? _this11.tsParseTypeReference() : _this11.tsParseType();
|
|
});
|
|
this.expect(48);
|
|
node.expression = this.parseMaybeUnary();
|
|
return this.finishNode(node, "TSTypeAssertion");
|
|
};
|
|
_proto.tsParseHeritageClause = function tsParseHeritageClause(token) {
|
|
var _this12 = this;
|
|
var originalStartLoc = this.state.startLoc;
|
|
var delimitedList = this.tsParseDelimitedList("HeritageClauseElement", function () {
|
|
var node = _this12.startNode();
|
|
node.expression = _this12.tsParseEntityName();
|
|
if (_this12.match(47)) {
|
|
node.typeParameters = _this12.tsParseTypeArguments();
|
|
}
|
|
return _this12.finishNode(node, "TSExpressionWithTypeArguments");
|
|
});
|
|
if (!delimitedList.length) {
|
|
this.raise(TSErrors.EmptyHeritageClauseType, {
|
|
at: originalStartLoc,
|
|
token: token
|
|
});
|
|
}
|
|
return delimitedList;
|
|
};
|
|
_proto.tsParseInterfaceDeclaration = function tsParseInterfaceDeclaration(node, properties) {
|
|
if (properties === void 0) {
|
|
properties = {};
|
|
}
|
|
if (this.hasFollowingLineBreak()) return null;
|
|
this.expectContextual(127);
|
|
if (properties.declare) node.declare = true;
|
|
if (tokenIsIdentifier(this.state.type)) {
|
|
node.id = this.parseIdentifier();
|
|
this.checkIdentifier(node.id, BIND_TS_INTERFACE);
|
|
} else {
|
|
node.id = null;
|
|
this.raise(TSErrors.MissingInterfaceName, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);
|
|
if (this.eat(81)) {
|
|
node["extends"] = this.tsParseHeritageClause("extends");
|
|
}
|
|
var body = this.startNode();
|
|
body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this));
|
|
node.body = this.finishNode(body, "TSInterfaceBody");
|
|
return this.finishNode(node, "TSInterfaceDeclaration");
|
|
};
|
|
_proto.tsParseTypeAliasDeclaration = function tsParseTypeAliasDeclaration(node) {
|
|
var _this13 = this;
|
|
node.id = this.parseIdentifier();
|
|
this.checkIdentifier(node.id, BIND_TS_TYPE);
|
|
node.typeAnnotation = this.tsInType(function () {
|
|
node.typeParameters = _this13.tsTryParseTypeParameters(_this13.tsParseInOutModifiers);
|
|
_this13.expect(29);
|
|
if (_this13.isContextual(112) && _this13.lookahead().type !== 16) {
|
|
var _node6 = _this13.startNode();
|
|
_this13.next();
|
|
return _this13.finishNode(_node6, "TSIntrinsicKeyword");
|
|
}
|
|
return _this13.tsParseType();
|
|
});
|
|
this.semicolon();
|
|
return this.finishNode(node, "TSTypeAliasDeclaration");
|
|
};
|
|
_proto.tsInNoContext = function tsInNoContext(cb) {
|
|
var oldContext = this.state.context;
|
|
this.state.context = [oldContext[0]];
|
|
try {
|
|
return cb();
|
|
} finally {
|
|
this.state.context = oldContext;
|
|
}
|
|
};
|
|
_proto.tsInType = function tsInType(cb) {
|
|
var oldInType = this.state.inType;
|
|
this.state.inType = true;
|
|
try {
|
|
return cb();
|
|
} finally {
|
|
this.state.inType = oldInType;
|
|
}
|
|
};
|
|
_proto.tsInDisallowConditionalTypesContext = function tsInDisallowConditionalTypesContext(cb) {
|
|
var oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext;
|
|
this.state.inDisallowConditionalTypesContext = true;
|
|
try {
|
|
return cb();
|
|
} finally {
|
|
this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;
|
|
}
|
|
};
|
|
_proto.tsInAllowConditionalTypesContext = function tsInAllowConditionalTypesContext(cb) {
|
|
var oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext;
|
|
this.state.inDisallowConditionalTypesContext = false;
|
|
try {
|
|
return cb();
|
|
} finally {
|
|
this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;
|
|
}
|
|
};
|
|
_proto.tsEatThenParseType = function tsEatThenParseType(token) {
|
|
if (this.match(token)) {
|
|
return this.tsNextThenParseType();
|
|
}
|
|
};
|
|
_proto.tsExpectThenParseType = function tsExpectThenParseType(token) {
|
|
var _this14 = this;
|
|
return this.tsInType(function () {
|
|
_this14.expect(token);
|
|
return _this14.tsParseType();
|
|
});
|
|
};
|
|
_proto.tsNextThenParseType = function tsNextThenParseType() {
|
|
var _this15 = this;
|
|
return this.tsInType(function () {
|
|
_this15.next();
|
|
return _this15.tsParseType();
|
|
});
|
|
};
|
|
_proto.tsParseEnumMember = function tsParseEnumMember() {
|
|
var node = this.startNode();
|
|
node.id = this.match(131) ? _superClass.prototype.parseStringLiteral.call(this, this.state.value) : this.parseIdentifier(true);
|
|
if (this.eat(29)) {
|
|
node.initializer = _superClass.prototype.parseMaybeAssignAllowIn.call(this);
|
|
}
|
|
return this.finishNode(node, "TSEnumMember");
|
|
};
|
|
_proto.tsParseEnumDeclaration = function tsParseEnumDeclaration(node, properties) {
|
|
if (properties === void 0) {
|
|
properties = {};
|
|
}
|
|
if (properties["const"]) node["const"] = true;
|
|
if (properties.declare) node.declare = true;
|
|
this.expectContextual(124);
|
|
node.id = this.parseIdentifier();
|
|
this.checkIdentifier(node.id, node["const"] ? BIND_TS_CONST_ENUM : BIND_TS_ENUM);
|
|
this.expect(5);
|
|
node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this));
|
|
this.expect(8);
|
|
return this.finishNode(node, "TSEnumDeclaration");
|
|
};
|
|
_proto.tsParseModuleBlock = function tsParseModuleBlock() {
|
|
var node = this.startNode();
|
|
this.scope.enter(SCOPE_OTHER);
|
|
this.expect(5);
|
|
_superClass.prototype.parseBlockOrModuleBlockBody.call(this, node.body = [], undefined, true, 8);
|
|
this.scope.exit();
|
|
return this.finishNode(node, "TSModuleBlock");
|
|
};
|
|
_proto.tsParseModuleOrNamespaceDeclaration = function tsParseModuleOrNamespaceDeclaration(node, nested) {
|
|
if (nested === void 0) {
|
|
nested = false;
|
|
}
|
|
node.id = this.parseIdentifier();
|
|
if (!nested) {
|
|
this.checkIdentifier(node.id, BIND_TS_NAMESPACE);
|
|
}
|
|
if (this.eat(16)) {
|
|
var inner = this.startNode();
|
|
this.tsParseModuleOrNamespaceDeclaration(inner, true);
|
|
node.body = inner;
|
|
} else {
|
|
this.scope.enter(SCOPE_TS_MODULE);
|
|
this.prodParam.enter(PARAM);
|
|
node.body = this.tsParseModuleBlock();
|
|
this.prodParam.exit();
|
|
this.scope.exit();
|
|
}
|
|
return this.finishNode(node, "TSModuleDeclaration");
|
|
};
|
|
_proto.tsParseAmbientExternalModuleDeclaration = function tsParseAmbientExternalModuleDeclaration(node) {
|
|
if (this.isContextual(110)) {
|
|
node.global = true;
|
|
node.id = this.parseIdentifier();
|
|
} else if (this.match(131)) {
|
|
node.id = _superClass.prototype.parseStringLiteral.call(this, this.state.value);
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
if (this.match(5)) {
|
|
this.scope.enter(SCOPE_TS_MODULE);
|
|
this.prodParam.enter(PARAM);
|
|
node.body = this.tsParseModuleBlock();
|
|
this.prodParam.exit();
|
|
this.scope.exit();
|
|
} else {
|
|
this.semicolon();
|
|
}
|
|
return this.finishNode(node, "TSModuleDeclaration");
|
|
};
|
|
_proto.tsParseImportEqualsDeclaration = function tsParseImportEqualsDeclaration(node, isExport) {
|
|
node.isExport = isExport || false;
|
|
node.id = this.parseIdentifier();
|
|
this.checkIdentifier(node.id, BIND_FLAGS_TS_IMPORT);
|
|
this.expect(29);
|
|
var moduleReference = this.tsParseModuleReference();
|
|
if (node.importKind === "type" && moduleReference.type !== "TSExternalModuleReference") {
|
|
this.raise(TSErrors.ImportAliasHasImportType, {
|
|
at: moduleReference
|
|
});
|
|
}
|
|
node.moduleReference = moduleReference;
|
|
this.semicolon();
|
|
return this.finishNode(node, "TSImportEqualsDeclaration");
|
|
};
|
|
_proto.tsIsExternalModuleReference = function tsIsExternalModuleReference() {
|
|
return this.isContextual(117) && this.lookaheadCharCode() === 40;
|
|
};
|
|
_proto.tsParseModuleReference = function tsParseModuleReference() {
|
|
return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false);
|
|
};
|
|
_proto.tsParseExternalModuleReference = function tsParseExternalModuleReference() {
|
|
var node = this.startNode();
|
|
this.expectContextual(117);
|
|
this.expect(10);
|
|
if (!this.match(131)) {
|
|
this.unexpected();
|
|
}
|
|
node.expression = _superClass.prototype.parseExprAtom.call(this);
|
|
this.expect(11);
|
|
return this.finishNode(node, "TSExternalModuleReference");
|
|
};
|
|
_proto.tsLookAhead = function tsLookAhead(f) {
|
|
var state = this.state.clone();
|
|
var res = f();
|
|
this.state = state;
|
|
return res;
|
|
};
|
|
_proto.tsTryParseAndCatch = function tsTryParseAndCatch(f) {
|
|
var result = this.tryParse(function (abort) {
|
|
return f() || abort();
|
|
});
|
|
if (result.aborted || !result.node) return;
|
|
if (result.error) this.state = result.failState;
|
|
return result.node;
|
|
};
|
|
_proto.tsTryParse = function tsTryParse(f) {
|
|
var state = this.state.clone();
|
|
var result = f();
|
|
if (result !== undefined && result !== false) {
|
|
return result;
|
|
}
|
|
this.state = state;
|
|
};
|
|
_proto.tsTryParseDeclare = function tsTryParseDeclare(nany) {
|
|
var _this16 = this;
|
|
if (this.isLineTerminator()) {
|
|
return;
|
|
}
|
|
var startType = this.state.type;
|
|
var kind;
|
|
if (this.isContextual(99)) {
|
|
startType = 74;
|
|
kind = "let";
|
|
}
|
|
return this.tsInAmbientContext(function () {
|
|
switch (startType) {
|
|
case 68:
|
|
nany.declare = true;
|
|
return _superClass.prototype.parseFunctionStatement.call(_this16, nany, false, false);
|
|
case 80:
|
|
nany.declare = true;
|
|
return _this16.parseClass(nany, true, false);
|
|
case 124:
|
|
return _this16.tsParseEnumDeclaration(nany, {
|
|
declare: true
|
|
});
|
|
case 110:
|
|
return _this16.tsParseAmbientExternalModuleDeclaration(nany);
|
|
case 75:
|
|
case 74:
|
|
if (!_this16.match(75) || !_this16.isLookaheadContextual("enum")) {
|
|
nany.declare = true;
|
|
return _this16.parseVarStatement(nany, kind || _this16.state.value, true);
|
|
}
|
|
_this16.expect(75);
|
|
return _this16.tsParseEnumDeclaration(nany, {
|
|
"const": true,
|
|
declare: true
|
|
});
|
|
case 127:
|
|
{
|
|
var result = _this16.tsParseInterfaceDeclaration(nany, {
|
|
declare: true
|
|
});
|
|
if (result) return result;
|
|
}
|
|
default:
|
|
if (tokenIsIdentifier(startType)) {
|
|
return _this16.tsParseDeclaration(nany, _this16.state.value, true, null);
|
|
}
|
|
}
|
|
});
|
|
};
|
|
_proto.tsTryParseExportDeclaration = function tsTryParseExportDeclaration() {
|
|
return this.tsParseDeclaration(this.startNode(), this.state.value, true, null);
|
|
};
|
|
_proto.tsParseExpressionStatement = function tsParseExpressionStatement(node, expr, decorators) {
|
|
switch (expr.name) {
|
|
case "declare":
|
|
{
|
|
var declaration = this.tsTryParseDeclare(node);
|
|
if (declaration) {
|
|
declaration.declare = true;
|
|
}
|
|
return declaration;
|
|
}
|
|
case "global":
|
|
if (this.match(5)) {
|
|
this.scope.enter(SCOPE_TS_MODULE);
|
|
this.prodParam.enter(PARAM);
|
|
var mod = node;
|
|
mod.global = true;
|
|
mod.id = expr;
|
|
mod.body = this.tsParseModuleBlock();
|
|
this.scope.exit();
|
|
this.prodParam.exit();
|
|
return this.finishNode(mod, "TSModuleDeclaration");
|
|
}
|
|
break;
|
|
default:
|
|
return this.tsParseDeclaration(node, expr.name, false, decorators);
|
|
}
|
|
};
|
|
_proto.tsParseDeclaration = function tsParseDeclaration(node, value, next, decorators) {
|
|
switch (value) {
|
|
case "abstract":
|
|
if (this.tsCheckLineTerminator(next) && (this.match(80) || tokenIsIdentifier(this.state.type))) {
|
|
return this.tsParseAbstractDeclaration(node, decorators);
|
|
}
|
|
break;
|
|
case "module":
|
|
if (this.tsCheckLineTerminator(next)) {
|
|
if (this.match(131)) {
|
|
return this.tsParseAmbientExternalModuleDeclaration(node);
|
|
} else if (tokenIsIdentifier(this.state.type)) {
|
|
return this.tsParseModuleOrNamespaceDeclaration(node);
|
|
}
|
|
}
|
|
break;
|
|
case "namespace":
|
|
if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) {
|
|
return this.tsParseModuleOrNamespaceDeclaration(node);
|
|
}
|
|
break;
|
|
case "type":
|
|
if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) {
|
|
return this.tsParseTypeAliasDeclaration(node);
|
|
}
|
|
break;
|
|
}
|
|
};
|
|
_proto.tsCheckLineTerminator = function tsCheckLineTerminator(next) {
|
|
if (next) {
|
|
if (this.hasFollowingLineBreak()) return false;
|
|
this.next();
|
|
return true;
|
|
}
|
|
return !this.isLineTerminator();
|
|
};
|
|
_proto.tsTryParseGenericAsyncArrowFunction = function tsTryParseGenericAsyncArrowFunction(startLoc) {
|
|
var _this17 = this;
|
|
if (!this.match(47)) return;
|
|
var oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
|
|
this.state.maybeInArrowParameters = true;
|
|
var res = this.tsTryParseAndCatch(function () {
|
|
var node = _this17.startNodeAt(startLoc);
|
|
node.typeParameters = _this17.tsParseTypeParameters(_this17.tsParseConstModifier);
|
|
_superClass.prototype.parseFunctionParams.call(_this17, node);
|
|
node.returnType = _this17.tsTryParseTypeOrTypePredicateAnnotation();
|
|
_this17.expect(19);
|
|
return node;
|
|
});
|
|
this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
|
|
if (!res) return;
|
|
return _superClass.prototype.parseArrowExpression.call(this, res, null, true);
|
|
};
|
|
_proto.tsParseTypeArgumentsInExpression = function tsParseTypeArgumentsInExpression() {
|
|
if (this.reScan_lt() !== 47) return;
|
|
return this.tsParseTypeArguments();
|
|
};
|
|
_proto.tsParseTypeArguments = function tsParseTypeArguments() {
|
|
var _this18 = this;
|
|
var node = this.startNode();
|
|
node.params = this.tsInType(function () {
|
|
return _this18.tsInNoContext(function () {
|
|
_this18.expect(47);
|
|
return _this18.tsParseDelimitedList("TypeParametersOrArguments", _this18.tsParseType.bind(_this18));
|
|
});
|
|
});
|
|
if (node.params.length === 0) {
|
|
this.raise(TSErrors.EmptyTypeArguments, {
|
|
at: node
|
|
});
|
|
}
|
|
this.expect(48);
|
|
return this.finishNode(node, "TSTypeParameterInstantiation");
|
|
};
|
|
_proto.tsIsDeclarationStart = function tsIsDeclarationStart() {
|
|
return tokenIsTSDeclarationStart(this.state.type);
|
|
};
|
|
_proto.isExportDefaultSpecifier = function isExportDefaultSpecifier() {
|
|
if (this.tsIsDeclarationStart()) return false;
|
|
return _superClass.prototype.isExportDefaultSpecifier.call(this);
|
|
};
|
|
_proto.parseAssignableListItem = function parseAssignableListItem(flags, decorators) {
|
|
var startLoc = this.state.startLoc;
|
|
var modified = {};
|
|
this.tsParseModifiers({
|
|
allowedModifiers: ["public", "private", "protected", "override", "readonly"]
|
|
}, modified);
|
|
var accessibility = modified.accessibility;
|
|
var override = modified.override;
|
|
var readonly = modified.readonly;
|
|
if (!(flags & ParseBindingListFlags.IS_CONSTRUCTOR_PARAMS) && (accessibility || readonly || override)) {
|
|
this.raise(TSErrors.UnexpectedParameterModifier, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
var left = this.parseMaybeDefault();
|
|
this.parseAssignableListItemTypes(left, flags);
|
|
var elt = this.parseMaybeDefault(left.loc.start, left);
|
|
if (accessibility || readonly || override) {
|
|
var pp = this.startNodeAt(startLoc);
|
|
if (decorators.length) {
|
|
pp.decorators = decorators;
|
|
}
|
|
if (accessibility) pp.accessibility = accessibility;
|
|
if (readonly) pp.readonly = readonly;
|
|
if (override) pp.override = override;
|
|
if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") {
|
|
this.raise(TSErrors.UnsupportedParameterPropertyKind, {
|
|
at: pp
|
|
});
|
|
}
|
|
pp.parameter = elt;
|
|
return this.finishNode(pp, "TSParameterProperty");
|
|
}
|
|
if (decorators.length) {
|
|
left.decorators = decorators;
|
|
}
|
|
return elt;
|
|
};
|
|
_proto.isSimpleParameter = function isSimpleParameter(node) {
|
|
return node.type === "TSParameterProperty" && _superClass.prototype.isSimpleParameter.call(this, node.parameter) || _superClass.prototype.isSimpleParameter.call(this, node);
|
|
};
|
|
_proto.tsDisallowOptionalPattern = function tsDisallowOptionalPattern(node) {
|
|
for (var _i4 = 0, _node$params2 = node.params; _i4 < _node$params2.length; _i4++) {
|
|
var param = _node$params2[_i4];
|
|
if (param.type !== "Identifier" && param.optional && !this.state.isAmbientContext) {
|
|
this.raise(TSErrors.PatternIsOptional, {
|
|
at: param
|
|
});
|
|
}
|
|
}
|
|
};
|
|
_proto.setArrowFunctionParameters = function setArrowFunctionParameters(node, params, trailingCommaLoc) {
|
|
_superClass.prototype.setArrowFunctionParameters.call(this, node, params, trailingCommaLoc);
|
|
this.tsDisallowOptionalPattern(node);
|
|
};
|
|
_proto.parseFunctionBodyAndFinish = function parseFunctionBodyAndFinish(node, type, isMethod) {
|
|
if (isMethod === void 0) {
|
|
isMethod = false;
|
|
}
|
|
if (this.match(14)) {
|
|
node.returnType = this.tsParseTypeOrTypePredicateAnnotation(14);
|
|
}
|
|
var bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" || type === "ClassPrivateMethod" ? "TSDeclareMethod" : undefined;
|
|
if (bodilessType && !this.match(5) && this.isLineTerminator()) {
|
|
return this.finishNode(node, bodilessType);
|
|
}
|
|
if (bodilessType === "TSDeclareFunction" && this.state.isAmbientContext) {
|
|
this.raise(TSErrors.DeclareFunctionHasImplementation, {
|
|
at: node
|
|
});
|
|
if (node.declare) {
|
|
return _superClass.prototype.parseFunctionBodyAndFinish.call(this, node, bodilessType, isMethod);
|
|
}
|
|
}
|
|
this.tsDisallowOptionalPattern(node);
|
|
return _superClass.prototype.parseFunctionBodyAndFinish.call(this, node, type, isMethod);
|
|
};
|
|
_proto.registerFunctionStatementId = function registerFunctionStatementId(node) {
|
|
if (!node.body && node.id) {
|
|
this.checkIdentifier(node.id, BIND_TS_AMBIENT);
|
|
} else {
|
|
_superClass.prototype.registerFunctionStatementId.call(this, node);
|
|
}
|
|
};
|
|
_proto.tsCheckForInvalidTypeCasts = function tsCheckForInvalidTypeCasts(items) {
|
|
var _this19 = this;
|
|
items.forEach(function (node) {
|
|
if ((node == null ? void 0 : node.type) === "TSTypeCastExpression") {
|
|
_this19.raise(TSErrors.UnexpectedTypeAnnotation, {
|
|
at: node.typeAnnotation
|
|
});
|
|
}
|
|
});
|
|
};
|
|
_proto.toReferencedList = function toReferencedList(exprList, isInParens) {
|
|
this.tsCheckForInvalidTypeCasts(exprList);
|
|
return exprList;
|
|
};
|
|
_proto.parseArrayLike = function parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {
|
|
var node = _superClass.prototype.parseArrayLike.call(this, close, canBePattern, isTuple, refExpressionErrors);
|
|
if (node.type === "ArrayExpression") {
|
|
this.tsCheckForInvalidTypeCasts(node.elements);
|
|
}
|
|
return node;
|
|
};
|
|
_proto.parseSubscript = function parseSubscript(base, startLoc, noCalls, state) {
|
|
var _this20 = this;
|
|
if (!this.hasPrecedingLineBreak() && this.match(35)) {
|
|
this.state.canStartJSXElement = false;
|
|
this.next();
|
|
var nonNullExpression = this.startNodeAt(startLoc);
|
|
nonNullExpression.expression = base;
|
|
return this.finishNode(nonNullExpression, "TSNonNullExpression");
|
|
}
|
|
var isOptionalCall = false;
|
|
if (this.match(18) && this.lookaheadCharCode() === 60) {
|
|
if (noCalls) {
|
|
state.stop = true;
|
|
return base;
|
|
}
|
|
state.optionalChainMember = isOptionalCall = true;
|
|
this.next();
|
|
}
|
|
if (this.match(47) || this.match(51)) {
|
|
var missingParenErrorLoc;
|
|
var result = this.tsTryParseAndCatch(function () {
|
|
if (!noCalls && _this20.atPossibleAsyncArrow(base)) {
|
|
var asyncArrowFn = _this20.tsTryParseGenericAsyncArrowFunction(startLoc);
|
|
if (asyncArrowFn) {
|
|
return asyncArrowFn;
|
|
}
|
|
}
|
|
var typeArguments = _this20.tsParseTypeArgumentsInExpression();
|
|
if (!typeArguments) return;
|
|
if (isOptionalCall && !_this20.match(10)) {
|
|
missingParenErrorLoc = _this20.state.curPosition();
|
|
return;
|
|
}
|
|
if (tokenIsTemplate(_this20.state.type)) {
|
|
var _result = _superClass.prototype.parseTaggedTemplateExpression.call(_this20, base, startLoc, state);
|
|
_result.typeParameters = typeArguments;
|
|
return _result;
|
|
}
|
|
if (!noCalls && _this20.eat(10)) {
|
|
var _node7 = _this20.startNodeAt(startLoc);
|
|
_node7.callee = base;
|
|
_node7.arguments = _this20.parseCallExpressionArguments(11, false);
|
|
_this20.tsCheckForInvalidTypeCasts(_node7.arguments);
|
|
_node7.typeParameters = typeArguments;
|
|
if (state.optionalChainMember) {
|
|
_node7.optional = isOptionalCall;
|
|
}
|
|
return _this20.finishCallExpression(_node7, state.optionalChainMember);
|
|
}
|
|
var tokenType = _this20.state.type;
|
|
if (tokenType === 48 || tokenType === 52 || tokenType !== 10 && tokenCanStartExpression(tokenType) && !_this20.hasPrecedingLineBreak()) {
|
|
return;
|
|
}
|
|
var node = _this20.startNodeAt(startLoc);
|
|
node.expression = base;
|
|
node.typeParameters = typeArguments;
|
|
return _this20.finishNode(node, "TSInstantiationExpression");
|
|
});
|
|
if (missingParenErrorLoc) {
|
|
this.unexpected(missingParenErrorLoc, 10);
|
|
}
|
|
if (result) {
|
|
if (result.type === "TSInstantiationExpression" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40)) {
|
|
this.raise(TSErrors.InvalidPropertyAccessAfterInstantiationExpression, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
return result;
|
|
}
|
|
}
|
|
return _superClass.prototype.parseSubscript.call(this, base, startLoc, noCalls, state);
|
|
};
|
|
_proto.parseNewCallee = function parseNewCallee(node) {
|
|
var _callee$extra;
|
|
_superClass.prototype.parseNewCallee.call(this, node);
|
|
var callee = node.callee;
|
|
if (callee.type === "TSInstantiationExpression" && !((_callee$extra = callee.extra) != null && _callee$extra.parenthesized)) {
|
|
node.typeParameters = callee.typeParameters;
|
|
node.callee = callee.expression;
|
|
}
|
|
};
|
|
_proto.parseExprOp = function parseExprOp(left, leftStartLoc, minPrec) {
|
|
var _this21 = this;
|
|
var isSatisfies;
|
|
if (tokenOperatorPrecedence(58) > minPrec && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (isSatisfies = this.isContextual(118)))) {
|
|
var _node8 = this.startNodeAt(leftStartLoc);
|
|
_node8.expression = left;
|
|
_node8.typeAnnotation = this.tsInType(function () {
|
|
_this21.next();
|
|
if (_this21.match(75)) {
|
|
if (isSatisfies) {
|
|
_this21.raise(Errors.UnexpectedKeyword, {
|
|
at: _this21.state.startLoc,
|
|
keyword: "const"
|
|
});
|
|
}
|
|
return _this21.tsParseTypeReference();
|
|
}
|
|
return _this21.tsParseType();
|
|
});
|
|
this.finishNode(_node8, isSatisfies ? "TSSatisfiesExpression" : "TSAsExpression");
|
|
this.reScan_lt_gt();
|
|
return this.parseExprOp(_node8, leftStartLoc, minPrec);
|
|
}
|
|
return _superClass.prototype.parseExprOp.call(this, left, leftStartLoc, minPrec);
|
|
};
|
|
_proto.checkReservedWord = function checkReservedWord(word, startLoc, checkKeywords, isBinding) {
|
|
if (!this.state.isAmbientContext) {
|
|
_superClass.prototype.checkReservedWord.call(this, word, startLoc, checkKeywords, isBinding);
|
|
}
|
|
};
|
|
_proto.checkImportReflection = function checkImportReflection(node) {
|
|
_superClass.prototype.checkImportReflection.call(this, node);
|
|
if (node.module && node.importKind !== "value") {
|
|
this.raise(TSErrors.ImportReflectionHasImportType, {
|
|
at: node.specifiers[0].loc.start
|
|
});
|
|
}
|
|
};
|
|
_proto.checkDuplicateExports = function checkDuplicateExports() {};
|
|
_proto.parseImport = function parseImport(node) {
|
|
node.importKind = "value";
|
|
if (tokenIsIdentifier(this.state.type) || this.match(55) || this.match(5)) {
|
|
var ahead = this.lookahead();
|
|
if (this.isContextual(128) && ahead.type !== 12 && ahead.type !== 97 && ahead.type !== 29) {
|
|
node.importKind = "type";
|
|
this.next();
|
|
ahead = this.lookahead();
|
|
}
|
|
if (tokenIsIdentifier(this.state.type) && ahead.type === 29) {
|
|
return this.tsParseImportEqualsDeclaration(node);
|
|
}
|
|
}
|
|
var importNode = _superClass.prototype.parseImport.call(this, node);
|
|
if (importNode.importKind === "type" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === "ImportDefaultSpecifier") {
|
|
this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed, {
|
|
at: importNode
|
|
});
|
|
}
|
|
return importNode;
|
|
};
|
|
_proto.parseExport = function parseExport(node, decorators) {
|
|
if (this.match(83)) {
|
|
this.next();
|
|
if (this.isContextual(128) && this.lookaheadCharCode() !== 61) {
|
|
node.importKind = "type";
|
|
this.next();
|
|
} else {
|
|
node.importKind = "value";
|
|
}
|
|
return this.tsParseImportEqualsDeclaration(node, true);
|
|
} else if (this.eat(29)) {
|
|
var assign = node;
|
|
assign.expression = _superClass.prototype.parseExpression.call(this);
|
|
this.semicolon();
|
|
return this.finishNode(assign, "TSExportAssignment");
|
|
} else if (this.eatContextual(93)) {
|
|
var decl = node;
|
|
this.expectContextual(126);
|
|
decl.id = this.parseIdentifier();
|
|
this.semicolon();
|
|
return this.finishNode(decl, "TSNamespaceExportDeclaration");
|
|
} else {
|
|
node.exportKind = "value";
|
|
if (this.isContextual(128)) {
|
|
var ch = this.lookaheadCharCode();
|
|
if (ch === 123 || ch === 42) {
|
|
this.next();
|
|
node.exportKind = "type";
|
|
}
|
|
}
|
|
return _superClass.prototype.parseExport.call(this, node, decorators);
|
|
}
|
|
};
|
|
_proto.isAbstractClass = function isAbstractClass() {
|
|
return this.isContextual(122) && this.lookahead().type === 80;
|
|
};
|
|
_proto.parseExportDefaultExpression = function parseExportDefaultExpression() {
|
|
if (this.isAbstractClass()) {
|
|
var cls = this.startNode();
|
|
this.next();
|
|
cls["abstract"] = true;
|
|
return this.parseClass(cls, true, true);
|
|
}
|
|
if (this.match(127)) {
|
|
var result = this.tsParseInterfaceDeclaration(this.startNode());
|
|
if (result) return result;
|
|
}
|
|
return _superClass.prototype.parseExportDefaultExpression.call(this);
|
|
};
|
|
_proto.parseVarStatement = function parseVarStatement(node, kind, allowMissingInitializer) {
|
|
if (allowMissingInitializer === void 0) {
|
|
allowMissingInitializer = false;
|
|
}
|
|
var isAmbientContext = this.state.isAmbientContext;
|
|
var declaration = _superClass.prototype.parseVarStatement.call(this, node, kind, allowMissingInitializer || isAmbientContext);
|
|
if (!isAmbientContext) return declaration;
|
|
for (var _i6 = 0, _declaration$declarat2 = declaration.declarations; _i6 < _declaration$declarat2.length; _i6++) {
|
|
var _declaration$declarat3 = _declaration$declarat2[_i6],
|
|
id = _declaration$declarat3.id,
|
|
init = _declaration$declarat3.init;
|
|
if (!init) continue;
|
|
if (kind !== "const" || !!id.typeAnnotation) {
|
|
this.raise(TSErrors.InitializerNotAllowedInAmbientContext, {
|
|
at: init
|
|
});
|
|
} else if (!isValidAmbientConstInitializer(init, this.hasPlugin("estree"))) {
|
|
this.raise(TSErrors.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference, {
|
|
at: init
|
|
});
|
|
}
|
|
}
|
|
return declaration;
|
|
};
|
|
_proto.parseStatementContent = function parseStatementContent(flags, decorators) {
|
|
if (this.match(75) && this.isLookaheadContextual("enum")) {
|
|
var _node9 = this.startNode();
|
|
this.expect(75);
|
|
return this.tsParseEnumDeclaration(_node9, {
|
|
"const": true
|
|
});
|
|
}
|
|
if (this.isContextual(124)) {
|
|
return this.tsParseEnumDeclaration(this.startNode());
|
|
}
|
|
if (this.isContextual(127)) {
|
|
var result = this.tsParseInterfaceDeclaration(this.startNode());
|
|
if (result) return result;
|
|
}
|
|
return _superClass.prototype.parseStatementContent.call(this, flags, decorators);
|
|
};
|
|
_proto.parseAccessModifier = function parseAccessModifier() {
|
|
return this.tsParseModifier(["public", "protected", "private"]);
|
|
};
|
|
_proto.tsHasSomeModifiers = function tsHasSomeModifiers(member, modifiers) {
|
|
return modifiers.some(function (modifier) {
|
|
if (tsIsAccessModifier(modifier)) {
|
|
return member.accessibility === modifier;
|
|
}
|
|
return !!member[modifier];
|
|
});
|
|
};
|
|
_proto.tsIsStartOfStaticBlocks = function tsIsStartOfStaticBlocks() {
|
|
return this.isContextual(104) && this.lookaheadCharCode() === 123;
|
|
};
|
|
_proto.parseClassMember = function parseClassMember(classBody, member, state) {
|
|
var _this22 = this;
|
|
var modifiers = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"];
|
|
this.tsParseModifiers({
|
|
allowedModifiers: modifiers,
|
|
disallowedModifiers: ["in", "out"],
|
|
stopOnStartOfClassStaticBlock: true,
|
|
errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions
|
|
}, member);
|
|
var callParseClassMemberWithIsStatic = function callParseClassMemberWithIsStatic() {
|
|
if (_this22.tsIsStartOfStaticBlocks()) {
|
|
_this22.next();
|
|
_this22.next();
|
|
if (_this22.tsHasSomeModifiers(member, modifiers)) {
|
|
_this22.raise(TSErrors.StaticBlockCannotHaveModifier, {
|
|
at: _this22.state.curPosition()
|
|
});
|
|
}
|
|
_superClass.prototype.parseClassStaticBlock.call(_this22, classBody, member);
|
|
} else {
|
|
_this22.parseClassMemberWithIsStatic(classBody, member, state, !!member["static"]);
|
|
}
|
|
};
|
|
if (member.declare) {
|
|
this.tsInAmbientContext(callParseClassMemberWithIsStatic);
|
|
} else {
|
|
callParseClassMemberWithIsStatic();
|
|
}
|
|
};
|
|
_proto.parseClassMemberWithIsStatic = function parseClassMemberWithIsStatic(classBody, member, state, isStatic) {
|
|
var idx = this.tsTryParseIndexSignature(member);
|
|
if (idx) {
|
|
classBody.body.push(idx);
|
|
if (member["abstract"]) {
|
|
this.raise(TSErrors.IndexSignatureHasAbstract, {
|
|
at: member
|
|
});
|
|
}
|
|
if (member.accessibility) {
|
|
this.raise(TSErrors.IndexSignatureHasAccessibility, {
|
|
at: member,
|
|
modifier: member.accessibility
|
|
});
|
|
}
|
|
if (member.declare) {
|
|
this.raise(TSErrors.IndexSignatureHasDeclare, {
|
|
at: member
|
|
});
|
|
}
|
|
if (member.override) {
|
|
this.raise(TSErrors.IndexSignatureHasOverride, {
|
|
at: member
|
|
});
|
|
}
|
|
return;
|
|
}
|
|
if (!this.state.inAbstractClass && member["abstract"]) {
|
|
this.raise(TSErrors.NonAbstractClassHasAbstractMethod, {
|
|
at: member
|
|
});
|
|
}
|
|
if (member.override) {
|
|
if (!state.hadSuperClass) {
|
|
this.raise(TSErrors.OverrideNotInSubClass, {
|
|
at: member
|
|
});
|
|
}
|
|
}
|
|
_superClass.prototype.parseClassMemberWithIsStatic.call(this, classBody, member, state, isStatic);
|
|
};
|
|
_proto.parsePostMemberNameModifiers = function parsePostMemberNameModifiers(methodOrProp) {
|
|
var optional = this.eat(17);
|
|
if (optional) methodOrProp.optional = true;
|
|
if (methodOrProp.readonly && this.match(10)) {
|
|
this.raise(TSErrors.ClassMethodHasReadonly, {
|
|
at: methodOrProp
|
|
});
|
|
}
|
|
if (methodOrProp.declare && this.match(10)) {
|
|
this.raise(TSErrors.ClassMethodHasDeclare, {
|
|
at: methodOrProp
|
|
});
|
|
}
|
|
};
|
|
_proto.parseExpressionStatement = function parseExpressionStatement(node, expr, decorators) {
|
|
var decl = expr.type === "Identifier" ? this.tsParseExpressionStatement(node, expr, decorators) : undefined;
|
|
return decl || _superClass.prototype.parseExpressionStatement.call(this, node, expr, decorators);
|
|
};
|
|
_proto.shouldParseExportDeclaration = function shouldParseExportDeclaration() {
|
|
if (this.tsIsDeclarationStart()) return true;
|
|
return _superClass.prototype.shouldParseExportDeclaration.call(this);
|
|
};
|
|
_proto.parseConditional = function parseConditional(expr, startLoc, refExpressionErrors) {
|
|
var _this23 = this;
|
|
if (!this.state.maybeInArrowParameters || !this.match(17)) {
|
|
return _superClass.prototype.parseConditional.call(this, expr, startLoc, refExpressionErrors);
|
|
}
|
|
var result = this.tryParse(function () {
|
|
return _superClass.prototype.parseConditional.call(_this23, expr, startLoc);
|
|
});
|
|
if (!result.node) {
|
|
if (result.error) {
|
|
_superClass.prototype.setOptionalParametersError.call(this, refExpressionErrors, result.error);
|
|
}
|
|
return expr;
|
|
}
|
|
if (result.error) this.state = result.failState;
|
|
return result.node;
|
|
};
|
|
_proto.parseParenItem = function parseParenItem(node, startLoc) {
|
|
node = _superClass.prototype.parseParenItem.call(this, node, startLoc);
|
|
if (this.eat(17)) {
|
|
node.optional = true;
|
|
this.resetEndLocation(node);
|
|
}
|
|
if (this.match(14)) {
|
|
var typeCastNode = this.startNodeAt(startLoc);
|
|
typeCastNode.expression = node;
|
|
typeCastNode.typeAnnotation = this.tsParseTypeAnnotation();
|
|
return this.finishNode(typeCastNode, "TSTypeCastExpression");
|
|
}
|
|
return node;
|
|
};
|
|
_proto.parseExportDeclaration = function parseExportDeclaration(node) {
|
|
var _this24 = this;
|
|
if (!this.state.isAmbientContext && this.isContextual(123)) {
|
|
return this.tsInAmbientContext(function () {
|
|
return _this24.parseExportDeclaration(node);
|
|
});
|
|
}
|
|
var startLoc = this.state.startLoc;
|
|
var isDeclare = this.eatContextual(123);
|
|
if (isDeclare && (this.isContextual(123) || !this.shouldParseExportDeclaration())) {
|
|
throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
var isIdentifier = tokenIsIdentifier(this.state.type);
|
|
var declaration = isIdentifier && this.tsTryParseExportDeclaration() || _superClass.prototype.parseExportDeclaration.call(this, node);
|
|
if (!declaration) return null;
|
|
if (declaration.type === "TSInterfaceDeclaration" || declaration.type === "TSTypeAliasDeclaration" || isDeclare) {
|
|
node.exportKind = "type";
|
|
}
|
|
if (isDeclare) {
|
|
this.resetStartLocation(declaration, startLoc);
|
|
declaration.declare = true;
|
|
}
|
|
return declaration;
|
|
};
|
|
_proto.parseClassId = function parseClassId(node, isStatement, optionalId, bindingType) {
|
|
if ((!isStatement || optionalId) && this.isContextual(111)) {
|
|
return;
|
|
}
|
|
_superClass.prototype.parseClassId.call(this, node, isStatement, optionalId, node.declare ? BIND_TS_AMBIENT : BIND_CLASS);
|
|
var typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);
|
|
if (typeParameters) node.typeParameters = typeParameters;
|
|
};
|
|
_proto.parseClassPropertyAnnotation = function parseClassPropertyAnnotation(node) {
|
|
if (!node.optional) {
|
|
if (this.eat(35)) {
|
|
node.definite = true;
|
|
} else if (this.eat(17)) {
|
|
node.optional = true;
|
|
}
|
|
}
|
|
var type = this.tsTryParseTypeAnnotation();
|
|
if (type) node.typeAnnotation = type;
|
|
};
|
|
_proto.parseClassProperty = function parseClassProperty(node) {
|
|
this.parseClassPropertyAnnotation(node);
|
|
if (this.state.isAmbientContext && !(node.readonly && !node.typeAnnotation) && this.match(29)) {
|
|
this.raise(TSErrors.DeclareClassFieldHasInitializer, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
if (node["abstract"] && this.match(29)) {
|
|
var key = node.key;
|
|
this.raise(TSErrors.AbstractPropertyHasInitializer, {
|
|
at: this.state.startLoc,
|
|
propertyName: key.type === "Identifier" && !node.computed ? key.name : "[" + this.input.slice(key.start, key.end) + "]"
|
|
});
|
|
}
|
|
return _superClass.prototype.parseClassProperty.call(this, node);
|
|
};
|
|
_proto.parseClassPrivateProperty = function parseClassPrivateProperty(node) {
|
|
if (node["abstract"]) {
|
|
this.raise(TSErrors.PrivateElementHasAbstract, {
|
|
at: node
|
|
});
|
|
}
|
|
if (node.accessibility) {
|
|
this.raise(TSErrors.PrivateElementHasAccessibility, {
|
|
at: node,
|
|
modifier: node.accessibility
|
|
});
|
|
}
|
|
this.parseClassPropertyAnnotation(node);
|
|
return _superClass.prototype.parseClassPrivateProperty.call(this, node);
|
|
};
|
|
_proto.parseClassAccessorProperty = function parseClassAccessorProperty(node) {
|
|
this.parseClassPropertyAnnotation(node);
|
|
if (node.optional) {
|
|
this.raise(TSErrors.AccessorCannotBeOptional, {
|
|
at: node
|
|
});
|
|
}
|
|
return _superClass.prototype.parseClassAccessorProperty.call(this, node);
|
|
};
|
|
_proto.pushClassMethod = function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
|
|
var typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier);
|
|
if (typeParameters && isConstructor) {
|
|
this.raise(TSErrors.ConstructorHasTypeParameters, {
|
|
at: typeParameters
|
|
});
|
|
}
|
|
var _method$declare = method.declare,
|
|
declare = _method$declare === void 0 ? false : _method$declare,
|
|
kind = method.kind;
|
|
if (declare && (kind === "get" || kind === "set")) {
|
|
this.raise(TSErrors.DeclareAccessor, {
|
|
at: method,
|
|
kind: kind
|
|
});
|
|
}
|
|
if (typeParameters) method.typeParameters = typeParameters;
|
|
_superClass.prototype.pushClassMethod.call(this, classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper);
|
|
};
|
|
_proto.pushClassPrivateMethod = function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {
|
|
var typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier);
|
|
if (typeParameters) method.typeParameters = typeParameters;
|
|
_superClass.prototype.pushClassPrivateMethod.call(this, classBody, method, isGenerator, isAsync);
|
|
};
|
|
_proto.declareClassPrivateMethodInScope = function declareClassPrivateMethodInScope(node, kind) {
|
|
if (node.type === "TSDeclareMethod") return;
|
|
if (node.type === "MethodDefinition" && !node.value.body) return;
|
|
_superClass.prototype.declareClassPrivateMethodInScope.call(this, node, kind);
|
|
};
|
|
_proto.parseClassSuper = function parseClassSuper(node) {
|
|
_superClass.prototype.parseClassSuper.call(this, node);
|
|
if (node.superClass && (this.match(47) || this.match(51))) {
|
|
node.superTypeParameters = this.tsParseTypeArgumentsInExpression();
|
|
}
|
|
if (this.eatContextual(111)) {
|
|
node["implements"] = this.tsParseHeritageClause("implements");
|
|
}
|
|
};
|
|
_proto.parseObjPropValue = function parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {
|
|
var typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier);
|
|
if (typeParameters) prop.typeParameters = typeParameters;
|
|
return _superClass.prototype.parseObjPropValue.call(this, prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors);
|
|
};
|
|
_proto.parseFunctionParams = function parseFunctionParams(node, isConstructor) {
|
|
var typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier);
|
|
if (typeParameters) node.typeParameters = typeParameters;
|
|
_superClass.prototype.parseFunctionParams.call(this, node, isConstructor);
|
|
};
|
|
_proto.parseVarId = function parseVarId(decl, kind) {
|
|
_superClass.prototype.parseVarId.call(this, decl, kind);
|
|
if (decl.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35)) {
|
|
decl.definite = true;
|
|
}
|
|
var type = this.tsTryParseTypeAnnotation();
|
|
if (type) {
|
|
decl.id.typeAnnotation = type;
|
|
this.resetEndLocation(decl.id);
|
|
}
|
|
};
|
|
_proto.parseAsyncArrowFromCallExpression = function parseAsyncArrowFromCallExpression(node, call) {
|
|
if (this.match(14)) {
|
|
node.returnType = this.tsParseTypeAnnotation();
|
|
}
|
|
return _superClass.prototype.parseAsyncArrowFromCallExpression.call(this, node, call);
|
|
};
|
|
_proto.parseMaybeAssign = function parseMaybeAssign(refExpressionErrors, afterLeftParse) {
|
|
var _this25 = this,
|
|
_jsx,
|
|
_jsx2,
|
|
_typeCast,
|
|
_jsx3,
|
|
_typeCast2;
|
|
var state;
|
|
var jsx;
|
|
var typeCast;
|
|
if (this.hasPlugin("jsx") && (this.match(140) || this.match(47))) {
|
|
state = this.state.clone();
|
|
jsx = this.tryParse(function () {
|
|
return _superClass.prototype.parseMaybeAssign.call(_this25, refExpressionErrors, afterLeftParse);
|
|
}, state);
|
|
if (!jsx.error) return jsx.node;
|
|
var context = this.state.context;
|
|
var currentContext = context[context.length - 1];
|
|
if (currentContext === types.j_oTag || currentContext === types.j_expr) {
|
|
context.pop();
|
|
}
|
|
}
|
|
if (!((_jsx = jsx) != null && _jsx.error) && !this.match(47)) {
|
|
return _superClass.prototype.parseMaybeAssign.call(this, refExpressionErrors, afterLeftParse);
|
|
}
|
|
if (!state || state === this.state) state = this.state.clone();
|
|
var typeParameters;
|
|
var arrow = this.tryParse(function (abort) {
|
|
var _expr$extra, _typeParameters;
|
|
typeParameters = _this25.tsParseTypeParameters(_this25.tsParseConstModifier);
|
|
var expr = _superClass.prototype.parseMaybeAssign.call(_this25, refExpressionErrors, afterLeftParse);
|
|
if (expr.type !== "ArrowFunctionExpression" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) {
|
|
abort();
|
|
}
|
|
if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) {
|
|
_this25.resetStartLocationFromNode(expr, typeParameters);
|
|
}
|
|
expr.typeParameters = typeParameters;
|
|
return expr;
|
|
}, state);
|
|
if (!arrow.error && !arrow.aborted) {
|
|
if (typeParameters) this.reportReservedArrowTypeParam(typeParameters);
|
|
return arrow.node;
|
|
}
|
|
if (!jsx) {
|
|
assert$2(!this.hasPlugin("jsx"));
|
|
typeCast = this.tryParse(function () {
|
|
return _superClass.prototype.parseMaybeAssign.call(_this25, refExpressionErrors, afterLeftParse);
|
|
}, state);
|
|
if (!typeCast.error) return typeCast.node;
|
|
}
|
|
if ((_jsx2 = jsx) != null && _jsx2.node) {
|
|
this.state = jsx.failState;
|
|
return jsx.node;
|
|
}
|
|
if (arrow.node) {
|
|
this.state = arrow.failState;
|
|
if (typeParameters) this.reportReservedArrowTypeParam(typeParameters);
|
|
return arrow.node;
|
|
}
|
|
if ((_typeCast = typeCast) != null && _typeCast.node) {
|
|
this.state = typeCast.failState;
|
|
return typeCast.node;
|
|
}
|
|
throw ((_jsx3 = jsx) == null ? void 0 : _jsx3.error) || arrow.error || ((_typeCast2 = typeCast) == null ? void 0 : _typeCast2.error);
|
|
};
|
|
_proto.reportReservedArrowTypeParam = function reportReservedArrowTypeParam(node) {
|
|
var _node$extra;
|
|
if (node.params.length === 1 && !node.params[0].constraint && !((_node$extra = node.extra) != null && _node$extra.trailingComma) && this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) {
|
|
this.raise(TSErrors.ReservedArrowTypeParam, {
|
|
at: node
|
|
});
|
|
}
|
|
};
|
|
_proto.parseMaybeUnary = function parseMaybeUnary(refExpressionErrors, sawUnary) {
|
|
if (!this.hasPlugin("jsx") && this.match(47)) {
|
|
return this.tsParseTypeAssertion();
|
|
}
|
|
return _superClass.prototype.parseMaybeUnary.call(this, refExpressionErrors, sawUnary);
|
|
};
|
|
_proto.parseArrow = function parseArrow(node) {
|
|
var _this26 = this;
|
|
if (this.match(14)) {
|
|
var result = this.tryParse(function (abort) {
|
|
var returnType = _this26.tsParseTypeOrTypePredicateAnnotation(14);
|
|
if (_this26.canInsertSemicolon() || !_this26.match(19)) abort();
|
|
return returnType;
|
|
});
|
|
if (result.aborted) return;
|
|
if (!result.thrown) {
|
|
if (result.error) this.state = result.failState;
|
|
node.returnType = result.node;
|
|
}
|
|
}
|
|
return _superClass.prototype.parseArrow.call(this, node);
|
|
};
|
|
_proto.parseAssignableListItemTypes = function parseAssignableListItemTypes(param, flags) {
|
|
if (!(flags & ParseBindingListFlags.IS_FUNCTION_PARAMS)) return param;
|
|
if (this.eat(17)) {
|
|
param.optional = true;
|
|
}
|
|
var type = this.tsTryParseTypeAnnotation();
|
|
if (type) param.typeAnnotation = type;
|
|
this.resetEndLocation(param);
|
|
return param;
|
|
};
|
|
_proto.isAssignable = function isAssignable(node, isBinding) {
|
|
switch (node.type) {
|
|
case "TSTypeCastExpression":
|
|
return this.isAssignable(node.expression, isBinding);
|
|
case "TSParameterProperty":
|
|
return true;
|
|
default:
|
|
return _superClass.prototype.isAssignable.call(this, node, isBinding);
|
|
}
|
|
};
|
|
_proto.toAssignable = function toAssignable(node, isLHS) {
|
|
if (isLHS === void 0) {
|
|
isLHS = false;
|
|
}
|
|
switch (node.type) {
|
|
case "ParenthesizedExpression":
|
|
this.toAssignableParenthesizedExpression(node, isLHS);
|
|
break;
|
|
case "TSAsExpression":
|
|
case "TSSatisfiesExpression":
|
|
case "TSNonNullExpression":
|
|
case "TSTypeAssertion":
|
|
if (isLHS) {
|
|
this.expressionScope.recordArrowParameterBindingError(TSErrors.UnexpectedTypeCastInParameter, {
|
|
at: node
|
|
});
|
|
} else {
|
|
this.raise(TSErrors.UnexpectedTypeCastInParameter, {
|
|
at: node
|
|
});
|
|
}
|
|
this.toAssignable(node.expression, isLHS);
|
|
break;
|
|
case "AssignmentExpression":
|
|
if (!isLHS && node.left.type === "TSTypeCastExpression") {
|
|
node.left = this.typeCastToParameter(node.left);
|
|
}
|
|
default:
|
|
_superClass.prototype.toAssignable.call(this, node, isLHS);
|
|
}
|
|
};
|
|
_proto.toAssignableParenthesizedExpression = function toAssignableParenthesizedExpression(node, isLHS) {
|
|
switch (node.expression.type) {
|
|
case "TSAsExpression":
|
|
case "TSSatisfiesExpression":
|
|
case "TSNonNullExpression":
|
|
case "TSTypeAssertion":
|
|
case "ParenthesizedExpression":
|
|
this.toAssignable(node.expression, isLHS);
|
|
break;
|
|
default:
|
|
_superClass.prototype.toAssignable.call(this, node, isLHS);
|
|
}
|
|
};
|
|
_proto.checkToRestConversion = function checkToRestConversion(node, allowPattern) {
|
|
switch (node.type) {
|
|
case "TSAsExpression":
|
|
case "TSSatisfiesExpression":
|
|
case "TSTypeAssertion":
|
|
case "TSNonNullExpression":
|
|
this.checkToRestConversion(node.expression, false);
|
|
break;
|
|
default:
|
|
_superClass.prototype.checkToRestConversion.call(this, node, allowPattern);
|
|
}
|
|
};
|
|
_proto.isValidLVal = function isValidLVal(type, isUnparenthesizedInAssign, binding) {
|
|
return getOwn({
|
|
TSTypeCastExpression: true,
|
|
TSParameterProperty: "parameter",
|
|
TSNonNullExpression: "expression",
|
|
TSAsExpression: (binding !== BIND_NONE || !isUnparenthesizedInAssign) && ["expression", true],
|
|
TSSatisfiesExpression: (binding !== BIND_NONE || !isUnparenthesizedInAssign) && ["expression", true],
|
|
TSTypeAssertion: (binding !== BIND_NONE || !isUnparenthesizedInAssign) && ["expression", true]
|
|
}, type) || _superClass.prototype.isValidLVal.call(this, type, isUnparenthesizedInAssign, binding);
|
|
};
|
|
_proto.parseBindingAtom = function parseBindingAtom() {
|
|
if (this.state.type === 78) {
|
|
return this.parseIdentifier(true);
|
|
}
|
|
return _superClass.prototype.parseBindingAtom.call(this);
|
|
};
|
|
_proto.parseMaybeDecoratorArguments = function parseMaybeDecoratorArguments(expr) {
|
|
if (this.match(47) || this.match(51)) {
|
|
var typeArguments = this.tsParseTypeArgumentsInExpression();
|
|
if (this.match(10)) {
|
|
var call = _superClass.prototype.parseMaybeDecoratorArguments.call(this, expr);
|
|
call.typeParameters = typeArguments;
|
|
return call;
|
|
}
|
|
this.unexpected(null, 10);
|
|
}
|
|
return _superClass.prototype.parseMaybeDecoratorArguments.call(this, expr);
|
|
};
|
|
_proto.checkCommaAfterRest = function checkCommaAfterRest(close) {
|
|
if (this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === close) {
|
|
this.next();
|
|
return false;
|
|
}
|
|
return _superClass.prototype.checkCommaAfterRest.call(this, close);
|
|
};
|
|
_proto.isClassMethod = function isClassMethod() {
|
|
return this.match(47) || _superClass.prototype.isClassMethod.call(this);
|
|
};
|
|
_proto.isClassProperty = function isClassProperty() {
|
|
return this.match(35) || this.match(14) || _superClass.prototype.isClassProperty.call(this);
|
|
};
|
|
_proto.parseMaybeDefault = function parseMaybeDefault(startLoc, left) {
|
|
var node = _superClass.prototype.parseMaybeDefault.call(this, startLoc, left);
|
|
if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) {
|
|
this.raise(TSErrors.TypeAnnotationAfterAssign, {
|
|
at: node.typeAnnotation
|
|
});
|
|
}
|
|
return node;
|
|
};
|
|
_proto.getTokenFromCode = function getTokenFromCode(code) {
|
|
if (this.state.inType) {
|
|
if (code === 62) {
|
|
this.finishOp(48, 1);
|
|
return;
|
|
}
|
|
if (code === 60) {
|
|
this.finishOp(47, 1);
|
|
return;
|
|
}
|
|
}
|
|
_superClass.prototype.getTokenFromCode.call(this, code);
|
|
};
|
|
_proto.reScan_lt_gt = function reScan_lt_gt() {
|
|
var type = this.state.type;
|
|
if (type === 47) {
|
|
this.state.pos -= 1;
|
|
this.readToken_lt();
|
|
} else if (type === 48) {
|
|
this.state.pos -= 1;
|
|
this.readToken_gt();
|
|
}
|
|
};
|
|
_proto.reScan_lt = function reScan_lt() {
|
|
var type = this.state.type;
|
|
if (type === 51) {
|
|
this.state.pos -= 2;
|
|
this.finishOp(47, 1);
|
|
return 47;
|
|
}
|
|
return type;
|
|
};
|
|
_proto.toAssignableList = function toAssignableList(exprList, trailingCommaLoc, isLHS) {
|
|
for (var i = 0; i < exprList.length; i++) {
|
|
var expr = exprList[i];
|
|
if ((expr == null ? void 0 : expr.type) === "TSTypeCastExpression") {
|
|
exprList[i] = this.typeCastToParameter(expr);
|
|
}
|
|
}
|
|
_superClass.prototype.toAssignableList.call(this, exprList, trailingCommaLoc, isLHS);
|
|
};
|
|
_proto.typeCastToParameter = function typeCastToParameter(node) {
|
|
node.expression.typeAnnotation = node.typeAnnotation;
|
|
this.resetEndLocation(node.expression, node.typeAnnotation.loc.end);
|
|
return node.expression;
|
|
};
|
|
_proto.shouldParseArrow = function shouldParseArrow(params) {
|
|
var _this27 = this;
|
|
if (this.match(14)) {
|
|
return params.every(function (expr) {
|
|
return _this27.isAssignable(expr, true);
|
|
});
|
|
}
|
|
return _superClass.prototype.shouldParseArrow.call(this, params);
|
|
};
|
|
_proto.shouldParseAsyncArrow = function shouldParseAsyncArrow() {
|
|
return this.match(14) || _superClass.prototype.shouldParseAsyncArrow.call(this);
|
|
};
|
|
_proto.canHaveLeadingDecorator = function canHaveLeadingDecorator() {
|
|
return _superClass.prototype.canHaveLeadingDecorator.call(this) || this.isAbstractClass();
|
|
};
|
|
_proto.jsxParseOpeningElementAfterName = function jsxParseOpeningElementAfterName(node) {
|
|
var _this28 = this;
|
|
if (this.match(47) || this.match(51)) {
|
|
var typeArguments = this.tsTryParseAndCatch(function () {
|
|
return _this28.tsParseTypeArgumentsInExpression();
|
|
});
|
|
if (typeArguments) node.typeParameters = typeArguments;
|
|
}
|
|
return _superClass.prototype.jsxParseOpeningElementAfterName.call(this, node);
|
|
};
|
|
_proto.getGetterSetterExpectedParamCount = function getGetterSetterExpectedParamCount(method) {
|
|
var baseCount = _superClass.prototype.getGetterSetterExpectedParamCount.call(this, method);
|
|
var params = this.getObjectOrClassMethodParams(method);
|
|
var firstParam = params[0];
|
|
var hasContextParam = firstParam && this.isThisParam(firstParam);
|
|
return hasContextParam ? baseCount + 1 : baseCount;
|
|
};
|
|
_proto.parseCatchClauseParam = function parseCatchClauseParam() {
|
|
var param = _superClass.prototype.parseCatchClauseParam.call(this);
|
|
var type = this.tsTryParseTypeAnnotation();
|
|
if (type) {
|
|
param.typeAnnotation = type;
|
|
this.resetEndLocation(param);
|
|
}
|
|
return param;
|
|
};
|
|
_proto.tsInAmbientContext = function tsInAmbientContext(cb) {
|
|
var oldIsAmbientContext = this.state.isAmbientContext;
|
|
this.state.isAmbientContext = true;
|
|
try {
|
|
return cb();
|
|
} finally {
|
|
this.state.isAmbientContext = oldIsAmbientContext;
|
|
}
|
|
};
|
|
_proto.parseClass = function parseClass(node, isStatement, optionalId) {
|
|
var oldInAbstractClass = this.state.inAbstractClass;
|
|
this.state.inAbstractClass = !!node["abstract"];
|
|
try {
|
|
return _superClass.prototype.parseClass.call(this, node, isStatement, optionalId);
|
|
} finally {
|
|
this.state.inAbstractClass = oldInAbstractClass;
|
|
}
|
|
};
|
|
_proto.tsParseAbstractDeclaration = function tsParseAbstractDeclaration(node, decorators) {
|
|
if (this.match(80)) {
|
|
node["abstract"] = true;
|
|
return this.maybeTakeDecorators(decorators, this.parseClass(node, true, false));
|
|
} else if (this.isContextual(127)) {
|
|
if (!this.hasFollowingLineBreak()) {
|
|
node["abstract"] = true;
|
|
this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifer, {
|
|
at: node
|
|
});
|
|
return this.tsParseInterfaceDeclaration(node);
|
|
}
|
|
} else {
|
|
this.unexpected(null, 80);
|
|
}
|
|
};
|
|
_proto.parseMethod = function parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) {
|
|
var method = _superClass.prototype.parseMethod.call(this, node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope);
|
|
if (method["abstract"]) {
|
|
var hasBody = this.hasPlugin("estree") ? !!method.value.body : !!method.body;
|
|
if (hasBody) {
|
|
var key = method.key;
|
|
this.raise(TSErrors.AbstractMethodHasImplementation, {
|
|
at: method,
|
|
methodName: key.type === "Identifier" && !method.computed ? key.name : "[" + this.input.slice(key.start, key.end) + "]"
|
|
});
|
|
}
|
|
}
|
|
return method;
|
|
};
|
|
_proto.tsParseTypeParameterName = function tsParseTypeParameterName() {
|
|
var typeName = this.parseIdentifier();
|
|
return typeName.name;
|
|
};
|
|
_proto.shouldParseAsAmbientContext = function shouldParseAsAmbientContext() {
|
|
return !!this.getPluginOption("typescript", "dts");
|
|
};
|
|
_proto.parse = function parse() {
|
|
if (this.shouldParseAsAmbientContext()) {
|
|
this.state.isAmbientContext = true;
|
|
}
|
|
return _superClass.prototype.parse.call(this);
|
|
};
|
|
_proto.getExpression = function getExpression() {
|
|
if (this.shouldParseAsAmbientContext()) {
|
|
this.state.isAmbientContext = true;
|
|
}
|
|
return _superClass.prototype.getExpression.call(this);
|
|
};
|
|
_proto.parseExportSpecifier = function parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) {
|
|
if (!isString && isMaybeTypeOnly) {
|
|
this.parseTypeOnlyImportExportSpecifier(node, false, isInTypeExport);
|
|
return this.finishNode(node, "ExportSpecifier");
|
|
}
|
|
node.exportKind = "value";
|
|
return _superClass.prototype.parseExportSpecifier.call(this, node, isString, isInTypeExport, isMaybeTypeOnly);
|
|
};
|
|
_proto.parseImportSpecifier = function parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) {
|
|
if (!importedIsString && isMaybeTypeOnly) {
|
|
this.parseTypeOnlyImportExportSpecifier(specifier, true, isInTypeOnlyImport);
|
|
return this.finishNode(specifier, "ImportSpecifier");
|
|
}
|
|
specifier.importKind = "value";
|
|
return _superClass.prototype.parseImportSpecifier.call(this, specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, isInTypeOnlyImport ? BIND_TS_TYPE_IMPORT : BIND_FLAGS_TS_IMPORT);
|
|
};
|
|
_proto.parseTypeOnlyImportExportSpecifier = function parseTypeOnlyImportExportSpecifier(node, isImport, isInTypeOnlyImportExport) {
|
|
var leftOfAsKey = isImport ? "imported" : "local";
|
|
var rightOfAsKey = isImport ? "local" : "exported";
|
|
var leftOfAs = node[leftOfAsKey];
|
|
var rightOfAs;
|
|
var hasTypeSpecifier = false;
|
|
var canParseAsKeyword = true;
|
|
var loc = leftOfAs.loc.start;
|
|
if (this.isContextual(93)) {
|
|
var firstAs = this.parseIdentifier();
|
|
if (this.isContextual(93)) {
|
|
var secondAs = this.parseIdentifier();
|
|
if (tokenIsKeywordOrIdentifier(this.state.type)) {
|
|
hasTypeSpecifier = true;
|
|
leftOfAs = firstAs;
|
|
rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName();
|
|
canParseAsKeyword = false;
|
|
} else {
|
|
rightOfAs = secondAs;
|
|
canParseAsKeyword = false;
|
|
}
|
|
} else if (tokenIsKeywordOrIdentifier(this.state.type)) {
|
|
canParseAsKeyword = false;
|
|
rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName();
|
|
} else {
|
|
hasTypeSpecifier = true;
|
|
leftOfAs = firstAs;
|
|
}
|
|
} else if (tokenIsKeywordOrIdentifier(this.state.type)) {
|
|
hasTypeSpecifier = true;
|
|
if (isImport) {
|
|
leftOfAs = this.parseIdentifier(true);
|
|
if (!this.isContextual(93)) {
|
|
this.checkReservedWord(leftOfAs.name, leftOfAs.loc.start, true, true);
|
|
}
|
|
} else {
|
|
leftOfAs = this.parseModuleExportName();
|
|
}
|
|
}
|
|
if (hasTypeSpecifier && isInTypeOnlyImportExport) {
|
|
this.raise(isImport ? TSErrors.TypeModifierIsUsedInTypeImports : TSErrors.TypeModifierIsUsedInTypeExports, {
|
|
at: loc
|
|
});
|
|
}
|
|
node[leftOfAsKey] = leftOfAs;
|
|
node[rightOfAsKey] = rightOfAs;
|
|
var kindKey = isImport ? "importKind" : "exportKind";
|
|
node[kindKey] = hasTypeSpecifier ? "type" : "value";
|
|
if (canParseAsKeyword && this.eatContextual(93)) {
|
|
node[rightOfAsKey] = isImport ? this.parseIdentifier() : this.parseModuleExportName();
|
|
}
|
|
if (!node[rightOfAsKey]) {
|
|
node[rightOfAsKey] = cloneIdentifier(node[leftOfAsKey]);
|
|
}
|
|
if (isImport) {
|
|
this.checkIdentifier(node[rightOfAsKey], hasTypeSpecifier ? BIND_TS_TYPE_IMPORT : BIND_FLAGS_TS_IMPORT);
|
|
}
|
|
};
|
|
return _createClass(TypeScriptParserMixin);
|
|
}(superClass);
|
|
});
|
|
function isPossiblyLiteralEnum(expression) {
|
|
if (expression.type !== "MemberExpression") return false;
|
|
var computed = expression.computed,
|
|
property = expression.property;
|
|
if (computed && property.type !== "StringLiteral" && (property.type !== "TemplateLiteral" || property.expressions.length > 0)) {
|
|
return false;
|
|
}
|
|
return isUncomputedMemberExpressionChain(expression.object);
|
|
}
|
|
function isValidAmbientConstInitializer(expression, estree) {
|
|
var _expression$extra;
|
|
var type = expression.type;
|
|
if ((_expression$extra = expression.extra) != null && _expression$extra.parenthesized) {
|
|
return false;
|
|
}
|
|
if (estree) {
|
|
if (type === "Literal") {
|
|
var value = expression.value;
|
|
if (typeof value === "string" || typeof value === "boolean") {
|
|
return true;
|
|
}
|
|
}
|
|
} else {
|
|
if (type === "StringLiteral" || type === "BooleanLiteral") {
|
|
return true;
|
|
}
|
|
}
|
|
if (isNumber(expression, estree) || isNegativeNumber(expression, estree)) {
|
|
return true;
|
|
}
|
|
if (type === "TemplateLiteral" && expression.expressions.length === 0) {
|
|
return true;
|
|
}
|
|
if (isPossiblyLiteralEnum(expression)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function isNumber(expression, estree) {
|
|
if (estree) {
|
|
return expression.type === "Literal" && (typeof expression.value === "number" || "bigint" in expression);
|
|
}
|
|
return expression.type === "NumericLiteral" || expression.type === "BigIntLiteral";
|
|
}
|
|
function isNegativeNumber(expression, estree) {
|
|
if (expression.type === "UnaryExpression") {
|
|
var _ref17 = expression,
|
|
operator = _ref17.operator,
|
|
argument = _ref17.argument;
|
|
if (operator === "-" && isNumber(argument, estree)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function isUncomputedMemberExpressionChain(expression) {
|
|
if (expression.type === "Identifier") return true;
|
|
if (expression.type !== "MemberExpression" || expression.computed) {
|
|
return false;
|
|
}
|
|
return isUncomputedMemberExpressionChain(expression.object);
|
|
}
|
|
|
|
var _templateObject$w;
|
|
var PlaceholderErrors = ParseErrorEnum(_templateObject$w || (_templateObject$w = _taggedTemplateLiteralLoose(["placeholders"])))({
|
|
ClassNameIsRequired: "A class name is required.",
|
|
UnexpectedSpace: "Unexpected space in placeholder."
|
|
});
|
|
var placeholders = (function (superClass) {
|
|
return function (_superClass) {
|
|
_inherits(PlaceholdersParserMixin, _superClass);
|
|
function PlaceholdersParserMixin() {
|
|
return _superClass.apply(this, arguments) || this;
|
|
}
|
|
var _proto = PlaceholdersParserMixin.prototype;
|
|
_proto.parsePlaceholder = function parsePlaceholder(expectedNode) {
|
|
if (this.match(142)) {
|
|
var node = this.startNode();
|
|
this.next();
|
|
this.assertNoSpace();
|
|
node.name = _superClass.prototype.parseIdentifier.call(this, true);
|
|
this.assertNoSpace();
|
|
this.expect(142);
|
|
return this.finishPlaceholder(node, expectedNode);
|
|
}
|
|
};
|
|
_proto.finishPlaceholder = function finishPlaceholder(node, expectedNode) {
|
|
var isFinished = !!(node.expectedNode && node.type === "Placeholder");
|
|
node.expectedNode = expectedNode;
|
|
return isFinished ? node : this.finishNode(node, "Placeholder");
|
|
};
|
|
_proto.getTokenFromCode = function getTokenFromCode(code) {
|
|
if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) {
|
|
this.finishOp(142, 2);
|
|
} else {
|
|
_superClass.prototype.getTokenFromCode.call(this, code);
|
|
}
|
|
};
|
|
_proto.parseExprAtom = function parseExprAtom(refExpressionErrors) {
|
|
return this.parsePlaceholder("Expression") || _superClass.prototype.parseExprAtom.call(this, refExpressionErrors);
|
|
};
|
|
_proto.parseIdentifier = function parseIdentifier(liberal) {
|
|
return this.parsePlaceholder("Identifier") || _superClass.prototype.parseIdentifier.call(this, liberal);
|
|
};
|
|
_proto.checkReservedWord = function checkReservedWord(word, startLoc, checkKeywords, isBinding) {
|
|
if (word !== undefined) {
|
|
_superClass.prototype.checkReservedWord.call(this, word, startLoc, checkKeywords, isBinding);
|
|
}
|
|
};
|
|
_proto.parseBindingAtom = function parseBindingAtom() {
|
|
return this.parsePlaceholder("Pattern") || _superClass.prototype.parseBindingAtom.call(this);
|
|
};
|
|
_proto.isValidLVal = function isValidLVal(type, isParenthesized, binding) {
|
|
return type === "Placeholder" || _superClass.prototype.isValidLVal.call(this, type, isParenthesized, binding);
|
|
};
|
|
_proto.toAssignable = function toAssignable(node, isLHS) {
|
|
if (node && node.type === "Placeholder" && node.expectedNode === "Expression") {
|
|
node.expectedNode = "Pattern";
|
|
} else {
|
|
_superClass.prototype.toAssignable.call(this, node, isLHS);
|
|
}
|
|
};
|
|
_proto.chStartsBindingIdentifier = function chStartsBindingIdentifier(ch, pos) {
|
|
if (_superClass.prototype.chStartsBindingIdentifier.call(this, ch, pos)) {
|
|
return true;
|
|
}
|
|
var nextToken = this.lookahead();
|
|
if (nextToken.type === 142) {
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.verifyBreakContinue = function verifyBreakContinue(node, isBreak) {
|
|
if (node.label && node.label.type === "Placeholder") return;
|
|
_superClass.prototype.verifyBreakContinue.call(this, node, isBreak);
|
|
};
|
|
_proto.parseExpressionStatement = function parseExpressionStatement(node, expr) {
|
|
if (expr.type !== "Placeholder" || expr.extra && expr.extra.parenthesized) {
|
|
return _superClass.prototype.parseExpressionStatement.call(this, node, expr);
|
|
}
|
|
if (this.match(14)) {
|
|
var stmt = node;
|
|
stmt.label = this.finishPlaceholder(expr, "Identifier");
|
|
this.next();
|
|
stmt.body = _superClass.prototype.parseStatementOrSloppyAnnexBFunctionDeclaration.call(this);
|
|
return this.finishNode(stmt, "LabeledStatement");
|
|
}
|
|
this.semicolon();
|
|
node.name = expr.name;
|
|
return this.finishPlaceholder(node, "Statement");
|
|
};
|
|
_proto.parseBlock = function parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse) {
|
|
return this.parsePlaceholder("BlockStatement") || _superClass.prototype.parseBlock.call(this, allowDirectives, createNewLexicalScope, afterBlockParse);
|
|
};
|
|
_proto.parseFunctionId = function parseFunctionId(requireId) {
|
|
return this.parsePlaceholder("Identifier") || _superClass.prototype.parseFunctionId.call(this, requireId);
|
|
};
|
|
_proto.parseClass = function parseClass(node, isStatement, optionalId) {
|
|
var type = isStatement ? "ClassDeclaration" : "ClassExpression";
|
|
this.next();
|
|
var oldStrict = this.state.strict;
|
|
var placeholder = this.parsePlaceholder("Identifier");
|
|
if (placeholder) {
|
|
if (this.match(81) || this.match(142) || this.match(5)) {
|
|
node.id = placeholder;
|
|
} else if (optionalId || !isStatement) {
|
|
node.id = null;
|
|
node.body = this.finishPlaceholder(placeholder, "ClassBody");
|
|
return this.finishNode(node, type);
|
|
} else {
|
|
throw this.raise(PlaceholderErrors.ClassNameIsRequired, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
} else {
|
|
this.parseClassId(node, isStatement, optionalId);
|
|
}
|
|
_superClass.prototype.parseClassSuper.call(this, node);
|
|
node.body = this.parsePlaceholder("ClassBody") || _superClass.prototype.parseClassBody.call(this, !!node.superClass, oldStrict);
|
|
return this.finishNode(node, type);
|
|
};
|
|
_proto.parseExport = function parseExport(node, decorators) {
|
|
var placeholder = this.parsePlaceholder("Identifier");
|
|
if (!placeholder) return _superClass.prototype.parseExport.call(this, node, decorators);
|
|
if (!this.isContextual(97) && !this.match(12)) {
|
|
node.specifiers = [];
|
|
node.source = null;
|
|
node.declaration = this.finishPlaceholder(placeholder, "Declaration");
|
|
return this.finishNode(node, "ExportNamedDeclaration");
|
|
}
|
|
this.expectPlugin("exportDefaultFrom");
|
|
var specifier = this.startNode();
|
|
specifier.exported = placeholder;
|
|
node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")];
|
|
return _superClass.prototype.parseExport.call(this, node, decorators);
|
|
};
|
|
_proto.isExportDefaultSpecifier = function isExportDefaultSpecifier() {
|
|
if (this.match(65)) {
|
|
var next = this.nextTokenStart();
|
|
if (this.isUnparsedContextual(next, "from")) {
|
|
if (this.input.startsWith(tokenLabelName(142), this.nextTokenStartSince(next + 4))) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return _superClass.prototype.isExportDefaultSpecifier.call(this);
|
|
};
|
|
_proto.maybeParseExportDefaultSpecifier = function maybeParseExportDefaultSpecifier(node) {
|
|
if (node.specifiers && node.specifiers.length > 0) {
|
|
return true;
|
|
}
|
|
return _superClass.prototype.maybeParseExportDefaultSpecifier.call(this, node);
|
|
};
|
|
_proto.checkExport = function checkExport(node) {
|
|
var specifiers = node.specifiers;
|
|
if (specifiers != null && specifiers.length) {
|
|
node.specifiers = specifiers.filter(function (node) {
|
|
return node.exported.type === "Placeholder";
|
|
});
|
|
}
|
|
_superClass.prototype.checkExport.call(this, node);
|
|
node.specifiers = specifiers;
|
|
};
|
|
_proto.parseImport = function parseImport(node) {
|
|
var placeholder = this.parsePlaceholder("Identifier");
|
|
if (!placeholder) return _superClass.prototype.parseImport.call(this, node);
|
|
node.specifiers = [];
|
|
if (!this.isContextual(97) && !this.match(12)) {
|
|
node.source = this.finishPlaceholder(placeholder, "StringLiteral");
|
|
this.semicolon();
|
|
return this.finishNode(node, "ImportDeclaration");
|
|
}
|
|
var specifier = this.startNodeAtNode(placeholder);
|
|
specifier.local = placeholder;
|
|
node.specifiers.push(this.finishNode(specifier, "ImportDefaultSpecifier"));
|
|
if (this.eat(12)) {
|
|
var hasStarImport = this.maybeParseStarImportSpecifier(node);
|
|
if (!hasStarImport) this.parseNamedImportSpecifiers(node);
|
|
}
|
|
this.expectContextual(97);
|
|
node.source = this.parseImportSource();
|
|
this.semicolon();
|
|
return this.finishNode(node, "ImportDeclaration");
|
|
};
|
|
_proto.parseImportSource = function parseImportSource() {
|
|
return this.parsePlaceholder("StringLiteral") || _superClass.prototype.parseImportSource.call(this);
|
|
};
|
|
_proto.assertNoSpace = function assertNoSpace() {
|
|
if (this.state.start > this.state.lastTokEndLoc.index) {
|
|
this.raise(PlaceholderErrors.UnexpectedSpace, {
|
|
at: this.state.lastTokEndLoc
|
|
});
|
|
}
|
|
};
|
|
return _createClass(PlaceholdersParserMixin);
|
|
}(superClass);
|
|
});
|
|
|
|
var v8intrinsic = (function (superClass) {
|
|
return function (_superClass) {
|
|
_inherits(V8IntrinsicMixin, _superClass);
|
|
function V8IntrinsicMixin() {
|
|
return _superClass.apply(this, arguments) || this;
|
|
}
|
|
var _proto = V8IntrinsicMixin.prototype;
|
|
_proto.parseV8Intrinsic = function parseV8Intrinsic() {
|
|
if (this.match(54)) {
|
|
var v8IntrinsicStartLoc = this.state.startLoc;
|
|
var node = this.startNode();
|
|
this.next();
|
|
if (tokenIsIdentifier(this.state.type)) {
|
|
var name = this.parseIdentifierName();
|
|
var identifier = this.createIdentifier(node, name);
|
|
identifier.type = "V8IntrinsicIdentifier";
|
|
if (this.match(10)) {
|
|
return identifier;
|
|
}
|
|
}
|
|
this.unexpected(v8IntrinsicStartLoc);
|
|
}
|
|
};
|
|
_proto.parseExprAtom = function parseExprAtom(refExpressionErrors) {
|
|
return this.parseV8Intrinsic() || _superClass.prototype.parseExprAtom.call(this, refExpressionErrors);
|
|
};
|
|
return _createClass(V8IntrinsicMixin);
|
|
}(superClass);
|
|
});
|
|
|
|
function hasPlugin(plugins, expectedConfig) {
|
|
var _ref = typeof expectedConfig === "string" ? [expectedConfig, {}] : expectedConfig,
|
|
expectedName = _ref[0],
|
|
expectedOptions = _ref[1];
|
|
var expectedKeys = Object.keys(expectedOptions);
|
|
var expectedOptionsIsEmpty = expectedKeys.length === 0;
|
|
return plugins.some(function (p) {
|
|
if (typeof p === "string") {
|
|
return expectedOptionsIsEmpty && p === expectedName;
|
|
} else {
|
|
var pluginName = p[0],
|
|
pluginOptions = p[1];
|
|
if (pluginName !== expectedName) {
|
|
return false;
|
|
}
|
|
for (var _i2 = 0; _i2 < expectedKeys.length; _i2++) {
|
|
var key = expectedKeys[_i2];
|
|
if (pluginOptions[key] !== expectedOptions[key]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
});
|
|
}
|
|
function getPluginOption(plugins, name, option) {
|
|
var plugin = plugins.find(function (plugin) {
|
|
if (Array.isArray(plugin)) {
|
|
return plugin[0] === name;
|
|
} else {
|
|
return plugin === name;
|
|
}
|
|
});
|
|
if (plugin && Array.isArray(plugin) && plugin.length > 1) {
|
|
return plugin[1][option];
|
|
}
|
|
return null;
|
|
}
|
|
var PIPELINE_PROPOSALS$1 = ["minimal", "fsharp", "hack", "smart"];
|
|
var TOPIC_TOKENS$1 = ["^^", "@@", "^", "%", "#"];
|
|
var RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"];
|
|
function validatePlugins(plugins) {
|
|
if (hasPlugin(plugins, "decorators")) {
|
|
if (hasPlugin(plugins, "decorators-legacy")) {
|
|
throw new Error("Cannot use the decorators and decorators-legacy plugin together");
|
|
}
|
|
var decoratorsBeforeExport = getPluginOption(plugins, "decorators", "decoratorsBeforeExport");
|
|
if (decoratorsBeforeExport != null && typeof decoratorsBeforeExport !== "boolean") {
|
|
throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");
|
|
}
|
|
var allowCallParenthesized = getPluginOption(plugins, "decorators", "allowCallParenthesized");
|
|
if (allowCallParenthesized != null && typeof allowCallParenthesized !== "boolean") {
|
|
throw new Error("'allowCallParenthesized' must be a boolean.");
|
|
}
|
|
}
|
|
if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) {
|
|
throw new Error("Cannot combine flow and typescript plugins.");
|
|
}
|
|
if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) {
|
|
throw new Error("Cannot combine placeholders and v8intrinsic plugins.");
|
|
}
|
|
if (hasPlugin(plugins, "pipelineOperator")) {
|
|
var proposal = getPluginOption(plugins, "pipelineOperator", "proposal");
|
|
if (!PIPELINE_PROPOSALS$1.includes(proposal)) {
|
|
var proposalList = PIPELINE_PROPOSALS$1.map(function (p) {
|
|
return "\"" + p + "\"";
|
|
}).join(", ");
|
|
throw new Error("\"pipelineOperator\" requires \"proposal\" option whose value must be one of: " + proposalList + ".");
|
|
}
|
|
var tupleSyntaxIsHash = hasPlugin(plugins, ["recordAndTuple", {
|
|
syntaxType: "hash"
|
|
}]);
|
|
if (proposal === "hack") {
|
|
if (hasPlugin(plugins, "placeholders")) {
|
|
throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");
|
|
}
|
|
if (hasPlugin(plugins, "v8intrinsic")) {
|
|
throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");
|
|
}
|
|
var topicToken = getPluginOption(plugins, "pipelineOperator", "topicToken");
|
|
if (!TOPIC_TOKENS$1.includes(topicToken)) {
|
|
var tokenList = TOPIC_TOKENS$1.map(function (t) {
|
|
return "\"" + t + "\"";
|
|
}).join(", ");
|
|
throw new Error("\"pipelineOperator\" in \"proposal\": \"hack\" mode also requires a \"topicToken\" option whose value must be one of: " + tokenList + ".");
|
|
}
|
|
if (topicToken === "#" && tupleSyntaxIsHash) {
|
|
throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.');
|
|
}
|
|
} else if (proposal === "smart" && tupleSyntaxIsHash) {
|
|
throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.');
|
|
}
|
|
}
|
|
if (hasPlugin(plugins, "moduleAttributes")) {
|
|
{
|
|
if (hasPlugin(plugins, "importAssertions")) {
|
|
throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");
|
|
}
|
|
var moduleAttributesVersionPluginOption = getPluginOption(plugins, "moduleAttributes", "version");
|
|
if (moduleAttributesVersionPluginOption !== "may-2020") {
|
|
throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'.");
|
|
}
|
|
}
|
|
}
|
|
if (hasPlugin(plugins, "recordAndTuple") && getPluginOption(plugins, "recordAndTuple", "syntaxType") != null && !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins, "recordAndTuple", "syntaxType"))) {
|
|
throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(function (p) {
|
|
return "'" + p + "'";
|
|
}).join(", "));
|
|
}
|
|
if (hasPlugin(plugins, "asyncDoExpressions") && !hasPlugin(plugins, "doExpressions")) {
|
|
var error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");
|
|
error.missingPlugins = "doExpressions";
|
|
throw error;
|
|
}
|
|
}
|
|
var mixinPlugins = {
|
|
estree: estree,
|
|
jsx: jsx,
|
|
flow: flow,
|
|
typescript: typescript,
|
|
v8intrinsic: v8intrinsic,
|
|
placeholders: placeholders
|
|
};
|
|
var mixinPluginNames = Object.keys(mixinPlugins);
|
|
|
|
var ExpressionParser = function (_LValParser) {
|
|
_inherits(ExpressionParser, _LValParser);
|
|
function ExpressionParser() {
|
|
return _LValParser.apply(this, arguments) || this;
|
|
}
|
|
var _proto = ExpressionParser.prototype;
|
|
_proto.checkProto = function checkProto(prop, isRecord, protoRef, refExpressionErrors) {
|
|
if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) {
|
|
return;
|
|
}
|
|
var key = prop.key;
|
|
var name = key.type === "Identifier" ? key.name : key.value;
|
|
if (name === "__proto__") {
|
|
if (isRecord) {
|
|
this.raise(Errors.RecordNoProto, {
|
|
at: key
|
|
});
|
|
return;
|
|
}
|
|
if (protoRef.used) {
|
|
if (refExpressionErrors) {
|
|
if (refExpressionErrors.doubleProtoLoc === null) {
|
|
refExpressionErrors.doubleProtoLoc = key.loc.start;
|
|
}
|
|
} else {
|
|
this.raise(Errors.DuplicateProto, {
|
|
at: key
|
|
});
|
|
}
|
|
}
|
|
protoRef.used = true;
|
|
}
|
|
};
|
|
_proto.shouldExitDescending = function shouldExitDescending(expr, potentialArrowAt) {
|
|
return expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt;
|
|
};
|
|
_proto.getExpression = function getExpression() {
|
|
this.enterInitialScopes();
|
|
this.nextToken();
|
|
var expr = this.parseExpression();
|
|
if (!this.match(137)) {
|
|
this.unexpected();
|
|
}
|
|
this.finalizeRemainingComments();
|
|
expr.comments = this.state.comments;
|
|
expr.errors = this.state.errors;
|
|
if (this.options.tokens) {
|
|
expr.tokens = this.tokens;
|
|
}
|
|
return expr;
|
|
};
|
|
_proto.parseExpression = function parseExpression(disallowIn, refExpressionErrors) {
|
|
var _this = this;
|
|
if (disallowIn) {
|
|
return this.disallowInAnd(function () {
|
|
return _this.parseExpressionBase(refExpressionErrors);
|
|
});
|
|
}
|
|
return this.allowInAnd(function () {
|
|
return _this.parseExpressionBase(refExpressionErrors);
|
|
});
|
|
};
|
|
_proto.parseExpressionBase = function parseExpressionBase(refExpressionErrors) {
|
|
var startLoc = this.state.startLoc;
|
|
var expr = this.parseMaybeAssign(refExpressionErrors);
|
|
if (this.match(12)) {
|
|
var _node = this.startNodeAt(startLoc);
|
|
_node.expressions = [expr];
|
|
while (this.eat(12)) {
|
|
_node.expressions.push(this.parseMaybeAssign(refExpressionErrors));
|
|
}
|
|
this.toReferencedList(_node.expressions);
|
|
return this.finishNode(_node, "SequenceExpression");
|
|
}
|
|
return expr;
|
|
};
|
|
_proto.parseMaybeAssignDisallowIn = function parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) {
|
|
var _this2 = this;
|
|
return this.disallowInAnd(function () {
|
|
return _this2.parseMaybeAssign(refExpressionErrors, afterLeftParse);
|
|
});
|
|
};
|
|
_proto.parseMaybeAssignAllowIn = function parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) {
|
|
var _this3 = this;
|
|
return this.allowInAnd(function () {
|
|
return _this3.parseMaybeAssign(refExpressionErrors, afterLeftParse);
|
|
});
|
|
};
|
|
_proto.setOptionalParametersError = function setOptionalParametersError(refExpressionErrors, resultError) {
|
|
var _resultError$loc;
|
|
refExpressionErrors.optionalParametersLoc = (_resultError$loc = resultError == null ? void 0 : resultError.loc) != null ? _resultError$loc : this.state.startLoc;
|
|
};
|
|
_proto.parseMaybeAssign = function parseMaybeAssign(refExpressionErrors, afterLeftParse) {
|
|
var startLoc = this.state.startLoc;
|
|
if (this.isContextual(106)) {
|
|
if (this.prodParam.hasYield) {
|
|
var _left = this.parseYield();
|
|
if (afterLeftParse) {
|
|
_left = afterLeftParse.call(this, _left, startLoc);
|
|
}
|
|
return _left;
|
|
}
|
|
}
|
|
var ownExpressionErrors;
|
|
if (refExpressionErrors) {
|
|
ownExpressionErrors = false;
|
|
} else {
|
|
refExpressionErrors = new ExpressionErrors();
|
|
ownExpressionErrors = true;
|
|
}
|
|
var type = this.state.type;
|
|
if (type === 10 || tokenIsIdentifier(type)) {
|
|
this.state.potentialArrowAt = this.state.start;
|
|
}
|
|
var left = this.parseMaybeConditional(refExpressionErrors);
|
|
if (afterLeftParse) {
|
|
left = afterLeftParse.call(this, left, startLoc);
|
|
}
|
|
if (tokenIsAssignment(this.state.type)) {
|
|
var _node2 = this.startNodeAt(startLoc);
|
|
var operator = this.state.value;
|
|
_node2.operator = operator;
|
|
if (this.match(29)) {
|
|
this.toAssignable(left, true);
|
|
_node2.left = left;
|
|
var startIndex = startLoc.index;
|
|
if (refExpressionErrors.doubleProtoLoc != null && refExpressionErrors.doubleProtoLoc.index >= startIndex) {
|
|
refExpressionErrors.doubleProtoLoc = null;
|
|
}
|
|
if (refExpressionErrors.shorthandAssignLoc != null && refExpressionErrors.shorthandAssignLoc.index >= startIndex) {
|
|
refExpressionErrors.shorthandAssignLoc = null;
|
|
}
|
|
if (refExpressionErrors.privateKeyLoc != null && refExpressionErrors.privateKeyLoc.index >= startIndex) {
|
|
this.checkDestructuringPrivate(refExpressionErrors);
|
|
refExpressionErrors.privateKeyLoc = null;
|
|
}
|
|
} else {
|
|
_node2.left = left;
|
|
}
|
|
this.next();
|
|
_node2.right = this.parseMaybeAssign();
|
|
this.checkLVal(left, {
|
|
"in": this.finishNode(_node2, "AssignmentExpression")
|
|
});
|
|
return _node2;
|
|
} else if (ownExpressionErrors) {
|
|
this.checkExpressionErrors(refExpressionErrors, true);
|
|
}
|
|
return left;
|
|
};
|
|
_proto.parseMaybeConditional = function parseMaybeConditional(refExpressionErrors) {
|
|
var startLoc = this.state.startLoc;
|
|
var potentialArrowAt = this.state.potentialArrowAt;
|
|
var expr = this.parseExprOps(refExpressionErrors);
|
|
if (this.shouldExitDescending(expr, potentialArrowAt)) {
|
|
return expr;
|
|
}
|
|
return this.parseConditional(expr, startLoc, refExpressionErrors);
|
|
};
|
|
_proto.parseConditional = function parseConditional(expr, startLoc, refExpressionErrors) {
|
|
if (this.eat(17)) {
|
|
var _node3 = this.startNodeAt(startLoc);
|
|
_node3.test = expr;
|
|
_node3.consequent = this.parseMaybeAssignAllowIn();
|
|
this.expect(14);
|
|
_node3.alternate = this.parseMaybeAssign();
|
|
return this.finishNode(_node3, "ConditionalExpression");
|
|
}
|
|
return expr;
|
|
};
|
|
_proto.parseMaybeUnaryOrPrivate = function parseMaybeUnaryOrPrivate(refExpressionErrors) {
|
|
return this.match(136) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors);
|
|
};
|
|
_proto.parseExprOps = function parseExprOps(refExpressionErrors) {
|
|
var startLoc = this.state.startLoc;
|
|
var potentialArrowAt = this.state.potentialArrowAt;
|
|
var expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors);
|
|
if (this.shouldExitDescending(expr, potentialArrowAt)) {
|
|
return expr;
|
|
}
|
|
return this.parseExprOp(expr, startLoc, -1);
|
|
};
|
|
_proto.parseExprOp = function parseExprOp(left, leftStartLoc, minPrec) {
|
|
if (this.isPrivateName(left)) {
|
|
var value = this.getPrivateNameSV(left);
|
|
if (minPrec >= tokenOperatorPrecedence(58) || !this.prodParam.hasIn || !this.match(58)) {
|
|
this.raise(Errors.PrivateInExpectedIn, {
|
|
at: left,
|
|
identifierName: value
|
|
});
|
|
}
|
|
this.classScope.usePrivateName(value, left.loc.start);
|
|
}
|
|
var op = this.state.type;
|
|
if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(58))) {
|
|
var prec = tokenOperatorPrecedence(op);
|
|
if (prec > minPrec) {
|
|
if (op === 39) {
|
|
this.expectPlugin("pipelineOperator");
|
|
if (this.state.inFSharpPipelineDirectBody) {
|
|
return left;
|
|
}
|
|
this.checkPipelineAtInfixOperator(left, leftStartLoc);
|
|
}
|
|
var _node4 = this.startNodeAt(leftStartLoc);
|
|
_node4.left = left;
|
|
_node4.operator = this.state.value;
|
|
var logical = op === 41 || op === 42;
|
|
var coalesce = op === 40;
|
|
if (coalesce) {
|
|
prec = tokenOperatorPrecedence(42);
|
|
}
|
|
this.next();
|
|
if (op === 39 && this.hasPlugin(["pipelineOperator", {
|
|
proposal: "minimal"
|
|
}])) {
|
|
if (this.state.type === 96 && this.prodParam.hasAwait) {
|
|
throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
}
|
|
_node4.right = this.parseExprOpRightExpr(op, prec);
|
|
var finishedNode = this.finishNode(_node4, logical || coalesce ? "LogicalExpression" : "BinaryExpression");
|
|
var nextOp = this.state.type;
|
|
if (coalesce && (nextOp === 41 || nextOp === 42) || logical && nextOp === 40) {
|
|
throw this.raise(Errors.MixingCoalesceWithLogical, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
return this.parseExprOp(finishedNode, leftStartLoc, minPrec);
|
|
}
|
|
}
|
|
return left;
|
|
};
|
|
_proto.parseExprOpRightExpr = function parseExprOpRightExpr(op, prec) {
|
|
var _this4 = this;
|
|
var startLoc = this.state.startLoc;
|
|
switch (op) {
|
|
case 39:
|
|
switch (this.getPluginOption("pipelineOperator", "proposal")) {
|
|
case "hack":
|
|
return this.withTopicBindingContext(function () {
|
|
return _this4.parseHackPipeBody();
|
|
});
|
|
case "smart":
|
|
return this.withTopicBindingContext(function () {
|
|
if (_this4.prodParam.hasYield && _this4.isContextual(106)) {
|
|
throw _this4.raise(Errors.PipeBodyIsTighter, {
|
|
at: _this4.state.startLoc
|
|
});
|
|
}
|
|
return _this4.parseSmartPipelineBodyInStyle(_this4.parseExprOpBaseRightExpr(op, prec), startLoc);
|
|
});
|
|
case "fsharp":
|
|
return this.withSoloAwaitPermittingContext(function () {
|
|
return _this4.parseFSharpPipelineBody(prec);
|
|
});
|
|
}
|
|
default:
|
|
return this.parseExprOpBaseRightExpr(op, prec);
|
|
}
|
|
};
|
|
_proto.parseExprOpBaseRightExpr = function parseExprOpBaseRightExpr(op, prec) {
|
|
var startLoc = this.state.startLoc;
|
|
return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, tokenIsRightAssociative(op) ? prec - 1 : prec);
|
|
};
|
|
_proto.parseHackPipeBody = function parseHackPipeBody() {
|
|
var _body$extra;
|
|
var startLoc = this.state.startLoc;
|
|
var body = this.parseMaybeAssign();
|
|
var requiredParentheses = UnparenthesizedPipeBodyDescriptions.has(body.type);
|
|
if (requiredParentheses && !((_body$extra = body.extra) != null && _body$extra.parenthesized)) {
|
|
this.raise(Errors.PipeUnparenthesizedBody, {
|
|
at: startLoc,
|
|
type: body.type
|
|
});
|
|
}
|
|
if (!this.topicReferenceWasUsedInCurrentContext()) {
|
|
this.raise(Errors.PipeTopicUnused, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
return body;
|
|
};
|
|
_proto.checkExponentialAfterUnary = function checkExponentialAfterUnary(node) {
|
|
if (this.match(57)) {
|
|
this.raise(Errors.UnexpectedTokenUnaryExponentiation, {
|
|
at: node.argument
|
|
});
|
|
}
|
|
};
|
|
_proto.parseMaybeUnary = function parseMaybeUnary(refExpressionErrors, sawUnary) {
|
|
var startLoc = this.state.startLoc;
|
|
var isAwait = this.isContextual(96);
|
|
if (isAwait && this.isAwaitAllowed()) {
|
|
this.next();
|
|
var _expr = this.parseAwait(startLoc);
|
|
if (!sawUnary) this.checkExponentialAfterUnary(_expr);
|
|
return _expr;
|
|
}
|
|
var update = this.match(34);
|
|
var node = this.startNode();
|
|
if (tokenIsPrefix(this.state.type)) {
|
|
node.operator = this.state.value;
|
|
node.prefix = true;
|
|
if (this.match(72)) {
|
|
this.expectPlugin("throwExpressions");
|
|
}
|
|
var isDelete = this.match(89);
|
|
this.next();
|
|
node.argument = this.parseMaybeUnary(null, true);
|
|
this.checkExpressionErrors(refExpressionErrors, true);
|
|
if (this.state.strict && isDelete) {
|
|
var arg = node.argument;
|
|
if (arg.type === "Identifier") {
|
|
this.raise(Errors.StrictDelete, {
|
|
at: node
|
|
});
|
|
} else if (this.hasPropertyAsPrivateName(arg)) {
|
|
this.raise(Errors.DeletePrivateField, {
|
|
at: node
|
|
});
|
|
}
|
|
}
|
|
if (!update) {
|
|
if (!sawUnary) {
|
|
this.checkExponentialAfterUnary(node);
|
|
}
|
|
return this.finishNode(node, "UnaryExpression");
|
|
}
|
|
}
|
|
var expr = this.parseUpdate(node, update, refExpressionErrors);
|
|
if (isAwait) {
|
|
var type = this.state.type;
|
|
var startsExpr = this.hasPlugin("v8intrinsic") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54);
|
|
if (startsExpr && !this.isAmbiguousAwait()) {
|
|
this.raiseOverwrite(Errors.AwaitNotInAsyncContext, {
|
|
at: startLoc
|
|
});
|
|
return this.parseAwait(startLoc);
|
|
}
|
|
}
|
|
return expr;
|
|
};
|
|
_proto.parseUpdate = function parseUpdate(node, update, refExpressionErrors) {
|
|
if (update) {
|
|
var updateExpressionNode = node;
|
|
this.checkLVal(updateExpressionNode.argument, {
|
|
"in": this.finishNode(updateExpressionNode, "UpdateExpression")
|
|
});
|
|
return node;
|
|
}
|
|
var startLoc = this.state.startLoc;
|
|
var expr = this.parseExprSubscripts(refExpressionErrors);
|
|
if (this.checkExpressionErrors(refExpressionErrors, false)) return expr;
|
|
while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) {
|
|
var _node5 = this.startNodeAt(startLoc);
|
|
_node5.operator = this.state.value;
|
|
_node5.prefix = false;
|
|
_node5.argument = expr;
|
|
this.next();
|
|
this.checkLVal(expr, {
|
|
"in": expr = this.finishNode(_node5, "UpdateExpression")
|
|
});
|
|
}
|
|
return expr;
|
|
};
|
|
_proto.parseExprSubscripts = function parseExprSubscripts(refExpressionErrors) {
|
|
var startLoc = this.state.startLoc;
|
|
var potentialArrowAt = this.state.potentialArrowAt;
|
|
var expr = this.parseExprAtom(refExpressionErrors);
|
|
if (this.shouldExitDescending(expr, potentialArrowAt)) {
|
|
return expr;
|
|
}
|
|
return this.parseSubscripts(expr, startLoc);
|
|
};
|
|
_proto.parseSubscripts = function parseSubscripts(base, startLoc, noCalls) {
|
|
var state = {
|
|
optionalChainMember: false,
|
|
maybeAsyncArrow: this.atPossibleAsyncArrow(base),
|
|
stop: false
|
|
};
|
|
do {
|
|
base = this.parseSubscript(base, startLoc, noCalls, state);
|
|
state.maybeAsyncArrow = false;
|
|
} while (!state.stop);
|
|
return base;
|
|
};
|
|
_proto.parseSubscript = function parseSubscript(base, startLoc, noCalls, state) {
|
|
var type = this.state.type;
|
|
if (!noCalls && type === 15) {
|
|
return this.parseBind(base, startLoc, noCalls, state);
|
|
} else if (tokenIsTemplate(type)) {
|
|
return this.parseTaggedTemplateExpression(base, startLoc, state);
|
|
}
|
|
var optional = false;
|
|
if (type === 18) {
|
|
if (noCalls) {
|
|
this.raise(Errors.OptionalChainingNoNew, {
|
|
at: this.state.startLoc
|
|
});
|
|
if (this.lookaheadCharCode() === 40) {
|
|
state.stop = true;
|
|
return base;
|
|
}
|
|
}
|
|
state.optionalChainMember = optional = true;
|
|
this.next();
|
|
}
|
|
if (!noCalls && this.match(10)) {
|
|
return this.parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional);
|
|
} else {
|
|
var computed = this.eat(0);
|
|
if (computed || optional || this.eat(16)) {
|
|
return this.parseMember(base, startLoc, state, computed, optional);
|
|
} else {
|
|
state.stop = true;
|
|
return base;
|
|
}
|
|
}
|
|
};
|
|
_proto.parseMember = function parseMember(base, startLoc, state, computed, optional) {
|
|
var node = this.startNodeAt(startLoc);
|
|
node.object = base;
|
|
node.computed = computed;
|
|
if (computed) {
|
|
node.property = this.parseExpression();
|
|
this.expect(3);
|
|
} else if (this.match(136)) {
|
|
if (base.type === "Super") {
|
|
this.raise(Errors.SuperPrivateField, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
this.classScope.usePrivateName(this.state.value, this.state.startLoc);
|
|
node.property = this.parsePrivateName();
|
|
} else {
|
|
node.property = this.parseIdentifier(true);
|
|
}
|
|
if (state.optionalChainMember) {
|
|
node.optional = optional;
|
|
return this.finishNode(node, "OptionalMemberExpression");
|
|
} else {
|
|
return this.finishNode(node, "MemberExpression");
|
|
}
|
|
};
|
|
_proto.parseBind = function parseBind(base, startLoc, noCalls, state) {
|
|
var node = this.startNodeAt(startLoc);
|
|
node.object = base;
|
|
this.next();
|
|
node.callee = this.parseNoCallExpr();
|
|
state.stop = true;
|
|
return this.parseSubscripts(this.finishNode(node, "BindExpression"), startLoc, noCalls);
|
|
};
|
|
_proto.parseCoverCallAndAsyncArrowHead = function parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional) {
|
|
var oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
|
|
var refExpressionErrors = null;
|
|
this.state.maybeInArrowParameters = true;
|
|
this.next();
|
|
var node = this.startNodeAt(startLoc);
|
|
node.callee = base;
|
|
var maybeAsyncArrow = state.maybeAsyncArrow,
|
|
optionalChainMember = state.optionalChainMember;
|
|
if (maybeAsyncArrow) {
|
|
this.expressionScope.enter(newAsyncArrowScope());
|
|
refExpressionErrors = new ExpressionErrors();
|
|
}
|
|
if (optionalChainMember) {
|
|
node.optional = optional;
|
|
}
|
|
if (optional) {
|
|
node.arguments = this.parseCallExpressionArguments(11);
|
|
} else {
|
|
node.arguments = this.parseCallExpressionArguments(11, base.type === "Import", base.type !== "Super", node, refExpressionErrors);
|
|
}
|
|
var finishedNode = this.finishCallExpression(node, optionalChainMember);
|
|
if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) {
|
|
state.stop = true;
|
|
this.checkDestructuringPrivate(refExpressionErrors);
|
|
this.expressionScope.validateAsPattern();
|
|
this.expressionScope.exit();
|
|
finishedNode = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startLoc), finishedNode);
|
|
} else {
|
|
if (maybeAsyncArrow) {
|
|
this.checkExpressionErrors(refExpressionErrors, true);
|
|
this.expressionScope.exit();
|
|
}
|
|
this.toReferencedArguments(finishedNode);
|
|
}
|
|
this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
|
|
return finishedNode;
|
|
};
|
|
_proto.toReferencedArguments = function toReferencedArguments(node, isParenthesizedExpr) {
|
|
this.toReferencedListDeep(node.arguments, isParenthesizedExpr);
|
|
};
|
|
_proto.parseTaggedTemplateExpression = function parseTaggedTemplateExpression(base, startLoc, state) {
|
|
var node = this.startNodeAt(startLoc);
|
|
node.tag = base;
|
|
node.quasi = this.parseTemplate(true);
|
|
if (state.optionalChainMember) {
|
|
this.raise(Errors.OptionalChainingNoTemplate, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
return this.finishNode(node, "TaggedTemplateExpression");
|
|
};
|
|
_proto.atPossibleAsyncArrow = function atPossibleAsyncArrow(base) {
|
|
return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && base.start === this.state.potentialArrowAt;
|
|
};
|
|
_proto.finishCallExpression = function finishCallExpression(node, optional) {
|
|
if (node.callee.type === "Import") {
|
|
if (node.arguments.length === 2) {
|
|
{
|
|
if (!this.hasPlugin("moduleAttributes")) {
|
|
this.expectPlugin("importAssertions");
|
|
}
|
|
}
|
|
}
|
|
if (node.arguments.length === 0 || node.arguments.length > 2) {
|
|
this.raise(Errors.ImportCallArity, {
|
|
at: node,
|
|
maxArgumentCount: this.hasPlugin("importAssertions") || this.hasPlugin("moduleAttributes") ? 2 : 1
|
|
});
|
|
} else {
|
|
for (var _i2 = 0, _node$arguments2 = node.arguments; _i2 < _node$arguments2.length; _i2++) {
|
|
var arg = _node$arguments2[_i2];
|
|
if (arg.type === "SpreadElement") {
|
|
this.raise(Errors.ImportCallSpreadArgument, {
|
|
at: arg
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression");
|
|
};
|
|
_proto.parseCallExpressionArguments = function parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) {
|
|
var elts = [];
|
|
var first = true;
|
|
var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
|
|
this.state.inFSharpPipelineDirectBody = false;
|
|
while (!this.eat(close)) {
|
|
if (first) {
|
|
first = false;
|
|
} else {
|
|
this.expect(12);
|
|
if (this.match(close)) {
|
|
if (dynamicImport && !this.hasPlugin("importAssertions") && !this.hasPlugin("moduleAttributes")) {
|
|
this.raise(Errors.ImportCallArgumentTrailingComma, {
|
|
at: this.state.lastTokStartLoc
|
|
});
|
|
}
|
|
if (nodeForExtra) {
|
|
this.addTrailingCommaExtraToNode(nodeForExtra);
|
|
}
|
|
this.next();
|
|
break;
|
|
}
|
|
}
|
|
elts.push(this.parseExprListItem(false, refExpressionErrors, allowPlaceholder));
|
|
}
|
|
this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
|
|
return elts;
|
|
};
|
|
_proto.shouldParseAsyncArrow = function shouldParseAsyncArrow() {
|
|
return this.match(19) && !this.canInsertSemicolon();
|
|
};
|
|
_proto.parseAsyncArrowFromCallExpression = function parseAsyncArrowFromCallExpression(node, call) {
|
|
var _call$extra;
|
|
this.resetPreviousNodeTrailingComments(call);
|
|
this.expect(19);
|
|
this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingCommaLoc);
|
|
if (call.innerComments) {
|
|
setInnerComments(node, call.innerComments);
|
|
}
|
|
if (call.callee.trailingComments) {
|
|
setInnerComments(node, call.callee.trailingComments);
|
|
}
|
|
return node;
|
|
};
|
|
_proto.parseNoCallExpr = function parseNoCallExpr() {
|
|
var startLoc = this.state.startLoc;
|
|
return this.parseSubscripts(this.parseExprAtom(), startLoc, true);
|
|
};
|
|
_proto.parseExprAtom = function parseExprAtom(refExpressionErrors) {
|
|
var node;
|
|
var decorators = null;
|
|
var type = this.state.type;
|
|
switch (type) {
|
|
case 79:
|
|
return this.parseSuper();
|
|
case 83:
|
|
node = this.startNode();
|
|
this.next();
|
|
if (this.match(16)) {
|
|
return this.parseImportMetaProperty(node);
|
|
}
|
|
if (!this.match(10)) {
|
|
this.raise(Errors.UnsupportedImport, {
|
|
at: this.state.lastTokStartLoc
|
|
});
|
|
}
|
|
return this.finishNode(node, "Import");
|
|
case 78:
|
|
node = this.startNode();
|
|
this.next();
|
|
return this.finishNode(node, "ThisExpression");
|
|
case 90:
|
|
{
|
|
return this.parseDo(this.startNode(), false);
|
|
}
|
|
case 56:
|
|
case 31:
|
|
{
|
|
this.readRegexp();
|
|
return this.parseRegExpLiteral(this.state.value);
|
|
}
|
|
case 132:
|
|
return this.parseNumericLiteral(this.state.value);
|
|
case 133:
|
|
return this.parseBigIntLiteral(this.state.value);
|
|
case 134:
|
|
return this.parseDecimalLiteral(this.state.value);
|
|
case 131:
|
|
return this.parseStringLiteral(this.state.value);
|
|
case 84:
|
|
return this.parseNullLiteral();
|
|
case 85:
|
|
return this.parseBooleanLiteral(true);
|
|
case 86:
|
|
return this.parseBooleanLiteral(false);
|
|
case 10:
|
|
{
|
|
var canBeArrow = this.state.potentialArrowAt === this.state.start;
|
|
return this.parseParenAndDistinguishExpression(canBeArrow);
|
|
}
|
|
case 2:
|
|
case 1:
|
|
{
|
|
return this.parseArrayLike(this.state.type === 2 ? 4 : 3, false, true);
|
|
}
|
|
case 0:
|
|
{
|
|
return this.parseArrayLike(3, true, false, refExpressionErrors);
|
|
}
|
|
case 6:
|
|
case 7:
|
|
{
|
|
return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true);
|
|
}
|
|
case 5:
|
|
{
|
|
return this.parseObjectLike(8, false, false, refExpressionErrors);
|
|
}
|
|
case 68:
|
|
return this.parseFunctionOrFunctionSent();
|
|
case 26:
|
|
decorators = this.parseDecorators();
|
|
case 80:
|
|
return this.parseClass(this.maybeTakeDecorators(decorators, this.startNode()), false);
|
|
case 77:
|
|
return this.parseNewOrNewTarget();
|
|
case 25:
|
|
case 24:
|
|
return this.parseTemplate(false);
|
|
case 15:
|
|
{
|
|
node = this.startNode();
|
|
this.next();
|
|
node.object = null;
|
|
var callee = node.callee = this.parseNoCallExpr();
|
|
if (callee.type === "MemberExpression") {
|
|
return this.finishNode(node, "BindExpression");
|
|
} else {
|
|
throw this.raise(Errors.UnsupportedBind, {
|
|
at: callee
|
|
});
|
|
}
|
|
}
|
|
case 136:
|
|
{
|
|
this.raise(Errors.PrivateInExpectedIn, {
|
|
at: this.state.startLoc,
|
|
identifierName: this.state.value
|
|
});
|
|
return this.parsePrivateName();
|
|
}
|
|
case 33:
|
|
{
|
|
return this.parseTopicReferenceThenEqualsSign(54, "%");
|
|
}
|
|
case 32:
|
|
{
|
|
return this.parseTopicReferenceThenEqualsSign(44, "^");
|
|
}
|
|
case 37:
|
|
case 38:
|
|
{
|
|
return this.parseTopicReference("hack");
|
|
}
|
|
case 44:
|
|
case 54:
|
|
case 27:
|
|
{
|
|
var pipeProposal = this.getPluginOption("pipelineOperator", "proposal");
|
|
if (pipeProposal) {
|
|
return this.parseTopicReference(pipeProposal);
|
|
}
|
|
this.unexpected();
|
|
break;
|
|
}
|
|
case 47:
|
|
{
|
|
var lookaheadCh = this.input.codePointAt(this.nextTokenStart());
|
|
if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) {
|
|
this.expectOnePlugin(["jsx", "flow", "typescript"]);
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
break;
|
|
}
|
|
default:
|
|
if (tokenIsIdentifier(type)) {
|
|
if (this.isContextual(125) && this.lookaheadInLineCharCode() === 123) {
|
|
return this.parseModuleExpression();
|
|
}
|
|
var _canBeArrow = this.state.potentialArrowAt === this.state.start;
|
|
var containsEsc = this.state.containsEsc;
|
|
var id = this.parseIdentifier();
|
|
if (!containsEsc && id.name === "async" && !this.canInsertSemicolon()) {
|
|
var _type = this.state.type;
|
|
if (_type === 68) {
|
|
this.resetPreviousNodeTrailingComments(id);
|
|
this.next();
|
|
return this.parseAsyncFunctionExpression(this.startNodeAtNode(id));
|
|
} else if (tokenIsIdentifier(_type)) {
|
|
if (this.lookaheadCharCode() === 61) {
|
|
return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id));
|
|
} else {
|
|
return id;
|
|
}
|
|
} else if (_type === 90) {
|
|
this.resetPreviousNodeTrailingComments(id);
|
|
return this.parseDo(this.startNodeAtNode(id), true);
|
|
}
|
|
}
|
|
if (_canBeArrow && this.match(19) && !this.canInsertSemicolon()) {
|
|
this.next();
|
|
return this.parseArrowExpression(this.startNodeAtNode(id), [id], false);
|
|
}
|
|
return id;
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
}
|
|
};
|
|
_proto.parseTopicReferenceThenEqualsSign = function parseTopicReferenceThenEqualsSign(topicTokenType, topicTokenValue) {
|
|
var pipeProposal = this.getPluginOption("pipelineOperator", "proposal");
|
|
if (pipeProposal) {
|
|
this.state.type = topicTokenType;
|
|
this.state.value = topicTokenValue;
|
|
this.state.pos--;
|
|
this.state.end--;
|
|
this.state.endLoc = createPositionWithColumnOffset(this.state.endLoc, -1);
|
|
return this.parseTopicReference(pipeProposal);
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
};
|
|
_proto.parseTopicReference = function parseTopicReference(pipeProposal) {
|
|
var node = this.startNode();
|
|
var startLoc = this.state.startLoc;
|
|
var tokenType = this.state.type;
|
|
this.next();
|
|
return this.finishTopicReference(node, startLoc, pipeProposal, tokenType);
|
|
};
|
|
_proto.finishTopicReference = function finishTopicReference(node, startLoc, pipeProposal, tokenType) {
|
|
if (this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)) {
|
|
var nodeType = pipeProposal === "smart" ? "PipelinePrimaryTopicReference" : "TopicReference";
|
|
if (!this.topicReferenceIsAllowedInCurrentContext()) {
|
|
this.raise(pipeProposal === "smart" ? Errors.PrimaryTopicNotAllowed : Errors.PipeTopicUnbound, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
this.registerTopicReference();
|
|
return this.finishNode(node, nodeType);
|
|
} else {
|
|
throw this.raise(Errors.PipeTopicUnconfiguredToken, {
|
|
at: startLoc,
|
|
token: tokenLabelName(tokenType)
|
|
});
|
|
}
|
|
};
|
|
_proto.testTopicReferenceConfiguration = function testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType) {
|
|
switch (pipeProposal) {
|
|
case "hack":
|
|
{
|
|
return this.hasPlugin(["pipelineOperator", {
|
|
topicToken: tokenLabelName(tokenType)
|
|
}]);
|
|
}
|
|
case "smart":
|
|
return tokenType === 27;
|
|
default:
|
|
throw this.raise(Errors.PipeTopicRequiresHackPipes, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
};
|
|
_proto.parseAsyncArrowUnaryFunction = function parseAsyncArrowUnaryFunction(node) {
|
|
this.prodParam.enter(functionFlags(true, this.prodParam.hasYield));
|
|
var params = [this.parseIdentifier()];
|
|
this.prodParam.exit();
|
|
if (this.hasPrecedingLineBreak()) {
|
|
this.raise(Errors.LineTerminatorBeforeArrow, {
|
|
at: this.state.curPosition()
|
|
});
|
|
}
|
|
this.expect(19);
|
|
return this.parseArrowExpression(node, params, true);
|
|
};
|
|
_proto.parseDo = function parseDo(node, isAsync) {
|
|
this.expectPlugin("doExpressions");
|
|
if (isAsync) {
|
|
this.expectPlugin("asyncDoExpressions");
|
|
}
|
|
node.async = isAsync;
|
|
this.next();
|
|
var oldLabels = this.state.labels;
|
|
this.state.labels = [];
|
|
if (isAsync) {
|
|
this.prodParam.enter(PARAM_AWAIT);
|
|
node.body = this.parseBlock();
|
|
this.prodParam.exit();
|
|
} else {
|
|
node.body = this.parseBlock();
|
|
}
|
|
this.state.labels = oldLabels;
|
|
return this.finishNode(node, "DoExpression");
|
|
};
|
|
_proto.parseSuper = function parseSuper() {
|
|
var node = this.startNode();
|
|
this.next();
|
|
if (this.match(10) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) {
|
|
this.raise(Errors.SuperNotAllowed, {
|
|
at: node
|
|
});
|
|
} else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) {
|
|
this.raise(Errors.UnexpectedSuper, {
|
|
at: node
|
|
});
|
|
}
|
|
if (!this.match(10) && !this.match(0) && !this.match(16)) {
|
|
this.raise(Errors.UnsupportedSuper, {
|
|
at: node
|
|
});
|
|
}
|
|
return this.finishNode(node, "Super");
|
|
};
|
|
_proto.parsePrivateName = function parsePrivateName() {
|
|
var node = this.startNode();
|
|
var id = this.startNodeAt(createPositionWithColumnOffset(this.state.startLoc, 1));
|
|
var name = this.state.value;
|
|
this.next();
|
|
node.id = this.createIdentifier(id, name);
|
|
return this.finishNode(node, "PrivateName");
|
|
};
|
|
_proto.parseFunctionOrFunctionSent = function parseFunctionOrFunctionSent() {
|
|
var node = this.startNode();
|
|
this.next();
|
|
if (this.prodParam.hasYield && this.match(16)) {
|
|
var meta = this.createIdentifier(this.startNodeAtNode(node), "function");
|
|
this.next();
|
|
if (this.match(102)) {
|
|
this.expectPlugin("functionSent");
|
|
} else if (!this.hasPlugin("functionSent")) {
|
|
this.unexpected();
|
|
}
|
|
return this.parseMetaProperty(node, meta, "sent");
|
|
}
|
|
return this.parseFunction(node);
|
|
};
|
|
_proto.parseMetaProperty = function parseMetaProperty(node, meta, propertyName) {
|
|
node.meta = meta;
|
|
var containsEsc = this.state.containsEsc;
|
|
node.property = this.parseIdentifier(true);
|
|
if (node.property.name !== propertyName || containsEsc) {
|
|
this.raise(Errors.UnsupportedMetaProperty, {
|
|
at: node.property,
|
|
target: meta.name,
|
|
onlyValidPropertyName: propertyName
|
|
});
|
|
}
|
|
return this.finishNode(node, "MetaProperty");
|
|
};
|
|
_proto.parseImportMetaProperty = function parseImportMetaProperty(node) {
|
|
var id = this.createIdentifier(this.startNodeAtNode(node), "import");
|
|
this.next();
|
|
if (this.isContextual(100)) {
|
|
if (!this.inModule) {
|
|
this.raise(Errors.ImportMetaOutsideModule, {
|
|
at: id
|
|
});
|
|
}
|
|
this.sawUnambiguousESM = true;
|
|
}
|
|
return this.parseMetaProperty(node, id, "meta");
|
|
};
|
|
_proto.parseLiteralAtNode = function parseLiteralAtNode(value, type, node) {
|
|
this.addExtra(node, "rawValue", value);
|
|
this.addExtra(node, "raw", this.input.slice(node.start, this.state.end));
|
|
node.value = value;
|
|
this.next();
|
|
return this.finishNode(node, type);
|
|
};
|
|
_proto.parseLiteral = function parseLiteral(value, type) {
|
|
var node = this.startNode();
|
|
return this.parseLiteralAtNode(value, type, node);
|
|
};
|
|
_proto.parseStringLiteral = function parseStringLiteral(value) {
|
|
return this.parseLiteral(value, "StringLiteral");
|
|
};
|
|
_proto.parseNumericLiteral = function parseNumericLiteral(value) {
|
|
return this.parseLiteral(value, "NumericLiteral");
|
|
};
|
|
_proto.parseBigIntLiteral = function parseBigIntLiteral(value) {
|
|
return this.parseLiteral(value, "BigIntLiteral");
|
|
};
|
|
_proto.parseDecimalLiteral = function parseDecimalLiteral(value) {
|
|
return this.parseLiteral(value, "DecimalLiteral");
|
|
};
|
|
_proto.parseRegExpLiteral = function parseRegExpLiteral(value) {
|
|
var node = this.parseLiteral(value.value, "RegExpLiteral");
|
|
node.pattern = value.pattern;
|
|
node.flags = value.flags;
|
|
return node;
|
|
};
|
|
_proto.parseBooleanLiteral = function parseBooleanLiteral(value) {
|
|
var node = this.startNode();
|
|
node.value = value;
|
|
this.next();
|
|
return this.finishNode(node, "BooleanLiteral");
|
|
};
|
|
_proto.parseNullLiteral = function parseNullLiteral() {
|
|
var node = this.startNode();
|
|
this.next();
|
|
return this.finishNode(node, "NullLiteral");
|
|
};
|
|
_proto.parseParenAndDistinguishExpression = function parseParenAndDistinguishExpression(canBeArrow) {
|
|
var startLoc = this.state.startLoc;
|
|
var val;
|
|
this.next();
|
|
this.expressionScope.enter(newArrowHeadScope());
|
|
var oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
|
|
var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
|
|
this.state.maybeInArrowParameters = true;
|
|
this.state.inFSharpPipelineDirectBody = false;
|
|
var innerStartLoc = this.state.startLoc;
|
|
var exprList = [];
|
|
var refExpressionErrors = new ExpressionErrors();
|
|
var first = true;
|
|
var spreadStartLoc;
|
|
var optionalCommaStartLoc;
|
|
while (!this.match(11)) {
|
|
if (first) {
|
|
first = false;
|
|
} else {
|
|
this.expect(12, refExpressionErrors.optionalParametersLoc === null ? null : refExpressionErrors.optionalParametersLoc);
|
|
if (this.match(11)) {
|
|
optionalCommaStartLoc = this.state.startLoc;
|
|
break;
|
|
}
|
|
}
|
|
if (this.match(21)) {
|
|
var spreadNodeStartLoc = this.state.startLoc;
|
|
spreadStartLoc = this.state.startLoc;
|
|
exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartLoc));
|
|
if (!this.checkCommaAfterRest(41)) {
|
|
break;
|
|
}
|
|
} else {
|
|
exprList.push(this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem));
|
|
}
|
|
}
|
|
var innerEndLoc = this.state.lastTokEndLoc;
|
|
this.expect(11);
|
|
this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
|
|
this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
|
|
var arrowNode = this.startNodeAt(startLoc);
|
|
if (canBeArrow && this.shouldParseArrow(exprList) && (arrowNode = this.parseArrow(arrowNode))) {
|
|
this.checkDestructuringPrivate(refExpressionErrors);
|
|
this.expressionScope.validateAsPattern();
|
|
this.expressionScope.exit();
|
|
this.parseArrowExpression(arrowNode, exprList, false);
|
|
return arrowNode;
|
|
}
|
|
this.expressionScope.exit();
|
|
if (!exprList.length) {
|
|
this.unexpected(this.state.lastTokStartLoc);
|
|
}
|
|
if (optionalCommaStartLoc) this.unexpected(optionalCommaStartLoc);
|
|
if (spreadStartLoc) this.unexpected(spreadStartLoc);
|
|
this.checkExpressionErrors(refExpressionErrors, true);
|
|
this.toReferencedListDeep(exprList, true);
|
|
if (exprList.length > 1) {
|
|
val = this.startNodeAt(innerStartLoc);
|
|
val.expressions = exprList;
|
|
this.finishNode(val, "SequenceExpression");
|
|
this.resetEndLocation(val, innerEndLoc);
|
|
} else {
|
|
val = exprList[0];
|
|
}
|
|
return this.wrapParenthesis(startLoc, val);
|
|
};
|
|
_proto.wrapParenthesis = function wrapParenthesis(startLoc, expression) {
|
|
if (!this.options.createParenthesizedExpressions) {
|
|
this.addExtra(expression, "parenthesized", true);
|
|
this.addExtra(expression, "parenStart", startLoc.index);
|
|
this.takeSurroundingComments(expression, startLoc.index, this.state.lastTokEndLoc.index);
|
|
return expression;
|
|
}
|
|
var parenExpression = this.startNodeAt(startLoc);
|
|
parenExpression.expression = expression;
|
|
return this.finishNode(parenExpression, "ParenthesizedExpression");
|
|
};
|
|
_proto.shouldParseArrow = function shouldParseArrow(params) {
|
|
return !this.canInsertSemicolon();
|
|
};
|
|
_proto.parseArrow = function parseArrow(node) {
|
|
if (this.eat(19)) {
|
|
return node;
|
|
}
|
|
};
|
|
_proto.parseParenItem = function parseParenItem(node, startLoc) {
|
|
return node;
|
|
};
|
|
_proto.parseNewOrNewTarget = function parseNewOrNewTarget() {
|
|
var node = this.startNode();
|
|
this.next();
|
|
if (this.match(16)) {
|
|
var meta = this.createIdentifier(this.startNodeAtNode(node), "new");
|
|
this.next();
|
|
var metaProp = this.parseMetaProperty(node, meta, "target");
|
|
if (!this.scope.inNonArrowFunction && !this.scope.inClass && !this.options.allowNewTargetOutsideFunction) {
|
|
this.raise(Errors.UnexpectedNewTarget, {
|
|
at: metaProp
|
|
});
|
|
}
|
|
return metaProp;
|
|
}
|
|
return this.parseNew(node);
|
|
};
|
|
_proto.parseNew = function parseNew(node) {
|
|
this.parseNewCallee(node);
|
|
if (this.eat(10)) {
|
|
var args = this.parseExprList(11);
|
|
this.toReferencedList(args);
|
|
node.arguments = args;
|
|
} else {
|
|
node.arguments = [];
|
|
}
|
|
return this.finishNode(node, "NewExpression");
|
|
};
|
|
_proto.parseNewCallee = function parseNewCallee(node) {
|
|
node.callee = this.parseNoCallExpr();
|
|
if (node.callee.type === "Import") {
|
|
this.raise(Errors.ImportCallNotNewExpression, {
|
|
at: node.callee
|
|
});
|
|
}
|
|
};
|
|
_proto.parseTemplateElement = function parseTemplateElement(isTagged) {
|
|
var _this$state = this.state,
|
|
start = _this$state.start,
|
|
startLoc = _this$state.startLoc,
|
|
end = _this$state.end,
|
|
value = _this$state.value;
|
|
var elemStart = start + 1;
|
|
var elem = this.startNodeAt(createPositionWithColumnOffset(startLoc, 1));
|
|
if (value === null) {
|
|
if (!isTagged) {
|
|
this.raise(Errors.InvalidEscapeSequenceTemplate, {
|
|
at: createPositionWithColumnOffset(this.state.firstInvalidTemplateEscapePos, 1)
|
|
});
|
|
}
|
|
}
|
|
var isTail = this.match(24);
|
|
var endOffset = isTail ? -1 : -2;
|
|
var elemEnd = end + endOffset;
|
|
elem.value = {
|
|
raw: this.input.slice(elemStart, elemEnd).replace(/\r\n?/g, "\n"),
|
|
cooked: value === null ? null : value.slice(1, endOffset)
|
|
};
|
|
elem.tail = isTail;
|
|
this.next();
|
|
var finishedNode = this.finishNode(elem, "TemplateElement");
|
|
this.resetEndLocation(finishedNode, createPositionWithColumnOffset(this.state.lastTokEndLoc, endOffset));
|
|
return finishedNode;
|
|
};
|
|
_proto.parseTemplate = function parseTemplate(isTagged) {
|
|
var node = this.startNode();
|
|
node.expressions = [];
|
|
var curElt = this.parseTemplateElement(isTagged);
|
|
node.quasis = [curElt];
|
|
while (!curElt.tail) {
|
|
node.expressions.push(this.parseTemplateSubstitution());
|
|
this.readTemplateContinuation();
|
|
node.quasis.push(curElt = this.parseTemplateElement(isTagged));
|
|
}
|
|
return this.finishNode(node, "TemplateLiteral");
|
|
};
|
|
_proto.parseTemplateSubstitution = function parseTemplateSubstitution() {
|
|
return this.parseExpression();
|
|
};
|
|
_proto.parseObjectLike = function parseObjectLike(close, isPattern, isRecord, refExpressionErrors) {
|
|
if (isRecord) {
|
|
this.expectPlugin("recordAndTuple");
|
|
}
|
|
var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
|
|
this.state.inFSharpPipelineDirectBody = false;
|
|
var propHash = Object.create(null);
|
|
var first = true;
|
|
var node = this.startNode();
|
|
node.properties = [];
|
|
this.next();
|
|
while (!this.match(close)) {
|
|
if (first) {
|
|
first = false;
|
|
} else {
|
|
this.expect(12);
|
|
if (this.match(close)) {
|
|
this.addTrailingCommaExtraToNode(node);
|
|
break;
|
|
}
|
|
}
|
|
var prop = void 0;
|
|
if (isPattern) {
|
|
prop = this.parseBindingProperty();
|
|
} else {
|
|
prop = this.parsePropertyDefinition(refExpressionErrors);
|
|
this.checkProto(prop, isRecord, propHash, refExpressionErrors);
|
|
}
|
|
if (isRecord && !this.isObjectProperty(prop) && prop.type !== "SpreadElement") {
|
|
this.raise(Errors.InvalidRecordProperty, {
|
|
at: prop
|
|
});
|
|
}
|
|
if (prop.shorthand) {
|
|
this.addExtra(prop, "shorthand", true);
|
|
}
|
|
node.properties.push(prop);
|
|
}
|
|
this.next();
|
|
this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
|
|
var type = "ObjectExpression";
|
|
if (isPattern) {
|
|
type = "ObjectPattern";
|
|
} else if (isRecord) {
|
|
type = "RecordExpression";
|
|
}
|
|
return this.finishNode(node, type);
|
|
};
|
|
_proto.addTrailingCommaExtraToNode = function addTrailingCommaExtraToNode(node) {
|
|
this.addExtra(node, "trailingComma", this.state.lastTokStart);
|
|
this.addExtra(node, "trailingCommaLoc", this.state.lastTokStartLoc, false);
|
|
};
|
|
_proto.maybeAsyncOrAccessorProp = function maybeAsyncOrAccessorProp(prop) {
|
|
return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55));
|
|
};
|
|
_proto.parsePropertyDefinition = function parsePropertyDefinition(refExpressionErrors) {
|
|
var decorators = [];
|
|
if (this.match(26)) {
|
|
if (this.hasPlugin("decorators")) {
|
|
this.raise(Errors.UnsupportedPropertyDecorator, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
while (this.match(26)) {
|
|
decorators.push(this.parseDecorator());
|
|
}
|
|
}
|
|
var prop = this.startNode();
|
|
var isAsync = false;
|
|
var isAccessor = false;
|
|
var startLoc;
|
|
if (this.match(21)) {
|
|
if (decorators.length) this.unexpected();
|
|
return this.parseSpread();
|
|
}
|
|
if (decorators.length) {
|
|
prop.decorators = decorators;
|
|
decorators = [];
|
|
}
|
|
prop.method = false;
|
|
if (refExpressionErrors) {
|
|
startLoc = this.state.startLoc;
|
|
}
|
|
var isGenerator = this.eat(55);
|
|
this.parsePropertyNamePrefixOperator(prop);
|
|
var containsEsc = this.state.containsEsc;
|
|
var key = this.parsePropertyName(prop, refExpressionErrors);
|
|
if (!isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) {
|
|
var keyName = key.name;
|
|
if (keyName === "async" && !this.hasPrecedingLineBreak()) {
|
|
isAsync = true;
|
|
this.resetPreviousNodeTrailingComments(key);
|
|
isGenerator = this.eat(55);
|
|
this.parsePropertyName(prop);
|
|
}
|
|
if (keyName === "get" || keyName === "set") {
|
|
isAccessor = true;
|
|
this.resetPreviousNodeTrailingComments(key);
|
|
prop.kind = keyName;
|
|
if (this.match(55)) {
|
|
isGenerator = true;
|
|
this.raise(Errors.AccessorIsGenerator, {
|
|
at: this.state.curPosition(),
|
|
kind: keyName
|
|
});
|
|
this.next();
|
|
}
|
|
this.parsePropertyName(prop);
|
|
}
|
|
}
|
|
return this.parseObjPropValue(prop, startLoc, isGenerator, isAsync, false, isAccessor, refExpressionErrors);
|
|
};
|
|
_proto.getGetterSetterExpectedParamCount = function getGetterSetterExpectedParamCount(method) {
|
|
return method.kind === "get" ? 0 : 1;
|
|
};
|
|
_proto.getObjectOrClassMethodParams = function getObjectOrClassMethodParams(method) {
|
|
return method.params;
|
|
};
|
|
_proto.checkGetterSetterParams = function checkGetterSetterParams(method) {
|
|
var _params;
|
|
var paramCount = this.getGetterSetterExpectedParamCount(method);
|
|
var params = this.getObjectOrClassMethodParams(method);
|
|
if (params.length !== paramCount) {
|
|
this.raise(method.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, {
|
|
at: method
|
|
});
|
|
}
|
|
if (method.kind === "set" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === "RestElement") {
|
|
this.raise(Errors.BadSetterRestParameter, {
|
|
at: method
|
|
});
|
|
}
|
|
};
|
|
_proto.parseObjectMethod = function parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) {
|
|
if (isAccessor) {
|
|
var finishedProp = this.parseMethod(prop, isGenerator, false, false, false, "ObjectMethod");
|
|
this.checkGetterSetterParams(finishedProp);
|
|
return finishedProp;
|
|
}
|
|
if (isAsync || isGenerator || this.match(10)) {
|
|
if (isPattern) this.unexpected();
|
|
prop.kind = "method";
|
|
prop.method = true;
|
|
return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod");
|
|
}
|
|
};
|
|
_proto.parseObjectProperty = function parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) {
|
|
prop.shorthand = false;
|
|
if (this.eat(14)) {
|
|
prop.value = isPattern ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowIn(refExpressionErrors);
|
|
return this.finishNode(prop, "ObjectProperty");
|
|
}
|
|
if (!prop.computed && prop.key.type === "Identifier") {
|
|
this.checkReservedWord(prop.key.name, prop.key.loc.start, true, false);
|
|
if (isPattern) {
|
|
prop.value = this.parseMaybeDefault(startLoc, cloneIdentifier(prop.key));
|
|
} else if (this.match(29)) {
|
|
var shorthandAssignLoc = this.state.startLoc;
|
|
if (refExpressionErrors != null) {
|
|
if (refExpressionErrors.shorthandAssignLoc === null) {
|
|
refExpressionErrors.shorthandAssignLoc = shorthandAssignLoc;
|
|
}
|
|
} else {
|
|
this.raise(Errors.InvalidCoverInitializedName, {
|
|
at: shorthandAssignLoc
|
|
});
|
|
}
|
|
prop.value = this.parseMaybeDefault(startLoc, cloneIdentifier(prop.key));
|
|
} else {
|
|
prop.value = cloneIdentifier(prop.key);
|
|
}
|
|
prop.shorthand = true;
|
|
return this.finishNode(prop, "ObjectProperty");
|
|
}
|
|
};
|
|
_proto.parseObjPropValue = function parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {
|
|
var node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors);
|
|
if (!node) this.unexpected();
|
|
return node;
|
|
};
|
|
_proto.parsePropertyName = function parsePropertyName(prop, refExpressionErrors) {
|
|
if (this.eat(0)) {
|
|
prop.computed = true;
|
|
prop.key = this.parseMaybeAssignAllowIn();
|
|
this.expect(3);
|
|
} else {
|
|
var _this$state2 = this.state,
|
|
type = _this$state2.type,
|
|
value = _this$state2.value;
|
|
var key;
|
|
if (tokenIsKeywordOrIdentifier(type)) {
|
|
key = this.parseIdentifier(true);
|
|
} else {
|
|
switch (type) {
|
|
case 132:
|
|
key = this.parseNumericLiteral(value);
|
|
break;
|
|
case 131:
|
|
key = this.parseStringLiteral(value);
|
|
break;
|
|
case 133:
|
|
key = this.parseBigIntLiteral(value);
|
|
break;
|
|
case 134:
|
|
key = this.parseDecimalLiteral(value);
|
|
break;
|
|
case 136:
|
|
{
|
|
var privateKeyLoc = this.state.startLoc;
|
|
if (refExpressionErrors != null) {
|
|
if (refExpressionErrors.privateKeyLoc === null) {
|
|
refExpressionErrors.privateKeyLoc = privateKeyLoc;
|
|
}
|
|
} else {
|
|
this.raise(Errors.UnexpectedPrivateField, {
|
|
at: privateKeyLoc
|
|
});
|
|
}
|
|
key = this.parsePrivateName();
|
|
break;
|
|
}
|
|
default:
|
|
this.unexpected();
|
|
}
|
|
}
|
|
prop.key = key;
|
|
if (type !== 136) {
|
|
prop.computed = false;
|
|
}
|
|
}
|
|
return prop.key;
|
|
};
|
|
_proto.initFunction = function initFunction(node, isAsync) {
|
|
node.id = null;
|
|
node.generator = false;
|
|
node.async = isAsync;
|
|
};
|
|
_proto.parseMethod = function parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) {
|
|
if (inClassScope === void 0) {
|
|
inClassScope = false;
|
|
}
|
|
this.initFunction(node, isAsync);
|
|
node.generator = isGenerator;
|
|
this.scope.enter(SCOPE_FUNCTION | SCOPE_SUPER | (inClassScope ? SCOPE_CLASS : 0) | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));
|
|
this.prodParam.enter(functionFlags(isAsync, node.generator));
|
|
this.parseFunctionParams(node, isConstructor);
|
|
var finishedNode = this.parseFunctionBodyAndFinish(node, type, true);
|
|
this.prodParam.exit();
|
|
this.scope.exit();
|
|
return finishedNode;
|
|
};
|
|
_proto.parseArrayLike = function parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {
|
|
if (isTuple) {
|
|
this.expectPlugin("recordAndTuple");
|
|
}
|
|
var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
|
|
this.state.inFSharpPipelineDirectBody = false;
|
|
var node = this.startNode();
|
|
this.next();
|
|
node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node);
|
|
this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
|
|
return this.finishNode(node, isTuple ? "TupleExpression" : "ArrayExpression");
|
|
};
|
|
_proto.parseArrowExpression = function parseArrowExpression(node, params, isAsync, trailingCommaLoc) {
|
|
this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW);
|
|
var flags = functionFlags(isAsync, false);
|
|
if (!this.match(5) && this.prodParam.hasIn) {
|
|
flags |= PARAM_IN;
|
|
}
|
|
this.prodParam.enter(flags);
|
|
this.initFunction(node, isAsync);
|
|
var oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
|
|
if (params) {
|
|
this.state.maybeInArrowParameters = true;
|
|
this.setArrowFunctionParameters(node, params, trailingCommaLoc);
|
|
}
|
|
this.state.maybeInArrowParameters = false;
|
|
this.parseFunctionBody(node, true);
|
|
this.prodParam.exit();
|
|
this.scope.exit();
|
|
this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
|
|
return this.finishNode(node, "ArrowFunctionExpression");
|
|
};
|
|
_proto.setArrowFunctionParameters = function setArrowFunctionParameters(node, params, trailingCommaLoc) {
|
|
this.toAssignableList(params, trailingCommaLoc, false);
|
|
node.params = params;
|
|
};
|
|
_proto.parseFunctionBodyAndFinish = function parseFunctionBodyAndFinish(node, type, isMethod) {
|
|
if (isMethod === void 0) {
|
|
isMethod = false;
|
|
}
|
|
this.parseFunctionBody(node, false, isMethod);
|
|
return this.finishNode(node, type);
|
|
};
|
|
_proto.parseFunctionBody = function parseFunctionBody(node, allowExpression, isMethod) {
|
|
var _this5 = this;
|
|
if (isMethod === void 0) {
|
|
isMethod = false;
|
|
}
|
|
var isExpression = allowExpression && !this.match(5);
|
|
this.expressionScope.enter(newExpressionScope());
|
|
if (isExpression) {
|
|
node.body = this.parseMaybeAssign();
|
|
this.checkParams(node, false, allowExpression, false);
|
|
} else {
|
|
var oldStrict = this.state.strict;
|
|
var oldLabels = this.state.labels;
|
|
this.state.labels = [];
|
|
this.prodParam.enter(this.prodParam.currentFlags() | PARAM_RETURN);
|
|
node.body = this.parseBlock(true, false, function (hasStrictModeDirective) {
|
|
var nonSimple = !_this5.isSimpleParamList(node.params);
|
|
if (hasStrictModeDirective && nonSimple) {
|
|
_this5.raise(Errors.IllegalLanguageModeDirective, {
|
|
at: (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.loc.end : node
|
|
});
|
|
}
|
|
var strictModeChanged = !oldStrict && _this5.state.strict;
|
|
_this5.checkParams(node, !_this5.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged);
|
|
if (_this5.state.strict && node.id) {
|
|
_this5.checkIdentifier(node.id, BIND_OUTSIDE, strictModeChanged);
|
|
}
|
|
});
|
|
this.prodParam.exit();
|
|
this.state.labels = oldLabels;
|
|
}
|
|
this.expressionScope.exit();
|
|
};
|
|
_proto.isSimpleParameter = function isSimpleParameter(node) {
|
|
return node.type === "Identifier";
|
|
};
|
|
_proto.isSimpleParamList = function isSimpleParamList(params) {
|
|
for (var i = 0, len = params.length; i < len; i++) {
|
|
if (!this.isSimpleParameter(params[i])) return false;
|
|
}
|
|
return true;
|
|
};
|
|
_proto.checkParams = function checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged) {
|
|
if (strictModeChanged === void 0) {
|
|
strictModeChanged = true;
|
|
}
|
|
var checkClashes = !allowDuplicates && new Set();
|
|
var formalParameters = {
|
|
type: "FormalParameters"
|
|
};
|
|
for (var _i4 = 0, _node$params2 = node.params; _i4 < _node$params2.length; _i4++) {
|
|
var param = _node$params2[_i4];
|
|
this.checkLVal(param, {
|
|
"in": formalParameters,
|
|
binding: BIND_VAR,
|
|
checkClashes: checkClashes,
|
|
strictModeChanged: strictModeChanged
|
|
});
|
|
}
|
|
};
|
|
_proto.parseExprList = function parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) {
|
|
var elts = [];
|
|
var first = true;
|
|
while (!this.eat(close)) {
|
|
if (first) {
|
|
first = false;
|
|
} else {
|
|
this.expect(12);
|
|
if (this.match(close)) {
|
|
if (nodeForExtra) {
|
|
this.addTrailingCommaExtraToNode(nodeForExtra);
|
|
}
|
|
this.next();
|
|
break;
|
|
}
|
|
}
|
|
elts.push(this.parseExprListItem(allowEmpty, refExpressionErrors));
|
|
}
|
|
return elts;
|
|
};
|
|
_proto.parseExprListItem = function parseExprListItem(allowEmpty, refExpressionErrors, allowPlaceholder) {
|
|
var elt;
|
|
if (this.match(12)) {
|
|
if (!allowEmpty) {
|
|
this.raise(Errors.UnexpectedToken, {
|
|
at: this.state.curPosition(),
|
|
unexpected: ","
|
|
});
|
|
}
|
|
elt = null;
|
|
} else if (this.match(21)) {
|
|
var spreadNodeStartLoc = this.state.startLoc;
|
|
elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartLoc);
|
|
} else if (this.match(17)) {
|
|
this.expectPlugin("partialApplication");
|
|
if (!allowPlaceholder) {
|
|
this.raise(Errors.UnexpectedArgumentPlaceholder, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
var _node6 = this.startNode();
|
|
this.next();
|
|
elt = this.finishNode(_node6, "ArgumentPlaceholder");
|
|
} else {
|
|
elt = this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem);
|
|
}
|
|
return elt;
|
|
};
|
|
_proto.parseIdentifier = function parseIdentifier(liberal) {
|
|
var node = this.startNode();
|
|
var name = this.parseIdentifierName(liberal);
|
|
return this.createIdentifier(node, name);
|
|
};
|
|
_proto.createIdentifier = function createIdentifier(node, name) {
|
|
node.name = name;
|
|
node.loc.identifierName = name;
|
|
return this.finishNode(node, "Identifier");
|
|
};
|
|
_proto.parseIdentifierName = function parseIdentifierName(liberal) {
|
|
var name;
|
|
var _this$state3 = this.state,
|
|
startLoc = _this$state3.startLoc,
|
|
type = _this$state3.type;
|
|
if (tokenIsKeywordOrIdentifier(type)) {
|
|
name = this.state.value;
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
var tokenIsKeyword = tokenKeywordOrIdentifierIsKeyword(type);
|
|
if (liberal) {
|
|
if (tokenIsKeyword) {
|
|
this.replaceToken(130);
|
|
}
|
|
} else {
|
|
this.checkReservedWord(name, startLoc, tokenIsKeyword, false);
|
|
}
|
|
this.next();
|
|
return name;
|
|
};
|
|
_proto.checkReservedWord = function checkReservedWord(word, startLoc, checkKeywords, isBinding) {
|
|
if (word.length > 10) {
|
|
return;
|
|
}
|
|
if (!canBeReservedWord(word)) {
|
|
return;
|
|
}
|
|
if (checkKeywords && isKeyword(word)) {
|
|
this.raise(Errors.UnexpectedKeyword, {
|
|
at: startLoc,
|
|
keyword: word
|
|
});
|
|
return;
|
|
}
|
|
var reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord;
|
|
if (reservedTest(word, this.inModule)) {
|
|
this.raise(Errors.UnexpectedReservedWord, {
|
|
at: startLoc,
|
|
reservedWord: word
|
|
});
|
|
return;
|
|
} else if (word === "yield") {
|
|
if (this.prodParam.hasYield) {
|
|
this.raise(Errors.YieldBindingIdentifier, {
|
|
at: startLoc
|
|
});
|
|
return;
|
|
}
|
|
} else if (word === "await") {
|
|
if (this.prodParam.hasAwait) {
|
|
this.raise(Errors.AwaitBindingIdentifier, {
|
|
at: startLoc
|
|
});
|
|
return;
|
|
}
|
|
if (this.scope.inStaticBlock) {
|
|
this.raise(Errors.AwaitBindingIdentifierInStaticBlock, {
|
|
at: startLoc
|
|
});
|
|
return;
|
|
}
|
|
this.expressionScope.recordAsyncArrowParametersError({
|
|
at: startLoc
|
|
});
|
|
} else if (word === "arguments") {
|
|
if (this.scope.inClassAndNotInNonArrowFunction) {
|
|
this.raise(Errors.ArgumentsInClass, {
|
|
at: startLoc
|
|
});
|
|
return;
|
|
}
|
|
}
|
|
};
|
|
_proto.isAwaitAllowed = function isAwaitAllowed() {
|
|
if (this.prodParam.hasAwait) return true;
|
|
if (this.options.allowAwaitOutsideFunction && !this.scope.inFunction) {
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.parseAwait = function parseAwait(startLoc) {
|
|
var node = this.startNodeAt(startLoc);
|
|
this.expressionScope.recordParameterInitializerError(Errors.AwaitExpressionFormalParameter, {
|
|
at: node
|
|
});
|
|
if (this.eat(55)) {
|
|
this.raise(Errors.ObsoleteAwaitStar, {
|
|
at: node
|
|
});
|
|
}
|
|
if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) {
|
|
if (this.isAmbiguousAwait()) {
|
|
this.ambiguousScriptDifferentAst = true;
|
|
} else {
|
|
this.sawUnambiguousESM = true;
|
|
}
|
|
}
|
|
if (!this.state.soloAwait) {
|
|
node.argument = this.parseMaybeUnary(null, true);
|
|
}
|
|
return this.finishNode(node, "AwaitExpression");
|
|
};
|
|
_proto.isAmbiguousAwait = function isAmbiguousAwait() {
|
|
if (this.hasPrecedingLineBreak()) return true;
|
|
var type = this.state.type;
|
|
return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 101 && !this.state.containsEsc || type === 135 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54;
|
|
};
|
|
_proto.parseYield = function parseYield() {
|
|
var node = this.startNode();
|
|
this.expressionScope.recordParameterInitializerError(Errors.YieldInParameter, {
|
|
at: node
|
|
});
|
|
this.next();
|
|
var delegating = false;
|
|
var argument = null;
|
|
if (!this.hasPrecedingLineBreak()) {
|
|
delegating = this.eat(55);
|
|
switch (this.state.type) {
|
|
case 13:
|
|
case 137:
|
|
case 8:
|
|
case 11:
|
|
case 3:
|
|
case 9:
|
|
case 14:
|
|
case 12:
|
|
if (!delegating) break;
|
|
default:
|
|
argument = this.parseMaybeAssign();
|
|
}
|
|
}
|
|
node.delegate = delegating;
|
|
node.argument = argument;
|
|
return this.finishNode(node, "YieldExpression");
|
|
};
|
|
_proto.checkPipelineAtInfixOperator = function checkPipelineAtInfixOperator(left, leftStartLoc) {
|
|
if (this.hasPlugin(["pipelineOperator", {
|
|
proposal: "smart"
|
|
}])) {
|
|
if (left.type === "SequenceExpression") {
|
|
this.raise(Errors.PipelineHeadSequenceExpression, {
|
|
at: leftStartLoc
|
|
});
|
|
}
|
|
}
|
|
};
|
|
_proto.parseSmartPipelineBodyInStyle = function parseSmartPipelineBodyInStyle(childExpr, startLoc) {
|
|
if (this.isSimpleReference(childExpr)) {
|
|
var bodyNode = this.startNodeAt(startLoc);
|
|
bodyNode.callee = childExpr;
|
|
return this.finishNode(bodyNode, "PipelineBareFunction");
|
|
} else {
|
|
var _bodyNode = this.startNodeAt(startLoc);
|
|
this.checkSmartPipeTopicBodyEarlyErrors(startLoc);
|
|
_bodyNode.expression = childExpr;
|
|
return this.finishNode(_bodyNode, "PipelineTopicExpression");
|
|
}
|
|
};
|
|
_proto.isSimpleReference = function isSimpleReference(expression) {
|
|
switch (expression.type) {
|
|
case "MemberExpression":
|
|
return !expression.computed && this.isSimpleReference(expression.object);
|
|
case "Identifier":
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
};
|
|
_proto.checkSmartPipeTopicBodyEarlyErrors = function checkSmartPipeTopicBodyEarlyErrors(startLoc) {
|
|
if (this.match(19)) {
|
|
throw this.raise(Errors.PipelineBodyNoArrow, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
if (!this.topicReferenceWasUsedInCurrentContext()) {
|
|
this.raise(Errors.PipelineTopicUnused, {
|
|
at: startLoc
|
|
});
|
|
}
|
|
};
|
|
_proto.withTopicBindingContext = function withTopicBindingContext(callback) {
|
|
var outerContextTopicState = this.state.topicContext;
|
|
this.state.topicContext = {
|
|
maxNumOfResolvableTopics: 1,
|
|
maxTopicIndex: null
|
|
};
|
|
try {
|
|
return callback();
|
|
} finally {
|
|
this.state.topicContext = outerContextTopicState;
|
|
}
|
|
};
|
|
_proto.withSmartMixTopicForbiddingContext = function withSmartMixTopicForbiddingContext(callback) {
|
|
if (this.hasPlugin(["pipelineOperator", {
|
|
proposal: "smart"
|
|
}])) {
|
|
var outerContextTopicState = this.state.topicContext;
|
|
this.state.topicContext = {
|
|
maxNumOfResolvableTopics: 0,
|
|
maxTopicIndex: null
|
|
};
|
|
try {
|
|
return callback();
|
|
} finally {
|
|
this.state.topicContext = outerContextTopicState;
|
|
}
|
|
} else {
|
|
return callback();
|
|
}
|
|
};
|
|
_proto.withSoloAwaitPermittingContext = function withSoloAwaitPermittingContext(callback) {
|
|
var outerContextSoloAwaitState = this.state.soloAwait;
|
|
this.state.soloAwait = true;
|
|
try {
|
|
return callback();
|
|
} finally {
|
|
this.state.soloAwait = outerContextSoloAwaitState;
|
|
}
|
|
};
|
|
_proto.allowInAnd = function allowInAnd(callback) {
|
|
var flags = this.prodParam.currentFlags();
|
|
var prodParamToSet = PARAM_IN & ~flags;
|
|
if (prodParamToSet) {
|
|
this.prodParam.enter(flags | PARAM_IN);
|
|
try {
|
|
return callback();
|
|
} finally {
|
|
this.prodParam.exit();
|
|
}
|
|
}
|
|
return callback();
|
|
};
|
|
_proto.disallowInAnd = function disallowInAnd(callback) {
|
|
var flags = this.prodParam.currentFlags();
|
|
var prodParamToClear = PARAM_IN & flags;
|
|
if (prodParamToClear) {
|
|
this.prodParam.enter(flags & ~PARAM_IN);
|
|
try {
|
|
return callback();
|
|
} finally {
|
|
this.prodParam.exit();
|
|
}
|
|
}
|
|
return callback();
|
|
};
|
|
_proto.registerTopicReference = function registerTopicReference() {
|
|
this.state.topicContext.maxTopicIndex = 0;
|
|
};
|
|
_proto.topicReferenceIsAllowedInCurrentContext = function topicReferenceIsAllowedInCurrentContext() {
|
|
return this.state.topicContext.maxNumOfResolvableTopics >= 1;
|
|
};
|
|
_proto.topicReferenceWasUsedInCurrentContext = function topicReferenceWasUsedInCurrentContext() {
|
|
return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;
|
|
};
|
|
_proto.parseFSharpPipelineBody = function parseFSharpPipelineBody(prec) {
|
|
var startLoc = this.state.startLoc;
|
|
this.state.potentialArrowAt = this.state.start;
|
|
var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
|
|
this.state.inFSharpPipelineDirectBody = true;
|
|
var ret = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, prec);
|
|
this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
|
|
return ret;
|
|
};
|
|
_proto.parseModuleExpression = function parseModuleExpression() {
|
|
this.expectPlugin("moduleBlocks");
|
|
var node = this.startNode();
|
|
this.next();
|
|
if (!this.match(5)) {
|
|
this.unexpected(null, 5);
|
|
}
|
|
var program = this.startNodeAt(this.state.endLoc);
|
|
this.next();
|
|
var revertScopes = this.initializeScopes(true);
|
|
this.enterInitialScopes();
|
|
try {
|
|
node.body = this.parseProgram(program, 8, "module");
|
|
} finally {
|
|
revertScopes();
|
|
}
|
|
return this.finishNode(node, "ModuleExpression");
|
|
};
|
|
_proto.parsePropertyNamePrefixOperator = function parsePropertyNamePrefixOperator(prop) {};
|
|
return _createClass(ExpressionParser);
|
|
}(LValParser);
|
|
|
|
var loopLabel = {
|
|
kind: "loop"
|
|
},
|
|
switchLabel = {
|
|
kind: "switch"
|
|
};
|
|
var ParseFunctionFlag = {
|
|
Expression: 0,
|
|
Declaration: 1,
|
|
HangingDeclaration: 2,
|
|
NullableId: 4,
|
|
Async: 8
|
|
};
|
|
var ParseStatementFlag = {
|
|
StatementOnly: 0,
|
|
AllowImportExport: 1,
|
|
AllowDeclaration: 2,
|
|
AllowFunctionDeclaration: 4,
|
|
AllowLabeledFunction: 8
|
|
};
|
|
var loneSurrogate = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;
|
|
var keywordRelationalOperator = new RegExp("in(?:stanceof)?", "y");
|
|
function babel7CompatTokens(tokens, input) {
|
|
for (var i = 0; i < tokens.length; i++) {
|
|
var token = tokens[i];
|
|
var type = token.type;
|
|
if (typeof type === "number") {
|
|
{
|
|
if (type === 136) {
|
|
var loc = token.loc,
|
|
start = token.start,
|
|
value = token.value,
|
|
end = token.end;
|
|
var hashEndPos = start + 1;
|
|
var hashEndLoc = createPositionWithColumnOffset(loc.start, 1);
|
|
tokens.splice(i, 1, new Token({
|
|
type: getExportedToken(27),
|
|
value: "#",
|
|
start: start,
|
|
end: hashEndPos,
|
|
startLoc: loc.start,
|
|
endLoc: hashEndLoc
|
|
}), new Token({
|
|
type: getExportedToken(130),
|
|
value: value,
|
|
start: hashEndPos,
|
|
end: end,
|
|
startLoc: hashEndLoc,
|
|
endLoc: loc.end
|
|
}));
|
|
i++;
|
|
continue;
|
|
}
|
|
if (tokenIsTemplate(type)) {
|
|
var _loc = token.loc,
|
|
_start = token.start,
|
|
_value = token.value,
|
|
_end = token.end;
|
|
var backquoteEnd = _start + 1;
|
|
var backquoteEndLoc = createPositionWithColumnOffset(_loc.start, 1);
|
|
var startToken = void 0;
|
|
if (input.charCodeAt(_start) === 96) {
|
|
startToken = new Token({
|
|
type: getExportedToken(22),
|
|
value: "`",
|
|
start: _start,
|
|
end: backquoteEnd,
|
|
startLoc: _loc.start,
|
|
endLoc: backquoteEndLoc
|
|
});
|
|
} else {
|
|
startToken = new Token({
|
|
type: getExportedToken(8),
|
|
value: "}",
|
|
start: _start,
|
|
end: backquoteEnd,
|
|
startLoc: _loc.start,
|
|
endLoc: backquoteEndLoc
|
|
});
|
|
}
|
|
var templateValue = void 0,
|
|
templateElementEnd = void 0,
|
|
templateElementEndLoc = void 0,
|
|
endToken = void 0;
|
|
if (type === 24) {
|
|
templateElementEnd = _end - 1;
|
|
templateElementEndLoc = createPositionWithColumnOffset(_loc.end, -1);
|
|
templateValue = _value === null ? null : _value.slice(1, -1);
|
|
endToken = new Token({
|
|
type: getExportedToken(22),
|
|
value: "`",
|
|
start: templateElementEnd,
|
|
end: _end,
|
|
startLoc: templateElementEndLoc,
|
|
endLoc: _loc.end
|
|
});
|
|
} else {
|
|
templateElementEnd = _end - 2;
|
|
templateElementEndLoc = createPositionWithColumnOffset(_loc.end, -2);
|
|
templateValue = _value === null ? null : _value.slice(1, -2);
|
|
endToken = new Token({
|
|
type: getExportedToken(23),
|
|
value: "${",
|
|
start: templateElementEnd,
|
|
end: _end,
|
|
startLoc: templateElementEndLoc,
|
|
endLoc: _loc.end
|
|
});
|
|
}
|
|
tokens.splice(i, 1, startToken, new Token({
|
|
type: getExportedToken(20),
|
|
value: templateValue,
|
|
start: backquoteEnd,
|
|
end: templateElementEnd,
|
|
startLoc: backquoteEndLoc,
|
|
endLoc: templateElementEndLoc
|
|
}), endToken);
|
|
i += 2;
|
|
continue;
|
|
}
|
|
}
|
|
token.type = getExportedToken(type);
|
|
}
|
|
}
|
|
return tokens;
|
|
}
|
|
var StatementParser = function (_ExpressionParser) {
|
|
_inherits(StatementParser, _ExpressionParser);
|
|
function StatementParser() {
|
|
return _ExpressionParser.apply(this, arguments) || this;
|
|
}
|
|
var _proto = StatementParser.prototype;
|
|
_proto.parseTopLevel = function parseTopLevel(file, program) {
|
|
file.program = this.parseProgram(program);
|
|
file.comments = this.state.comments;
|
|
if (this.options.tokens) {
|
|
file.tokens = babel7CompatTokens(this.tokens, this.input);
|
|
}
|
|
return this.finishNode(file, "File");
|
|
};
|
|
_proto.parseProgram = function parseProgram(program, end, sourceType) {
|
|
if (end === void 0) {
|
|
end = 137;
|
|
}
|
|
if (sourceType === void 0) {
|
|
sourceType = this.options.sourceType;
|
|
}
|
|
program.sourceType = sourceType;
|
|
program.interpreter = this.parseInterpreterDirective();
|
|
this.parseBlockBody(program, true, true, end);
|
|
if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) {
|
|
for (var _i2 = 0, _Array$from2 = Array.from(this.scope.undefinedExports); _i2 < _Array$from2.length; _i2++) {
|
|
var _Array$from2$_i = _Array$from2[_i2],
|
|
localName = _Array$from2$_i[0],
|
|
at = _Array$from2$_i[1];
|
|
this.raise(Errors.ModuleExportUndefined, {
|
|
at: at,
|
|
localName: localName
|
|
});
|
|
}
|
|
}
|
|
var finishedProgram;
|
|
if (end === 137) {
|
|
finishedProgram = this.finishNode(program, "Program");
|
|
} else {
|
|
finishedProgram = this.finishNodeAt(program, "Program", createPositionWithColumnOffset(this.state.startLoc, -1));
|
|
}
|
|
return finishedProgram;
|
|
};
|
|
_proto.stmtToDirective = function stmtToDirective(stmt) {
|
|
var directive = stmt;
|
|
directive.type = "Directive";
|
|
directive.value = directive.expression;
|
|
delete directive.expression;
|
|
var directiveLiteral = directive.value;
|
|
var expressionValue = directiveLiteral.value;
|
|
var raw = this.input.slice(directiveLiteral.start, directiveLiteral.end);
|
|
var val = directiveLiteral.value = raw.slice(1, -1);
|
|
this.addExtra(directiveLiteral, "raw", raw);
|
|
this.addExtra(directiveLiteral, "rawValue", val);
|
|
this.addExtra(directiveLiteral, "expressionValue", expressionValue);
|
|
directiveLiteral.type = "DirectiveLiteral";
|
|
return directive;
|
|
};
|
|
_proto.parseInterpreterDirective = function parseInterpreterDirective() {
|
|
if (!this.match(28)) {
|
|
return null;
|
|
}
|
|
var node = this.startNode();
|
|
node.value = this.state.value;
|
|
this.next();
|
|
return this.finishNode(node, "InterpreterDirective");
|
|
};
|
|
_proto.isLet = function isLet() {
|
|
if (!this.isContextual(99)) {
|
|
return false;
|
|
}
|
|
return this.hasFollowingBindingAtom();
|
|
};
|
|
_proto.chStartsBindingIdentifier = function chStartsBindingIdentifier(ch, pos) {
|
|
if (isIdentifierStart(ch)) {
|
|
keywordRelationalOperator.lastIndex = pos;
|
|
if (keywordRelationalOperator.test(this.input)) {
|
|
var endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex);
|
|
if (!isIdentifierChar(endCh) && endCh !== 92) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
} else if (ch === 92) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
_proto.chStartsBindingPattern = function chStartsBindingPattern(ch) {
|
|
return ch === 91 || ch === 123;
|
|
};
|
|
_proto.hasFollowingBindingAtom = function hasFollowingBindingAtom() {
|
|
var next = this.nextTokenStart();
|
|
var nextCh = this.codePointAtPos(next);
|
|
return this.chStartsBindingPattern(nextCh) || this.chStartsBindingIdentifier(nextCh, next);
|
|
};
|
|
_proto.hasInLineFollowingBindingIdentifier = function hasInLineFollowingBindingIdentifier() {
|
|
var next = this.nextTokenInLineStart();
|
|
var nextCh = this.codePointAtPos(next);
|
|
return this.chStartsBindingIdentifier(nextCh, next);
|
|
};
|
|
_proto.startsUsingForOf = function startsUsingForOf() {
|
|
var _this$lookahead = this.lookahead(),
|
|
type = _this$lookahead.type,
|
|
containsEsc = _this$lookahead.containsEsc;
|
|
if (type === 101 && !containsEsc) {
|
|
return false;
|
|
} else if (tokenIsIdentifier(type) && !this.hasFollowingLineBreak()) {
|
|
this.expectPlugin("explicitResourceManagement");
|
|
return true;
|
|
}
|
|
};
|
|
_proto.parseModuleItem = function parseModuleItem() {
|
|
return this.parseStatementLike(ParseStatementFlag.AllowImportExport | ParseStatementFlag.AllowDeclaration | ParseStatementFlag.AllowFunctionDeclaration | ParseStatementFlag.AllowLabeledFunction);
|
|
};
|
|
_proto.parseStatementListItem = function parseStatementListItem() {
|
|
return this.parseStatementLike(ParseStatementFlag.AllowDeclaration | ParseStatementFlag.AllowFunctionDeclaration | (!this.options.annexB || this.state.strict ? 0 : ParseStatementFlag.AllowLabeledFunction));
|
|
};
|
|
_proto.parseStatementOrSloppyAnnexBFunctionDeclaration = function parseStatementOrSloppyAnnexBFunctionDeclaration(allowLabeledFunction) {
|
|
if (allowLabeledFunction === void 0) {
|
|
allowLabeledFunction = false;
|
|
}
|
|
var flags = ParseStatementFlag.StatementOnly;
|
|
if (this.options.annexB && !this.state.strict) {
|
|
flags |= ParseStatementFlag.AllowFunctionDeclaration;
|
|
if (allowLabeledFunction) {
|
|
flags |= ParseStatementFlag.AllowLabeledFunction;
|
|
}
|
|
}
|
|
return this.parseStatementLike(flags);
|
|
};
|
|
_proto.parseStatement = function parseStatement() {
|
|
return this.parseStatementLike(ParseStatementFlag.StatementOnly);
|
|
};
|
|
_proto.parseStatementLike = function parseStatementLike(flags) {
|
|
var decorators = null;
|
|
if (this.match(26)) {
|
|
decorators = this.parseDecorators(true);
|
|
}
|
|
return this.parseStatementContent(flags, decorators);
|
|
};
|
|
_proto.parseStatementContent = function parseStatementContent(flags, decorators) {
|
|
var starttype = this.state.type;
|
|
var node = this.startNode();
|
|
var allowDeclaration = !!(flags & ParseStatementFlag.AllowDeclaration);
|
|
var allowFunctionDeclaration = !!(flags & ParseStatementFlag.AllowFunctionDeclaration);
|
|
var topLevel = flags & ParseStatementFlag.AllowImportExport;
|
|
switch (starttype) {
|
|
case 60:
|
|
return this.parseBreakContinueStatement(node, true);
|
|
case 63:
|
|
return this.parseBreakContinueStatement(node, false);
|
|
case 64:
|
|
return this.parseDebuggerStatement(node);
|
|
case 90:
|
|
return this.parseDoWhileStatement(node);
|
|
case 91:
|
|
return this.parseForStatement(node);
|
|
case 68:
|
|
if (this.lookaheadCharCode() === 46) break;
|
|
if (!allowFunctionDeclaration) {
|
|
this.raise(this.state.strict ? Errors.StrictFunction : this.options.annexB ? Errors.SloppyFunctionAnnexB : Errors.SloppyFunction, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
return this.parseFunctionStatement(node, false, !allowDeclaration && allowFunctionDeclaration);
|
|
case 80:
|
|
if (!allowDeclaration) this.unexpected();
|
|
return this.parseClass(this.maybeTakeDecorators(decorators, node), true);
|
|
case 69:
|
|
return this.parseIfStatement(node);
|
|
case 70:
|
|
return this.parseReturnStatement(node);
|
|
case 71:
|
|
return this.parseSwitchStatement(node);
|
|
case 72:
|
|
return this.parseThrowStatement(node);
|
|
case 73:
|
|
return this.parseTryStatement(node);
|
|
case 105:
|
|
if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifier()) {
|
|
break;
|
|
}
|
|
this.expectPlugin("explicitResourceManagement");
|
|
if (!this.scope.inModule && this.scope.inTopLevel) {
|
|
this.raise(Errors.UnexpectedUsingDeclaration, {
|
|
at: this.state.startLoc
|
|
});
|
|
} else if (!allowDeclaration) {
|
|
this.raise(Errors.UnexpectedLexicalDeclaration, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
return this.parseVarStatement(node, "using");
|
|
case 99:
|
|
{
|
|
if (this.state.containsEsc) {
|
|
break;
|
|
}
|
|
var next = this.nextTokenStart();
|
|
var nextCh = this.codePointAtPos(next);
|
|
if (nextCh !== 91) {
|
|
if (!allowDeclaration && this.hasFollowingLineBreak()) break;
|
|
if (!this.chStartsBindingIdentifier(nextCh, next) && nextCh !== 123) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
case 75:
|
|
{
|
|
if (!allowDeclaration) {
|
|
this.raise(Errors.UnexpectedLexicalDeclaration, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
}
|
|
case 74:
|
|
{
|
|
var kind = this.state.value;
|
|
return this.parseVarStatement(node, kind);
|
|
}
|
|
case 92:
|
|
return this.parseWhileStatement(node);
|
|
case 76:
|
|
return this.parseWithStatement(node);
|
|
case 5:
|
|
return this.parseBlock();
|
|
case 13:
|
|
return this.parseEmptyStatement(node);
|
|
case 83:
|
|
{
|
|
var nextTokenCharCode = this.lookaheadCharCode();
|
|
if (nextTokenCharCode === 40 || nextTokenCharCode === 46) {
|
|
break;
|
|
}
|
|
}
|
|
case 82:
|
|
{
|
|
if (!this.options.allowImportExportEverywhere && !topLevel) {
|
|
this.raise(Errors.UnexpectedImportExport, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
this.next();
|
|
var result;
|
|
if (starttype === 83) {
|
|
result = this.parseImport(node);
|
|
if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) {
|
|
this.sawUnambiguousESM = true;
|
|
}
|
|
} else {
|
|
result = this.parseExport(node, decorators);
|
|
if (result.type === "ExportNamedDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportAllDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportDefaultDeclaration") {
|
|
this.sawUnambiguousESM = true;
|
|
}
|
|
}
|
|
this.assertModuleNodeAllowed(result);
|
|
return result;
|
|
}
|
|
default:
|
|
{
|
|
if (this.isAsyncFunction()) {
|
|
if (!allowDeclaration) {
|
|
this.raise(Errors.AsyncFunctionInSingleStatementContext, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
this.next();
|
|
return this.parseFunctionStatement(node, true, !allowDeclaration && allowFunctionDeclaration);
|
|
}
|
|
}
|
|
}
|
|
var maybeName = this.state.value;
|
|
var expr = this.parseExpression();
|
|
if (tokenIsIdentifier(starttype) && expr.type === "Identifier" && this.eat(14)) {
|
|
return this.parseLabeledStatement(node, maybeName, expr, flags);
|
|
} else {
|
|
return this.parseExpressionStatement(node, expr, decorators);
|
|
}
|
|
};
|
|
_proto.assertModuleNodeAllowed = function assertModuleNodeAllowed(node) {
|
|
if (!this.options.allowImportExportEverywhere && !this.inModule) {
|
|
this.raise(Errors.ImportOutsideModule, {
|
|
at: node
|
|
});
|
|
}
|
|
};
|
|
_proto.decoratorsEnabledBeforeExport = function decoratorsEnabledBeforeExport() {
|
|
if (this.hasPlugin("decorators-legacy")) return true;
|
|
return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") !== false;
|
|
};
|
|
_proto.maybeTakeDecorators = function maybeTakeDecorators(maybeDecorators, classNode, exportNode) {
|
|
if (maybeDecorators) {
|
|
if (classNode.decorators && classNode.decorators.length > 0) {
|
|
var _classNode$decorators;
|
|
if (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") !== "boolean") {
|
|
this.raise(Errors.DecoratorsBeforeAfterExport, {
|
|
at: classNode.decorators[0]
|
|
});
|
|
}
|
|
(_classNode$decorators = classNode.decorators).unshift.apply(_classNode$decorators, maybeDecorators);
|
|
} else {
|
|
classNode.decorators = maybeDecorators;
|
|
}
|
|
this.resetStartLocationFromNode(classNode, maybeDecorators[0]);
|
|
if (exportNode) this.resetStartLocationFromNode(exportNode, classNode);
|
|
}
|
|
return classNode;
|
|
};
|
|
_proto.canHaveLeadingDecorator = function canHaveLeadingDecorator() {
|
|
return this.match(80);
|
|
};
|
|
_proto.parseDecorators = function parseDecorators(allowExport) {
|
|
var decorators = [];
|
|
do {
|
|
decorators.push(this.parseDecorator());
|
|
} while (this.match(26));
|
|
if (this.match(82)) {
|
|
if (!allowExport) {
|
|
this.unexpected();
|
|
}
|
|
if (!this.decoratorsEnabledBeforeExport()) {
|
|
this.raise(Errors.DecoratorExportClass, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
} else if (!this.canHaveLeadingDecorator()) {
|
|
throw this.raise(Errors.UnexpectedLeadingDecorator, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
return decorators;
|
|
};
|
|
_proto.parseDecorator = function parseDecorator() {
|
|
this.expectOnePlugin(["decorators", "decorators-legacy"]);
|
|
var node = this.startNode();
|
|
this.next();
|
|
if (this.hasPlugin("decorators")) {
|
|
var startLoc = this.state.startLoc;
|
|
var expr;
|
|
if (this.match(10)) {
|
|
var _startLoc = this.state.startLoc;
|
|
this.next();
|
|
expr = this.parseExpression();
|
|
this.expect(11);
|
|
expr = this.wrapParenthesis(_startLoc, expr);
|
|
var paramsStartLoc = this.state.startLoc;
|
|
node.expression = this.parseMaybeDecoratorArguments(expr);
|
|
if (this.getPluginOption("decorators", "allowCallParenthesized") === false && node.expression !== expr) {
|
|
this.raise(Errors.DecoratorArgumentsOutsideParentheses, {
|
|
at: paramsStartLoc
|
|
});
|
|
}
|
|
} else {
|
|
expr = this.parseIdentifier(false);
|
|
while (this.eat(16)) {
|
|
var _node = this.startNodeAt(startLoc);
|
|
_node.object = expr;
|
|
if (this.match(136)) {
|
|
this.classScope.usePrivateName(this.state.value, this.state.startLoc);
|
|
_node.property = this.parsePrivateName();
|
|
} else {
|
|
_node.property = this.parseIdentifier(true);
|
|
}
|
|
_node.computed = false;
|
|
expr = this.finishNode(_node, "MemberExpression");
|
|
}
|
|
node.expression = this.parseMaybeDecoratorArguments(expr);
|
|
}
|
|
} else {
|
|
node.expression = this.parseExprSubscripts();
|
|
}
|
|
return this.finishNode(node, "Decorator");
|
|
};
|
|
_proto.parseMaybeDecoratorArguments = function parseMaybeDecoratorArguments(expr) {
|
|
if (this.eat(10)) {
|
|
var _node2 = this.startNodeAtNode(expr);
|
|
_node2.callee = expr;
|
|
_node2.arguments = this.parseCallExpressionArguments(11, false);
|
|
this.toReferencedList(_node2.arguments);
|
|
return this.finishNode(_node2, "CallExpression");
|
|
}
|
|
return expr;
|
|
};
|
|
_proto.parseBreakContinueStatement = function parseBreakContinueStatement(node, isBreak) {
|
|
this.next();
|
|
if (this.isLineTerminator()) {
|
|
node.label = null;
|
|
} else {
|
|
node.label = this.parseIdentifier();
|
|
this.semicolon();
|
|
}
|
|
this.verifyBreakContinue(node, isBreak);
|
|
return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement");
|
|
};
|
|
_proto.verifyBreakContinue = function verifyBreakContinue(node, isBreak) {
|
|
var i;
|
|
for (i = 0; i < this.state.labels.length; ++i) {
|
|
var lab = this.state.labels[i];
|
|
if (node.label == null || lab.name === node.label.name) {
|
|
if (lab.kind != null && (isBreak || lab.kind === "loop")) break;
|
|
if (node.label && isBreak) break;
|
|
}
|
|
}
|
|
if (i === this.state.labels.length) {
|
|
var type = isBreak ? "BreakStatement" : "ContinueStatement";
|
|
this.raise(Errors.IllegalBreakContinue, {
|
|
at: node,
|
|
type: type
|
|
});
|
|
}
|
|
};
|
|
_proto.parseDebuggerStatement = function parseDebuggerStatement(node) {
|
|
this.next();
|
|
this.semicolon();
|
|
return this.finishNode(node, "DebuggerStatement");
|
|
};
|
|
_proto.parseHeaderExpression = function parseHeaderExpression() {
|
|
this.expect(10);
|
|
var val = this.parseExpression();
|
|
this.expect(11);
|
|
return val;
|
|
};
|
|
_proto.parseDoWhileStatement = function parseDoWhileStatement(node) {
|
|
var _this = this;
|
|
this.next();
|
|
this.state.labels.push(loopLabel);
|
|
node.body = this.withSmartMixTopicForbiddingContext(function () {
|
|
return _this.parseStatement();
|
|
});
|
|
this.state.labels.pop();
|
|
this.expect(92);
|
|
node.test = this.parseHeaderExpression();
|
|
this.eat(13);
|
|
return this.finishNode(node, "DoWhileStatement");
|
|
};
|
|
_proto.parseForStatement = function parseForStatement(node) {
|
|
this.next();
|
|
this.state.labels.push(loopLabel);
|
|
var awaitAt = null;
|
|
if (this.isAwaitAllowed() && this.eatContextual(96)) {
|
|
awaitAt = this.state.lastTokStartLoc;
|
|
}
|
|
this.scope.enter(SCOPE_OTHER);
|
|
this.expect(10);
|
|
if (this.match(13)) {
|
|
if (awaitAt !== null) {
|
|
this.unexpected(awaitAt);
|
|
}
|
|
return this.parseFor(node, null);
|
|
}
|
|
var startsWithLet = this.isContextual(99);
|
|
var startsWithUsing = this.isContextual(105);
|
|
var isLetOrUsing = startsWithLet && this.hasFollowingBindingAtom() || startsWithUsing && this.startsUsingForOf();
|
|
if (this.match(74) || this.match(75) || isLetOrUsing) {
|
|
var initNode = this.startNode();
|
|
var kind = this.state.value;
|
|
this.next();
|
|
this.parseVar(initNode, true, kind);
|
|
var _init = this.finishNode(initNode, "VariableDeclaration");
|
|
var isForIn = this.match(58);
|
|
if (isForIn && startsWithUsing) {
|
|
this.raise(Errors.ForInUsing, {
|
|
at: _init
|
|
});
|
|
}
|
|
if ((isForIn || this.isContextual(101)) && _init.declarations.length === 1) {
|
|
return this.parseForIn(node, _init, awaitAt);
|
|
}
|
|
if (awaitAt !== null) {
|
|
this.unexpected(awaitAt);
|
|
}
|
|
return this.parseFor(node, _init);
|
|
}
|
|
var startsWithAsync = this.isContextual(95);
|
|
var refExpressionErrors = new ExpressionErrors();
|
|
var init = this.parseExpression(true, refExpressionErrors);
|
|
var isForOf = this.isContextual(101);
|
|
if (isForOf) {
|
|
if (startsWithLet) {
|
|
this.raise(Errors.ForOfLet, {
|
|
at: init
|
|
});
|
|
}
|
|
if (awaitAt === null && startsWithAsync && init.type === "Identifier") {
|
|
this.raise(Errors.ForOfAsync, {
|
|
at: init
|
|
});
|
|
}
|
|
}
|
|
if (isForOf || this.match(58)) {
|
|
this.checkDestructuringPrivate(refExpressionErrors);
|
|
this.toAssignable(init, true);
|
|
var type = isForOf ? "ForOfStatement" : "ForInStatement";
|
|
this.checkLVal(init, {
|
|
"in": {
|
|
type: type
|
|
}
|
|
});
|
|
return this.parseForIn(node, init, awaitAt);
|
|
} else {
|
|
this.checkExpressionErrors(refExpressionErrors, true);
|
|
}
|
|
if (awaitAt !== null) {
|
|
this.unexpected(awaitAt);
|
|
}
|
|
return this.parseFor(node, init);
|
|
};
|
|
_proto.parseFunctionStatement = function parseFunctionStatement(node, isAsync, isHangingDeclaration) {
|
|
this.next();
|
|
return this.parseFunction(node, ParseFunctionFlag.Declaration | (isHangingDeclaration ? ParseFunctionFlag.HangingDeclaration : 0) | (isAsync ? ParseFunctionFlag.Async : 0));
|
|
};
|
|
_proto.parseIfStatement = function parseIfStatement(node) {
|
|
this.next();
|
|
node.test = this.parseHeaderExpression();
|
|
node.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration();
|
|
node.alternate = this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null;
|
|
return this.finishNode(node, "IfStatement");
|
|
};
|
|
_proto.parseReturnStatement = function parseReturnStatement(node) {
|
|
if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) {
|
|
this.raise(Errors.IllegalReturn, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
this.next();
|
|
if (this.isLineTerminator()) {
|
|
node.argument = null;
|
|
} else {
|
|
node.argument = this.parseExpression();
|
|
this.semicolon();
|
|
}
|
|
return this.finishNode(node, "ReturnStatement");
|
|
};
|
|
_proto.parseSwitchStatement = function parseSwitchStatement(node) {
|
|
this.next();
|
|
node.discriminant = this.parseHeaderExpression();
|
|
var cases = node.cases = [];
|
|
this.expect(5);
|
|
this.state.labels.push(switchLabel);
|
|
this.scope.enter(SCOPE_OTHER);
|
|
var cur;
|
|
for (var sawDefault; !this.match(8);) {
|
|
if (this.match(61) || this.match(65)) {
|
|
var isCase = this.match(61);
|
|
if (cur) this.finishNode(cur, "SwitchCase");
|
|
cases.push(cur = this.startNode());
|
|
cur.consequent = [];
|
|
this.next();
|
|
if (isCase) {
|
|
cur.test = this.parseExpression();
|
|
} else {
|
|
if (sawDefault) {
|
|
this.raise(Errors.MultipleDefaultsInSwitch, {
|
|
at: this.state.lastTokStartLoc
|
|
});
|
|
}
|
|
sawDefault = true;
|
|
cur.test = null;
|
|
}
|
|
this.expect(14);
|
|
} else {
|
|
if (cur) {
|
|
cur.consequent.push(this.parseStatementListItem());
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
}
|
|
}
|
|
this.scope.exit();
|
|
if (cur) this.finishNode(cur, "SwitchCase");
|
|
this.next();
|
|
this.state.labels.pop();
|
|
return this.finishNode(node, "SwitchStatement");
|
|
};
|
|
_proto.parseThrowStatement = function parseThrowStatement(node) {
|
|
this.next();
|
|
if (this.hasPrecedingLineBreak()) {
|
|
this.raise(Errors.NewlineAfterThrow, {
|
|
at: this.state.lastTokEndLoc
|
|
});
|
|
}
|
|
node.argument = this.parseExpression();
|
|
this.semicolon();
|
|
return this.finishNode(node, "ThrowStatement");
|
|
};
|
|
_proto.parseCatchClauseParam = function parseCatchClauseParam() {
|
|
var param = this.parseBindingAtom();
|
|
this.scope.enter(this.options.annexB && param.type === "Identifier" ? SCOPE_SIMPLE_CATCH : 0);
|
|
this.checkLVal(param, {
|
|
"in": {
|
|
type: "CatchClause"
|
|
},
|
|
binding: BIND_CATCH_PARAM
|
|
});
|
|
return param;
|
|
};
|
|
_proto.parseTryStatement = function parseTryStatement(node) {
|
|
var _this2 = this;
|
|
this.next();
|
|
node.block = this.parseBlock();
|
|
node.handler = null;
|
|
if (this.match(62)) {
|
|
var clause = this.startNode();
|
|
this.next();
|
|
if (this.match(10)) {
|
|
this.expect(10);
|
|
clause.param = this.parseCatchClauseParam();
|
|
this.expect(11);
|
|
} else {
|
|
clause.param = null;
|
|
this.scope.enter(SCOPE_OTHER);
|
|
}
|
|
clause.body = this.withSmartMixTopicForbiddingContext(function () {
|
|
return _this2.parseBlock(false, false);
|
|
});
|
|
this.scope.exit();
|
|
node.handler = this.finishNode(clause, "CatchClause");
|
|
}
|
|
node.finalizer = this.eat(67) ? this.parseBlock() : null;
|
|
if (!node.handler && !node.finalizer) {
|
|
this.raise(Errors.NoCatchOrFinally, {
|
|
at: node
|
|
});
|
|
}
|
|
return this.finishNode(node, "TryStatement");
|
|
};
|
|
_proto.parseVarStatement = function parseVarStatement(node, kind, allowMissingInitializer) {
|
|
if (allowMissingInitializer === void 0) {
|
|
allowMissingInitializer = false;
|
|
}
|
|
this.next();
|
|
this.parseVar(node, false, kind, allowMissingInitializer);
|
|
this.semicolon();
|
|
return this.finishNode(node, "VariableDeclaration");
|
|
};
|
|
_proto.parseWhileStatement = function parseWhileStatement(node) {
|
|
var _this3 = this;
|
|
this.next();
|
|
node.test = this.parseHeaderExpression();
|
|
this.state.labels.push(loopLabel);
|
|
node.body = this.withSmartMixTopicForbiddingContext(function () {
|
|
return _this3.parseStatement();
|
|
});
|
|
this.state.labels.pop();
|
|
return this.finishNode(node, "WhileStatement");
|
|
};
|
|
_proto.parseWithStatement = function parseWithStatement(node) {
|
|
var _this4 = this;
|
|
if (this.state.strict) {
|
|
this.raise(Errors.StrictWith, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
this.next();
|
|
node.object = this.parseHeaderExpression();
|
|
node.body = this.withSmartMixTopicForbiddingContext(function () {
|
|
return _this4.parseStatement();
|
|
});
|
|
return this.finishNode(node, "WithStatement");
|
|
};
|
|
_proto.parseEmptyStatement = function parseEmptyStatement(node) {
|
|
this.next();
|
|
return this.finishNode(node, "EmptyStatement");
|
|
};
|
|
_proto.parseLabeledStatement = function parseLabeledStatement(node, maybeName, expr, flags) {
|
|
for (var _i4 = 0, _this$state$labels2 = this.state.labels; _i4 < _this$state$labels2.length; _i4++) {
|
|
var label = _this$state$labels2[_i4];
|
|
if (label.name === maybeName) {
|
|
this.raise(Errors.LabelRedeclaration, {
|
|
at: expr,
|
|
labelName: maybeName
|
|
});
|
|
}
|
|
}
|
|
var kind = tokenIsLoop(this.state.type) ? "loop" : this.match(71) ? "switch" : null;
|
|
for (var i = this.state.labels.length - 1; i >= 0; i--) {
|
|
var _label = this.state.labels[i];
|
|
if (_label.statementStart === node.start) {
|
|
_label.statementStart = this.state.start;
|
|
_label.kind = kind;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
this.state.labels.push({
|
|
name: maybeName,
|
|
kind: kind,
|
|
statementStart: this.state.start
|
|
});
|
|
node.body = flags & ParseStatementFlag.AllowLabeledFunction ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(true) : this.parseStatement();
|
|
this.state.labels.pop();
|
|
node.label = expr;
|
|
return this.finishNode(node, "LabeledStatement");
|
|
};
|
|
_proto.parseExpressionStatement = function parseExpressionStatement(node, expr, decorators) {
|
|
node.expression = expr;
|
|
this.semicolon();
|
|
return this.finishNode(node, "ExpressionStatement");
|
|
};
|
|
_proto.parseBlock = function parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse) {
|
|
if (allowDirectives === void 0) {
|
|
allowDirectives = false;
|
|
}
|
|
if (createNewLexicalScope === void 0) {
|
|
createNewLexicalScope = true;
|
|
}
|
|
var node = this.startNode();
|
|
if (allowDirectives) {
|
|
this.state.strictErrors.clear();
|
|
}
|
|
this.expect(5);
|
|
if (createNewLexicalScope) {
|
|
this.scope.enter(SCOPE_OTHER);
|
|
}
|
|
this.parseBlockBody(node, allowDirectives, false, 8, afterBlockParse);
|
|
if (createNewLexicalScope) {
|
|
this.scope.exit();
|
|
}
|
|
return this.finishNode(node, "BlockStatement");
|
|
};
|
|
_proto.isValidDirective = function isValidDirective(stmt) {
|
|
return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized;
|
|
};
|
|
_proto.parseBlockBody = function parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) {
|
|
var body = node.body = [];
|
|
var directives = node.directives = [];
|
|
this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse);
|
|
};
|
|
_proto.parseBlockOrModuleBlockBody = function parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) {
|
|
var oldStrict = this.state.strict;
|
|
var hasStrictModeDirective = false;
|
|
var parsedNonDirective = false;
|
|
while (!this.match(end)) {
|
|
var stmt = topLevel ? this.parseModuleItem() : this.parseStatementListItem();
|
|
if (directives && !parsedNonDirective) {
|
|
if (this.isValidDirective(stmt)) {
|
|
var directive = this.stmtToDirective(stmt);
|
|
directives.push(directive);
|
|
if (!hasStrictModeDirective && directive.value.value === "use strict") {
|
|
hasStrictModeDirective = true;
|
|
this.setStrict(true);
|
|
}
|
|
continue;
|
|
}
|
|
parsedNonDirective = true;
|
|
this.state.strictErrors.clear();
|
|
}
|
|
body.push(stmt);
|
|
}
|
|
if (afterBlockParse) {
|
|
afterBlockParse.call(this, hasStrictModeDirective);
|
|
}
|
|
if (!oldStrict) {
|
|
this.setStrict(false);
|
|
}
|
|
this.next();
|
|
};
|
|
_proto.parseFor = function parseFor(node, init) {
|
|
var _this5 = this;
|
|
node.init = init;
|
|
this.semicolon(false);
|
|
node.test = this.match(13) ? null : this.parseExpression();
|
|
this.semicolon(false);
|
|
node.update = this.match(11) ? null : this.parseExpression();
|
|
this.expect(11);
|
|
node.body = this.withSmartMixTopicForbiddingContext(function () {
|
|
return _this5.parseStatement();
|
|
});
|
|
this.scope.exit();
|
|
this.state.labels.pop();
|
|
return this.finishNode(node, "ForStatement");
|
|
};
|
|
_proto.parseForIn = function parseForIn(node, init, awaitAt) {
|
|
var _this6 = this;
|
|
var isForIn = this.match(58);
|
|
this.next();
|
|
if (isForIn) {
|
|
if (awaitAt !== null) this.unexpected(awaitAt);
|
|
} else {
|
|
node["await"] = awaitAt !== null;
|
|
}
|
|
if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || !this.options.annexB || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) {
|
|
this.raise(Errors.ForInOfLoopInitializer, {
|
|
at: init,
|
|
type: isForIn ? "ForInStatement" : "ForOfStatement"
|
|
});
|
|
}
|
|
if (init.type === "AssignmentPattern") {
|
|
this.raise(Errors.InvalidLhs, {
|
|
at: init,
|
|
ancestor: {
|
|
type: "ForStatement"
|
|
}
|
|
});
|
|
}
|
|
node.left = init;
|
|
node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn();
|
|
this.expect(11);
|
|
node.body = this.withSmartMixTopicForbiddingContext(function () {
|
|
return _this6.parseStatement();
|
|
});
|
|
this.scope.exit();
|
|
this.state.labels.pop();
|
|
return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement");
|
|
};
|
|
_proto.parseVar = function parseVar(node, isFor, kind, allowMissingInitializer) {
|
|
if (allowMissingInitializer === void 0) {
|
|
allowMissingInitializer = false;
|
|
}
|
|
var declarations = node.declarations = [];
|
|
node.kind = kind;
|
|
for (;;) {
|
|
var decl = this.startNode();
|
|
this.parseVarId(decl, kind);
|
|
decl.init = !this.eat(29) ? null : isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn();
|
|
if (decl.init === null && !allowMissingInitializer) {
|
|
if (decl.id.type !== "Identifier" && !(isFor && (this.match(58) || this.isContextual(101)))) {
|
|
this.raise(Errors.DeclarationMissingInitializer, {
|
|
at: this.state.lastTokEndLoc,
|
|
kind: "destructuring"
|
|
});
|
|
} else if (kind === "const" && !(this.match(58) || this.isContextual(101))) {
|
|
this.raise(Errors.DeclarationMissingInitializer, {
|
|
at: this.state.lastTokEndLoc,
|
|
kind: "const"
|
|
});
|
|
}
|
|
}
|
|
declarations.push(this.finishNode(decl, "VariableDeclarator"));
|
|
if (!this.eat(12)) break;
|
|
}
|
|
return node;
|
|
};
|
|
_proto.parseVarId = function parseVarId(decl, kind) {
|
|
var id = this.parseBindingAtom();
|
|
this.checkLVal(id, {
|
|
"in": {
|
|
type: "VariableDeclarator"
|
|
},
|
|
binding: kind === "var" ? BIND_VAR : BIND_LEXICAL
|
|
});
|
|
decl.id = id;
|
|
};
|
|
_proto.parseAsyncFunctionExpression = function parseAsyncFunctionExpression(node) {
|
|
return this.parseFunction(node, ParseFunctionFlag.Async);
|
|
};
|
|
_proto.parseFunction = function parseFunction(node, flags) {
|
|
var _this7 = this;
|
|
if (flags === void 0) {
|
|
flags = ParseFunctionFlag.Expression;
|
|
}
|
|
var hangingDeclaration = flags & ParseFunctionFlag.HangingDeclaration;
|
|
var isDeclaration = !!(flags & ParseFunctionFlag.Declaration);
|
|
var requireId = isDeclaration && !(flags & ParseFunctionFlag.NullableId);
|
|
var isAsync = !!(flags & ParseFunctionFlag.Async);
|
|
this.initFunction(node, isAsync);
|
|
if (this.match(55)) {
|
|
if (hangingDeclaration) {
|
|
this.raise(Errors.GeneratorInSingleStatementContext, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
this.next();
|
|
node.generator = true;
|
|
}
|
|
if (isDeclaration) {
|
|
node.id = this.parseFunctionId(requireId);
|
|
}
|
|
var oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
|
|
this.state.maybeInArrowParameters = false;
|
|
this.scope.enter(SCOPE_FUNCTION);
|
|
this.prodParam.enter(functionFlags(isAsync, node.generator));
|
|
if (!isDeclaration) {
|
|
node.id = this.parseFunctionId();
|
|
}
|
|
this.parseFunctionParams(node, false);
|
|
this.withSmartMixTopicForbiddingContext(function () {
|
|
_this7.parseFunctionBodyAndFinish(node, isDeclaration ? "FunctionDeclaration" : "FunctionExpression");
|
|
});
|
|
this.prodParam.exit();
|
|
this.scope.exit();
|
|
if (isDeclaration && !hangingDeclaration) {
|
|
this.registerFunctionStatementId(node);
|
|
}
|
|
this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
|
|
return node;
|
|
};
|
|
_proto.parseFunctionId = function parseFunctionId(requireId) {
|
|
return requireId || tokenIsIdentifier(this.state.type) ? this.parseIdentifier() : null;
|
|
};
|
|
_proto.parseFunctionParams = function parseFunctionParams(node, isConstructor) {
|
|
this.expect(10);
|
|
this.expressionScope.enter(newParameterDeclarationScope());
|
|
node.params = this.parseBindingList(11, 41, ParseBindingListFlags.IS_FUNCTION_PARAMS | (isConstructor ? ParseBindingListFlags.IS_CONSTRUCTOR_PARAMS : 0));
|
|
this.expressionScope.exit();
|
|
};
|
|
_proto.registerFunctionStatementId = function registerFunctionStatementId(node) {
|
|
if (!node.id) return;
|
|
this.scope.declareName(node.id.name, !this.options.annexB || this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION, node.id.loc.start);
|
|
};
|
|
_proto.parseClass = function parseClass(node, isStatement, optionalId) {
|
|
this.next();
|
|
var oldStrict = this.state.strict;
|
|
this.state.strict = true;
|
|
this.parseClassId(node, isStatement, optionalId);
|
|
this.parseClassSuper(node);
|
|
node.body = this.parseClassBody(!!node.superClass, oldStrict);
|
|
return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression");
|
|
};
|
|
_proto.isClassProperty = function isClassProperty() {
|
|
return this.match(29) || this.match(13) || this.match(8);
|
|
};
|
|
_proto.isClassMethod = function isClassMethod() {
|
|
return this.match(10);
|
|
};
|
|
_proto.isNonstaticConstructor = function isNonstaticConstructor(method) {
|
|
return !method.computed && !method["static"] && (method.key.name === "constructor" || method.key.value === "constructor");
|
|
};
|
|
_proto.parseClassBody = function parseClassBody(hadSuperClass, oldStrict) {
|
|
var _this8 = this;
|
|
this.classScope.enter();
|
|
var state = {
|
|
hadConstructor: false,
|
|
hadSuperClass: hadSuperClass
|
|
};
|
|
var decorators = [];
|
|
var classBody = this.startNode();
|
|
classBody.body = [];
|
|
this.expect(5);
|
|
this.withSmartMixTopicForbiddingContext(function () {
|
|
while (!_this8.match(8)) {
|
|
if (_this8.eat(13)) {
|
|
if (decorators.length > 0) {
|
|
throw _this8.raise(Errors.DecoratorSemicolon, {
|
|
at: _this8.state.lastTokEndLoc
|
|
});
|
|
}
|
|
continue;
|
|
}
|
|
if (_this8.match(26)) {
|
|
decorators.push(_this8.parseDecorator());
|
|
continue;
|
|
}
|
|
var member = _this8.startNode();
|
|
if (decorators.length) {
|
|
member.decorators = decorators;
|
|
_this8.resetStartLocationFromNode(member, decorators[0]);
|
|
decorators = [];
|
|
}
|
|
_this8.parseClassMember(classBody, member, state);
|
|
if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) {
|
|
_this8.raise(Errors.DecoratorConstructor, {
|
|
at: member
|
|
});
|
|
}
|
|
}
|
|
});
|
|
this.state.strict = oldStrict;
|
|
this.next();
|
|
if (decorators.length) {
|
|
throw this.raise(Errors.TrailingDecorator, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
this.classScope.exit();
|
|
return this.finishNode(classBody, "ClassBody");
|
|
};
|
|
_proto.parseClassMemberFromModifier = function parseClassMemberFromModifier(classBody, member) {
|
|
var key = this.parseIdentifier(true);
|
|
if (this.isClassMethod()) {
|
|
var method = member;
|
|
method.kind = "method";
|
|
method.computed = false;
|
|
method.key = key;
|
|
method["static"] = false;
|
|
this.pushClassMethod(classBody, method, false, false, false, false);
|
|
return true;
|
|
} else if (this.isClassProperty()) {
|
|
var prop = member;
|
|
prop.computed = false;
|
|
prop.key = key;
|
|
prop["static"] = false;
|
|
classBody.body.push(this.parseClassProperty(prop));
|
|
return true;
|
|
}
|
|
this.resetPreviousNodeTrailingComments(key);
|
|
return false;
|
|
};
|
|
_proto.parseClassMember = function parseClassMember(classBody, member, state) {
|
|
var isStatic = this.isContextual(104);
|
|
if (isStatic) {
|
|
if (this.parseClassMemberFromModifier(classBody, member)) {
|
|
return;
|
|
}
|
|
if (this.eat(5)) {
|
|
this.parseClassStaticBlock(classBody, member);
|
|
return;
|
|
}
|
|
}
|
|
this.parseClassMemberWithIsStatic(classBody, member, state, isStatic);
|
|
};
|
|
_proto.parseClassMemberWithIsStatic = function parseClassMemberWithIsStatic(classBody, member, state, isStatic) {
|
|
var publicMethod = member;
|
|
var privateMethod = member;
|
|
var publicProp = member;
|
|
var privateProp = member;
|
|
var accessorProp = member;
|
|
var method = publicMethod;
|
|
var publicMember = publicMethod;
|
|
member["static"] = isStatic;
|
|
this.parsePropertyNamePrefixOperator(member);
|
|
if (this.eat(55)) {
|
|
method.kind = "method";
|
|
var isPrivateName = this.match(136);
|
|
this.parseClassElementName(method);
|
|
if (isPrivateName) {
|
|
this.pushClassPrivateMethod(classBody, privateMethod, true, false);
|
|
return;
|
|
}
|
|
if (this.isNonstaticConstructor(publicMethod)) {
|
|
this.raise(Errors.ConstructorIsGenerator, {
|
|
at: publicMethod.key
|
|
});
|
|
}
|
|
this.pushClassMethod(classBody, publicMethod, true, false, false, false);
|
|
return;
|
|
}
|
|
var isContextual = tokenIsIdentifier(this.state.type) && !this.state.containsEsc;
|
|
var isPrivate = this.match(136);
|
|
var key = this.parseClassElementName(member);
|
|
var maybeQuestionTokenStartLoc = this.state.startLoc;
|
|
this.parsePostMemberNameModifiers(publicMember);
|
|
if (this.isClassMethod()) {
|
|
method.kind = "method";
|
|
if (isPrivate) {
|
|
this.pushClassPrivateMethod(classBody, privateMethod, false, false);
|
|
return;
|
|
}
|
|
var isConstructor = this.isNonstaticConstructor(publicMethod);
|
|
var allowsDirectSuper = false;
|
|
if (isConstructor) {
|
|
publicMethod.kind = "constructor";
|
|
if (state.hadConstructor && !this.hasPlugin("typescript")) {
|
|
this.raise(Errors.DuplicateConstructor, {
|
|
at: key
|
|
});
|
|
}
|
|
if (isConstructor && this.hasPlugin("typescript") && member.override) {
|
|
this.raise(Errors.OverrideOnConstructor, {
|
|
at: key
|
|
});
|
|
}
|
|
state.hadConstructor = true;
|
|
allowsDirectSuper = state.hadSuperClass;
|
|
}
|
|
this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper);
|
|
} else if (this.isClassProperty()) {
|
|
if (isPrivate) {
|
|
this.pushClassPrivateProperty(classBody, privateProp);
|
|
} else {
|
|
this.pushClassProperty(classBody, publicProp);
|
|
}
|
|
} else if (isContextual && key.name === "async" && !this.isLineTerminator()) {
|
|
this.resetPreviousNodeTrailingComments(key);
|
|
var isGenerator = this.eat(55);
|
|
if (publicMember.optional) {
|
|
this.unexpected(maybeQuestionTokenStartLoc);
|
|
}
|
|
method.kind = "method";
|
|
var _isPrivate = this.match(136);
|
|
this.parseClassElementName(method);
|
|
this.parsePostMemberNameModifiers(publicMember);
|
|
if (_isPrivate) {
|
|
this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true);
|
|
} else {
|
|
if (this.isNonstaticConstructor(publicMethod)) {
|
|
this.raise(Errors.ConstructorIsAsync, {
|
|
at: publicMethod.key
|
|
});
|
|
}
|
|
this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false);
|
|
}
|
|
} else if (isContextual && (key.name === "get" || key.name === "set") && !(this.match(55) && this.isLineTerminator())) {
|
|
this.resetPreviousNodeTrailingComments(key);
|
|
method.kind = key.name;
|
|
var _isPrivate2 = this.match(136);
|
|
this.parseClassElementName(publicMethod);
|
|
if (_isPrivate2) {
|
|
this.pushClassPrivateMethod(classBody, privateMethod, false, false);
|
|
} else {
|
|
if (this.isNonstaticConstructor(publicMethod)) {
|
|
this.raise(Errors.ConstructorIsAccessor, {
|
|
at: publicMethod.key
|
|
});
|
|
}
|
|
this.pushClassMethod(classBody, publicMethod, false, false, false, false);
|
|
}
|
|
this.checkGetterSetterParams(publicMethod);
|
|
} else if (isContextual && key.name === "accessor" && !this.isLineTerminator()) {
|
|
this.expectPlugin("decoratorAutoAccessors");
|
|
this.resetPreviousNodeTrailingComments(key);
|
|
var _isPrivate3 = this.match(136);
|
|
this.parseClassElementName(publicProp);
|
|
this.pushClassAccessorProperty(classBody, accessorProp, _isPrivate3);
|
|
} else if (this.isLineTerminator()) {
|
|
if (isPrivate) {
|
|
this.pushClassPrivateProperty(classBody, privateProp);
|
|
} else {
|
|
this.pushClassProperty(classBody, publicProp);
|
|
}
|
|
} else {
|
|
this.unexpected();
|
|
}
|
|
};
|
|
_proto.parseClassElementName = function parseClassElementName(member) {
|
|
var _this$state = this.state,
|
|
type = _this$state.type,
|
|
value = _this$state.value;
|
|
if ((type === 130 || type === 131) && member["static"] && value === "prototype") {
|
|
this.raise(Errors.StaticPrototype, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
if (type === 136) {
|
|
if (value === "constructor") {
|
|
this.raise(Errors.ConstructorClassPrivateField, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
var key = this.parsePrivateName();
|
|
member.key = key;
|
|
return key;
|
|
}
|
|
return this.parsePropertyName(member);
|
|
};
|
|
_proto.parseClassStaticBlock = function parseClassStaticBlock(classBody, member) {
|
|
var _member$decorators;
|
|
this.scope.enter(SCOPE_CLASS | SCOPE_STATIC_BLOCK | SCOPE_SUPER);
|
|
var oldLabels = this.state.labels;
|
|
this.state.labels = [];
|
|
this.prodParam.enter(PARAM);
|
|
var body = member.body = [];
|
|
this.parseBlockOrModuleBlockBody(body, undefined, false, 8);
|
|
this.prodParam.exit();
|
|
this.scope.exit();
|
|
this.state.labels = oldLabels;
|
|
classBody.body.push(this.finishNode(member, "StaticBlock"));
|
|
if ((_member$decorators = member.decorators) != null && _member$decorators.length) {
|
|
this.raise(Errors.DecoratorStaticBlock, {
|
|
at: member
|
|
});
|
|
}
|
|
};
|
|
_proto.pushClassProperty = function pushClassProperty(classBody, prop) {
|
|
if (!prop.computed && (prop.key.name === "constructor" || prop.key.value === "constructor")) {
|
|
this.raise(Errors.ConstructorClassField, {
|
|
at: prop.key
|
|
});
|
|
}
|
|
classBody.body.push(this.parseClassProperty(prop));
|
|
};
|
|
_proto.pushClassPrivateProperty = function pushClassPrivateProperty(classBody, prop) {
|
|
var node = this.parseClassPrivateProperty(prop);
|
|
classBody.body.push(node);
|
|
this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.loc.start);
|
|
};
|
|
_proto.pushClassAccessorProperty = function pushClassAccessorProperty(classBody, prop, isPrivate) {
|
|
if (!isPrivate && !prop.computed) {
|
|
var key = prop.key;
|
|
if (key.name === "constructor" || key.value === "constructor") {
|
|
this.raise(Errors.ConstructorClassField, {
|
|
at: key
|
|
});
|
|
}
|
|
}
|
|
var node = this.parseClassAccessorProperty(prop);
|
|
classBody.body.push(node);
|
|
if (isPrivate) {
|
|
this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.loc.start);
|
|
}
|
|
};
|
|
_proto.pushClassMethod = function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
|
|
classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true));
|
|
};
|
|
_proto.pushClassPrivateMethod = function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {
|
|
var node = this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true);
|
|
classBody.body.push(node);
|
|
var kind = node.kind === "get" ? node["static"] ? CLASS_ELEMENT_STATIC_GETTER : CLASS_ELEMENT_INSTANCE_GETTER : node.kind === "set" ? node["static"] ? CLASS_ELEMENT_STATIC_SETTER : CLASS_ELEMENT_INSTANCE_SETTER : CLASS_ELEMENT_OTHER;
|
|
this.declareClassPrivateMethodInScope(node, kind);
|
|
};
|
|
_proto.declareClassPrivateMethodInScope = function declareClassPrivateMethodInScope(node, kind) {
|
|
this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.loc.start);
|
|
};
|
|
_proto.parsePostMemberNameModifiers = function parsePostMemberNameModifiers(methodOrProp) {};
|
|
_proto.parseClassPrivateProperty = function parseClassPrivateProperty(node) {
|
|
this.parseInitializer(node);
|
|
this.semicolon();
|
|
return this.finishNode(node, "ClassPrivateProperty");
|
|
};
|
|
_proto.parseClassProperty = function parseClassProperty(node) {
|
|
this.parseInitializer(node);
|
|
this.semicolon();
|
|
return this.finishNode(node, "ClassProperty");
|
|
};
|
|
_proto.parseClassAccessorProperty = function parseClassAccessorProperty(node) {
|
|
this.parseInitializer(node);
|
|
this.semicolon();
|
|
return this.finishNode(node, "ClassAccessorProperty");
|
|
};
|
|
_proto.parseInitializer = function parseInitializer(node) {
|
|
this.scope.enter(SCOPE_CLASS | SCOPE_SUPER);
|
|
this.expressionScope.enter(newExpressionScope());
|
|
this.prodParam.enter(PARAM);
|
|
node.value = this.eat(29) ? this.parseMaybeAssignAllowIn() : null;
|
|
this.expressionScope.exit();
|
|
this.prodParam.exit();
|
|
this.scope.exit();
|
|
};
|
|
_proto.parseClassId = function parseClassId(node, isStatement, optionalId, bindingType) {
|
|
if (bindingType === void 0) {
|
|
bindingType = BIND_CLASS;
|
|
}
|
|
if (tokenIsIdentifier(this.state.type)) {
|
|
node.id = this.parseIdentifier();
|
|
if (isStatement) {
|
|
this.declareNameFromIdentifier(node.id, bindingType);
|
|
}
|
|
} else {
|
|
if (optionalId || !isStatement) {
|
|
node.id = null;
|
|
} else {
|
|
throw this.raise(Errors.MissingClassName, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
}
|
|
};
|
|
_proto.parseClassSuper = function parseClassSuper(node) {
|
|
node.superClass = this.eat(81) ? this.parseExprSubscripts() : null;
|
|
};
|
|
_proto.parseExport = function parseExport(node, decorators) {
|
|
var hasDefault = this.maybeParseExportDefaultSpecifier(node);
|
|
var parseAfterDefault = !hasDefault || this.eat(12);
|
|
var hasStar = parseAfterDefault && this.eatExportStar(node);
|
|
var hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node);
|
|
var parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(12));
|
|
var isFromRequired = hasDefault || hasStar;
|
|
if (hasStar && !hasNamespace) {
|
|
if (hasDefault) this.unexpected();
|
|
if (decorators) {
|
|
throw this.raise(Errors.UnsupportedDecoratorExport, {
|
|
at: node
|
|
});
|
|
}
|
|
this.parseExportFrom(node, true);
|
|
return this.finishNode(node, "ExportAllDeclaration");
|
|
}
|
|
var hasSpecifiers = this.maybeParseExportNamedSpecifiers(node);
|
|
if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers) {
|
|
this.unexpected(null, 5);
|
|
}
|
|
if (hasNamespace && parseAfterNamespace) {
|
|
this.unexpected(null, 97);
|
|
}
|
|
var hasDeclaration;
|
|
if (isFromRequired || hasSpecifiers) {
|
|
hasDeclaration = false;
|
|
if (decorators) {
|
|
throw this.raise(Errors.UnsupportedDecoratorExport, {
|
|
at: node
|
|
});
|
|
}
|
|
this.parseExportFrom(node, isFromRequired);
|
|
} else {
|
|
hasDeclaration = this.maybeParseExportDeclaration(node);
|
|
}
|
|
if (isFromRequired || hasSpecifiers || hasDeclaration) {
|
|
var _node2$declaration;
|
|
var node2 = node;
|
|
this.checkExport(node2, true, false, !!node2.source);
|
|
if (((_node2$declaration = node2.declaration) == null ? void 0 : _node2$declaration.type) === "ClassDeclaration") {
|
|
this.maybeTakeDecorators(decorators, node2.declaration, node2);
|
|
} else if (decorators) {
|
|
throw this.raise(Errors.UnsupportedDecoratorExport, {
|
|
at: node
|
|
});
|
|
}
|
|
return this.finishNode(node2, "ExportNamedDeclaration");
|
|
}
|
|
if (this.eat(65)) {
|
|
var _node3 = node;
|
|
var decl = this.parseExportDefaultExpression();
|
|
_node3.declaration = decl;
|
|
if (decl.type === "ClassDeclaration") {
|
|
this.maybeTakeDecorators(decorators, decl, _node3);
|
|
} else if (decorators) {
|
|
throw this.raise(Errors.UnsupportedDecoratorExport, {
|
|
at: node
|
|
});
|
|
}
|
|
this.checkExport(_node3, true, true);
|
|
return this.finishNode(_node3, "ExportDefaultDeclaration");
|
|
}
|
|
this.unexpected(null, 5);
|
|
};
|
|
_proto.eatExportStar = function eatExportStar(node) {
|
|
return this.eat(55);
|
|
};
|
|
_proto.maybeParseExportDefaultSpecifier = function maybeParseExportDefaultSpecifier(node) {
|
|
if (this.isExportDefaultSpecifier()) {
|
|
this.expectPlugin("exportDefaultFrom");
|
|
var specifier = this.startNode();
|
|
specifier.exported = this.parseIdentifier(true);
|
|
node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")];
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.maybeParseExportNamespaceSpecifier = function maybeParseExportNamespaceSpecifier(node) {
|
|
if (this.isContextual(93)) {
|
|
if (!node.specifiers) node.specifiers = [];
|
|
var specifier = this.startNodeAt(this.state.lastTokStartLoc);
|
|
this.next();
|
|
specifier.exported = this.parseModuleExportName();
|
|
node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier"));
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.maybeParseExportNamedSpecifiers = function maybeParseExportNamedSpecifiers(node) {
|
|
if (this.match(5)) {
|
|
var _node$specifiers;
|
|
if (!node.specifiers) node.specifiers = [];
|
|
var isTypeExport = node.exportKind === "type";
|
|
(_node$specifiers = node.specifiers).push.apply(_node$specifiers, this.parseExportSpecifiers(isTypeExport));
|
|
node.source = null;
|
|
node.declaration = null;
|
|
if (this.hasPlugin("importAssertions")) {
|
|
node.assertions = [];
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.maybeParseExportDeclaration = function maybeParseExportDeclaration(node) {
|
|
if (this.shouldParseExportDeclaration()) {
|
|
node.specifiers = [];
|
|
node.source = null;
|
|
if (this.hasPlugin("importAssertions")) {
|
|
node.assertions = [];
|
|
}
|
|
node.declaration = this.parseExportDeclaration(node);
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.isAsyncFunction = function isAsyncFunction() {
|
|
if (!this.isContextual(95)) return false;
|
|
var next = this.nextTokenStart();
|
|
return !lineBreak.test(this.input.slice(this.state.pos, next)) && this.isUnparsedContextual(next, "function");
|
|
};
|
|
_proto.parseExportDefaultExpression = function parseExportDefaultExpression() {
|
|
var expr = this.startNode();
|
|
if (this.match(68)) {
|
|
this.next();
|
|
return this.parseFunction(expr, ParseFunctionFlag.Declaration | ParseFunctionFlag.NullableId);
|
|
} else if (this.isAsyncFunction()) {
|
|
this.next();
|
|
this.next();
|
|
return this.parseFunction(expr, ParseFunctionFlag.Declaration | ParseFunctionFlag.NullableId | ParseFunctionFlag.Async);
|
|
}
|
|
if (this.match(80)) {
|
|
return this.parseClass(expr, true, true);
|
|
}
|
|
if (this.match(26)) {
|
|
if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === true) {
|
|
this.raise(Errors.DecoratorBeforeExport, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
return this.parseClass(this.maybeTakeDecorators(this.parseDecorators(false), this.startNode()), true, true);
|
|
}
|
|
if (this.match(75) || this.match(74) || this.isLet()) {
|
|
throw this.raise(Errors.UnsupportedDefaultExport, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
var res = this.parseMaybeAssignAllowIn();
|
|
this.semicolon();
|
|
return res;
|
|
};
|
|
_proto.parseExportDeclaration = function parseExportDeclaration(node) {
|
|
if (this.match(80)) {
|
|
var _node4 = this.parseClass(this.startNode(), true, false);
|
|
return _node4;
|
|
}
|
|
return this.parseStatementListItem();
|
|
};
|
|
_proto.isExportDefaultSpecifier = function isExportDefaultSpecifier() {
|
|
var type = this.state.type;
|
|
if (tokenIsIdentifier(type)) {
|
|
if (type === 95 && !this.state.containsEsc || type === 99) {
|
|
return false;
|
|
}
|
|
if ((type === 128 || type === 127) && !this.state.containsEsc) {
|
|
var _this$lookahead2 = this.lookahead(),
|
|
nextType = _this$lookahead2.type;
|
|
if (tokenIsIdentifier(nextType) && nextType !== 97 || nextType === 5) {
|
|
this.expectOnePlugin(["flow", "typescript"]);
|
|
return false;
|
|
}
|
|
}
|
|
} else if (!this.match(65)) {
|
|
return false;
|
|
}
|
|
var next = this.nextTokenStart();
|
|
var hasFrom = this.isUnparsedContextual(next, "from");
|
|
if (this.input.charCodeAt(next) === 44 || tokenIsIdentifier(this.state.type) && hasFrom) {
|
|
return true;
|
|
}
|
|
if (this.match(65) && hasFrom) {
|
|
var nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4));
|
|
return nextAfterFrom === 34 || nextAfterFrom === 39;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.parseExportFrom = function parseExportFrom(node, expect) {
|
|
if (this.eatContextual(97)) {
|
|
node.source = this.parseImportSource();
|
|
this.checkExport(node);
|
|
var assertions = this.maybeParseImportAssertions();
|
|
if (assertions) {
|
|
node.assertions = assertions;
|
|
this.checkJSONModuleImport(node);
|
|
}
|
|
} else if (expect) {
|
|
this.unexpected();
|
|
}
|
|
this.semicolon();
|
|
};
|
|
_proto.shouldParseExportDeclaration = function shouldParseExportDeclaration() {
|
|
var type = this.state.type;
|
|
if (type === 26) {
|
|
this.expectOnePlugin(["decorators", "decorators-legacy"]);
|
|
if (this.hasPlugin("decorators")) {
|
|
if (this.getPluginOption("decorators", "decoratorsBeforeExport") === true) {
|
|
this.raise(Errors.DecoratorBeforeExport, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
return type === 74 || type === 75 || type === 68 || type === 80 || this.isLet() || this.isAsyncFunction();
|
|
};
|
|
_proto.checkExport = function checkExport(node, checkNames, isDefault, isFrom) {
|
|
if (checkNames) {
|
|
if (isDefault) {
|
|
this.checkDuplicateExports(node, "default");
|
|
if (this.hasPlugin("exportDefaultFrom")) {
|
|
var _declaration$extra;
|
|
var declaration = node.declaration;
|
|
if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) {
|
|
this.raise(Errors.ExportDefaultFromAsIdentifier, {
|
|
at: declaration
|
|
});
|
|
}
|
|
}
|
|
} else if (node.specifiers && node.specifiers.length) {
|
|
for (var _i6 = 0, _node$specifiers3 = node.specifiers; _i6 < _node$specifiers3.length; _i6++) {
|
|
var specifier = _node$specifiers3[_i6];
|
|
var exported = specifier.exported;
|
|
var exportName = exported.type === "Identifier" ? exported.name : exported.value;
|
|
this.checkDuplicateExports(specifier, exportName);
|
|
if (!isFrom && specifier.local) {
|
|
var local = specifier.local;
|
|
if (local.type !== "Identifier") {
|
|
this.raise(Errors.ExportBindingIsString, {
|
|
at: specifier,
|
|
localName: local.value,
|
|
exportName: exportName
|
|
});
|
|
} else {
|
|
this.checkReservedWord(local.name, local.loc.start, true, false);
|
|
this.scope.checkLocalExport(local);
|
|
}
|
|
}
|
|
}
|
|
} else if (node.declaration) {
|
|
if (node.declaration.type === "FunctionDeclaration" || node.declaration.type === "ClassDeclaration") {
|
|
var id = node.declaration.id;
|
|
if (!id) throw new Error("Assertion failure");
|
|
this.checkDuplicateExports(node, id.name);
|
|
} else if (node.declaration.type === "VariableDeclaration") {
|
|
for (var _i8 = 0, _node$declaration$dec2 = node.declaration.declarations; _i8 < _node$declaration$dec2.length; _i8++) {
|
|
var _declaration = _node$declaration$dec2[_i8];
|
|
this.checkDeclaration(_declaration.id);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
_proto.checkDeclaration = function checkDeclaration(node) {
|
|
if (node.type === "Identifier") {
|
|
this.checkDuplicateExports(node, node.name);
|
|
} else if (node.type === "ObjectPattern") {
|
|
for (var _i10 = 0, _node$properties2 = node.properties; _i10 < _node$properties2.length; _i10++) {
|
|
var prop = _node$properties2[_i10];
|
|
this.checkDeclaration(prop);
|
|
}
|
|
} else if (node.type === "ArrayPattern") {
|
|
for (var _i12 = 0, _node$elements2 = node.elements; _i12 < _node$elements2.length; _i12++) {
|
|
var elem = _node$elements2[_i12];
|
|
if (elem) {
|
|
this.checkDeclaration(elem);
|
|
}
|
|
}
|
|
} else if (node.type === "ObjectProperty") {
|
|
this.checkDeclaration(node.value);
|
|
} else if (node.type === "RestElement") {
|
|
this.checkDeclaration(node.argument);
|
|
} else if (node.type === "AssignmentPattern") {
|
|
this.checkDeclaration(node.left);
|
|
}
|
|
};
|
|
_proto.checkDuplicateExports = function checkDuplicateExports(node, exportName) {
|
|
if (this.exportedIdentifiers.has(exportName)) {
|
|
if (exportName === "default") {
|
|
this.raise(Errors.DuplicateDefaultExport, {
|
|
at: node
|
|
});
|
|
} else {
|
|
this.raise(Errors.DuplicateExport, {
|
|
at: node,
|
|
exportName: exportName
|
|
});
|
|
}
|
|
}
|
|
this.exportedIdentifiers.add(exportName);
|
|
};
|
|
_proto.parseExportSpecifiers = function parseExportSpecifiers(isInTypeExport) {
|
|
var nodes = [];
|
|
var first = true;
|
|
this.expect(5);
|
|
while (!this.eat(8)) {
|
|
if (first) {
|
|
first = false;
|
|
} else {
|
|
this.expect(12);
|
|
if (this.eat(8)) break;
|
|
}
|
|
var isMaybeTypeOnly = this.isContextual(128);
|
|
var isString = this.match(131);
|
|
var _node5 = this.startNode();
|
|
_node5.local = this.parseModuleExportName();
|
|
nodes.push(this.parseExportSpecifier(_node5, isString, isInTypeExport, isMaybeTypeOnly));
|
|
}
|
|
return nodes;
|
|
};
|
|
_proto.parseExportSpecifier = function parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) {
|
|
if (this.eatContextual(93)) {
|
|
node.exported = this.parseModuleExportName();
|
|
} else if (isString) {
|
|
node.exported = cloneStringLiteral(node.local);
|
|
} else if (!node.exported) {
|
|
node.exported = cloneIdentifier(node.local);
|
|
}
|
|
return this.finishNode(node, "ExportSpecifier");
|
|
};
|
|
_proto.parseModuleExportName = function parseModuleExportName() {
|
|
if (this.match(131)) {
|
|
var result = this.parseStringLiteral(this.state.value);
|
|
var surrogate = result.value.match(loneSurrogate);
|
|
if (surrogate) {
|
|
this.raise(Errors.ModuleExportNameHasLoneSurrogate, {
|
|
at: result,
|
|
surrogateCharCode: surrogate[0].charCodeAt(0)
|
|
});
|
|
}
|
|
return result;
|
|
}
|
|
return this.parseIdentifier(true);
|
|
};
|
|
_proto.isJSONModuleImport = function isJSONModuleImport(node) {
|
|
if (node.assertions != null) {
|
|
return node.assertions.some(function (_ref) {
|
|
var key = _ref.key,
|
|
value = _ref.value;
|
|
return value.value === "json" && (key.type === "Identifier" ? key.name === "type" : key.value === "type");
|
|
});
|
|
}
|
|
return false;
|
|
};
|
|
_proto.checkImportReflection = function checkImportReflection(node) {
|
|
if (node.module) {
|
|
var _node$assertions;
|
|
if (node.specifiers.length !== 1 || node.specifiers[0].type !== "ImportDefaultSpecifier") {
|
|
this.raise(Errors.ImportReflectionNotBinding, {
|
|
at: node.specifiers[0].loc.start
|
|
});
|
|
}
|
|
if (((_node$assertions = node.assertions) == null ? void 0 : _node$assertions.length) > 0) {
|
|
this.raise(Errors.ImportReflectionHasAssertion, {
|
|
at: node.specifiers[0].loc.start
|
|
});
|
|
}
|
|
}
|
|
};
|
|
_proto.checkJSONModuleImport = function checkJSONModuleImport(node) {
|
|
if (this.isJSONModuleImport(node) && node.type !== "ExportAllDeclaration") {
|
|
var specifiers = node.specifiers;
|
|
if (specifiers != null) {
|
|
var nonDefaultNamedSpecifier = specifiers.find(function (specifier) {
|
|
var imported;
|
|
if (specifier.type === "ExportSpecifier") {
|
|
imported = specifier.local;
|
|
} else if (specifier.type === "ImportSpecifier") {
|
|
imported = specifier.imported;
|
|
}
|
|
if (imported !== undefined) {
|
|
return imported.type === "Identifier" ? imported.name !== "default" : imported.value !== "default";
|
|
}
|
|
});
|
|
if (nonDefaultNamedSpecifier !== undefined) {
|
|
this.raise(Errors.ImportJSONBindingNotDefault, {
|
|
at: nonDefaultNamedSpecifier.loc.start
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
_proto.parseMaybeImportReflection = function parseMaybeImportReflection(node) {
|
|
var isImportReflection = false;
|
|
if (this.isContextual(125)) {
|
|
var lookahead = this.lookahead();
|
|
var nextType = lookahead.type;
|
|
if (tokenIsIdentifier(nextType)) {
|
|
if (nextType !== 97) {
|
|
isImportReflection = true;
|
|
} else {
|
|
var nextNextTokenFirstChar = this.input.charCodeAt(this.nextTokenStartSince(lookahead.end));
|
|
if (nextNextTokenFirstChar === 102) {
|
|
isImportReflection = true;
|
|
}
|
|
}
|
|
} else if (nextType !== 12) {
|
|
isImportReflection = true;
|
|
}
|
|
}
|
|
if (isImportReflection) {
|
|
this.expectPlugin("importReflection");
|
|
this.next();
|
|
node.module = true;
|
|
} else if (this.hasPlugin("importReflection")) {
|
|
node.module = false;
|
|
}
|
|
};
|
|
_proto.parseImport = function parseImport(node) {
|
|
node.specifiers = [];
|
|
if (!this.match(131)) {
|
|
this.parseMaybeImportReflection(node);
|
|
var hasDefault = this.maybeParseDefaultImportSpecifier(node);
|
|
var parseNext = !hasDefault || this.eat(12);
|
|
var hasStar = parseNext && this.maybeParseStarImportSpecifier(node);
|
|
if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node);
|
|
this.expectContextual(97);
|
|
}
|
|
node.source = this.parseImportSource();
|
|
var assertions = this.maybeParseImportAssertions();
|
|
if (assertions) {
|
|
node.assertions = assertions;
|
|
} else {
|
|
var attributes = this.maybeParseModuleAttributes();
|
|
if (attributes) {
|
|
node.attributes = attributes;
|
|
}
|
|
}
|
|
this.checkImportReflection(node);
|
|
this.checkJSONModuleImport(node);
|
|
this.semicolon();
|
|
return this.finishNode(node, "ImportDeclaration");
|
|
};
|
|
_proto.parseImportSource = function parseImportSource() {
|
|
if (!this.match(131)) this.unexpected();
|
|
return this.parseExprAtom();
|
|
};
|
|
_proto.shouldParseDefaultImport = function shouldParseDefaultImport(node) {
|
|
return tokenIsIdentifier(this.state.type);
|
|
};
|
|
_proto.parseImportSpecifierLocal = function parseImportSpecifierLocal(node, specifier, type) {
|
|
specifier.local = this.parseIdentifier();
|
|
node.specifiers.push(this.finishImportSpecifier(specifier, type));
|
|
};
|
|
_proto.finishImportSpecifier = function finishImportSpecifier(specifier, type, bindingType) {
|
|
if (bindingType === void 0) {
|
|
bindingType = BIND_LEXICAL;
|
|
}
|
|
this.checkLVal(specifier.local, {
|
|
"in": {
|
|
type: type
|
|
},
|
|
binding: bindingType
|
|
});
|
|
return this.finishNode(specifier, type);
|
|
};
|
|
_proto.parseAssertEntries = function parseAssertEntries() {
|
|
var attrs = [];
|
|
var attrNames = new Set();
|
|
do {
|
|
if (this.match(8)) {
|
|
break;
|
|
}
|
|
var _node6 = this.startNode();
|
|
var keyName = this.state.value;
|
|
if (attrNames.has(keyName)) {
|
|
this.raise(Errors.ModuleAttributesWithDuplicateKeys, {
|
|
at: this.state.startLoc,
|
|
key: keyName
|
|
});
|
|
}
|
|
attrNames.add(keyName);
|
|
if (this.match(131)) {
|
|
_node6.key = this.parseStringLiteral(keyName);
|
|
} else {
|
|
_node6.key = this.parseIdentifier(true);
|
|
}
|
|
this.expect(14);
|
|
if (!this.match(131)) {
|
|
throw this.raise(Errors.ModuleAttributeInvalidValue, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
_node6.value = this.parseStringLiteral(this.state.value);
|
|
attrs.push(this.finishNode(_node6, "ImportAttribute"));
|
|
} while (this.eat(12));
|
|
return attrs;
|
|
};
|
|
_proto.maybeParseModuleAttributes = function maybeParseModuleAttributes() {
|
|
if (this.match(76) && !this.hasPrecedingLineBreak()) {
|
|
this.expectPlugin("moduleAttributes");
|
|
this.next();
|
|
} else {
|
|
if (this.hasPlugin("moduleAttributes")) return [];
|
|
return null;
|
|
}
|
|
var attrs = [];
|
|
var attributes = new Set();
|
|
do {
|
|
var _node7 = this.startNode();
|
|
_node7.key = this.parseIdentifier(true);
|
|
if (_node7.key.name !== "type") {
|
|
this.raise(Errors.ModuleAttributeDifferentFromType, {
|
|
at: _node7.key
|
|
});
|
|
}
|
|
if (attributes.has(_node7.key.name)) {
|
|
this.raise(Errors.ModuleAttributesWithDuplicateKeys, {
|
|
at: _node7.key,
|
|
key: _node7.key.name
|
|
});
|
|
}
|
|
attributes.add(_node7.key.name);
|
|
this.expect(14);
|
|
if (!this.match(131)) {
|
|
throw this.raise(Errors.ModuleAttributeInvalidValue, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
_node7.value = this.parseStringLiteral(this.state.value);
|
|
this.finishNode(_node7, "ImportAttribute");
|
|
attrs.push(_node7);
|
|
} while (this.eat(12));
|
|
return attrs;
|
|
};
|
|
_proto.maybeParseImportAssertions = function maybeParseImportAssertions() {
|
|
if (this.isContextual(94) && !this.hasPrecedingLineBreak()) {
|
|
this.expectPlugin("importAssertions");
|
|
this.next();
|
|
} else {
|
|
if (this.hasPlugin("importAssertions")) return [];
|
|
return null;
|
|
}
|
|
this.eat(5);
|
|
var attrs = this.parseAssertEntries();
|
|
this.eat(8);
|
|
return attrs;
|
|
};
|
|
_proto.maybeParseDefaultImportSpecifier = function maybeParseDefaultImportSpecifier(node) {
|
|
if (this.shouldParseDefaultImport(node)) {
|
|
this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier");
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.maybeParseStarImportSpecifier = function maybeParseStarImportSpecifier(node) {
|
|
if (this.match(55)) {
|
|
var specifier = this.startNode();
|
|
this.next();
|
|
this.expectContextual(93);
|
|
this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier");
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.parseNamedImportSpecifiers = function parseNamedImportSpecifiers(node) {
|
|
var first = true;
|
|
this.expect(5);
|
|
while (!this.eat(8)) {
|
|
if (first) {
|
|
first = false;
|
|
} else {
|
|
if (this.eat(14)) {
|
|
throw this.raise(Errors.DestructureNamedImport, {
|
|
at: this.state.startLoc
|
|
});
|
|
}
|
|
this.expect(12);
|
|
if (this.eat(8)) break;
|
|
}
|
|
var specifier = this.startNode();
|
|
var importedIsString = this.match(131);
|
|
var isMaybeTypeOnly = this.isContextual(128);
|
|
specifier.imported = this.parseModuleExportName();
|
|
var importSpecifier = this.parseImportSpecifier(specifier, importedIsString, node.importKind === "type" || node.importKind === "typeof", isMaybeTypeOnly, undefined);
|
|
node.specifiers.push(importSpecifier);
|
|
}
|
|
};
|
|
_proto.parseImportSpecifier = function parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) {
|
|
if (this.eatContextual(93)) {
|
|
specifier.local = this.parseIdentifier();
|
|
} else {
|
|
var imported = specifier.imported;
|
|
if (importedIsString) {
|
|
throw this.raise(Errors.ImportBindingIsString, {
|
|
at: specifier,
|
|
importName: imported.value
|
|
});
|
|
}
|
|
this.checkReservedWord(imported.name, specifier.loc.start, true, true);
|
|
if (!specifier.local) {
|
|
specifier.local = cloneIdentifier(imported);
|
|
}
|
|
}
|
|
return this.finishImportSpecifier(specifier, "ImportSpecifier", bindingType);
|
|
};
|
|
_proto.isThisParam = function isThisParam(param) {
|
|
return param.type === "Identifier" && param.name === "this";
|
|
};
|
|
return _createClass(StatementParser);
|
|
}(ExpressionParser);
|
|
|
|
var Parser = function (_StatementParser) {
|
|
_inherits(Parser, _StatementParser);
|
|
function Parser(options, input) {
|
|
var _this;
|
|
options = getOptions(options);
|
|
_this = _StatementParser.call(this, options, input) || this;
|
|
_this.options = options;
|
|
_this.initializeScopes();
|
|
_this.plugins = pluginsMap(_this.options.plugins);
|
|
_this.filename = options.sourceFilename;
|
|
return _this;
|
|
}
|
|
var _proto = Parser.prototype;
|
|
_proto.getScopeHandler = function getScopeHandler() {
|
|
return ScopeHandler;
|
|
};
|
|
_proto.parse = function parse() {
|
|
this.enterInitialScopes();
|
|
var file = this.startNode();
|
|
var program = this.startNode();
|
|
this.nextToken();
|
|
file.errors = null;
|
|
this.parseTopLevel(file, program);
|
|
file.errors = this.state.errors;
|
|
return file;
|
|
};
|
|
return _createClass(Parser);
|
|
}(StatementParser);
|
|
function pluginsMap(plugins) {
|
|
var pluginMap = new Map();
|
|
for (var _i2 = 0; _i2 < plugins.length; _i2++) {
|
|
var plugin = plugins[_i2];
|
|
var _ref = Array.isArray(plugin) ? plugin : [plugin, {}],
|
|
name = _ref[0],
|
|
options = _ref[1];
|
|
if (!pluginMap.has(name)) pluginMap.set(name, options || {});
|
|
}
|
|
return pluginMap;
|
|
}
|
|
|
|
function parse$4(input, options) {
|
|
var _options;
|
|
if (((_options = options) == null ? void 0 : _options.sourceType) === "unambiguous") {
|
|
options = Object.assign({}, options);
|
|
try {
|
|
options.sourceType = "module";
|
|
var parser = getParser(options, input);
|
|
var ast = parser.parse();
|
|
if (parser.sawUnambiguousESM) {
|
|
return ast;
|
|
}
|
|
if (parser.ambiguousScriptDifferentAst) {
|
|
try {
|
|
options.sourceType = "script";
|
|
return getParser(options, input).parse();
|
|
} catch (_unused) {}
|
|
} else {
|
|
ast.program.sourceType = "script";
|
|
}
|
|
return ast;
|
|
} catch (moduleError) {
|
|
try {
|
|
options.sourceType = "script";
|
|
return getParser(options, input).parse();
|
|
} catch (_unused2) {}
|
|
throw moduleError;
|
|
}
|
|
} else {
|
|
return getParser(options, input).parse();
|
|
}
|
|
}
|
|
function generateExportedTokenTypes(internalTokenTypes) {
|
|
var tokenTypes = {};
|
|
for (var _i2 = 0, _ref2 = Object.keys(internalTokenTypes); _i2 < _ref2.length; _i2++) {
|
|
var typeName = _ref2[_i2];
|
|
tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]);
|
|
}
|
|
return tokenTypes;
|
|
}
|
|
var tokTypes = generateExportedTokenTypes(tt);
|
|
function getParser(options, input) {
|
|
var cls = Parser;
|
|
if (options != null && options.plugins) {
|
|
validatePlugins(options.plugins);
|
|
cls = getParserClass(options.plugins);
|
|
}
|
|
return new cls(options, input);
|
|
}
|
|
var parserClassCache = {};
|
|
function getParserClass(pluginsFromOptions) {
|
|
var pluginList = mixinPluginNames.filter(function (name) {
|
|
return hasPlugin(pluginsFromOptions, name);
|
|
});
|
|
var key = pluginList.join("/");
|
|
var cls = parserClassCache[key];
|
|
if (!cls) {
|
|
cls = Parser;
|
|
for (var _i4 = 0; _i4 < pluginList.length; _i4++) {
|
|
var plugin = pluginList[_i4];
|
|
cls = mixinPlugins[plugin](cls);
|
|
}
|
|
parserClassCache[key] = cls;
|
|
}
|
|
return cls;
|
|
}
|
|
|
|
var assignmentExpression$c = assignmentExpression$d,
|
|
expressionStatement$9 = expressionStatement$a,
|
|
identifier$e = identifier$i;
|
|
var visitor$4 = {
|
|
Scope: function Scope(path, state) {
|
|
if (state.kind === "let") path.skip();
|
|
},
|
|
FunctionParent: function FunctionParent(path) {
|
|
path.skip();
|
|
},
|
|
VariableDeclaration: function (_VariableDeclaration) {
|
|
function VariableDeclaration(_x, _x2) {
|
|
return _VariableDeclaration.apply(this, arguments);
|
|
}
|
|
VariableDeclaration.toString = function () {
|
|
return _VariableDeclaration.toString();
|
|
};
|
|
return VariableDeclaration;
|
|
}(function (path, state) {
|
|
if (state.kind && path.node.kind !== state.kind) return;
|
|
var nodes = [];
|
|
var declarations = path.get("declarations");
|
|
var firstId;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(declarations), _step; !(_step = _iterator()).done;) {
|
|
var declar = _step.value;
|
|
firstId = declar.node.id;
|
|
if (declar.node.init) {
|
|
nodes.push(expressionStatement$9(assignmentExpression$c("=", declar.node.id, declar.node.init)));
|
|
}
|
|
for (var _i = 0, _Object$keys = Object.keys(declar.getBindingIdentifiers()); _i < _Object$keys.length; _i++) {
|
|
var name = _Object$keys[_i];
|
|
state.emit(identifier$e(name), name, declar.node.init !== null);
|
|
}
|
|
}
|
|
if (path.parentPath.isFor({
|
|
left: path.node
|
|
})) {
|
|
path.replaceWith(firstId);
|
|
} else {
|
|
path.replaceWithMultiple(nodes);
|
|
}
|
|
})
|
|
};
|
|
function hoistVariables(path, emit, kind) {
|
|
if (kind === void 0) {
|
|
kind = "var";
|
|
}
|
|
path.traverse(visitor$4, {
|
|
kind: kind,
|
|
emit: emit
|
|
});
|
|
}
|
|
|
|
var FUNCTION_TYPES = FUNCTION_TYPES$1,
|
|
arrowFunctionExpression$3 = arrowFunctionExpression$4,
|
|
assignmentExpression$b = assignmentExpression$d,
|
|
awaitExpression = awaitExpression$1,
|
|
blockStatement$5 = blockStatement$6,
|
|
callExpression$c = callExpression$e,
|
|
cloneNode$g = cloneNode$j,
|
|
expressionStatement$8 = expressionStatement$a,
|
|
identifier$d = identifier$i,
|
|
inheritLeadingComments = inheritLeadingComments$1,
|
|
inheritTrailingComments = inheritTrailingComments$1,
|
|
inheritsComments = inheritsComments$1,
|
|
isExpression$3 = isExpression$4,
|
|
isProgram = isProgram$1,
|
|
isStatement$3 = isStatement$8,
|
|
removeComments = removeComments$1,
|
|
returnStatement$2 = returnStatement$3,
|
|
toSequenceExpression = toSequenceExpression$1,
|
|
validate$4 = validate$5,
|
|
yieldExpression$1 = yieldExpression$2;
|
|
function replaceWithMultiple(nodes) {
|
|
var _pathCache$get;
|
|
this.resync();
|
|
nodes = this._verifyNodeList(nodes);
|
|
inheritLeadingComments(nodes[0], this.node);
|
|
inheritTrailingComments(nodes[nodes.length - 1], this.node);
|
|
(_pathCache$get = path$2.get(this.parent)) == null ? void 0 : _pathCache$get["delete"](this.node);
|
|
this.node = this.container[this.key] = null;
|
|
var paths = this.insertAfter(nodes);
|
|
if (this.node) {
|
|
this.requeue();
|
|
} else {
|
|
this.remove();
|
|
}
|
|
return paths;
|
|
}
|
|
function replaceWithSourceString(replacement) {
|
|
this.resync();
|
|
var ast;
|
|
try {
|
|
replacement = "(" + replacement + ")";
|
|
ast = parse$4(replacement);
|
|
} catch (err) {
|
|
var loc = err.loc;
|
|
if (loc) {
|
|
err.message += " - make sure this is an expression.\n" + codeFrameColumns(replacement, {
|
|
start: {
|
|
line: loc.line,
|
|
column: loc.column + 1
|
|
}
|
|
});
|
|
err.code = "BABEL_REPLACE_SOURCE_ERROR";
|
|
}
|
|
throw err;
|
|
}
|
|
var expressionAST = ast.program.body[0].expression;
|
|
traverse.removeProperties(expressionAST);
|
|
return this.replaceWith(expressionAST);
|
|
}
|
|
function replaceWith(replacementPath) {
|
|
this.resync();
|
|
if (this.removed) {
|
|
throw new Error("You can't replace this node, we've already removed it");
|
|
}
|
|
var replacement = replacementPath instanceof NodePath ? replacementPath.node : replacementPath;
|
|
if (!replacement) {
|
|
throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");
|
|
}
|
|
if (this.node === replacement) {
|
|
return [this];
|
|
}
|
|
if (this.isProgram() && !isProgram(replacement)) {
|
|
throw new Error("You can only replace a Program root node with another Program node");
|
|
}
|
|
if (Array.isArray(replacement)) {
|
|
throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");
|
|
}
|
|
if (typeof replacement === "string") {
|
|
throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");
|
|
}
|
|
var nodePath = "";
|
|
if (this.isNodeType("Statement") && isExpression$3(replacement)) {
|
|
if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement) && !this.parentPath.isExportDefaultDeclaration()) {
|
|
replacement = expressionStatement$8(replacement);
|
|
nodePath = "expression";
|
|
}
|
|
}
|
|
if (this.isNodeType("Expression") && isStatement$3(replacement)) {
|
|
if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement)) {
|
|
return this.replaceExpressionWithStatements([replacement]);
|
|
}
|
|
}
|
|
var oldNode = this.node;
|
|
if (oldNode) {
|
|
inheritsComments(replacement, oldNode);
|
|
removeComments(oldNode);
|
|
}
|
|
this._replaceWith(replacement);
|
|
this.type = replacement.type;
|
|
this.setScope();
|
|
this.requeue();
|
|
return [nodePath ? this.get(nodePath) : this];
|
|
}
|
|
function _replaceWith(node) {
|
|
var _pathCache$get2;
|
|
if (!this.container) {
|
|
throw new ReferenceError("Container is falsy");
|
|
}
|
|
if (this.inList) {
|
|
validate$4(this.parent, this.key, [node]);
|
|
} else {
|
|
validate$4(this.parent, this.key, node);
|
|
}
|
|
this.debug("Replace with " + (node == null ? void 0 : node.type));
|
|
(_pathCache$get2 = path$2.get(this.parent)) == null ? void 0 : _pathCache$get2.set(node, this)["delete"](this.node);
|
|
this.node = this.container[this.key] = node;
|
|
}
|
|
function replaceExpressionWithStatements(nodes) {
|
|
var _this = this;
|
|
this.resync();
|
|
var nodesAsSequenceExpression = toSequenceExpression(nodes, this.scope);
|
|
if (nodesAsSequenceExpression) {
|
|
return this.replaceWith(nodesAsSequenceExpression)[0].get("expressions");
|
|
}
|
|
var functionParent = this.getFunctionParent();
|
|
var isParentAsync = functionParent == null ? void 0 : functionParent.is("async");
|
|
var isParentGenerator = functionParent == null ? void 0 : functionParent.is("generator");
|
|
var container = arrowFunctionExpression$3([], blockStatement$5(nodes));
|
|
this.replaceWith(callExpression$c(container, []));
|
|
var callee = this.get("callee");
|
|
hoistVariables(callee.get("body"), function (id) {
|
|
_this.scope.push({
|
|
id: id
|
|
});
|
|
}, "var");
|
|
var completionRecords = this.get("callee").getCompletionRecords();
|
|
for (var _iterator = _createForOfIteratorHelperLoose(completionRecords), _step; !(_step = _iterator()).done;) {
|
|
var path = _step.value;
|
|
if (!path.isExpressionStatement()) continue;
|
|
var loop = path.findParent(function (path) {
|
|
return path.isLoop();
|
|
});
|
|
if (loop) {
|
|
var uid = loop.getData("expressionReplacementReturnUid");
|
|
if (!uid) {
|
|
uid = callee.scope.generateDeclaredUidIdentifier("ret");
|
|
callee.get("body").pushContainer("body", returnStatement$2(cloneNode$g(uid)));
|
|
loop.setData("expressionReplacementReturnUid", uid);
|
|
} else {
|
|
uid = identifier$d(uid.name);
|
|
}
|
|
path.get("expression").replaceWith(assignmentExpression$b("=", cloneNode$g(uid), path.node.expression));
|
|
} else {
|
|
path.replaceWith(returnStatement$2(path.node.expression));
|
|
}
|
|
}
|
|
callee.arrowFunctionToExpression();
|
|
var newCallee = callee;
|
|
var needToAwaitFunction = isParentAsync && traverse.hasType(this.get("callee.body").node, "AwaitExpression", FUNCTION_TYPES);
|
|
var needToYieldFunction = isParentGenerator && traverse.hasType(this.get("callee.body").node, "YieldExpression", FUNCTION_TYPES);
|
|
if (needToAwaitFunction) {
|
|
newCallee.set("async", true);
|
|
if (!needToYieldFunction) {
|
|
this.replaceWith(awaitExpression(this.node));
|
|
}
|
|
}
|
|
if (needToYieldFunction) {
|
|
newCallee.set("generator", true);
|
|
this.replaceWith(yieldExpression$1(this.node, true));
|
|
}
|
|
return newCallee.get("body.body");
|
|
}
|
|
function replaceInline(nodes) {
|
|
this.resync();
|
|
if (Array.isArray(nodes)) {
|
|
if (Array.isArray(this.container)) {
|
|
nodes = this._verifyNodeList(nodes);
|
|
var paths = this._containerInsertAfter(nodes);
|
|
this.remove();
|
|
return paths;
|
|
} else {
|
|
return this.replaceWithMultiple(nodes);
|
|
}
|
|
} else {
|
|
return this.replaceWith(nodes);
|
|
}
|
|
}
|
|
|
|
var NodePath_replacement = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
replaceWithMultiple: replaceWithMultiple,
|
|
replaceWithSourceString: replaceWithSourceString,
|
|
replaceWith: replaceWith,
|
|
_replaceWith: _replaceWith,
|
|
replaceExpressionWithStatements: replaceExpressionWithStatements,
|
|
replaceInline: replaceInline
|
|
});
|
|
|
|
var VALID_CALLEES = ["String", "Number", "Math"];
|
|
var INVALID_METHODS = ["random"];
|
|
function isValidCallee(val) {
|
|
return VALID_CALLEES.includes(val);
|
|
}
|
|
function isInvalidMethod(val) {
|
|
return INVALID_METHODS.includes(val);
|
|
}
|
|
function evaluateTruthy() {
|
|
var res = this.evaluate();
|
|
if (res.confident) return !!res.value;
|
|
}
|
|
function deopt(path, state) {
|
|
if (!state.confident) return;
|
|
state.deoptPath = path;
|
|
state.confident = false;
|
|
}
|
|
var Globals = new Map([["undefined", undefined], ["Infinity", Infinity], ["NaN", NaN]]);
|
|
function evaluateCached(path, state) {
|
|
var node = path.node;
|
|
var seen = state.seen;
|
|
if (seen.has(node)) {
|
|
var existing = seen.get(node);
|
|
if (existing.resolved) {
|
|
return existing.value;
|
|
} else {
|
|
deopt(path, state);
|
|
return;
|
|
}
|
|
} else {
|
|
var item = {
|
|
resolved: false
|
|
};
|
|
seen.set(node, item);
|
|
var val = _evaluate(path, state);
|
|
if (state.confident) {
|
|
item.resolved = true;
|
|
item.value = val;
|
|
}
|
|
return val;
|
|
}
|
|
}
|
|
function _evaluate(path, state) {
|
|
if (!state.confident) return;
|
|
if (path.isSequenceExpression()) {
|
|
var exprs = path.get("expressions");
|
|
return evaluateCached(exprs[exprs.length - 1], state);
|
|
}
|
|
if (path.isStringLiteral() || path.isNumericLiteral() || path.isBooleanLiteral()) {
|
|
return path.node.value;
|
|
}
|
|
if (path.isNullLiteral()) {
|
|
return null;
|
|
}
|
|
if (path.isTemplateLiteral()) {
|
|
return evaluateQuasis(path, path.node.quasis, state);
|
|
}
|
|
if (path.isTaggedTemplateExpression() && path.get("tag").isMemberExpression()) {
|
|
var object = path.get("tag.object");
|
|
var name = object.node.name;
|
|
var property = path.get("tag.property");
|
|
if (object.isIdentifier() && name === "String" && !path.scope.getBinding(name) && property.isIdentifier() && property.node.name === "raw") {
|
|
return evaluateQuasis(path, path.node.quasi.quasis, state, true);
|
|
}
|
|
}
|
|
if (path.isConditionalExpression()) {
|
|
var testResult = evaluateCached(path.get("test"), state);
|
|
if (!state.confident) return;
|
|
if (testResult) {
|
|
return evaluateCached(path.get("consequent"), state);
|
|
} else {
|
|
return evaluateCached(path.get("alternate"), state);
|
|
}
|
|
}
|
|
if (path.isExpressionWrapper()) {
|
|
return evaluateCached(path.get("expression"), state);
|
|
}
|
|
if (path.isMemberExpression() && !path.parentPath.isCallExpression({
|
|
callee: path.node
|
|
})) {
|
|
var _property = path.get("property");
|
|
var _object = path.get("object");
|
|
if (_object.isLiteral()) {
|
|
var value = _object.node.value;
|
|
var type = typeof value;
|
|
var key = null;
|
|
if (path.node.computed) {
|
|
key = evaluateCached(_property, state);
|
|
if (!state.confident) return;
|
|
} else if (_property.isIdentifier()) {
|
|
key = _property.node.name;
|
|
}
|
|
if ((type === "number" || type === "string") && key != null && (typeof key === "number" || typeof key === "string")) {
|
|
return value[key];
|
|
}
|
|
}
|
|
}
|
|
if (path.isReferencedIdentifier()) {
|
|
var binding = path.scope.getBinding(path.node.name);
|
|
if (binding) {
|
|
if (binding.constantViolations.length > 0 || path.node.start < binding.path.node.end) {
|
|
deopt(binding.path, state);
|
|
return;
|
|
}
|
|
if (binding.hasValue) {
|
|
return binding.value;
|
|
}
|
|
}
|
|
var _name = path.node.name;
|
|
if (Globals.has(_name)) {
|
|
if (!binding) {
|
|
return Globals.get(_name);
|
|
}
|
|
deopt(binding.path, state);
|
|
return;
|
|
}
|
|
var resolved = path.resolve();
|
|
if (resolved === path) {
|
|
deopt(path, state);
|
|
return;
|
|
} else {
|
|
return evaluateCached(resolved, state);
|
|
}
|
|
}
|
|
if (path.isUnaryExpression({
|
|
prefix: true
|
|
})) {
|
|
if (path.node.operator === "void") {
|
|
return undefined;
|
|
}
|
|
var argument = path.get("argument");
|
|
if (path.node.operator === "typeof" && (argument.isFunction() || argument.isClass())) {
|
|
return "function";
|
|
}
|
|
var arg = evaluateCached(argument, state);
|
|
if (!state.confident) return;
|
|
switch (path.node.operator) {
|
|
case "!":
|
|
return !arg;
|
|
case "+":
|
|
return +arg;
|
|
case "-":
|
|
return -arg;
|
|
case "~":
|
|
return ~arg;
|
|
case "typeof":
|
|
return typeof arg;
|
|
}
|
|
}
|
|
if (path.isArrayExpression()) {
|
|
var arr = [];
|
|
var elems = path.get("elements");
|
|
for (var _iterator = _createForOfIteratorHelperLoose(elems), _step; !(_step = _iterator()).done;) {
|
|
var elem = _step.value;
|
|
var elemValue = elem.evaluate();
|
|
if (elemValue.confident) {
|
|
arr.push(elemValue.value);
|
|
} else {
|
|
deopt(elemValue.deopt, state);
|
|
return;
|
|
}
|
|
}
|
|
return arr;
|
|
}
|
|
if (path.isObjectExpression()) {
|
|
var obj = {};
|
|
var props = path.get("properties");
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(props), _step2; !(_step2 = _iterator2()).done;) {
|
|
var prop = _step2.value;
|
|
if (prop.isObjectMethod() || prop.isSpreadElement()) {
|
|
deopt(prop, state);
|
|
return;
|
|
}
|
|
var keyPath = prop.get("key");
|
|
var _key = void 0;
|
|
if (prop.node.computed) {
|
|
_key = keyPath.evaluate();
|
|
if (!_key.confident) {
|
|
deopt(_key.deopt, state);
|
|
return;
|
|
}
|
|
_key = _key.value;
|
|
} else if (keyPath.isIdentifier()) {
|
|
_key = keyPath.node.name;
|
|
} else {
|
|
_key = keyPath.node.value;
|
|
}
|
|
var valuePath = prop.get("value");
|
|
var _value = valuePath.evaluate();
|
|
if (!_value.confident) {
|
|
deopt(_value.deopt, state);
|
|
return;
|
|
}
|
|
_value = _value.value;
|
|
obj[_key] = _value;
|
|
}
|
|
return obj;
|
|
}
|
|
if (path.isLogicalExpression()) {
|
|
var wasConfident = state.confident;
|
|
var left = evaluateCached(path.get("left"), state);
|
|
var leftConfident = state.confident;
|
|
state.confident = wasConfident;
|
|
var right = evaluateCached(path.get("right"), state);
|
|
var rightConfident = state.confident;
|
|
switch (path.node.operator) {
|
|
case "||":
|
|
state.confident = leftConfident && (!!left || rightConfident);
|
|
if (!state.confident) return;
|
|
return left || right;
|
|
case "&&":
|
|
state.confident = leftConfident && (!left || rightConfident);
|
|
if (!state.confident) return;
|
|
return left && right;
|
|
case "??":
|
|
state.confident = leftConfident && (left != null || rightConfident);
|
|
if (!state.confident) return;
|
|
return left != null ? left : right;
|
|
}
|
|
}
|
|
if (path.isBinaryExpression()) {
|
|
var _left = evaluateCached(path.get("left"), state);
|
|
if (!state.confident) return;
|
|
var _right = evaluateCached(path.get("right"), state);
|
|
if (!state.confident) return;
|
|
switch (path.node.operator) {
|
|
case "-":
|
|
return _left - _right;
|
|
case "+":
|
|
return _left + _right;
|
|
case "/":
|
|
return _left / _right;
|
|
case "*":
|
|
return _left * _right;
|
|
case "%":
|
|
return _left % _right;
|
|
case "**":
|
|
return Math.pow(_left, _right);
|
|
case "<":
|
|
return _left < _right;
|
|
case ">":
|
|
return _left > _right;
|
|
case "<=":
|
|
return _left <= _right;
|
|
case ">=":
|
|
return _left >= _right;
|
|
case "==":
|
|
return _left == _right;
|
|
case "!=":
|
|
return _left != _right;
|
|
case "===":
|
|
return _left === _right;
|
|
case "!==":
|
|
return _left !== _right;
|
|
case "|":
|
|
return _left | _right;
|
|
case "&":
|
|
return _left & _right;
|
|
case "^":
|
|
return _left ^ _right;
|
|
case "<<":
|
|
return _left << _right;
|
|
case ">>":
|
|
return _left >> _right;
|
|
case ">>>":
|
|
return _left >>> _right;
|
|
}
|
|
}
|
|
if (path.isCallExpression()) {
|
|
var callee = path.get("callee");
|
|
var context;
|
|
var func;
|
|
if (callee.isIdentifier() && !path.scope.getBinding(callee.node.name) && isValidCallee(callee.node.name)) {
|
|
func = global$1[callee.node.name];
|
|
}
|
|
if (callee.isMemberExpression()) {
|
|
var _object2 = callee.get("object");
|
|
var _property2 = callee.get("property");
|
|
if (_object2.isIdentifier() && _property2.isIdentifier() && isValidCallee(_object2.node.name) && !isInvalidMethod(_property2.node.name)) {
|
|
context = global$1[_object2.node.name];
|
|
func = context[_property2.node.name];
|
|
}
|
|
if (_object2.isLiteral() && _property2.isIdentifier()) {
|
|
var _type = typeof _object2.node.value;
|
|
if (_type === "string" || _type === "number") {
|
|
context = _object2.node.value;
|
|
func = context[_property2.node.name];
|
|
}
|
|
}
|
|
}
|
|
if (func) {
|
|
var args = path.get("arguments").map(function (arg) {
|
|
return evaluateCached(arg, state);
|
|
});
|
|
if (!state.confident) return;
|
|
return func.apply(context, args);
|
|
}
|
|
}
|
|
deopt(path, state);
|
|
}
|
|
function evaluateQuasis(path, quasis, state, raw) {
|
|
if (raw === void 0) {
|
|
raw = false;
|
|
}
|
|
var str = "";
|
|
var i = 0;
|
|
var exprs = path.isTemplateLiteral() ? path.get("expressions") : path.get("quasi.expressions");
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(quasis), _step3; !(_step3 = _iterator3()).done;) {
|
|
var elem = _step3.value;
|
|
if (!state.confident) break;
|
|
str += raw ? elem.value.raw : elem.value.cooked;
|
|
var expr = exprs[i++];
|
|
if (expr) str += String(evaluateCached(expr, state));
|
|
}
|
|
if (!state.confident) return;
|
|
return str;
|
|
}
|
|
function evaluate() {
|
|
var state = {
|
|
confident: true,
|
|
deoptPath: null,
|
|
seen: new Map()
|
|
};
|
|
var value = evaluateCached(this, state);
|
|
if (!state.confident) value = undefined;
|
|
return {
|
|
confident: state.confident,
|
|
deopt: state.deoptPath,
|
|
value: value
|
|
};
|
|
}
|
|
|
|
var NodePath_evaluation = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
evaluateTruthy: evaluateTruthy,
|
|
evaluate: evaluate
|
|
});
|
|
|
|
var assertExpressionStatement = assertExpressionStatement$1;
|
|
function makeStatementFormatter(fn) {
|
|
return {
|
|
code: function code(str) {
|
|
return "/* @babel/template */;\n" + str;
|
|
},
|
|
validate: function validate() {},
|
|
unwrap: function unwrap(ast) {
|
|
return fn(ast.program.body.slice(1));
|
|
}
|
|
};
|
|
}
|
|
var smart$1 = makeStatementFormatter(function (body) {
|
|
if (body.length > 1) {
|
|
return body;
|
|
} else {
|
|
return body[0];
|
|
}
|
|
});
|
|
var statements$1 = makeStatementFormatter(function (body) {
|
|
return body;
|
|
});
|
|
var statement$1 = makeStatementFormatter(function (body) {
|
|
if (body.length === 0) {
|
|
throw new Error("Found nothing to return.");
|
|
}
|
|
if (body.length > 1) {
|
|
throw new Error("Found multiple statements but wanted one");
|
|
}
|
|
return body[0];
|
|
});
|
|
var expression$1 = {
|
|
code: function code(str) {
|
|
return "(\n" + str + "\n)";
|
|
},
|
|
validate: function validate(ast) {
|
|
if (ast.program.body.length > 1) {
|
|
throw new Error("Found multiple statements but wanted one");
|
|
}
|
|
if (expression$1.unwrap(ast).start === 0) {
|
|
throw new Error("Parse result included parens.");
|
|
}
|
|
},
|
|
unwrap: function unwrap(_ref) {
|
|
var program = _ref.program;
|
|
var _program$body = _slicedToArray(program.body, 1),
|
|
stmt = _program$body[0];
|
|
assertExpressionStatement(stmt);
|
|
return stmt.expression;
|
|
}
|
|
};
|
|
var program$2 = {
|
|
code: function code(str) {
|
|
return str;
|
|
},
|
|
validate: function validate() {},
|
|
unwrap: function unwrap(ast) {
|
|
return ast.program;
|
|
}
|
|
};
|
|
|
|
var _excluded$3 = ["placeholderWhitelist", "placeholderPattern", "preserveComments", "syntacticPlaceholders"];
|
|
function merge(a, b) {
|
|
var _b$placeholderWhiteli = b.placeholderWhitelist,
|
|
placeholderWhitelist = _b$placeholderWhiteli === void 0 ? a.placeholderWhitelist : _b$placeholderWhiteli,
|
|
_b$placeholderPattern = b.placeholderPattern,
|
|
placeholderPattern = _b$placeholderPattern === void 0 ? a.placeholderPattern : _b$placeholderPattern,
|
|
_b$preserveComments = b.preserveComments,
|
|
preserveComments = _b$preserveComments === void 0 ? a.preserveComments : _b$preserveComments,
|
|
_b$syntacticPlacehold = b.syntacticPlaceholders,
|
|
syntacticPlaceholders = _b$syntacticPlacehold === void 0 ? a.syntacticPlaceholders : _b$syntacticPlacehold;
|
|
return {
|
|
parser: Object.assign({}, a.parser, b.parser),
|
|
placeholderWhitelist: placeholderWhitelist,
|
|
placeholderPattern: placeholderPattern,
|
|
preserveComments: preserveComments,
|
|
syntacticPlaceholders: syntacticPlaceholders
|
|
};
|
|
}
|
|
function validate$3(opts) {
|
|
if (opts != null && typeof opts !== "object") {
|
|
throw new Error("Unknown template options.");
|
|
}
|
|
var _ref = opts || {},
|
|
placeholderWhitelist = _ref.placeholderWhitelist,
|
|
placeholderPattern = _ref.placeholderPattern,
|
|
preserveComments = _ref.preserveComments,
|
|
syntacticPlaceholders = _ref.syntacticPlaceholders,
|
|
parser = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
if (placeholderWhitelist != null && !(placeholderWhitelist instanceof Set)) {
|
|
throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined");
|
|
}
|
|
if (placeholderPattern != null && !(placeholderPattern instanceof RegExp) && placeholderPattern !== false) {
|
|
throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined");
|
|
}
|
|
if (preserveComments != null && typeof preserveComments !== "boolean") {
|
|
throw new Error("'.preserveComments' must be a boolean, null, or undefined");
|
|
}
|
|
if (syntacticPlaceholders != null && typeof syntacticPlaceholders !== "boolean") {
|
|
throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined");
|
|
}
|
|
if (syntacticPlaceholders === true && (placeholderWhitelist != null || placeholderPattern != null)) {
|
|
throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'");
|
|
}
|
|
return {
|
|
parser: parser,
|
|
placeholderWhitelist: placeholderWhitelist || undefined,
|
|
placeholderPattern: placeholderPattern == null ? undefined : placeholderPattern,
|
|
preserveComments: preserveComments == null ? undefined : preserveComments,
|
|
syntacticPlaceholders: syntacticPlaceholders == null ? undefined : syntacticPlaceholders
|
|
};
|
|
}
|
|
function normalizeReplacements(replacements) {
|
|
if (Array.isArray(replacements)) {
|
|
return replacements.reduce(function (acc, replacement, i) {
|
|
acc["$" + i] = replacement;
|
|
return acc;
|
|
}, {});
|
|
} else if (typeof replacements === "object" || replacements == null) {
|
|
return replacements || undefined;
|
|
}
|
|
throw new Error("Template replacements must be an array, object, null, or undefined");
|
|
}
|
|
|
|
var isCallExpression$3 = isCallExpression$8,
|
|
isExpressionStatement$1 = isExpressionStatement$3,
|
|
isFunction$1 = isFunction$4,
|
|
isIdentifier$c = isIdentifier$j,
|
|
isJSXIdentifier$2 = isJSXIdentifier$3,
|
|
isNewExpression = isNewExpression$4,
|
|
isPlaceholder = isPlaceholder$1,
|
|
isStatement$2 = isStatement$8,
|
|
isStringLiteral$4 = isStringLiteral$6,
|
|
removePropertiesDeep = removePropertiesDeep$1,
|
|
traverse$1 = traverse$2;
|
|
var PATTERN = /^[_$A-Z0-9]+$/;
|
|
function parseAndBuildMetadata(formatter, code, opts) {
|
|
var placeholderWhitelist = opts.placeholderWhitelist,
|
|
placeholderPattern = opts.placeholderPattern,
|
|
preserveComments = opts.preserveComments,
|
|
syntacticPlaceholders = opts.syntacticPlaceholders;
|
|
var ast = parseWithCodeFrame(code, opts.parser, syntacticPlaceholders);
|
|
removePropertiesDeep(ast, {
|
|
preserveComments: preserveComments
|
|
});
|
|
formatter.validate(ast);
|
|
var syntactic = {
|
|
placeholders: [],
|
|
placeholderNames: new Set()
|
|
};
|
|
var legacy = {
|
|
placeholders: [],
|
|
placeholderNames: new Set()
|
|
};
|
|
var isLegacyRef = {
|
|
value: undefined
|
|
};
|
|
traverse$1(ast, placeholderVisitorHandler, {
|
|
syntactic: syntactic,
|
|
legacy: legacy,
|
|
isLegacyRef: isLegacyRef,
|
|
placeholderWhitelist: placeholderWhitelist,
|
|
placeholderPattern: placeholderPattern,
|
|
syntacticPlaceholders: syntacticPlaceholders
|
|
});
|
|
return Object.assign({
|
|
ast: ast
|
|
}, isLegacyRef.value ? legacy : syntactic);
|
|
}
|
|
function placeholderVisitorHandler(node, ancestors, state) {
|
|
var _state$placeholderWhi;
|
|
var name;
|
|
if (isPlaceholder(node)) {
|
|
if (state.syntacticPlaceholders === false) {
|
|
throw new Error("%%foo%%-style placeholders can't be used when " + "'.syntacticPlaceholders' is false.");
|
|
} else {
|
|
name = node.name.name;
|
|
state.isLegacyRef.value = false;
|
|
}
|
|
} else if (state.isLegacyRef.value === false || state.syntacticPlaceholders) {
|
|
return;
|
|
} else if (isIdentifier$c(node) || isJSXIdentifier$2(node)) {
|
|
name = node.name;
|
|
state.isLegacyRef.value = true;
|
|
} else if (isStringLiteral$4(node)) {
|
|
name = node.value;
|
|
state.isLegacyRef.value = true;
|
|
} else {
|
|
return;
|
|
}
|
|
if (!state.isLegacyRef.value && (state.placeholderPattern != null || state.placeholderWhitelist != null)) {
|
|
throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'");
|
|
}
|
|
if (state.isLegacyRef.value && (state.placeholderPattern === false || !(state.placeholderPattern || PATTERN).test(name)) && !((_state$placeholderWhi = state.placeholderWhitelist) != null && _state$placeholderWhi.has(name))) {
|
|
return;
|
|
}
|
|
ancestors = ancestors.slice();
|
|
var _ancestors = ancestors[ancestors.length - 1],
|
|
parent = _ancestors.node,
|
|
key = _ancestors.key;
|
|
var type;
|
|
if (isStringLiteral$4(node) || isPlaceholder(node, {
|
|
expectedNode: "StringLiteral"
|
|
})) {
|
|
type = "string";
|
|
} else if (isNewExpression(parent) && key === "arguments" || isCallExpression$3(parent) && key === "arguments" || isFunction$1(parent) && key === "params") {
|
|
type = "param";
|
|
} else if (isExpressionStatement$1(parent) && !isPlaceholder(node)) {
|
|
type = "statement";
|
|
ancestors = ancestors.slice(0, -1);
|
|
} else if (isStatement$2(node) && isPlaceholder(node)) {
|
|
type = "statement";
|
|
} else {
|
|
type = "other";
|
|
}
|
|
var _ref = state.isLegacyRef.value ? state.legacy : state.syntactic,
|
|
placeholders = _ref.placeholders,
|
|
placeholderNames = _ref.placeholderNames;
|
|
placeholders.push({
|
|
name: name,
|
|
type: type,
|
|
resolve: function resolve(ast) {
|
|
return resolveAncestors(ast, ancestors);
|
|
},
|
|
isDuplicate: placeholderNames.has(name)
|
|
});
|
|
placeholderNames.add(name);
|
|
}
|
|
function resolveAncestors(ast, ancestors) {
|
|
var parent = ast;
|
|
for (var i = 0; i < ancestors.length - 1; i++) {
|
|
var _ancestors$i = ancestors[i],
|
|
_key = _ancestors$i.key,
|
|
_index = _ancestors$i.index;
|
|
if (_index === undefined) {
|
|
parent = parent[_key];
|
|
} else {
|
|
parent = parent[_key][_index];
|
|
}
|
|
}
|
|
var _ancestors2 = ancestors[ancestors.length - 1],
|
|
key = _ancestors2.key,
|
|
index = _ancestors2.index;
|
|
return {
|
|
parent: parent,
|
|
key: key,
|
|
index: index
|
|
};
|
|
}
|
|
function parseWithCodeFrame(code, parserOpts, syntacticPlaceholders) {
|
|
var plugins = (parserOpts.plugins || []).slice();
|
|
if (syntacticPlaceholders !== false) {
|
|
plugins.push("placeholders");
|
|
}
|
|
parserOpts = Object.assign({
|
|
allowReturnOutsideFunction: true,
|
|
allowSuperOutsideMethod: true,
|
|
sourceType: "module"
|
|
}, parserOpts, {
|
|
plugins: plugins
|
|
});
|
|
try {
|
|
return parse$4(code, parserOpts);
|
|
} catch (err) {
|
|
var loc = err.loc;
|
|
if (loc) {
|
|
err.message += "\n" + codeFrameColumns(code, {
|
|
start: loc
|
|
});
|
|
err.code = "BABEL_TEMPLATE_PARSE_ERROR";
|
|
}
|
|
throw err;
|
|
}
|
|
}
|
|
|
|
var blockStatement$4 = blockStatement$6,
|
|
cloneNode$f = cloneNode$j,
|
|
emptyStatement = emptyStatement$1,
|
|
expressionStatement$7 = expressionStatement$a,
|
|
identifier$c = identifier$i,
|
|
isStatement$1 = isStatement$8,
|
|
isStringLiteral$3 = isStringLiteral$6,
|
|
stringLiteral$7 = stringLiteral$8,
|
|
validate$2 = validate$5;
|
|
function populatePlaceholders(metadata, replacements) {
|
|
var ast = cloneNode$f(metadata.ast);
|
|
if (replacements) {
|
|
metadata.placeholders.forEach(function (placeholder) {
|
|
if (!Object.prototype.hasOwnProperty.call(replacements, placeholder.name)) {
|
|
var placeholderName = placeholder.name;
|
|
throw new Error("Error: No substitution given for \"" + placeholderName + "\". If this is not meant to be a\n placeholder you may want to consider passing one of the following options to @babel/template:\n - { placeholderPattern: false, placeholderWhitelist: new Set(['" + placeholderName + "'])}\n - { placeholderPattern: /^" + placeholderName + "$/ }");
|
|
}
|
|
});
|
|
Object.keys(replacements).forEach(function (key) {
|
|
if (!metadata.placeholderNames.has(key)) {
|
|
throw new Error("Unknown substitution \"" + key + "\" given");
|
|
}
|
|
});
|
|
}
|
|
metadata.placeholders.slice().reverse().forEach(function (placeholder) {
|
|
try {
|
|
applyReplacement(placeholder, ast, replacements && replacements[placeholder.name] || null);
|
|
} catch (e) {
|
|
e.message = "@babel/template placeholder \"" + placeholder.name + "\": " + e.message;
|
|
throw e;
|
|
}
|
|
});
|
|
return ast;
|
|
}
|
|
function applyReplacement(placeholder, ast, replacement) {
|
|
if (placeholder.isDuplicate) {
|
|
if (Array.isArray(replacement)) {
|
|
replacement = replacement.map(function (node) {
|
|
return cloneNode$f(node);
|
|
});
|
|
} else if (typeof replacement === "object") {
|
|
replacement = cloneNode$f(replacement);
|
|
}
|
|
}
|
|
var _placeholder$resolve = placeholder.resolve(ast),
|
|
parent = _placeholder$resolve.parent,
|
|
key = _placeholder$resolve.key,
|
|
index = _placeholder$resolve.index;
|
|
if (placeholder.type === "string") {
|
|
if (typeof replacement === "string") {
|
|
replacement = stringLiteral$7(replacement);
|
|
}
|
|
if (!replacement || !isStringLiteral$3(replacement)) {
|
|
throw new Error("Expected string substitution");
|
|
}
|
|
} else if (placeholder.type === "statement") {
|
|
if (index === undefined) {
|
|
if (!replacement) {
|
|
replacement = emptyStatement();
|
|
} else if (Array.isArray(replacement)) {
|
|
replacement = blockStatement$4(replacement);
|
|
} else if (typeof replacement === "string") {
|
|
replacement = expressionStatement$7(identifier$c(replacement));
|
|
} else if (!isStatement$1(replacement)) {
|
|
replacement = expressionStatement$7(replacement);
|
|
}
|
|
} else {
|
|
if (replacement && !Array.isArray(replacement)) {
|
|
if (typeof replacement === "string") {
|
|
replacement = identifier$c(replacement);
|
|
}
|
|
if (!isStatement$1(replacement)) {
|
|
replacement = expressionStatement$7(replacement);
|
|
}
|
|
}
|
|
}
|
|
} else if (placeholder.type === "param") {
|
|
if (typeof replacement === "string") {
|
|
replacement = identifier$c(replacement);
|
|
}
|
|
if (index === undefined) throw new Error("Assertion failure.");
|
|
} else {
|
|
if (typeof replacement === "string") {
|
|
replacement = identifier$c(replacement);
|
|
}
|
|
if (Array.isArray(replacement)) {
|
|
throw new Error("Cannot replace single expression with an array.");
|
|
}
|
|
}
|
|
if (index === undefined) {
|
|
validate$2(parent, key, replacement);
|
|
parent[key] = replacement;
|
|
} else {
|
|
var items = parent[key].slice();
|
|
if (placeholder.type === "statement" || placeholder.type === "param") {
|
|
if (replacement == null) {
|
|
items.splice(index, 1);
|
|
} else if (Array.isArray(replacement)) {
|
|
items.splice.apply(items, [index, 1].concat(_toConsumableArray(replacement)));
|
|
} else {
|
|
items[index] = replacement;
|
|
}
|
|
} else {
|
|
items[index] = replacement;
|
|
}
|
|
validate$2(parent, key, items);
|
|
parent[key] = items;
|
|
}
|
|
}
|
|
|
|
function stringTemplate(formatter, code, opts) {
|
|
code = formatter.code(code);
|
|
var metadata;
|
|
return function (arg) {
|
|
var replacements = normalizeReplacements(arg);
|
|
if (!metadata) metadata = parseAndBuildMetadata(formatter, code, opts);
|
|
return formatter.unwrap(populatePlaceholders(metadata, replacements));
|
|
};
|
|
}
|
|
|
|
function literalTemplate(formatter, tpl, opts) {
|
|
var _buildLiteralData = buildLiteralData(formatter, tpl, opts),
|
|
metadata = _buildLiteralData.metadata,
|
|
names = _buildLiteralData.names;
|
|
return function (arg) {
|
|
var defaultReplacements = {};
|
|
arg.forEach(function (replacement, i) {
|
|
defaultReplacements[names[i]] = replacement;
|
|
});
|
|
return function (arg) {
|
|
var replacements = normalizeReplacements(arg);
|
|
if (replacements) {
|
|
Object.keys(replacements).forEach(function (key) {
|
|
if (Object.prototype.hasOwnProperty.call(defaultReplacements, key)) {
|
|
throw new Error("Unexpected replacement overlap.");
|
|
}
|
|
});
|
|
}
|
|
return formatter.unwrap(populatePlaceholders(metadata, replacements ? Object.assign(replacements, defaultReplacements) : defaultReplacements));
|
|
};
|
|
};
|
|
}
|
|
function buildLiteralData(formatter, tpl, opts) {
|
|
var names;
|
|
var nameSet;
|
|
var metadata;
|
|
var prefix = "";
|
|
do {
|
|
prefix += "$";
|
|
var result = buildTemplateCode(tpl, prefix);
|
|
names = result.names;
|
|
nameSet = new Set(names);
|
|
metadata = parseAndBuildMetadata(formatter, formatter.code(result.code), {
|
|
parser: opts.parser,
|
|
placeholderWhitelist: new Set(result.names.concat(opts.placeholderWhitelist ? Array.from(opts.placeholderWhitelist) : [])),
|
|
placeholderPattern: opts.placeholderPattern,
|
|
preserveComments: opts.preserveComments,
|
|
syntacticPlaceholders: opts.syntacticPlaceholders
|
|
});
|
|
} while (metadata.placeholders.some(function (placeholder) {
|
|
return placeholder.isDuplicate && nameSet.has(placeholder.name);
|
|
}));
|
|
return {
|
|
metadata: metadata,
|
|
names: names
|
|
};
|
|
}
|
|
function buildTemplateCode(tpl, prefix) {
|
|
var names = [];
|
|
var code = tpl[0];
|
|
for (var i = 1; i < tpl.length; i++) {
|
|
var value = "" + prefix + (i - 1);
|
|
names.push(value);
|
|
code += value + tpl[i];
|
|
}
|
|
return {
|
|
names: names,
|
|
code: code
|
|
};
|
|
}
|
|
|
|
var NO_PLACEHOLDER = validate$3({
|
|
placeholderPattern: false
|
|
});
|
|
function createTemplateBuilder(formatter, defaultOpts) {
|
|
var templateFnCache = new WeakMap();
|
|
var templateAstCache = new WeakMap();
|
|
var cachedOpts = defaultOpts || validate$3(null);
|
|
return Object.assign(function (tpl) {
|
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
args[_key - 1] = arguments[_key];
|
|
}
|
|
if (typeof tpl === "string") {
|
|
if (args.length > 1) throw new Error("Unexpected extra params.");
|
|
return extendedTrace(stringTemplate(formatter, tpl, merge(cachedOpts, validate$3(args[0]))));
|
|
} else if (Array.isArray(tpl)) {
|
|
var builder = templateFnCache.get(tpl);
|
|
if (!builder) {
|
|
builder = literalTemplate(formatter, tpl, cachedOpts);
|
|
templateFnCache.set(tpl, builder);
|
|
}
|
|
return extendedTrace(builder(args));
|
|
} else if (typeof tpl === "object" && tpl) {
|
|
if (args.length > 0) throw new Error("Unexpected extra params.");
|
|
return createTemplateBuilder(formatter, merge(cachedOpts, validate$3(tpl)));
|
|
}
|
|
throw new Error("Unexpected template param " + typeof tpl);
|
|
}, {
|
|
ast: function ast(tpl) {
|
|
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
args[_key2 - 1] = arguments[_key2];
|
|
}
|
|
if (typeof tpl === "string") {
|
|
if (args.length > 1) throw new Error("Unexpected extra params.");
|
|
return stringTemplate(formatter, tpl, merge(merge(cachedOpts, validate$3(args[0])), NO_PLACEHOLDER))();
|
|
} else if (Array.isArray(tpl)) {
|
|
var builder = templateAstCache.get(tpl);
|
|
if (!builder) {
|
|
builder = literalTemplate(formatter, tpl, merge(cachedOpts, NO_PLACEHOLDER));
|
|
templateAstCache.set(tpl, builder);
|
|
}
|
|
return builder(args)();
|
|
}
|
|
throw new Error("Unexpected template param " + typeof tpl);
|
|
}
|
|
});
|
|
}
|
|
function extendedTrace(fn) {
|
|
var rootStack = "";
|
|
try {
|
|
throw new Error();
|
|
} catch (error) {
|
|
if (error.stack) {
|
|
rootStack = error.stack.split("\n").slice(3).join("\n");
|
|
}
|
|
}
|
|
return function (arg) {
|
|
try {
|
|
return fn(arg);
|
|
} catch (err) {
|
|
err.stack += "\n =============\n" + rootStack;
|
|
throw err;
|
|
}
|
|
};
|
|
}
|
|
|
|
var smart = createTemplateBuilder(smart$1);
|
|
var statement = createTemplateBuilder(statement$1);
|
|
var statements = createTemplateBuilder(statements$1);
|
|
var expression = createTemplateBuilder(expression$1);
|
|
var program$1 = createTemplateBuilder(program$2);
|
|
var template$2 = Object.assign(smart.bind(undefined), {
|
|
smart: smart,
|
|
statement: statement,
|
|
statements: statements,
|
|
expression: expression,
|
|
program: program$1,
|
|
ast: smart.ast
|
|
});
|
|
|
|
var NOT_LOCAL_BINDING = NOT_LOCAL_BINDING$2,
|
|
cloneNode$e = cloneNode$j,
|
|
identifier$b = identifier$i,
|
|
isAssignmentExpression$1 = isAssignmentExpression$4,
|
|
isAssignmentPattern$3 = isAssignmentPattern$5,
|
|
isFunction = isFunction$4,
|
|
isIdentifier$b = isIdentifier$j,
|
|
isLiteral$2 = isLiteral$6,
|
|
isNullLiteral = isNullLiteral$2,
|
|
isObjectMethod = isObjectMethod$1,
|
|
isObjectProperty$3 = isObjectProperty$5,
|
|
isRegExpLiteral = isRegExpLiteral$2,
|
|
isRestElement$2 = isRestElement$3,
|
|
isTemplateLiteral = isTemplateLiteral$2,
|
|
isVariableDeclarator = isVariableDeclarator$2,
|
|
toBindingIdentifierName = toBindingIdentifierName$1;
|
|
function getFunctionArity(node) {
|
|
var count = node.params.findIndex(function (param) {
|
|
return isAssignmentPattern$3(param) || isRestElement$2(param);
|
|
});
|
|
return count === -1 ? node.params.length : count;
|
|
}
|
|
var buildPropertyMethodAssignmentWrapper = template$2.statement("\n (function (FUNCTION_KEY) {\n function FUNCTION_ID() {\n return FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n }\n\n return FUNCTION_ID;\n })(FUNCTION)\n");
|
|
var buildGeneratorPropertyMethodAssignmentWrapper = template$2.statement("\n (function (FUNCTION_KEY) {\n function* FUNCTION_ID() {\n return yield* FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n };\n\n return FUNCTION_ID;\n })(FUNCTION)\n");
|
|
var visitor$3 = {
|
|
"ReferencedIdentifier|BindingIdentifier": function ReferencedIdentifierBindingIdentifier(path, state) {
|
|
if (path.node.name !== state.name) return;
|
|
var localDeclar = path.scope.getBindingIdentifier(state.name);
|
|
if (localDeclar !== state.outerDeclar) return;
|
|
state.selfReference = true;
|
|
path.stop();
|
|
}
|
|
};
|
|
function getNameFromLiteralId(id) {
|
|
if (isNullLiteral(id)) {
|
|
return "null";
|
|
}
|
|
if (isRegExpLiteral(id)) {
|
|
return "_" + id.pattern + "_" + id.flags;
|
|
}
|
|
if (isTemplateLiteral(id)) {
|
|
return id.quasis.map(function (quasi) {
|
|
return quasi.value.raw;
|
|
}).join("");
|
|
}
|
|
if (id.value !== undefined) {
|
|
return id.value + "";
|
|
}
|
|
return "";
|
|
}
|
|
function wrap$1(state, method, id, scope) {
|
|
if (state.selfReference) {
|
|
if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) {
|
|
scope.rename(id.name);
|
|
} else {
|
|
if (!isFunction(method)) return;
|
|
var build = buildPropertyMethodAssignmentWrapper;
|
|
if (method.generator) {
|
|
build = buildGeneratorPropertyMethodAssignmentWrapper;
|
|
}
|
|
var _template = build({
|
|
FUNCTION: method,
|
|
FUNCTION_ID: id,
|
|
FUNCTION_KEY: scope.generateUidIdentifier(id.name)
|
|
}).expression;
|
|
var params = _template.callee.body.body[0].params;
|
|
for (var i = 0, len = getFunctionArity(method); i < len; i++) {
|
|
params.push(scope.generateUidIdentifier("x"));
|
|
}
|
|
return _template;
|
|
}
|
|
}
|
|
method.id = id;
|
|
scope.getProgramParent().references[id.name] = true;
|
|
}
|
|
function visit$2(node, name, scope) {
|
|
var state = {
|
|
selfAssignment: false,
|
|
selfReference: false,
|
|
outerDeclar: scope.getBindingIdentifier(name),
|
|
name: name
|
|
};
|
|
var binding = scope.getOwnBinding(name);
|
|
if (binding) {
|
|
if (binding.kind === "param") {
|
|
state.selfReference = true;
|
|
}
|
|
} else if (state.outerDeclar || scope.hasGlobal(name)) {
|
|
scope.traverse(node, visitor$3, state);
|
|
}
|
|
return state;
|
|
}
|
|
function nameFunction (_ref, localBinding, supportUnicodeId) {
|
|
var node = _ref.node,
|
|
parent = _ref.parent,
|
|
scope = _ref.scope,
|
|
id = _ref.id;
|
|
if (localBinding === void 0) {
|
|
localBinding = false;
|
|
}
|
|
if (supportUnicodeId === void 0) {
|
|
supportUnicodeId = false;
|
|
}
|
|
if (node.id) return;
|
|
if ((isObjectProperty$3(parent) || isObjectMethod(parent, {
|
|
kind: "method"
|
|
})) && (!parent.computed || isLiteral$2(parent.key))) {
|
|
id = parent.key;
|
|
} else if (isVariableDeclarator(parent)) {
|
|
id = parent.id;
|
|
if (isIdentifier$b(id) && !localBinding) {
|
|
var binding = scope.parent.getBinding(id.name);
|
|
if (binding && binding.constant && scope.getBinding(id.name) === binding) {
|
|
node.id = cloneNode$e(id);
|
|
node.id[NOT_LOCAL_BINDING] = true;
|
|
return;
|
|
}
|
|
}
|
|
} else if (isAssignmentExpression$1(parent, {
|
|
operator: "="
|
|
})) {
|
|
id = parent.left;
|
|
} else if (!id) {
|
|
return;
|
|
}
|
|
var name;
|
|
if (id && isLiteral$2(id)) {
|
|
name = getNameFromLiteralId(id);
|
|
} else if (id && isIdentifier$b(id)) {
|
|
name = id.name;
|
|
}
|
|
if (name === undefined) {
|
|
return;
|
|
}
|
|
if (!supportUnicodeId && isFunction(node) && /[\uD800-\uDFFF]/.test(name)) {
|
|
return;
|
|
}
|
|
name = toBindingIdentifierName(name);
|
|
var newId = identifier$b(name);
|
|
newId[NOT_LOCAL_BINDING] = true;
|
|
var state = visit$2(node, name, scope);
|
|
return wrap$1(state, node, newId, scope) || node;
|
|
}
|
|
|
|
var arrowFunctionExpression$2 = arrowFunctionExpression$4,
|
|
assignmentExpression$a = assignmentExpression$d,
|
|
binaryExpression$4 = binaryExpression$5,
|
|
blockStatement$3 = blockStatement$6,
|
|
callExpression$b = callExpression$e,
|
|
conditionalExpression$3 = conditionalExpression$4,
|
|
expressionStatement$6 = expressionStatement$a,
|
|
identifier$a = identifier$i,
|
|
isIdentifier$a = isIdentifier$j,
|
|
jsxIdentifier$1 = jsxIdentifier$2,
|
|
logicalExpression$2 = logicalExpression$3,
|
|
LOGICAL_OPERATORS$2 = LOGICAL_OPERATORS$3,
|
|
memberExpression$a = memberExpression$c,
|
|
metaProperty = metaProperty$1,
|
|
numericLiteral$6 = numericLiteral$8,
|
|
objectExpression$2 = objectExpression$3,
|
|
restElement$1 = restElement$2,
|
|
returnStatement$1 = returnStatement$3,
|
|
sequenceExpression$6 = sequenceExpression$7,
|
|
spreadElement$1 = spreadElement$2,
|
|
stringLiteral$6 = stringLiteral$8,
|
|
_super = _super$1,
|
|
thisExpression$3 = thisExpression$4,
|
|
toExpression = toExpression$1,
|
|
unaryExpression$5 = unaryExpression$7;
|
|
function toComputedKey$1() {
|
|
var key;
|
|
if (this.isMemberExpression()) {
|
|
key = this.node.property;
|
|
} else if (this.isProperty() || this.isMethod()) {
|
|
key = this.node.key;
|
|
} else {
|
|
throw new ReferenceError("todo");
|
|
}
|
|
if (!this.node.computed) {
|
|
if (isIdentifier$a(key)) key = stringLiteral$6(key.name);
|
|
}
|
|
return key;
|
|
}
|
|
function ensureBlock() {
|
|
var body = this.get("body");
|
|
var bodyNode = body.node;
|
|
if (Array.isArray(body)) {
|
|
throw new Error("Can't convert array path to a block statement");
|
|
}
|
|
if (!bodyNode) {
|
|
throw new Error("Can't convert node without a body");
|
|
}
|
|
if (body.isBlockStatement()) {
|
|
return bodyNode;
|
|
}
|
|
var statements = [];
|
|
var stringPath = "body";
|
|
var key;
|
|
var listKey;
|
|
if (body.isStatement()) {
|
|
listKey = "body";
|
|
key = 0;
|
|
statements.push(body.node);
|
|
} else {
|
|
stringPath += ".body.0";
|
|
if (this.isFunction()) {
|
|
key = "argument";
|
|
statements.push(returnStatement$1(body.node));
|
|
} else {
|
|
key = "expression";
|
|
statements.push(expressionStatement$6(body.node));
|
|
}
|
|
}
|
|
this.node.body = blockStatement$3(statements);
|
|
var parentPath = this.get(stringPath);
|
|
body.setup(parentPath, listKey ? parentPath.node[listKey] : parentPath.node, listKey, key);
|
|
return this.node;
|
|
}
|
|
{
|
|
{
|
|
exports.arrowFunctionToShadowed = function () {
|
|
if (!this.isArrowFunctionExpression()) return;
|
|
this.arrowFunctionToExpression();
|
|
};
|
|
}
|
|
}
|
|
function unwrapFunctionEnvironment() {
|
|
if (!this.isArrowFunctionExpression() && !this.isFunctionExpression() && !this.isFunctionDeclaration()) {
|
|
throw this.buildCodeFrameError("Can only unwrap the environment of a function.");
|
|
}
|
|
hoistFunctionEnvironment(this);
|
|
}
|
|
function setType(path, type) {
|
|
path.node.type = type;
|
|
}
|
|
function arrowFunctionToExpression(_temp) {
|
|
var _arguments$;
|
|
var _ref = _temp === void 0 ? {} : _temp,
|
|
_ref$allowInsertArrow = _ref.allowInsertArrow,
|
|
allowInsertArrow = _ref$allowInsertArrow === void 0 ? true : _ref$allowInsertArrow,
|
|
_ref$allowInsertArrow2 = _ref.allowInsertArrowWithRest,
|
|
allowInsertArrowWithRest = _ref$allowInsertArrow2 === void 0 ? allowInsertArrow : _ref$allowInsertArrow2,
|
|
_ref$noNewArrows = _ref.noNewArrows,
|
|
noNewArrows = _ref$noNewArrows === void 0 ? !((_arguments$ = arguments[0]) != null && _arguments$.specCompliant) : _ref$noNewArrows;
|
|
if (!this.isArrowFunctionExpression()) {
|
|
throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");
|
|
}
|
|
var _hoistFunctionEnviron = hoistFunctionEnvironment(this, noNewArrows, allowInsertArrow, allowInsertArrowWithRest),
|
|
thisBinding = _hoistFunctionEnviron.thisBinding,
|
|
fn = _hoistFunctionEnviron.fnPath;
|
|
fn.ensureBlock();
|
|
setType(fn, "FunctionExpression");
|
|
if (!noNewArrows) {
|
|
var checkBinding = thisBinding ? null : fn.scope.generateUidIdentifier("arrowCheckId");
|
|
if (checkBinding) {
|
|
fn.parentPath.scope.push({
|
|
id: checkBinding,
|
|
init: objectExpression$2([])
|
|
});
|
|
}
|
|
fn.get("body").unshiftContainer("body", expressionStatement$6(callExpression$b(this.hub.addHelper("newArrowCheck"), [thisExpression$3(), checkBinding ? identifier$a(checkBinding.name) : identifier$a(thisBinding)])));
|
|
fn.replaceWith(callExpression$b(memberExpression$a(nameFunction(this, true) || fn.node, identifier$a("bind")), [checkBinding ? identifier$a(checkBinding.name) : thisExpression$3()]));
|
|
return fn.get("callee.object");
|
|
}
|
|
return fn;
|
|
}
|
|
var getSuperCallsVisitor = merge$1([{
|
|
CallExpression: function CallExpression(child, _ref2) {
|
|
var allSuperCalls = _ref2.allSuperCalls;
|
|
if (!child.get("callee").isSuper()) return;
|
|
allSuperCalls.push(child);
|
|
}
|
|
}, visitor$5]);
|
|
function hoistFunctionEnvironment(fnPath, noNewArrows, allowInsertArrow, allowInsertArrowWithRest) {
|
|
if (noNewArrows === void 0) {
|
|
noNewArrows = true;
|
|
}
|
|
if (allowInsertArrow === void 0) {
|
|
allowInsertArrow = true;
|
|
}
|
|
if (allowInsertArrowWithRest === void 0) {
|
|
allowInsertArrowWithRest = true;
|
|
}
|
|
var arrowParent;
|
|
var thisEnvFn = fnPath.findParent(function (p) {
|
|
if (p.isArrowFunctionExpression()) {
|
|
var _arrowParent;
|
|
(_arrowParent = arrowParent) != null ? _arrowParent : arrowParent = p;
|
|
return false;
|
|
}
|
|
return p.isFunction() || p.isProgram() || p.isClassProperty({
|
|
"static": false
|
|
}) || p.isClassPrivateProperty({
|
|
"static": false
|
|
});
|
|
});
|
|
var inConstructor = thisEnvFn.isClassMethod({
|
|
kind: "constructor"
|
|
});
|
|
if (thisEnvFn.isClassProperty() || thisEnvFn.isClassPrivateProperty()) {
|
|
if (arrowParent) {
|
|
thisEnvFn = arrowParent;
|
|
} else if (allowInsertArrow) {
|
|
fnPath.replaceWith(callExpression$b(arrowFunctionExpression$2([], toExpression(fnPath.node)), []));
|
|
thisEnvFn = fnPath.get("callee");
|
|
fnPath = thisEnvFn.get("body");
|
|
} else {
|
|
throw fnPath.buildCodeFrameError("Unable to transform arrow inside class property");
|
|
}
|
|
}
|
|
var _getScopeInformation = getScopeInformation(fnPath),
|
|
thisPaths = _getScopeInformation.thisPaths,
|
|
argumentsPaths = _getScopeInformation.argumentsPaths,
|
|
newTargetPaths = _getScopeInformation.newTargetPaths,
|
|
superProps = _getScopeInformation.superProps,
|
|
superCalls = _getScopeInformation.superCalls;
|
|
if (inConstructor && superCalls.length > 0) {
|
|
if (!allowInsertArrow) {
|
|
throw superCalls[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', " + "it's not possible to compile `super()` in an arrow function without compiling classes.\n" + "Please add '@babel/plugin-transform-classes' to your Babel configuration.");
|
|
}
|
|
if (!allowInsertArrowWithRest) {
|
|
throw superCalls[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', " + "it's not possible to compile `super()` in an arrow function with default or rest parameters without compiling classes.\n" + "Please add '@babel/plugin-transform-classes' to your Babel configuration.");
|
|
}
|
|
var allSuperCalls = [];
|
|
thisEnvFn.traverse(getSuperCallsVisitor, {
|
|
allSuperCalls: allSuperCalls
|
|
});
|
|
var superBinding = getSuperBinding(thisEnvFn);
|
|
allSuperCalls.forEach(function (superCall) {
|
|
var callee = identifier$a(superBinding);
|
|
callee.loc = superCall.node.callee.loc;
|
|
superCall.get("callee").replaceWith(callee);
|
|
});
|
|
}
|
|
if (argumentsPaths.length > 0) {
|
|
var argumentsBinding = getBinding(thisEnvFn, "arguments", function () {
|
|
var args = function args() {
|
|
return identifier$a("arguments");
|
|
};
|
|
if (thisEnvFn.scope.path.isProgram()) {
|
|
return conditionalExpression$3(binaryExpression$4("===", unaryExpression$5("typeof", args()), stringLiteral$6("undefined")), thisEnvFn.scope.buildUndefinedNode(), args());
|
|
} else {
|
|
return args();
|
|
}
|
|
});
|
|
argumentsPaths.forEach(function (argumentsChild) {
|
|
var argsRef = identifier$a(argumentsBinding);
|
|
argsRef.loc = argumentsChild.node.loc;
|
|
argumentsChild.replaceWith(argsRef);
|
|
});
|
|
}
|
|
if (newTargetPaths.length > 0) {
|
|
var newTargetBinding = getBinding(thisEnvFn, "newtarget", function () {
|
|
return metaProperty(identifier$a("new"), identifier$a("target"));
|
|
});
|
|
newTargetPaths.forEach(function (targetChild) {
|
|
var targetRef = identifier$a(newTargetBinding);
|
|
targetRef.loc = targetChild.node.loc;
|
|
targetChild.replaceWith(targetRef);
|
|
});
|
|
}
|
|
if (superProps.length > 0) {
|
|
if (!allowInsertArrow) {
|
|
throw superProps[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', " + "it's not possible to compile `super.prop` in an arrow function without compiling classes.\n" + "Please add '@babel/plugin-transform-classes' to your Babel configuration.");
|
|
}
|
|
var flatSuperProps = superProps.reduce(function (acc, superProp) {
|
|
return acc.concat(standardizeSuperProperty(superProp));
|
|
}, []);
|
|
flatSuperProps.forEach(function (superProp) {
|
|
var key = superProp.node.computed ? "" : superProp.get("property").node.name;
|
|
var superParentPath = superProp.parentPath;
|
|
var isAssignment = superParentPath.isAssignmentExpression({
|
|
left: superProp.node
|
|
});
|
|
var isCall = superParentPath.isCallExpression({
|
|
callee: superProp.node
|
|
});
|
|
var isTaggedTemplate = superParentPath.isTaggedTemplateExpression({
|
|
tag: superProp.node
|
|
});
|
|
var superBinding = getSuperPropBinding(thisEnvFn, isAssignment, key);
|
|
var args = [];
|
|
if (superProp.node.computed) {
|
|
args.push(superProp.get("property").node);
|
|
}
|
|
if (isAssignment) {
|
|
var value = superParentPath.node.right;
|
|
args.push(value);
|
|
}
|
|
var call = callExpression$b(identifier$a(superBinding), args);
|
|
if (isCall) {
|
|
superParentPath.unshiftContainer("arguments", thisExpression$3());
|
|
superProp.replaceWith(memberExpression$a(call, identifier$a("call")));
|
|
thisPaths.push(superParentPath.get("arguments.0"));
|
|
} else if (isAssignment) {
|
|
superParentPath.replaceWith(call);
|
|
} else if (isTaggedTemplate) {
|
|
superProp.replaceWith(callExpression$b(memberExpression$a(call, identifier$a("bind"), false), [thisExpression$3()]));
|
|
thisPaths.push(superProp.get("arguments.0"));
|
|
} else {
|
|
superProp.replaceWith(call);
|
|
}
|
|
});
|
|
}
|
|
var thisBinding;
|
|
if (thisPaths.length > 0 || !noNewArrows) {
|
|
thisBinding = getThisBinding(thisEnvFn, inConstructor);
|
|
if (noNewArrows || inConstructor && hasSuperClass(thisEnvFn)) {
|
|
thisPaths.forEach(function (thisChild) {
|
|
var thisRef = thisChild.isJSX() ? jsxIdentifier$1(thisBinding) : identifier$a(thisBinding);
|
|
thisRef.loc = thisChild.node.loc;
|
|
thisChild.replaceWith(thisRef);
|
|
});
|
|
if (!noNewArrows) thisBinding = null;
|
|
}
|
|
}
|
|
return {
|
|
thisBinding: thisBinding,
|
|
fnPath: fnPath
|
|
};
|
|
}
|
|
function isLogicalOp(op) {
|
|
return LOGICAL_OPERATORS$2.includes(op);
|
|
}
|
|
function standardizeSuperProperty(superProp) {
|
|
if (superProp.parentPath.isAssignmentExpression() && superProp.parentPath.node.operator !== "=") {
|
|
var assignmentPath = superProp.parentPath;
|
|
var op = assignmentPath.node.operator.slice(0, -1);
|
|
var value = assignmentPath.node.right;
|
|
var isLogicalAssignment = isLogicalOp(op);
|
|
if (superProp.node.computed) {
|
|
var tmp = superProp.scope.generateDeclaredUidIdentifier("tmp");
|
|
var object = superProp.node.object;
|
|
var property = superProp.node.property;
|
|
assignmentPath.get("left").replaceWith(memberExpression$a(object, assignmentExpression$a("=", tmp, property), true));
|
|
assignmentPath.get("right").replaceWith(rightExpression(isLogicalAssignment ? "=" : op, memberExpression$a(object, identifier$a(tmp.name), true), value));
|
|
} else {
|
|
var _object = superProp.node.object;
|
|
var _property = superProp.node.property;
|
|
assignmentPath.get("left").replaceWith(memberExpression$a(_object, _property));
|
|
assignmentPath.get("right").replaceWith(rightExpression(isLogicalAssignment ? "=" : op, memberExpression$a(_object, identifier$a(_property.name)), value));
|
|
}
|
|
if (isLogicalAssignment) {
|
|
assignmentPath.replaceWith(logicalExpression$2(op, assignmentPath.node.left, assignmentPath.node.right));
|
|
} else {
|
|
assignmentPath.node.operator = "=";
|
|
}
|
|
return [assignmentPath.get("left"), assignmentPath.get("right").get("left")];
|
|
} else if (superProp.parentPath.isUpdateExpression()) {
|
|
var updateExpr = superProp.parentPath;
|
|
var _tmp = superProp.scope.generateDeclaredUidIdentifier("tmp");
|
|
var computedKey = superProp.node.computed ? superProp.scope.generateDeclaredUidIdentifier("prop") : null;
|
|
var parts = [assignmentExpression$a("=", _tmp, memberExpression$a(superProp.node.object, computedKey ? assignmentExpression$a("=", computedKey, superProp.node.property) : superProp.node.property, superProp.node.computed)), assignmentExpression$a("=", memberExpression$a(superProp.node.object, computedKey ? identifier$a(computedKey.name) : superProp.node.property, superProp.node.computed), binaryExpression$4(superProp.parentPath.node.operator[0], identifier$a(_tmp.name), numericLiteral$6(1)))];
|
|
if (!superProp.parentPath.node.prefix) {
|
|
parts.push(identifier$a(_tmp.name));
|
|
}
|
|
updateExpr.replaceWith(sequenceExpression$6(parts));
|
|
var left = updateExpr.get("expressions.0.right");
|
|
var right = updateExpr.get("expressions.1.left");
|
|
return [left, right];
|
|
}
|
|
return [superProp];
|
|
function rightExpression(op, left, right) {
|
|
if (op === "=") {
|
|
return assignmentExpression$a("=", left, right);
|
|
} else {
|
|
return binaryExpression$4(op, left, right);
|
|
}
|
|
}
|
|
}
|
|
function hasSuperClass(thisEnvFn) {
|
|
return thisEnvFn.isClassMethod() && !!thisEnvFn.parentPath.parentPath.node.superClass;
|
|
}
|
|
var assignSuperThisVisitor = merge$1([{
|
|
CallExpression: function CallExpression(child, _ref3) {
|
|
var supers = _ref3.supers,
|
|
thisBinding = _ref3.thisBinding;
|
|
if (!child.get("callee").isSuper()) return;
|
|
if (supers.has(child.node)) return;
|
|
supers.add(child.node);
|
|
child.replaceWithMultiple([child.node, assignmentExpression$a("=", identifier$a(thisBinding), identifier$a("this"))]);
|
|
}
|
|
}, visitor$5]);
|
|
function getThisBinding(thisEnvFn, inConstructor) {
|
|
return getBinding(thisEnvFn, "this", function (thisBinding) {
|
|
if (!inConstructor || !hasSuperClass(thisEnvFn)) return thisExpression$3();
|
|
thisEnvFn.traverse(assignSuperThisVisitor, {
|
|
supers: new WeakSet(),
|
|
thisBinding: thisBinding
|
|
});
|
|
});
|
|
}
|
|
function getSuperBinding(thisEnvFn) {
|
|
return getBinding(thisEnvFn, "supercall", function () {
|
|
var argsBinding = thisEnvFn.scope.generateUidIdentifier("args");
|
|
return arrowFunctionExpression$2([restElement$1(argsBinding)], callExpression$b(_super(), [spreadElement$1(identifier$a(argsBinding.name))]));
|
|
});
|
|
}
|
|
function getSuperPropBinding(thisEnvFn, isAssignment, propName) {
|
|
var op = isAssignment ? "set" : "get";
|
|
return getBinding(thisEnvFn, "superprop_" + op + ":" + (propName || ""), function () {
|
|
var argsList = [];
|
|
var fnBody;
|
|
if (propName) {
|
|
fnBody = memberExpression$a(_super(), identifier$a(propName));
|
|
} else {
|
|
var method = thisEnvFn.scope.generateUidIdentifier("prop");
|
|
argsList.unshift(method);
|
|
fnBody = memberExpression$a(_super(), identifier$a(method.name), true);
|
|
}
|
|
if (isAssignment) {
|
|
var valueIdent = thisEnvFn.scope.generateUidIdentifier("value");
|
|
argsList.push(valueIdent);
|
|
fnBody = assignmentExpression$a("=", fnBody, identifier$a(valueIdent.name));
|
|
}
|
|
return arrowFunctionExpression$2(argsList, fnBody);
|
|
});
|
|
}
|
|
function getBinding(thisEnvFn, key, init) {
|
|
var cacheKey = "binding:" + key;
|
|
var data = thisEnvFn.getData(cacheKey);
|
|
if (!data) {
|
|
var id = thisEnvFn.scope.generateUidIdentifier(key);
|
|
data = id.name;
|
|
thisEnvFn.setData(cacheKey, data);
|
|
thisEnvFn.scope.push({
|
|
id: id,
|
|
init: init(data)
|
|
});
|
|
}
|
|
return data;
|
|
}
|
|
var getScopeInformationVisitor = merge$1([{
|
|
ThisExpression: function ThisExpression(child, _ref4) {
|
|
var thisPaths = _ref4.thisPaths;
|
|
thisPaths.push(child);
|
|
},
|
|
JSXIdentifier: function JSXIdentifier(child, _ref5) {
|
|
var thisPaths = _ref5.thisPaths;
|
|
if (child.node.name !== "this") return;
|
|
if (!child.parentPath.isJSXMemberExpression({
|
|
object: child.node
|
|
}) && !child.parentPath.isJSXOpeningElement({
|
|
name: child.node
|
|
})) {
|
|
return;
|
|
}
|
|
thisPaths.push(child);
|
|
},
|
|
CallExpression: function CallExpression(child, _ref6) {
|
|
var superCalls = _ref6.superCalls;
|
|
if (child.get("callee").isSuper()) superCalls.push(child);
|
|
},
|
|
MemberExpression: function MemberExpression(child, _ref7) {
|
|
var superProps = _ref7.superProps;
|
|
if (child.get("object").isSuper()) superProps.push(child);
|
|
},
|
|
Identifier: function Identifier(child, _ref8) {
|
|
var argumentsPaths = _ref8.argumentsPaths;
|
|
if (!child.isReferencedIdentifier({
|
|
name: "arguments"
|
|
})) return;
|
|
var curr = child.scope;
|
|
do {
|
|
if (curr.hasOwnBinding("arguments")) {
|
|
curr.rename("arguments");
|
|
return;
|
|
}
|
|
if (curr.path.isFunction() && !curr.path.isArrowFunctionExpression()) {
|
|
break;
|
|
}
|
|
} while (curr = curr.parent);
|
|
argumentsPaths.push(child);
|
|
},
|
|
MetaProperty: function MetaProperty(child, _ref9) {
|
|
var newTargetPaths = _ref9.newTargetPaths;
|
|
if (!child.get("meta").isIdentifier({
|
|
name: "new"
|
|
})) return;
|
|
if (!child.get("property").isIdentifier({
|
|
name: "target"
|
|
})) return;
|
|
newTargetPaths.push(child);
|
|
}
|
|
}, visitor$5]);
|
|
function getScopeInformation(fnPath) {
|
|
var thisPaths = [];
|
|
var argumentsPaths = [];
|
|
var newTargetPaths = [];
|
|
var superProps = [];
|
|
var superCalls = [];
|
|
fnPath.traverse(getScopeInformationVisitor, {
|
|
thisPaths: thisPaths,
|
|
argumentsPaths: argumentsPaths,
|
|
newTargetPaths: newTargetPaths,
|
|
superProps: superProps,
|
|
superCalls: superCalls
|
|
});
|
|
return {
|
|
thisPaths: thisPaths,
|
|
argumentsPaths: argumentsPaths,
|
|
newTargetPaths: newTargetPaths,
|
|
superProps: superProps,
|
|
superCalls: superCalls
|
|
};
|
|
}
|
|
|
|
var NodePath_conversion = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
toComputedKey: toComputedKey$1,
|
|
ensureBlock: ensureBlock,
|
|
unwrapFunctionEnvironment: unwrapFunctionEnvironment,
|
|
arrowFunctionToExpression: arrowFunctionToExpression
|
|
});
|
|
|
|
var STATEMENT_OR_BLOCK_KEYS = STATEMENT_OR_BLOCK_KEYS$1,
|
|
VISITOR_KEYS$3 = VISITOR_KEYS$5,
|
|
isBlockStatement = isBlockStatement$2,
|
|
isExpression$2 = isExpression$4,
|
|
isIdentifier$9 = isIdentifier$j,
|
|
isLiteral$1 = isLiteral$6,
|
|
isStringLiteral$2 = isStringLiteral$6,
|
|
isType = isType$2,
|
|
_matchesPattern = matchesPattern$2;
|
|
function matchesPattern(pattern, allowPartial) {
|
|
return _matchesPattern(this.node, pattern, allowPartial);
|
|
}
|
|
function has$8(key) {
|
|
var val = this.node && this.node[key];
|
|
if (val && Array.isArray(val)) {
|
|
return !!val.length;
|
|
} else {
|
|
return !!val;
|
|
}
|
|
}
|
|
function isStatic() {
|
|
return this.scope.isStatic(this.node);
|
|
}
|
|
var is = has$8;
|
|
function isnt(key) {
|
|
return !this.has(key);
|
|
}
|
|
function equals(key, value) {
|
|
return this.node[key] === value;
|
|
}
|
|
function isNodeType(type) {
|
|
return isType(this.type, type);
|
|
}
|
|
function canHaveVariableDeclarationOrExpression() {
|
|
return (this.key === "init" || this.key === "left") && this.parentPath.isFor();
|
|
}
|
|
function canSwapBetweenExpressionAndStatement(replacement) {
|
|
if (this.key !== "body" || !this.parentPath.isArrowFunctionExpression()) {
|
|
return false;
|
|
}
|
|
if (this.isExpression()) {
|
|
return isBlockStatement(replacement);
|
|
} else if (this.isBlockStatement()) {
|
|
return isExpression$2(replacement);
|
|
}
|
|
return false;
|
|
}
|
|
function isCompletionRecord(allowInsideFunction) {
|
|
var path = this;
|
|
var first = true;
|
|
do {
|
|
var _path = path,
|
|
type = _path.type,
|
|
container = _path.container;
|
|
if (!first && (path.isFunction() || type === "StaticBlock")) {
|
|
return !!allowInsideFunction;
|
|
}
|
|
first = false;
|
|
if (Array.isArray(container) && path.key !== container.length - 1) {
|
|
return false;
|
|
}
|
|
} while ((path = path.parentPath) && !path.isProgram() && !path.isDoExpression());
|
|
return true;
|
|
}
|
|
function isStatementOrBlock() {
|
|
if (this.parentPath.isLabeledStatement() || isBlockStatement(this.container)) {
|
|
return false;
|
|
} else {
|
|
return STATEMENT_OR_BLOCK_KEYS.includes(this.key);
|
|
}
|
|
}
|
|
function referencesImport(moduleSource, importName) {
|
|
if (!this.isReferencedIdentifier()) {
|
|
if (this.isJSXMemberExpression() && this.node.property.name === importName || (this.isMemberExpression() || this.isOptionalMemberExpression()) && (this.node.computed ? isStringLiteral$2(this.node.property, {
|
|
value: importName
|
|
}) : this.node.property.name === importName)) {
|
|
var object = this.get("object");
|
|
return object.isReferencedIdentifier() && object.referencesImport(moduleSource, "*");
|
|
}
|
|
return false;
|
|
}
|
|
var binding = this.scope.getBinding(this.node.name);
|
|
if (!binding || binding.kind !== "module") return false;
|
|
var path = binding.path;
|
|
var parent = path.parentPath;
|
|
if (!parent.isImportDeclaration()) return false;
|
|
if (parent.node.source.value === moduleSource) {
|
|
if (!importName) return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
if (path.isImportDefaultSpecifier() && importName === "default") {
|
|
return true;
|
|
}
|
|
if (path.isImportNamespaceSpecifier() && importName === "*") {
|
|
return true;
|
|
}
|
|
if (path.isImportSpecifier() && isIdentifier$9(path.node.imported, {
|
|
name: importName
|
|
})) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function getSource$1() {
|
|
var node = this.node;
|
|
if (node.end) {
|
|
var code = this.hub.getCode();
|
|
if (code) return code.slice(node.start, node.end);
|
|
}
|
|
return "";
|
|
}
|
|
function willIMaybeExecuteBefore(target) {
|
|
return this._guessExecutionStatusRelativeTo(target) !== "after";
|
|
}
|
|
function getOuterFunction(path) {
|
|
return path.isProgram() ? path : (path.parentPath.scope.getFunctionParent() || path.parentPath.scope.getProgramParent()).path;
|
|
}
|
|
function isExecutionUncertain(type, key) {
|
|
switch (type) {
|
|
case "LogicalExpression":
|
|
return key === "right";
|
|
case "ConditionalExpression":
|
|
case "IfStatement":
|
|
return key === "consequent" || key === "alternate";
|
|
case "WhileStatement":
|
|
case "DoWhileStatement":
|
|
case "ForInStatement":
|
|
case "ForOfStatement":
|
|
return key === "body";
|
|
case "ForStatement":
|
|
return key === "body" || key === "update";
|
|
case "SwitchStatement":
|
|
return key === "cases";
|
|
case "TryStatement":
|
|
return key === "handler";
|
|
case "AssignmentPattern":
|
|
return key === "right";
|
|
case "OptionalMemberExpression":
|
|
return key === "property";
|
|
case "OptionalCallExpression":
|
|
return key === "arguments";
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
function isExecutionUncertainInList(paths, maxIndex) {
|
|
for (var i = 0; i < maxIndex; i++) {
|
|
var path = paths[i];
|
|
if (isExecutionUncertain(path.parent.type, path.parentKey)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
var SYMBOL_CHECKING = Symbol();
|
|
function _guessExecutionStatusRelativeTo(target) {
|
|
return _guessExecutionStatusRelativeToCached(this, target, new Map());
|
|
}
|
|
function _guessExecutionStatusRelativeToCached(base, target, cache) {
|
|
var funcParent = {
|
|
"this": getOuterFunction(base),
|
|
target: getOuterFunction(target)
|
|
};
|
|
if (funcParent.target.node !== funcParent["this"].node) {
|
|
return _guessExecutionStatusRelativeToDifferentFunctionsCached(base, funcParent.target, cache);
|
|
}
|
|
var paths = {
|
|
target: target.getAncestry(),
|
|
"this": base.getAncestry()
|
|
};
|
|
if (paths.target.indexOf(base) >= 0) return "after";
|
|
if (paths["this"].indexOf(target) >= 0) return "before";
|
|
var commonPath;
|
|
var commonIndex = {
|
|
target: 0,
|
|
"this": 0
|
|
};
|
|
while (!commonPath && commonIndex["this"] < paths["this"].length) {
|
|
var path = paths["this"][commonIndex["this"]];
|
|
commonIndex.target = paths.target.indexOf(path);
|
|
if (commonIndex.target >= 0) {
|
|
commonPath = path;
|
|
} else {
|
|
commonIndex["this"]++;
|
|
}
|
|
}
|
|
if (!commonPath) {
|
|
throw new Error("Internal Babel error - The two compared nodes" + " don't appear to belong to the same program.");
|
|
}
|
|
if (isExecutionUncertainInList(paths["this"], commonIndex["this"] - 1) || isExecutionUncertainInList(paths.target, commonIndex.target - 1)) {
|
|
return "unknown";
|
|
}
|
|
var divergence = {
|
|
"this": paths["this"][commonIndex["this"] - 1],
|
|
target: paths.target[commonIndex.target - 1]
|
|
};
|
|
if (divergence.target.listKey && divergence["this"].listKey && divergence.target.container === divergence["this"].container) {
|
|
return divergence.target.key > divergence["this"].key ? "before" : "after";
|
|
}
|
|
var keys = VISITOR_KEYS$3[commonPath.type];
|
|
var keyPosition = {
|
|
"this": keys.indexOf(divergence["this"].parentKey),
|
|
target: keys.indexOf(divergence.target.parentKey)
|
|
};
|
|
return keyPosition.target > keyPosition["this"] ? "before" : "after";
|
|
}
|
|
function _guessExecutionStatusRelativeToDifferentFunctionsInternal(base, target, cache) {
|
|
if (!target.isFunctionDeclaration()) {
|
|
if (_guessExecutionStatusRelativeToCached(base, target, cache) === "before") {
|
|
return "before";
|
|
}
|
|
return "unknown";
|
|
} else if (target.parentPath.isExportDeclaration()) {
|
|
return "unknown";
|
|
}
|
|
var binding = target.scope.getBinding(target.node.id.name);
|
|
if (!binding.references) return "before";
|
|
var referencePaths = binding.referencePaths;
|
|
var allStatus;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(referencePaths), _step; !(_step = _iterator()).done;) {
|
|
var path = _step.value;
|
|
var childOfFunction = !!path.find(function (path) {
|
|
return path.node === target.node;
|
|
});
|
|
if (childOfFunction) continue;
|
|
if (path.key !== "callee" || !path.parentPath.isCallExpression()) {
|
|
return "unknown";
|
|
}
|
|
var status = _guessExecutionStatusRelativeToCached(base, path, cache);
|
|
if (allStatus && allStatus !== status) {
|
|
return "unknown";
|
|
} else {
|
|
allStatus = status;
|
|
}
|
|
}
|
|
return allStatus;
|
|
}
|
|
function _guessExecutionStatusRelativeToDifferentFunctionsCached(base, target, cache) {
|
|
var nodeMap = cache.get(base.node);
|
|
var cached;
|
|
if (!nodeMap) {
|
|
cache.set(base.node, nodeMap = new Map());
|
|
} else if (cached = nodeMap.get(target.node)) {
|
|
if (cached === SYMBOL_CHECKING) {
|
|
return "unknown";
|
|
}
|
|
return cached;
|
|
}
|
|
nodeMap.set(target.node, SYMBOL_CHECKING);
|
|
var result = _guessExecutionStatusRelativeToDifferentFunctionsInternal(base, target, cache);
|
|
nodeMap.set(target.node, result);
|
|
return result;
|
|
}
|
|
function resolve$4(dangerous, resolved) {
|
|
return this._resolve(dangerous, resolved) || this;
|
|
}
|
|
function _resolve(dangerous, resolved) {
|
|
if (resolved && resolved.indexOf(this) >= 0) return;
|
|
resolved = resolved || [];
|
|
resolved.push(this);
|
|
if (this.isVariableDeclarator()) {
|
|
if (this.get("id").isIdentifier()) {
|
|
return this.get("init").resolve(dangerous, resolved);
|
|
}
|
|
} else if (this.isReferencedIdentifier()) {
|
|
var binding = this.scope.getBinding(this.node.name);
|
|
if (!binding) return;
|
|
if (!binding.constant) return;
|
|
if (binding.kind === "module") return;
|
|
if (binding.path !== this) {
|
|
var ret = binding.path.resolve(dangerous, resolved);
|
|
if (this.find(function (parent) {
|
|
return parent.node === ret.node;
|
|
})) return;
|
|
return ret;
|
|
}
|
|
} else if (this.isTypeCastExpression()) {
|
|
return this.get("expression").resolve(dangerous, resolved);
|
|
} else if (dangerous && this.isMemberExpression()) {
|
|
var targetKey = this.toComputedKey();
|
|
if (!isLiteral$1(targetKey)) return;
|
|
var targetName = targetKey.value;
|
|
var target = this.get("object").resolve(dangerous, resolved);
|
|
if (target.isObjectExpression()) {
|
|
var props = target.get("properties");
|
|
for (var _i = 0, _arr = props; _i < _arr.length; _i++) {
|
|
var prop = _arr[_i];
|
|
if (!prop.isProperty()) continue;
|
|
var key = prop.get("key");
|
|
var match = prop.isnt("computed") && key.isIdentifier({
|
|
name: targetName
|
|
});
|
|
match = match || key.isLiteral({
|
|
value: targetName
|
|
});
|
|
if (match) return prop.get("value").resolve(dangerous, resolved);
|
|
}
|
|
} else if (target.isArrayExpression() && !isNaN(+targetName)) {
|
|
var elems = target.get("elements");
|
|
var elem = elems[targetName];
|
|
if (elem) return elem.resolve(dangerous, resolved);
|
|
}
|
|
}
|
|
}
|
|
function isConstantExpression() {
|
|
if (this.isIdentifier()) {
|
|
var binding = this.scope.getBinding(this.node.name);
|
|
if (!binding) return false;
|
|
return binding.constant;
|
|
}
|
|
if (this.isLiteral()) {
|
|
if (this.isRegExpLiteral()) {
|
|
return false;
|
|
}
|
|
if (this.isTemplateLiteral()) {
|
|
return this.get("expressions").every(function (expression) {
|
|
return expression.isConstantExpression();
|
|
});
|
|
}
|
|
return true;
|
|
}
|
|
if (this.isUnaryExpression()) {
|
|
if (this.node.operator !== "void") {
|
|
return false;
|
|
}
|
|
return this.get("argument").isConstantExpression();
|
|
}
|
|
if (this.isBinaryExpression()) {
|
|
var operator = this.node.operator;
|
|
return operator !== "in" && operator !== "instanceof" && this.get("left").isConstantExpression() && this.get("right").isConstantExpression();
|
|
}
|
|
return false;
|
|
}
|
|
function isInStrictMode() {
|
|
var start = this.isProgram() ? this : this.parentPath;
|
|
var strictParent = start.find(function (path) {
|
|
if (path.isProgram({
|
|
sourceType: "module"
|
|
})) return true;
|
|
if (path.isClass()) return true;
|
|
if (path.isArrowFunctionExpression() && !path.get("body").isBlockStatement()) {
|
|
return false;
|
|
}
|
|
var body;
|
|
if (path.isFunction()) {
|
|
body = path.node.body;
|
|
} else if (path.isProgram()) {
|
|
body = path.node;
|
|
} else {
|
|
return false;
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(body.directives), _step2; !(_step2 = _iterator2()).done;) {
|
|
var directive = _step2.value;
|
|
if (directive.value.value === "use strict") {
|
|
return true;
|
|
}
|
|
}
|
|
});
|
|
return !!strictParent;
|
|
}
|
|
|
|
var NodePath_introspection = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
matchesPattern: matchesPattern,
|
|
has: has$8,
|
|
isStatic: isStatic,
|
|
is: is,
|
|
isnt: isnt,
|
|
equals: equals,
|
|
isNodeType: isNodeType,
|
|
canHaveVariableDeclarationOrExpression: canHaveVariableDeclarationOrExpression,
|
|
canSwapBetweenExpressionAndStatement: canSwapBetweenExpressionAndStatement,
|
|
isCompletionRecord: isCompletionRecord,
|
|
isStatementOrBlock: isStatementOrBlock,
|
|
referencesImport: referencesImport,
|
|
getSource: getSource$1,
|
|
willIMaybeExecuteBefore: willIMaybeExecuteBefore,
|
|
_guessExecutionStatusRelativeTo: _guessExecutionStatusRelativeTo,
|
|
resolve: resolve$4,
|
|
_resolve: _resolve,
|
|
isConstantExpression: isConstantExpression,
|
|
isInStrictMode: isInStrictMode
|
|
});
|
|
|
|
function call(key) {
|
|
var opts = this.opts;
|
|
this.debug(key);
|
|
if (this.node) {
|
|
if (this._call(opts[key])) return true;
|
|
}
|
|
if (this.node) {
|
|
return this._call(opts[this.node.type] && opts[this.node.type][key]);
|
|
}
|
|
return false;
|
|
}
|
|
function _call(fns) {
|
|
if (!fns) return false;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(fns), _step; !(_step = _iterator()).done;) {
|
|
var fn = _step.value;
|
|
if (!fn) continue;
|
|
var node = this.node;
|
|
if (!node) return true;
|
|
var ret = fn.call(this.state, this, this.state);
|
|
if (ret && typeof ret === "object" && typeof ret.then === "function") {
|
|
throw new Error("You appear to be using a plugin with an async traversal visitor, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version.");
|
|
}
|
|
if (ret) {
|
|
throw new Error("Unexpected return value from visitor method " + fn);
|
|
}
|
|
if (this.node !== node) return true;
|
|
if (this._traverseFlags > 0) return true;
|
|
}
|
|
return false;
|
|
}
|
|
function isDenylisted() {
|
|
var _this$opts$denylist;
|
|
var denylist = (_this$opts$denylist = this.opts.denylist) != null ? _this$opts$denylist : this.opts.blacklist;
|
|
return denylist && denylist.indexOf(this.node.type) > -1;
|
|
}
|
|
function restoreContext(path, context) {
|
|
if (path.context !== context) {
|
|
path.context = context;
|
|
path.state = context.state;
|
|
path.opts = context.opts;
|
|
}
|
|
}
|
|
function visit$1() {
|
|
var _this$opts$shouldSkip, _this$opts;
|
|
if (!this.node) {
|
|
return false;
|
|
}
|
|
if (this.isDenylisted()) {
|
|
return false;
|
|
}
|
|
if ((_this$opts$shouldSkip = (_this$opts = this.opts).shouldSkip) != null && _this$opts$shouldSkip.call(_this$opts, this)) {
|
|
return false;
|
|
}
|
|
var currentContext = this.context;
|
|
if (this.shouldSkip || this.call("enter")) {
|
|
this.debug("Skip...");
|
|
return this.shouldStop;
|
|
}
|
|
restoreContext(this, currentContext);
|
|
this.debug("Recursing into...");
|
|
this.shouldStop = traverseNode(this.node, this.opts, this.scope, this.state, this, this.skipKeys);
|
|
restoreContext(this, currentContext);
|
|
this.call("exit");
|
|
return this.shouldStop;
|
|
}
|
|
function skip() {
|
|
this.shouldSkip = true;
|
|
}
|
|
function skipKey(key) {
|
|
if (this.skipKeys == null) {
|
|
this.skipKeys = {};
|
|
}
|
|
this.skipKeys[key] = true;
|
|
}
|
|
function stop() {
|
|
this._traverseFlags |= SHOULD_SKIP | SHOULD_STOP;
|
|
}
|
|
function setScope() {
|
|
var _this$opts2, _this$scope;
|
|
if ((_this$opts2 = this.opts) != null && _this$opts2.noScope) return;
|
|
var path = this.parentPath;
|
|
if ((this.key === "key" || this.listKey === "decorators") && path.isMethod() || this.key === "discriminant" && path.isSwitchStatement()) {
|
|
path = path.parentPath;
|
|
}
|
|
var target;
|
|
while (path && !target) {
|
|
var _path$opts;
|
|
if ((_path$opts = path.opts) != null && _path$opts.noScope) return;
|
|
target = path.scope;
|
|
path = path.parentPath;
|
|
}
|
|
this.scope = this.getScope(target);
|
|
(_this$scope = this.scope) == null ? void 0 : _this$scope.init();
|
|
}
|
|
function setContext(context) {
|
|
if (this.skipKeys != null) {
|
|
this.skipKeys = {};
|
|
}
|
|
this._traverseFlags = 0;
|
|
if (context) {
|
|
this.context = context;
|
|
this.state = context.state;
|
|
this.opts = context.opts;
|
|
}
|
|
this.setScope();
|
|
return this;
|
|
}
|
|
function resync() {
|
|
if (this.removed) return;
|
|
this._resyncParent();
|
|
this._resyncList();
|
|
this._resyncKey();
|
|
}
|
|
function _resyncParent() {
|
|
if (this.parentPath) {
|
|
this.parent = this.parentPath.node;
|
|
}
|
|
}
|
|
function _resyncKey() {
|
|
if (!this.container) return;
|
|
if (this.node === this.container[this.key]) {
|
|
return;
|
|
}
|
|
if (Array.isArray(this.container)) {
|
|
for (var i = 0; i < this.container.length; i++) {
|
|
if (this.container[i] === this.node) {
|
|
this.setKey(i);
|
|
return;
|
|
}
|
|
}
|
|
} else {
|
|
for (var _i = 0, _Object$keys = Object.keys(this.container); _i < _Object$keys.length; _i++) {
|
|
var key = _Object$keys[_i];
|
|
if (this.container[key] === this.node) {
|
|
this.setKey(key);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
this.key = null;
|
|
}
|
|
function _resyncList() {
|
|
if (!this.parent || !this.inList) return;
|
|
var newContainer = this.parent[this.listKey];
|
|
if (this.container === newContainer) return;
|
|
this.container = newContainer || null;
|
|
}
|
|
function _resyncRemoved() {
|
|
if (this.key == null || !this.container || this.container[this.key] !== this.node) {
|
|
this._markRemoved();
|
|
}
|
|
}
|
|
function popContext() {
|
|
this.contexts.pop();
|
|
if (this.contexts.length > 0) {
|
|
this.setContext(this.contexts[this.contexts.length - 1]);
|
|
} else {
|
|
this.setContext(undefined);
|
|
}
|
|
}
|
|
function pushContext(context) {
|
|
this.contexts.push(context);
|
|
this.setContext(context);
|
|
}
|
|
function setup(parentPath, container, listKey, key) {
|
|
this.listKey = listKey;
|
|
this.container = container;
|
|
this.parentPath = parentPath || this.parentPath;
|
|
this.setKey(key);
|
|
}
|
|
function setKey(key) {
|
|
var _this$node;
|
|
this.key = key;
|
|
this.node = this.container[this.key];
|
|
this.type = (_this$node = this.node) == null ? void 0 : _this$node.type;
|
|
}
|
|
function requeue(pathToQueue) {
|
|
if (pathToQueue === void 0) {
|
|
pathToQueue = this;
|
|
}
|
|
if (pathToQueue.removed) return;
|
|
var contexts = this.contexts;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(contexts), _step2; !(_step2 = _iterator2()).done;) {
|
|
var context = _step2.value;
|
|
context.maybeQueue(pathToQueue);
|
|
}
|
|
}
|
|
function _getQueueContexts() {
|
|
var path = this;
|
|
var contexts = this.contexts;
|
|
while (!contexts.length) {
|
|
path = path.parentPath;
|
|
if (!path) break;
|
|
contexts = path.contexts;
|
|
}
|
|
return contexts;
|
|
}
|
|
|
|
var NodePath_context = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
call: call,
|
|
_call: _call,
|
|
isDenylisted: isDenylisted,
|
|
isBlacklisted: isDenylisted,
|
|
visit: visit$1,
|
|
skip: skip,
|
|
skipKey: skipKey,
|
|
stop: stop,
|
|
setScope: setScope,
|
|
setContext: setContext,
|
|
resync: resync,
|
|
_resyncParent: _resyncParent,
|
|
_resyncKey: _resyncKey,
|
|
_resyncList: _resyncList,
|
|
_resyncRemoved: _resyncRemoved,
|
|
popContext: popContext,
|
|
pushContext: pushContext,
|
|
setup: setup,
|
|
setKey: setKey,
|
|
requeue: requeue,
|
|
_getQueueContexts: _getQueueContexts
|
|
});
|
|
|
|
var hooks = [function (self, parent) {
|
|
var removeParent = self.key === "test" && (parent.isWhile() || parent.isSwitchCase()) || self.key === "declaration" && parent.isExportDeclaration() || self.key === "body" && parent.isLabeledStatement() || self.listKey === "declarations" && parent.isVariableDeclaration() && parent.node.declarations.length === 1 || self.key === "expression" && parent.isExpressionStatement();
|
|
if (removeParent) {
|
|
parent.remove();
|
|
return true;
|
|
}
|
|
}, function (self, parent) {
|
|
if (parent.isSequenceExpression() && parent.node.expressions.length === 1) {
|
|
parent.replaceWith(parent.node.expressions[0]);
|
|
return true;
|
|
}
|
|
}, function (self, parent) {
|
|
if (parent.isBinary()) {
|
|
if (self.key === "left") {
|
|
parent.replaceWith(parent.node.right);
|
|
} else {
|
|
parent.replaceWith(parent.node.left);
|
|
}
|
|
return true;
|
|
}
|
|
}, function (self, parent) {
|
|
if (parent.isIfStatement() && self.key === "consequent" || self.key === "body" && (parent.isLoop() || parent.isArrowFunctionExpression())) {
|
|
self.replaceWith({
|
|
type: "BlockStatement",
|
|
body: []
|
|
});
|
|
return true;
|
|
}
|
|
}];
|
|
|
|
function remove() {
|
|
var _this$opts;
|
|
this._assertUnremoved();
|
|
this.resync();
|
|
if (!((_this$opts = this.opts) != null && _this$opts.noScope)) {
|
|
this._removeFromScope();
|
|
}
|
|
if (this._callRemovalHooks()) {
|
|
this._markRemoved();
|
|
return;
|
|
}
|
|
this.shareCommentsWithSiblings();
|
|
this._remove();
|
|
this._markRemoved();
|
|
}
|
|
function _removeFromScope() {
|
|
var _this = this;
|
|
var bindings = this.getBindingIdentifiers();
|
|
Object.keys(bindings).forEach(function (name) {
|
|
return _this.scope.removeBinding(name);
|
|
});
|
|
}
|
|
function _callRemovalHooks() {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(hooks), _step; !(_step = _iterator()).done;) {
|
|
var fn = _step.value;
|
|
if (fn(this, this.parentPath)) return true;
|
|
}
|
|
}
|
|
function _remove() {
|
|
if (Array.isArray(this.container)) {
|
|
this.container.splice(this.key, 1);
|
|
this.updateSiblingKeys(this.key, -1);
|
|
} else {
|
|
this._replaceWith(null);
|
|
}
|
|
}
|
|
function _markRemoved() {
|
|
this._traverseFlags |= SHOULD_SKIP | REMOVED;
|
|
if (this.parent) path$2.get(this.parent)["delete"](this.node);
|
|
this.node = null;
|
|
}
|
|
function _assertUnremoved() {
|
|
if (this.removed) {
|
|
throw this.buildCodeFrameError("NodePath has been removed so is read-only.");
|
|
}
|
|
}
|
|
|
|
var NodePath_removal = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
remove: remove,
|
|
_removeFromScope: _removeFromScope,
|
|
_callRemovalHooks: _callRemovalHooks,
|
|
_remove: _remove,
|
|
_markRemoved: _markRemoved,
|
|
_assertUnremoved: _assertUnremoved
|
|
});
|
|
|
|
var react$2 = react$3;
|
|
var cloneNode$d = cloneNode$j,
|
|
jsxExpressionContainer = jsxExpressionContainer$1,
|
|
variableDeclaration$5 = variableDeclaration$8,
|
|
variableDeclarator$5 = variableDeclarator$8;
|
|
var referenceVisitor$1 = {
|
|
ReferencedIdentifier: function ReferencedIdentifier(path, state) {
|
|
if (path.isJSXIdentifier() && react$2.isCompatTag(path.node.name) && !path.parentPath.isJSXMemberExpression()) {
|
|
return;
|
|
}
|
|
if (path.node.name === "this") {
|
|
var scope = path.scope;
|
|
do {
|
|
if (scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) {
|
|
break;
|
|
}
|
|
} while (scope = scope.parent);
|
|
if (scope) state.breakOnScopePaths.push(scope.path);
|
|
}
|
|
var binding = path.scope.getBinding(path.node.name);
|
|
if (!binding) return;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(binding.constantViolations), _step; !(_step = _iterator()).done;) {
|
|
var violation = _step.value;
|
|
if (violation.scope !== binding.path.scope) {
|
|
state.mutableBinding = true;
|
|
path.stop();
|
|
return;
|
|
}
|
|
}
|
|
if (binding !== state.scope.getBinding(path.node.name)) return;
|
|
state.bindings[path.node.name] = binding;
|
|
}
|
|
};
|
|
var PathHoister = function () {
|
|
function PathHoister(path, scope) {
|
|
this.breakOnScopePaths = void 0;
|
|
this.bindings = void 0;
|
|
this.mutableBinding = void 0;
|
|
this.scopes = void 0;
|
|
this.scope = void 0;
|
|
this.path = void 0;
|
|
this.attachAfter = void 0;
|
|
this.breakOnScopePaths = [];
|
|
this.bindings = {};
|
|
this.mutableBinding = false;
|
|
this.scopes = [];
|
|
this.scope = scope;
|
|
this.path = path;
|
|
this.attachAfter = false;
|
|
}
|
|
var _proto = PathHoister.prototype;
|
|
_proto.isCompatibleScope = function isCompatibleScope(scope) {
|
|
for (var _i = 0, _Object$keys = Object.keys(this.bindings); _i < _Object$keys.length; _i++) {
|
|
var key = _Object$keys[_i];
|
|
var binding = this.bindings[key];
|
|
if (!scope.bindingIdentifierEquals(key, binding.identifier)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
};
|
|
_proto.getCompatibleScopes = function getCompatibleScopes() {
|
|
var scope = this.path.scope;
|
|
do {
|
|
if (this.isCompatibleScope(scope)) {
|
|
this.scopes.push(scope);
|
|
} else {
|
|
break;
|
|
}
|
|
if (this.breakOnScopePaths.indexOf(scope.path) >= 0) {
|
|
break;
|
|
}
|
|
} while (scope = scope.parent);
|
|
};
|
|
_proto.getAttachmentPath = function getAttachmentPath() {
|
|
var path = this._getAttachmentPath();
|
|
if (!path) return;
|
|
var targetScope = path.scope;
|
|
if (targetScope.path === path) {
|
|
targetScope = path.scope.parent;
|
|
}
|
|
if (targetScope.path.isProgram() || targetScope.path.isFunction()) {
|
|
for (var _i2 = 0, _Object$keys2 = Object.keys(this.bindings); _i2 < _Object$keys2.length; _i2++) {
|
|
var name = _Object$keys2[_i2];
|
|
if (!targetScope.hasOwnBinding(name)) continue;
|
|
var binding = this.bindings[name];
|
|
if (binding.kind === "param" || binding.path.parentKey === "params") {
|
|
continue;
|
|
}
|
|
var bindingParentPath = this.getAttachmentParentForPath(binding.path);
|
|
if (bindingParentPath.key >= path.key) {
|
|
this.attachAfter = true;
|
|
path = binding.path;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(binding.constantViolations), _step2; !(_step2 = _iterator2()).done;) {
|
|
var violationPath = _step2.value;
|
|
if (this.getAttachmentParentForPath(violationPath).key > path.key) {
|
|
path = violationPath;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return path;
|
|
};
|
|
_proto._getAttachmentPath = function _getAttachmentPath() {
|
|
var scopes = this.scopes;
|
|
var scope = scopes.pop();
|
|
if (!scope) return;
|
|
if (scope.path.isFunction()) {
|
|
if (this.hasOwnParamBindings(scope)) {
|
|
if (this.scope === scope) return;
|
|
var bodies = scope.path.get("body").get("body");
|
|
for (var i = 0; i < bodies.length; i++) {
|
|
if (bodies[i].node._blockHoist) continue;
|
|
return bodies[i];
|
|
}
|
|
} else {
|
|
return this.getNextScopeAttachmentParent();
|
|
}
|
|
} else if (scope.path.isProgram()) {
|
|
return this.getNextScopeAttachmentParent();
|
|
}
|
|
};
|
|
_proto.getNextScopeAttachmentParent = function getNextScopeAttachmentParent() {
|
|
var scope = this.scopes.pop();
|
|
if (scope) return this.getAttachmentParentForPath(scope.path);
|
|
};
|
|
_proto.getAttachmentParentForPath = function getAttachmentParentForPath(path) {
|
|
do {
|
|
if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) {
|
|
return path;
|
|
}
|
|
} while (path = path.parentPath);
|
|
};
|
|
_proto.hasOwnParamBindings = function hasOwnParamBindings(scope) {
|
|
for (var _i3 = 0, _Object$keys3 = Object.keys(this.bindings); _i3 < _Object$keys3.length; _i3++) {
|
|
var name = _Object$keys3[_i3];
|
|
if (!scope.hasOwnBinding(name)) continue;
|
|
var binding = this.bindings[name];
|
|
if (binding.kind === "param" && binding.constant) return true;
|
|
}
|
|
return false;
|
|
};
|
|
_proto.run = function run() {
|
|
this.path.traverse(referenceVisitor$1, this);
|
|
if (this.mutableBinding) return;
|
|
this.getCompatibleScopes();
|
|
var attachTo = this.getAttachmentPath();
|
|
if (!attachTo) return;
|
|
if (attachTo.getFunctionParent() === this.path.getFunctionParent()) return;
|
|
var uid = attachTo.scope.generateUidIdentifier("ref");
|
|
var declarator = variableDeclarator$5(uid, this.path.node);
|
|
var insertFn = this.attachAfter ? "insertAfter" : "insertBefore";
|
|
var _attachTo$insertFn = attachTo[insertFn]([attachTo.isVariableDeclarator() ? declarator : variableDeclaration$5("var", [declarator])]),
|
|
_attachTo$insertFn2 = _slicedToArray(_attachTo$insertFn, 1),
|
|
attached = _attachTo$insertFn2[0];
|
|
var parent = this.path.parentPath;
|
|
if (parent.isJSXElement() && this.path.container === parent.node.children) {
|
|
uid = jsxExpressionContainer(uid);
|
|
}
|
|
this.path.replaceWith(cloneNode$d(uid));
|
|
return attachTo.isVariableDeclarator() ? attached.get("init") : attached.get("declarations.0.init");
|
|
};
|
|
return _createClass(PathHoister);
|
|
}();
|
|
|
|
var arrowFunctionExpression$1 = arrowFunctionExpression$4,
|
|
assertExpression = assertExpression$1,
|
|
assignmentExpression$9 = assignmentExpression$d,
|
|
blockStatement$2 = blockStatement$6,
|
|
callExpression$a = callExpression$e,
|
|
cloneNode$c = cloneNode$j,
|
|
expressionStatement$5 = expressionStatement$a,
|
|
isAssignmentExpression = isAssignmentExpression$4,
|
|
isCallExpression$2 = isCallExpression$8,
|
|
isExportNamedDeclaration = isExportNamedDeclaration$3,
|
|
isExpression$1 = isExpression$4,
|
|
isIdentifier$8 = isIdentifier$j,
|
|
isSequenceExpression = isSequenceExpression$2,
|
|
isSuper$1 = isSuper$3,
|
|
thisExpression$2 = thisExpression$4;
|
|
function insertBefore(nodes_) {
|
|
this._assertUnremoved();
|
|
var nodes = this._verifyNodeList(nodes_);
|
|
var parentPath = this.parentPath,
|
|
parent = this.parent;
|
|
if (parentPath.isExpressionStatement() || parentPath.isLabeledStatement() || isExportNamedDeclaration(parent) || parentPath.isExportDefaultDeclaration() && this.isDeclaration()) {
|
|
return parentPath.insertBefore(nodes);
|
|
} else if (this.isNodeType("Expression") && !this.isJSXElement() || parentPath.isForStatement() && this.key === "init") {
|
|
if (this.node) nodes.push(this.node);
|
|
return this.replaceExpressionWithStatements(nodes);
|
|
} else if (Array.isArray(this.container)) {
|
|
return this._containerInsertBefore(nodes);
|
|
} else if (this.isStatementOrBlock()) {
|
|
var node = this.node;
|
|
var shouldInsertCurrentNode = node && (!this.isExpressionStatement() || node.expression != null);
|
|
this.replaceWith(blockStatement$2(shouldInsertCurrentNode ? [node] : []));
|
|
return this.unshiftContainer("body", nodes);
|
|
} else {
|
|
throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?");
|
|
}
|
|
}
|
|
function _containerInsert(from, nodes) {
|
|
var _this$container;
|
|
this.updateSiblingKeys(from, nodes.length);
|
|
var paths = [];
|
|
(_this$container = this.container).splice.apply(_this$container, [from, 0].concat(_toConsumableArray(nodes)));
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
var to = from + i;
|
|
var path = this.getSibling(to);
|
|
paths.push(path);
|
|
if (this.context && this.context.queue) {
|
|
path.pushContext(this.context);
|
|
}
|
|
}
|
|
var contexts = this._getQueueContexts();
|
|
for (var _i = 0, _paths = paths; _i < _paths.length; _i++) {
|
|
var _path = _paths[_i];
|
|
_path.setScope();
|
|
_path.debug("Inserted.");
|
|
for (var _iterator = _createForOfIteratorHelperLoose(contexts), _step; !(_step = _iterator()).done;) {
|
|
var context = _step.value;
|
|
context.maybeQueue(_path, true);
|
|
}
|
|
}
|
|
return paths;
|
|
}
|
|
function _containerInsertBefore(nodes) {
|
|
return this._containerInsert(this.key, nodes);
|
|
}
|
|
function _containerInsertAfter(nodes) {
|
|
return this._containerInsert(this.key + 1, nodes);
|
|
}
|
|
var last = function last(arr) {
|
|
return arr[arr.length - 1];
|
|
};
|
|
function isHiddenInSequenceExpression(path) {
|
|
return isSequenceExpression(path.parent) && (last(path.parent.expressions) !== path.node || isHiddenInSequenceExpression(path.parentPath));
|
|
}
|
|
function isAlmostConstantAssignment(node, scope) {
|
|
if (!isAssignmentExpression(node) || !isIdentifier$8(node.left)) {
|
|
return false;
|
|
}
|
|
var blockScope = scope.getBlockParent();
|
|
return blockScope.hasOwnBinding(node.left.name) && blockScope.getOwnBinding(node.left.name).constantViolations.length <= 1;
|
|
}
|
|
function insertAfter(nodes_) {
|
|
this._assertUnremoved();
|
|
if (this.isSequenceExpression()) {
|
|
return last(this.get("expressions")).insertAfter(nodes_);
|
|
}
|
|
var nodes = this._verifyNodeList(nodes_);
|
|
var parentPath = this.parentPath,
|
|
parent = this.parent;
|
|
if (parentPath.isExpressionStatement() || parentPath.isLabeledStatement() || isExportNamedDeclaration(parent) || parentPath.isExportDefaultDeclaration() && this.isDeclaration()) {
|
|
return parentPath.insertAfter(nodes.map(function (node) {
|
|
return isExpression$1(node) ? expressionStatement$5(node) : node;
|
|
}));
|
|
} else if (this.isNodeType("Expression") && !this.isJSXElement() && !parentPath.isJSXElement() || parentPath.isForStatement() && this.key === "init") {
|
|
if (this.node) {
|
|
var node = this.node;
|
|
var scope = this.scope;
|
|
if (scope.path.isPattern()) {
|
|
assertExpression(node);
|
|
this.replaceWith(callExpression$a(arrowFunctionExpression$1([], node), []));
|
|
this.get("callee.body").insertAfter(nodes);
|
|
return [this];
|
|
}
|
|
if (isHiddenInSequenceExpression(this)) {
|
|
nodes.unshift(node);
|
|
} else if (isCallExpression$2(node) && isSuper$1(node.callee)) {
|
|
nodes.unshift(node);
|
|
nodes.push(thisExpression$2());
|
|
} else if (isAlmostConstantAssignment(node, scope)) {
|
|
nodes.unshift(node);
|
|
nodes.push(cloneNode$c(node.left));
|
|
} else if (scope.isPure(node, true)) {
|
|
nodes.push(node);
|
|
} else {
|
|
if (parentPath.isMethod({
|
|
computed: true,
|
|
key: node
|
|
})) {
|
|
scope = scope.parent;
|
|
}
|
|
var temp = scope.generateDeclaredUidIdentifier();
|
|
nodes.unshift(expressionStatement$5(assignmentExpression$9("=", cloneNode$c(temp), node)));
|
|
nodes.push(expressionStatement$5(cloneNode$c(temp)));
|
|
}
|
|
}
|
|
return this.replaceExpressionWithStatements(nodes);
|
|
} else if (Array.isArray(this.container)) {
|
|
return this._containerInsertAfter(nodes);
|
|
} else if (this.isStatementOrBlock()) {
|
|
var _node = this.node;
|
|
var shouldInsertCurrentNode = _node && (!this.isExpressionStatement() || _node.expression != null);
|
|
this.replaceWith(blockStatement$2(shouldInsertCurrentNode ? [_node] : []));
|
|
return this.pushContainer("body", nodes);
|
|
} else {
|
|
throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?");
|
|
}
|
|
}
|
|
function updateSiblingKeys(fromIndex, incrementBy) {
|
|
if (!this.parent) return;
|
|
var paths = path$2.get(this.parent);
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(paths), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
path = _step2$value[1];
|
|
if (path.key >= fromIndex) {
|
|
path.key += incrementBy;
|
|
}
|
|
}
|
|
}
|
|
function _verifyNodeList(nodes) {
|
|
if (!nodes) {
|
|
return [];
|
|
}
|
|
if (!Array.isArray(nodes)) {
|
|
nodes = [nodes];
|
|
}
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
var node = nodes[i];
|
|
var msg = void 0;
|
|
if (!node) {
|
|
msg = "has falsy node";
|
|
} else if (typeof node !== "object") {
|
|
msg = "contains a non-object node";
|
|
} else if (!node.type) {
|
|
msg = "without a type";
|
|
} else if (node instanceof NodePath) {
|
|
msg = "has a NodePath when it expected a raw object";
|
|
}
|
|
if (msg) {
|
|
var type = Array.isArray(node) ? "array" : typeof node;
|
|
throw new Error("Node list " + msg + " with the index of " + i + " and type of " + type);
|
|
}
|
|
}
|
|
return nodes;
|
|
}
|
|
function unshiftContainer(listKey, nodes) {
|
|
this._assertUnremoved();
|
|
nodes = this._verifyNodeList(nodes);
|
|
var path = NodePath.get({
|
|
parentPath: this,
|
|
parent: this.node,
|
|
container: this.node[listKey],
|
|
listKey: listKey,
|
|
key: 0
|
|
}).setContext(this.context);
|
|
return path._containerInsertBefore(nodes);
|
|
}
|
|
function pushContainer(listKey, nodes) {
|
|
this._assertUnremoved();
|
|
var verifiedNodes = this._verifyNodeList(nodes);
|
|
var container = this.node[listKey];
|
|
var path = NodePath.get({
|
|
parentPath: this,
|
|
parent: this.node,
|
|
container: container,
|
|
listKey: listKey,
|
|
key: container.length
|
|
}).setContext(this.context);
|
|
return path.replaceWithMultiple(verifiedNodes);
|
|
}
|
|
function hoist$3(scope) {
|
|
if (scope === void 0) {
|
|
scope = this.scope;
|
|
}
|
|
var hoister = new PathHoister(this, scope);
|
|
return hoister.run();
|
|
}
|
|
|
|
var NodePath_modification = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
insertBefore: insertBefore,
|
|
_containerInsert: _containerInsert,
|
|
_containerInsertBefore: _containerInsertBefore,
|
|
_containerInsertAfter: _containerInsertAfter,
|
|
insertAfter: insertAfter,
|
|
updateSiblingKeys: updateSiblingKeys,
|
|
_verifyNodeList: _verifyNodeList,
|
|
unshiftContainer: unshiftContainer,
|
|
pushContainer: pushContainer,
|
|
hoist: hoist$3
|
|
});
|
|
|
|
var _getBindingIdentifiers = getBindingIdentifiers$2,
|
|
_getOuterBindingIdentifiers = getOuterBindingIdentifiers$2,
|
|
isDeclaration = isDeclaration$1,
|
|
numericLiteral$5 = numericLiteral$8,
|
|
unaryExpression$4 = unaryExpression$7;
|
|
var NORMAL_COMPLETION = 0;
|
|
var BREAK_COMPLETION = 1;
|
|
function NormalCompletion(path) {
|
|
return {
|
|
type: NORMAL_COMPLETION,
|
|
path: path
|
|
};
|
|
}
|
|
function BreakCompletion(path) {
|
|
return {
|
|
type: BREAK_COMPLETION,
|
|
path: path
|
|
};
|
|
}
|
|
function getOpposite() {
|
|
if (this.key === "left") {
|
|
return this.getSibling("right");
|
|
} else if (this.key === "right") {
|
|
return this.getSibling("left");
|
|
}
|
|
return null;
|
|
}
|
|
function addCompletionRecords(path, records, context) {
|
|
if (path) {
|
|
records.push.apply(records, _toConsumableArray(_getCompletionRecords(path, context)));
|
|
}
|
|
return records;
|
|
}
|
|
function completionRecordForSwitch(cases, records, context) {
|
|
var lastNormalCompletions = [];
|
|
for (var i = 0; i < cases.length; i++) {
|
|
var casePath = cases[i];
|
|
var caseCompletions = _getCompletionRecords(casePath, context);
|
|
var normalCompletions = [];
|
|
var breakCompletions = [];
|
|
for (var _i = 0, _caseCompletions = caseCompletions; _i < _caseCompletions.length; _i++) {
|
|
var c = _caseCompletions[_i];
|
|
if (c.type === NORMAL_COMPLETION) {
|
|
normalCompletions.push(c);
|
|
}
|
|
if (c.type === BREAK_COMPLETION) {
|
|
breakCompletions.push(c);
|
|
}
|
|
}
|
|
if (normalCompletions.length) {
|
|
lastNormalCompletions = normalCompletions;
|
|
}
|
|
records.push.apply(records, breakCompletions);
|
|
}
|
|
records.push.apply(records, _toConsumableArray(lastNormalCompletions));
|
|
return records;
|
|
}
|
|
function normalCompletionToBreak(completions) {
|
|
completions.forEach(function (c) {
|
|
c.type = BREAK_COMPLETION;
|
|
});
|
|
}
|
|
function replaceBreakStatementInBreakCompletion(completions, reachable) {
|
|
completions.forEach(function (c) {
|
|
if (c.path.isBreakStatement({
|
|
label: null
|
|
})) {
|
|
if (reachable) {
|
|
c.path.replaceWith(unaryExpression$4("void", numericLiteral$5(0)));
|
|
} else {
|
|
c.path.remove();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function getStatementListCompletion(paths, context) {
|
|
var completions = [];
|
|
if (context.canHaveBreak) {
|
|
var lastNormalCompletions = [];
|
|
for (var i = 0; i < paths.length; i++) {
|
|
var path = paths[i];
|
|
var newContext = Object.assign({}, context, {
|
|
inCaseClause: false
|
|
});
|
|
if (path.isBlockStatement() && (context.inCaseClause || context.shouldPopulateBreak)) {
|
|
newContext.shouldPopulateBreak = true;
|
|
} else {
|
|
newContext.shouldPopulateBreak = false;
|
|
}
|
|
var statementCompletions = _getCompletionRecords(path, newContext);
|
|
if (statementCompletions.length > 0 && statementCompletions.every(function (c) {
|
|
return c.type === BREAK_COMPLETION;
|
|
})) {
|
|
if (lastNormalCompletions.length > 0 && statementCompletions.every(function (c) {
|
|
return c.path.isBreakStatement({
|
|
label: null
|
|
});
|
|
})) {
|
|
normalCompletionToBreak(lastNormalCompletions);
|
|
completions.push.apply(completions, _toConsumableArray(lastNormalCompletions));
|
|
if (lastNormalCompletions.some(function (c) {
|
|
return c.path.isDeclaration();
|
|
})) {
|
|
completions.push.apply(completions, statementCompletions);
|
|
replaceBreakStatementInBreakCompletion(statementCompletions, true);
|
|
}
|
|
replaceBreakStatementInBreakCompletion(statementCompletions, false);
|
|
} else {
|
|
completions.push.apply(completions, statementCompletions);
|
|
if (!context.shouldPopulateBreak) {
|
|
replaceBreakStatementInBreakCompletion(statementCompletions, true);
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
if (i === paths.length - 1) {
|
|
completions.push.apply(completions, statementCompletions);
|
|
} else {
|
|
lastNormalCompletions = [];
|
|
for (var _i2 = 0; _i2 < statementCompletions.length; _i2++) {
|
|
var c = statementCompletions[_i2];
|
|
if (c.type === BREAK_COMPLETION) {
|
|
completions.push(c);
|
|
}
|
|
if (c.type === NORMAL_COMPLETION) {
|
|
lastNormalCompletions.push(c);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else if (paths.length) {
|
|
for (var _i3 = paths.length - 1; _i3 >= 0; _i3--) {
|
|
var pathCompletions = _getCompletionRecords(paths[_i3], context);
|
|
if (pathCompletions.length > 1 || pathCompletions.length === 1 && !pathCompletions[0].path.isVariableDeclaration()) {
|
|
completions.push.apply(completions, pathCompletions);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return completions;
|
|
}
|
|
function _getCompletionRecords(path, context) {
|
|
var records = [];
|
|
if (path.isIfStatement()) {
|
|
records = addCompletionRecords(path.get("consequent"), records, context);
|
|
records = addCompletionRecords(path.get("alternate"), records, context);
|
|
} else if (path.isDoExpression() || path.isFor() || path.isWhile() || path.isLabeledStatement()) {
|
|
return addCompletionRecords(path.get("body"), records, context);
|
|
} else if (path.isProgram() || path.isBlockStatement()) {
|
|
return getStatementListCompletion(path.get("body"), context);
|
|
} else if (path.isFunction()) {
|
|
return _getCompletionRecords(path.get("body"), context);
|
|
} else if (path.isTryStatement()) {
|
|
records = addCompletionRecords(path.get("block"), records, context);
|
|
records = addCompletionRecords(path.get("handler"), records, context);
|
|
} else if (path.isCatchClause()) {
|
|
return addCompletionRecords(path.get("body"), records, context);
|
|
} else if (path.isSwitchStatement()) {
|
|
return completionRecordForSwitch(path.get("cases"), records, context);
|
|
} else if (path.isSwitchCase()) {
|
|
return getStatementListCompletion(path.get("consequent"), {
|
|
canHaveBreak: true,
|
|
shouldPopulateBreak: false,
|
|
inCaseClause: true
|
|
});
|
|
} else if (path.isBreakStatement()) {
|
|
records.push(BreakCompletion(path));
|
|
} else {
|
|
records.push(NormalCompletion(path));
|
|
}
|
|
return records;
|
|
}
|
|
function getCompletionRecords() {
|
|
var records = _getCompletionRecords(this, {
|
|
canHaveBreak: false,
|
|
shouldPopulateBreak: false,
|
|
inCaseClause: false
|
|
});
|
|
return records.map(function (r) {
|
|
return r.path;
|
|
});
|
|
}
|
|
function getSibling(key) {
|
|
return NodePath.get({
|
|
parentPath: this.parentPath,
|
|
parent: this.parent,
|
|
container: this.container,
|
|
listKey: this.listKey,
|
|
key: key
|
|
}).setContext(this.context);
|
|
}
|
|
function getPrevSibling() {
|
|
return this.getSibling(this.key - 1);
|
|
}
|
|
function getNextSibling() {
|
|
return this.getSibling(this.key + 1);
|
|
}
|
|
function getAllNextSiblings() {
|
|
var _key = this.key;
|
|
var sibling = this.getSibling(++_key);
|
|
var siblings = [];
|
|
while (sibling.node) {
|
|
siblings.push(sibling);
|
|
sibling = this.getSibling(++_key);
|
|
}
|
|
return siblings;
|
|
}
|
|
function getAllPrevSiblings() {
|
|
var _key = this.key;
|
|
var sibling = this.getSibling(--_key);
|
|
var siblings = [];
|
|
while (sibling.node) {
|
|
siblings.push(sibling);
|
|
sibling = this.getSibling(--_key);
|
|
}
|
|
return siblings;
|
|
}
|
|
function get$2(key, context) {
|
|
if (context === void 0) {
|
|
context = true;
|
|
}
|
|
if (context === true) context = this.context;
|
|
var parts = key.split(".");
|
|
if (parts.length === 1) {
|
|
return this._getKey(key, context);
|
|
} else {
|
|
return this._getPattern(parts, context);
|
|
}
|
|
}
|
|
function _getKey(key, context) {
|
|
var _this = this;
|
|
var node = this.node;
|
|
var container = node[key];
|
|
if (Array.isArray(container)) {
|
|
return container.map(function (_, i) {
|
|
return NodePath.get({
|
|
listKey: key,
|
|
parentPath: _this,
|
|
parent: node,
|
|
container: container,
|
|
key: i
|
|
}).setContext(context);
|
|
});
|
|
} else {
|
|
return NodePath.get({
|
|
parentPath: this,
|
|
parent: node,
|
|
container: node,
|
|
key: key
|
|
}).setContext(context);
|
|
}
|
|
}
|
|
function _getPattern(parts, context) {
|
|
var path = this;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(parts), _step; !(_step = _iterator()).done;) {
|
|
var part = _step.value;
|
|
if (part === ".") {
|
|
path = path.parentPath;
|
|
} else {
|
|
if (Array.isArray(path)) {
|
|
path = path[part];
|
|
} else {
|
|
path = path.get(part, context);
|
|
}
|
|
}
|
|
}
|
|
return path;
|
|
}
|
|
function getBindingIdentifiers(duplicates) {
|
|
return _getBindingIdentifiers(this.node, duplicates);
|
|
}
|
|
function getOuterBindingIdentifiers$1(duplicates) {
|
|
return _getOuterBindingIdentifiers(this.node, duplicates);
|
|
}
|
|
function getBindingIdentifierPaths(duplicates, outerOnly) {
|
|
if (duplicates === void 0) {
|
|
duplicates = false;
|
|
}
|
|
if (outerOnly === void 0) {
|
|
outerOnly = false;
|
|
}
|
|
var path = this;
|
|
var search = [path];
|
|
var ids = Object.create(null);
|
|
while (search.length) {
|
|
var id = search.shift();
|
|
if (!id) continue;
|
|
if (!id.node) continue;
|
|
var keys = _getBindingIdentifiers.keys[id.node.type];
|
|
if (id.isIdentifier()) {
|
|
if (duplicates) {
|
|
var _ids = ids[id.node.name] = ids[id.node.name] || [];
|
|
_ids.push(id);
|
|
} else {
|
|
ids[id.node.name] = id;
|
|
}
|
|
continue;
|
|
}
|
|
if (id.isExportDeclaration()) {
|
|
var declaration = id.get("declaration");
|
|
if (isDeclaration(declaration)) {
|
|
search.push(declaration);
|
|
}
|
|
continue;
|
|
}
|
|
if (outerOnly) {
|
|
if (id.isFunctionDeclaration()) {
|
|
search.push(id.get("id"));
|
|
continue;
|
|
}
|
|
if (id.isFunctionExpression()) {
|
|
continue;
|
|
}
|
|
}
|
|
if (keys) {
|
|
for (var i = 0; i < keys.length; i++) {
|
|
var _key2 = keys[i];
|
|
var child = id.get(_key2);
|
|
if (Array.isArray(child)) {
|
|
search.push.apply(search, _toConsumableArray(child));
|
|
} else if (child.node) {
|
|
search.push(child);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return ids;
|
|
}
|
|
function getOuterBindingIdentifierPaths(duplicates) {
|
|
if (duplicates === void 0) {
|
|
duplicates = false;
|
|
}
|
|
return this.getBindingIdentifierPaths(duplicates, true);
|
|
}
|
|
|
|
var NodePath_family = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
getOpposite: getOpposite,
|
|
getCompletionRecords: getCompletionRecords,
|
|
getSibling: getSibling,
|
|
getPrevSibling: getPrevSibling,
|
|
getNextSibling: getNextSibling,
|
|
getAllNextSiblings: getAllNextSiblings,
|
|
getAllPrevSiblings: getAllPrevSiblings,
|
|
get: get$2,
|
|
_getKey: _getKey,
|
|
_getPattern: _getPattern,
|
|
getBindingIdentifiers: getBindingIdentifiers,
|
|
getOuterBindingIdentifiers: getOuterBindingIdentifiers$1,
|
|
getBindingIdentifierPaths: getBindingIdentifierPaths,
|
|
getOuterBindingIdentifierPaths: getOuterBindingIdentifierPaths
|
|
});
|
|
|
|
var _addComment = addComment$2,
|
|
_addComments = addComments$1;
|
|
function shareCommentsWithSiblings() {
|
|
if (typeof this.key === "string") return;
|
|
var node = this.node;
|
|
if (!node) return;
|
|
var trailing = node.trailingComments;
|
|
var leading = node.leadingComments;
|
|
if (!trailing && !leading) return;
|
|
var prev = this.getSibling(this.key - 1);
|
|
var next = this.getSibling(this.key + 1);
|
|
var hasPrev = Boolean(prev.node);
|
|
var hasNext = Boolean(next.node);
|
|
if (hasPrev) {
|
|
if (leading) {
|
|
prev.addComments("trailing", removeIfExisting(leading, prev.node.trailingComments));
|
|
}
|
|
if (trailing && !hasNext) prev.addComments("trailing", trailing);
|
|
}
|
|
if (hasNext) {
|
|
if (trailing) {
|
|
next.addComments("leading", removeIfExisting(trailing, next.node.leadingComments));
|
|
}
|
|
if (leading && !hasPrev) next.addComments("leading", leading);
|
|
}
|
|
}
|
|
function removeIfExisting(list, toRemove) {
|
|
if (!toRemove) return list;
|
|
var lastFoundIndex = -1;
|
|
return list.filter(function (el) {
|
|
var i = toRemove.indexOf(el, lastFoundIndex);
|
|
if (i === -1) return true;
|
|
lastFoundIndex = i;
|
|
});
|
|
}
|
|
function addComment$1(type, content, line) {
|
|
_addComment(this.node, type, content, line);
|
|
}
|
|
function addComments(type, comments) {
|
|
_addComments(this.node, type, comments);
|
|
}
|
|
|
|
var NodePath_comments = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
shareCommentsWithSiblings: shareCommentsWithSiblings,
|
|
addComment: addComment$1,
|
|
addComments: addComments
|
|
});
|
|
|
|
var isBinding = isBinding$1,
|
|
nodeIsBlockScoped = isBlockScoped$2,
|
|
isExportDeclaration = isExportDeclaration$3,
|
|
nodeIsExpression = isExpression$4,
|
|
nodeIsFlow = isFlow$1,
|
|
isForStatement = isForStatement$3,
|
|
isForXStatement = isForXStatement$1,
|
|
isIdentifier$7 = isIdentifier$j,
|
|
isImportDeclaration = isImportDeclaration$2,
|
|
isImportSpecifier = isImportSpecifier$1,
|
|
isJSXIdentifier$1 = isJSXIdentifier$3,
|
|
isJSXMemberExpression$1 = isJSXMemberExpression$2,
|
|
isMemberExpression$3 = isMemberExpression$8,
|
|
nodeIsRestElement = isRestElement$3,
|
|
nodeIsReferenced = isReferenced$2,
|
|
nodeIsScope = isScope$1,
|
|
nodeIsStatement = isStatement$8,
|
|
nodeIsVar = isVar$1,
|
|
isVariableDeclaration$1 = isVariableDeclaration$3,
|
|
react$1 = react$3,
|
|
isForOfStatement = isForOfStatement$2;
|
|
var isCompatTag = react$1.isCompatTag;
|
|
function isReferencedIdentifier(opts) {
|
|
var node = this.node,
|
|
parent = this.parent;
|
|
if (!isIdentifier$7(node, opts) && !isJSXMemberExpression$1(parent, opts)) {
|
|
if (isJSXIdentifier$1(node, opts)) {
|
|
if (isCompatTag(node.name)) return false;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
return nodeIsReferenced(node, parent, this.parentPath.parent);
|
|
}
|
|
function isReferencedMemberExpression() {
|
|
var node = this.node,
|
|
parent = this.parent;
|
|
return isMemberExpression$3(node) && nodeIsReferenced(node, parent);
|
|
}
|
|
function isBindingIdentifier() {
|
|
var node = this.node,
|
|
parent = this.parent;
|
|
var grandparent = this.parentPath.parent;
|
|
return isIdentifier$7(node) && isBinding(node, parent, grandparent);
|
|
}
|
|
function isStatement() {
|
|
var node = this.node,
|
|
parent = this.parent;
|
|
if (nodeIsStatement(node)) {
|
|
if (isVariableDeclaration$1(node)) {
|
|
if (isForXStatement(parent, {
|
|
left: node
|
|
})) return false;
|
|
if (isForStatement(parent, {
|
|
init: node
|
|
})) return false;
|
|
}
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
function isExpression() {
|
|
if (this.isIdentifier()) {
|
|
return this.isReferencedIdentifier();
|
|
} else {
|
|
return nodeIsExpression(this.node);
|
|
}
|
|
}
|
|
function isScope() {
|
|
return nodeIsScope(this.node, this.parent);
|
|
}
|
|
function isReferenced$1() {
|
|
return nodeIsReferenced(this.node, this.parent);
|
|
}
|
|
function isBlockScoped$1() {
|
|
return nodeIsBlockScoped(this.node);
|
|
}
|
|
function isVar() {
|
|
return nodeIsVar(this.node);
|
|
}
|
|
function isUser() {
|
|
return this.node && !!this.node.loc;
|
|
}
|
|
function isGenerated() {
|
|
return !this.isUser();
|
|
}
|
|
function isPure(constantsOnly) {
|
|
return this.scope.isPure(this.node, constantsOnly);
|
|
}
|
|
function isFlow() {
|
|
var node = this.node;
|
|
if (nodeIsFlow(node)) {
|
|
return true;
|
|
} else if (isImportDeclaration(node)) {
|
|
return node.importKind === "type" || node.importKind === "typeof";
|
|
} else if (isExportDeclaration(node)) {
|
|
return node.exportKind === "type";
|
|
} else if (isImportSpecifier(node)) {
|
|
return node.importKind === "type" || node.importKind === "typeof";
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
function isRestProperty() {
|
|
return nodeIsRestElement(this.node) && this.parentPath && this.parentPath.isObjectPattern();
|
|
}
|
|
function isSpreadProperty() {
|
|
return nodeIsRestElement(this.node) && this.parentPath && this.parentPath.isObjectExpression();
|
|
}
|
|
function isForAwaitStatement() {
|
|
return isForOfStatement(this.node, {
|
|
"await": true
|
|
});
|
|
}
|
|
function isExistentialTypeParam() {
|
|
throw new Error("`path.isExistentialTypeParam` has been renamed to `path.isExistsTypeAnnotation()` in Babel 7.");
|
|
}
|
|
function isNumericLiteralTypeAnnotation() {
|
|
throw new Error("`path.isNumericLiteralTypeAnnotation()` has been renamed to `path.isNumberLiteralTypeAnnotation()` in Babel 7.");
|
|
}
|
|
|
|
var NodePath_virtual_types_validator = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
isReferencedIdentifier: isReferencedIdentifier,
|
|
isReferencedMemberExpression: isReferencedMemberExpression,
|
|
isBindingIdentifier: isBindingIdentifier,
|
|
isStatement: isStatement,
|
|
isExpression: isExpression,
|
|
isScope: isScope,
|
|
isReferenced: isReferenced$1,
|
|
isBlockScoped: isBlockScoped$1,
|
|
isVar: isVar,
|
|
isUser: isUser,
|
|
isGenerated: isGenerated,
|
|
isPure: isPure,
|
|
isFlow: isFlow,
|
|
isRestProperty: isRestProperty,
|
|
isSpreadProperty: isSpreadProperty,
|
|
isForAwaitStatement: isForAwaitStatement,
|
|
isExistentialTypeParam: isExistentialTypeParam,
|
|
isNumericLiteralTypeAnnotation: isNumericLiteralTypeAnnotation
|
|
});
|
|
|
|
var validate$1 = validate$5;
|
|
var _debug = buildDebug("babel");
|
|
var REMOVED = 1 << 0;
|
|
var SHOULD_STOP = 1 << 1;
|
|
var SHOULD_SKIP = 1 << 2;
|
|
var NodePath = function () {
|
|
function NodePath(hub, parent) {
|
|
this.contexts = [];
|
|
this.state = null;
|
|
this.opts = null;
|
|
this._traverseFlags = 0;
|
|
this.skipKeys = null;
|
|
this.parentPath = null;
|
|
this.container = null;
|
|
this.listKey = null;
|
|
this.key = null;
|
|
this.node = null;
|
|
this.type = null;
|
|
this.parent = parent;
|
|
this.hub = hub;
|
|
this.data = null;
|
|
this.context = null;
|
|
this.scope = null;
|
|
}
|
|
NodePath.get = function get(_ref) {
|
|
var hub = _ref.hub,
|
|
parentPath = _ref.parentPath,
|
|
parent = _ref.parent,
|
|
container = _ref.container,
|
|
listKey = _ref.listKey,
|
|
key = _ref.key;
|
|
if (!hub && parentPath) {
|
|
hub = parentPath.hub;
|
|
}
|
|
if (!parent) {
|
|
throw new Error("To get a node path the parent needs to exist");
|
|
}
|
|
var targetNode = container[key];
|
|
var paths = path$2.get(parent);
|
|
if (!paths) {
|
|
paths = new Map();
|
|
path$2.set(parent, paths);
|
|
}
|
|
var path = paths.get(targetNode);
|
|
if (!path) {
|
|
path = new NodePath(hub, parent);
|
|
if (targetNode) paths.set(targetNode, path);
|
|
}
|
|
path.setup(parentPath, container, listKey, key);
|
|
return path;
|
|
};
|
|
var _proto = NodePath.prototype;
|
|
_proto.getScope = function getScope(scope) {
|
|
return this.isScope() ? new Scope$1(this) : scope;
|
|
};
|
|
_proto.setData = function setData(key, val) {
|
|
if (this.data == null) {
|
|
this.data = Object.create(null);
|
|
}
|
|
return this.data[key] = val;
|
|
};
|
|
_proto.getData = function getData(key, def) {
|
|
if (this.data == null) {
|
|
this.data = Object.create(null);
|
|
}
|
|
var val = this.data[key];
|
|
if (val === undefined && def !== undefined) val = this.data[key] = def;
|
|
return val;
|
|
};
|
|
_proto.hasNode = function hasNode() {
|
|
return this.node != null;
|
|
};
|
|
_proto.buildCodeFrameError = function buildCodeFrameError(msg, Error) {
|
|
if (Error === void 0) {
|
|
Error = SyntaxError;
|
|
}
|
|
return this.hub.buildError(this.node, msg, Error);
|
|
};
|
|
_proto.traverse = function traverse$1(visitor, state) {
|
|
traverse(this.node, visitor, this.scope, state, this);
|
|
};
|
|
_proto.set = function set(key, node) {
|
|
validate$1(this.node, key, node);
|
|
this.node[key] = node;
|
|
};
|
|
_proto.getPathLocation = function getPathLocation() {
|
|
var parts = [];
|
|
var path = this;
|
|
do {
|
|
var key = path.key;
|
|
if (path.inList) key = path.listKey + "[" + key + "]";
|
|
parts.unshift(key);
|
|
} while (path = path.parentPath);
|
|
return parts.join(".");
|
|
};
|
|
_proto.debug = function debug(message) {
|
|
if (!_debug.enabled) return;
|
|
_debug(this.getPathLocation() + " " + this.type + ": " + message);
|
|
};
|
|
_proto.toString = function toString() {
|
|
return generate$1(this.node).code;
|
|
};
|
|
_createClass(NodePath, [{
|
|
key: "inList",
|
|
get: function get() {
|
|
return !!this.listKey;
|
|
},
|
|
set: function set(inList) {
|
|
if (!inList) {
|
|
this.listKey = null;
|
|
}
|
|
}
|
|
}, {
|
|
key: "parentKey",
|
|
get: function get() {
|
|
return this.listKey || this.key;
|
|
}
|
|
}, {
|
|
key: "shouldSkip",
|
|
get: function get() {
|
|
return !!(this._traverseFlags & SHOULD_SKIP);
|
|
},
|
|
set: function set(v) {
|
|
if (v) {
|
|
this._traverseFlags |= SHOULD_SKIP;
|
|
} else {
|
|
this._traverseFlags &= ~SHOULD_SKIP;
|
|
}
|
|
}
|
|
}, {
|
|
key: "shouldStop",
|
|
get: function get() {
|
|
return !!(this._traverseFlags & SHOULD_STOP);
|
|
},
|
|
set: function set(v) {
|
|
if (v) {
|
|
this._traverseFlags |= SHOULD_STOP;
|
|
} else {
|
|
this._traverseFlags &= ~SHOULD_STOP;
|
|
}
|
|
}
|
|
}, {
|
|
key: "removed",
|
|
get: function get() {
|
|
return !!(this._traverseFlags & REMOVED);
|
|
},
|
|
set: function set(v) {
|
|
if (v) {
|
|
this._traverseFlags |= REMOVED;
|
|
} else {
|
|
this._traverseFlags &= ~REMOVED;
|
|
}
|
|
}
|
|
}]);
|
|
return NodePath;
|
|
}();
|
|
Object.assign(NodePath.prototype, NodePath_ancestry, NodePath_inference, NodePath_replacement, NodePath_evaluation, NodePath_conversion, NodePath_introspection, NodePath_context, NodePath_removal, NodePath_modification, NodePath_family, NodePath_comments);
|
|
{
|
|
NodePath.prototype._guessExecutionStatusRelativeToDifferentFunctions = _guessExecutionStatusRelativeTo;
|
|
}
|
|
var _loop = function _loop() {
|
|
var type = _step.value;
|
|
var typeKey = "is" + type;
|
|
var fn = t$8[typeKey];
|
|
NodePath.prototype[typeKey] = function (opts) {
|
|
return fn(this.node, opts);
|
|
};
|
|
NodePath.prototype["assert" + type] = function (opts) {
|
|
if (!fn(this.node, opts)) {
|
|
throw new TypeError("Expected node path of type " + type);
|
|
}
|
|
};
|
|
};
|
|
for (var _iterator = _createForOfIteratorHelperLoose(TYPES$1), _step; !(_step = _iterator()).done;) {
|
|
_loop();
|
|
}
|
|
Object.assign(NodePath.prototype, NodePath_virtual_types_validator);
|
|
for (var _i = 0, _arr = Object.keys(virtualTypes); _i < _arr.length; _i++) {
|
|
var type = _arr[_i];
|
|
if (type[0] === "_") continue;
|
|
if (!TYPES$1.includes(type)) TYPES$1.push(type);
|
|
}
|
|
|
|
var VISITOR_KEYS$2 = VISITOR_KEYS$5;
|
|
var TraversalContext = function () {
|
|
function TraversalContext(scope, opts, state, parentPath) {
|
|
this.queue = null;
|
|
this.priorityQueue = null;
|
|
this.parentPath = parentPath;
|
|
this.scope = scope;
|
|
this.state = state;
|
|
this.opts = opts;
|
|
}
|
|
var _proto = TraversalContext.prototype;
|
|
_proto.shouldVisit = function shouldVisit(node) {
|
|
var opts = this.opts;
|
|
if (opts.enter || opts.exit) return true;
|
|
if (opts[node.type]) return true;
|
|
var keys = VISITOR_KEYS$2[node.type];
|
|
if (!(keys != null && keys.length)) return false;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
|
|
var key = _step.value;
|
|
if (node[key]) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
_proto.create = function create(node, container, key, listKey) {
|
|
return NodePath.get({
|
|
parentPath: this.parentPath,
|
|
parent: node,
|
|
container: container,
|
|
key: key,
|
|
listKey: listKey
|
|
});
|
|
};
|
|
_proto.maybeQueue = function maybeQueue(path, notPriority) {
|
|
if (this.queue) {
|
|
if (notPriority) {
|
|
this.queue.push(path);
|
|
} else {
|
|
this.priorityQueue.push(path);
|
|
}
|
|
}
|
|
};
|
|
_proto.visitMultiple = function visitMultiple(container, parent, listKey) {
|
|
if (container.length === 0) return false;
|
|
var queue = [];
|
|
for (var key = 0; key < container.length; key++) {
|
|
var node = container[key];
|
|
if (node && this.shouldVisit(node)) {
|
|
queue.push(this.create(parent, container, key, listKey));
|
|
}
|
|
}
|
|
return this.visitQueue(queue);
|
|
};
|
|
_proto.visitSingle = function visitSingle(node, key) {
|
|
if (this.shouldVisit(node[key])) {
|
|
return this.visitQueue([this.create(node, node, key)]);
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
_proto.visitQueue = function visitQueue(queue) {
|
|
this.queue = queue;
|
|
this.priorityQueue = [];
|
|
var visited = new WeakSet();
|
|
var stop = false;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(queue), _step2; !(_step2 = _iterator2()).done;) {
|
|
var path = _step2.value;
|
|
path.resync();
|
|
if (path.contexts.length === 0 || path.contexts[path.contexts.length - 1] !== this) {
|
|
path.pushContext(this);
|
|
}
|
|
if (path.key === null) continue;
|
|
var node = path.node;
|
|
if (visited.has(node)) continue;
|
|
if (node) visited.add(node);
|
|
if (path.visit()) {
|
|
stop = true;
|
|
break;
|
|
}
|
|
if (this.priorityQueue.length) {
|
|
stop = this.visitQueue(this.priorityQueue);
|
|
this.priorityQueue = [];
|
|
this.queue = queue;
|
|
if (stop) break;
|
|
}
|
|
}
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(queue), _step3; !(_step3 = _iterator3()).done;) {
|
|
var _path = _step3.value;
|
|
_path.popContext();
|
|
}
|
|
this.queue = null;
|
|
return stop;
|
|
};
|
|
_proto.visit = function visit(node, key) {
|
|
var nodes = node[key];
|
|
if (!nodes) return false;
|
|
if (Array.isArray(nodes)) {
|
|
return this.visitMultiple(nodes, node, key);
|
|
} else {
|
|
return this.visitSingle(node, key);
|
|
}
|
|
};
|
|
return _createClass(TraversalContext);
|
|
}();
|
|
|
|
var VISITOR_KEYS$1 = VISITOR_KEYS$5;
|
|
function traverseNode(node, opts, scope, state, path, skipKeys) {
|
|
var keys = VISITOR_KEYS$1[node.type];
|
|
if (!keys) return false;
|
|
var context = new TraversalContext(scope, opts, state, path);
|
|
for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
|
|
var key = _step.value;
|
|
if (skipKeys && skipKeys[key]) continue;
|
|
if (context.visit(node, key)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
(function () {
|
|
function Hub() {}
|
|
var _proto = Hub.prototype;
|
|
_proto.getCode = function getCode() {};
|
|
_proto.getScope = function getScope() {};
|
|
_proto.addHelper = function addHelper() {
|
|
throw new Error("Helpers are not supported by the default hub.");
|
|
};
|
|
_proto.buildError = function buildError(node, msg, Error) {
|
|
if (Error === void 0) {
|
|
Error = TypeError;
|
|
}
|
|
return new Error(msg);
|
|
};
|
|
return _createClass(Hub);
|
|
})();
|
|
|
|
var VISITOR_KEYS = VISITOR_KEYS$5,
|
|
removeProperties = removeProperties$1,
|
|
traverseFast$1 = traverseFast$2;
|
|
function traverse(parent, opts, scope, state, parentPath) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
if (!parent) return;
|
|
if (!opts.noScope && !scope) {
|
|
if (parent.type !== "Program" && parent.type !== "File") {
|
|
throw new Error("You must pass a scope and parentPath unless traversing a Program/File. " + ("Instead of that you tried to traverse a " + parent.type + " node without ") + "passing scope and parentPath.");
|
|
}
|
|
}
|
|
if (!VISITOR_KEYS[parent.type]) {
|
|
return;
|
|
}
|
|
explode$1(opts);
|
|
traverseNode(parent, opts, scope, state, parentPath);
|
|
}
|
|
traverse.visitors = visitors;
|
|
traverse.verify = verify;
|
|
traverse.explode = explode$1;
|
|
traverse.cheap = function (node, enter) {
|
|
traverseFast$1(node, enter);
|
|
return;
|
|
};
|
|
traverse.node = function (node, opts, scope, state, path, skipKeys) {
|
|
traverseNode(node, opts, scope, state, path, skipKeys);
|
|
};
|
|
traverse.clearNode = function (node, opts) {
|
|
removeProperties(node, opts);
|
|
path$2["delete"](node);
|
|
};
|
|
traverse.removeProperties = function (tree, opts) {
|
|
traverseFast$1(tree, traverse.clearNode, opts);
|
|
return tree;
|
|
};
|
|
function hasDenylistedType(path, state) {
|
|
if (path.node.type === state.type) {
|
|
state.has = true;
|
|
path.stop();
|
|
}
|
|
}
|
|
traverse.hasType = function (tree, type, denylistTypes) {
|
|
if (denylistTypes != null && denylistTypes.includes(tree.type)) return false;
|
|
if (tree.type === type) return true;
|
|
var state = {
|
|
has: false,
|
|
type: type
|
|
};
|
|
traverse(tree, {
|
|
noScope: true,
|
|
denylist: denylistTypes,
|
|
enter: hasDenylistedType
|
|
}, null, state);
|
|
return state.has;
|
|
};
|
|
traverse.cache = cache$1;
|
|
|
|
function helper$3(minVersion, source) {
|
|
return Object.freeze({
|
|
minVersion: minVersion,
|
|
ast: function ast() {
|
|
return template$2.program.ast(source, {
|
|
preserveComments: true
|
|
});
|
|
}
|
|
});
|
|
}
|
|
var generated = Object.freeze({
|
|
AsyncGenerator: helper$3("7.0.0-beta.0", 'import OverloadYield from"OverloadYield";export default function AsyncGenerator(gen){var front,back;function resume(key,arg){try{var result=gen[key](arg),value=result.value,overloaded=value instanceof OverloadYield;Promise.resolve(overloaded?value.v:value).then((function(arg){if(overloaded){var nextKey="return"===key?"return":"next";if(!value.k||arg.done)return resume(nextKey,arg);arg=gen[nextKey](arg).value}settle(result.done?"return":"normal",arg)}),(function(err){resume("throw",err)}))}catch(err){settle("throw",err)}}function settle(type,value){switch(type){case"return":front.resolve({value:value,done:!0});break;case"throw":front.reject(value);break;default:front.resolve({value:value,done:!1})}(front=front.next)?resume(front.key,front.arg):back=null}this._invoke=function(key,arg){return new Promise((function(resolve,reject){var request={key:key,arg:arg,resolve:resolve,reject:reject,next:null};back?back=back.next=request:(front=back=request,resume(key,arg))}))},"function"!=typeof gen.return&&(this.return=void 0)}AsyncGenerator.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},AsyncGenerator.prototype.next=function(arg){return this._invoke("next",arg)},AsyncGenerator.prototype.throw=function(arg){return this._invoke("throw",arg)},AsyncGenerator.prototype.return=function(arg){return this._invoke("return",arg)};'),
|
|
OverloadYield: helper$3("7.18.14", "export default function _OverloadYield(value,kind){this.v=value,this.k=kind}"),
|
|
applyDecs: helper$3("7.17.8", 'function old_createMetadataMethodsForProperty(metadataMap,kind,property,decoratorFinishedRef){return{getMetadata:function(key){old_assertNotFinished(decoratorFinishedRef,"getMetadata"),old_assertMetadataKey(key);var metadataForKey=metadataMap[key];if(void 0!==metadataForKey)if(1===kind){var pub=metadataForKey.public;if(void 0!==pub)return pub[property]}else if(2===kind){var priv=metadataForKey.private;if(void 0!==priv)return priv.get(property)}else if(Object.hasOwnProperty.call(metadataForKey,"constructor"))return metadataForKey.constructor},setMetadata:function(key,value){old_assertNotFinished(decoratorFinishedRef,"setMetadata"),old_assertMetadataKey(key);var metadataForKey=metadataMap[key];if(void 0===metadataForKey&&(metadataForKey=metadataMap[key]={}),1===kind){var pub=metadataForKey.public;void 0===pub&&(pub=metadataForKey.public={}),pub[property]=value}else if(2===kind){var priv=metadataForKey.priv;void 0===priv&&(priv=metadataForKey.private=new Map),priv.set(property,value)}else metadataForKey.constructor=value}}}function old_convertMetadataMapToFinal(obj,metadataMap){var parentMetadataMap=obj[Symbol.metadata||Symbol.for("Symbol.metadata")],metadataKeys=Object.getOwnPropertySymbols(metadataMap);if(0!==metadataKeys.length){for(var i=0;i<metadataKeys.length;i++){var key=metadataKeys[i],metaForKey=metadataMap[key],parentMetaForKey=parentMetadataMap?parentMetadataMap[key]:null,pub=metaForKey.public,parentPub=parentMetaForKey?parentMetaForKey.public:null;pub&&parentPub&&Object.setPrototypeOf(pub,parentPub);var priv=metaForKey.private;if(priv){var privArr=Array.from(priv.values()),parentPriv=parentMetaForKey?parentMetaForKey.private:null;parentPriv&&(privArr=privArr.concat(parentPriv)),metaForKey.private=privArr}parentMetaForKey&&Object.setPrototypeOf(metaForKey,parentMetaForKey)}parentMetadataMap&&Object.setPrototypeOf(metadataMap,parentMetadataMap),obj[Symbol.metadata||Symbol.for("Symbol.metadata")]=metadataMap}}function old_createAddInitializerMethod(initializers,decoratorFinishedRef){return function(initializer){old_assertNotFinished(decoratorFinishedRef,"addInitializer"),old_assertCallable(initializer,"An initializer"),initializers.push(initializer)}}function old_memberDec(dec,name,desc,metadataMap,initializers,kind,isStatic,isPrivate,value){var kindStr;switch(kind){case 1:kindStr="accessor";break;case 2:kindStr="method";break;case 3:kindStr="getter";break;case 4:kindStr="setter";break;default:kindStr="field"}var metadataKind,metadataName,ctx={kind:kindStr,name:isPrivate?"#"+name:name,isStatic:isStatic,isPrivate:isPrivate},decoratorFinishedRef={v:!1};if(0!==kind&&(ctx.addInitializer=old_createAddInitializerMethod(initializers,decoratorFinishedRef)),isPrivate){metadataKind=2,metadataName=Symbol(name);var access={};0===kind?(access.get=desc.get,access.set=desc.set):2===kind?access.get=function(){return desc.value}:(1!==kind&&3!==kind||(access.get=function(){return desc.get.call(this)}),1!==kind&&4!==kind||(access.set=function(v){desc.set.call(this,v)})),ctx.access=access}else metadataKind=1,metadataName=name;try{return dec(value,Object.assign(ctx,old_createMetadataMethodsForProperty(metadataMap,metadataKind,metadataName,decoratorFinishedRef)))}finally{decoratorFinishedRef.v=!0}}function old_assertNotFinished(decoratorFinishedRef,fnName){if(decoratorFinishedRef.v)throw new Error("attempted to call "+fnName+" after decoration was finished")}function old_assertMetadataKey(key){if("symbol"!=typeof key)throw new TypeError("Metadata keys must be symbols, received: "+key)}function old_assertCallable(fn,hint){if("function"!=typeof fn)throw new TypeError(hint+" must be a function")}function old_assertValidReturnValue(kind,value){var type=typeof value;if(1===kind){if("object"!==type||null===value)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==value.get&&old_assertCallable(value.get,"accessor.get"),void 0!==value.set&&old_assertCallable(value.set,"accessor.set"),void 0!==value.init&&old_assertCallable(value.init,"accessor.init"),void 0!==value.initializer&&old_assertCallable(value.initializer,"accessor.initializer")}else if("function"!==type){var hint;throw hint=0===kind?"field":10===kind?"class":"method",new TypeError(hint+" decorators must return a function or void 0")}}function old_getInit(desc){var initializer;return null==(initializer=desc.init)&&(initializer=desc.initializer)&&"undefined"!=typeof console&&console.warn(".initializer has been renamed to .init as of March 2022"),initializer}function old_applyMemberDec(ret,base,decInfo,name,kind,isStatic,isPrivate,metadataMap,initializers){var desc,initializer,value,newValue,get,set,decs=decInfo[0];if(isPrivate?desc=0===kind||1===kind?{get:decInfo[3],set:decInfo[4]}:3===kind?{get:decInfo[3]}:4===kind?{set:decInfo[3]}:{value:decInfo[3]}:0!==kind&&(desc=Object.getOwnPropertyDescriptor(base,name)),1===kind?value={get:desc.get,set:desc.set}:2===kind?value=desc.value:3===kind?value=desc.get:4===kind&&(value=desc.set),"function"==typeof decs)void 0!==(newValue=old_memberDec(decs,name,desc,metadataMap,initializers,kind,isStatic,isPrivate,value))&&(old_assertValidReturnValue(kind,newValue),0===kind?initializer=newValue:1===kind?(initializer=old_getInit(newValue),get=newValue.get||value.get,set=newValue.set||value.set,value={get:get,set:set}):value=newValue);else for(var i=decs.length-1;i>=0;i--){var newInit;if(void 0!==(newValue=old_memberDec(decs[i],name,desc,metadataMap,initializers,kind,isStatic,isPrivate,value)))old_assertValidReturnValue(kind,newValue),0===kind?newInit=newValue:1===kind?(newInit=old_getInit(newValue),get=newValue.get||value.get,set=newValue.set||value.set,value={get:get,set:set}):value=newValue,void 0!==newInit&&(void 0===initializer?initializer=newInit:"function"==typeof initializer?initializer=[initializer,newInit]:initializer.push(newInit))}if(0===kind||1===kind){if(void 0===initializer)initializer=function(instance,init){return init};else if("function"!=typeof initializer){var ownInitializers=initializer;initializer=function(instance,init){for(var value=init,i=0;i<ownInitializers.length;i++)value=ownInitializers[i].call(instance,value);return value}}else{var originalInitializer=initializer;initializer=function(instance,init){return originalInitializer.call(instance,init)}}ret.push(initializer)}0!==kind&&(1===kind?(desc.get=value.get,desc.set=value.set):2===kind?desc.value=value:3===kind?desc.get=value:4===kind&&(desc.set=value),isPrivate?1===kind?(ret.push((function(instance,args){return value.get.call(instance,args)})),ret.push((function(instance,args){return value.set.call(instance,args)}))):2===kind?ret.push(value):ret.push((function(instance,args){return value.call(instance,args)})):Object.defineProperty(base,name,desc))}function old_applyMemberDecs(ret,Class,protoMetadataMap,staticMetadataMap,decInfos){for(var protoInitializers,staticInitializers,existingProtoNonFields=new Map,existingStaticNonFields=new Map,i=0;i<decInfos.length;i++){var decInfo=decInfos[i];if(Array.isArray(decInfo)){var base,metadataMap,initializers,kind=decInfo[1],name=decInfo[2],isPrivate=decInfo.length>3,isStatic=kind>=5;if(isStatic?(base=Class,metadataMap=staticMetadataMap,0!==(kind-=5)&&(initializers=staticInitializers=staticInitializers||[])):(base=Class.prototype,metadataMap=protoMetadataMap,0!==kind&&(initializers=protoInitializers=protoInitializers||[])),0!==kind&&!isPrivate){var existingNonFields=isStatic?existingStaticNonFields:existingProtoNonFields,existingKind=existingNonFields.get(name)||0;if(!0===existingKind||3===existingKind&&4!==kind||4===existingKind&&3!==kind)throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+name);!existingKind&&kind>2?existingNonFields.set(name,kind):existingNonFields.set(name,!0)}old_applyMemberDec(ret,base,decInfo,name,kind,isStatic,isPrivate,metadataMap,initializers)}}old_pushInitializers(ret,protoInitializers),old_pushInitializers(ret,staticInitializers)}function old_pushInitializers(ret,initializers){initializers&&ret.push((function(instance){for(var i=0;i<initializers.length;i++)initializers[i].call(instance);return instance}))}function old_applyClassDecs(ret,targetClass,metadataMap,classDecs){if(classDecs.length>0){for(var initializers=[],newClass=targetClass,name=targetClass.name,i=classDecs.length-1;i>=0;i--){var decoratorFinishedRef={v:!1};try{var ctx=Object.assign({kind:"class",name:name,addInitializer:old_createAddInitializerMethod(initializers,decoratorFinishedRef)},old_createMetadataMethodsForProperty(metadataMap,0,name,decoratorFinishedRef)),nextNewClass=classDecs[i](newClass,ctx)}finally{decoratorFinishedRef.v=!0}void 0!==nextNewClass&&(old_assertValidReturnValue(10,nextNewClass),newClass=nextNewClass)}ret.push(newClass,(function(){for(var i=0;i<initializers.length;i++)initializers[i].call(newClass)}))}}export default function applyDecs(targetClass,memberDecs,classDecs){var ret=[],staticMetadataMap={},protoMetadataMap={};return old_applyMemberDecs(ret,targetClass,protoMetadataMap,staticMetadataMap,memberDecs),old_convertMetadataMapToFinal(targetClass.prototype,protoMetadataMap),old_applyClassDecs(ret,targetClass,staticMetadataMap,classDecs),old_convertMetadataMapToFinal(targetClass,staticMetadataMap),ret}'),
|
|
applyDecs2203: helper$3("7.19.0", 'function applyDecs2203Factory(){function createAddInitializerMethod(initializers,decoratorFinishedRef){return function(initializer){!function(decoratorFinishedRef,fnName){if(decoratorFinishedRef.v)throw new Error("attempted to call "+fnName+" after decoration was finished")}(decoratorFinishedRef,"addInitializer"),assertCallable(initializer,"An initializer"),initializers.push(initializer)}}function memberDec(dec,name,desc,initializers,kind,isStatic,isPrivate,value){var kindStr;switch(kind){case 1:kindStr="accessor";break;case 2:kindStr="method";break;case 3:kindStr="getter";break;case 4:kindStr="setter";break;default:kindStr="field"}var get,set,ctx={kind:kindStr,name:isPrivate?"#"+name:name,static:isStatic,private:isPrivate},decoratorFinishedRef={v:!1};0!==kind&&(ctx.addInitializer=createAddInitializerMethod(initializers,decoratorFinishedRef)),0===kind?isPrivate?(get=desc.get,set=desc.set):(get=function(){return this[name]},set=function(v){this[name]=v}):2===kind?get=function(){return desc.value}:(1!==kind&&3!==kind||(get=function(){return desc.get.call(this)}),1!==kind&&4!==kind||(set=function(v){desc.set.call(this,v)})),ctx.access=get&&set?{get:get,set:set}:get?{get:get}:{set:set};try{return dec(value,ctx)}finally{decoratorFinishedRef.v=!0}}function assertCallable(fn,hint){if("function"!=typeof fn)throw new TypeError(hint+" must be a function")}function assertValidReturnValue(kind,value){var type=typeof value;if(1===kind){if("object"!==type||null===value)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==value.get&&assertCallable(value.get,"accessor.get"),void 0!==value.set&&assertCallable(value.set,"accessor.set"),void 0!==value.init&&assertCallable(value.init,"accessor.init")}else if("function"!==type){var hint;throw hint=0===kind?"field":10===kind?"class":"method",new TypeError(hint+" decorators must return a function or void 0")}}function applyMemberDec(ret,base,decInfo,name,kind,isStatic,isPrivate,initializers){var desc,init,value,newValue,get,set,decs=decInfo[0];if(isPrivate?desc=0===kind||1===kind?{get:decInfo[3],set:decInfo[4]}:3===kind?{get:decInfo[3]}:4===kind?{set:decInfo[3]}:{value:decInfo[3]}:0!==kind&&(desc=Object.getOwnPropertyDescriptor(base,name)),1===kind?value={get:desc.get,set:desc.set}:2===kind?value=desc.value:3===kind?value=desc.get:4===kind&&(value=desc.set),"function"==typeof decs)void 0!==(newValue=memberDec(decs,name,desc,initializers,kind,isStatic,isPrivate,value))&&(assertValidReturnValue(kind,newValue),0===kind?init=newValue:1===kind?(init=newValue.init,get=newValue.get||value.get,set=newValue.set||value.set,value={get:get,set:set}):value=newValue);else for(var i=decs.length-1;i>=0;i--){var newInit;if(void 0!==(newValue=memberDec(decs[i],name,desc,initializers,kind,isStatic,isPrivate,value)))assertValidReturnValue(kind,newValue),0===kind?newInit=newValue:1===kind?(newInit=newValue.init,get=newValue.get||value.get,set=newValue.set||value.set,value={get:get,set:set}):value=newValue,void 0!==newInit&&(void 0===init?init=newInit:"function"==typeof init?init=[init,newInit]:init.push(newInit))}if(0===kind||1===kind){if(void 0===init)init=function(instance,init){return init};else if("function"!=typeof init){var ownInitializers=init;init=function(instance,init){for(var value=init,i=0;i<ownInitializers.length;i++)value=ownInitializers[i].call(instance,value);return value}}else{var originalInitializer=init;init=function(instance,init){return originalInitializer.call(instance,init)}}ret.push(init)}0!==kind&&(1===kind?(desc.get=value.get,desc.set=value.set):2===kind?desc.value=value:3===kind?desc.get=value:4===kind&&(desc.set=value),isPrivate?1===kind?(ret.push((function(instance,args){return value.get.call(instance,args)})),ret.push((function(instance,args){return value.set.call(instance,args)}))):2===kind?ret.push(value):ret.push((function(instance,args){return value.call(instance,args)})):Object.defineProperty(base,name,desc))}function pushInitializers(ret,initializers){initializers&&ret.push((function(instance){for(var i=0;i<initializers.length;i++)initializers[i].call(instance);return instance}))}return function(targetClass,memberDecs,classDecs){var ret=[];return function(ret,Class,decInfos){for(var protoInitializers,staticInitializers,existingProtoNonFields=new Map,existingStaticNonFields=new Map,i=0;i<decInfos.length;i++){var decInfo=decInfos[i];if(Array.isArray(decInfo)){var base,initializers,kind=decInfo[1],name=decInfo[2],isPrivate=decInfo.length>3,isStatic=kind>=5;if(isStatic?(base=Class,0!=(kind-=5)&&(initializers=staticInitializers=staticInitializers||[])):(base=Class.prototype,0!==kind&&(initializers=protoInitializers=protoInitializers||[])),0!==kind&&!isPrivate){var existingNonFields=isStatic?existingStaticNonFields:existingProtoNonFields,existingKind=existingNonFields.get(name)||0;if(!0===existingKind||3===existingKind&&4!==kind||4===existingKind&&3!==kind)throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+name);!existingKind&&kind>2?existingNonFields.set(name,kind):existingNonFields.set(name,!0)}applyMemberDec(ret,base,decInfo,name,kind,isStatic,isPrivate,initializers)}}pushInitializers(ret,protoInitializers),pushInitializers(ret,staticInitializers)}(ret,targetClass,memberDecs),function(ret,targetClass,classDecs){if(classDecs.length>0){for(var initializers=[],newClass=targetClass,name=targetClass.name,i=classDecs.length-1;i>=0;i--){var decoratorFinishedRef={v:!1};try{var nextNewClass=classDecs[i](newClass,{kind:"class",name:name,addInitializer:createAddInitializerMethod(initializers,decoratorFinishedRef)})}finally{decoratorFinishedRef.v=!0}void 0!==nextNewClass&&(assertValidReturnValue(10,nextNewClass),newClass=nextNewClass)}ret.push(newClass,(function(){for(var i=0;i<initializers.length;i++)initializers[i].call(newClass)}))}}(ret,targetClass,classDecs),ret}}var applyDecs2203Impl;export default function applyDecs2203(targetClass,memberDecs,classDecs){return(applyDecs2203Impl=applyDecs2203Impl||applyDecs2203Factory())(targetClass,memberDecs,classDecs)}'),
|
|
applyDecs2203R: helper$3("7.20.0", 'function applyDecs2203RFactory(){function createAddInitializerMethod(initializers,decoratorFinishedRef){return function(initializer){!function(decoratorFinishedRef,fnName){if(decoratorFinishedRef.v)throw new Error("attempted to call "+fnName+" after decoration was finished")}(decoratorFinishedRef,"addInitializer"),assertCallable(initializer,"An initializer"),initializers.push(initializer)}}function memberDec(dec,name,desc,initializers,kind,isStatic,isPrivate,value){var kindStr;switch(kind){case 1:kindStr="accessor";break;case 2:kindStr="method";break;case 3:kindStr="getter";break;case 4:kindStr="setter";break;default:kindStr="field"}var get,set,ctx={kind:kindStr,name:isPrivate?"#"+name:name,static:isStatic,private:isPrivate},decoratorFinishedRef={v:!1};0!==kind&&(ctx.addInitializer=createAddInitializerMethod(initializers,decoratorFinishedRef)),0===kind?isPrivate?(get=desc.get,set=desc.set):(get=function(){return this[name]},set=function(v){this[name]=v}):2===kind?get=function(){return desc.value}:(1!==kind&&3!==kind||(get=function(){return desc.get.call(this)}),1!==kind&&4!==kind||(set=function(v){desc.set.call(this,v)})),ctx.access=get&&set?{get:get,set:set}:get?{get:get}:{set:set};try{return dec(value,ctx)}finally{decoratorFinishedRef.v=!0}}function assertCallable(fn,hint){if("function"!=typeof fn)throw new TypeError(hint+" must be a function")}function assertValidReturnValue(kind,value){var type=typeof value;if(1===kind){if("object"!==type||null===value)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==value.get&&assertCallable(value.get,"accessor.get"),void 0!==value.set&&assertCallable(value.set,"accessor.set"),void 0!==value.init&&assertCallable(value.init,"accessor.init")}else if("function"!==type){var hint;throw hint=0===kind?"field":10===kind?"class":"method",new TypeError(hint+" decorators must return a function or void 0")}}function applyMemberDec(ret,base,decInfo,name,kind,isStatic,isPrivate,initializers){var desc,init,value,newValue,get,set,decs=decInfo[0];if(isPrivate?desc=0===kind||1===kind?{get:decInfo[3],set:decInfo[4]}:3===kind?{get:decInfo[3]}:4===kind?{set:decInfo[3]}:{value:decInfo[3]}:0!==kind&&(desc=Object.getOwnPropertyDescriptor(base,name)),1===kind?value={get:desc.get,set:desc.set}:2===kind?value=desc.value:3===kind?value=desc.get:4===kind&&(value=desc.set),"function"==typeof decs)void 0!==(newValue=memberDec(decs,name,desc,initializers,kind,isStatic,isPrivate,value))&&(assertValidReturnValue(kind,newValue),0===kind?init=newValue:1===kind?(init=newValue.init,get=newValue.get||value.get,set=newValue.set||value.set,value={get:get,set:set}):value=newValue);else for(var i=decs.length-1;i>=0;i--){var newInit;if(void 0!==(newValue=memberDec(decs[i],name,desc,initializers,kind,isStatic,isPrivate,value)))assertValidReturnValue(kind,newValue),0===kind?newInit=newValue:1===kind?(newInit=newValue.init,get=newValue.get||value.get,set=newValue.set||value.set,value={get:get,set:set}):value=newValue,void 0!==newInit&&(void 0===init?init=newInit:"function"==typeof init?init=[init,newInit]:init.push(newInit))}if(0===kind||1===kind){if(void 0===init)init=function(instance,init){return init};else if("function"!=typeof init){var ownInitializers=init;init=function(instance,init){for(var value=init,i=0;i<ownInitializers.length;i++)value=ownInitializers[i].call(instance,value);return value}}else{var originalInitializer=init;init=function(instance,init){return originalInitializer.call(instance,init)}}ret.push(init)}0!==kind&&(1===kind?(desc.get=value.get,desc.set=value.set):2===kind?desc.value=value:3===kind?desc.get=value:4===kind&&(desc.set=value),isPrivate?1===kind?(ret.push((function(instance,args){return value.get.call(instance,args)})),ret.push((function(instance,args){return value.set.call(instance,args)}))):2===kind?ret.push(value):ret.push((function(instance,args){return value.call(instance,args)})):Object.defineProperty(base,name,desc))}function applyMemberDecs(Class,decInfos){for(var protoInitializers,staticInitializers,ret=[],existingProtoNonFields=new Map,existingStaticNonFields=new Map,i=0;i<decInfos.length;i++){var decInfo=decInfos[i];if(Array.isArray(decInfo)){var base,initializers,kind=decInfo[1],name=decInfo[2],isPrivate=decInfo.length>3,isStatic=kind>=5;if(isStatic?(base=Class,0!==(kind-=5)&&(initializers=staticInitializers=staticInitializers||[])):(base=Class.prototype,0!==kind&&(initializers=protoInitializers=protoInitializers||[])),0!==kind&&!isPrivate){var existingNonFields=isStatic?existingStaticNonFields:existingProtoNonFields,existingKind=existingNonFields.get(name)||0;if(!0===existingKind||3===existingKind&&4!==kind||4===existingKind&&3!==kind)throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+name);!existingKind&&kind>2?existingNonFields.set(name,kind):existingNonFields.set(name,!0)}applyMemberDec(ret,base,decInfo,name,kind,isStatic,isPrivate,initializers)}}return pushInitializers(ret,protoInitializers),pushInitializers(ret,staticInitializers),ret}function pushInitializers(ret,initializers){initializers&&ret.push((function(instance){for(var i=0;i<initializers.length;i++)initializers[i].call(instance);return instance}))}return function(targetClass,memberDecs,classDecs){return{e:applyMemberDecs(targetClass,memberDecs),get c(){return function(targetClass,classDecs){if(classDecs.length>0){for(var initializers=[],newClass=targetClass,name=targetClass.name,i=classDecs.length-1;i>=0;i--){var decoratorFinishedRef={v:!1};try{var nextNewClass=classDecs[i](newClass,{kind:"class",name:name,addInitializer:createAddInitializerMethod(initializers,decoratorFinishedRef)})}finally{decoratorFinishedRef.v=!0}void 0!==nextNewClass&&(assertValidReturnValue(10,nextNewClass),newClass=nextNewClass)}return[newClass,function(){for(var i=0;i<initializers.length;i++)initializers[i].call(newClass)}]}}(targetClass,classDecs)}}}}export default function applyDecs2203R(targetClass,memberDecs,classDecs){return(applyDecs2203R=applyDecs2203RFactory())(targetClass,memberDecs,classDecs)}'),
|
|
applyDecs2301: helper$3("7.21.0", 'import checkInRHS from"checkInRHS";function createAddInitializerMethod(initializers,decoratorFinishedRef){return function(initializer){assertNotFinished(decoratorFinishedRef,"addInitializer"),assertCallable(initializer,"An initializer"),initializers.push(initializer)}}function assertInstanceIfPrivate(has,target){if(!has(target))throw new TypeError("Attempted to access private element on non-instance")}function memberDec(dec,name,desc,initializers,kind,isStatic,isPrivate,value,hasPrivateBrand){var kindStr;switch(kind){case 1:kindStr="accessor";break;case 2:kindStr="method";break;case 3:kindStr="getter";break;case 4:kindStr="setter";break;default:kindStr="field"}var get,set,ctx={kind:kindStr,name:isPrivate?"#"+name:name,static:isStatic,private:isPrivate},decoratorFinishedRef={v:!1};if(0!==kind&&(ctx.addInitializer=createAddInitializerMethod(initializers,decoratorFinishedRef)),isPrivate||0!==kind&&2!==kind)if(2===kind)get=function(target){return assertInstanceIfPrivate(hasPrivateBrand,target),desc.value};else{var t=0===kind||1===kind;(t||3===kind)&&(get=isPrivate?function(target){return assertInstanceIfPrivate(hasPrivateBrand,target),desc.get.call(target)}:function(target){return desc.get.call(target)}),(t||4===kind)&&(set=isPrivate?function(target,value){assertInstanceIfPrivate(hasPrivateBrand,target),desc.set.call(target,value)}:function(target,value){desc.set.call(target,value)})}else get=function(target){return target[name]},0===kind&&(set=function(target,v){target[name]=v});var has=isPrivate?hasPrivateBrand.bind():function(target){return name in target};ctx.access=get&&set?{get:get,set:set,has:has}:get?{get:get,has:has}:{set:set,has:has};try{return dec(value,ctx)}finally{decoratorFinishedRef.v=!0}}function assertNotFinished(decoratorFinishedRef,fnName){if(decoratorFinishedRef.v)throw new Error("attempted to call "+fnName+" after decoration was finished")}function assertCallable(fn,hint){if("function"!=typeof fn)throw new TypeError(hint+" must be a function")}function assertValidReturnValue(kind,value){var type=typeof value;if(1===kind){if("object"!==type||null===value)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==value.get&&assertCallable(value.get,"accessor.get"),void 0!==value.set&&assertCallable(value.set,"accessor.set"),void 0!==value.init&&assertCallable(value.init,"accessor.init")}else if("function"!==type){var hint;throw hint=0===kind?"field":10===kind?"class":"method",new TypeError(hint+" decorators must return a function or void 0")}}function curryThis1(fn){return function(){return fn(this)}}function curryThis2(fn){return function(value){fn(this,value)}}function applyMemberDec(ret,base,decInfo,name,kind,isStatic,isPrivate,initializers,hasPrivateBrand){var desc,init,value,newValue,get,set,decs=decInfo[0];if(isPrivate?desc=0===kind||1===kind?{get:curryThis1(decInfo[3]),set:curryThis2(decInfo[4])}:3===kind?{get:decInfo[3]}:4===kind?{set:decInfo[3]}:{value:decInfo[3]}:0!==kind&&(desc=Object.getOwnPropertyDescriptor(base,name)),1===kind?value={get:desc.get,set:desc.set}:2===kind?value=desc.value:3===kind?value=desc.get:4===kind&&(value=desc.set),"function"==typeof decs)void 0!==(newValue=memberDec(decs,name,desc,initializers,kind,isStatic,isPrivate,value,hasPrivateBrand))&&(assertValidReturnValue(kind,newValue),0===kind?init=newValue:1===kind?(init=newValue.init,get=newValue.get||value.get,set=newValue.set||value.set,value={get:get,set:set}):value=newValue);else for(var i=decs.length-1;i>=0;i--){var newInit;if(void 0!==(newValue=memberDec(decs[i],name,desc,initializers,kind,isStatic,isPrivate,value,hasPrivateBrand)))assertValidReturnValue(kind,newValue),0===kind?newInit=newValue:1===kind?(newInit=newValue.init,get=newValue.get||value.get,set=newValue.set||value.set,value={get:get,set:set}):value=newValue,void 0!==newInit&&(void 0===init?init=newInit:"function"==typeof init?init=[init,newInit]:init.push(newInit))}if(0===kind||1===kind){if(void 0===init)init=function(instance,init){return init};else if("function"!=typeof init){var ownInitializers=init;init=function(instance,init){for(var value=init,i=0;i<ownInitializers.length;i++)value=ownInitializers[i].call(instance,value);return value}}else{var originalInitializer=init;init=function(instance,init){return originalInitializer.call(instance,init)}}ret.push(init)}0!==kind&&(1===kind?(desc.get=value.get,desc.set=value.set):2===kind?desc.value=value:3===kind?desc.get=value:4===kind&&(desc.set=value),isPrivate?1===kind?(ret.push((function(instance,args){return value.get.call(instance,args)})),ret.push((function(instance,args){return value.set.call(instance,args)}))):2===kind?ret.push(value):ret.push((function(instance,args){return value.call(instance,args)})):Object.defineProperty(base,name,desc))}function applyMemberDecs(Class,decInfos,instanceBrand){for(var protoInitializers,staticInitializers,staticBrand,ret=[],existingProtoNonFields=new Map,existingStaticNonFields=new Map,i=0;i<decInfos.length;i++){var decInfo=decInfos[i];if(Array.isArray(decInfo)){var base,initializers,kind=decInfo[1],name=decInfo[2],isPrivate=decInfo.length>3,isStatic=kind>=5,hasPrivateBrand=instanceBrand;if(isStatic?(base=Class,0!==(kind-=5)&&(initializers=staticInitializers=staticInitializers||[]),isPrivate&&!staticBrand&&(staticBrand=function(_){return checkInRHS(_)===Class}),hasPrivateBrand=staticBrand):(base=Class.prototype,0!==kind&&(initializers=protoInitializers=protoInitializers||[])),0!==kind&&!isPrivate){var existingNonFields=isStatic?existingStaticNonFields:existingProtoNonFields,existingKind=existingNonFields.get(name)||0;if(!0===existingKind||3===existingKind&&4!==kind||4===existingKind&&3!==kind)throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+name);!existingKind&&kind>2?existingNonFields.set(name,kind):existingNonFields.set(name,!0)}applyMemberDec(ret,base,decInfo,name,kind,isStatic,isPrivate,initializers,hasPrivateBrand)}}return pushInitializers(ret,protoInitializers),pushInitializers(ret,staticInitializers),ret}function pushInitializers(ret,initializers){initializers&&ret.push((function(instance){for(var i=0;i<initializers.length;i++)initializers[i].call(instance);return instance}))}function applyClassDecs(targetClass,classDecs){if(classDecs.length>0){for(var initializers=[],newClass=targetClass,name=targetClass.name,i=classDecs.length-1;i>=0;i--){var decoratorFinishedRef={v:!1};try{var nextNewClass=classDecs[i](newClass,{kind:"class",name:name,addInitializer:createAddInitializerMethod(initializers,decoratorFinishedRef)})}finally{decoratorFinishedRef.v=!0}void 0!==nextNewClass&&(assertValidReturnValue(10,nextNewClass),newClass=nextNewClass)}return[newClass,function(){for(var i=0;i<initializers.length;i++)initializers[i].call(newClass)}]}}export default function applyDecs2301(targetClass,memberDecs,classDecs,instanceBrand){return{e:applyMemberDecs(targetClass,memberDecs,instanceBrand),get c(){return applyClassDecs(targetClass,classDecs)}}}'),
|
|
asyncGeneratorDelegate: helper$3("7.0.0-beta.0", 'import OverloadYield from"OverloadYield";export default function _asyncGeneratorDelegate(inner){var iter={},waiting=!1;function pump(key,value){return waiting=!0,value=new Promise((function(resolve){resolve(inner[key](value))})),{done:!1,value:new OverloadYield(value,1)}}return iter["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},iter.next=function(value){return waiting?(waiting=!1,value):pump("next",value)},"function"==typeof inner.throw&&(iter.throw=function(value){if(waiting)throw waiting=!1,value;return pump("throw",value)}),"function"==typeof inner.return&&(iter.return=function(value){return waiting?(waiting=!1,value):pump("return",value)}),iter}'),
|
|
asyncIterator: helper$3("7.15.9", 'export default function _asyncIterator(iterable){var method,async,sync,retry=2;for("undefined"!=typeof Symbol&&(async=Symbol.asyncIterator,sync=Symbol.iterator);retry--;){if(async&&null!=(method=iterable[async]))return method.call(iterable);if(sync&&null!=(method=iterable[sync]))return new AsyncFromSyncIterator(method.call(iterable));async="@@asyncIterator",sync="@@iterator"}throw new TypeError("Object is not async iterable")}function AsyncFromSyncIterator(s){function AsyncFromSyncIteratorContinuation(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var done=r.done;return Promise.resolve(r.value).then((function(value){return{value:value,done:done}}))}return AsyncFromSyncIterator=function(s){this.s=s,this.n=s.next},AsyncFromSyncIterator.prototype={s:null,n:null,next:function(){return AsyncFromSyncIteratorContinuation(this.n.apply(this.s,arguments))},return:function(value){var ret=this.s.return;return void 0===ret?Promise.resolve({value:value,done:!0}):AsyncFromSyncIteratorContinuation(ret.apply(this.s,arguments))},throw:function(value){var thr=this.s.return;return void 0===thr?Promise.reject(value):AsyncFromSyncIteratorContinuation(thr.apply(this.s,arguments))}},new AsyncFromSyncIterator(s)}'),
|
|
awaitAsyncGenerator: helper$3("7.0.0-beta.0", 'import OverloadYield from"OverloadYield";export default function _awaitAsyncGenerator(value){return new OverloadYield(value,0)}'),
|
|
checkInRHS: helper$3("7.20.5", 'export default function _checkInRHS(value){if(Object(value)!==value)throw TypeError("right-hand side of \'in\' should be an object, got "+(null!==value?typeof value:"null"));return value}'),
|
|
defineAccessor: helper$3("7.20.7", "export default function _defineAccessor(type,obj,key,fn){var desc={configurable:!0,enumerable:!0};return desc[type]=fn,Object.defineProperty(obj,key,desc)}"),
|
|
iterableToArrayLimit: helper$3("7.0.0-beta.0", 'export default function _iterableToArrayLimit(arr,i){var _i=null==arr?null:"undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"];if(null!=_i){var _s,_e,_x,_r,_arr=[],_n=!0,_d=!1;try{if(_x=(_i=_i.call(arr)).next,0===i){if(Object(_i)!==_i)return;_n=!1}else for(;!(_n=(_s=_x.call(_i)).done)&&(_arr.push(_s.value),_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{if(!_n&&null!=_i.return&&(_r=_i.return(),Object(_r)!==_r))return}finally{if(_d)throw _e}}return _arr}}'),
|
|
iterableToArrayLimitLoose: helper$3("7.0.0-beta.0", 'export default function _iterableToArrayLimitLoose(arr,i){var _i=arr&&("undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"]);if(null!=_i){var _s,_arr=[];for(_i=_i.call(arr);arr.length<i&&!(_s=_i.next()).done;)_arr.push(_s.value);return _arr}}'),
|
|
jsx: helper$3("7.0.0-beta.0", 'var REACT_ELEMENT_TYPE;export default function _createRawReactElement(type,props,key,children){REACT_ELEMENT_TYPE||(REACT_ELEMENT_TYPE="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var defaultProps=type&&type.defaultProps,childrenLength=arguments.length-3;if(props||0===childrenLength||(props={children:void 0}),1===childrenLength)props.children=children;else if(childrenLength>1){for(var childArray=new Array(childrenLength),i=0;i<childrenLength;i++)childArray[i]=arguments[i+3];props.children=childArray}if(props&&defaultProps)for(var propName in defaultProps)void 0===props[propName]&&(props[propName]=defaultProps[propName]);else props||(props=defaultProps||{});return{$$typeof:REACT_ELEMENT_TYPE,type:type,key:void 0===key?null:""+key,ref:null,props:props,_owner:null}}'),
|
|
objectSpread2: helper$3("7.5.0", 'import defineProperty from"defineProperty";function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}export default function _objectSpread2(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach((function(key){defineProperty(target,key,source[key])})):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}return target}'),
|
|
regeneratorRuntime: helper$3("7.18.0", 'export default function _regeneratorRuntime(){"use strict";\n/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function(){return exports};var exports={},Op=Object.prototype,hasOwn=Op.hasOwnProperty,defineProperty=Object.defineProperty||function(obj,key,desc){obj[key]=desc.value},$Symbol="function"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||"@@iterator",asyncIteratorSymbol=$Symbol.asyncIterator||"@@asyncIterator",toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";function define(obj,key,value){return Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}),obj[key]}try{define({},"")}catch(err){define=function(obj,key,value){return obj[key]=value}}function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator,generator=Object.create(protoGenerator.prototype),context=new Context(tryLocsList||[]);return defineProperty(generator,"_invoke",{value:makeInvokeMethod(innerFn,self,context)}),generator}function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}exports.wrap=wrap;var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};define(IteratorPrototype,iteratorSymbol,(function(){return this}));var getProto=Object.getPrototypeOf,NativeIteratorPrototype=getProto&&getProto(getProto(values([])));NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)&&(IteratorPrototype=NativeIteratorPrototype);var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);function defineIteratorMethods(prototype){["next","throw","return"].forEach((function(method){define(prototype,method,(function(arg){return this._invoke(method,arg)}))}))}function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if("throw"!==record.type){var result=record.arg,value=result.value;return value&&"object"==typeof value&&hasOwn.call(value,"__await")?PromiseImpl.resolve(value.__await).then((function(value){invoke("next",value,resolve,reject)}),(function(err){invoke("throw",err,resolve,reject)})):PromiseImpl.resolve(value).then((function(unwrapped){result.value=unwrapped,resolve(result)}),(function(error){return invoke("throw",error,resolve,reject)}))}reject(record.arg)}var previousPromise;defineProperty(this,"_invoke",{value:function(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl((function(resolve,reject){invoke(method,arg,resolve,reject)}))}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(innerFn,self,context){var state="suspendedStart";return function(method,arg){if("executing"===state)throw new Error("Generator is already running");if("completed"===state){if("throw"===method)throw arg;return doneResult()}for(context.method=method,context.arg=arg;;){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult}}if("next"===context.method)context.sent=context._sent=context.arg;else if("throw"===context.method){if("suspendedStart"===state)throw state="completed",context.arg;context.dispatchException(context.arg)}else"return"===context.method&&context.abrupt("return",context.arg);state="executing";var record=tryCatch(innerFn,self,context);if("normal"===record.type){if(state=context.done?"completed":"suspendedYield",record.arg===ContinueSentinel)continue;return{value:record.arg,done:context.done}}"throw"===record.type&&(state="completed",context.method="throw",context.arg=record.arg)}}}function maybeInvokeDelegate(delegate,context){var methodName=context.method,method=delegate.iterator[methodName];if(undefined===method)return context.delegate=null,"throw"===methodName&&delegate.iterator.return&&(context.method="return",context.arg=undefined,maybeInvokeDelegate(delegate,context),"throw"===context.method)||"return"!==methodName&&(context.method="throw",context.arg=new TypeError("The iterator does not provide a \'"+methodName+"\' method")),ContinueSentinel;var record=tryCatch(method,delegate.iterator,context.arg);if("throw"===record.type)return context.method="throw",context.arg=record.arg,context.delegate=null,ContinueSentinel;var info=record.arg;return info?info.done?(context[delegate.resultName]=info.value,context.next=delegate.nextLoc,"return"!==context.method&&(context.method="next",context.arg=undefined),context.delegate=null,ContinueSentinel):info:(context.method="throw",context.arg=new TypeError("iterator result is not an object"),context.delegate=null,ContinueSentinel)}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal",delete record.arg,entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0)}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if("function"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i<iterable.length;)if(hasOwn.call(iterable,i))return next.value=iterable[i],next.done=!1,next;return next.value=undefined,next.done=!0,next};return next.next=next}}return{next:doneResult}}function doneResult(){return{value:undefined,done:!0}}return GeneratorFunction.prototype=GeneratorFunctionPrototype,defineProperty(Gp,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),defineProperty(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,toStringTagSymbol,"GeneratorFunction"),exports.isGeneratorFunction=function(genFun){var ctor="function"==typeof genFun&&genFun.constructor;return!!ctor&&(ctor===GeneratorFunction||"GeneratorFunction"===(ctor.displayName||ctor.name))},exports.mark=function(genFun){return Object.setPrototypeOf?Object.setPrototypeOf(genFun,GeneratorFunctionPrototype):(genFun.__proto__=GeneratorFunctionPrototype,define(genFun,toStringTagSymbol,"GeneratorFunction")),genFun.prototype=Object.create(Gp),genFun},exports.awrap=function(arg){return{__await:arg}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,asyncIteratorSymbol,(function(){return this})),exports.AsyncIterator=AsyncIterator,exports.async=function(innerFn,outerFn,self,tryLocsList,PromiseImpl){void 0===PromiseImpl&&(PromiseImpl=Promise);var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList),PromiseImpl);return exports.isGeneratorFunction(outerFn)?iter:iter.next().then((function(result){return result.done?result.value:iter.next()}))},defineIteratorMethods(Gp),define(Gp,toStringTagSymbol,"Generator"),define(Gp,iteratorSymbol,(function(){return this})),define(Gp,"toString",(function(){return"[object Generator]"})),exports.keys=function(val){var object=Object(val),keys=[];for(var key in object)keys.push(key);return keys.reverse(),function next(){for(;keys.length;){var key=keys.pop();if(key in object)return next.value=key,next.done=!1,next}return next.done=!0,next}},exports.values=values,Context.prototype={constructor:Context,reset:function(skipTempReset){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.method="next",this.arg=undefined,this.tryEntries.forEach(resetTryEntry),!skipTempReset)for(var name in this)"t"===name.charAt(0)&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))&&(this[name]=undefined)},stop:function(){this.done=!0;var rootRecord=this.tryEntries[0].completion;if("throw"===rootRecord.type)throw rootRecord.arg;return this.rval},dispatchException:function(exception){if(this.done)throw exception;var context=this;function handle(loc,caught){return record.type="throw",record.arg=exception,context.next=loc,caught&&(context.method="next",context.arg=undefined),!!caught}for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}else if(hasCatch){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0)}else{if(!hasFinally)throw new Error("try statement without catch or finally");if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}}}},abrupt:function(type,arg){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break}}finallyEntry&&("break"===type||"continue"===type)&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc&&(finallyEntry=null);var record=finallyEntry?finallyEntry.completion:{};return record.type=type,record.arg=arg,finallyEntry?(this.method="next",this.next=finallyEntry.finallyLoc,ContinueSentinel):this.complete(record)},complete:function(record,afterLoc){if("throw"===record.type)throw record.arg;return"break"===record.type||"continue"===record.type?this.next=record.arg:"return"===record.type?(this.rval=this.arg=record.arg,this.method="return",this.next="end"):"normal"===record.type&&afterLoc&&(this.next=afterLoc),ContinueSentinel},finish:function(finallyLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel}},catch:function(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},"next"===this.method&&(this.arg=undefined),ContinueSentinel}},exports}'),
|
|
"typeof": helper$3("7.0.0-beta.0", 'export default function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}'),
|
|
wrapRegExp: helper$3("7.19.0", 'import setPrototypeOf from"setPrototypeOf";import inherits from"inherits";export default function _wrapRegExp(){_wrapRegExp=function(re,groups){return new BabelRegExp(re,void 0,groups)};var _super=RegExp.prototype,_groups=new WeakMap;function BabelRegExp(re,flags,groups){var _this=new RegExp(re,flags);return _groups.set(_this,groups||_groups.get(re)),setPrototypeOf(_this,BabelRegExp.prototype)}function buildGroups(result,re){var g=_groups.get(re);return Object.keys(g).reduce((function(groups,name){var i=g[name];if("number"==typeof i)groups[name]=result[i];else{for(var k=0;void 0===result[i[k]]&&k+1<i.length;)k++;groups[name]=result[i[k]]}return groups}),Object.create(null))}return inherits(BabelRegExp,RegExp),BabelRegExp.prototype.exec=function(str){var result=_super.exec.call(this,str);if(result){result.groups=buildGroups(result,this);var indices=result.indices;indices&&(indices.groups=buildGroups(indices,this))}return result},BabelRegExp.prototype[Symbol.replace]=function(str,substitution){if("string"==typeof substitution){var groups=_groups.get(this);return _super[Symbol.replace].call(this,str,substitution.replace(/\\$<([^>]+)>/g,(function(_,name){var group=groups[name];return"$"+(Array.isArray(group)?group.join("$"):group)})))}if("function"==typeof substitution){var _this=this;return _super[Symbol.replace].call(this,str,(function(){var args=arguments;return"object"!=typeof args[args.length-1]&&(args=[].slice.call(args)).push(buildGroups(args,_this)),substitution.apply(this,args)}))}return _super[Symbol.replace].call(this,str,substitution)},_wrapRegExp.apply(this,arguments)}')
|
|
});
|
|
|
|
var _templateObject$v, _templateObject2$f, _templateObject3$d, _templateObject4$8, _templateObject5$5, _templateObject6$5, _templateObject7$3, _templateObject8$2, _templateObject9$2, _templateObject10$2, _templateObject11$2, _templateObject12$2, _templateObject13$2, _templateObject14$1, _templateObject15$1, _templateObject16$1, _templateObject17$1, _templateObject18$1, _templateObject19$1, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53, _templateObject54, _templateObject55, _templateObject56, _templateObject57, _templateObject58, _templateObject59, _templateObject60, _templateObject61, _templateObject62, _templateObject63, _templateObject64, _templateObject65, _templateObject66, _templateObject67, _templateObject68, _templateObject69, _templateObject70, _templateObject71, _templateObject72, _templateObject73, _templateObject74, _templateObject75, _templateObject76, _templateObject77, _templateObject78, _templateObject79, _templateObject80, _templateObject81, _templateObject82;
|
|
var helpers$1 = Object.assign({
|
|
__proto__: null
|
|
}, generated);
|
|
var helper$2 = function helper(minVersion) {
|
|
return function (tpl) {
|
|
return {
|
|
minVersion: minVersion,
|
|
ast: function ast() {
|
|
return template$2.program.ast(tpl);
|
|
}
|
|
};
|
|
};
|
|
};
|
|
{
|
|
helpers$1.AwaitValue = helper$2("7.0.0-beta.0")(_templateObject$v || (_templateObject$v = _taggedTemplateLiteralLoose(["\n export default function _AwaitValue(value) {\n this.wrapped = value;\n }\n "])));
|
|
}
|
|
helpers$1.wrapAsyncGenerator = helper$2("7.0.0-beta.0")(_templateObject2$f || (_templateObject2$f = _taggedTemplateLiteralLoose(["\n import AsyncGenerator from \"AsyncGenerator\";\n\n export default function _wrapAsyncGenerator(fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n }\n"])));
|
|
helpers$1.asyncToGenerator = helper$2("7.0.0-beta.0")(_templateObject3$d || (_templateObject3$d = _taggedTemplateLiteralLoose(["\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n export default function _asyncToGenerator(fn) {\n return function () {\n var self = this, args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n"])));
|
|
helpers$1.classCallCheck = helper$2("7.0.0-beta.0")(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteralLoose(["\n export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n"])));
|
|
helpers$1.createClass = helper$2("7.0.0-beta.0")(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteralLoose(["\n import toPropertyKey from \"toPropertyKey\";\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i ++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n }\n\n export default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n }\n"])));
|
|
helpers$1.defineEnumerableProperties = helper$2("7.0.0-beta.0")(_templateObject6$5 || (_templateObject6$5 = _taggedTemplateLiteralLoose(["\n export default function _defineEnumerableProperties(obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n // Symbols are not enumerated over by for-in loops. If native\n // Symbols are available, fetch all of the descs object's own\n // symbol properties and define them on our target object too.\n if (Object.getOwnPropertySymbols) {\n var objectSymbols = Object.getOwnPropertySymbols(descs);\n for (var i = 0; i < objectSymbols.length; i++) {\n var sym = objectSymbols[i];\n var desc = descs[sym];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, sym, desc);\n }\n }\n return obj;\n }\n"])));
|
|
helpers$1.defaults = helper$2("7.0.0-beta.0")(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteralLoose(["\n export default function _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n return obj;\n }\n"])));
|
|
helpers$1.defineProperty = helper$2("7.0.0-beta.0")(_templateObject8$2 || (_templateObject8$2 = _taggedTemplateLiteralLoose(["\n import toPropertyKey from \"toPropertyKey\";\n export default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n"])));
|
|
helpers$1["extends"] = helper$2("7.0.0-beta.0")(_templateObject9$2 || (_templateObject9$2 = _taggedTemplateLiteralLoose(["\n export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n"])));
|
|
{
|
|
helpers$1.objectSpread = helper$2("7.0.0-beta.0")(_templateObject10$2 || (_templateObject10$2 = _taggedTemplateLiteralLoose(["\n import defineProperty from \"defineProperty\";\n\n export default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = (arguments[i] != null) ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n "])));
|
|
}
|
|
helpers$1.inherits = helper$2("7.0.0-beta.0")(_templateObject11$2 || (_templateObject11$2 = _taggedTemplateLiteralLoose(["\n import setPrototypeOf from \"setPrototypeOf\";\n\n export default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n // We can't use defineProperty to set the prototype in a single step because it\n // doesn't work in Chrome <= 36. https://github.com/babel/babel/issues/14056\n // V8 bug: https://bugs.chromium.org/p/v8/issues/detail?id=3334\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", { writable: false });\n if (superClass) setPrototypeOf(subClass, superClass);\n }\n"])));
|
|
helpers$1.inheritsLoose = helper$2("7.0.0-beta.0")(_templateObject12$2 || (_templateObject12$2 = _taggedTemplateLiteralLoose(["\n import setPrototypeOf from \"setPrototypeOf\";\n\n export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n }\n"])));
|
|
helpers$1.getPrototypeOf = helper$2("7.0.0-beta.0")(_templateObject13$2 || (_templateObject13$2 = _taggedTemplateLiteralLoose(["\n export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf\n ? Object.getPrototypeOf.bind()\n : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n"])));
|
|
helpers$1.setPrototypeOf = helper$2("7.0.0-beta.0")(_templateObject14$1 || (_templateObject14$1 = _taggedTemplateLiteralLoose(["\n export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf\n ? Object.setPrototypeOf.bind()\n : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n"])));
|
|
helpers$1.isNativeReflectConstruct = helper$2("7.9.0")(_templateObject15$1 || (_templateObject15$1 = _taggedTemplateLiteralLoose(["\n export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n\n // core-js@3\n if (Reflect.construct.sham) return false;\n\n // Proxy can't be polyfilled. Every browser implemented\n // proxies before or at the same time as Reflect.construct,\n // so if they support Proxy they also support Reflect.construct.\n if (typeof Proxy === \"function\") return true;\n\n // Since Reflect.construct can't be properly polyfilled, some\n // implementations (e.g. core-js@2) don't set the correct internal slots.\n // Those polyfills don't allow us to subclass built-ins, so we need to\n // use our fallback implementation.\n try {\n // If the internal slots aren't set, this throws an error similar to\n // TypeError: this is not a Boolean object.\n\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n"])));
|
|
helpers$1.construct = helper$2("7.0.0-beta.0")(_templateObject16$1 || (_templateObject16$1 = _taggedTemplateLiteralLoose(["\n import setPrototypeOf from \"setPrototypeOf\";\n import isNativeReflectConstruct from \"isNativeReflectConstruct\";\n\n export default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n // NOTE: If Parent !== Class, the correct __proto__ is set *after*\n // calling the constructor.\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n // Avoid issues with Class being present but undefined when it wasn't\n // present in the original call.\n return _construct.apply(null, arguments);\n }\n"])));
|
|
helpers$1.isNativeFunction = helper$2("7.0.0-beta.0")(_templateObject17$1 || (_templateObject17$1 = _taggedTemplateLiteralLoose(["\n export default function _isNativeFunction(fn) {\n // Note: This function returns \"true\" for core-js functions.\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n }\n"])));
|
|
helpers$1.wrapNativeSuper = helper$2("7.0.0-beta.0")(_templateObject18$1 || (_templateObject18$1 = _taggedTemplateLiteralLoose(["\n import getPrototypeOf from \"getPrototypeOf\";\n import setPrototypeOf from \"setPrototypeOf\";\n import isNativeFunction from \"isNativeFunction\";\n import construct from \"construct\";\n\n export default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor)\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n }\n });\n\n return setPrototypeOf(Wrapper, Class);\n }\n\n return _wrapNativeSuper(Class)\n }\n"])));
|
|
helpers$1["instanceof"] = helper$2("7.0.0-beta.0")(_templateObject19$1 || (_templateObject19$1 = _taggedTemplateLiteralLoose(["\n export default function _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n }\n"])));
|
|
helpers$1.interopRequireDefault = helper$2("7.0.0-beta.0")(_templateObject20 || (_templateObject20 = _taggedTemplateLiteralLoose(["\n export default function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n }\n"])));
|
|
helpers$1.interopRequireWildcard = helper$2("7.14.0")(_templateObject21 || (_templateObject21 = _taggedTemplateLiteralLoose(["\n function _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function (nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n }\n\n export default function _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || (typeof obj !== \"object\" && typeof obj !== \"function\")) {\n return { default: obj }\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor\n ? Object.getOwnPropertyDescriptor(obj, key)\n : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n }\n"])));
|
|
helpers$1.newArrowCheck = helper$2("7.0.0-beta.0")(_templateObject22 || (_templateObject22 = _taggedTemplateLiteralLoose(["\n export default function _newArrowCheck(innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n }\n"])));
|
|
helpers$1.objectDestructuringEmpty = helper$2("7.0.0-beta.0")(_templateObject23 || (_templateObject23 = _taggedTemplateLiteralLoose(["\n export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n }\n"])));
|
|
helpers$1.objectWithoutPropertiesLoose = helper$2("7.0.0-beta.0")(_templateObject24 || (_templateObject24 = _taggedTemplateLiteralLoose(["\n export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n }\n"])));
|
|
helpers$1.objectWithoutProperties = helper$2("7.0.0-beta.0")(_templateObject25 || (_templateObject25 = _taggedTemplateLiteralLoose(["\n import objectWithoutPropertiesLoose from \"objectWithoutPropertiesLoose\";\n\n export default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n }\n"])));
|
|
helpers$1.assertThisInitialized = helper$2("7.0.0-beta.0")(_templateObject26 || (_templateObject26 = _taggedTemplateLiteralLoose(["\n export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n"])));
|
|
helpers$1.possibleConstructorReturn = helper$2("7.0.0-beta.0")(_templateObject27 || (_templateObject27 = _taggedTemplateLiteralLoose(["\n import assertThisInitialized from \"assertThisInitialized\";\n\n export default function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n }\n"])));
|
|
helpers$1.createSuper = helper$2("7.9.0")(_templateObject28 || (_templateObject28 = _taggedTemplateLiteralLoose(["\n import getPrototypeOf from \"getPrototypeOf\";\n import isNativeReflectConstruct from \"isNativeReflectConstruct\";\n import possibleConstructorReturn from \"possibleConstructorReturn\";\n\n export default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived), result;\n if (hasNativeReflectConstruct) {\n // NOTE: This doesn't work if this.__proto__.constructor has been modified.\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n }\n }\n "])));
|
|
helpers$1.superPropBase = helper$2("7.0.0-beta.0")(_templateObject29 || (_templateObject29 = _taggedTemplateLiteralLoose(["\n import getPrototypeOf from \"getPrototypeOf\";\n\n export default function _superPropBase(object, property) {\n // Yes, this throws if object is null to being with, that's on purpose.\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n }\n"])));
|
|
helpers$1.get = helper$2("7.0.0-beta.0")(_templateObject30 || (_templateObject30 = _taggedTemplateLiteralLoose(["\n import superPropBase from \"superPropBase\";\n\n export default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n\n if (!base) return;\n\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n // STEP 3. If receiver is not present, then set receiver to target.\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n }\n"])));
|
|
helpers$1.set = helper$2("7.0.0-beta.0")(_templateObject31 || (_templateObject31 = _taggedTemplateLiteralLoose(["\n import superPropBase from \"superPropBase\";\n import defineProperty from \"defineProperty\";\n\n function set(target, property, value, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.set) {\n set = Reflect.set;\n } else {\n set = function set(target, property, value, receiver) {\n var base = superPropBase(target, property);\n var desc;\n\n if (base) {\n desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.set) {\n desc.set.call(receiver, value);\n return true;\n } else if (!desc.writable) {\n // Both getter and non-writable fall into this.\n return false;\n }\n }\n\n // Without a super that defines the property, spec boils down to\n // \"define on receiver\" for some reason.\n desc = Object.getOwnPropertyDescriptor(receiver, property);\n if (desc) {\n if (!desc.writable) {\n // Setter, getter, and non-writable fall into this.\n return false;\n }\n\n desc.value = value;\n Object.defineProperty(receiver, property, desc);\n } else {\n // Avoid setters that may be defined on Sub's prototype, but not on\n // the instance.\n defineProperty(receiver, property, value);\n }\n\n return true;\n };\n }\n\n return set(target, property, value, receiver);\n }\n\n export default function _set(target, property, value, receiver, isStrict) {\n var s = set(target, property, value, receiver || target);\n if (!s && isStrict) {\n throw new TypeError('failed to set property');\n }\n\n return value;\n }\n"])));
|
|
helpers$1.taggedTemplateLiteral = helper$2("7.0.0-beta.0")(_templateObject32 || (_templateObject32 = _taggedTemplateLiteralLoose(["\n export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) { raw = strings.slice(0); }\n return Object.freeze(Object.defineProperties(strings, {\n raw: { value: Object.freeze(raw) }\n }));\n }\n"])));
|
|
helpers$1.taggedTemplateLiteralLoose = helper$2("7.0.0-beta.0")(_templateObject33 || (_templateObject33 = _taggedTemplateLiteralLoose(["\n export default function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) { raw = strings.slice(0); }\n strings.raw = raw;\n return strings;\n }\n"])));
|
|
helpers$1.readOnlyError = helper$2("7.0.0-beta.0")(_templateObject34 || (_templateObject34 = _taggedTemplateLiteralLoose(["\n export default function _readOnlyError(name) {\n throw new TypeError(\"\\\"\" + name + \"\\\" is read-only\");\n }\n"], ["\n export default function _readOnlyError(name) {\n throw new TypeError(\"\\\\\"\" + name + \"\\\\\" is read-only\");\n }\n"])));
|
|
helpers$1.writeOnlyError = helper$2("7.12.13")(_templateObject35 || (_templateObject35 = _taggedTemplateLiteralLoose(["\n export default function _writeOnlyError(name) {\n throw new TypeError(\"\\\"\" + name + \"\\\" is write-only\");\n }\n"], ["\n export default function _writeOnlyError(name) {\n throw new TypeError(\"\\\\\"\" + name + \"\\\\\" is write-only\");\n }\n"])));
|
|
helpers$1.classNameTDZError = helper$2("7.0.0-beta.0")(_templateObject36 || (_templateObject36 = _taggedTemplateLiteralLoose(["\n export default function _classNameTDZError(name) {\n throw new ReferenceError(\"Class \\\"\" + name + \"\\\" cannot be referenced in computed property keys.\");\n }\n"], ["\n export default function _classNameTDZError(name) {\n throw new ReferenceError(\"Class \\\\\"\" + name + \"\\\\\" cannot be referenced in computed property keys.\");\n }\n"])));
|
|
helpers$1.temporalUndefined = helper$2("7.0.0-beta.0")(_templateObject37 || (_templateObject37 = _taggedTemplateLiteralLoose(["\n // This function isn't mean to be called, but to be used as a reference.\n // We can't use a normal object because it isn't hoisted.\n export default function _temporalUndefined() {}\n"])));
|
|
helpers$1.tdz = helper$2("7.5.5")(_templateObject38 || (_templateObject38 = _taggedTemplateLiteralLoose(["\n export default function _tdzError(name) {\n throw new ReferenceError(name + \" is not defined - temporal dead zone\");\n }\n"])));
|
|
helpers$1.temporalRef = helper$2("7.0.0-beta.0")(_templateObject39 || (_templateObject39 = _taggedTemplateLiteralLoose(["\n import undef from \"temporalUndefined\";\n import err from \"tdz\";\n\n export default function _temporalRef(val, name) {\n return val === undef ? err(name) : val;\n }\n"])));
|
|
helpers$1.slicedToArray = helper$2("7.0.0-beta.0")(_templateObject40 || (_templateObject40 = _taggedTemplateLiteralLoose(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArrayLimit from \"iterableToArrayLimit\";\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _slicedToArray(arr, i) {\n return (\n arrayWithHoles(arr) ||\n iterableToArrayLimit(arr, i) ||\n unsupportedIterableToArray(arr, i) ||\n nonIterableRest()\n );\n }\n"])));
|
|
helpers$1.slicedToArrayLoose = helper$2("7.0.0-beta.0")(_templateObject41 || (_templateObject41 = _taggedTemplateLiteralLoose(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArrayLimitLoose from \"iterableToArrayLimitLoose\";\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _slicedToArrayLoose(arr, i) {\n return (\n arrayWithHoles(arr) ||\n iterableToArrayLimitLoose(arr, i) ||\n unsupportedIterableToArray(arr, i) ||\n nonIterableRest()\n );\n }\n"])));
|
|
helpers$1.toArray = helper$2("7.0.0-beta.0")(_templateObject42 || (_templateObject42 = _taggedTemplateLiteralLoose(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArray from \"iterableToArray\";\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _toArray(arr) {\n return (\n arrayWithHoles(arr) ||\n iterableToArray(arr) ||\n unsupportedIterableToArray(arr) ||\n nonIterableRest()\n );\n }\n"])));
|
|
helpers$1.toConsumableArray = helper$2("7.0.0-beta.0")(_templateObject43 || (_templateObject43 = _taggedTemplateLiteralLoose(["\n import arrayWithoutHoles from \"arrayWithoutHoles\";\n import iterableToArray from \"iterableToArray\";\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n import nonIterableSpread from \"nonIterableSpread\";\n\n export default function _toConsumableArray(arr) {\n return (\n arrayWithoutHoles(arr) ||\n iterableToArray(arr) ||\n unsupportedIterableToArray(arr) ||\n nonIterableSpread()\n );\n }\n"])));
|
|
helpers$1.arrayWithoutHoles = helper$2("7.0.0-beta.0")(_templateObject44 || (_templateObject44 = _taggedTemplateLiteralLoose(["\n import arrayLikeToArray from \"arrayLikeToArray\";\n\n export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n }\n"])));
|
|
helpers$1.arrayWithHoles = helper$2("7.0.0-beta.0")(_templateObject45 || (_templateObject45 = _taggedTemplateLiteralLoose(["\n export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n"])));
|
|
helpers$1.maybeArrayLike = helper$2("7.9.0")(_templateObject46 || (_templateObject46 = _taggedTemplateLiteralLoose(["\n import arrayLikeToArray from \"arrayLikeToArray\";\n\n export default function _maybeArrayLike(next, arr, i) {\n if (arr && !Array.isArray(arr) && typeof arr.length === \"number\") {\n var len = arr.length;\n return arrayLikeToArray(arr, i !== void 0 && i < len ? i : len);\n }\n return next(arr, i);\n }\n"])));
|
|
helpers$1.iterableToArray = helper$2("7.0.0-beta.0")(_templateObject47 || (_templateObject47 = _taggedTemplateLiteralLoose(["\n export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n"])));
|
|
helpers$1.unsupportedIterableToArray = helper$2("7.9.0")(_templateObject48 || (_templateObject48 = _taggedTemplateLiteralLoose(["\n import arrayLikeToArray from \"arrayLikeToArray\";\n\n export default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return arrayLikeToArray(o, minLen);\n }\n"])));
|
|
helpers$1.arrayLikeToArray = helper$2("7.9.0")(_templateObject49 || (_templateObject49 = _taggedTemplateLiteralLoose(["\n export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n"])));
|
|
helpers$1.nonIterableSpread = helper$2("7.0.0-beta.0")(_templateObject50 || (_templateObject50 = _taggedTemplateLiteralLoose(["\n export default function _nonIterableSpread() {\n throw new TypeError(\n \"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n );\n }\n"], ["\n export default function _nonIterableSpread() {\n throw new TypeError(\n \"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n );\n }\n"])));
|
|
helpers$1.nonIterableRest = helper$2("7.0.0-beta.0")(_templateObject51 || (_templateObject51 = _taggedTemplateLiteralLoose(["\n export default function _nonIterableRest() {\n throw new TypeError(\n \"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n );\n }\n"], ["\n export default function _nonIterableRest() {\n throw new TypeError(\n \"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n );\n }\n"])));
|
|
helpers$1.createForOfIteratorHelper = helper$2("7.9.0")(_templateObject52 || (_templateObject52 = _taggedTemplateLiteralLoose(["\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n // s: start (create the iterator)\n // n: next\n // e: error (called whenever something throws)\n // f: finish (always called at the end)\n\n export default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n // Fallback for engines without symbol support\n if (\n Array.isArray(o) ||\n (it = unsupportedIterableToArray(o)) ||\n (allowArrayLike && o && typeof o.length === \"number\")\n ) {\n if (it) o = it;\n var i = 0;\n var F = function(){};\n return {\n s: F,\n n: function() {\n if (i >= o.length) return { done: true };\n return { done: false, value: o[i++] };\n },\n e: function(e) { throw e; },\n f: F,\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true, didErr = false, err;\n\n return {\n s: function() {\n it = it.call(o);\n },\n n: function() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function(e) {\n didErr = true;\n err = e;\n },\n f: function() {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n"], ["\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n // s: start (create the iterator)\n // n: next\n // e: error (called whenever something throws)\n // f: finish (always called at the end)\n\n export default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n // Fallback for engines without symbol support\n if (\n Array.isArray(o) ||\n (it = unsupportedIterableToArray(o)) ||\n (allowArrayLike && o && typeof o.length === \"number\")\n ) {\n if (it) o = it;\n var i = 0;\n var F = function(){};\n return {\n s: F,\n n: function() {\n if (i >= o.length) return { done: true };\n return { done: false, value: o[i++] };\n },\n e: function(e) { throw e; },\n f: F,\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true, didErr = false, err;\n\n return {\n s: function() {\n it = it.call(o);\n },\n n: function() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function(e) {\n didErr = true;\n err = e;\n },\n f: function() {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n"])));
|
|
helpers$1.createForOfIteratorHelperLoose = helper$2("7.9.0")(_templateObject53 || (_templateObject53 = _taggedTemplateLiteralLoose(["\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n export default function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (it) return (it = it.call(o)).next.bind(it);\n\n // Fallback for engines without symbol support\n if (\n Array.isArray(o) ||\n (it = unsupportedIterableToArray(o)) ||\n (allowArrayLike && o && typeof o.length === \"number\")\n ) {\n if (it) o = it;\n var i = 0;\n return function() {\n if (i >= o.length) return { done: true };\n return { done: false, value: o[i++] };\n }\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n"], ["\n import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n export default function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (it) return (it = it.call(o)).next.bind(it);\n\n // Fallback for engines without symbol support\n if (\n Array.isArray(o) ||\n (it = unsupportedIterableToArray(o)) ||\n (allowArrayLike && o && typeof o.length === \"number\")\n ) {\n if (it) o = it;\n var i = 0;\n return function() {\n if (i >= o.length) return { done: true };\n return { done: false, value: o[i++] };\n }\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n"])));
|
|
helpers$1.skipFirstGeneratorNext = helper$2("7.0.0-beta.0")(_templateObject54 || (_templateObject54 = _taggedTemplateLiteralLoose(["\n export default function _skipFirstGeneratorNext(fn) {\n return function () {\n var it = fn.apply(this, arguments);\n it.next();\n return it;\n }\n }\n"])));
|
|
helpers$1.toPrimitive = helper$2("7.1.5")(_templateObject55 || (_templateObject55 = _taggedTemplateLiteralLoose(["\n export default function _toPrimitive(\n input,\n hint /*: \"default\" | \"string\" | \"number\" | void */\n ) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n"])));
|
|
helpers$1.toPropertyKey = helper$2("7.1.5")(_templateObject56 || (_templateObject56 = _taggedTemplateLiteralLoose(["\n import toPrimitive from \"toPrimitive\";\n\n export default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n"])));
|
|
helpers$1.initializerWarningHelper = helper$2("7.0.0-beta.0")(_templateObject57 || (_templateObject57 = _taggedTemplateLiteralLoose(["\n export default function _initializerWarningHelper(descriptor, context){\n throw new Error(\n 'Decorating class property failed. Please ensure that ' +\n 'proposal-class-properties is enabled and runs after the decorators transform.'\n );\n }\n"])));
|
|
helpers$1.initializerDefineProperty = helper$2("7.0.0-beta.0")(_templateObject58 || (_templateObject58 = _taggedTemplateLiteralLoose(["\n export default function _initializerDefineProperty(target, property, descriptor, context){\n if (!descriptor) return;\n\n Object.defineProperty(target, property, {\n enumerable: descriptor.enumerable,\n configurable: descriptor.configurable,\n writable: descriptor.writable,\n value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,\n });\n }\n"])));
|
|
helpers$1.applyDecoratedDescriptor = helper$2("7.0.0-beta.0")(_templateObject59 || (_templateObject59 = _taggedTemplateLiteralLoose(["\n export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){\n var desc = {};\n Object.keys(descriptor).forEach(function(key){\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n if ('value' in desc || desc.initializer){\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function(desc, decorator){\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0){\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0){\n Object.defineProperty(target, property, desc);\n desc = null;\n }\n\n return desc;\n }\n"])));
|
|
helpers$1.classPrivateFieldLooseKey = helper$2("7.0.0-beta.0")(_templateObject60 || (_templateObject60 = _taggedTemplateLiteralLoose(["\n var id = 0;\n export default function _classPrivateFieldKey(name) {\n return \"__private_\" + (id++) + \"_\" + name;\n }\n"])));
|
|
helpers$1.classPrivateFieldLooseBase = helper$2("7.0.0-beta.0")(_templateObject61 || (_templateObject61 = _taggedTemplateLiteralLoose(["\n export default function _classPrivateFieldBase(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n return receiver;\n }\n"])));
|
|
helpers$1.classPrivateFieldGet = helper$2("7.0.0-beta.0")(_templateObject62 || (_templateObject62 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorGet from \"classApplyDescriptorGet\";\n import classExtractFieldDescriptor from \"classExtractFieldDescriptor\";\n export default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n }\n"])));
|
|
helpers$1.classPrivateFieldSet = helper$2("7.0.0-beta.0")(_templateObject63 || (_templateObject63 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorSet from \"classApplyDescriptorSet\";\n import classExtractFieldDescriptor from \"classExtractFieldDescriptor\";\n export default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n }\n"])));
|
|
helpers$1.classPrivateFieldDestructureSet = helper$2("7.4.4")(_templateObject64 || (_templateObject64 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorDestructureSet from \"classApplyDescriptorDestructureSet\";\n import classExtractFieldDescriptor from \"classExtractFieldDescriptor\";\n export default function _classPrivateFieldDestructureSet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n return classApplyDescriptorDestructureSet(receiver, descriptor);\n }\n"])));
|
|
helpers$1.classExtractFieldDescriptor = helper$2("7.13.10")(_templateObject65 || (_templateObject65 = _taggedTemplateLiteralLoose(["\n export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n }\n"])));
|
|
helpers$1.classStaticPrivateFieldSpecGet = helper$2("7.0.2")(_templateObject66 || (_templateObject66 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorGet from \"classApplyDescriptorGet\";\n import classCheckPrivateStaticAccess from \"classCheckPrivateStaticAccess\";\n import classCheckPrivateStaticFieldDescriptor from \"classCheckPrivateStaticFieldDescriptor\";\n export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n classCheckPrivateStaticFieldDescriptor(descriptor, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n }\n"])));
|
|
helpers$1.classStaticPrivateFieldSpecSet = helper$2("7.0.2")(_templateObject67 || (_templateObject67 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorSet from \"classApplyDescriptorSet\";\n import classCheckPrivateStaticAccess from \"classCheckPrivateStaticAccess\";\n import classCheckPrivateStaticFieldDescriptor from \"classCheckPrivateStaticFieldDescriptor\";\n export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n classCheckPrivateStaticFieldDescriptor(descriptor, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n }\n"])));
|
|
helpers$1.classStaticPrivateMethodGet = helper$2("7.3.2")(_templateObject68 || (_templateObject68 = _taggedTemplateLiteralLoose(["\n import classCheckPrivateStaticAccess from \"classCheckPrivateStaticAccess\";\n export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n return method;\n }\n"])));
|
|
helpers$1.classStaticPrivateMethodSet = helper$2("7.3.2")(_templateObject69 || (_templateObject69 = _taggedTemplateLiteralLoose(["\n export default function _classStaticPrivateMethodSet() {\n throw new TypeError(\"attempted to set read only static private field\");\n }\n"])));
|
|
helpers$1.classApplyDescriptorGet = helper$2("7.13.10")(_templateObject70 || (_templateObject70 = _taggedTemplateLiteralLoose(["\n export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n }\n"])));
|
|
helpers$1.classApplyDescriptorSet = helper$2("7.13.10")(_templateObject71 || (_templateObject71 = _taggedTemplateLiteralLoose(["\n export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n }\n"])));
|
|
helpers$1.classApplyDescriptorDestructureSet = helper$2("7.13.10")(_templateObject72 || (_templateObject72 = _taggedTemplateLiteralLoose(["\n export default function _classApplyDescriptorDestructureSet(receiver, descriptor) {\n if (descriptor.set) {\n if (!(\"__destrObj\" in descriptor)) {\n descriptor.__destrObj = {\n set value(v) {\n descriptor.set.call(receiver, v)\n },\n };\n }\n return descriptor.__destrObj;\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n return descriptor;\n }\n }\n"])));
|
|
helpers$1.classStaticPrivateFieldDestructureSet = helper$2("7.13.10")(_templateObject73 || (_templateObject73 = _taggedTemplateLiteralLoose(["\n import classApplyDescriptorDestructureSet from \"classApplyDescriptorDestructureSet\";\n import classCheckPrivateStaticAccess from \"classCheckPrivateStaticAccess\";\n import classCheckPrivateStaticFieldDescriptor from \"classCheckPrivateStaticFieldDescriptor\";\n export default function _classStaticPrivateFieldDestructureSet(receiver, classConstructor, descriptor) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n classCheckPrivateStaticFieldDescriptor(descriptor, \"set\");\n return classApplyDescriptorDestructureSet(receiver, descriptor);\n }\n"])));
|
|
helpers$1.classCheckPrivateStaticAccess = helper$2("7.13.10")(_templateObject74 || (_templateObject74 = _taggedTemplateLiteralLoose(["\n export default function _classCheckPrivateStaticAccess(receiver, classConstructor) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n }\n"])));
|
|
helpers$1.classCheckPrivateStaticFieldDescriptor = helper$2("7.13.10")(_templateObject75 || (_templateObject75 = _taggedTemplateLiteralLoose(["\n export default function _classCheckPrivateStaticFieldDescriptor(descriptor, action) {\n if (descriptor === undefined) {\n throw new TypeError(\"attempted to \" + action + \" private static field before its declaration\");\n }\n }\n"])));
|
|
helpers$1.decorate = helper$2("7.1.5")(_templateObject76 || (_templateObject76 = _taggedTemplateLiteralLoose(["\n import toArray from \"toArray\";\n import toPropertyKey from \"toPropertyKey\";\n\n // These comments are stripped by @babel/template\n /*::\n type PropertyDescriptor =\n | {\n value: any,\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n }\n | {\n get?: () => any,\n set?: (v: any) => void,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type FieldDescriptor ={\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type Placement = \"static\" | \"prototype\" | \"own\";\n type Key = string | symbol; // PrivateName is not supported yet.\n\n type ElementDescriptor =\n | {\n kind: \"method\",\n key: Key,\n placement: Placement,\n descriptor: PropertyDescriptor\n }\n | {\n kind: \"field\",\n key: Key,\n placement: Placement,\n descriptor: FieldDescriptor,\n initializer?: () => any,\n };\n\n // This is exposed to the user code\n type ElementObjectInput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n };\n\n // This is exposed to the user code\n type ElementObjectOutput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n extras?: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n // This is exposed to the user code\n type ClassObject = {\n [@@toStringTag]?: \"Descriptor\",\n kind: \"class\",\n elements: ElementDescriptor[],\n };\n\n type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;\n type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;\n type ClassFinisher = <A, B>(cl: Class<A>) => Class<B>;\n\n // Only used by Babel in the transform output, not part of the spec.\n type ElementDefinition =\n | {\n kind: \"method\",\n value: any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n }\n | {\n kind: \"field\",\n value: () => any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n };\n\n declare function ClassFactory<C>(initialize: (instance: C) => void): {\n F: Class<C>,\n d: ElementDefinition[]\n }\n\n */\n\n /*::\n // Various combinations with/without extras and with one or many finishers\n\n type ElementFinisherExtras = {\n element: ElementDescriptor,\n finisher?: ClassFinisher,\n extras?: ElementDescriptor[],\n };\n\n type ElementFinishersExtras = {\n element: ElementDescriptor,\n finishers: ClassFinisher[],\n extras: ElementDescriptor[],\n };\n\n type ElementsFinisher = {\n elements: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n type ElementsFinishers = {\n elements: ElementDescriptor[],\n finishers: ClassFinisher[],\n };\n\n */\n\n /*::\n\n type Placements = {\n static: Key[],\n prototype: Key[],\n own: Key[],\n };\n\n */\n\n // ClassDefinitionEvaluation (Steps 26-*)\n export default function _decorate(\n decorators /*: ClassDecorator[] */,\n factory /*: ClassFactory */,\n superClass /*: ?Class<*> */,\n mixins /*: ?Array<Function> */,\n ) /*: Class<*> */ {\n var api = _getDecoratorsApi();\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n api = mixins[i](api);\n }\n }\n\n var r = factory(function initialize(O) {\n api.initializeInstanceElements(O, decorated.elements);\n }, superClass);\n var decorated = api.decorateClass(\n _coalesceClassElements(r.d.map(_createElementDescriptor)),\n decorators,\n );\n\n api.initializeClassElements(r.F, decorated.elements);\n\n return api.runClassFinishers(r.F, decorated.finishers);\n }\n\n function _getDecoratorsApi() {\n _getDecoratorsApi = function() {\n return api;\n };\n\n var api = {\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n\n // InitializeInstanceElements\n initializeInstanceElements: function(\n /*::<C>*/ O /*: C */,\n elements /*: ElementDescriptor[] */,\n ) {\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (element.kind === kind && element.placement === \"own\") {\n this.defineClassElement(O, element);\n }\n }, this);\n }, this);\n },\n\n // InitializeClassElements\n initializeClassElements: function(\n /*::<C>*/ F /*: Class<C> */,\n elements /*: ElementDescriptor[] */,\n ) {\n var proto = F.prototype;\n\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n var placement = element.placement;\n if (\n element.kind === kind &&\n (placement === \"static\" || placement === \"prototype\")\n ) {\n var receiver = placement === \"static\" ? F : proto;\n this.defineClassElement(receiver, element);\n }\n }, this);\n }, this);\n },\n\n // DefineClassElement\n defineClassElement: function(\n /*::<C>*/ receiver /*: C | Class<C> */,\n element /*: ElementDescriptor */,\n ) {\n var descriptor /*: PropertyDescriptor */ = element.descriptor;\n if (element.kind === \"field\") {\n var initializer = element.initializer;\n descriptor = {\n enumerable: descriptor.enumerable,\n writable: descriptor.writable,\n configurable: descriptor.configurable,\n value: initializer === void 0 ? void 0 : initializer.call(receiver),\n };\n }\n Object.defineProperty(receiver, element.key, descriptor);\n },\n\n // DecorateClass\n decorateClass: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var newElements /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n var placements /*: Placements */ = {\n static: [],\n prototype: [],\n own: [],\n };\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n this.addElementPlacement(element, placements);\n }, this);\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (!_hasDecorators(element)) return newElements.push(element);\n\n var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(\n element,\n placements,\n );\n newElements.push(elementFinishersExtras.element);\n newElements.push.apply(newElements, elementFinishersExtras.extras);\n finishers.push.apply(finishers, elementFinishersExtras.finishers);\n }, this);\n\n if (!decorators) {\n return { elements: newElements, finishers: finishers };\n }\n\n var result /*: ElementsFinishers */ = this.decorateConstructor(\n newElements,\n decorators,\n );\n finishers.push.apply(finishers, result.finishers);\n result.finishers = finishers;\n\n return result;\n },\n\n // AddElementPlacement\n addElementPlacement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n silent /*: boolean */,\n ) {\n var keys = placements[element.placement];\n if (!silent && keys.indexOf(element.key) !== -1) {\n throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n }\n keys.push(element.key);\n },\n\n // DecorateElement\n decorateElement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n ) /*: ElementFinishersExtras */ {\n var extras /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n\n for (\n var decorators = element.decorators, i = decorators.length - 1;\n i >= 0;\n i--\n ) {\n // (inlined) RemoveElementPlacement\n var keys = placements[element.placement];\n keys.splice(keys.indexOf(element.key), 1);\n\n var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(\n element,\n );\n var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(\n (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||\n elementObject,\n );\n\n element = elementFinisherExtras.element;\n this.addElementPlacement(element, placements);\n\n if (elementFinisherExtras.finisher) {\n finishers.push(elementFinisherExtras.finisher);\n }\n\n var newExtras /*: ElementDescriptor[] | void */ =\n elementFinisherExtras.extras;\n if (newExtras) {\n for (var j = 0; j < newExtras.length; j++) {\n this.addElementPlacement(newExtras[j], placements);\n }\n extras.push.apply(extras, newExtras);\n }\n }\n\n return { element: element, finishers: finishers, extras: extras };\n },\n\n // DecorateConstructor\n decorateConstructor: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var finishers /*: ClassFinisher[] */ = [];\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var obj /*: ClassObject */ = this.fromClassDescriptor(elements);\n var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(\n (0, decorators[i])(obj) /*: ClassObject */ || obj,\n );\n\n if (elementsAndFinisher.finisher !== undefined) {\n finishers.push(elementsAndFinisher.finisher);\n }\n\n if (elementsAndFinisher.elements !== undefined) {\n elements = elementsAndFinisher.elements;\n\n for (var j = 0; j < elements.length - 1; j++) {\n for (var k = j + 1; k < elements.length; k++) {\n if (\n elements[j].key === elements[k].key &&\n elements[j].placement === elements[k].placement\n ) {\n throw new TypeError(\n \"Duplicated element (\" + elements[j].key + \")\",\n );\n }\n }\n }\n }\n }\n\n return { elements: elements, finishers: finishers };\n },\n\n // FromElementDescriptor\n fromElementDescriptor: function(\n element /*: ElementDescriptor */,\n ) /*: ElementObject */ {\n var obj /*: ElementObject */ = {\n kind: element.kind,\n key: element.key,\n placement: element.placement,\n descriptor: element.descriptor,\n };\n\n var desc = {\n value: \"Descriptor\",\n configurable: true,\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n if (element.kind === \"field\") obj.initializer = element.initializer;\n\n return obj;\n },\n\n // ToElementDescriptors\n toElementDescriptors: function(\n elementObjects /*: ElementObject[] */,\n ) /*: ElementDescriptor[] */ {\n if (elementObjects === undefined) return;\n return toArray(elementObjects).map(function(elementObject) {\n var element = this.toElementDescriptor(elementObject);\n this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n return element;\n }, this);\n },\n\n // ToElementDescriptor\n toElementDescriptor: function(\n elementObject /*: ElementObject */,\n ) /*: ElementDescriptor */ {\n var kind = String(elementObject.kind);\n if (kind !== \"method\" && kind !== \"field\") {\n throw new TypeError(\n 'An element descriptor\\'s .kind property must be either \"method\" or' +\n ' \"field\", but a decorator created an element descriptor with' +\n ' .kind \"' +\n kind +\n '\"',\n );\n }\n\n var key = toPropertyKey(elementObject.key);\n\n var placement = String(elementObject.placement);\n if (\n placement !== \"static\" &&\n placement !== \"prototype\" &&\n placement !== \"own\"\n ) {\n throw new TypeError(\n 'An element descriptor\\'s .placement property must be one of \"static\",' +\n ' \"prototype\" or \"own\", but a decorator created an element descriptor' +\n ' with .placement \"' +\n placement +\n '\"',\n );\n }\n\n var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;\n\n this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n var element /*: ElementDescriptor */ = {\n kind: kind,\n key: key,\n placement: placement,\n descriptor: Object.assign({}, descriptor),\n };\n\n if (kind !== \"field\") {\n this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n } else {\n this.disallowProperty(\n descriptor,\n \"get\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"set\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"value\",\n \"The property descriptor of a field descriptor\",\n );\n\n element.initializer = elementObject.initializer;\n }\n\n return element;\n },\n\n toElementFinisherExtras: function(\n elementObject /*: ElementObject */,\n ) /*: ElementFinisherExtras */ {\n var element /*: ElementDescriptor */ = this.toElementDescriptor(\n elementObject,\n );\n var finisher /*: ClassFinisher */ = _optionalCallableProperty(\n elementObject,\n \"finisher\",\n );\n var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(\n elementObject.extras,\n );\n\n return { element: element, finisher: finisher, extras: extras };\n },\n\n // FromClassDescriptor\n fromClassDescriptor: function(\n elements /*: ElementDescriptor[] */,\n ) /*: ClassObject */ {\n var obj = {\n kind: \"class\",\n elements: elements.map(this.fromElementDescriptor, this),\n };\n\n var desc = { value: \"Descriptor\", configurable: true };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n return obj;\n },\n\n // ToClassDescriptor\n toClassDescriptor: function(\n obj /*: ClassObject */,\n ) /*: ElementsFinisher */ {\n var kind = String(obj.kind);\n if (kind !== \"class\") {\n throw new TypeError(\n 'A class descriptor\\'s .kind property must be \"class\", but a decorator' +\n ' created a class descriptor with .kind \"' +\n kind +\n '\"',\n );\n }\n\n this.disallowProperty(obj, \"key\", \"A class descriptor\");\n this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n var finisher = _optionalCallableProperty(obj, \"finisher\");\n var elements = this.toElementDescriptors(obj.elements);\n\n return { elements: elements, finisher: finisher };\n },\n\n // RunClassFinishers\n runClassFinishers: function(\n constructor /*: Class<*> */,\n finishers /*: ClassFinisher[] */,\n ) /*: Class<*> */ {\n for (var i = 0; i < finishers.length; i++) {\n var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);\n if (newConstructor !== undefined) {\n // NOTE: This should check if IsConstructor(newConstructor) is false.\n if (typeof newConstructor !== \"function\") {\n throw new TypeError(\"Finishers must return a constructor.\");\n }\n constructor = newConstructor;\n }\n }\n return constructor;\n },\n\n disallowProperty: function(obj, name, objectType) {\n if (obj[name] !== undefined) {\n throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n }\n }\n };\n\n return api;\n }\n\n // ClassElementEvaluation\n function _createElementDescriptor(\n def /*: ElementDefinition */,\n ) /*: ElementDescriptor */ {\n var key = toPropertyKey(def.key);\n\n var descriptor /*: PropertyDescriptor */;\n if (def.kind === \"method\") {\n descriptor = {\n value: def.value,\n writable: true,\n configurable: true,\n enumerable: false,\n };\n } else if (def.kind === \"get\") {\n descriptor = { get: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"set\") {\n descriptor = { set: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"field\") {\n descriptor = { configurable: true, writable: true, enumerable: true };\n }\n\n var element /*: ElementDescriptor */ = {\n kind: def.kind === \"field\" ? \"field\" : \"method\",\n key: key,\n placement: def.static\n ? \"static\"\n : def.kind === \"field\"\n ? \"own\"\n : \"prototype\",\n descriptor: descriptor,\n };\n if (def.decorators) element.decorators = def.decorators;\n if (def.kind === \"field\") element.initializer = def.value;\n\n return element;\n }\n\n // CoalesceGetterSetter\n function _coalesceGetterSetter(\n element /*: ElementDescriptor */,\n other /*: ElementDescriptor */,\n ) {\n if (element.descriptor.get !== undefined) {\n other.descriptor.get = element.descriptor.get;\n } else {\n other.descriptor.set = element.descriptor.set;\n }\n }\n\n // CoalesceClassElements\n function _coalesceClassElements(\n elements /*: ElementDescriptor[] */,\n ) /*: ElementDescriptor[] */ {\n var newElements /*: ElementDescriptor[] */ = [];\n\n var isSameElement = function(\n other /*: ElementDescriptor */,\n ) /*: boolean */ {\n return (\n other.kind === \"method\" &&\n other.key === element.key &&\n other.placement === element.placement\n );\n };\n\n for (var i = 0; i < elements.length; i++) {\n var element /*: ElementDescriptor */ = elements[i];\n var other /*: ElementDescriptor */;\n\n if (\n element.kind === \"method\" &&\n (other = newElements.find(isSameElement))\n ) {\n if (\n _isDataDescriptor(element.descriptor) ||\n _isDataDescriptor(other.descriptor)\n ) {\n if (_hasDecorators(element) || _hasDecorators(other)) {\n throw new ReferenceError(\n \"Duplicated methods (\" + element.key + \") can't be decorated.\",\n );\n }\n other.descriptor = element.descriptor;\n } else {\n if (_hasDecorators(element)) {\n if (_hasDecorators(other)) {\n throw new ReferenceError(\n \"Decorators can't be placed on different accessors with for \" +\n \"the same property (\" +\n element.key +\n \").\",\n );\n }\n other.decorators = element.decorators;\n }\n _coalesceGetterSetter(element, other);\n }\n } else {\n newElements.push(element);\n }\n }\n\n return newElements;\n }\n\n function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {\n return element.decorators && element.decorators.length;\n }\n\n function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {\n return (\n desc !== undefined &&\n !(desc.value === undefined && desc.writable === undefined)\n );\n }\n\n function _optionalCallableProperty /*::<T>*/(\n obj /*: T */,\n name /*: $Keys<T> */,\n ) /*: ?Function */ {\n var value = obj[name];\n if (value !== undefined && typeof value !== \"function\") {\n throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n }\n return value;\n }\n\n"], ["\n import toArray from \"toArray\";\n import toPropertyKey from \"toPropertyKey\";\n\n // These comments are stripped by @babel/template\n /*::\n type PropertyDescriptor =\n | {\n value: any,\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n }\n | {\n get?: () => any,\n set?: (v: any) => void,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type FieldDescriptor ={\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type Placement = \"static\" | \"prototype\" | \"own\";\n type Key = string | symbol; // PrivateName is not supported yet.\n\n type ElementDescriptor =\n | {\n kind: \"method\",\n key: Key,\n placement: Placement,\n descriptor: PropertyDescriptor\n }\n | {\n kind: \"field\",\n key: Key,\n placement: Placement,\n descriptor: FieldDescriptor,\n initializer?: () => any,\n };\n\n // This is exposed to the user code\n type ElementObjectInput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n };\n\n // This is exposed to the user code\n type ElementObjectOutput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n extras?: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n // This is exposed to the user code\n type ClassObject = {\n [@@toStringTag]?: \"Descriptor\",\n kind: \"class\",\n elements: ElementDescriptor[],\n };\n\n type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;\n type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;\n type ClassFinisher = <A, B>(cl: Class<A>) => Class<B>;\n\n // Only used by Babel in the transform output, not part of the spec.\n type ElementDefinition =\n | {\n kind: \"method\",\n value: any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n }\n | {\n kind: \"field\",\n value: () => any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n };\n\n declare function ClassFactory<C>(initialize: (instance: C) => void): {\n F: Class<C>,\n d: ElementDefinition[]\n }\n\n */\n\n /*::\n // Various combinations with/without extras and with one or many finishers\n\n type ElementFinisherExtras = {\n element: ElementDescriptor,\n finisher?: ClassFinisher,\n extras?: ElementDescriptor[],\n };\n\n type ElementFinishersExtras = {\n element: ElementDescriptor,\n finishers: ClassFinisher[],\n extras: ElementDescriptor[],\n };\n\n type ElementsFinisher = {\n elements: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n type ElementsFinishers = {\n elements: ElementDescriptor[],\n finishers: ClassFinisher[],\n };\n\n */\n\n /*::\n\n type Placements = {\n static: Key[],\n prototype: Key[],\n own: Key[],\n };\n\n */\n\n // ClassDefinitionEvaluation (Steps 26-*)\n export default function _decorate(\n decorators /*: ClassDecorator[] */,\n factory /*: ClassFactory */,\n superClass /*: ?Class<*> */,\n mixins /*: ?Array<Function> */,\n ) /*: Class<*> */ {\n var api = _getDecoratorsApi();\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n api = mixins[i](api);\n }\n }\n\n var r = factory(function initialize(O) {\n api.initializeInstanceElements(O, decorated.elements);\n }, superClass);\n var decorated = api.decorateClass(\n _coalesceClassElements(r.d.map(_createElementDescriptor)),\n decorators,\n );\n\n api.initializeClassElements(r.F, decorated.elements);\n\n return api.runClassFinishers(r.F, decorated.finishers);\n }\n\n function _getDecoratorsApi() {\n _getDecoratorsApi = function() {\n return api;\n };\n\n var api = {\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n\n // InitializeInstanceElements\n initializeInstanceElements: function(\n /*::<C>*/ O /*: C */,\n elements /*: ElementDescriptor[] */,\n ) {\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (element.kind === kind && element.placement === \"own\") {\n this.defineClassElement(O, element);\n }\n }, this);\n }, this);\n },\n\n // InitializeClassElements\n initializeClassElements: function(\n /*::<C>*/ F /*: Class<C> */,\n elements /*: ElementDescriptor[] */,\n ) {\n var proto = F.prototype;\n\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n var placement = element.placement;\n if (\n element.kind === kind &&\n (placement === \"static\" || placement === \"prototype\")\n ) {\n var receiver = placement === \"static\" ? F : proto;\n this.defineClassElement(receiver, element);\n }\n }, this);\n }, this);\n },\n\n // DefineClassElement\n defineClassElement: function(\n /*::<C>*/ receiver /*: C | Class<C> */,\n element /*: ElementDescriptor */,\n ) {\n var descriptor /*: PropertyDescriptor */ = element.descriptor;\n if (element.kind === \"field\") {\n var initializer = element.initializer;\n descriptor = {\n enumerable: descriptor.enumerable,\n writable: descriptor.writable,\n configurable: descriptor.configurable,\n value: initializer === void 0 ? void 0 : initializer.call(receiver),\n };\n }\n Object.defineProperty(receiver, element.key, descriptor);\n },\n\n // DecorateClass\n decorateClass: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var newElements /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n var placements /*: Placements */ = {\n static: [],\n prototype: [],\n own: [],\n };\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n this.addElementPlacement(element, placements);\n }, this);\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (!_hasDecorators(element)) return newElements.push(element);\n\n var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(\n element,\n placements,\n );\n newElements.push(elementFinishersExtras.element);\n newElements.push.apply(newElements, elementFinishersExtras.extras);\n finishers.push.apply(finishers, elementFinishersExtras.finishers);\n }, this);\n\n if (!decorators) {\n return { elements: newElements, finishers: finishers };\n }\n\n var result /*: ElementsFinishers */ = this.decorateConstructor(\n newElements,\n decorators,\n );\n finishers.push.apply(finishers, result.finishers);\n result.finishers = finishers;\n\n return result;\n },\n\n // AddElementPlacement\n addElementPlacement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n silent /*: boolean */,\n ) {\n var keys = placements[element.placement];\n if (!silent && keys.indexOf(element.key) !== -1) {\n throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n }\n keys.push(element.key);\n },\n\n // DecorateElement\n decorateElement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n ) /*: ElementFinishersExtras */ {\n var extras /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n\n for (\n var decorators = element.decorators, i = decorators.length - 1;\n i >= 0;\n i--\n ) {\n // (inlined) RemoveElementPlacement\n var keys = placements[element.placement];\n keys.splice(keys.indexOf(element.key), 1);\n\n var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(\n element,\n );\n var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(\n (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||\n elementObject,\n );\n\n element = elementFinisherExtras.element;\n this.addElementPlacement(element, placements);\n\n if (elementFinisherExtras.finisher) {\n finishers.push(elementFinisherExtras.finisher);\n }\n\n var newExtras /*: ElementDescriptor[] | void */ =\n elementFinisherExtras.extras;\n if (newExtras) {\n for (var j = 0; j < newExtras.length; j++) {\n this.addElementPlacement(newExtras[j], placements);\n }\n extras.push.apply(extras, newExtras);\n }\n }\n\n return { element: element, finishers: finishers, extras: extras };\n },\n\n // DecorateConstructor\n decorateConstructor: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var finishers /*: ClassFinisher[] */ = [];\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var obj /*: ClassObject */ = this.fromClassDescriptor(elements);\n var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(\n (0, decorators[i])(obj) /*: ClassObject */ || obj,\n );\n\n if (elementsAndFinisher.finisher !== undefined) {\n finishers.push(elementsAndFinisher.finisher);\n }\n\n if (elementsAndFinisher.elements !== undefined) {\n elements = elementsAndFinisher.elements;\n\n for (var j = 0; j < elements.length - 1; j++) {\n for (var k = j + 1; k < elements.length; k++) {\n if (\n elements[j].key === elements[k].key &&\n elements[j].placement === elements[k].placement\n ) {\n throw new TypeError(\n \"Duplicated element (\" + elements[j].key + \")\",\n );\n }\n }\n }\n }\n }\n\n return { elements: elements, finishers: finishers };\n },\n\n // FromElementDescriptor\n fromElementDescriptor: function(\n element /*: ElementDescriptor */,\n ) /*: ElementObject */ {\n var obj /*: ElementObject */ = {\n kind: element.kind,\n key: element.key,\n placement: element.placement,\n descriptor: element.descriptor,\n };\n\n var desc = {\n value: \"Descriptor\",\n configurable: true,\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n if (element.kind === \"field\") obj.initializer = element.initializer;\n\n return obj;\n },\n\n // ToElementDescriptors\n toElementDescriptors: function(\n elementObjects /*: ElementObject[] */,\n ) /*: ElementDescriptor[] */ {\n if (elementObjects === undefined) return;\n return toArray(elementObjects).map(function(elementObject) {\n var element = this.toElementDescriptor(elementObject);\n this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n return element;\n }, this);\n },\n\n // ToElementDescriptor\n toElementDescriptor: function(\n elementObject /*: ElementObject */,\n ) /*: ElementDescriptor */ {\n var kind = String(elementObject.kind);\n if (kind !== \"method\" && kind !== \"field\") {\n throw new TypeError(\n 'An element descriptor\\\\'s .kind property must be either \"method\" or' +\n ' \"field\", but a decorator created an element descriptor with' +\n ' .kind \"' +\n kind +\n '\"',\n );\n }\n\n var key = toPropertyKey(elementObject.key);\n\n var placement = String(elementObject.placement);\n if (\n placement !== \"static\" &&\n placement !== \"prototype\" &&\n placement !== \"own\"\n ) {\n throw new TypeError(\n 'An element descriptor\\\\'s .placement property must be one of \"static\",' +\n ' \"prototype\" or \"own\", but a decorator created an element descriptor' +\n ' with .placement \"' +\n placement +\n '\"',\n );\n }\n\n var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;\n\n this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n var element /*: ElementDescriptor */ = {\n kind: kind,\n key: key,\n placement: placement,\n descriptor: Object.assign({}, descriptor),\n };\n\n if (kind !== \"field\") {\n this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n } else {\n this.disallowProperty(\n descriptor,\n \"get\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"set\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"value\",\n \"The property descriptor of a field descriptor\",\n );\n\n element.initializer = elementObject.initializer;\n }\n\n return element;\n },\n\n toElementFinisherExtras: function(\n elementObject /*: ElementObject */,\n ) /*: ElementFinisherExtras */ {\n var element /*: ElementDescriptor */ = this.toElementDescriptor(\n elementObject,\n );\n var finisher /*: ClassFinisher */ = _optionalCallableProperty(\n elementObject,\n \"finisher\",\n );\n var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(\n elementObject.extras,\n );\n\n return { element: element, finisher: finisher, extras: extras };\n },\n\n // FromClassDescriptor\n fromClassDescriptor: function(\n elements /*: ElementDescriptor[] */,\n ) /*: ClassObject */ {\n var obj = {\n kind: \"class\",\n elements: elements.map(this.fromElementDescriptor, this),\n };\n\n var desc = { value: \"Descriptor\", configurable: true };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n return obj;\n },\n\n // ToClassDescriptor\n toClassDescriptor: function(\n obj /*: ClassObject */,\n ) /*: ElementsFinisher */ {\n var kind = String(obj.kind);\n if (kind !== \"class\") {\n throw new TypeError(\n 'A class descriptor\\\\'s .kind property must be \"class\", but a decorator' +\n ' created a class descriptor with .kind \"' +\n kind +\n '\"',\n );\n }\n\n this.disallowProperty(obj, \"key\", \"A class descriptor\");\n this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n var finisher = _optionalCallableProperty(obj, \"finisher\");\n var elements = this.toElementDescriptors(obj.elements);\n\n return { elements: elements, finisher: finisher };\n },\n\n // RunClassFinishers\n runClassFinishers: function(\n constructor /*: Class<*> */,\n finishers /*: ClassFinisher[] */,\n ) /*: Class<*> */ {\n for (var i = 0; i < finishers.length; i++) {\n var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);\n if (newConstructor !== undefined) {\n // NOTE: This should check if IsConstructor(newConstructor) is false.\n if (typeof newConstructor !== \"function\") {\n throw new TypeError(\"Finishers must return a constructor.\");\n }\n constructor = newConstructor;\n }\n }\n return constructor;\n },\n\n disallowProperty: function(obj, name, objectType) {\n if (obj[name] !== undefined) {\n throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n }\n }\n };\n\n return api;\n }\n\n // ClassElementEvaluation\n function _createElementDescriptor(\n def /*: ElementDefinition */,\n ) /*: ElementDescriptor */ {\n var key = toPropertyKey(def.key);\n\n var descriptor /*: PropertyDescriptor */;\n if (def.kind === \"method\") {\n descriptor = {\n value: def.value,\n writable: true,\n configurable: true,\n enumerable: false,\n };\n } else if (def.kind === \"get\") {\n descriptor = { get: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"set\") {\n descriptor = { set: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"field\") {\n descriptor = { configurable: true, writable: true, enumerable: true };\n }\n\n var element /*: ElementDescriptor */ = {\n kind: def.kind === \"field\" ? \"field\" : \"method\",\n key: key,\n placement: def.static\n ? \"static\"\n : def.kind === \"field\"\n ? \"own\"\n : \"prototype\",\n descriptor: descriptor,\n };\n if (def.decorators) element.decorators = def.decorators;\n if (def.kind === \"field\") element.initializer = def.value;\n\n return element;\n }\n\n // CoalesceGetterSetter\n function _coalesceGetterSetter(\n element /*: ElementDescriptor */,\n other /*: ElementDescriptor */,\n ) {\n if (element.descriptor.get !== undefined) {\n other.descriptor.get = element.descriptor.get;\n } else {\n other.descriptor.set = element.descriptor.set;\n }\n }\n\n // CoalesceClassElements\n function _coalesceClassElements(\n elements /*: ElementDescriptor[] */,\n ) /*: ElementDescriptor[] */ {\n var newElements /*: ElementDescriptor[] */ = [];\n\n var isSameElement = function(\n other /*: ElementDescriptor */,\n ) /*: boolean */ {\n return (\n other.kind === \"method\" &&\n other.key === element.key &&\n other.placement === element.placement\n );\n };\n\n for (var i = 0; i < elements.length; i++) {\n var element /*: ElementDescriptor */ = elements[i];\n var other /*: ElementDescriptor */;\n\n if (\n element.kind === \"method\" &&\n (other = newElements.find(isSameElement))\n ) {\n if (\n _isDataDescriptor(element.descriptor) ||\n _isDataDescriptor(other.descriptor)\n ) {\n if (_hasDecorators(element) || _hasDecorators(other)) {\n throw new ReferenceError(\n \"Duplicated methods (\" + element.key + \") can't be decorated.\",\n );\n }\n other.descriptor = element.descriptor;\n } else {\n if (_hasDecorators(element)) {\n if (_hasDecorators(other)) {\n throw new ReferenceError(\n \"Decorators can't be placed on different accessors with for \" +\n \"the same property (\" +\n element.key +\n \").\",\n );\n }\n other.decorators = element.decorators;\n }\n _coalesceGetterSetter(element, other);\n }\n } else {\n newElements.push(element);\n }\n }\n\n return newElements;\n }\n\n function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {\n return element.decorators && element.decorators.length;\n }\n\n function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {\n return (\n desc !== undefined &&\n !(desc.value === undefined && desc.writable === undefined)\n );\n }\n\n function _optionalCallableProperty /*::<T>*/(\n obj /*: T */,\n name /*: $Keys<T> */,\n ) /*: ?Function */ {\n var value = obj[name];\n if (value !== undefined && typeof value !== \"function\") {\n throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n }\n return value;\n }\n\n"])));
|
|
helpers$1.classPrivateMethodGet = helper$2("7.1.6")(_templateObject77 || (_templateObject77 = _taggedTemplateLiteralLoose(["\n export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n }\n"])));
|
|
helpers$1.checkPrivateRedeclaration = helper$2("7.14.1")(_templateObject78 || (_templateObject78 = _taggedTemplateLiteralLoose(["\n export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n }\n"])));
|
|
helpers$1.classPrivateFieldInitSpec = helper$2("7.14.1")(_templateObject79 || (_templateObject79 = _taggedTemplateLiteralLoose(["\n import checkPrivateRedeclaration from \"checkPrivateRedeclaration\";\n\n export default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n }\n"])));
|
|
helpers$1.classPrivateMethodInitSpec = helper$2("7.14.1")(_templateObject80 || (_templateObject80 = _taggedTemplateLiteralLoose(["\n import checkPrivateRedeclaration from \"checkPrivateRedeclaration\";\n\n export default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n }\n"])));
|
|
{
|
|
helpers$1.classPrivateMethodSet = helper$2("7.1.6")(_templateObject81 || (_templateObject81 = _taggedTemplateLiteralLoose(["\n export default function _classPrivateMethodSet() {\n throw new TypeError(\"attempted to reassign private method\");\n }\n "])));
|
|
}
|
|
helpers$1.identity = helper$2("7.17.0")(_templateObject82 || (_templateObject82 = _taggedTemplateLiteralLoose(["\n export default function _identity(x) {\n return x;\n }\n"])));
|
|
|
|
var assignmentExpression$8 = assignmentExpression$d,
|
|
cloneNode$b = cloneNode$j,
|
|
expressionStatement$4 = expressionStatement$a,
|
|
file$1 = file$2,
|
|
identifier$9 = identifier$i;
|
|
function makePath(path) {
|
|
var parts = [];
|
|
for (; path.parentPath; path = path.parentPath) {
|
|
parts.push(path.key);
|
|
if (path.inList) parts.push(path.listKey);
|
|
}
|
|
return parts.reverse().join(".");
|
|
}
|
|
var FileClass = undefined;
|
|
function getHelperMetadata(file) {
|
|
var globals = new Set();
|
|
var localBindingNames = new Set();
|
|
var dependencies = new Map();
|
|
var exportName;
|
|
var exportPath;
|
|
var exportBindingAssignments = [];
|
|
var importPaths = [];
|
|
var importBindingsReferences = [];
|
|
var dependencyVisitor = {
|
|
ImportDeclaration: function ImportDeclaration(child) {
|
|
var name = child.node.source.value;
|
|
if (!helpers$1[name]) {
|
|
throw child.buildCodeFrameError("Unknown helper " + name);
|
|
}
|
|
if (child.get("specifiers").length !== 1 || !child.get("specifiers.0").isImportDefaultSpecifier()) {
|
|
throw child.buildCodeFrameError("Helpers can only import a default value");
|
|
}
|
|
var bindingIdentifier = child.node.specifiers[0].local;
|
|
dependencies.set(bindingIdentifier, name);
|
|
importPaths.push(makePath(child));
|
|
},
|
|
ExportDefaultDeclaration: function ExportDefaultDeclaration(child) {
|
|
var decl = child.get("declaration");
|
|
if (!decl.isFunctionDeclaration() || !decl.node.id) {
|
|
throw decl.buildCodeFrameError("Helpers can only export named function declarations");
|
|
}
|
|
exportName = decl.node.id.name;
|
|
exportPath = makePath(child);
|
|
},
|
|
ExportAllDeclaration: function ExportAllDeclaration(child) {
|
|
throw child.buildCodeFrameError("Helpers can only export default");
|
|
},
|
|
ExportNamedDeclaration: function ExportNamedDeclaration(child) {
|
|
throw child.buildCodeFrameError("Helpers can only export default");
|
|
},
|
|
Statement: function Statement(child) {
|
|
if (child.isImportDeclaration() || child.isExportDeclaration()) return;
|
|
child.skip();
|
|
}
|
|
};
|
|
var referenceVisitor = {
|
|
Program: function Program(path) {
|
|
var bindings = path.scope.getAllBindings();
|
|
Object.keys(bindings).forEach(function (name) {
|
|
if (name === exportName) return;
|
|
if (dependencies.has(bindings[name].identifier)) return;
|
|
localBindingNames.add(name);
|
|
});
|
|
},
|
|
ReferencedIdentifier: function ReferencedIdentifier(child) {
|
|
var name = child.node.name;
|
|
var binding = child.scope.getBinding(name);
|
|
if (!binding) {
|
|
globals.add(name);
|
|
} else if (dependencies.has(binding.identifier)) {
|
|
importBindingsReferences.push(makePath(child));
|
|
}
|
|
},
|
|
AssignmentExpression: function AssignmentExpression(child) {
|
|
var left = child.get("left");
|
|
if (!(exportName in left.getBindingIdentifiers())) return;
|
|
if (!left.isIdentifier()) {
|
|
throw left.buildCodeFrameError("Only simple assignments to exports are allowed in helpers");
|
|
}
|
|
var binding = child.scope.getBinding(exportName);
|
|
if (binding != null && binding.scope.path.isProgram()) {
|
|
exportBindingAssignments.push(makePath(child));
|
|
}
|
|
}
|
|
};
|
|
traverse(file.ast, dependencyVisitor, file.scope);
|
|
traverse(file.ast, referenceVisitor, file.scope);
|
|
if (!exportPath) throw new Error("Helpers must have a default export.");
|
|
exportBindingAssignments.reverse();
|
|
return {
|
|
globals: Array.from(globals),
|
|
localBindingNames: Array.from(localBindingNames),
|
|
dependencies: dependencies,
|
|
exportBindingAssignments: exportBindingAssignments,
|
|
exportPath: exportPath,
|
|
exportName: exportName,
|
|
importBindingsReferences: importBindingsReferences,
|
|
importPaths: importPaths
|
|
};
|
|
}
|
|
function permuteHelperAST(file, metadata, id, localBindings, getDependency) {
|
|
if (localBindings && !id) {
|
|
throw new Error("Unexpected local bindings for module-based helpers.");
|
|
}
|
|
if (!id) return;
|
|
var localBindingNames = metadata.localBindingNames,
|
|
dependencies = metadata.dependencies,
|
|
exportBindingAssignments = metadata.exportBindingAssignments,
|
|
exportPath = metadata.exportPath,
|
|
exportName = metadata.exportName,
|
|
importBindingsReferences = metadata.importBindingsReferences,
|
|
importPaths = metadata.importPaths;
|
|
var dependenciesRefs = {};
|
|
dependencies.forEach(function (name, id) {
|
|
dependenciesRefs[id.name] = typeof getDependency === "function" && getDependency(name) || id;
|
|
});
|
|
var toRename = {};
|
|
var bindings = new Set(localBindings || []);
|
|
localBindingNames.forEach(function (name) {
|
|
var newName = name;
|
|
while (bindings.has(newName)) newName = "_" + newName;
|
|
if (newName !== name) toRename[name] = newName;
|
|
});
|
|
if (id.type === "Identifier" && exportName !== id.name) {
|
|
toRename[exportName] = id.name;
|
|
}
|
|
var path = file.path;
|
|
var exp = path.get(exportPath);
|
|
var imps = importPaths.map(function (p) {
|
|
return path.get(p);
|
|
});
|
|
var impsBindingRefs = importBindingsReferences.map(function (p) {
|
|
return path.get(p);
|
|
});
|
|
var decl = exp.get("declaration");
|
|
if (id.type === "Identifier") {
|
|
exp.replaceWith(decl);
|
|
} else if (id.type === "MemberExpression") {
|
|
exportBindingAssignments.forEach(function (assignPath) {
|
|
var assign = path.get(assignPath);
|
|
assign.replaceWith(assignmentExpression$8("=", id, assign.node));
|
|
});
|
|
exp.replaceWith(decl);
|
|
path.pushContainer("body", expressionStatement$4(assignmentExpression$8("=", id, identifier$9(exportName))));
|
|
} else {
|
|
throw new Error("Unexpected helper format.");
|
|
}
|
|
Object.keys(toRename).forEach(function (name) {
|
|
path.scope.rename(name, toRename[name]);
|
|
});
|
|
for (var _iterator = _createForOfIteratorHelperLoose(imps), _step; !(_step = _iterator()).done;) {
|
|
var _path = _step.value;
|
|
_path.remove();
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(impsBindingRefs), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _path2 = _step2.value;
|
|
var node = cloneNode$b(dependenciesRefs[_path2.node.name]);
|
|
_path2.replaceWith(node);
|
|
}
|
|
}
|
|
var helperData = Object.create(null);
|
|
function loadHelper(name) {
|
|
if (!helperData[name]) {
|
|
var helper = helpers$1[name];
|
|
if (!helper) {
|
|
throw Object.assign(new ReferenceError("Unknown helper " + name), {
|
|
code: "BABEL_HELPER_UNKNOWN",
|
|
helper: name
|
|
});
|
|
}
|
|
var fn = function fn() {
|
|
{
|
|
if (!FileClass) {
|
|
var fakeFile = {
|
|
ast: file$1(helper.ast()),
|
|
path: null
|
|
};
|
|
traverse(fakeFile.ast, {
|
|
Program: function Program(path) {
|
|
return (fakeFile.path = path).stop();
|
|
}
|
|
});
|
|
return fakeFile;
|
|
}
|
|
}
|
|
return new FileClass({
|
|
filename: "babel-helper://" + name
|
|
}, {
|
|
ast: file$1(helper.ast()),
|
|
code: "[internal Babel helper code]",
|
|
inputMap: null
|
|
});
|
|
};
|
|
var metadata = null;
|
|
helperData[name] = {
|
|
minVersion: helper.minVersion,
|
|
build: function build(getDependency, id, localBindings) {
|
|
var file = fn();
|
|
metadata || (metadata = getHelperMetadata(file));
|
|
permuteHelperAST(file, metadata, id, localBindings, getDependency);
|
|
return {
|
|
nodes: file.ast.program.body,
|
|
globals: metadata.globals
|
|
};
|
|
},
|
|
getDependencies: function getDependencies() {
|
|
metadata || (metadata = getHelperMetadata(fn()));
|
|
return Array.from(metadata.dependencies.values());
|
|
}
|
|
};
|
|
}
|
|
return helperData[name];
|
|
}
|
|
function get$1(name, getDependency, id, localBindings) {
|
|
return loadHelper(name).build(getDependency, id, localBindings);
|
|
}
|
|
function minVersion(name) {
|
|
return loadHelper(name).minVersion;
|
|
}
|
|
function getDependencies(name) {
|
|
return loadHelper(name).getDependencies();
|
|
}
|
|
function ensure(name, newFileClass) {
|
|
FileClass || (FileClass = newFileClass);
|
|
loadHelper(name);
|
|
}
|
|
var list = Object.keys(helpers$1).map(function (name) {
|
|
return name.replace(/^_/, "");
|
|
});
|
|
|
|
var assert$1 = {exports: {}};
|
|
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
|
function toObject(val) {
|
|
if (val === null || val === undefined) {
|
|
throw new TypeError('Object.assign cannot be called with null or undefined');
|
|
}
|
|
return Object(val);
|
|
}
|
|
function shouldUseNative() {
|
|
try {
|
|
if (!Object.assign) {
|
|
return false;
|
|
}
|
|
var test1 = new String('abc');
|
|
test1[5] = 'de';
|
|
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
|
return false;
|
|
}
|
|
var test2 = {};
|
|
for (var i = 0; i < 10; i++) {
|
|
test2['_' + String.fromCharCode(i)] = i;
|
|
}
|
|
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
|
return test2[n];
|
|
});
|
|
if (order2.join('') !== '0123456789') {
|
|
return false;
|
|
}
|
|
var test3 = {};
|
|
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
|
test3[letter] = letter;
|
|
});
|
|
if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {
|
|
return false;
|
|
}
|
|
return true;
|
|
} catch (err) {
|
|
return false;
|
|
}
|
|
}
|
|
var objectAssign$1 = shouldUseNative() ? Object.assign : function (target, source) {
|
|
var from;
|
|
var to = toObject(target);
|
|
var symbols;
|
|
for (var s = 1; s < arguments.length; s++) {
|
|
from = Object(arguments[s]);
|
|
for (var key in from) {
|
|
if (hasOwnProperty.call(from, key)) {
|
|
to[key] = from[key];
|
|
}
|
|
}
|
|
if (getOwnPropertySymbols) {
|
|
symbols = getOwnPropertySymbols(from);
|
|
for (var i = 0; i < symbols.length; i++) {
|
|
if (propIsEnumerable.call(from, symbols[i])) {
|
|
to[symbols[i]] = from[symbols[i]];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return to;
|
|
};
|
|
|
|
var util$3 = {};
|
|
|
|
var isBufferBrowser = function isBuffer(arg) {
|
|
return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function';
|
|
};
|
|
|
|
var inherits_browser = {exports: {}};
|
|
|
|
if (typeof Object.create === 'function') {
|
|
inherits_browser.exports = function inherits(ctor, superCtor) {
|
|
ctor.super_ = superCtor;
|
|
ctor.prototype = Object.create(superCtor.prototype, {
|
|
constructor: {
|
|
value: ctor,
|
|
enumerable: false,
|
|
writable: true,
|
|
configurable: true
|
|
}
|
|
});
|
|
};
|
|
} else {
|
|
inherits_browser.exports = function inherits(ctor, superCtor) {
|
|
ctor.super_ = superCtor;
|
|
var TempCtor = function TempCtor() {};
|
|
TempCtor.prototype = superCtor.prototype;
|
|
ctor.prototype = new TempCtor();
|
|
ctor.prototype.constructor = ctor;
|
|
};
|
|
}
|
|
|
|
(function (exports) {
|
|
var formatRegExp = /%[sdj%]/g;
|
|
exports.format = function (f) {
|
|
if (!isString(f)) {
|
|
var objects = [];
|
|
for (var i = 0; i < arguments.length; i++) {
|
|
objects.push(inspect(arguments[i]));
|
|
}
|
|
return objects.join(' ');
|
|
}
|
|
var i = 1;
|
|
var args = arguments;
|
|
var len = args.length;
|
|
var str = String(f).replace(formatRegExp, function (x) {
|
|
if (x === '%%') return '%';
|
|
if (i >= len) return x;
|
|
switch (x) {
|
|
case '%s':
|
|
return String(args[i++]);
|
|
case '%d':
|
|
return Number(args[i++]);
|
|
case '%j':
|
|
try {
|
|
return JSON.stringify(args[i++]);
|
|
} catch (_) {
|
|
return '[Circular]';
|
|
}
|
|
default:
|
|
return x;
|
|
}
|
|
});
|
|
for (var x = args[i]; i < len; x = args[++i]) {
|
|
if (isNull(x) || !isObject(x)) {
|
|
str += ' ' + x;
|
|
} else {
|
|
str += ' ' + inspect(x);
|
|
}
|
|
}
|
|
return str;
|
|
};
|
|
exports.deprecate = function (fn, msg) {
|
|
if (isUndefined(commonjsGlobal.process)) {
|
|
return function () {
|
|
return exports.deprecate(fn, msg).apply(this, arguments);
|
|
};
|
|
}
|
|
if (browser$1$1.noDeprecation === true) {
|
|
return fn;
|
|
}
|
|
var warned = false;
|
|
function deprecated() {
|
|
if (!warned) {
|
|
if (browser$1$1.throwDeprecation) {
|
|
throw new Error(msg);
|
|
} else if (browser$1$1.traceDeprecation) {
|
|
console.trace(msg);
|
|
} else {
|
|
console.error(msg);
|
|
}
|
|
warned = true;
|
|
}
|
|
return fn.apply(this, arguments);
|
|
}
|
|
return deprecated;
|
|
};
|
|
var debugs = {};
|
|
var debugEnviron;
|
|
exports.debuglog = function (set) {
|
|
if (isUndefined(debugEnviron)) debugEnviron = browser$1$1.env.NODE_DEBUG || '';
|
|
set = set.toUpperCase();
|
|
if (!debugs[set]) {
|
|
if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
|
|
var pid = browser$1$1.pid;
|
|
debugs[set] = function () {
|
|
var msg = exports.format.apply(exports, arguments);
|
|
console.error('%s %d: %s', set, pid, msg);
|
|
};
|
|
} else {
|
|
debugs[set] = function () {};
|
|
}
|
|
}
|
|
return debugs[set];
|
|
};
|
|
function inspect(obj, opts) {
|
|
var ctx = {
|
|
seen: [],
|
|
stylize: stylizeNoColor
|
|
};
|
|
if (arguments.length >= 3) ctx.depth = arguments[2];
|
|
if (arguments.length >= 4) ctx.colors = arguments[3];
|
|
if (isBoolean(opts)) {
|
|
ctx.showHidden = opts;
|
|
} else if (opts) {
|
|
exports._extend(ctx, opts);
|
|
}
|
|
if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
|
|
if (isUndefined(ctx.depth)) ctx.depth = 2;
|
|
if (isUndefined(ctx.colors)) ctx.colors = false;
|
|
if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
|
|
if (ctx.colors) ctx.stylize = stylizeWithColor;
|
|
return formatValue(ctx, obj, ctx.depth);
|
|
}
|
|
exports.inspect = inspect;
|
|
inspect.colors = {
|
|
'bold': [1, 22],
|
|
'italic': [3, 23],
|
|
'underline': [4, 24],
|
|
'inverse': [7, 27],
|
|
'white': [37, 39],
|
|
'grey': [90, 39],
|
|
'black': [30, 39],
|
|
'blue': [34, 39],
|
|
'cyan': [36, 39],
|
|
'green': [32, 39],
|
|
'magenta': [35, 39],
|
|
'red': [31, 39],
|
|
'yellow': [33, 39]
|
|
};
|
|
inspect.styles = {
|
|
'special': 'cyan',
|
|
'number': 'yellow',
|
|
'boolean': 'yellow',
|
|
'undefined': 'grey',
|
|
'null': 'bold',
|
|
'string': 'green',
|
|
'date': 'magenta',
|
|
'regexp': 'red'
|
|
};
|
|
function stylizeWithColor(str, styleType) {
|
|
var style = inspect.styles[styleType];
|
|
if (style) {
|
|
return "\x1B[" + inspect.colors[style][0] + 'm' + str + "\x1B[" + inspect.colors[style][1] + 'm';
|
|
} else {
|
|
return str;
|
|
}
|
|
}
|
|
function stylizeNoColor(str, styleType) {
|
|
return str;
|
|
}
|
|
function arrayToHash(array) {
|
|
var hash = {};
|
|
array.forEach(function (val, idx) {
|
|
hash[val] = true;
|
|
});
|
|
return hash;
|
|
}
|
|
function formatValue(ctx, value, recurseTimes) {
|
|
if (ctx.customInspect && value && isFunction(value.inspect) && value.inspect !== exports.inspect && !(value.constructor && value.constructor.prototype === value)) {
|
|
var ret = value.inspect(recurseTimes, ctx);
|
|
if (!isString(ret)) {
|
|
ret = formatValue(ctx, ret, recurseTimes);
|
|
}
|
|
return ret;
|
|
}
|
|
var primitive = formatPrimitive(ctx, value);
|
|
if (primitive) {
|
|
return primitive;
|
|
}
|
|
var keys = Object.keys(value);
|
|
var visibleKeys = arrayToHash(keys);
|
|
if (ctx.showHidden) {
|
|
keys = Object.getOwnPropertyNames(value);
|
|
}
|
|
if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
|
|
return formatError(value);
|
|
}
|
|
if (keys.length === 0) {
|
|
if (isFunction(value)) {
|
|
var name = value.name ? ': ' + value.name : '';
|
|
return ctx.stylize('[Function' + name + ']', 'special');
|
|
}
|
|
if (isRegExp(value)) {
|
|
return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
|
|
}
|
|
if (isDate(value)) {
|
|
return ctx.stylize(Date.prototype.toString.call(value), 'date');
|
|
}
|
|
if (isError(value)) {
|
|
return formatError(value);
|
|
}
|
|
}
|
|
var base = '',
|
|
array = false,
|
|
braces = ['{', '}'];
|
|
if (isArray(value)) {
|
|
array = true;
|
|
braces = ['[', ']'];
|
|
}
|
|
if (isFunction(value)) {
|
|
var n = value.name ? ': ' + value.name : '';
|
|
base = ' [Function' + n + ']';
|
|
}
|
|
if (isRegExp(value)) {
|
|
base = ' ' + RegExp.prototype.toString.call(value);
|
|
}
|
|
if (isDate(value)) {
|
|
base = ' ' + Date.prototype.toUTCString.call(value);
|
|
}
|
|
if (isError(value)) {
|
|
base = ' ' + formatError(value);
|
|
}
|
|
if (keys.length === 0 && (!array || value.length == 0)) {
|
|
return braces[0] + base + braces[1];
|
|
}
|
|
if (recurseTimes < 0) {
|
|
if (isRegExp(value)) {
|
|
return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
|
|
} else {
|
|
return ctx.stylize('[Object]', 'special');
|
|
}
|
|
}
|
|
ctx.seen.push(value);
|
|
var output;
|
|
if (array) {
|
|
output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
|
|
} else {
|
|
output = keys.map(function (key) {
|
|
return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
|
|
});
|
|
}
|
|
ctx.seen.pop();
|
|
return reduceToSingleString(output, base, braces);
|
|
}
|
|
function formatPrimitive(ctx, value) {
|
|
if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');
|
|
if (isString(value)) {
|
|
var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '').replace(/'/g, "\\'").replace(/\\"/g, '"') + '\'';
|
|
return ctx.stylize(simple, 'string');
|
|
}
|
|
if (isNumber(value)) return ctx.stylize('' + value, 'number');
|
|
if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');
|
|
if (isNull(value)) return ctx.stylize('null', 'null');
|
|
}
|
|
function formatError(value) {
|
|
return '[' + Error.prototype.toString.call(value) + ']';
|
|
}
|
|
function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
|
|
var output = [];
|
|
for (var i = 0, l = value.length; i < l; ++i) {
|
|
if (hasOwnProperty(value, String(i))) {
|
|
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));
|
|
} else {
|
|
output.push('');
|
|
}
|
|
}
|
|
keys.forEach(function (key) {
|
|
if (!key.match(/^\d+$/)) {
|
|
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));
|
|
}
|
|
});
|
|
return output;
|
|
}
|
|
function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
|
|
var name, str, desc;
|
|
desc = Object.getOwnPropertyDescriptor(value, key) || {
|
|
value: value[key]
|
|
};
|
|
if (desc.get) {
|
|
if (desc.set) {
|
|
str = ctx.stylize('[Getter/Setter]', 'special');
|
|
} else {
|
|
str = ctx.stylize('[Getter]', 'special');
|
|
}
|
|
} else {
|
|
if (desc.set) {
|
|
str = ctx.stylize('[Setter]', 'special');
|
|
}
|
|
}
|
|
if (!hasOwnProperty(visibleKeys, key)) {
|
|
name = '[' + key + ']';
|
|
}
|
|
if (!str) {
|
|
if (ctx.seen.indexOf(desc.value) < 0) {
|
|
if (isNull(recurseTimes)) {
|
|
str = formatValue(ctx, desc.value, null);
|
|
} else {
|
|
str = formatValue(ctx, desc.value, recurseTimes - 1);
|
|
}
|
|
if (str.indexOf('\n') > -1) {
|
|
if (array) {
|
|
str = str.split('\n').map(function (line) {
|
|
return ' ' + line;
|
|
}).join('\n').substr(2);
|
|
} else {
|
|
str = '\n' + str.split('\n').map(function (line) {
|
|
return ' ' + line;
|
|
}).join('\n');
|
|
}
|
|
}
|
|
} else {
|
|
str = ctx.stylize('[Circular]', 'special');
|
|
}
|
|
}
|
|
if (isUndefined(name)) {
|
|
if (array && key.match(/^\d+$/)) {
|
|
return str;
|
|
}
|
|
name = JSON.stringify('' + key);
|
|
if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
|
|
name = name.substr(1, name.length - 2);
|
|
name = ctx.stylize(name, 'name');
|
|
} else {
|
|
name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'");
|
|
name = ctx.stylize(name, 'string');
|
|
}
|
|
}
|
|
return name + ': ' + str;
|
|
}
|
|
function reduceToSingleString(output, base, braces) {
|
|
var length = output.reduce(function (prev, cur) {
|
|
if (cur.indexOf('\n') >= 0) ;
|
|
return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
|
|
}, 0);
|
|
if (length > 60) {
|
|
return braces[0] + (base === '' ? '' : base + '\n ') + ' ' + output.join(',\n ') + ' ' + braces[1];
|
|
}
|
|
return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
|
|
}
|
|
function isArray(ar) {
|
|
return Array.isArray(ar);
|
|
}
|
|
exports.isArray = isArray;
|
|
function isBoolean(arg) {
|
|
return typeof arg === 'boolean';
|
|
}
|
|
exports.isBoolean = isBoolean;
|
|
function isNull(arg) {
|
|
return arg === null;
|
|
}
|
|
exports.isNull = isNull;
|
|
function isNullOrUndefined(arg) {
|
|
return arg == null;
|
|
}
|
|
exports.isNullOrUndefined = isNullOrUndefined;
|
|
function isNumber(arg) {
|
|
return typeof arg === 'number';
|
|
}
|
|
exports.isNumber = isNumber;
|
|
function isString(arg) {
|
|
return typeof arg === 'string';
|
|
}
|
|
exports.isString = isString;
|
|
function isSymbol(arg) {
|
|
return typeof arg === 'symbol';
|
|
}
|
|
exports.isSymbol = isSymbol;
|
|
function isUndefined(arg) {
|
|
return arg === void 0;
|
|
}
|
|
exports.isUndefined = isUndefined;
|
|
function isRegExp(re) {
|
|
return isObject(re) && objectToString(re) === '[object RegExp]';
|
|
}
|
|
exports.isRegExp = isRegExp;
|
|
function isObject(arg) {
|
|
return typeof arg === 'object' && arg !== null;
|
|
}
|
|
exports.isObject = isObject;
|
|
function isDate(d) {
|
|
return isObject(d) && objectToString(d) === '[object Date]';
|
|
}
|
|
exports.isDate = isDate;
|
|
function isError(e) {
|
|
return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);
|
|
}
|
|
exports.isError = isError;
|
|
function isFunction(arg) {
|
|
return typeof arg === 'function';
|
|
}
|
|
exports.isFunction = isFunction;
|
|
function isPrimitive(arg) {
|
|
return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' || typeof arg === 'undefined';
|
|
}
|
|
exports.isPrimitive = isPrimitive;
|
|
exports.isBuffer = isBufferBrowser;
|
|
function objectToString(o) {
|
|
return Object.prototype.toString.call(o);
|
|
}
|
|
function pad(n) {
|
|
return n < 10 ? '0' + n.toString(10) : n.toString(10);
|
|
}
|
|
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
function timestamp() {
|
|
var d = new Date();
|
|
var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':');
|
|
return [d.getDate(), months[d.getMonth()], time].join(' ');
|
|
}
|
|
exports.log = function () {
|
|
console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
|
|
};
|
|
exports.inherits = inherits_browser.exports;
|
|
exports._extend = function (origin, add) {
|
|
if (!add || !isObject(add)) return origin;
|
|
var keys = Object.keys(add);
|
|
var i = keys.length;
|
|
while (i--) {
|
|
origin[keys[i]] = add[keys[i]];
|
|
}
|
|
return origin;
|
|
};
|
|
function hasOwnProperty(obj, prop) {
|
|
return Object.prototype.hasOwnProperty.call(obj, prop);
|
|
}
|
|
})(util$3);
|
|
|
|
var objectAssign = objectAssign$1;
|
|
/*!
|
|
* The buffer module from node.js, for the browser.
|
|
*
|
|
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
|
|
* @license MIT
|
|
*/
|
|
function compare$3(a, b) {
|
|
if (a === b) {
|
|
return 0;
|
|
}
|
|
var x = a.length;
|
|
var y = b.length;
|
|
for (var i = 0, len = Math.min(x, y); i < len; ++i) {
|
|
if (a[i] !== b[i]) {
|
|
x = a[i];
|
|
y = b[i];
|
|
break;
|
|
}
|
|
}
|
|
if (x < y) {
|
|
return -1;
|
|
}
|
|
if (y < x) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
function isBuffer(b) {
|
|
if (commonjsGlobal.Buffer && typeof commonjsGlobal.Buffer.isBuffer === 'function') {
|
|
return commonjsGlobal.Buffer.isBuffer(b);
|
|
}
|
|
return !!(b != null && b._isBuffer);
|
|
}
|
|
var util$2 = util$3;
|
|
var hasOwn = Object.prototype.hasOwnProperty;
|
|
var pSlice = Array.prototype.slice;
|
|
var functionsHaveNames = function () {
|
|
return function foo() {}.name === 'foo';
|
|
}();
|
|
function pToString(obj) {
|
|
return Object.prototype.toString.call(obj);
|
|
}
|
|
function isView(arrbuf) {
|
|
if (isBuffer(arrbuf)) {
|
|
return false;
|
|
}
|
|
if (typeof commonjsGlobal.ArrayBuffer !== 'function') {
|
|
return false;
|
|
}
|
|
if (typeof ArrayBuffer.isView === 'function') {
|
|
return ArrayBuffer.isView(arrbuf);
|
|
}
|
|
if (!arrbuf) {
|
|
return false;
|
|
}
|
|
if (arrbuf instanceof DataView) {
|
|
return true;
|
|
}
|
|
if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
var assert = assert$1.exports = ok;
|
|
var regex = /\s*function\s+([^\(\s]*)\s*/;
|
|
function getName$1(func) {
|
|
if (!util$2.isFunction(func)) {
|
|
return;
|
|
}
|
|
if (functionsHaveNames) {
|
|
return func.name;
|
|
}
|
|
var str = func.toString();
|
|
var match = str.match(regex);
|
|
return match && match[1];
|
|
}
|
|
assert.AssertionError = function AssertionError(options) {
|
|
this.name = 'AssertionError';
|
|
this.actual = options.actual;
|
|
this.expected = options.expected;
|
|
this.operator = options.operator;
|
|
if (options.message) {
|
|
this.message = options.message;
|
|
this.generatedMessage = false;
|
|
} else {
|
|
this.message = getMessage(this);
|
|
this.generatedMessage = true;
|
|
}
|
|
var stackStartFunction = options.stackStartFunction || fail;
|
|
if (Error.captureStackTrace) {
|
|
Error.captureStackTrace(this, stackStartFunction);
|
|
} else {
|
|
var err = new Error();
|
|
if (err.stack) {
|
|
var out = err.stack;
|
|
var fn_name = getName$1(stackStartFunction);
|
|
var idx = out.indexOf('\n' + fn_name);
|
|
if (idx >= 0) {
|
|
var next_line = out.indexOf('\n', idx + 1);
|
|
out = out.substring(next_line + 1);
|
|
}
|
|
this.stack = out;
|
|
}
|
|
}
|
|
};
|
|
util$2.inherits(assert.AssertionError, Error);
|
|
function truncate(s, n) {
|
|
if (typeof s === 'string') {
|
|
return s.length < n ? s : s.slice(0, n);
|
|
} else {
|
|
return s;
|
|
}
|
|
}
|
|
function inspect(something) {
|
|
if (functionsHaveNames || !util$2.isFunction(something)) {
|
|
return util$2.inspect(something);
|
|
}
|
|
var rawname = getName$1(something);
|
|
var name = rawname ? ': ' + rawname : '';
|
|
return '[Function' + name + ']';
|
|
}
|
|
function getMessage(self) {
|
|
return truncate(inspect(self.actual), 128) + ' ' + self.operator + ' ' + truncate(inspect(self.expected), 128);
|
|
}
|
|
function fail(actual, expected, message, operator, stackStartFunction) {
|
|
throw new assert.AssertionError({
|
|
message: message,
|
|
actual: actual,
|
|
expected: expected,
|
|
operator: operator,
|
|
stackStartFunction: stackStartFunction
|
|
});
|
|
}
|
|
assert.fail = fail;
|
|
function ok(value, message) {
|
|
if (!value) fail(value, true, message, '==', assert.ok);
|
|
}
|
|
assert.ok = ok;
|
|
assert.equal = function equal(actual, expected, message) {
|
|
if (actual != expected) fail(actual, expected, message, '==', assert.equal);
|
|
};
|
|
assert.notEqual = function notEqual(actual, expected, message) {
|
|
if (actual == expected) {
|
|
fail(actual, expected, message, '!=', assert.notEqual);
|
|
}
|
|
};
|
|
assert.deepEqual = function deepEqual(actual, expected, message) {
|
|
if (!_deepEqual(actual, expected, false)) {
|
|
fail(actual, expected, message, 'deepEqual', assert.deepEqual);
|
|
}
|
|
};
|
|
assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {
|
|
if (!_deepEqual(actual, expected, true)) {
|
|
fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);
|
|
}
|
|
};
|
|
function _deepEqual(actual, expected, strict, memos) {
|
|
if (actual === expected) {
|
|
return true;
|
|
} else if (isBuffer(actual) && isBuffer(expected)) {
|
|
return compare$3(actual, expected) === 0;
|
|
} else if (util$2.isDate(actual) && util$2.isDate(expected)) {
|
|
return actual.getTime() === expected.getTime();
|
|
} else if (util$2.isRegExp(actual) && util$2.isRegExp(expected)) {
|
|
return actual.source === expected.source && actual.global === expected.global && actual.multiline === expected.multiline && actual.lastIndex === expected.lastIndex && actual.ignoreCase === expected.ignoreCase;
|
|
} else if ((actual === null || typeof actual !== 'object') && (expected === null || typeof expected !== 'object')) {
|
|
return strict ? actual === expected : actual == expected;
|
|
} else if (isView(actual) && isView(expected) && pToString(actual) === pToString(expected) && !(actual instanceof Float32Array || actual instanceof Float64Array)) {
|
|
return compare$3(new Uint8Array(actual.buffer), new Uint8Array(expected.buffer)) === 0;
|
|
} else if (isBuffer(actual) !== isBuffer(expected)) {
|
|
return false;
|
|
} else {
|
|
memos = memos || {
|
|
actual: [],
|
|
expected: []
|
|
};
|
|
var actualIndex = memos.actual.indexOf(actual);
|
|
if (actualIndex !== -1) {
|
|
if (actualIndex === memos.expected.indexOf(expected)) {
|
|
return true;
|
|
}
|
|
}
|
|
memos.actual.push(actual);
|
|
memos.expected.push(expected);
|
|
return objEquiv(actual, expected, strict, memos);
|
|
}
|
|
}
|
|
function isArguments(object) {
|
|
return Object.prototype.toString.call(object) == '[object Arguments]';
|
|
}
|
|
function objEquiv(a, b, strict, actualVisitedObjects) {
|
|
if (a === null || a === undefined || b === null || b === undefined) return false;
|
|
if (util$2.isPrimitive(a) || util$2.isPrimitive(b)) return a === b;
|
|
if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false;
|
|
var aIsArgs = isArguments(a);
|
|
var bIsArgs = isArguments(b);
|
|
if (aIsArgs && !bIsArgs || !aIsArgs && bIsArgs) return false;
|
|
if (aIsArgs) {
|
|
a = pSlice.call(a);
|
|
b = pSlice.call(b);
|
|
return _deepEqual(a, b, strict);
|
|
}
|
|
var ka = objectKeys(a);
|
|
var kb = objectKeys(b);
|
|
var key, i;
|
|
if (ka.length !== kb.length) return false;
|
|
ka.sort();
|
|
kb.sort();
|
|
for (i = ka.length - 1; i >= 0; i--) {
|
|
if (ka[i] !== kb[i]) return false;
|
|
}
|
|
for (i = ka.length - 1; i >= 0; i--) {
|
|
key = ka[i];
|
|
if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects)) return false;
|
|
}
|
|
return true;
|
|
}
|
|
assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
|
|
if (_deepEqual(actual, expected, false)) {
|
|
fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
|
|
}
|
|
};
|
|
assert.notDeepStrictEqual = notDeepStrictEqual;
|
|
function notDeepStrictEqual(actual, expected, message) {
|
|
if (_deepEqual(actual, expected, true)) {
|
|
fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);
|
|
}
|
|
}
|
|
assert.strictEqual = function strictEqual(actual, expected, message) {
|
|
if (actual !== expected) {
|
|
fail(actual, expected, message, '===', assert.strictEqual);
|
|
}
|
|
};
|
|
assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
|
|
if (actual === expected) {
|
|
fail(actual, expected, message, '!==', assert.notStrictEqual);
|
|
}
|
|
};
|
|
function expectedException(actual, expected) {
|
|
if (!actual || !expected) {
|
|
return false;
|
|
}
|
|
if (Object.prototype.toString.call(expected) == '[object RegExp]') {
|
|
return expected.test(actual);
|
|
}
|
|
try {
|
|
if (actual instanceof expected) {
|
|
return true;
|
|
}
|
|
} catch (e) {}
|
|
if (Error.isPrototypeOf(expected)) {
|
|
return false;
|
|
}
|
|
return expected.call({}, actual) === true;
|
|
}
|
|
function _tryBlock(block) {
|
|
var error;
|
|
try {
|
|
block();
|
|
} catch (e) {
|
|
error = e;
|
|
}
|
|
return error;
|
|
}
|
|
function _throws(shouldThrow, block, expected, message) {
|
|
var actual;
|
|
if (typeof block !== 'function') {
|
|
throw new TypeError('"block" argument must be a function');
|
|
}
|
|
if (typeof expected === 'string') {
|
|
message = expected;
|
|
expected = null;
|
|
}
|
|
actual = _tryBlock(block);
|
|
message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + (message ? ' ' + message : '.');
|
|
if (shouldThrow && !actual) {
|
|
fail(actual, expected, 'Missing expected exception' + message);
|
|
}
|
|
var userProvidedMessage = typeof message === 'string';
|
|
var isUnwantedException = !shouldThrow && util$2.isError(actual);
|
|
var isUnexpectedException = !shouldThrow && actual && !expected;
|
|
if (isUnwantedException && userProvidedMessage && expectedException(actual, expected) || isUnexpectedException) {
|
|
fail(actual, expected, 'Got unwanted exception' + message);
|
|
}
|
|
if (shouldThrow && actual && expected && !expectedException(actual, expected) || !shouldThrow && actual) {
|
|
throw actual;
|
|
}
|
|
}
|
|
assert["throws"] = function (block, error, message) {
|
|
_throws(true, block, error, message);
|
|
};
|
|
assert.doesNotThrow = function (block, error, message) {
|
|
_throws(false, block, error, message);
|
|
};
|
|
assert.ifError = function (err) {
|
|
if (err) throw err;
|
|
};
|
|
function strict(value, message) {
|
|
if (!value) fail(value, true, message, '==', strict);
|
|
}
|
|
assert.strict = objectAssign(strict, assert, {
|
|
equal: assert.strictEqual,
|
|
deepEqual: assert.deepStrictEqual,
|
|
notEqual: assert.notStrictEqual,
|
|
notDeepEqual: assert.notDeepStrictEqual
|
|
});
|
|
assert.strict.strict = assert.strict;
|
|
var objectKeys = Object.keys || function (obj) {
|
|
var keys = [];
|
|
for (var key in obj) {
|
|
if (hasOwn.call(obj, key)) keys.push(key);
|
|
}
|
|
return keys;
|
|
};
|
|
|
|
var callExpression$9 = callExpression$e,
|
|
cloneNode$a = cloneNode$j,
|
|
expressionStatement$3 = expressionStatement$a,
|
|
identifier$8 = identifier$i,
|
|
importDeclaration = importDeclaration$1,
|
|
importDefaultSpecifier = importDefaultSpecifier$1,
|
|
importNamespaceSpecifier = importNamespaceSpecifier$1,
|
|
importSpecifier = importSpecifier$1,
|
|
memberExpression$9 = memberExpression$c,
|
|
stringLiteral$5 = stringLiteral$8,
|
|
variableDeclaration$4 = variableDeclaration$8,
|
|
variableDeclarator$4 = variableDeclarator$8;
|
|
var ImportBuilder = function () {
|
|
function ImportBuilder(importedSource, scope, hub) {
|
|
this._statements = [];
|
|
this._resultName = null;
|
|
this._importedSource = void 0;
|
|
this._scope = scope;
|
|
this._hub = hub;
|
|
this._importedSource = importedSource;
|
|
}
|
|
var _proto = ImportBuilder.prototype;
|
|
_proto.done = function done() {
|
|
return {
|
|
statements: this._statements,
|
|
resultName: this._resultName
|
|
};
|
|
};
|
|
_proto["import"] = function _import() {
|
|
this._statements.push(importDeclaration([], stringLiteral$5(this._importedSource)));
|
|
return this;
|
|
};
|
|
_proto.require = function require() {
|
|
this._statements.push(expressionStatement$3(callExpression$9(identifier$8("require"), [stringLiteral$5(this._importedSource)])));
|
|
return this;
|
|
};
|
|
_proto.namespace = function namespace(name) {
|
|
if (name === void 0) {
|
|
name = "namespace";
|
|
}
|
|
var local = this._scope.generateUidIdentifier(name);
|
|
var statement = this._statements[this._statements.length - 1];
|
|
assert$1.exports(statement.type === "ImportDeclaration");
|
|
assert$1.exports(statement.specifiers.length === 0);
|
|
statement.specifiers = [importNamespaceSpecifier(local)];
|
|
this._resultName = cloneNode$a(local);
|
|
return this;
|
|
};
|
|
_proto["default"] = function _default(name) {
|
|
var id = this._scope.generateUidIdentifier(name);
|
|
var statement = this._statements[this._statements.length - 1];
|
|
assert$1.exports(statement.type === "ImportDeclaration");
|
|
assert$1.exports(statement.specifiers.length === 0);
|
|
statement.specifiers = [importDefaultSpecifier(id)];
|
|
this._resultName = cloneNode$a(id);
|
|
return this;
|
|
};
|
|
_proto.named = function named(name, importName) {
|
|
if (importName === "default") return this["default"](name);
|
|
var id = this._scope.generateUidIdentifier(name);
|
|
var statement = this._statements[this._statements.length - 1];
|
|
assert$1.exports(statement.type === "ImportDeclaration");
|
|
assert$1.exports(statement.specifiers.length === 0);
|
|
statement.specifiers = [importSpecifier(id, identifier$8(importName))];
|
|
this._resultName = cloneNode$a(id);
|
|
return this;
|
|
};
|
|
_proto["var"] = function _var(name) {
|
|
var id = this._scope.generateUidIdentifier(name);
|
|
var statement = this._statements[this._statements.length - 1];
|
|
if (statement.type !== "ExpressionStatement") {
|
|
assert$1.exports(this._resultName);
|
|
statement = expressionStatement$3(this._resultName);
|
|
this._statements.push(statement);
|
|
}
|
|
this._statements[this._statements.length - 1] = variableDeclaration$4("var", [variableDeclarator$4(id, statement.expression)]);
|
|
this._resultName = cloneNode$a(id);
|
|
return this;
|
|
};
|
|
_proto.defaultInterop = function defaultInterop() {
|
|
return this._interop(this._hub.addHelper("interopRequireDefault"));
|
|
};
|
|
_proto.wildcardInterop = function wildcardInterop() {
|
|
return this._interop(this._hub.addHelper("interopRequireWildcard"));
|
|
};
|
|
_proto._interop = function _interop(callee) {
|
|
var statement = this._statements[this._statements.length - 1];
|
|
if (statement.type === "ExpressionStatement") {
|
|
statement.expression = callExpression$9(callee, [statement.expression]);
|
|
} else if (statement.type === "VariableDeclaration") {
|
|
assert$1.exports(statement.declarations.length === 1);
|
|
statement.declarations[0].init = callExpression$9(callee, [statement.declarations[0].init]);
|
|
} else {
|
|
assert$1.exports.fail("Unexpected type.");
|
|
}
|
|
return this;
|
|
};
|
|
_proto.prop = function prop(name) {
|
|
var statement = this._statements[this._statements.length - 1];
|
|
if (statement.type === "ExpressionStatement") {
|
|
statement.expression = memberExpression$9(statement.expression, identifier$8(name));
|
|
} else if (statement.type === "VariableDeclaration") {
|
|
assert$1.exports(statement.declarations.length === 1);
|
|
statement.declarations[0].init = memberExpression$9(statement.declarations[0].init, identifier$8(name));
|
|
} else {
|
|
assert$1.exports.fail("Unexpected type:" + statement.type);
|
|
}
|
|
return this;
|
|
};
|
|
_proto.read = function read(name) {
|
|
this._resultName = memberExpression$9(this._resultName, identifier$8(name));
|
|
};
|
|
return _createClass(ImportBuilder);
|
|
}();
|
|
|
|
function isModule(path) {
|
|
return path.node.sourceType === "module";
|
|
}
|
|
|
|
var numericLiteral$4 = numericLiteral$8,
|
|
sequenceExpression$5 = sequenceExpression$7;
|
|
var ImportInjector = function () {
|
|
function ImportInjector(path, importedSource, opts) {
|
|
this._defaultOpts = {
|
|
importedSource: null,
|
|
importedType: "commonjs",
|
|
importedInterop: "babel",
|
|
importingInterop: "babel",
|
|
ensureLiveReference: false,
|
|
ensureNoContext: false,
|
|
importPosition: "before"
|
|
};
|
|
var programPath = path.find(function (p) {
|
|
return p.isProgram();
|
|
});
|
|
this._programPath = programPath;
|
|
this._programScope = programPath.scope;
|
|
this._hub = programPath.hub;
|
|
this._defaultOpts = this._applyDefaults(importedSource, opts, true);
|
|
}
|
|
var _proto = ImportInjector.prototype;
|
|
_proto.addDefault = function addDefault(importedSourceIn, opts) {
|
|
return this.addNamed("default", importedSourceIn, opts);
|
|
};
|
|
_proto.addNamed = function addNamed(importName, importedSourceIn, opts) {
|
|
assert$1.exports(typeof importName === "string");
|
|
return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName);
|
|
};
|
|
_proto.addNamespace = function addNamespace(importedSourceIn, opts) {
|
|
return this._generateImport(this._applyDefaults(importedSourceIn, opts), null);
|
|
};
|
|
_proto.addSideEffect = function addSideEffect(importedSourceIn, opts) {
|
|
return this._generateImport(this._applyDefaults(importedSourceIn, opts), void 0);
|
|
};
|
|
_proto._applyDefaults = function _applyDefaults(importedSource, opts, isInit) {
|
|
if (isInit === void 0) {
|
|
isInit = false;
|
|
}
|
|
var newOpts;
|
|
if (typeof importedSource === "string") {
|
|
newOpts = Object.assign({}, this._defaultOpts, {
|
|
importedSource: importedSource
|
|
}, opts);
|
|
} else {
|
|
assert$1.exports(!opts, "Unexpected secondary arguments.");
|
|
newOpts = Object.assign({}, this._defaultOpts, importedSource);
|
|
}
|
|
if (!isInit && opts) {
|
|
if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint;
|
|
if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist;
|
|
}
|
|
return newOpts;
|
|
};
|
|
_proto._generateImport = function _generateImport(opts, importName) {
|
|
var isDefault = importName === "default";
|
|
var isNamed = !!importName && !isDefault;
|
|
var isNamespace = importName === null;
|
|
var importedSource = opts.importedSource,
|
|
importedType = opts.importedType,
|
|
importedInterop = opts.importedInterop,
|
|
importingInterop = opts.importingInterop,
|
|
ensureLiveReference = opts.ensureLiveReference,
|
|
ensureNoContext = opts.ensureNoContext,
|
|
nameHint = opts.nameHint,
|
|
importPosition = opts.importPosition,
|
|
blockHoist = opts.blockHoist;
|
|
var name = nameHint || importName;
|
|
var isMod = isModule(this._programPath);
|
|
var isModuleForNode = isMod && importingInterop === "node";
|
|
var isModuleForBabel = isMod && importingInterop === "babel";
|
|
if (importPosition === "after" && !isMod) {
|
|
throw new Error("\"importPosition\": \"after\" is only supported in modules");
|
|
}
|
|
var builder = new ImportBuilder(importedSource, this._programScope, this._hub);
|
|
if (importedType === "es6") {
|
|
if (!isModuleForNode && !isModuleForBabel) {
|
|
throw new Error("Cannot import an ES6 module from CommonJS");
|
|
}
|
|
builder["import"]();
|
|
if (isNamespace) {
|
|
builder.namespace(nameHint || importedSource);
|
|
} else if (isDefault || isNamed) {
|
|
builder.named(name, importName);
|
|
}
|
|
} else if (importedType !== "commonjs") {
|
|
throw new Error("Unexpected interopType \"" + importedType + "\"");
|
|
} else if (importedInterop === "babel") {
|
|
if (isModuleForNode) {
|
|
name = name !== "default" ? name : importedSource;
|
|
var es6Default = importedSource + "$es6Default";
|
|
builder["import"]();
|
|
if (isNamespace) {
|
|
builder["default"](es6Default)["var"](name || importedSource).wildcardInterop();
|
|
} else if (isDefault) {
|
|
if (ensureLiveReference) {
|
|
builder["default"](es6Default)["var"](name || importedSource).defaultInterop().read("default");
|
|
} else {
|
|
builder["default"](es6Default)["var"](name).defaultInterop().prop(importName);
|
|
}
|
|
} else if (isNamed) {
|
|
builder["default"](es6Default).read(importName);
|
|
}
|
|
} else if (isModuleForBabel) {
|
|
builder["import"]();
|
|
if (isNamespace) {
|
|
builder.namespace(name || importedSource);
|
|
} else if (isDefault || isNamed) {
|
|
builder.named(name, importName);
|
|
}
|
|
} else {
|
|
builder.require();
|
|
if (isNamespace) {
|
|
builder["var"](name || importedSource).wildcardInterop();
|
|
} else if ((isDefault || isNamed) && ensureLiveReference) {
|
|
if (isDefault) {
|
|
name = name !== "default" ? name : importedSource;
|
|
builder["var"](name).read(importName);
|
|
builder.defaultInterop();
|
|
} else {
|
|
builder["var"](importedSource).read(importName);
|
|
}
|
|
} else if (isDefault) {
|
|
builder["var"](name).defaultInterop().prop(importName);
|
|
} else if (isNamed) {
|
|
builder["var"](name).prop(importName);
|
|
}
|
|
}
|
|
} else if (importedInterop === "compiled") {
|
|
if (isModuleForNode) {
|
|
builder["import"]();
|
|
if (isNamespace) {
|
|
builder["default"](name || importedSource);
|
|
} else if (isDefault || isNamed) {
|
|
builder["default"](importedSource).read(name);
|
|
}
|
|
} else if (isModuleForBabel) {
|
|
builder["import"]();
|
|
if (isNamespace) {
|
|
builder.namespace(name || importedSource);
|
|
} else if (isDefault || isNamed) {
|
|
builder.named(name, importName);
|
|
}
|
|
} else {
|
|
builder.require();
|
|
if (isNamespace) {
|
|
builder["var"](name || importedSource);
|
|
} else if (isDefault || isNamed) {
|
|
if (ensureLiveReference) {
|
|
builder["var"](importedSource).read(name);
|
|
} else {
|
|
builder.prop(importName)["var"](name);
|
|
}
|
|
}
|
|
}
|
|
} else if (importedInterop === "uncompiled") {
|
|
if (isDefault && ensureLiveReference) {
|
|
throw new Error("No live reference for commonjs default");
|
|
}
|
|
if (isModuleForNode) {
|
|
builder["import"]();
|
|
if (isNamespace) {
|
|
builder["default"](name || importedSource);
|
|
} else if (isDefault) {
|
|
builder["default"](name);
|
|
} else if (isNamed) {
|
|
builder["default"](importedSource).read(name);
|
|
}
|
|
} else if (isModuleForBabel) {
|
|
builder["import"]();
|
|
if (isNamespace) {
|
|
builder["default"](name || importedSource);
|
|
} else if (isDefault) {
|
|
builder["default"](name);
|
|
} else if (isNamed) {
|
|
builder.named(name, importName);
|
|
}
|
|
} else {
|
|
builder.require();
|
|
if (isNamespace) {
|
|
builder["var"](name || importedSource);
|
|
} else if (isDefault) {
|
|
builder["var"](name);
|
|
} else if (isNamed) {
|
|
if (ensureLiveReference) {
|
|
builder["var"](importedSource).read(name);
|
|
} else {
|
|
builder["var"](name).prop(importName);
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
throw new Error("Unknown importedInterop \"" + importedInterop + "\".");
|
|
}
|
|
var _builder$done = builder.done(),
|
|
statements = _builder$done.statements,
|
|
resultName = _builder$done.resultName;
|
|
this._insertStatements(statements, importPosition, blockHoist);
|
|
if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") {
|
|
return sequenceExpression$5([numericLiteral$4(0), resultName]);
|
|
}
|
|
return resultName;
|
|
};
|
|
_proto._insertStatements = function _insertStatements(statements, importPosition, blockHoist) {
|
|
if (importPosition === void 0) {
|
|
importPosition = "before";
|
|
}
|
|
if (blockHoist === void 0) {
|
|
blockHoist = 3;
|
|
}
|
|
var body = this._programPath.get("body");
|
|
if (importPosition === "after") {
|
|
for (var i = body.length - 1; i >= 0; i--) {
|
|
if (body[i].isImportDeclaration()) {
|
|
body[i].insertAfter(statements);
|
|
return;
|
|
}
|
|
}
|
|
} else {
|
|
statements.forEach(function (node) {
|
|
node._blockHoist = blockHoist;
|
|
});
|
|
var targetPath = body.find(function (p) {
|
|
var val = p.node._blockHoist;
|
|
return Number.isFinite(val) && val < 4;
|
|
});
|
|
if (targetPath) {
|
|
targetPath.insertBefore(statements);
|
|
return;
|
|
}
|
|
}
|
|
this._programPath.unshiftContainer("body", statements);
|
|
};
|
|
return _createClass(ImportInjector);
|
|
}();
|
|
|
|
function addDefault(path, importedSource, opts) {
|
|
return new ImportInjector(path).addDefault(importedSource, opts);
|
|
}
|
|
function addNamed(path, name, importedSource, opts) {
|
|
return new ImportInjector(path).addNamed(name, importedSource, opts);
|
|
}
|
|
function addNamespace(path, importedSource, opts) {
|
|
return new ImportInjector(path).addNamespace(importedSource, opts);
|
|
}
|
|
|
|
var numericLiteral$3 = numericLiteral$8,
|
|
unaryExpression$3 = unaryExpression$7;
|
|
var rewriteThisVisitor = traverse.visitors.merge([visitor$5, {
|
|
ThisExpression: function ThisExpression(path) {
|
|
path.replaceWith(unaryExpression$3("void", numericLiteral$3(0), true));
|
|
}
|
|
}]);
|
|
function rewriteThis(programPath) {
|
|
traverse(programPath.node, Object.assign({}, rewriteThisVisitor, {
|
|
noScope: true
|
|
}));
|
|
}
|
|
|
|
var LOGICAL_OPERATORS$1 = LOGICAL_OPERATORS$3,
|
|
assignmentExpression$7 = assignmentExpression$d,
|
|
binaryExpression$3 = binaryExpression$5,
|
|
cloneNode$9 = cloneNode$j,
|
|
identifier$7 = identifier$i,
|
|
logicalExpression$1 = logicalExpression$3,
|
|
numericLiteral$2 = numericLiteral$8,
|
|
sequenceExpression$4 = sequenceExpression$7,
|
|
unaryExpression$2 = unaryExpression$7;
|
|
var simpleAssignmentVisitor = {
|
|
AssignmentExpression: {
|
|
exit: function exit(path) {
|
|
var scope = this.scope,
|
|
seen = this.seen,
|
|
bindingNames = this.bindingNames;
|
|
if (path.node.operator === "=") return;
|
|
if (seen.has(path.node)) return;
|
|
seen.add(path.node);
|
|
var left = path.get("left");
|
|
if (!left.isIdentifier()) return;
|
|
var localName = left.node.name;
|
|
if (!bindingNames.has(localName)) return;
|
|
if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {
|
|
return;
|
|
}
|
|
var operator = path.node.operator.slice(0, -1);
|
|
if (LOGICAL_OPERATORS$1.includes(operator)) {
|
|
path.replaceWith(logicalExpression$1(operator, path.node.left, assignmentExpression$7("=", cloneNode$9(path.node.left), path.node.right)));
|
|
} else {
|
|
path.node.right = binaryExpression$3(operator, cloneNode$9(path.node.left), path.node.right);
|
|
path.node.operator = "=";
|
|
}
|
|
}
|
|
}
|
|
};
|
|
{
|
|
simpleAssignmentVisitor.UpdateExpression = {
|
|
exit: function exit(path) {
|
|
if (!this.includeUpdateExpression) return;
|
|
var scope = this.scope,
|
|
bindingNames = this.bindingNames;
|
|
var arg = path.get("argument");
|
|
if (!arg.isIdentifier()) return;
|
|
var localName = arg.node.name;
|
|
if (!bindingNames.has(localName)) return;
|
|
if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {
|
|
return;
|
|
}
|
|
if (path.parentPath.isExpressionStatement() && !path.isCompletionRecord()) {
|
|
var operator = path.node.operator == "++" ? "+=" : "-=";
|
|
path.replaceWith(assignmentExpression$7(operator, arg.node, numericLiteral$2(1)));
|
|
} else if (path.node.prefix) {
|
|
path.replaceWith(assignmentExpression$7("=", identifier$7(localName), binaryExpression$3(path.node.operator[0], unaryExpression$2("+", arg.node), numericLiteral$2(1))));
|
|
} else {
|
|
var old = path.scope.generateUidIdentifierBasedOnNode(arg.node, "old");
|
|
var varName = old.name;
|
|
path.scope.push({
|
|
id: old
|
|
});
|
|
var binary = binaryExpression$3(path.node.operator[0], identifier$7(varName), numericLiteral$2(1));
|
|
path.replaceWith(sequenceExpression$4([assignmentExpression$7("=", identifier$7(varName), unaryExpression$2("+", arg.node)), assignmentExpression$7("=", cloneNode$9(arg.node), binary), identifier$7(varName)]));
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function simplifyAccess(path, bindingNames) {
|
|
{
|
|
var _arguments$;
|
|
path.traverse(simpleAssignmentVisitor, {
|
|
scope: path.scope,
|
|
bindingNames: bindingNames,
|
|
seen: new WeakSet(),
|
|
includeUpdateExpression: (_arguments$ = arguments[2]) != null ? _arguments$ : true
|
|
});
|
|
}
|
|
}
|
|
|
|
var _templateObject$u;
|
|
var assignmentExpression$6 = assignmentExpression$d,
|
|
callExpression$8 = callExpression$e,
|
|
cloneNode$8 = cloneNode$j,
|
|
expressionStatement$2 = expressionStatement$a,
|
|
getOuterBindingIdentifiers = getOuterBindingIdentifiers$2,
|
|
identifier$6 = identifier$i,
|
|
isMemberExpression$2 = isMemberExpression$8,
|
|
isVariableDeclaration = isVariableDeclaration$3,
|
|
jsxIdentifier = jsxIdentifier$2,
|
|
jsxMemberExpression = jsxMemberExpression$1,
|
|
memberExpression$8 = memberExpression$c,
|
|
numericLiteral$1 = numericLiteral$8,
|
|
sequenceExpression$3 = sequenceExpression$7,
|
|
stringLiteral$4 = stringLiteral$8,
|
|
variableDeclaration$3 = variableDeclaration$8,
|
|
variableDeclarator$3 = variableDeclarator$8;
|
|
function isInType$1(path) {
|
|
do {
|
|
switch (path.parent.type) {
|
|
case "TSTypeAnnotation":
|
|
case "TSTypeAliasDeclaration":
|
|
case "TSTypeReference":
|
|
case "TypeAnnotation":
|
|
case "TypeAlias":
|
|
return true;
|
|
case "ExportSpecifier":
|
|
return path.parentPath.parent.exportKind === "type";
|
|
default:
|
|
if (path.parentPath.isStatement() || path.parentPath.isExpression()) {
|
|
return false;
|
|
}
|
|
}
|
|
} while (path = path.parentPath);
|
|
}
|
|
function rewriteLiveReferences(programPath, metadata) {
|
|
var imported = new Map();
|
|
var exported = new Map();
|
|
var requeueInParent = function requeueInParent(path) {
|
|
programPath.requeue(path);
|
|
};
|
|
for (var _iterator = _createForOfIteratorHelperLoose(metadata.source), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
source = _step$value[0],
|
|
data = _step$value[1];
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(data.imports), _step3; !(_step3 = _iterator3()).done;) {
|
|
var _step3$value = _slicedToArray(_step3.value, 2),
|
|
localName = _step3$value[0],
|
|
importName = _step3$value[1];
|
|
imported.set(localName, [source, importName, null]);
|
|
}
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(data.importsNamespace), _step4; !(_step4 = _iterator4()).done;) {
|
|
var _localName = _step4.value;
|
|
imported.set(_localName, [source, null, _localName]);
|
|
}
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(metadata.local), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _exportMeta;
|
|
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
local = _step2$value[0],
|
|
_data = _step2$value[1];
|
|
var exportMeta = exported.get(local);
|
|
if (!exportMeta) {
|
|
exportMeta = [];
|
|
exported.set(local, exportMeta);
|
|
}
|
|
(_exportMeta = exportMeta).push.apply(_exportMeta, _toConsumableArray(_data.names));
|
|
}
|
|
var rewriteBindingInitVisitorState = {
|
|
metadata: metadata,
|
|
requeueInParent: requeueInParent,
|
|
scope: programPath.scope,
|
|
exported: exported
|
|
};
|
|
programPath.traverse(rewriteBindingInitVisitor, rewriteBindingInitVisitorState);
|
|
var bindingNames = new Set([].concat(_toConsumableArray(Array.from(imported.keys())), _toConsumableArray(Array.from(exported.keys()))));
|
|
{
|
|
simplifyAccess(programPath, bindingNames, false);
|
|
}
|
|
var rewriteReferencesVisitorState = {
|
|
seen: new WeakSet(),
|
|
metadata: metadata,
|
|
requeueInParent: requeueInParent,
|
|
scope: programPath.scope,
|
|
imported: imported,
|
|
exported: exported,
|
|
buildImportReference: function buildImportReference(_ref, identNode) {
|
|
var _ref2 = _slicedToArray(_ref, 3),
|
|
source = _ref2[0],
|
|
importName = _ref2[1],
|
|
localName = _ref2[2];
|
|
var meta = metadata.source.get(source);
|
|
meta.referenced = true;
|
|
if (localName) {
|
|
if (meta.lazy) {
|
|
identNode = callExpression$8(identNode, []);
|
|
}
|
|
return identNode;
|
|
}
|
|
var namespace = identifier$6(meta.name);
|
|
if (meta.lazy) namespace = callExpression$8(namespace, []);
|
|
if (importName === "default" && meta.interop === "node-default") {
|
|
return namespace;
|
|
}
|
|
var computed = metadata.stringSpecifiers.has(importName);
|
|
return memberExpression$8(namespace, computed ? stringLiteral$4(importName) : identifier$6(importName), computed);
|
|
}
|
|
};
|
|
programPath.traverse(rewriteReferencesVisitor, rewriteReferencesVisitorState);
|
|
}
|
|
var rewriteBindingInitVisitor = {
|
|
Scope: function Scope(path) {
|
|
path.skip();
|
|
},
|
|
ClassDeclaration: function ClassDeclaration(path) {
|
|
var requeueInParent = this.requeueInParent,
|
|
exported = this.exported,
|
|
metadata = this.metadata;
|
|
var id = path.node.id;
|
|
if (!id) throw new Error("Expected class to have a name");
|
|
var localName = id.name;
|
|
var exportNames = exported.get(localName) || [];
|
|
if (exportNames.length > 0) {
|
|
var statement = expressionStatement$2(buildBindingExportAssignmentExpression(metadata, exportNames, identifier$6(localName), path.scope));
|
|
statement._blockHoist = path.node._blockHoist;
|
|
requeueInParent(path.insertAfter(statement)[0]);
|
|
}
|
|
},
|
|
VariableDeclaration: function VariableDeclaration(path) {
|
|
var requeueInParent = this.requeueInParent,
|
|
exported = this.exported,
|
|
metadata = this.metadata;
|
|
Object.keys(path.getOuterBindingIdentifiers()).forEach(function (localName) {
|
|
var exportNames = exported.get(localName) || [];
|
|
if (exportNames.length > 0) {
|
|
var statement = expressionStatement$2(buildBindingExportAssignmentExpression(metadata, exportNames, identifier$6(localName), path.scope));
|
|
statement._blockHoist = path.node._blockHoist;
|
|
requeueInParent(path.insertAfter(statement)[0]);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
var buildBindingExportAssignmentExpression = function buildBindingExportAssignmentExpression(metadata, exportNames, localExpr, scope) {
|
|
var exportsObjectName = metadata.exportName;
|
|
for (var currentScope = scope; currentScope != null; currentScope = currentScope.parent) {
|
|
if (currentScope.hasOwnBinding(exportsObjectName)) {
|
|
currentScope.rename(exportsObjectName);
|
|
}
|
|
}
|
|
return (exportNames || []).reduce(function (expr, exportName) {
|
|
var stringSpecifiers = metadata.stringSpecifiers;
|
|
var computed = stringSpecifiers.has(exportName);
|
|
return assignmentExpression$6("=", memberExpression$8(identifier$6(exportsObjectName), computed ? stringLiteral$4(exportName) : identifier$6(exportName), computed), expr);
|
|
}, localExpr);
|
|
};
|
|
var buildImportThrow = function buildImportThrow(localName) {
|
|
return template$2.expression.ast(_templateObject$u || (_templateObject$u = _taggedTemplateLiteralLoose(["\n (function() {\n throw new Error('\"' + '", "' + '\" is read-only.');\n })()\n "])), localName);
|
|
};
|
|
var rewriteReferencesVisitor = {
|
|
ReferencedIdentifier: function ReferencedIdentifier(path) {
|
|
var seen = this.seen,
|
|
buildImportReference = this.buildImportReference,
|
|
scope = this.scope,
|
|
imported = this.imported,
|
|
requeueInParent = this.requeueInParent;
|
|
if (seen.has(path.node)) return;
|
|
seen.add(path.node);
|
|
var localName = path.node.name;
|
|
var importData = imported.get(localName);
|
|
if (importData) {
|
|
if (isInType$1(path)) {
|
|
throw path.buildCodeFrameError("Cannot transform the imported binding \"" + localName + "\" since it's also used in a type annotation. " + "Please strip type annotations using @babel/preset-typescript or @babel/preset-flow.");
|
|
}
|
|
var localBinding = path.scope.getBinding(localName);
|
|
var rootBinding = scope.getBinding(localName);
|
|
if (rootBinding !== localBinding) return;
|
|
var ref = buildImportReference(importData, path.node);
|
|
ref.loc = path.node.loc;
|
|
if ((path.parentPath.isCallExpression({
|
|
callee: path.node
|
|
}) || path.parentPath.isOptionalCallExpression({
|
|
callee: path.node
|
|
}) || path.parentPath.isTaggedTemplateExpression({
|
|
tag: path.node
|
|
})) && isMemberExpression$2(ref)) {
|
|
path.replaceWith(sequenceExpression$3([numericLiteral$1(0), ref]));
|
|
} else if (path.isJSXIdentifier() && isMemberExpression$2(ref)) {
|
|
var object = ref.object,
|
|
property = ref.property;
|
|
path.replaceWith(jsxMemberExpression(jsxIdentifier(object.name), jsxIdentifier(property.name)));
|
|
} else {
|
|
path.replaceWith(ref);
|
|
}
|
|
requeueInParent(path);
|
|
path.skip();
|
|
}
|
|
},
|
|
UpdateExpression: function UpdateExpression(path) {
|
|
var scope = this.scope,
|
|
seen = this.seen,
|
|
imported = this.imported,
|
|
exported = this.exported,
|
|
requeueInParent = this.requeueInParent,
|
|
buildImportReference = this.buildImportReference;
|
|
if (seen.has(path.node)) return;
|
|
seen.add(path.node);
|
|
var arg = path.get("argument");
|
|
if (arg.isMemberExpression()) return;
|
|
var update = path.node;
|
|
if (arg.isIdentifier()) {
|
|
var localName = arg.node.name;
|
|
if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {
|
|
return;
|
|
}
|
|
var exportedNames = exported.get(localName);
|
|
var importData = imported.get(localName);
|
|
if ((exportedNames == null ? void 0 : exportedNames.length) > 0 || importData) {
|
|
if (importData) {
|
|
path.replaceWith(assignmentExpression$6(update.operator[0] + "=", buildImportReference(importData, arg.node), buildImportThrow(localName)));
|
|
} else if (update.prefix) {
|
|
path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, cloneNode$8(update), path.scope));
|
|
} else {
|
|
var ref = scope.generateDeclaredUidIdentifier(localName);
|
|
path.replaceWith(sequenceExpression$3([assignmentExpression$6("=", cloneNode$8(ref), cloneNode$8(update)), buildBindingExportAssignmentExpression(this.metadata, exportedNames, identifier$6(localName), path.scope), cloneNode$8(ref)]));
|
|
}
|
|
}
|
|
}
|
|
requeueInParent(path);
|
|
path.skip();
|
|
},
|
|
AssignmentExpression: {
|
|
exit: function exit(path) {
|
|
var _this = this;
|
|
var scope = this.scope,
|
|
seen = this.seen,
|
|
imported = this.imported,
|
|
exported = this.exported,
|
|
requeueInParent = this.requeueInParent,
|
|
buildImportReference = this.buildImportReference;
|
|
if (seen.has(path.node)) return;
|
|
seen.add(path.node);
|
|
var left = path.get("left");
|
|
if (left.isMemberExpression()) return;
|
|
if (left.isIdentifier()) {
|
|
var localName = left.node.name;
|
|
if (scope.getBinding(localName) !== path.scope.getBinding(localName)) {
|
|
return;
|
|
}
|
|
var exportedNames = exported.get(localName);
|
|
var importData = imported.get(localName);
|
|
if ((exportedNames == null ? void 0 : exportedNames.length) > 0 || importData) {
|
|
assert$1.exports(path.node.operator === "=", "Path was not simplified");
|
|
var assignment = path.node;
|
|
if (importData) {
|
|
assignment.left = buildImportReference(importData, left.node);
|
|
assignment.right = sequenceExpression$3([assignment.right, buildImportThrow(localName)]);
|
|
}
|
|
path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, assignment, path.scope));
|
|
requeueInParent(path);
|
|
}
|
|
} else {
|
|
var ids = left.getOuterBindingIdentifiers();
|
|
var programScopeIds = Object.keys(ids).filter(function (localName) {
|
|
return scope.getBinding(localName) === path.scope.getBinding(localName);
|
|
});
|
|
var id = programScopeIds.find(function (localName) {
|
|
return imported.has(localName);
|
|
});
|
|
if (id) {
|
|
path.node.right = sequenceExpression$3([path.node.right, buildImportThrow(id)]);
|
|
}
|
|
var items = [];
|
|
programScopeIds.forEach(function (localName) {
|
|
var exportedNames = exported.get(localName) || [];
|
|
if (exportedNames.length > 0) {
|
|
items.push(buildBindingExportAssignmentExpression(_this.metadata, exportedNames, identifier$6(localName), path.scope));
|
|
}
|
|
});
|
|
if (items.length > 0) {
|
|
var node = sequenceExpression$3(items);
|
|
if (path.parentPath.isExpressionStatement()) {
|
|
node = expressionStatement$2(node);
|
|
node._blockHoist = path.parentPath.node._blockHoist;
|
|
}
|
|
var statement = path.insertAfter(node)[0];
|
|
requeueInParent(statement);
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ForOfStatement|ForInStatement": function ForOfStatementForInStatement(path) {
|
|
var scope = path.scope,
|
|
node = path.node;
|
|
var left = node.left;
|
|
var exported = this.exported,
|
|
imported = this.imported,
|
|
programScope = this.scope;
|
|
if (!isVariableDeclaration(left)) {
|
|
var didTransformExport = false,
|
|
importConstViolationName;
|
|
var loopBodyScope = path.get("body").scope;
|
|
for (var _i = 0, _Object$keys = Object.keys(getOuterBindingIdentifiers(left)); _i < _Object$keys.length; _i++) {
|
|
var name = _Object$keys[_i];
|
|
if (programScope.getBinding(name) === scope.getBinding(name)) {
|
|
if (exported.has(name)) {
|
|
didTransformExport = true;
|
|
if (loopBodyScope.hasOwnBinding(name)) {
|
|
loopBodyScope.rename(name);
|
|
}
|
|
}
|
|
if (imported.has(name) && !importConstViolationName) {
|
|
importConstViolationName = name;
|
|
}
|
|
}
|
|
}
|
|
if (!didTransformExport && !importConstViolationName) {
|
|
return;
|
|
}
|
|
path.ensureBlock();
|
|
var bodyPath = path.get("body");
|
|
var newLoopId = scope.generateUidIdentifierBasedOnNode(left);
|
|
path.get("left").replaceWith(variableDeclaration$3("let", [variableDeclarator$3(cloneNode$8(newLoopId))]));
|
|
scope.registerDeclaration(path.get("left"));
|
|
if (didTransformExport) {
|
|
bodyPath.unshiftContainer("body", expressionStatement$2(assignmentExpression$6("=", left, newLoopId)));
|
|
}
|
|
if (importConstViolationName) {
|
|
bodyPath.unshiftContainer("body", expressionStatement$2(buildImportThrow(importConstViolationName)));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
// Copyright Joyent, Inc. and other Node contributors.
|
|
//
|
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
// copy of this software and associated documentation files (the
|
|
// "Software"), to deal in the Software without restriction, including
|
|
// without limitation the rights to use, copy, modify, merge, publish,
|
|
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
// persons to whom the Software is furnished to do so, subject to the
|
|
// following conditions:
|
|
//
|
|
// The above copyright notice and this permission notice shall be included
|
|
// in all copies or substantial portions of the Software.
|
|
//
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
|
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
// resolves . and .. elements in a path array with directory names there
|
|
// must be no slashes, empty elements, or device names (c:\) in the array
|
|
// (so also no leading and trailing slashes - it does not distinguish
|
|
// relative and absolute paths)
|
|
function normalizeArray(parts, allowAboveRoot) {
|
|
// if the path tries to go above the root, `up` ends up > 0
|
|
var up = 0;
|
|
for (var i = parts.length - 1; i >= 0; i--) {
|
|
var last = parts[i];
|
|
if (last === '.') {
|
|
parts.splice(i, 1);
|
|
} else if (last === '..') {
|
|
parts.splice(i, 1);
|
|
up++;
|
|
} else if (up) {
|
|
parts.splice(i, 1);
|
|
up--;
|
|
}
|
|
}
|
|
|
|
// if the path is allowed to go above the root, restore leading ..s
|
|
if (allowAboveRoot) {
|
|
for (; up--; up) {
|
|
parts.unshift('..');
|
|
}
|
|
}
|
|
|
|
return parts;
|
|
}
|
|
|
|
// Split a filename into [root, dir, basename, ext], unix version
|
|
// 'root' is just a slash, or nothing.
|
|
var splitPathRe =
|
|
/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
|
|
var splitPath = function(filename) {
|
|
return splitPathRe.exec(filename).slice(1);
|
|
};
|
|
|
|
// path.resolve([from ...], to)
|
|
// posix version
|
|
function resolve$3() {
|
|
var resolvedPath = '',
|
|
resolvedAbsolute = false;
|
|
|
|
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
|
|
var path = (i >= 0) ? arguments[i] : '/';
|
|
|
|
// Skip empty and invalid entries
|
|
if (typeof path !== 'string') {
|
|
throw new TypeError('Arguments to path.resolve must be strings');
|
|
} else if (!path) {
|
|
continue;
|
|
}
|
|
|
|
resolvedPath = path + '/' + resolvedPath;
|
|
resolvedAbsolute = path.charAt(0) === '/';
|
|
}
|
|
|
|
// At this point the path should be resolved to a full absolute path, but
|
|
// handle relative paths to be safe (might happen when process.cwd() fails)
|
|
|
|
// Normalize the path
|
|
resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {
|
|
return !!p;
|
|
}), !resolvedAbsolute).join('/');
|
|
|
|
return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
|
|
}
|
|
// path.normalize(path)
|
|
// posix version
|
|
function normalize$2(path) {
|
|
var isPathAbsolute = isAbsolute(path),
|
|
trailingSlash = substr(path, -1) === '/';
|
|
|
|
// Normalize the path
|
|
path = normalizeArray(filter(path.split('/'), function(p) {
|
|
return !!p;
|
|
}), !isPathAbsolute).join('/');
|
|
|
|
if (!path && !isPathAbsolute) {
|
|
path = '.';
|
|
}
|
|
if (path && trailingSlash) {
|
|
path += '/';
|
|
}
|
|
|
|
return (isPathAbsolute ? '/' : '') + path;
|
|
}
|
|
// posix version
|
|
function isAbsolute(path) {
|
|
return path.charAt(0) === '/';
|
|
}
|
|
|
|
// posix version
|
|
function join() {
|
|
var paths = Array.prototype.slice.call(arguments, 0);
|
|
return normalize$2(filter(paths, function(p, index) {
|
|
if (typeof p !== 'string') {
|
|
throw new TypeError('Arguments to path.join must be strings');
|
|
}
|
|
return p;
|
|
}).join('/'));
|
|
}
|
|
|
|
|
|
// path.relative(from, to)
|
|
// posix version
|
|
function relative(from, to) {
|
|
from = resolve$3(from).substr(1);
|
|
to = resolve$3(to).substr(1);
|
|
|
|
function trim(arr) {
|
|
var start = 0;
|
|
for (; start < arr.length; start++) {
|
|
if (arr[start] !== '') break;
|
|
}
|
|
|
|
var end = arr.length - 1;
|
|
for (; end >= 0; end--) {
|
|
if (arr[end] !== '') break;
|
|
}
|
|
|
|
if (start > end) return [];
|
|
return arr.slice(start, end - start + 1);
|
|
}
|
|
|
|
var fromParts = trim(from.split('/'));
|
|
var toParts = trim(to.split('/'));
|
|
|
|
var length = Math.min(fromParts.length, toParts.length);
|
|
var samePartsLength = length;
|
|
for (var i = 0; i < length; i++) {
|
|
if (fromParts[i] !== toParts[i]) {
|
|
samePartsLength = i;
|
|
break;
|
|
}
|
|
}
|
|
|
|
var outputParts = [];
|
|
for (var i = samePartsLength; i < fromParts.length; i++) {
|
|
outputParts.push('..');
|
|
}
|
|
|
|
outputParts = outputParts.concat(toParts.slice(samePartsLength));
|
|
|
|
return outputParts.join('/');
|
|
}
|
|
|
|
var sep$1 = '/';
|
|
var delimiter = ':';
|
|
|
|
function dirname(path) {
|
|
var result = splitPath(path),
|
|
root = result[0],
|
|
dir = result[1];
|
|
|
|
if (!root && !dir) {
|
|
// No dirname whatsoever
|
|
return '.';
|
|
}
|
|
|
|
if (dir) {
|
|
// It has a dirname, strip trailing slash
|
|
dir = dir.substr(0, dir.length - 1);
|
|
}
|
|
|
|
return root + dir;
|
|
}
|
|
|
|
function basename(path, ext) {
|
|
var f = splitPath(path)[2];
|
|
// TODO: make this comparison case-insensitive on windows?
|
|
if (ext && f.substr(-1 * ext.length) === ext) {
|
|
f = f.substr(0, f.length - ext.length);
|
|
}
|
|
return f;
|
|
}
|
|
|
|
|
|
function extname(path) {
|
|
return splitPath(path)[3];
|
|
}
|
|
var path$1 = {
|
|
extname: extname,
|
|
basename: basename,
|
|
dirname: dirname,
|
|
sep: sep$1,
|
|
delimiter: delimiter,
|
|
relative: relative,
|
|
join: join,
|
|
isAbsolute: isAbsolute,
|
|
normalize: normalize$2,
|
|
resolve: resolve$3
|
|
};
|
|
function filter (xs, f) {
|
|
if (xs.filter) return xs.filter(f);
|
|
var res = [];
|
|
for (var i = 0; i < xs.length; i++) {
|
|
if (f(xs[i], i, xs)) res.push(xs[i]);
|
|
}
|
|
return res;
|
|
}
|
|
|
|
// String.prototype.substr - negative index don't work in IE8
|
|
var substr = 'ab'.substr(-1) === 'b' ?
|
|
function (str, start, len) { return str.substr(start, len) } :
|
|
function (str, start, len) {
|
|
if (start < 0) start = str.length + start;
|
|
return str.substr(start, len);
|
|
}
|
|
;
|
|
|
|
var _polyfillNode_path = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
resolve: resolve$3,
|
|
normalize: normalize$2,
|
|
isAbsolute: isAbsolute,
|
|
join: join,
|
|
relative: relative,
|
|
sep: sep$1,
|
|
delimiter: delimiter,
|
|
dirname: dirname,
|
|
basename: basename,
|
|
extname: extname,
|
|
'default': path$1
|
|
});
|
|
|
|
function hasExports(metadata) {
|
|
return metadata.hasExports;
|
|
}
|
|
function isSideEffectImport(source) {
|
|
return source.imports.size === 0 && source.importsNamespace.size === 0 && source.reexports.size === 0 && source.reexportNamespace.size === 0 && !source.reexportAll;
|
|
}
|
|
function validateImportInteropOption(importInterop) {
|
|
if (typeof importInterop !== "function" && importInterop !== "none" && importInterop !== "babel" && importInterop !== "node") {
|
|
throw new Error(".importInterop must be one of \"none\", \"babel\", \"node\", or a function returning one of those values (received " + importInterop + ").");
|
|
}
|
|
return importInterop;
|
|
}
|
|
function resolveImportInterop(importInterop, source, filename) {
|
|
if (typeof importInterop === "function") {
|
|
return validateImportInteropOption(importInterop(source, filename));
|
|
}
|
|
return importInterop;
|
|
}
|
|
function normalizeModuleAndLoadMetadata(programPath, exportName, _ref) {
|
|
var importInterop = _ref.importInterop,
|
|
_ref$initializeReexpo = _ref.initializeReexports,
|
|
initializeReexports = _ref$initializeReexpo === void 0 ? false : _ref$initializeReexpo,
|
|
_ref$lazy = _ref.lazy,
|
|
lazy = _ref$lazy === void 0 ? false : _ref$lazy,
|
|
_ref$esNamespaceOnly = _ref.esNamespaceOnly,
|
|
esNamespaceOnly = _ref$esNamespaceOnly === void 0 ? false : _ref$esNamespaceOnly,
|
|
filename = _ref.filename;
|
|
if (!exportName) {
|
|
exportName = programPath.scope.generateUidIdentifier("exports").name;
|
|
}
|
|
var stringSpecifiers = new Set();
|
|
nameAnonymousExports(programPath);
|
|
var _getModuleMetadata = getModuleMetadata(programPath, {
|
|
initializeReexports: initializeReexports,
|
|
lazy: lazy
|
|
}, stringSpecifiers),
|
|
local = _getModuleMetadata.local,
|
|
sources = _getModuleMetadata.sources,
|
|
hasExports = _getModuleMetadata.hasExports;
|
|
removeImportExportDeclarations(programPath);
|
|
for (var _iterator = _createForOfIteratorHelperLoose(sources), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
_source = _step$value[0],
|
|
metadata = _step$value[1];
|
|
if (metadata.importsNamespace.size > 0) {
|
|
metadata.name = metadata.importsNamespace.values().next().value;
|
|
}
|
|
var resolvedInterop = resolveImportInterop(importInterop, _source, filename);
|
|
if (resolvedInterop === "none") {
|
|
metadata.interop = "none";
|
|
} else if (resolvedInterop === "node" && metadata.interop === "namespace") {
|
|
metadata.interop = "node-namespace";
|
|
} else if (resolvedInterop === "node" && metadata.interop === "default") {
|
|
metadata.interop = "node-default";
|
|
} else if (esNamespaceOnly && metadata.interop === "namespace") {
|
|
metadata.interop = "default";
|
|
}
|
|
}
|
|
return {
|
|
exportName: exportName,
|
|
exportNameListName: null,
|
|
hasExports: hasExports,
|
|
local: local,
|
|
source: sources,
|
|
stringSpecifiers: stringSpecifiers
|
|
};
|
|
}
|
|
function getExportSpecifierName$1(path, stringSpecifiers) {
|
|
if (path.isIdentifier()) {
|
|
return path.node.name;
|
|
} else if (path.isStringLiteral()) {
|
|
var stringValue = path.node.value;
|
|
if (!isIdentifierName(stringValue)) {
|
|
stringSpecifiers.add(stringValue);
|
|
}
|
|
return stringValue;
|
|
} else {
|
|
throw new Error("Expected export specifier to be either Identifier or StringLiteral, got " + path.node.type);
|
|
}
|
|
}
|
|
function assertExportSpecifier(path) {
|
|
if (path.isExportSpecifier()) {
|
|
return;
|
|
} else if (path.isExportNamespaceSpecifier()) {
|
|
throw path.buildCodeFrameError("Export namespace should be first transformed by `@babel/plugin-proposal-export-namespace-from`.");
|
|
} else {
|
|
throw path.buildCodeFrameError("Unexpected export specifier type");
|
|
}
|
|
}
|
|
function getModuleMetadata(programPath, _ref2, stringSpecifiers) {
|
|
var lazy = _ref2.lazy,
|
|
initializeReexports = _ref2.initializeReexports;
|
|
var localData = getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers);
|
|
var sourceData = new Map();
|
|
var getData = function getData(sourceNode) {
|
|
var source = sourceNode.value;
|
|
var data = sourceData.get(source);
|
|
if (!data) {
|
|
data = {
|
|
name: programPath.scope.generateUidIdentifier(basename(source, extname(source))).name,
|
|
interop: "none",
|
|
loc: null,
|
|
imports: new Map(),
|
|
importsNamespace: new Set(),
|
|
reexports: new Map(),
|
|
reexportNamespace: new Set(),
|
|
reexportAll: null,
|
|
lazy: false,
|
|
referenced: false
|
|
};
|
|
sourceData.set(source, data);
|
|
}
|
|
return data;
|
|
};
|
|
var hasExports = false;
|
|
programPath.get("body").forEach(function (child) {
|
|
if (child.isImportDeclaration()) {
|
|
var data = getData(child.node.source);
|
|
if (!data.loc) data.loc = child.node.loc;
|
|
child.get("specifiers").forEach(function (spec) {
|
|
if (spec.isImportDefaultSpecifier()) {
|
|
var localName = spec.get("local").node.name;
|
|
data.imports.set(localName, "default");
|
|
var reexport = localData.get(localName);
|
|
if (reexport) {
|
|
localData["delete"](localName);
|
|
reexport.names.forEach(function (name) {
|
|
data.reexports.set(name, "default");
|
|
});
|
|
data.referenced = true;
|
|
}
|
|
} else if (spec.isImportNamespaceSpecifier()) {
|
|
var _localName = spec.get("local").node.name;
|
|
data.importsNamespace.add(_localName);
|
|
var _reexport = localData.get(_localName);
|
|
if (_reexport) {
|
|
localData["delete"](_localName);
|
|
_reexport.names.forEach(function (name) {
|
|
data.reexportNamespace.add(name);
|
|
});
|
|
data.referenced = true;
|
|
}
|
|
} else if (spec.isImportSpecifier()) {
|
|
var importName = getExportSpecifierName$1(spec.get("imported"), stringSpecifiers);
|
|
var _localName2 = spec.get("local").node.name;
|
|
data.imports.set(_localName2, importName);
|
|
var _reexport2 = localData.get(_localName2);
|
|
if (_reexport2) {
|
|
localData["delete"](_localName2);
|
|
_reexport2.names.forEach(function (name) {
|
|
data.reexports.set(name, importName);
|
|
});
|
|
data.referenced = true;
|
|
}
|
|
}
|
|
});
|
|
} else if (child.isExportAllDeclaration()) {
|
|
hasExports = true;
|
|
var _data = getData(child.node.source);
|
|
if (!_data.loc) _data.loc = child.node.loc;
|
|
_data.reexportAll = {
|
|
loc: child.node.loc
|
|
};
|
|
_data.referenced = true;
|
|
} else if (child.isExportNamedDeclaration() && child.node.source) {
|
|
hasExports = true;
|
|
var _data2 = getData(child.node.source);
|
|
if (!_data2.loc) _data2.loc = child.node.loc;
|
|
child.get("specifiers").forEach(function (spec) {
|
|
assertExportSpecifier(spec);
|
|
var importName = getExportSpecifierName$1(spec.get("local"), stringSpecifiers);
|
|
var exportName = getExportSpecifierName$1(spec.get("exported"), stringSpecifiers);
|
|
_data2.reexports.set(exportName, importName);
|
|
_data2.referenced = true;
|
|
if (exportName === "__esModule") {
|
|
throw spec.get("exported").buildCodeFrameError('Illegal export "__esModule".');
|
|
}
|
|
});
|
|
} else if (child.isExportNamedDeclaration() || child.isExportDefaultDeclaration()) {
|
|
hasExports = true;
|
|
}
|
|
});
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(sourceData.values()), _step2; !(_step2 = _iterator2()).done;) {
|
|
var metadata = _step2.value;
|
|
var needsDefault = false;
|
|
var needsNamed = false;
|
|
if (metadata.importsNamespace.size > 0) {
|
|
needsDefault = true;
|
|
needsNamed = true;
|
|
}
|
|
if (metadata.reexportAll) {
|
|
needsNamed = true;
|
|
}
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(metadata.imports.values()), _step4; !(_step4 = _iterator4()).done;) {
|
|
var importName = _step4.value;
|
|
if (importName === "default") needsDefault = true;else needsNamed = true;
|
|
}
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(metadata.reexports.values()), _step5; !(_step5 = _iterator5()).done;) {
|
|
var _importName = _step5.value;
|
|
if (_importName === "default") needsDefault = true;else needsNamed = true;
|
|
}
|
|
if (needsDefault && needsNamed) {
|
|
metadata.interop = "namespace";
|
|
} else if (needsDefault) {
|
|
metadata.interop = "default";
|
|
}
|
|
}
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(sourceData), _step3; !(_step3 = _iterator3()).done;) {
|
|
var _step3$value = _slicedToArray(_step3.value, 2),
|
|
_source2 = _step3$value[0],
|
|
_metadata = _step3$value[1];
|
|
if (lazy !== false && !(isSideEffectImport(_metadata) || _metadata.reexportAll)) {
|
|
if (lazy === true) {
|
|
_metadata.lazy = !/\./.test(_source2);
|
|
} else if (Array.isArray(lazy)) {
|
|
_metadata.lazy = lazy.indexOf(_source2) !== -1;
|
|
} else if (typeof lazy === "function") {
|
|
_metadata.lazy = lazy(_source2);
|
|
} else {
|
|
throw new Error(".lazy must be a boolean, string array, or function");
|
|
}
|
|
}
|
|
}
|
|
return {
|
|
hasExports: hasExports,
|
|
local: localData,
|
|
sources: sourceData
|
|
};
|
|
}
|
|
function getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers) {
|
|
var bindingKindLookup = new Map();
|
|
programPath.get("body").forEach(function (child) {
|
|
var kind;
|
|
if (child.isImportDeclaration()) {
|
|
kind = "import";
|
|
} else {
|
|
if (child.isExportDefaultDeclaration()) {
|
|
child = child.get("declaration");
|
|
}
|
|
if (child.isExportNamedDeclaration()) {
|
|
if (child.node.declaration) {
|
|
child = child.get("declaration");
|
|
} else if (initializeReexports && child.node.source && child.get("source").isStringLiteral()) {
|
|
child.get("specifiers").forEach(function (spec) {
|
|
assertExportSpecifier(spec);
|
|
bindingKindLookup.set(spec.get("local").node.name, "block");
|
|
});
|
|
return;
|
|
}
|
|
}
|
|
if (child.isFunctionDeclaration()) {
|
|
kind = "hoisted";
|
|
} else if (child.isClassDeclaration()) {
|
|
kind = "block";
|
|
} else if (child.isVariableDeclaration({
|
|
kind: "var"
|
|
})) {
|
|
kind = "var";
|
|
} else if (child.isVariableDeclaration()) {
|
|
kind = "block";
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
Object.keys(child.getOuterBindingIdentifiers()).forEach(function (name) {
|
|
bindingKindLookup.set(name, kind);
|
|
});
|
|
});
|
|
var localMetadata = new Map();
|
|
var getLocalMetadata = function getLocalMetadata(idPath) {
|
|
var localName = idPath.node.name;
|
|
var metadata = localMetadata.get(localName);
|
|
if (!metadata) {
|
|
var kind = bindingKindLookup.get(localName);
|
|
if (kind === undefined) {
|
|
throw idPath.buildCodeFrameError("Exporting local \"" + localName + "\", which is not declared.");
|
|
}
|
|
metadata = {
|
|
names: [],
|
|
kind: kind
|
|
};
|
|
localMetadata.set(localName, metadata);
|
|
}
|
|
return metadata;
|
|
};
|
|
programPath.get("body").forEach(function (child) {
|
|
if (child.isExportNamedDeclaration() && (initializeReexports || !child.node.source)) {
|
|
if (child.node.declaration) {
|
|
var declaration = child.get("declaration");
|
|
var ids = declaration.getOuterBindingIdentifierPaths();
|
|
Object.keys(ids).forEach(function (name) {
|
|
if (name === "__esModule") {
|
|
throw declaration.buildCodeFrameError('Illegal export "__esModule".');
|
|
}
|
|
getLocalMetadata(ids[name]).names.push(name);
|
|
});
|
|
} else {
|
|
child.get("specifiers").forEach(function (spec) {
|
|
var local = spec.get("local");
|
|
var exported = spec.get("exported");
|
|
var localMetadata = getLocalMetadata(local);
|
|
var exportName = getExportSpecifierName$1(exported, stringSpecifiers);
|
|
if (exportName === "__esModule") {
|
|
throw exported.buildCodeFrameError('Illegal export "__esModule".');
|
|
}
|
|
localMetadata.names.push(exportName);
|
|
});
|
|
}
|
|
} else if (child.isExportDefaultDeclaration()) {
|
|
var _declaration = child.get("declaration");
|
|
if (_declaration.isFunctionDeclaration() || _declaration.isClassDeclaration()) {
|
|
getLocalMetadata(_declaration.get("id")).names.push("default");
|
|
} else {
|
|
throw _declaration.buildCodeFrameError("Unexpected default expression export.");
|
|
}
|
|
}
|
|
});
|
|
return localMetadata;
|
|
}
|
|
function nameAnonymousExports(programPath) {
|
|
programPath.get("body").forEach(function (child) {
|
|
if (!child.isExportDefaultDeclaration()) return;
|
|
splitExportDeclaration(child);
|
|
});
|
|
}
|
|
function removeImportExportDeclarations(programPath) {
|
|
programPath.get("body").forEach(function (child) {
|
|
if (child.isImportDeclaration()) {
|
|
child.remove();
|
|
} else if (child.isExportNamedDeclaration()) {
|
|
if (child.node.declaration) {
|
|
child.node.declaration._blockHoist = child.node._blockHoist;
|
|
child.replaceWith(child.node.declaration);
|
|
} else {
|
|
child.remove();
|
|
}
|
|
} else if (child.isExportDefaultDeclaration()) {
|
|
var declaration = child.get("declaration");
|
|
if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) {
|
|
declaration._blockHoist = child.node._blockHoist;
|
|
child.replaceWith(declaration);
|
|
} else {
|
|
throw declaration.buildCodeFrameError("Unexpected default expression export.");
|
|
}
|
|
} else if (child.isExportAllDeclaration()) {
|
|
child.remove();
|
|
}
|
|
});
|
|
}
|
|
|
|
var _templateObject$t, _templateObject2$e, _templateObject3$c, _templateObject4$7;
|
|
function buildDynamicImport(node, deferToThen, wrapWithPromise, builder) {
|
|
var _node$arguments = _slicedToArray(node.arguments, 1),
|
|
specifier = _node$arguments[0];
|
|
if (isStringLiteral$6(specifier) || isTemplateLiteral$2(specifier) && specifier.quasis.length === 0) {
|
|
if (deferToThen) {
|
|
return template$2.expression.ast(_templateObject$t || (_templateObject$t = _taggedTemplateLiteralLoose(["\n Promise.resolve().then(() => ", ")\n "])), builder(specifier));
|
|
} else return builder(specifier);
|
|
}
|
|
var specifierToString = isTemplateLiteral$2(specifier) ? identifier$i("specifier") : templateLiteral([templateElement({
|
|
raw: ""
|
|
}), templateElement({
|
|
raw: ""
|
|
})], [identifier$i("specifier")]);
|
|
if (deferToThen) {
|
|
return template$2.expression.ast(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteralLoose(["\n (specifier =>\n new Promise(r => r(", "))\n .then(s => ", ")\n )(", ")\n "])), specifierToString, builder(identifier$i("s")), specifier);
|
|
} else if (wrapWithPromise) {
|
|
return template$2.expression.ast(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteralLoose(["\n (specifier =>\n new Promise(r => r(", "))\n )(", ")\n "])), builder(specifierToString), specifier);
|
|
} else {
|
|
return template$2.expression.ast(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteralLoose(["\n (specifier => ", ")(", ")\n "])), builder(specifierToString), specifier);
|
|
}
|
|
}
|
|
|
|
{
|
|
var originalGetModuleName = getModuleName;
|
|
getModuleName = function getModuleName(rootOpts, pluginOpts) {
|
|
var _pluginOpts$moduleId, _pluginOpts$moduleIds, _pluginOpts$getModule, _pluginOpts$moduleRoo;
|
|
return originalGetModuleName(rootOpts, {
|
|
moduleId: (_pluginOpts$moduleId = pluginOpts.moduleId) != null ? _pluginOpts$moduleId : rootOpts.moduleId,
|
|
moduleIds: (_pluginOpts$moduleIds = pluginOpts.moduleIds) != null ? _pluginOpts$moduleIds : rootOpts.moduleIds,
|
|
getModuleId: (_pluginOpts$getModule = pluginOpts.getModuleId) != null ? _pluginOpts$getModule : rootOpts.getModuleId,
|
|
moduleRoot: (_pluginOpts$moduleRoo = pluginOpts.moduleRoot) != null ? _pluginOpts$moduleRoo : rootOpts.moduleRoot
|
|
});
|
|
};
|
|
}
|
|
function getModuleName(rootOpts, pluginOpts) {
|
|
var filename = rootOpts.filename,
|
|
_rootOpts$filenameRel = rootOpts.filenameRelative,
|
|
filenameRelative = _rootOpts$filenameRel === void 0 ? filename : _rootOpts$filenameRel,
|
|
_rootOpts$sourceRoot = rootOpts.sourceRoot,
|
|
sourceRoot = _rootOpts$sourceRoot === void 0 ? pluginOpts.moduleRoot : _rootOpts$sourceRoot;
|
|
var moduleId = pluginOpts.moduleId,
|
|
_pluginOpts$moduleIds2 = pluginOpts.moduleIds,
|
|
moduleIds = _pluginOpts$moduleIds2 === void 0 ? !!moduleId : _pluginOpts$moduleIds2,
|
|
getModuleId = pluginOpts.getModuleId,
|
|
_pluginOpts$moduleRoo2 = pluginOpts.moduleRoot,
|
|
moduleRoot = _pluginOpts$moduleRoo2 === void 0 ? sourceRoot : _pluginOpts$moduleRoo2;
|
|
if (!moduleIds) return null;
|
|
if (moduleId != null && !getModuleId) {
|
|
return moduleId;
|
|
}
|
|
var moduleName = moduleRoot != null ? moduleRoot + "/" : "";
|
|
if (filenameRelative) {
|
|
var sourceRootReplacer = sourceRoot != null ? new RegExp("^" + sourceRoot + "/?") : "";
|
|
moduleName += filenameRelative.replace(sourceRootReplacer, "").replace(/\.(\w*?)$/, "");
|
|
}
|
|
moduleName = moduleName.replace(/\\/g, "/");
|
|
if (getModuleId) {
|
|
return getModuleId(moduleName) || moduleName;
|
|
} else {
|
|
return moduleName;
|
|
}
|
|
}
|
|
|
|
var _templateObject$s, _templateObject2$d, _templateObject3$b, _templateObject4$6, _templateObject5$4, _templateObject6$4, _templateObject7$2, _templateObject8$1, _templateObject9$1, _templateObject10$1, _templateObject11$1, _templateObject12$1, _templateObject13$1;
|
|
var booleanLiteral$3 = booleanLiteral$4,
|
|
callExpression$7 = callExpression$e,
|
|
cloneNode$7 = cloneNode$j,
|
|
directive = directive$1,
|
|
directiveLiteral = directiveLiteral$1,
|
|
expressionStatement$1 = expressionStatement$a,
|
|
identifier$5 = identifier$i,
|
|
isIdentifier$6 = isIdentifier$j,
|
|
memberExpression$7 = memberExpression$c,
|
|
stringLiteral$3 = stringLiteral$8,
|
|
valueToNode = valueToNode$1,
|
|
variableDeclaration$2 = variableDeclaration$8,
|
|
variableDeclarator$2 = variableDeclarator$8;
|
|
function rewriteModuleStatementsAndPrepareHeader(path, _ref) {
|
|
var exportName = _ref.exportName,
|
|
strict = _ref.strict,
|
|
allowTopLevelThis = _ref.allowTopLevelThis,
|
|
strictMode = _ref.strictMode,
|
|
noInterop = _ref.noInterop,
|
|
_ref$importInterop = _ref.importInterop,
|
|
importInterop = _ref$importInterop === void 0 ? noInterop ? "none" : "babel" : _ref$importInterop,
|
|
lazy = _ref.lazy,
|
|
esNamespaceOnly = _ref.esNamespaceOnly,
|
|
filename = _ref.filename,
|
|
_ref$constantReexport = _ref.constantReexports,
|
|
constantReexports = _ref$constantReexport === void 0 ? arguments[1].loose : _ref$constantReexport,
|
|
_ref$enumerableModule = _ref.enumerableModuleMeta,
|
|
enumerableModuleMeta = _ref$enumerableModule === void 0 ? arguments[1].loose : _ref$enumerableModule,
|
|
noIncompleteNsImportDetection = _ref.noIncompleteNsImportDetection;
|
|
validateImportInteropOption(importInterop);
|
|
assert$1.exports(isModule(path), "Cannot process module statements in a script");
|
|
path.node.sourceType = "script";
|
|
var meta = normalizeModuleAndLoadMetadata(path, exportName, {
|
|
importInterop: importInterop,
|
|
initializeReexports: constantReexports,
|
|
lazy: lazy,
|
|
esNamespaceOnly: esNamespaceOnly,
|
|
filename: filename
|
|
});
|
|
if (!allowTopLevelThis) {
|
|
rewriteThis(path);
|
|
}
|
|
rewriteLiveReferences(path, meta);
|
|
if (strictMode !== false) {
|
|
var hasStrict = path.node.directives.some(function (directive) {
|
|
return directive.value.value === "use strict";
|
|
});
|
|
if (!hasStrict) {
|
|
path.unshiftContainer("directives", directive(directiveLiteral("use strict")));
|
|
}
|
|
}
|
|
var headers = [];
|
|
if (hasExports(meta) && !strict) {
|
|
headers.push(buildESModuleHeader(meta, enumerableModuleMeta));
|
|
}
|
|
var nameList = buildExportNameListDeclaration(path, meta);
|
|
if (nameList) {
|
|
meta.exportNameListName = nameList.name;
|
|
headers.push(nameList.statement);
|
|
}
|
|
headers.push.apply(headers, _toConsumableArray(buildExportInitializationStatements(path, meta, constantReexports, noIncompleteNsImportDetection)));
|
|
return {
|
|
meta: meta,
|
|
headers: headers
|
|
};
|
|
}
|
|
function ensureStatementsHoisted(statements) {
|
|
statements.forEach(function (header) {
|
|
header._blockHoist = 3;
|
|
});
|
|
}
|
|
function wrapInterop(programPath, expr, type) {
|
|
if (type === "none") {
|
|
return null;
|
|
}
|
|
if (type === "node-namespace") {
|
|
return callExpression$7(programPath.hub.addHelper("interopRequireWildcard"), [expr, booleanLiteral$3(true)]);
|
|
} else if (type === "node-default") {
|
|
return null;
|
|
}
|
|
var helper;
|
|
if (type === "default") {
|
|
helper = "interopRequireDefault";
|
|
} else if (type === "namespace") {
|
|
helper = "interopRequireWildcard";
|
|
} else {
|
|
throw new Error("Unknown interop: " + type);
|
|
}
|
|
return callExpression$7(programPath.hub.addHelper(helper), [expr]);
|
|
}
|
|
function buildNamespaceInitStatements(metadata, sourceMetadata, constantReexports) {
|
|
if (constantReexports === void 0) {
|
|
constantReexports = false;
|
|
}
|
|
var statements = [];
|
|
var srcNamespace = identifier$5(sourceMetadata.name);
|
|
if (sourceMetadata.lazy) srcNamespace = callExpression$7(srcNamespace, []);
|
|
for (var _iterator = _createForOfIteratorHelperLoose(sourceMetadata.importsNamespace), _step; !(_step = _iterator()).done;) {
|
|
var localName = _step.value;
|
|
if (localName === sourceMetadata.name) continue;
|
|
statements.push(template$2.statement(_templateObject$s || (_templateObject$s = _taggedTemplateLiteralLoose(["var NAME = SOURCE;"])))({
|
|
NAME: localName,
|
|
SOURCE: cloneNode$7(srcNamespace)
|
|
}));
|
|
}
|
|
if (constantReexports) {
|
|
statements.push.apply(statements, _toConsumableArray(buildReexportsFromMeta(metadata, sourceMetadata, true)));
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(sourceMetadata.reexportNamespace), _step2; !(_step2 = _iterator2()).done;) {
|
|
var exportName = _step2.value;
|
|
statements.push((sourceMetadata.lazy ? template$2.statement(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteralLoose(["\n Object.defineProperty(EXPORTS, \"NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE;\n }\n });\n "]))) : template$2.statement(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteralLoose(["EXPORTS.NAME = NAMESPACE;"]))))({
|
|
EXPORTS: metadata.exportName,
|
|
NAME: exportName,
|
|
NAMESPACE: cloneNode$7(srcNamespace)
|
|
}));
|
|
}
|
|
if (sourceMetadata.reexportAll) {
|
|
var statement = buildNamespaceReexport(metadata, cloneNode$7(srcNamespace), constantReexports);
|
|
statement.loc = sourceMetadata.reexportAll.loc;
|
|
statements.push(statement);
|
|
}
|
|
return statements;
|
|
}
|
|
var ReexportTemplate = {
|
|
constant: template$2.statement(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteralLoose(["EXPORTS.EXPORT_NAME = NAMESPACE_IMPORT;"]))),
|
|
constantComputed: template$2.statement(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteralLoose(["EXPORTS[\"EXPORT_NAME\"] = NAMESPACE_IMPORT;"]))),
|
|
spec: template$2.statement(_templateObject6$4 || (_templateObject6$4 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(EXPORTS, \"EXPORT_NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE_IMPORT;\n },\n });\n "])))
|
|
};
|
|
function buildReexportsFromMeta(meta, metadata, constantReexports) {
|
|
var namespace = metadata.lazy ? callExpression$7(identifier$5(metadata.name), []) : identifier$5(metadata.name);
|
|
var stringSpecifiers = meta.stringSpecifiers;
|
|
return Array.from(metadata.reexports, function (_ref2) {
|
|
var _ref3 = _slicedToArray(_ref2, 2),
|
|
exportName = _ref3[0],
|
|
importName = _ref3[1];
|
|
var NAMESPACE_IMPORT = cloneNode$7(namespace);
|
|
if (importName === "default" && metadata.interop === "node-default") ; else if (stringSpecifiers.has(importName)) {
|
|
NAMESPACE_IMPORT = memberExpression$7(NAMESPACE_IMPORT, stringLiteral$3(importName), true);
|
|
} else {
|
|
NAMESPACE_IMPORT = memberExpression$7(NAMESPACE_IMPORT, identifier$5(importName));
|
|
}
|
|
var astNodes = {
|
|
EXPORTS: meta.exportName,
|
|
EXPORT_NAME: exportName,
|
|
NAMESPACE_IMPORT: NAMESPACE_IMPORT
|
|
};
|
|
if (constantReexports || isIdentifier$6(NAMESPACE_IMPORT)) {
|
|
if (stringSpecifiers.has(exportName)) {
|
|
return ReexportTemplate.constantComputed(astNodes);
|
|
} else {
|
|
return ReexportTemplate.constant(astNodes);
|
|
}
|
|
} else {
|
|
return ReexportTemplate.spec(astNodes);
|
|
}
|
|
});
|
|
}
|
|
function buildESModuleHeader(metadata, enumerableModuleMeta) {
|
|
if (enumerableModuleMeta === void 0) {
|
|
enumerableModuleMeta = false;
|
|
}
|
|
return (enumerableModuleMeta ? template$2.statement(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteralLoose(["\n EXPORTS.__esModule = true;\n "]))) : template$2.statement(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(EXPORTS, \"__esModule\", {\n value: true,\n });\n "]))))({
|
|
EXPORTS: metadata.exportName
|
|
});
|
|
}
|
|
function buildNamespaceReexport(metadata, namespace, constantReexports) {
|
|
return (constantReexports ? template$2.statement(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteralLoose(["\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n EXPORTS[key] = NAMESPACE[key];\n });\n "]))) : template$2.statement(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteralLoose(["\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n Object.defineProperty(EXPORTS, key, {\n enumerable: true,\n get: function() {\n return NAMESPACE[key];\n },\n });\n });\n "]))))({
|
|
NAMESPACE: namespace,
|
|
EXPORTS: metadata.exportName,
|
|
VERIFY_NAME_LIST: metadata.exportNameListName ? template$2(_templateObject11$1 || (_templateObject11$1 = _taggedTemplateLiteralLoose(["\n if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return;\n "])))({
|
|
EXPORTS_LIST: metadata.exportNameListName
|
|
}) : null
|
|
});
|
|
}
|
|
function buildExportNameListDeclaration(programPath, metadata) {
|
|
var exportedVars = Object.create(null);
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(metadata.local.values()), _step3; !(_step3 = _iterator3()).done;) {
|
|
var data = _step3.value;
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(data.names), _step5; !(_step5 = _iterator5()).done;) {
|
|
var _name = _step5.value;
|
|
exportedVars[_name] = true;
|
|
}
|
|
}
|
|
var hasReexport = false;
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(metadata.source.values()), _step4; !(_step4 = _iterator4()).done;) {
|
|
var _data = _step4.value;
|
|
for (var _iterator6 = _createForOfIteratorHelperLoose(_data.reexports.keys()), _step6; !(_step6 = _iterator6()).done;) {
|
|
var exportName = _step6.value;
|
|
exportedVars[exportName] = true;
|
|
}
|
|
for (var _iterator7 = _createForOfIteratorHelperLoose(_data.reexportNamespace), _step7; !(_step7 = _iterator7()).done;) {
|
|
var _exportName = _step7.value;
|
|
exportedVars[_exportName] = true;
|
|
}
|
|
hasReexport = hasReexport || !!_data.reexportAll;
|
|
}
|
|
if (!hasReexport || Object.keys(exportedVars).length === 0) return null;
|
|
var name = programPath.scope.generateUidIdentifier("exportNames");
|
|
delete exportedVars["default"];
|
|
return {
|
|
name: name.name,
|
|
statement: variableDeclaration$2("var", [variableDeclarator$2(name, valueToNode(exportedVars))])
|
|
};
|
|
}
|
|
function buildExportInitializationStatements(programPath, metadata, constantReexports, noIncompleteNsImportDetection) {
|
|
if (constantReexports === void 0) {
|
|
constantReexports = false;
|
|
}
|
|
if (noIncompleteNsImportDetection === void 0) {
|
|
noIncompleteNsImportDetection = false;
|
|
}
|
|
var initStatements = [];
|
|
for (var _iterator8 = _createForOfIteratorHelperLoose(metadata.local), _step8; !(_step8 = _iterator8()).done;) {
|
|
var _step8$value = _slicedToArray(_step8.value, 2),
|
|
localName = _step8$value[0],
|
|
data = _step8$value[1];
|
|
if (data.kind === "import") ; else if (data.kind === "hoisted") {
|
|
initStatements.push([data.names[0], buildInitStatement(metadata, data.names, identifier$5(localName))]);
|
|
} else if (!noIncompleteNsImportDetection) {
|
|
for (var _iterator11 = _createForOfIteratorHelperLoose(data.names), _step11; !(_step11 = _iterator11()).done;) {
|
|
var _exportName2 = _step11.value;
|
|
initStatements.push([_exportName2, null]);
|
|
}
|
|
}
|
|
}
|
|
for (var _iterator9 = _createForOfIteratorHelperLoose(metadata.source.values()), _step9; !(_step9 = _iterator9()).done;) {
|
|
var _data2 = _step9.value;
|
|
if (!constantReexports) {
|
|
var reexportsStatements = buildReexportsFromMeta(metadata, _data2, false);
|
|
var reexports = _toConsumableArray(_data2.reexports.keys());
|
|
for (var _i = 0; _i < reexportsStatements.length; _i++) {
|
|
initStatements.push([reexports[_i], reexportsStatements[_i]]);
|
|
}
|
|
}
|
|
if (!noIncompleteNsImportDetection) {
|
|
for (var _iterator12 = _createForOfIteratorHelperLoose(_data2.reexportNamespace), _step12; !(_step12 = _iterator12()).done;) {
|
|
var _exportName3 = _step12.value;
|
|
initStatements.push([_exportName3, null]);
|
|
}
|
|
}
|
|
}
|
|
initStatements.sort(function (_ref4, _ref5) {
|
|
var _ref6 = _slicedToArray(_ref4, 1),
|
|
a = _ref6[0];
|
|
var _ref7 = _slicedToArray(_ref5, 1),
|
|
b = _ref7[0];
|
|
if (a < b) return -1;
|
|
if (b < a) return 1;
|
|
return 0;
|
|
});
|
|
var results = [];
|
|
if (noIncompleteNsImportDetection) {
|
|
for (var _iterator10 = _createForOfIteratorHelperLoose(initStatements), _step10; !(_step10 = _iterator10()).done;) {
|
|
var _step10$value = _slicedToArray(_step10.value, 2),
|
|
initStatement = _step10$value[1];
|
|
results.push(initStatement);
|
|
}
|
|
} else {
|
|
var chunkSize = 100;
|
|
for (var i = 0; i < initStatements.length; i += chunkSize) {
|
|
var uninitializedExportNames = [];
|
|
for (var j = 0; j < chunkSize && i + j < initStatements.length; j++) {
|
|
var _initStatements = _slicedToArray(initStatements[i + j], 2),
|
|
exportName = _initStatements[0],
|
|
_initStatement = _initStatements[1];
|
|
if (_initStatement !== null) {
|
|
if (uninitializedExportNames.length > 0) {
|
|
results.push(buildInitStatement(metadata, uninitializedExportNames, programPath.scope.buildUndefinedNode()));
|
|
uninitializedExportNames = [];
|
|
}
|
|
results.push(_initStatement);
|
|
} else {
|
|
uninitializedExportNames.push(exportName);
|
|
}
|
|
}
|
|
if (uninitializedExportNames.length > 0) {
|
|
results.push(buildInitStatement(metadata, uninitializedExportNames, programPath.scope.buildUndefinedNode()));
|
|
}
|
|
}
|
|
}
|
|
return results;
|
|
}
|
|
var InitTemplate = {
|
|
computed: template$2.expression(_templateObject12$1 || (_templateObject12$1 = _taggedTemplateLiteralLoose(["EXPORTS[\"NAME\"] = VALUE"]))),
|
|
"default": template$2.expression(_templateObject13$1 || (_templateObject13$1 = _taggedTemplateLiteralLoose(["EXPORTS.NAME = VALUE"])))
|
|
};
|
|
function buildInitStatement(metadata, exportNames, initExpr) {
|
|
var stringSpecifiers = metadata.stringSpecifiers,
|
|
EXPORTS = metadata.exportName;
|
|
return expressionStatement$1(exportNames.reduce(function (acc, exportName) {
|
|
var params = {
|
|
EXPORTS: EXPORTS,
|
|
NAME: exportName,
|
|
VALUE: acc
|
|
};
|
|
if (stringSpecifiers.has(exportName)) {
|
|
return InitTemplate.computed(params);
|
|
} else {
|
|
return InitTemplate["default"](params);
|
|
}
|
|
}, initExpr));
|
|
}
|
|
|
|
var re = {exports: {}};
|
|
|
|
var constants;
|
|
var hasRequiredConstants;
|
|
function requireConstants() {
|
|
if (hasRequiredConstants) return constants;
|
|
hasRequiredConstants = 1;
|
|
var SEMVER_SPEC_VERSION = '2.0.0';
|
|
var MAX_LENGTH = 256;
|
|
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
|
var MAX_SAFE_COMPONENT_LENGTH = 16;
|
|
constants = {
|
|
SEMVER_SPEC_VERSION: SEMVER_SPEC_VERSION,
|
|
MAX_LENGTH: MAX_LENGTH,
|
|
MAX_SAFE_INTEGER: MAX_SAFE_INTEGER,
|
|
MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH
|
|
};
|
|
return constants;
|
|
}
|
|
|
|
var debug_1;
|
|
var hasRequiredDebug;
|
|
function requireDebug() {
|
|
if (hasRequiredDebug) return debug_1;
|
|
hasRequiredDebug = 1;
|
|
var debug = typeof browser$1$1 === 'object' && browser$1$1.env && browser$1$1.env.NODE_DEBUG && /\bsemver\b/i.test(browser$1$1.env.NODE_DEBUG) ? function () {
|
|
var _console;
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
return (_console = console).error.apply(_console, ['SEMVER'].concat(args));
|
|
} : function () {};
|
|
debug_1 = debug;
|
|
return debug_1;
|
|
}
|
|
|
|
var hasRequiredRe;
|
|
function requireRe() {
|
|
if (hasRequiredRe) return re.exports;
|
|
hasRequiredRe = 1;
|
|
(function (module, exports) {
|
|
var _require$$ = requireConstants(),
|
|
MAX_SAFE_COMPONENT_LENGTH = _require$$.MAX_SAFE_COMPONENT_LENGTH;
|
|
var debug = requireDebug();
|
|
exports = module.exports = {};
|
|
var re = exports.re = [];
|
|
var src = exports.src = [];
|
|
var t = exports.t = {};
|
|
var R = 0;
|
|
var createToken = function createToken(name, value, isGlobal) {
|
|
var index = R++;
|
|
debug(index, value);
|
|
t[name] = index;
|
|
src[index] = value;
|
|
re[index] = new RegExp(value, isGlobal ? 'g' : undefined);
|
|
};
|
|
createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*');
|
|
createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+');
|
|
createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*');
|
|
createToken('MAINVERSION', "(" + src[t.NUMERICIDENTIFIER] + ")\\." + ("(" + src[t.NUMERICIDENTIFIER] + ")\\.") + ("(" + src[t.NUMERICIDENTIFIER] + ")"));
|
|
createToken('MAINVERSIONLOOSE', "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\." + ("(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.") + ("(" + src[t.NUMERICIDENTIFIERLOOSE] + ")"));
|
|
createToken('PRERELEASEIDENTIFIER', "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")");
|
|
createToken('PRERELEASEIDENTIFIERLOOSE', "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")");
|
|
createToken('PRERELEASE', "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))");
|
|
createToken('PRERELEASELOOSE', "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))");
|
|
createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+');
|
|
createToken('BUILD', "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))");
|
|
createToken('FULLPLAIN', "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?");
|
|
createToken('FULL', "^" + src[t.FULLPLAIN] + "$");
|
|
createToken('LOOSEPLAIN', "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?");
|
|
createToken('LOOSE', "^" + src[t.LOOSEPLAIN] + "$");
|
|
createToken('GTLT', '((?:<|>)?=?)');
|
|
createToken('XRANGEIDENTIFIERLOOSE', src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*");
|
|
createToken('XRANGEIDENTIFIER', src[t.NUMERICIDENTIFIER] + "|x|X|\\*");
|
|
createToken('XRANGEPLAIN', "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")" + ("(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")") + ("(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")") + ("(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?") + ")?)?");
|
|
createToken('XRANGEPLAINLOOSE', "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")" + ("(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")") + ("(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")") + ("(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?") + ")?)?");
|
|
createToken('XRANGE', "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$");
|
|
createToken('XRANGELOOSE', "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$");
|
|
createToken('COERCE', "" + ('(^|[^\\d])' + '(\\d{1,') + MAX_SAFE_COMPONENT_LENGTH + "})" + ("(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?") + ("(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?") + "(?:$|[^\\d])");
|
|
createToken('COERCERTL', src[t.COERCE], true);
|
|
createToken('LONETILDE', '(?:~>?)');
|
|
createToken('TILDETRIM', "(\\s*)" + src[t.LONETILDE] + "\\s+", true);
|
|
exports.tildeTrimReplace = '$1~';
|
|
createToken('TILDE', "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$");
|
|
createToken('TILDELOOSE', "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$");
|
|
createToken('LONECARET', '(?:\\^)');
|
|
createToken('CARETTRIM', "(\\s*)" + src[t.LONECARET] + "\\s+", true);
|
|
exports.caretTrimReplace = '$1^';
|
|
createToken('CARET', "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$");
|
|
createToken('CARETLOOSE', "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$");
|
|
createToken('COMPARATORLOOSE', "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$");
|
|
createToken('COMPARATOR', "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$");
|
|
createToken('COMPARATORTRIM', "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")", true);
|
|
exports.comparatorTrimReplace = '$1$2$3';
|
|
createToken('HYPHENRANGE', "^\\s*(" + src[t.XRANGEPLAIN] + ")" + "\\s+-\\s+" + ("(" + src[t.XRANGEPLAIN] + ")") + "\\s*$");
|
|
createToken('HYPHENRANGELOOSE', "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")" + "\\s+-\\s+" + ("(" + src[t.XRANGEPLAINLOOSE] + ")") + "\\s*$");
|
|
createToken('STAR', '(<|>)?=?\\s*\\*');
|
|
createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$');
|
|
createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$');
|
|
})(re, re.exports);
|
|
return re.exports;
|
|
}
|
|
|
|
var parseOptions_1;
|
|
var hasRequiredParseOptions;
|
|
function requireParseOptions() {
|
|
if (hasRequiredParseOptions) return parseOptions_1;
|
|
hasRequiredParseOptions = 1;
|
|
var opts = ['includePrerelease', 'loose', 'rtl'];
|
|
var parseOptions = function parseOptions(options) {
|
|
return !options ? {} : typeof options !== 'object' ? {
|
|
loose: true
|
|
} : opts.filter(function (k) {
|
|
return options[k];
|
|
}).reduce(function (options, k) {
|
|
options[k] = true;
|
|
return options;
|
|
}, {});
|
|
};
|
|
parseOptions_1 = parseOptions;
|
|
return parseOptions_1;
|
|
}
|
|
|
|
var identifiers;
|
|
var hasRequiredIdentifiers;
|
|
function requireIdentifiers() {
|
|
if (hasRequiredIdentifiers) return identifiers;
|
|
hasRequiredIdentifiers = 1;
|
|
var numeric = /^[0-9]+$/;
|
|
var compareIdentifiers = function compareIdentifiers(a, b) {
|
|
var anum = numeric.test(a);
|
|
var bnum = numeric.test(b);
|
|
if (anum && bnum) {
|
|
a = +a;
|
|
b = +b;
|
|
}
|
|
return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
|
|
};
|
|
var rcompareIdentifiers = function rcompareIdentifiers(a, b) {
|
|
return compareIdentifiers(b, a);
|
|
};
|
|
identifiers = {
|
|
compareIdentifiers: compareIdentifiers,
|
|
rcompareIdentifiers: rcompareIdentifiers
|
|
};
|
|
return identifiers;
|
|
}
|
|
|
|
var semver$d;
|
|
var hasRequiredSemver$1;
|
|
function requireSemver$1() {
|
|
if (hasRequiredSemver$1) return semver$d;
|
|
hasRequiredSemver$1 = 1;
|
|
var debug = requireDebug();
|
|
var _require$$ = requireConstants(),
|
|
MAX_LENGTH = _require$$.MAX_LENGTH,
|
|
MAX_SAFE_INTEGER = _require$$.MAX_SAFE_INTEGER;
|
|
var _require$$2 = requireRe(),
|
|
re = _require$$2.re,
|
|
t = _require$$2.t;
|
|
var parseOptions = requireParseOptions();
|
|
var _require$$3 = requireIdentifiers(),
|
|
compareIdentifiers = _require$$3.compareIdentifiers;
|
|
var SemVer = function () {
|
|
function SemVer(version, options) {
|
|
options = parseOptions(options);
|
|
if (version instanceof SemVer) {
|
|
if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
|
|
return version;
|
|
} else {
|
|
version = version.version;
|
|
}
|
|
} else if (typeof version !== 'string') {
|
|
throw new TypeError("Invalid Version: " + version);
|
|
}
|
|
if (version.length > MAX_LENGTH) {
|
|
throw new TypeError("version is longer than " + MAX_LENGTH + " characters");
|
|
}
|
|
debug('SemVer', version, options);
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
this.includePrerelease = !!options.includePrerelease;
|
|
var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
|
|
if (!m) {
|
|
throw new TypeError("Invalid Version: " + version);
|
|
}
|
|
this.raw = version;
|
|
this.major = +m[1];
|
|
this.minor = +m[2];
|
|
this.patch = +m[3];
|
|
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
|
|
throw new TypeError('Invalid major version');
|
|
}
|
|
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
|
|
throw new TypeError('Invalid minor version');
|
|
}
|
|
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
|
|
throw new TypeError('Invalid patch version');
|
|
}
|
|
if (!m[4]) {
|
|
this.prerelease = [];
|
|
} else {
|
|
this.prerelease = m[4].split('.').map(function (id) {
|
|
if (/^[0-9]+$/.test(id)) {
|
|
var num = +id;
|
|
if (num >= 0 && num < MAX_SAFE_INTEGER) {
|
|
return num;
|
|
}
|
|
}
|
|
return id;
|
|
});
|
|
}
|
|
this.build = m[5] ? m[5].split('.') : [];
|
|
this.format();
|
|
}
|
|
var _proto = SemVer.prototype;
|
|
_proto.format = function format() {
|
|
this.version = this.major + "." + this.minor + "." + this.patch;
|
|
if (this.prerelease.length) {
|
|
this.version += "-" + this.prerelease.join('.');
|
|
}
|
|
return this.version;
|
|
};
|
|
_proto.toString = function toString() {
|
|
return this.version;
|
|
};
|
|
_proto.compare = function compare(other) {
|
|
debug('SemVer.compare', this.version, this.options, other);
|
|
if (!(other instanceof SemVer)) {
|
|
if (typeof other === 'string' && other === this.version) {
|
|
return 0;
|
|
}
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
if (other.version === this.version) {
|
|
return 0;
|
|
}
|
|
return this.compareMain(other) || this.comparePre(other);
|
|
};
|
|
_proto.compareMain = function compareMain(other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
|
|
};
|
|
_proto.comparePre = function comparePre(other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
if (this.prerelease.length && !other.prerelease.length) {
|
|
return -1;
|
|
} else if (!this.prerelease.length && other.prerelease.length) {
|
|
return 1;
|
|
} else if (!this.prerelease.length && !other.prerelease.length) {
|
|
return 0;
|
|
}
|
|
var i = 0;
|
|
do {
|
|
var a = this.prerelease[i];
|
|
var b = other.prerelease[i];
|
|
debug('prerelease compare', i, a, b);
|
|
if (a === undefined && b === undefined) {
|
|
return 0;
|
|
} else if (b === undefined) {
|
|
return 1;
|
|
} else if (a === undefined) {
|
|
return -1;
|
|
} else if (a === b) {
|
|
continue;
|
|
} else {
|
|
return compareIdentifiers(a, b);
|
|
}
|
|
} while (++i);
|
|
};
|
|
_proto.compareBuild = function compareBuild(other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
var i = 0;
|
|
do {
|
|
var a = this.build[i];
|
|
var b = other.build[i];
|
|
debug('prerelease compare', i, a, b);
|
|
if (a === undefined && b === undefined) {
|
|
return 0;
|
|
} else if (b === undefined) {
|
|
return 1;
|
|
} else if (a === undefined) {
|
|
return -1;
|
|
} else if (a === b) {
|
|
continue;
|
|
} else {
|
|
return compareIdentifiers(a, b);
|
|
}
|
|
} while (++i);
|
|
};
|
|
_proto.inc = function inc(release, identifier) {
|
|
switch (release) {
|
|
case 'premajor':
|
|
this.prerelease.length = 0;
|
|
this.patch = 0;
|
|
this.minor = 0;
|
|
this.major++;
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'preminor':
|
|
this.prerelease.length = 0;
|
|
this.patch = 0;
|
|
this.minor++;
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'prepatch':
|
|
this.prerelease.length = 0;
|
|
this.inc('patch', identifier);
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'prerelease':
|
|
if (this.prerelease.length === 0) {
|
|
this.inc('patch', identifier);
|
|
}
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'major':
|
|
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
|
|
this.major++;
|
|
}
|
|
this.minor = 0;
|
|
this.patch = 0;
|
|
this.prerelease = [];
|
|
break;
|
|
case 'minor':
|
|
if (this.patch !== 0 || this.prerelease.length === 0) {
|
|
this.minor++;
|
|
}
|
|
this.patch = 0;
|
|
this.prerelease = [];
|
|
break;
|
|
case 'patch':
|
|
if (this.prerelease.length === 0) {
|
|
this.patch++;
|
|
}
|
|
this.prerelease = [];
|
|
break;
|
|
case 'pre':
|
|
if (this.prerelease.length === 0) {
|
|
this.prerelease = [0];
|
|
} else {
|
|
var i = this.prerelease.length;
|
|
while (--i >= 0) {
|
|
if (typeof this.prerelease[i] === 'number') {
|
|
this.prerelease[i]++;
|
|
i = -2;
|
|
}
|
|
}
|
|
if (i === -1) {
|
|
this.prerelease.push(0);
|
|
}
|
|
}
|
|
if (identifier) {
|
|
if (this.prerelease[0] === identifier) {
|
|
if (isNaN(this.prerelease[1])) {
|
|
this.prerelease = [identifier, 0];
|
|
}
|
|
} else {
|
|
this.prerelease = [identifier, 0];
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
throw new Error("invalid increment argument: " + release);
|
|
}
|
|
this.format();
|
|
this.raw = this.version;
|
|
return this;
|
|
};
|
|
return _createClass(SemVer);
|
|
}();
|
|
semver$d = SemVer;
|
|
return semver$d;
|
|
}
|
|
|
|
var parse_1;
|
|
var hasRequiredParse;
|
|
function requireParse() {
|
|
if (hasRequiredParse) return parse_1;
|
|
hasRequiredParse = 1;
|
|
var _require$$ = requireConstants(),
|
|
MAX_LENGTH = _require$$.MAX_LENGTH;
|
|
var _require$$2 = requireRe(),
|
|
re = _require$$2.re,
|
|
t = _require$$2.t;
|
|
var SemVer = requireSemver$1();
|
|
var parseOptions = requireParseOptions();
|
|
var parse = function parse(version, options) {
|
|
options = parseOptions(options);
|
|
if (version instanceof SemVer) {
|
|
return version;
|
|
}
|
|
if (typeof version !== 'string') {
|
|
return null;
|
|
}
|
|
if (version.length > MAX_LENGTH) {
|
|
return null;
|
|
}
|
|
var r = options.loose ? re[t.LOOSE] : re[t.FULL];
|
|
if (!r.test(version)) {
|
|
return null;
|
|
}
|
|
try {
|
|
return new SemVer(version, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
};
|
|
parse_1 = parse;
|
|
return parse_1;
|
|
}
|
|
|
|
var valid_1;
|
|
var hasRequiredValid$1;
|
|
function requireValid$1() {
|
|
if (hasRequiredValid$1) return valid_1;
|
|
hasRequiredValid$1 = 1;
|
|
var parse = requireParse();
|
|
var valid = function valid(version, options) {
|
|
var v = parse(version, options);
|
|
return v ? v.version : null;
|
|
};
|
|
valid_1 = valid;
|
|
return valid_1;
|
|
}
|
|
|
|
var clean_1;
|
|
var hasRequiredClean;
|
|
function requireClean() {
|
|
if (hasRequiredClean) return clean_1;
|
|
hasRequiredClean = 1;
|
|
var parse = requireParse();
|
|
var clean = function clean(version, options) {
|
|
var s = parse(version.trim().replace(/^[=v]+/, ''), options);
|
|
return s ? s.version : null;
|
|
};
|
|
clean_1 = clean;
|
|
return clean_1;
|
|
}
|
|
|
|
var inc_1;
|
|
var hasRequiredInc;
|
|
function requireInc() {
|
|
if (hasRequiredInc) return inc_1;
|
|
hasRequiredInc = 1;
|
|
var SemVer = requireSemver$1();
|
|
var inc = function inc(version, release, options, identifier) {
|
|
if (typeof options === 'string') {
|
|
identifier = options;
|
|
options = undefined;
|
|
}
|
|
try {
|
|
return new SemVer(version, options).inc(release, identifier).version;
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
};
|
|
inc_1 = inc;
|
|
return inc_1;
|
|
}
|
|
|
|
var compare_1;
|
|
var hasRequiredCompare;
|
|
function requireCompare() {
|
|
if (hasRequiredCompare) return compare_1;
|
|
hasRequiredCompare = 1;
|
|
var SemVer = requireSemver$1();
|
|
var compare = function compare(a, b, loose) {
|
|
return new SemVer(a, loose).compare(new SemVer(b, loose));
|
|
};
|
|
compare_1 = compare;
|
|
return compare_1;
|
|
}
|
|
|
|
var eq_1;
|
|
var hasRequiredEq;
|
|
function requireEq() {
|
|
if (hasRequiredEq) return eq_1;
|
|
hasRequiredEq = 1;
|
|
var compare = requireCompare();
|
|
var eq = function eq(a, b, loose) {
|
|
return compare(a, b, loose) === 0;
|
|
};
|
|
eq_1 = eq;
|
|
return eq_1;
|
|
}
|
|
|
|
var diff_1;
|
|
var hasRequiredDiff;
|
|
function requireDiff() {
|
|
if (hasRequiredDiff) return diff_1;
|
|
hasRequiredDiff = 1;
|
|
var parse = requireParse();
|
|
var eq = requireEq();
|
|
var diff = function diff(version1, version2) {
|
|
if (eq(version1, version2)) {
|
|
return null;
|
|
} else {
|
|
var v1 = parse(version1);
|
|
var v2 = parse(version2);
|
|
var hasPre = v1.prerelease.length || v2.prerelease.length;
|
|
var prefix = hasPre ? 'pre' : '';
|
|
var defaultResult = hasPre ? 'prerelease' : '';
|
|
for (var key in v1) {
|
|
if (key === 'major' || key === 'minor' || key === 'patch') {
|
|
if (v1[key] !== v2[key]) {
|
|
return prefix + key;
|
|
}
|
|
}
|
|
}
|
|
return defaultResult;
|
|
}
|
|
};
|
|
diff_1 = diff;
|
|
return diff_1;
|
|
}
|
|
|
|
var major_1;
|
|
var hasRequiredMajor;
|
|
function requireMajor() {
|
|
if (hasRequiredMajor) return major_1;
|
|
hasRequiredMajor = 1;
|
|
var SemVer = requireSemver$1();
|
|
var major = function major(a, loose) {
|
|
return new SemVer(a, loose).major;
|
|
};
|
|
major_1 = major;
|
|
return major_1;
|
|
}
|
|
|
|
var minor_1;
|
|
var hasRequiredMinor;
|
|
function requireMinor() {
|
|
if (hasRequiredMinor) return minor_1;
|
|
hasRequiredMinor = 1;
|
|
var SemVer = requireSemver$1();
|
|
var minor = function minor(a, loose) {
|
|
return new SemVer(a, loose).minor;
|
|
};
|
|
minor_1 = minor;
|
|
return minor_1;
|
|
}
|
|
|
|
var patch_1;
|
|
var hasRequiredPatch;
|
|
function requirePatch() {
|
|
if (hasRequiredPatch) return patch_1;
|
|
hasRequiredPatch = 1;
|
|
var SemVer = requireSemver$1();
|
|
var patch = function patch(a, loose) {
|
|
return new SemVer(a, loose).patch;
|
|
};
|
|
patch_1 = patch;
|
|
return patch_1;
|
|
}
|
|
|
|
var prerelease_1;
|
|
var hasRequiredPrerelease;
|
|
function requirePrerelease() {
|
|
if (hasRequiredPrerelease) return prerelease_1;
|
|
hasRequiredPrerelease = 1;
|
|
var parse = requireParse();
|
|
var prerelease = function prerelease(version, options) {
|
|
var parsed = parse(version, options);
|
|
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
};
|
|
prerelease_1 = prerelease;
|
|
return prerelease_1;
|
|
}
|
|
|
|
var rcompare_1;
|
|
var hasRequiredRcompare;
|
|
function requireRcompare() {
|
|
if (hasRequiredRcompare) return rcompare_1;
|
|
hasRequiredRcompare = 1;
|
|
var compare = requireCompare();
|
|
var rcompare = function rcompare(a, b, loose) {
|
|
return compare(b, a, loose);
|
|
};
|
|
rcompare_1 = rcompare;
|
|
return rcompare_1;
|
|
}
|
|
|
|
var compareLoose_1;
|
|
var hasRequiredCompareLoose;
|
|
function requireCompareLoose() {
|
|
if (hasRequiredCompareLoose) return compareLoose_1;
|
|
hasRequiredCompareLoose = 1;
|
|
var compare = requireCompare();
|
|
var compareLoose = function compareLoose(a, b) {
|
|
return compare(a, b, true);
|
|
};
|
|
compareLoose_1 = compareLoose;
|
|
return compareLoose_1;
|
|
}
|
|
|
|
var compareBuild_1;
|
|
var hasRequiredCompareBuild;
|
|
function requireCompareBuild() {
|
|
if (hasRequiredCompareBuild) return compareBuild_1;
|
|
hasRequiredCompareBuild = 1;
|
|
var SemVer = requireSemver$1();
|
|
var compareBuild = function compareBuild(a, b, loose) {
|
|
var versionA = new SemVer(a, loose);
|
|
var versionB = new SemVer(b, loose);
|
|
return versionA.compare(versionB) || versionA.compareBuild(versionB);
|
|
};
|
|
compareBuild_1 = compareBuild;
|
|
return compareBuild_1;
|
|
}
|
|
|
|
var sort_1;
|
|
var hasRequiredSort;
|
|
function requireSort() {
|
|
if (hasRequiredSort) return sort_1;
|
|
hasRequiredSort = 1;
|
|
var compareBuild = requireCompareBuild();
|
|
var sort = function sort(list, loose) {
|
|
return list.sort(function (a, b) {
|
|
return compareBuild(a, b, loose);
|
|
});
|
|
};
|
|
sort_1 = sort;
|
|
return sort_1;
|
|
}
|
|
|
|
var rsort_1;
|
|
var hasRequiredRsort;
|
|
function requireRsort() {
|
|
if (hasRequiredRsort) return rsort_1;
|
|
hasRequiredRsort = 1;
|
|
var compareBuild = requireCompareBuild();
|
|
var rsort = function rsort(list, loose) {
|
|
return list.sort(function (a, b) {
|
|
return compareBuild(b, a, loose);
|
|
});
|
|
};
|
|
rsort_1 = rsort;
|
|
return rsort_1;
|
|
}
|
|
|
|
var gt_1;
|
|
var hasRequiredGt;
|
|
function requireGt() {
|
|
if (hasRequiredGt) return gt_1;
|
|
hasRequiredGt = 1;
|
|
var compare = requireCompare();
|
|
var gt = function gt(a, b, loose) {
|
|
return compare(a, b, loose) > 0;
|
|
};
|
|
gt_1 = gt;
|
|
return gt_1;
|
|
}
|
|
|
|
var lt_1;
|
|
var hasRequiredLt;
|
|
function requireLt() {
|
|
if (hasRequiredLt) return lt_1;
|
|
hasRequiredLt = 1;
|
|
var compare = requireCompare();
|
|
var lt = function lt(a, b, loose) {
|
|
return compare(a, b, loose) < 0;
|
|
};
|
|
lt_1 = lt;
|
|
return lt_1;
|
|
}
|
|
|
|
var neq_1;
|
|
var hasRequiredNeq;
|
|
function requireNeq() {
|
|
if (hasRequiredNeq) return neq_1;
|
|
hasRequiredNeq = 1;
|
|
var compare = requireCompare();
|
|
var neq = function neq(a, b, loose) {
|
|
return compare(a, b, loose) !== 0;
|
|
};
|
|
neq_1 = neq;
|
|
return neq_1;
|
|
}
|
|
|
|
var gte_1;
|
|
var hasRequiredGte;
|
|
function requireGte() {
|
|
if (hasRequiredGte) return gte_1;
|
|
hasRequiredGte = 1;
|
|
var compare = requireCompare();
|
|
var gte = function gte(a, b, loose) {
|
|
return compare(a, b, loose) >= 0;
|
|
};
|
|
gte_1 = gte;
|
|
return gte_1;
|
|
}
|
|
|
|
var lte_1;
|
|
var hasRequiredLte;
|
|
function requireLte() {
|
|
if (hasRequiredLte) return lte_1;
|
|
hasRequiredLte = 1;
|
|
var compare = requireCompare();
|
|
var lte = function lte(a, b, loose) {
|
|
return compare(a, b, loose) <= 0;
|
|
};
|
|
lte_1 = lte;
|
|
return lte_1;
|
|
}
|
|
|
|
var cmp_1;
|
|
var hasRequiredCmp;
|
|
function requireCmp() {
|
|
if (hasRequiredCmp) return cmp_1;
|
|
hasRequiredCmp = 1;
|
|
var eq = requireEq();
|
|
var neq = requireNeq();
|
|
var gt = requireGt();
|
|
var gte = requireGte();
|
|
var lt = requireLt();
|
|
var lte = requireLte();
|
|
var cmp = function cmp(a, op, b, loose) {
|
|
switch (op) {
|
|
case '===':
|
|
if (typeof a === 'object') a = a.version;
|
|
if (typeof b === 'object') b = b.version;
|
|
return a === b;
|
|
case '!==':
|
|
if (typeof a === 'object') a = a.version;
|
|
if (typeof b === 'object') b = b.version;
|
|
return a !== b;
|
|
case '':
|
|
case '=':
|
|
case '==':
|
|
return eq(a, b, loose);
|
|
case '!=':
|
|
return neq(a, b, loose);
|
|
case '>':
|
|
return gt(a, b, loose);
|
|
case '>=':
|
|
return gte(a, b, loose);
|
|
case '<':
|
|
return lt(a, b, loose);
|
|
case '<=':
|
|
return lte(a, b, loose);
|
|
default:
|
|
throw new TypeError("Invalid operator: " + op);
|
|
}
|
|
};
|
|
cmp_1 = cmp;
|
|
return cmp_1;
|
|
}
|
|
|
|
var coerce_1;
|
|
var hasRequiredCoerce;
|
|
function requireCoerce() {
|
|
if (hasRequiredCoerce) return coerce_1;
|
|
hasRequiredCoerce = 1;
|
|
var SemVer = requireSemver$1();
|
|
var parse = requireParse();
|
|
var _require$$ = requireRe(),
|
|
re = _require$$.re,
|
|
t = _require$$.t;
|
|
var coerce = function coerce(version, options) {
|
|
if (version instanceof SemVer) {
|
|
return version;
|
|
}
|
|
if (typeof version === 'number') {
|
|
version = String(version);
|
|
}
|
|
if (typeof version !== 'string') {
|
|
return null;
|
|
}
|
|
options = options || {};
|
|
var match = null;
|
|
if (!options.rtl) {
|
|
match = version.match(re[t.COERCE]);
|
|
} else {
|
|
var next;
|
|
while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
|
|
if (!match || next.index + next[0].length !== match.index + match[0].length) {
|
|
match = next;
|
|
}
|
|
re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
|
|
}
|
|
re[t.COERCERTL].lastIndex = -1;
|
|
}
|
|
if (match === null) return null;
|
|
return parse(match[2] + "." + (match[3] || '0') + "." + (match[4] || '0'), options);
|
|
};
|
|
coerce_1 = coerce;
|
|
return coerce_1;
|
|
}
|
|
|
|
var iterator$1;
|
|
var hasRequiredIterator$1;
|
|
function requireIterator$1() {
|
|
if (hasRequiredIterator$1) return iterator$1;
|
|
hasRequiredIterator$1 = 1;
|
|
iterator$1 = function iterator(Yallist) {
|
|
Yallist.prototype[Symbol.iterator] = _regeneratorRuntime().mark(function _callee() {
|
|
var walker;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
walker = this.head;
|
|
case 1:
|
|
if (!walker) {
|
|
_context.next = 7;
|
|
break;
|
|
}
|
|
_context.next = 4;
|
|
return walker.value;
|
|
case 4:
|
|
walker = walker.next;
|
|
_context.next = 1;
|
|
break;
|
|
case 7:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee, this);
|
|
});
|
|
};
|
|
return iterator$1;
|
|
}
|
|
|
|
var yallist$1;
|
|
var hasRequiredYallist$1;
|
|
function requireYallist$1() {
|
|
if (hasRequiredYallist$1) return yallist$1;
|
|
hasRequiredYallist$1 = 1;
|
|
yallist$1 = Yallist;
|
|
Yallist.Node = Node;
|
|
Yallist.create = Yallist;
|
|
function Yallist(list) {
|
|
var self = this;
|
|
if (!(self instanceof Yallist)) {
|
|
self = new Yallist();
|
|
}
|
|
self.tail = null;
|
|
self.head = null;
|
|
self.length = 0;
|
|
if (list && typeof list.forEach === 'function') {
|
|
list.forEach(function (item) {
|
|
self.push(item);
|
|
});
|
|
} else if (arguments.length > 0) {
|
|
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
self.push(arguments[i]);
|
|
}
|
|
}
|
|
return self;
|
|
}
|
|
Yallist.prototype.removeNode = function (node) {
|
|
if (node.list !== this) {
|
|
throw new Error('removing node which does not belong to this list');
|
|
}
|
|
var next = node.next;
|
|
var prev = node.prev;
|
|
if (next) {
|
|
next.prev = prev;
|
|
}
|
|
if (prev) {
|
|
prev.next = next;
|
|
}
|
|
if (node === this.head) {
|
|
this.head = next;
|
|
}
|
|
if (node === this.tail) {
|
|
this.tail = prev;
|
|
}
|
|
node.list.length--;
|
|
node.next = null;
|
|
node.prev = null;
|
|
node.list = null;
|
|
return next;
|
|
};
|
|
Yallist.prototype.unshiftNode = function (node) {
|
|
if (node === this.head) {
|
|
return;
|
|
}
|
|
if (node.list) {
|
|
node.list.removeNode(node);
|
|
}
|
|
var head = this.head;
|
|
node.list = this;
|
|
node.next = head;
|
|
if (head) {
|
|
head.prev = node;
|
|
}
|
|
this.head = node;
|
|
if (!this.tail) {
|
|
this.tail = node;
|
|
}
|
|
this.length++;
|
|
};
|
|
Yallist.prototype.pushNode = function (node) {
|
|
if (node === this.tail) {
|
|
return;
|
|
}
|
|
if (node.list) {
|
|
node.list.removeNode(node);
|
|
}
|
|
var tail = this.tail;
|
|
node.list = this;
|
|
node.prev = tail;
|
|
if (tail) {
|
|
tail.next = node;
|
|
}
|
|
this.tail = node;
|
|
if (!this.head) {
|
|
this.head = node;
|
|
}
|
|
this.length++;
|
|
};
|
|
Yallist.prototype.push = function () {
|
|
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
push(this, arguments[i]);
|
|
}
|
|
return this.length;
|
|
};
|
|
Yallist.prototype.unshift = function () {
|
|
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
unshift(this, arguments[i]);
|
|
}
|
|
return this.length;
|
|
};
|
|
Yallist.prototype.pop = function () {
|
|
if (!this.tail) {
|
|
return undefined;
|
|
}
|
|
var res = this.tail.value;
|
|
this.tail = this.tail.prev;
|
|
if (this.tail) {
|
|
this.tail.next = null;
|
|
} else {
|
|
this.head = null;
|
|
}
|
|
this.length--;
|
|
return res;
|
|
};
|
|
Yallist.prototype.shift = function () {
|
|
if (!this.head) {
|
|
return undefined;
|
|
}
|
|
var res = this.head.value;
|
|
this.head = this.head.next;
|
|
if (this.head) {
|
|
this.head.prev = null;
|
|
} else {
|
|
this.tail = null;
|
|
}
|
|
this.length--;
|
|
return res;
|
|
};
|
|
Yallist.prototype.forEach = function (fn, thisp) {
|
|
thisp = thisp || this;
|
|
for (var walker = this.head, i = 0; walker !== null; i++) {
|
|
fn.call(thisp, walker.value, i, this);
|
|
walker = walker.next;
|
|
}
|
|
};
|
|
Yallist.prototype.forEachReverse = function (fn, thisp) {
|
|
thisp = thisp || this;
|
|
for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
|
|
fn.call(thisp, walker.value, i, this);
|
|
walker = walker.prev;
|
|
}
|
|
};
|
|
Yallist.prototype.get = function (n) {
|
|
for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
|
|
walker = walker.next;
|
|
}
|
|
if (i === n && walker !== null) {
|
|
return walker.value;
|
|
}
|
|
};
|
|
Yallist.prototype.getReverse = function (n) {
|
|
for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
|
|
walker = walker.prev;
|
|
}
|
|
if (i === n && walker !== null) {
|
|
return walker.value;
|
|
}
|
|
};
|
|
Yallist.prototype.map = function (fn, thisp) {
|
|
thisp = thisp || this;
|
|
var res = new Yallist();
|
|
for (var walker = this.head; walker !== null;) {
|
|
res.push(fn.call(thisp, walker.value, this));
|
|
walker = walker.next;
|
|
}
|
|
return res;
|
|
};
|
|
Yallist.prototype.mapReverse = function (fn, thisp) {
|
|
thisp = thisp || this;
|
|
var res = new Yallist();
|
|
for (var walker = this.tail; walker !== null;) {
|
|
res.push(fn.call(thisp, walker.value, this));
|
|
walker = walker.prev;
|
|
}
|
|
return res;
|
|
};
|
|
Yallist.prototype.reduce = function (fn, initial) {
|
|
var acc;
|
|
var walker = this.head;
|
|
if (arguments.length > 1) {
|
|
acc = initial;
|
|
} else if (this.head) {
|
|
walker = this.head.next;
|
|
acc = this.head.value;
|
|
} else {
|
|
throw new TypeError('Reduce of empty list with no initial value');
|
|
}
|
|
for (var i = 0; walker !== null; i++) {
|
|
acc = fn(acc, walker.value, i);
|
|
walker = walker.next;
|
|
}
|
|
return acc;
|
|
};
|
|
Yallist.prototype.reduceReverse = function (fn, initial) {
|
|
var acc;
|
|
var walker = this.tail;
|
|
if (arguments.length > 1) {
|
|
acc = initial;
|
|
} else if (this.tail) {
|
|
walker = this.tail.prev;
|
|
acc = this.tail.value;
|
|
} else {
|
|
throw new TypeError('Reduce of empty list with no initial value');
|
|
}
|
|
for (var i = this.length - 1; walker !== null; i--) {
|
|
acc = fn(acc, walker.value, i);
|
|
walker = walker.prev;
|
|
}
|
|
return acc;
|
|
};
|
|
Yallist.prototype.toArray = function () {
|
|
var arr = new Array(this.length);
|
|
for (var i = 0, walker = this.head; walker !== null; i++) {
|
|
arr[i] = walker.value;
|
|
walker = walker.next;
|
|
}
|
|
return arr;
|
|
};
|
|
Yallist.prototype.toArrayReverse = function () {
|
|
var arr = new Array(this.length);
|
|
for (var i = 0, walker = this.tail; walker !== null; i++) {
|
|
arr[i] = walker.value;
|
|
walker = walker.prev;
|
|
}
|
|
return arr;
|
|
};
|
|
Yallist.prototype.slice = function (from, to) {
|
|
to = to || this.length;
|
|
if (to < 0) {
|
|
to += this.length;
|
|
}
|
|
from = from || 0;
|
|
if (from < 0) {
|
|
from += this.length;
|
|
}
|
|
var ret = new Yallist();
|
|
if (to < from || to < 0) {
|
|
return ret;
|
|
}
|
|
if (from < 0) {
|
|
from = 0;
|
|
}
|
|
if (to > this.length) {
|
|
to = this.length;
|
|
}
|
|
for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
|
|
walker = walker.next;
|
|
}
|
|
for (; walker !== null && i < to; i++, walker = walker.next) {
|
|
ret.push(walker.value);
|
|
}
|
|
return ret;
|
|
};
|
|
Yallist.prototype.sliceReverse = function (from, to) {
|
|
to = to || this.length;
|
|
if (to < 0) {
|
|
to += this.length;
|
|
}
|
|
from = from || 0;
|
|
if (from < 0) {
|
|
from += this.length;
|
|
}
|
|
var ret = new Yallist();
|
|
if (to < from || to < 0) {
|
|
return ret;
|
|
}
|
|
if (from < 0) {
|
|
from = 0;
|
|
}
|
|
if (to > this.length) {
|
|
to = this.length;
|
|
}
|
|
for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
|
|
walker = walker.prev;
|
|
}
|
|
for (; walker !== null && i > from; i--, walker = walker.prev) {
|
|
ret.push(walker.value);
|
|
}
|
|
return ret;
|
|
};
|
|
Yallist.prototype.splice = function (start, deleteCount) {
|
|
if (start > this.length) {
|
|
start = this.length - 1;
|
|
}
|
|
if (start < 0) {
|
|
start = this.length + start;
|
|
}
|
|
for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
|
|
walker = walker.next;
|
|
}
|
|
var ret = [];
|
|
for (var i = 0; walker && i < deleteCount; i++) {
|
|
ret.push(walker.value);
|
|
walker = this.removeNode(walker);
|
|
}
|
|
if (walker === null) {
|
|
walker = this.tail;
|
|
}
|
|
if (walker !== this.head && walker !== this.tail) {
|
|
walker = walker.prev;
|
|
}
|
|
for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) {
|
|
walker = insert(this, walker, i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]);
|
|
}
|
|
return ret;
|
|
};
|
|
Yallist.prototype.reverse = function () {
|
|
var head = this.head;
|
|
var tail = this.tail;
|
|
for (var walker = head; walker !== null; walker = walker.prev) {
|
|
var p = walker.prev;
|
|
walker.prev = walker.next;
|
|
walker.next = p;
|
|
}
|
|
this.head = tail;
|
|
this.tail = head;
|
|
return this;
|
|
};
|
|
function insert(self, node, value) {
|
|
var inserted = node === self.head ? new Node(value, null, node, self) : new Node(value, node, node.next, self);
|
|
if (inserted.next === null) {
|
|
self.tail = inserted;
|
|
}
|
|
if (inserted.prev === null) {
|
|
self.head = inserted;
|
|
}
|
|
self.length++;
|
|
return inserted;
|
|
}
|
|
function push(self, item) {
|
|
self.tail = new Node(item, self.tail, null, self);
|
|
if (!self.head) {
|
|
self.head = self.tail;
|
|
}
|
|
self.length++;
|
|
}
|
|
function unshift(self, item) {
|
|
self.head = new Node(item, null, self.head, self);
|
|
if (!self.tail) {
|
|
self.tail = self.head;
|
|
}
|
|
self.length++;
|
|
}
|
|
function Node(value, prev, next, list) {
|
|
if (!(this instanceof Node)) {
|
|
return new Node(value, prev, next, list);
|
|
}
|
|
this.list = list;
|
|
this.value = value;
|
|
if (prev) {
|
|
prev.next = this;
|
|
this.prev = prev;
|
|
} else {
|
|
this.prev = null;
|
|
}
|
|
if (next) {
|
|
next.prev = this;
|
|
this.next = next;
|
|
} else {
|
|
this.next = null;
|
|
}
|
|
}
|
|
try {
|
|
requireIterator$1()(Yallist);
|
|
} catch (er) {}
|
|
return yallist$1;
|
|
}
|
|
|
|
var lruCache$1;
|
|
var hasRequiredLruCache;
|
|
function requireLruCache() {
|
|
if (hasRequiredLruCache) return lruCache$1;
|
|
hasRequiredLruCache = 1;
|
|
var Yallist = requireYallist$1();
|
|
var MAX = Symbol('max');
|
|
var LENGTH = Symbol('length');
|
|
var LENGTH_CALCULATOR = Symbol('lengthCalculator');
|
|
var ALLOW_STALE = Symbol('allowStale');
|
|
var MAX_AGE = Symbol('maxAge');
|
|
var DISPOSE = Symbol('dispose');
|
|
var NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet');
|
|
var LRU_LIST = Symbol('lruList');
|
|
var CACHE = Symbol('cache');
|
|
var UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet');
|
|
var naiveLength = function naiveLength() {
|
|
return 1;
|
|
};
|
|
var LRUCache = function () {
|
|
function LRUCache(options) {
|
|
if (typeof options === 'number') options = {
|
|
max: options
|
|
};
|
|
if (!options) options = {};
|
|
if (options.max && (typeof options.max !== 'number' || options.max < 0)) throw new TypeError('max must be a non-negative number');
|
|
this[MAX] = options.max || Infinity;
|
|
var lc = options.length || naiveLength;
|
|
this[LENGTH_CALCULATOR] = typeof lc !== 'function' ? naiveLength : lc;
|
|
this[ALLOW_STALE] = options.stale || false;
|
|
if (options.maxAge && typeof options.maxAge !== 'number') throw new TypeError('maxAge must be a number');
|
|
this[MAX_AGE] = options.maxAge || 0;
|
|
this[DISPOSE] = options.dispose;
|
|
this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;
|
|
this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
|
|
this.reset();
|
|
}
|
|
var _proto = LRUCache.prototype;
|
|
_proto.rforEach = function rforEach(fn, thisp) {
|
|
thisp = thisp || this;
|
|
for (var walker = this[LRU_LIST].tail; walker !== null;) {
|
|
var prev = walker.prev;
|
|
forEachStep(this, fn, walker, thisp);
|
|
walker = prev;
|
|
}
|
|
};
|
|
_proto.forEach = function forEach(fn, thisp) {
|
|
thisp = thisp || this;
|
|
for (var walker = this[LRU_LIST].head; walker !== null;) {
|
|
var next = walker.next;
|
|
forEachStep(this, fn, walker, thisp);
|
|
walker = next;
|
|
}
|
|
};
|
|
_proto.keys = function keys() {
|
|
return this[LRU_LIST].toArray().map(function (k) {
|
|
return k.key;
|
|
});
|
|
};
|
|
_proto.values = function values() {
|
|
return this[LRU_LIST].toArray().map(function (k) {
|
|
return k.value;
|
|
});
|
|
};
|
|
_proto.reset = function reset() {
|
|
var _this = this;
|
|
if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {
|
|
this[LRU_LIST].forEach(function (hit) {
|
|
return _this[DISPOSE](hit.key, hit.value);
|
|
});
|
|
}
|
|
this[CACHE] = new Map();
|
|
this[LRU_LIST] = new Yallist();
|
|
this[LENGTH] = 0;
|
|
};
|
|
_proto.dump = function dump() {
|
|
var _this2 = this;
|
|
return this[LRU_LIST].map(function (hit) {
|
|
return isStale(_this2, hit) ? false : {
|
|
k: hit.key,
|
|
v: hit.value,
|
|
e: hit.now + (hit.maxAge || 0)
|
|
};
|
|
}).toArray().filter(function (h) {
|
|
return h;
|
|
});
|
|
};
|
|
_proto.dumpLru = function dumpLru() {
|
|
return this[LRU_LIST];
|
|
};
|
|
_proto.set = function set(key, value, maxAge) {
|
|
maxAge = maxAge || this[MAX_AGE];
|
|
if (maxAge && typeof maxAge !== 'number') throw new TypeError('maxAge must be a number');
|
|
var now = maxAge ? Date.now() : 0;
|
|
var len = this[LENGTH_CALCULATOR](value, key);
|
|
if (this[CACHE].has(key)) {
|
|
if (len > this[MAX]) {
|
|
_del(this, this[CACHE].get(key));
|
|
return false;
|
|
}
|
|
var node = this[CACHE].get(key);
|
|
var item = node.value;
|
|
if (this[DISPOSE]) {
|
|
if (!this[NO_DISPOSE_ON_SET]) this[DISPOSE](key, item.value);
|
|
}
|
|
item.now = now;
|
|
item.maxAge = maxAge;
|
|
item.value = value;
|
|
this[LENGTH] += len - item.length;
|
|
item.length = len;
|
|
this.get(key);
|
|
trim(this);
|
|
return true;
|
|
}
|
|
var hit = new Entry(key, value, len, now, maxAge);
|
|
if (hit.length > this[MAX]) {
|
|
if (this[DISPOSE]) this[DISPOSE](key, value);
|
|
return false;
|
|
}
|
|
this[LENGTH] += hit.length;
|
|
this[LRU_LIST].unshift(hit);
|
|
this[CACHE].set(key, this[LRU_LIST].head);
|
|
trim(this);
|
|
return true;
|
|
};
|
|
_proto.has = function has(key) {
|
|
if (!this[CACHE].has(key)) return false;
|
|
var hit = this[CACHE].get(key).value;
|
|
return !isStale(this, hit);
|
|
};
|
|
_proto.get = function get(key) {
|
|
return _get(this, key, true);
|
|
};
|
|
_proto.peek = function peek(key) {
|
|
return _get(this, key, false);
|
|
};
|
|
_proto.pop = function pop() {
|
|
var node = this[LRU_LIST].tail;
|
|
if (!node) return null;
|
|
_del(this, node);
|
|
return node.value;
|
|
};
|
|
_proto.del = function del(key) {
|
|
_del(this, this[CACHE].get(key));
|
|
};
|
|
_proto.load = function load(arr) {
|
|
this.reset();
|
|
var now = Date.now();
|
|
for (var l = arr.length - 1; l >= 0; l--) {
|
|
var hit = arr[l];
|
|
var expiresAt = hit.e || 0;
|
|
if (expiresAt === 0) this.set(hit.k, hit.v);else {
|
|
var maxAge = expiresAt - now;
|
|
if (maxAge > 0) {
|
|
this.set(hit.k, hit.v, maxAge);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
_proto.prune = function prune() {
|
|
var _this3 = this;
|
|
this[CACHE].forEach(function (value, key) {
|
|
return _get(_this3, key, false);
|
|
});
|
|
};
|
|
_createClass(LRUCache, [{
|
|
key: "max",
|
|
get: function get() {
|
|
return this[MAX];
|
|
},
|
|
set: function set(mL) {
|
|
if (typeof mL !== 'number' || mL < 0) throw new TypeError('max must be a non-negative number');
|
|
this[MAX] = mL || Infinity;
|
|
trim(this);
|
|
}
|
|
}, {
|
|
key: "allowStale",
|
|
get: function get() {
|
|
return this[ALLOW_STALE];
|
|
},
|
|
set: function set(allowStale) {
|
|
this[ALLOW_STALE] = !!allowStale;
|
|
}
|
|
}, {
|
|
key: "maxAge",
|
|
get: function get() {
|
|
return this[MAX_AGE];
|
|
},
|
|
set: function set(mA) {
|
|
if (typeof mA !== 'number') throw new TypeError('maxAge must be a non-negative number');
|
|
this[MAX_AGE] = mA;
|
|
trim(this);
|
|
}
|
|
}, {
|
|
key: "lengthCalculator",
|
|
get: function get() {
|
|
return this[LENGTH_CALCULATOR];
|
|
},
|
|
set: function set(lC) {
|
|
var _this4 = this;
|
|
if (typeof lC !== 'function') lC = naiveLength;
|
|
if (lC !== this[LENGTH_CALCULATOR]) {
|
|
this[LENGTH_CALCULATOR] = lC;
|
|
this[LENGTH] = 0;
|
|
this[LRU_LIST].forEach(function (hit) {
|
|
hit.length = _this4[LENGTH_CALCULATOR](hit.value, hit.key);
|
|
_this4[LENGTH] += hit.length;
|
|
});
|
|
}
|
|
trim(this);
|
|
}
|
|
}, {
|
|
key: "length",
|
|
get: function get() {
|
|
return this[LENGTH];
|
|
}
|
|
}, {
|
|
key: "itemCount",
|
|
get: function get() {
|
|
return this[LRU_LIST].length;
|
|
}
|
|
}]);
|
|
return LRUCache;
|
|
}();
|
|
var _get = function _get(self, key, doUse) {
|
|
var node = self[CACHE].get(key);
|
|
if (node) {
|
|
var hit = node.value;
|
|
if (isStale(self, hit)) {
|
|
_del(self, node);
|
|
if (!self[ALLOW_STALE]) return undefined;
|
|
} else {
|
|
if (doUse) {
|
|
if (self[UPDATE_AGE_ON_GET]) node.value.now = Date.now();
|
|
self[LRU_LIST].unshiftNode(node);
|
|
}
|
|
}
|
|
return hit.value;
|
|
}
|
|
};
|
|
var isStale = function isStale(self, hit) {
|
|
if (!hit || !hit.maxAge && !self[MAX_AGE]) return false;
|
|
var diff = Date.now() - hit.now;
|
|
return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE] && diff > self[MAX_AGE];
|
|
};
|
|
var trim = function trim(self) {
|
|
if (self[LENGTH] > self[MAX]) {
|
|
for (var walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null;) {
|
|
var prev = walker.prev;
|
|
_del(self, walker);
|
|
walker = prev;
|
|
}
|
|
}
|
|
};
|
|
var _del = function _del(self, node) {
|
|
if (node) {
|
|
var hit = node.value;
|
|
if (self[DISPOSE]) self[DISPOSE](hit.key, hit.value);
|
|
self[LENGTH] -= hit.length;
|
|
self[CACHE]["delete"](hit.key);
|
|
self[LRU_LIST].removeNode(node);
|
|
}
|
|
};
|
|
var Entry = _createClass(function Entry(key, value, length, now, maxAge) {
|
|
this.key = key;
|
|
this.value = value;
|
|
this.length = length;
|
|
this.now = now;
|
|
this.maxAge = maxAge || 0;
|
|
});
|
|
var forEachStep = function forEachStep(self, fn, node, thisp) {
|
|
var hit = node.value;
|
|
if (isStale(self, hit)) {
|
|
_del(self, node);
|
|
if (!self[ALLOW_STALE]) hit = undefined;
|
|
}
|
|
if (hit) fn.call(thisp, hit.value, hit.key, self);
|
|
};
|
|
lruCache$1 = LRUCache;
|
|
return lruCache$1;
|
|
}
|
|
|
|
var range;
|
|
var hasRequiredRange;
|
|
function requireRange() {
|
|
if (hasRequiredRange) return range;
|
|
hasRequiredRange = 1;
|
|
var Range = function () {
|
|
function Range(range, options) {
|
|
var _this = this;
|
|
options = parseOptions(options);
|
|
if (range instanceof Range) {
|
|
if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
|
|
return range;
|
|
} else {
|
|
return new Range(range.raw, options);
|
|
}
|
|
}
|
|
if (range instanceof Comparator) {
|
|
this.raw = range.value;
|
|
this.set = [[range]];
|
|
this.format();
|
|
return this;
|
|
}
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
this.includePrerelease = !!options.includePrerelease;
|
|
this.raw = range;
|
|
this.set = range.split(/\s*\|\|\s*/).map(function (range) {
|
|
return _this.parseRange(range.trim());
|
|
}).filter(function (c) {
|
|
return c.length;
|
|
});
|
|
if (!this.set.length) {
|
|
throw new TypeError("Invalid SemVer Range: " + range);
|
|
}
|
|
if (this.set.length > 1) {
|
|
var first = this.set[0];
|
|
this.set = this.set.filter(function (c) {
|
|
return !isNullSet(c[0]);
|
|
});
|
|
if (this.set.length === 0) this.set = [first];else if (this.set.length > 1) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(this.set), _step; !(_step = _iterator()).done;) {
|
|
var c = _step.value;
|
|
if (c.length === 1 && isAny(c[0])) {
|
|
this.set = [c];
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.format();
|
|
}
|
|
var _proto = Range.prototype;
|
|
_proto.format = function format() {
|
|
this.range = this.set.map(function (comps) {
|
|
return comps.join(' ').trim();
|
|
}).join('||').trim();
|
|
return this.range;
|
|
};
|
|
_proto.toString = function toString() {
|
|
return this.range;
|
|
};
|
|
_proto.parseRange = function parseRange(range) {
|
|
var _this2 = this;
|
|
range = range.trim();
|
|
var memoOpts = Object.keys(this.options).join(',');
|
|
var memoKey = "parseRange:" + memoOpts + ":" + range;
|
|
var cached = cache.get(memoKey);
|
|
if (cached) return cached;
|
|
var loose = this.options.loose;
|
|
var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
|
|
range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
|
|
debug('hyphen replace', range);
|
|
range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
|
|
debug('comparator trim', range, re[t.COMPARATORTRIM]);
|
|
range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
|
|
range = range.replace(re[t.CARETTRIM], caretTrimReplace);
|
|
range = range.split(/\s+/).join(' ');
|
|
var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
var rangeList = range.split(' ').map(function (comp) {
|
|
return parseComparator(comp, _this2.options);
|
|
}).join(' ').split(/\s+/).map(function (comp) {
|
|
return replaceGTE0(comp, _this2.options);
|
|
}).filter(this.options.loose ? function (comp) {
|
|
return !!comp.match(compRe);
|
|
} : function () {
|
|
return true;
|
|
}).map(function (comp) {
|
|
return new Comparator(comp, _this2.options);
|
|
});
|
|
rangeList.length;
|
|
var rangeMap = new Map();
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(rangeList), _step2; !(_step2 = _iterator2()).done;) {
|
|
var comp = _step2.value;
|
|
if (isNullSet(comp)) return [comp];
|
|
rangeMap.set(comp.value, comp);
|
|
}
|
|
if (rangeMap.size > 1 && rangeMap.has('')) rangeMap["delete"]('');
|
|
var result = _toConsumableArray(rangeMap.values());
|
|
cache.set(memoKey, result);
|
|
return result;
|
|
};
|
|
_proto.intersects = function intersects(range, options) {
|
|
if (!(range instanceof Range)) {
|
|
throw new TypeError('a Range is required');
|
|
}
|
|
return this.set.some(function (thisComparators) {
|
|
return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) {
|
|
return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) {
|
|
return rangeComparators.every(function (rangeComparator) {
|
|
return thisComparator.intersects(rangeComparator, options);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
};
|
|
_proto.test = function test(version) {
|
|
if (!version) {
|
|
return false;
|
|
}
|
|
if (typeof version === 'string') {
|
|
try {
|
|
version = new SemVer(version, this.options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
}
|
|
for (var i = 0; i < this.set.length; i++) {
|
|
if (testSet(this.set[i], version, this.options)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
return _createClass(Range);
|
|
}();
|
|
range = Range;
|
|
var LRU = requireLruCache();
|
|
var cache = new LRU({
|
|
max: 1000
|
|
});
|
|
var parseOptions = requireParseOptions();
|
|
var Comparator = requireComparator();
|
|
var debug = requireDebug();
|
|
var SemVer = requireSemver$1();
|
|
var _require$$ = requireRe(),
|
|
re = _require$$.re,
|
|
t = _require$$.t,
|
|
comparatorTrimReplace = _require$$.comparatorTrimReplace,
|
|
tildeTrimReplace = _require$$.tildeTrimReplace,
|
|
caretTrimReplace = _require$$.caretTrimReplace;
|
|
var isNullSet = function isNullSet(c) {
|
|
return c.value === '<0.0.0-0';
|
|
};
|
|
var isAny = function isAny(c) {
|
|
return c.value === '';
|
|
};
|
|
var isSatisfiable = function isSatisfiable(comparators, options) {
|
|
var result = true;
|
|
var remainingComparators = comparators.slice();
|
|
var testComparator = remainingComparators.pop();
|
|
while (result && remainingComparators.length) {
|
|
result = remainingComparators.every(function (otherComparator) {
|
|
return testComparator.intersects(otherComparator, options);
|
|
});
|
|
testComparator = remainingComparators.pop();
|
|
}
|
|
return result;
|
|
};
|
|
var parseComparator = function parseComparator(comp, options) {
|
|
debug('comp', comp, options);
|
|
comp = replaceCarets(comp, options);
|
|
debug('caret', comp);
|
|
comp = replaceTildes(comp, options);
|
|
debug('tildes', comp);
|
|
comp = replaceXRanges(comp, options);
|
|
debug('xrange', comp);
|
|
comp = replaceStars(comp, options);
|
|
debug('stars', comp);
|
|
return comp;
|
|
};
|
|
var isX = function isX(id) {
|
|
return !id || id.toLowerCase() === 'x' || id === '*';
|
|
};
|
|
var replaceTildes = function replaceTildes(comp, options) {
|
|
return comp.trim().split(/\s+/).map(function (comp) {
|
|
return replaceTilde(comp, options);
|
|
}).join(' ');
|
|
};
|
|
var replaceTilde = function replaceTilde(comp, options) {
|
|
var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
return comp.replace(r, function (_, M, m, p, pr) {
|
|
debug('tilde', comp, _, M, m, p, pr);
|
|
var ret;
|
|
if (isX(M)) {
|
|
ret = '';
|
|
} else if (isX(m)) {
|
|
ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0-0";
|
|
} else if (isX(p)) {
|
|
ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0-0";
|
|
} else if (pr) {
|
|
debug('replaceTilde pr', pr);
|
|
ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0-0";
|
|
} else {
|
|
ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0-0";
|
|
}
|
|
debug('tilde return', ret);
|
|
return ret;
|
|
});
|
|
};
|
|
var replaceCarets = function replaceCarets(comp, options) {
|
|
return comp.trim().split(/\s+/).map(function (comp) {
|
|
return replaceCaret(comp, options);
|
|
}).join(' ');
|
|
};
|
|
var replaceCaret = function replaceCaret(comp, options) {
|
|
debug('caret', comp, options);
|
|
var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
|
|
var z = options.includePrerelease ? '-0' : '';
|
|
return comp.replace(r, function (_, M, m, p, pr) {
|
|
debug('caret', comp, _, M, m, p, pr);
|
|
var ret;
|
|
if (isX(M)) {
|
|
ret = '';
|
|
} else if (isX(m)) {
|
|
ret = ">=" + M + ".0.0" + z + " <" + (+M + 1) + ".0.0-0";
|
|
} else if (isX(p)) {
|
|
if (M === '0') {
|
|
ret = ">=" + M + "." + m + ".0" + z + " <" + M + "." + (+m + 1) + ".0-0";
|
|
} else {
|
|
ret = ">=" + M + "." + m + ".0" + z + " <" + (+M + 1) + ".0.0-0";
|
|
}
|
|
} else if (pr) {
|
|
debug('replaceCaret pr', pr);
|
|
if (M === '0') {
|
|
if (m === '0') {
|
|
ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1) + "-0";
|
|
} else {
|
|
ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0-0";
|
|
}
|
|
} else {
|
|
ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0-0";
|
|
}
|
|
} else {
|
|
debug('no pr');
|
|
if (M === '0') {
|
|
if (m === '0') {
|
|
ret = ">=" + M + "." + m + "." + p + z + " <" + M + "." + m + "." + (+p + 1) + "-0";
|
|
} else {
|
|
ret = ">=" + M + "." + m + "." + p + z + " <" + M + "." + (+m + 1) + ".0-0";
|
|
}
|
|
} else {
|
|
ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0-0";
|
|
}
|
|
}
|
|
debug('caret return', ret);
|
|
return ret;
|
|
});
|
|
};
|
|
var replaceXRanges = function replaceXRanges(comp, options) {
|
|
debug('replaceXRanges', comp, options);
|
|
return comp.split(/\s+/).map(function (comp) {
|
|
return replaceXRange(comp, options);
|
|
}).join(' ');
|
|
};
|
|
var replaceXRange = function replaceXRange(comp, options) {
|
|
comp = comp.trim();
|
|
var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
|
|
debug('xRange', comp, ret, gtlt, M, m, p, pr);
|
|
var xM = isX(M);
|
|
var xm = xM || isX(m);
|
|
var xp = xm || isX(p);
|
|
var anyX = xp;
|
|
if (gtlt === '=' && anyX) {
|
|
gtlt = '';
|
|
}
|
|
pr = options.includePrerelease ? '-0' : '';
|
|
if (xM) {
|
|
if (gtlt === '>' || gtlt === '<') {
|
|
ret = '<0.0.0-0';
|
|
} else {
|
|
ret = '*';
|
|
}
|
|
} else if (gtlt && anyX) {
|
|
if (xm) {
|
|
m = 0;
|
|
}
|
|
p = 0;
|
|
if (gtlt === '>') {
|
|
gtlt = '>=';
|
|
if (xm) {
|
|
M = +M + 1;
|
|
m = 0;
|
|
p = 0;
|
|
} else {
|
|
m = +m + 1;
|
|
p = 0;
|
|
}
|
|
} else if (gtlt === '<=') {
|
|
gtlt = '<';
|
|
if (xm) {
|
|
M = +M + 1;
|
|
} else {
|
|
m = +m + 1;
|
|
}
|
|
}
|
|
if (gtlt === '<') pr = '-0';
|
|
ret = gtlt + M + "." + m + "." + p + pr;
|
|
} else if (xm) {
|
|
ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0-0";
|
|
} else if (xp) {
|
|
ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0-0";
|
|
}
|
|
debug('xRange return', ret);
|
|
return ret;
|
|
});
|
|
};
|
|
var replaceStars = function replaceStars(comp, options) {
|
|
debug('replaceStars', comp, options);
|
|
return comp.trim().replace(re[t.STAR], '');
|
|
};
|
|
var replaceGTE0 = function replaceGTE0(comp, options) {
|
|
debug('replaceGTE0', comp, options);
|
|
return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '');
|
|
};
|
|
var hyphenReplace = function hyphenReplace(incPr) {
|
|
return function ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
|
|
if (isX(fM)) {
|
|
from = '';
|
|
} else if (isX(fm)) {
|
|
from = ">=" + fM + ".0.0" + (incPr ? '-0' : '');
|
|
} else if (isX(fp)) {
|
|
from = ">=" + fM + "." + fm + ".0" + (incPr ? '-0' : '');
|
|
} else if (fpr) {
|
|
from = ">=" + from;
|
|
} else {
|
|
from = ">=" + from + (incPr ? '-0' : '');
|
|
}
|
|
if (isX(tM)) {
|
|
to = '';
|
|
} else if (isX(tm)) {
|
|
to = "<" + (+tM + 1) + ".0.0-0";
|
|
} else if (isX(tp)) {
|
|
to = "<" + tM + "." + (+tm + 1) + ".0-0";
|
|
} else if (tpr) {
|
|
to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
|
|
} else if (incPr) {
|
|
to = "<" + tM + "." + tm + "." + (+tp + 1) + "-0";
|
|
} else {
|
|
to = "<=" + to;
|
|
}
|
|
return (from + " " + to).trim();
|
|
};
|
|
};
|
|
var testSet = function testSet(set, version, options) {
|
|
for (var i = 0; i < set.length; i++) {
|
|
if (!set[i].test(version)) {
|
|
return false;
|
|
}
|
|
}
|
|
if (version.prerelease.length && !options.includePrerelease) {
|
|
for (var _i = 0; _i < set.length; _i++) {
|
|
debug(set[_i].semver);
|
|
if (set[_i].semver === Comparator.ANY) {
|
|
continue;
|
|
}
|
|
if (set[_i].semver.prerelease.length > 0) {
|
|
var allowed = set[_i].semver;
|
|
if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
return true;
|
|
};
|
|
return range;
|
|
}
|
|
|
|
var comparator;
|
|
var hasRequiredComparator;
|
|
function requireComparator() {
|
|
if (hasRequiredComparator) return comparator;
|
|
hasRequiredComparator = 1;
|
|
var ANY = Symbol('SemVer ANY');
|
|
var Comparator = function () {
|
|
function Comparator(comp, options) {
|
|
options = parseOptions(options);
|
|
if (comp instanceof Comparator) {
|
|
if (comp.loose === !!options.loose) {
|
|
return comp;
|
|
} else {
|
|
comp = comp.value;
|
|
}
|
|
}
|
|
debug('comparator', comp, options);
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
this.parse(comp);
|
|
if (this.semver === ANY) {
|
|
this.value = '';
|
|
} else {
|
|
this.value = this.operator + this.semver.version;
|
|
}
|
|
debug('comp', this);
|
|
}
|
|
var _proto = Comparator.prototype;
|
|
_proto.parse = function parse(comp) {
|
|
var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
var m = comp.match(r);
|
|
if (!m) {
|
|
throw new TypeError("Invalid comparator: " + comp);
|
|
}
|
|
this.operator = m[1] !== undefined ? m[1] : '';
|
|
if (this.operator === '=') {
|
|
this.operator = '';
|
|
}
|
|
if (!m[2]) {
|
|
this.semver = ANY;
|
|
} else {
|
|
this.semver = new SemVer(m[2], this.options.loose);
|
|
}
|
|
};
|
|
_proto.toString = function toString() {
|
|
return this.value;
|
|
};
|
|
_proto.test = function test(version) {
|
|
debug('Comparator.test', version, this.options.loose);
|
|
if (this.semver === ANY || version === ANY) {
|
|
return true;
|
|
}
|
|
if (typeof version === 'string') {
|
|
try {
|
|
version = new SemVer(version, this.options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
}
|
|
return cmp(version, this.operator, this.semver, this.options);
|
|
};
|
|
_proto.intersects = function intersects(comp, options) {
|
|
if (!(comp instanceof Comparator)) {
|
|
throw new TypeError('a Comparator is required');
|
|
}
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (this.operator === '') {
|
|
if (this.value === '') {
|
|
return true;
|
|
}
|
|
return new Range(comp.value, options).test(this.value);
|
|
} else if (comp.operator === '') {
|
|
if (comp.value === '') {
|
|
return true;
|
|
}
|
|
return new Range(this.value, options).test(comp.semver);
|
|
}
|
|
var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
|
|
var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
|
|
var sameSemVer = this.semver.version === comp.semver.version;
|
|
var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
|
|
var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
|
|
var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
|
|
return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
|
|
};
|
|
_createClass(Comparator, null, [{
|
|
key: "ANY",
|
|
get: function get() {
|
|
return ANY;
|
|
}
|
|
}]);
|
|
return Comparator;
|
|
}();
|
|
comparator = Comparator;
|
|
var parseOptions = requireParseOptions();
|
|
var _require$$ = requireRe(),
|
|
re = _require$$.re,
|
|
t = _require$$.t;
|
|
var cmp = requireCmp();
|
|
var debug = requireDebug();
|
|
var SemVer = requireSemver$1();
|
|
var Range = requireRange();
|
|
return comparator;
|
|
}
|
|
|
|
var satisfies_1;
|
|
var hasRequiredSatisfies;
|
|
function requireSatisfies() {
|
|
if (hasRequiredSatisfies) return satisfies_1;
|
|
hasRequiredSatisfies = 1;
|
|
var Range = requireRange();
|
|
var satisfies = function satisfies(version, range, options) {
|
|
try {
|
|
range = new Range(range, options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
return range.test(version);
|
|
};
|
|
satisfies_1 = satisfies;
|
|
return satisfies_1;
|
|
}
|
|
|
|
var toComparators_1;
|
|
var hasRequiredToComparators;
|
|
function requireToComparators() {
|
|
if (hasRequiredToComparators) return toComparators_1;
|
|
hasRequiredToComparators = 1;
|
|
var Range = requireRange();
|
|
var toComparators = function toComparators(range, options) {
|
|
return new Range(range, options).set.map(function (comp) {
|
|
return comp.map(function (c) {
|
|
return c.value;
|
|
}).join(' ').trim().split(' ');
|
|
});
|
|
};
|
|
toComparators_1 = toComparators;
|
|
return toComparators_1;
|
|
}
|
|
|
|
var maxSatisfying_1;
|
|
var hasRequiredMaxSatisfying;
|
|
function requireMaxSatisfying() {
|
|
if (hasRequiredMaxSatisfying) return maxSatisfying_1;
|
|
hasRequiredMaxSatisfying = 1;
|
|
var SemVer = requireSemver$1();
|
|
var Range = requireRange();
|
|
var maxSatisfying = function maxSatisfying(versions, range, options) {
|
|
var max = null;
|
|
var maxSV = null;
|
|
var rangeObj = null;
|
|
try {
|
|
rangeObj = new Range(range, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
versions.forEach(function (v) {
|
|
if (rangeObj.test(v)) {
|
|
if (!max || maxSV.compare(v) === -1) {
|
|
max = v;
|
|
maxSV = new SemVer(max, options);
|
|
}
|
|
}
|
|
});
|
|
return max;
|
|
};
|
|
maxSatisfying_1 = maxSatisfying;
|
|
return maxSatisfying_1;
|
|
}
|
|
|
|
var minSatisfying_1;
|
|
var hasRequiredMinSatisfying;
|
|
function requireMinSatisfying() {
|
|
if (hasRequiredMinSatisfying) return minSatisfying_1;
|
|
hasRequiredMinSatisfying = 1;
|
|
var SemVer = requireSemver$1();
|
|
var Range = requireRange();
|
|
var minSatisfying = function minSatisfying(versions, range, options) {
|
|
var min = null;
|
|
var minSV = null;
|
|
var rangeObj = null;
|
|
try {
|
|
rangeObj = new Range(range, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
versions.forEach(function (v) {
|
|
if (rangeObj.test(v)) {
|
|
if (!min || minSV.compare(v) === 1) {
|
|
min = v;
|
|
minSV = new SemVer(min, options);
|
|
}
|
|
}
|
|
});
|
|
return min;
|
|
};
|
|
minSatisfying_1 = minSatisfying;
|
|
return minSatisfying_1;
|
|
}
|
|
|
|
var minVersion_1;
|
|
var hasRequiredMinVersion;
|
|
function requireMinVersion() {
|
|
if (hasRequiredMinVersion) return minVersion_1;
|
|
hasRequiredMinVersion = 1;
|
|
var SemVer = requireSemver$1();
|
|
var Range = requireRange();
|
|
var gt = requireGt();
|
|
var minVersion = function minVersion(range, loose) {
|
|
range = new Range(range, loose);
|
|
var minver = new SemVer('0.0.0');
|
|
if (range.test(minver)) {
|
|
return minver;
|
|
}
|
|
minver = new SemVer('0.0.0-0');
|
|
if (range.test(minver)) {
|
|
return minver;
|
|
}
|
|
minver = null;
|
|
var _loop = function _loop() {
|
|
var comparators = range.set[i];
|
|
var setMin = null;
|
|
comparators.forEach(function (comparator) {
|
|
var compver = new SemVer(comparator.semver.version);
|
|
switch (comparator.operator) {
|
|
case '>':
|
|
if (compver.prerelease.length === 0) {
|
|
compver.patch++;
|
|
} else {
|
|
compver.prerelease.push(0);
|
|
}
|
|
compver.raw = compver.format();
|
|
case '':
|
|
case '>=':
|
|
if (!setMin || gt(compver, setMin)) {
|
|
setMin = compver;
|
|
}
|
|
break;
|
|
case '<':
|
|
case '<=':
|
|
break;
|
|
default:
|
|
throw new Error("Unexpected operation: " + comparator.operator);
|
|
}
|
|
});
|
|
if (setMin && (!minver || gt(minver, setMin))) minver = setMin;
|
|
};
|
|
for (var i = 0; i < range.set.length; ++i) {
|
|
_loop();
|
|
}
|
|
if (minver && range.test(minver)) {
|
|
return minver;
|
|
}
|
|
return null;
|
|
};
|
|
minVersion_1 = minVersion;
|
|
return minVersion_1;
|
|
}
|
|
|
|
var valid;
|
|
var hasRequiredValid;
|
|
function requireValid() {
|
|
if (hasRequiredValid) return valid;
|
|
hasRequiredValid = 1;
|
|
var Range = requireRange();
|
|
var validRange = function validRange(range, options) {
|
|
try {
|
|
return new Range(range, options).range || '*';
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
};
|
|
valid = validRange;
|
|
return valid;
|
|
}
|
|
|
|
var outside_1;
|
|
var hasRequiredOutside;
|
|
function requireOutside() {
|
|
if (hasRequiredOutside) return outside_1;
|
|
hasRequiredOutside = 1;
|
|
var SemVer = requireSemver$1();
|
|
var Comparator = requireComparator();
|
|
var ANY = Comparator.ANY;
|
|
var Range = requireRange();
|
|
var satisfies = requireSatisfies();
|
|
var gt = requireGt();
|
|
var lt = requireLt();
|
|
var lte = requireLte();
|
|
var gte = requireGte();
|
|
var outside = function outside(version, range, hilo, options) {
|
|
version = new SemVer(version, options);
|
|
range = new Range(range, options);
|
|
var gtfn, ltefn, ltfn, comp, ecomp;
|
|
switch (hilo) {
|
|
case '>':
|
|
gtfn = gt;
|
|
ltefn = lte;
|
|
ltfn = lt;
|
|
comp = '>';
|
|
ecomp = '>=';
|
|
break;
|
|
case '<':
|
|
gtfn = lt;
|
|
ltefn = gte;
|
|
ltfn = gt;
|
|
comp = '<';
|
|
ecomp = '<=';
|
|
break;
|
|
default:
|
|
throw new TypeError('Must provide a hilo val of "<" or ">"');
|
|
}
|
|
if (satisfies(version, range, options)) {
|
|
return false;
|
|
}
|
|
var _loop = function _loop() {
|
|
var comparators = range.set[i];
|
|
var high = null;
|
|
var low = null;
|
|
comparators.forEach(function (comparator) {
|
|
if (comparator.semver === ANY) {
|
|
comparator = new Comparator('>=0.0.0');
|
|
}
|
|
high = high || comparator;
|
|
low = low || comparator;
|
|
if (gtfn(comparator.semver, high.semver, options)) {
|
|
high = comparator;
|
|
} else if (ltfn(comparator.semver, low.semver, options)) {
|
|
low = comparator;
|
|
}
|
|
});
|
|
if (high.operator === comp || high.operator === ecomp) {
|
|
return {
|
|
v: false
|
|
};
|
|
}
|
|
if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
|
|
return {
|
|
v: false
|
|
};
|
|
} else if (low.operator === ecomp && ltfn(version, low.semver)) {
|
|
return {
|
|
v: false
|
|
};
|
|
}
|
|
};
|
|
for (var i = 0; i < range.set.length; ++i) {
|
|
var _ret = _loop();
|
|
if (typeof _ret === "object") return _ret.v;
|
|
}
|
|
return true;
|
|
};
|
|
outside_1 = outside;
|
|
return outside_1;
|
|
}
|
|
|
|
var gtr_1;
|
|
var hasRequiredGtr;
|
|
function requireGtr() {
|
|
if (hasRequiredGtr) return gtr_1;
|
|
hasRequiredGtr = 1;
|
|
var outside = requireOutside();
|
|
var gtr = function gtr(version, range, options) {
|
|
return outside(version, range, '>', options);
|
|
};
|
|
gtr_1 = gtr;
|
|
return gtr_1;
|
|
}
|
|
|
|
var ltr_1;
|
|
var hasRequiredLtr;
|
|
function requireLtr() {
|
|
if (hasRequiredLtr) return ltr_1;
|
|
hasRequiredLtr = 1;
|
|
var outside = requireOutside();
|
|
var ltr = function ltr(version, range, options) {
|
|
return outside(version, range, '<', options);
|
|
};
|
|
ltr_1 = ltr;
|
|
return ltr_1;
|
|
}
|
|
|
|
var intersects_1;
|
|
var hasRequiredIntersects;
|
|
function requireIntersects() {
|
|
if (hasRequiredIntersects) return intersects_1;
|
|
hasRequiredIntersects = 1;
|
|
var Range = requireRange();
|
|
var intersects = function intersects(r1, r2, options) {
|
|
r1 = new Range(r1, options);
|
|
r2 = new Range(r2, options);
|
|
return r1.intersects(r2);
|
|
};
|
|
intersects_1 = intersects;
|
|
return intersects_1;
|
|
}
|
|
|
|
var simplify;
|
|
var hasRequiredSimplify;
|
|
function requireSimplify() {
|
|
if (hasRequiredSimplify) return simplify;
|
|
hasRequiredSimplify = 1;
|
|
var satisfies = requireSatisfies();
|
|
var compare = requireCompare();
|
|
simplify = function simplify(versions, range, options) {
|
|
var set = [];
|
|
var min = null;
|
|
var prev = null;
|
|
var v = versions.sort(function (a, b) {
|
|
return compare(a, b, options);
|
|
});
|
|
for (var _iterator = _createForOfIteratorHelperLoose(v), _step; !(_step = _iterator()).done;) {
|
|
var version = _step.value;
|
|
var included = satisfies(version, range, options);
|
|
if (included) {
|
|
prev = version;
|
|
if (!min) min = version;
|
|
} else {
|
|
if (prev) {
|
|
set.push([min, prev]);
|
|
}
|
|
prev = null;
|
|
min = null;
|
|
}
|
|
}
|
|
if (min) set.push([min, null]);
|
|
var ranges = [];
|
|
for (var _i = 0, _set = set; _i < _set.length; _i++) {
|
|
var _set$_i = _slicedToArray(_set[_i], 2),
|
|
_min = _set$_i[0],
|
|
max = _set$_i[1];
|
|
if (_min === max) ranges.push(_min);else if (!max && _min === v[0]) ranges.push('*');else if (!max) ranges.push(">=" + _min);else if (_min === v[0]) ranges.push("<=" + max);else ranges.push(_min + " - " + max);
|
|
}
|
|
var simplified = ranges.join(' || ');
|
|
var original = typeof range.raw === 'string' ? range.raw : String(range);
|
|
return simplified.length < original.length ? simplified : range;
|
|
};
|
|
return simplify;
|
|
}
|
|
|
|
var subset_1;
|
|
var hasRequiredSubset;
|
|
function requireSubset() {
|
|
if (hasRequiredSubset) return subset_1;
|
|
hasRequiredSubset = 1;
|
|
var Range = requireRange();
|
|
var _require$$ = requireComparator(),
|
|
ANY = _require$$.ANY;
|
|
var satisfies = requireSatisfies();
|
|
var compare = requireCompare();
|
|
var subset = function subset(sub, dom, options) {
|
|
if (sub === dom) return true;
|
|
sub = new Range(sub, options);
|
|
dom = new Range(dom, options);
|
|
var sawNonNull = false;
|
|
OUTER: for (var _iterator = _createForOfIteratorHelperLoose(sub.set), _step; !(_step = _iterator()).done;) {
|
|
var simpleSub = _step.value;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(dom.set), _step2; !(_step2 = _iterator2()).done;) {
|
|
var simpleDom = _step2.value;
|
|
var isSub = simpleSubset(simpleSub, simpleDom, options);
|
|
sawNonNull = sawNonNull || isSub !== null;
|
|
if (isSub) continue OUTER;
|
|
}
|
|
if (sawNonNull) return false;
|
|
}
|
|
return true;
|
|
};
|
|
var simpleSubset = function simpleSubset(sub, dom, options) {
|
|
if (sub === dom) return true;
|
|
if (sub.length === 1 && sub[0].semver === ANY) return dom.length === 1 && dom[0].semver === ANY;
|
|
var eqSet = new Set();
|
|
var gt, lt;
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(sub), _step3; !(_step3 = _iterator3()).done;) {
|
|
var c = _step3.value;
|
|
if (c.operator === '>' || c.operator === '>=') gt = higherGT(gt, c, options);else if (c.operator === '<' || c.operator === '<=') lt = lowerLT(lt, c, options);else eqSet.add(c.semver);
|
|
}
|
|
if (eqSet.size > 1) return null;
|
|
var gtltComp;
|
|
if (gt && lt) {
|
|
gtltComp = compare(gt.semver, lt.semver, options);
|
|
if (gtltComp > 0) return null;else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) return null;
|
|
}
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(eqSet), _step4; !(_step4 = _iterator4()).done;) {
|
|
var eq = _step4.value;
|
|
if (gt && !satisfies(eq, String(gt), options)) return null;
|
|
if (lt && !satisfies(eq, String(lt), options)) return null;
|
|
for (var _iterator6 = _createForOfIteratorHelperLoose(dom), _step6; !(_step6 = _iterator6()).done;) {
|
|
var _c = _step6.value;
|
|
if (!satisfies(eq, String(_c), options)) return false;
|
|
}
|
|
return true;
|
|
}
|
|
var higher, lower;
|
|
var hasDomLT, hasDomGT;
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(dom), _step5; !(_step5 = _iterator5()).done;) {
|
|
var _c2 = _step5.value;
|
|
hasDomGT = hasDomGT || _c2.operator === '>' || _c2.operator === '>=';
|
|
hasDomLT = hasDomLT || _c2.operator === '<' || _c2.operator === '<=';
|
|
if (gt) {
|
|
if (_c2.operator === '>' || _c2.operator === '>=') {
|
|
higher = higherGT(gt, _c2, options);
|
|
if (higher === _c2 && higher !== gt) return false;
|
|
} else if (gt.operator === '>=' && !satisfies(gt.semver, String(_c2), options)) return false;
|
|
}
|
|
if (lt) {
|
|
if (_c2.operator === '<' || _c2.operator === '<=') {
|
|
lower = lowerLT(lt, _c2, options);
|
|
if (lower === _c2 && lower !== lt) return false;
|
|
} else if (lt.operator === '<=' && !satisfies(lt.semver, String(_c2), options)) return false;
|
|
}
|
|
if (!_c2.operator && (lt || gt) && gtltComp !== 0) return false;
|
|
}
|
|
if (gt && hasDomLT && !lt && gtltComp !== 0) return false;
|
|
if (lt && hasDomGT && !gt && gtltComp !== 0) return false;
|
|
return true;
|
|
};
|
|
var higherGT = function higherGT(a, b, options) {
|
|
if (!a) return b;
|
|
var comp = compare(a.semver, b.semver, options);
|
|
return comp > 0 ? a : comp < 0 ? b : b.operator === '>' && a.operator === '>=' ? b : a;
|
|
};
|
|
var lowerLT = function lowerLT(a, b, options) {
|
|
if (!a) return b;
|
|
var comp = compare(a.semver, b.semver, options);
|
|
return comp < 0 ? a : comp > 0 ? b : b.operator === '<' && a.operator === '<=' ? b : a;
|
|
};
|
|
subset_1 = subset;
|
|
return subset_1;
|
|
}
|
|
|
|
var semverBABEL_8_BREAKINGTrue;
|
|
var hasRequiredSemverBABEL_8_BREAKINGTrue;
|
|
function requireSemverBABEL_8_BREAKINGTrue() {
|
|
if (hasRequiredSemverBABEL_8_BREAKINGTrue) return semverBABEL_8_BREAKINGTrue;
|
|
hasRequiredSemverBABEL_8_BREAKINGTrue = 1;
|
|
var internalRe = requireRe();
|
|
semverBABEL_8_BREAKINGTrue = {
|
|
re: internalRe.re,
|
|
src: internalRe.src,
|
|
tokens: internalRe.t,
|
|
SEMVER_SPEC_VERSION: requireConstants().SEMVER_SPEC_VERSION,
|
|
SemVer: requireSemver$1(),
|
|
compareIdentifiers: requireIdentifiers().compareIdentifiers,
|
|
rcompareIdentifiers: requireIdentifiers().rcompareIdentifiers,
|
|
parse: requireParse(),
|
|
valid: requireValid$1(),
|
|
clean: requireClean(),
|
|
inc: requireInc(),
|
|
diff: requireDiff(),
|
|
major: requireMajor(),
|
|
minor: requireMinor(),
|
|
patch: requirePatch(),
|
|
prerelease: requirePrerelease(),
|
|
compare: requireCompare(),
|
|
rcompare: requireRcompare(),
|
|
compareLoose: requireCompareLoose(),
|
|
compareBuild: requireCompareBuild(),
|
|
sort: requireSort(),
|
|
rsort: requireRsort(),
|
|
gt: requireGt(),
|
|
lt: requireLt(),
|
|
eq: requireEq(),
|
|
neq: requireNeq(),
|
|
gte: requireGte(),
|
|
lte: requireLte(),
|
|
cmp: requireCmp(),
|
|
coerce: requireCoerce(),
|
|
Comparator: requireComparator(),
|
|
Range: requireRange(),
|
|
satisfies: requireSatisfies(),
|
|
toComparators: requireToComparators(),
|
|
maxSatisfying: requireMaxSatisfying(),
|
|
minSatisfying: requireMinSatisfying(),
|
|
minVersion: requireMinVersion(),
|
|
validRange: requireValid(),
|
|
outside: requireOutside(),
|
|
gtr: requireGtr(),
|
|
ltr: requireLtr(),
|
|
intersects: requireIntersects(),
|
|
simplifyRange: requireSimplify(),
|
|
subset: requireSubset()
|
|
};
|
|
return semverBABEL_8_BREAKINGTrue;
|
|
}
|
|
|
|
var semver$c = {exports: {}};
|
|
|
|
var hasRequiredSemver;
|
|
function requireSemver() {
|
|
if (hasRequiredSemver) return semver$c.exports;
|
|
hasRequiredSemver = 1;
|
|
(function (module, exports) {
|
|
exports = module.exports = SemVer;
|
|
var debug;
|
|
if (typeof browser$1$1 === 'object' && browser$1$1.env && browser$1$1.env.NODE_DEBUG && /\bsemver\b/i.test(browser$1$1.env.NODE_DEBUG)) {
|
|
debug = function debug() {
|
|
var args = Array.prototype.slice.call(arguments, 0);
|
|
args.unshift('SEMVER');
|
|
console.log.apply(console, args);
|
|
};
|
|
} else {
|
|
debug = function debug() {};
|
|
}
|
|
exports.SEMVER_SPEC_VERSION = '2.0.0';
|
|
var MAX_LENGTH = 256;
|
|
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
|
var MAX_SAFE_COMPONENT_LENGTH = 16;
|
|
var re = exports.re = [];
|
|
var src = exports.src = [];
|
|
var t = exports.tokens = {};
|
|
var R = 0;
|
|
function tok(n) {
|
|
t[n] = R++;
|
|
}
|
|
tok('NUMERICIDENTIFIER');
|
|
src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*';
|
|
tok('NUMERICIDENTIFIERLOOSE');
|
|
src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+';
|
|
tok('NONNUMERICIDENTIFIER');
|
|
src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
|
|
tok('MAINVERSION');
|
|
src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')';
|
|
tok('MAINVERSIONLOOSE');
|
|
src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')';
|
|
tok('PRERELEASEIDENTIFIER');
|
|
src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
|
|
tok('PRERELEASEIDENTIFIERLOOSE');
|
|
src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
|
|
tok('PRERELEASE');
|
|
src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))';
|
|
tok('PRERELEASELOOSE');
|
|
src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))';
|
|
tok('BUILDIDENTIFIER');
|
|
src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
|
|
tok('BUILD');
|
|
src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))';
|
|
tok('FULL');
|
|
tok('FULLPLAIN');
|
|
src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + src[t.PRERELEASE] + '?' + src[t.BUILD] + '?';
|
|
src[t.FULL] = '^' + src[t.FULLPLAIN] + '$';
|
|
tok('LOOSEPLAIN');
|
|
src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + '?' + src[t.BUILD] + '?';
|
|
tok('LOOSE');
|
|
src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$';
|
|
tok('GTLT');
|
|
src[t.GTLT] = '((?:<|>)?=?)';
|
|
tok('XRANGEIDENTIFIERLOOSE');
|
|
src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
|
|
tok('XRANGEIDENTIFIER');
|
|
src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*';
|
|
tok('XRANGEPLAIN');
|
|
src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:' + src[t.PRERELEASE] + ')?' + src[t.BUILD] + '?' + ')?)?';
|
|
tok('XRANGEPLAINLOOSE');
|
|
src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:' + src[t.PRERELEASELOOSE] + ')?' + src[t.BUILD] + '?' + ')?)?';
|
|
tok('XRANGE');
|
|
src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$';
|
|
tok('XRANGELOOSE');
|
|
src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$';
|
|
tok('COERCE');
|
|
src[t.COERCE] = '(^|[^\\d])' + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:$|[^\\d])';
|
|
tok('COERCERTL');
|
|
re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g');
|
|
tok('LONETILDE');
|
|
src[t.LONETILDE] = '(?:~>?)';
|
|
tok('TILDETRIM');
|
|
src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+';
|
|
re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g');
|
|
var tildeTrimReplace = '$1~';
|
|
tok('TILDE');
|
|
src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$';
|
|
tok('TILDELOOSE');
|
|
src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$';
|
|
tok('LONECARET');
|
|
src[t.LONECARET] = '(?:\\^)';
|
|
tok('CARETTRIM');
|
|
src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+';
|
|
re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g');
|
|
var caretTrimReplace = '$1^';
|
|
tok('CARET');
|
|
src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$';
|
|
tok('CARETLOOSE');
|
|
src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$';
|
|
tok('COMPARATORLOOSE');
|
|
src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$';
|
|
tok('COMPARATOR');
|
|
src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$';
|
|
tok('COMPARATORTRIM');
|
|
src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')';
|
|
re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g');
|
|
var comparatorTrimReplace = '$1$2$3';
|
|
tok('HYPHENRANGE');
|
|
src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAIN] + ')' + '\\s*$';
|
|
tok('HYPHENRANGELOOSE');
|
|
src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s*$';
|
|
tok('STAR');
|
|
src[t.STAR] = '(<|>)?=?\\s*\\*';
|
|
for (var i = 0; i < R; i++) {
|
|
debug(i, src[i]);
|
|
if (!re[i]) {
|
|
re[i] = new RegExp(src[i]);
|
|
}
|
|
}
|
|
exports.parse = parse;
|
|
function parse(version, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (version instanceof SemVer) {
|
|
return version;
|
|
}
|
|
if (typeof version !== 'string') {
|
|
return null;
|
|
}
|
|
if (version.length > MAX_LENGTH) {
|
|
return null;
|
|
}
|
|
var r = options.loose ? re[t.LOOSE] : re[t.FULL];
|
|
if (!r.test(version)) {
|
|
return null;
|
|
}
|
|
try {
|
|
return new SemVer(version, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.valid = valid;
|
|
function valid(version, options) {
|
|
var v = parse(version, options);
|
|
return v ? v.version : null;
|
|
}
|
|
exports.clean = clean;
|
|
function clean(version, options) {
|
|
var s = parse(version.trim().replace(/^[=v]+/, ''), options);
|
|
return s ? s.version : null;
|
|
}
|
|
exports.SemVer = SemVer;
|
|
function SemVer(version, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (version instanceof SemVer) {
|
|
if (version.loose === options.loose) {
|
|
return version;
|
|
} else {
|
|
version = version.version;
|
|
}
|
|
} else if (typeof version !== 'string') {
|
|
throw new TypeError('Invalid Version: ' + version);
|
|
}
|
|
if (version.length > MAX_LENGTH) {
|
|
throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters');
|
|
}
|
|
if (!(this instanceof SemVer)) {
|
|
return new SemVer(version, options);
|
|
}
|
|
debug('SemVer', version, options);
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
|
|
if (!m) {
|
|
throw new TypeError('Invalid Version: ' + version);
|
|
}
|
|
this.raw = version;
|
|
this.major = +m[1];
|
|
this.minor = +m[2];
|
|
this.patch = +m[3];
|
|
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
|
|
throw new TypeError('Invalid major version');
|
|
}
|
|
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
|
|
throw new TypeError('Invalid minor version');
|
|
}
|
|
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
|
|
throw new TypeError('Invalid patch version');
|
|
}
|
|
if (!m[4]) {
|
|
this.prerelease = [];
|
|
} else {
|
|
this.prerelease = m[4].split('.').map(function (id) {
|
|
if (/^[0-9]+$/.test(id)) {
|
|
var num = +id;
|
|
if (num >= 0 && num < MAX_SAFE_INTEGER) {
|
|
return num;
|
|
}
|
|
}
|
|
return id;
|
|
});
|
|
}
|
|
this.build = m[5] ? m[5].split('.') : [];
|
|
this.format();
|
|
}
|
|
SemVer.prototype.format = function () {
|
|
this.version = this.major + '.' + this.minor + '.' + this.patch;
|
|
if (this.prerelease.length) {
|
|
this.version += '-' + this.prerelease.join('.');
|
|
}
|
|
return this.version;
|
|
};
|
|
SemVer.prototype.toString = function () {
|
|
return this.version;
|
|
};
|
|
SemVer.prototype.compare = function (other) {
|
|
debug('SemVer.compare', this.version, this.options, other);
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
return this.compareMain(other) || this.comparePre(other);
|
|
};
|
|
SemVer.prototype.compareMain = function (other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
|
|
};
|
|
SemVer.prototype.comparePre = function (other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
if (this.prerelease.length && !other.prerelease.length) {
|
|
return -1;
|
|
} else if (!this.prerelease.length && other.prerelease.length) {
|
|
return 1;
|
|
} else if (!this.prerelease.length && !other.prerelease.length) {
|
|
return 0;
|
|
}
|
|
var i = 0;
|
|
do {
|
|
var a = this.prerelease[i];
|
|
var b = other.prerelease[i];
|
|
debug('prerelease compare', i, a, b);
|
|
if (a === undefined && b === undefined) {
|
|
return 0;
|
|
} else if (b === undefined) {
|
|
return 1;
|
|
} else if (a === undefined) {
|
|
return -1;
|
|
} else if (a === b) {
|
|
continue;
|
|
} else {
|
|
return compareIdentifiers(a, b);
|
|
}
|
|
} while (++i);
|
|
};
|
|
SemVer.prototype.compareBuild = function (other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
var i = 0;
|
|
do {
|
|
var a = this.build[i];
|
|
var b = other.build[i];
|
|
debug('prerelease compare', i, a, b);
|
|
if (a === undefined && b === undefined) {
|
|
return 0;
|
|
} else if (b === undefined) {
|
|
return 1;
|
|
} else if (a === undefined) {
|
|
return -1;
|
|
} else if (a === b) {
|
|
continue;
|
|
} else {
|
|
return compareIdentifiers(a, b);
|
|
}
|
|
} while (++i);
|
|
};
|
|
SemVer.prototype.inc = function (release, identifier) {
|
|
switch (release) {
|
|
case 'premajor':
|
|
this.prerelease.length = 0;
|
|
this.patch = 0;
|
|
this.minor = 0;
|
|
this.major++;
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'preminor':
|
|
this.prerelease.length = 0;
|
|
this.patch = 0;
|
|
this.minor++;
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'prepatch':
|
|
this.prerelease.length = 0;
|
|
this.inc('patch', identifier);
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'prerelease':
|
|
if (this.prerelease.length === 0) {
|
|
this.inc('patch', identifier);
|
|
}
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'major':
|
|
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
|
|
this.major++;
|
|
}
|
|
this.minor = 0;
|
|
this.patch = 0;
|
|
this.prerelease = [];
|
|
break;
|
|
case 'minor':
|
|
if (this.patch !== 0 || this.prerelease.length === 0) {
|
|
this.minor++;
|
|
}
|
|
this.patch = 0;
|
|
this.prerelease = [];
|
|
break;
|
|
case 'patch':
|
|
if (this.prerelease.length === 0) {
|
|
this.patch++;
|
|
}
|
|
this.prerelease = [];
|
|
break;
|
|
case 'pre':
|
|
if (this.prerelease.length === 0) {
|
|
this.prerelease = [0];
|
|
} else {
|
|
var i = this.prerelease.length;
|
|
while (--i >= 0) {
|
|
if (typeof this.prerelease[i] === 'number') {
|
|
this.prerelease[i]++;
|
|
i = -2;
|
|
}
|
|
}
|
|
if (i === -1) {
|
|
this.prerelease.push(0);
|
|
}
|
|
}
|
|
if (identifier) {
|
|
if (this.prerelease[0] === identifier) {
|
|
if (isNaN(this.prerelease[1])) {
|
|
this.prerelease = [identifier, 0];
|
|
}
|
|
} else {
|
|
this.prerelease = [identifier, 0];
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
throw new Error('invalid increment argument: ' + release);
|
|
}
|
|
this.format();
|
|
this.raw = this.version;
|
|
return this;
|
|
};
|
|
exports.inc = inc;
|
|
function inc(version, release, loose, identifier) {
|
|
if (typeof loose === 'string') {
|
|
identifier = loose;
|
|
loose = undefined;
|
|
}
|
|
try {
|
|
return new SemVer(version, loose).inc(release, identifier).version;
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.diff = diff;
|
|
function diff(version1, version2) {
|
|
if (eq(version1, version2)) {
|
|
return null;
|
|
} else {
|
|
var v1 = parse(version1);
|
|
var v2 = parse(version2);
|
|
var prefix = '';
|
|
if (v1.prerelease.length || v2.prerelease.length) {
|
|
prefix = 'pre';
|
|
var defaultResult = 'prerelease';
|
|
}
|
|
for (var key in v1) {
|
|
if (key === 'major' || key === 'minor' || key === 'patch') {
|
|
if (v1[key] !== v2[key]) {
|
|
return prefix + key;
|
|
}
|
|
}
|
|
}
|
|
return defaultResult;
|
|
}
|
|
}
|
|
exports.compareIdentifiers = compareIdentifiers;
|
|
var numeric = /^[0-9]+$/;
|
|
function compareIdentifiers(a, b) {
|
|
var anum = numeric.test(a);
|
|
var bnum = numeric.test(b);
|
|
if (anum && bnum) {
|
|
a = +a;
|
|
b = +b;
|
|
}
|
|
return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
|
|
}
|
|
exports.rcompareIdentifiers = rcompareIdentifiers;
|
|
function rcompareIdentifiers(a, b) {
|
|
return compareIdentifiers(b, a);
|
|
}
|
|
exports.major = major;
|
|
function major(a, loose) {
|
|
return new SemVer(a, loose).major;
|
|
}
|
|
exports.minor = minor;
|
|
function minor(a, loose) {
|
|
return new SemVer(a, loose).minor;
|
|
}
|
|
exports.patch = patch;
|
|
function patch(a, loose) {
|
|
return new SemVer(a, loose).patch;
|
|
}
|
|
exports.compare = compare;
|
|
function compare(a, b, loose) {
|
|
return new SemVer(a, loose).compare(new SemVer(b, loose));
|
|
}
|
|
exports.compareLoose = compareLoose;
|
|
function compareLoose(a, b) {
|
|
return compare(a, b, true);
|
|
}
|
|
exports.compareBuild = compareBuild;
|
|
function compareBuild(a, b, loose) {
|
|
var versionA = new SemVer(a, loose);
|
|
var versionB = new SemVer(b, loose);
|
|
return versionA.compare(versionB) || versionA.compareBuild(versionB);
|
|
}
|
|
exports.rcompare = rcompare;
|
|
function rcompare(a, b, loose) {
|
|
return compare(b, a, loose);
|
|
}
|
|
exports.sort = sort;
|
|
function sort(list, loose) {
|
|
return list.sort(function (a, b) {
|
|
return exports.compareBuild(a, b, loose);
|
|
});
|
|
}
|
|
exports.rsort = rsort;
|
|
function rsort(list, loose) {
|
|
return list.sort(function (a, b) {
|
|
return exports.compareBuild(b, a, loose);
|
|
});
|
|
}
|
|
exports.gt = gt;
|
|
function gt(a, b, loose) {
|
|
return compare(a, b, loose) > 0;
|
|
}
|
|
exports.lt = lt;
|
|
function lt(a, b, loose) {
|
|
return compare(a, b, loose) < 0;
|
|
}
|
|
exports.eq = eq;
|
|
function eq(a, b, loose) {
|
|
return compare(a, b, loose) === 0;
|
|
}
|
|
exports.neq = neq;
|
|
function neq(a, b, loose) {
|
|
return compare(a, b, loose) !== 0;
|
|
}
|
|
exports.gte = gte;
|
|
function gte(a, b, loose) {
|
|
return compare(a, b, loose) >= 0;
|
|
}
|
|
exports.lte = lte;
|
|
function lte(a, b, loose) {
|
|
return compare(a, b, loose) <= 0;
|
|
}
|
|
exports.cmp = cmp;
|
|
function cmp(a, op, b, loose) {
|
|
switch (op) {
|
|
case '===':
|
|
if (typeof a === 'object') a = a.version;
|
|
if (typeof b === 'object') b = b.version;
|
|
return a === b;
|
|
case '!==':
|
|
if (typeof a === 'object') a = a.version;
|
|
if (typeof b === 'object') b = b.version;
|
|
return a !== b;
|
|
case '':
|
|
case '=':
|
|
case '==':
|
|
return eq(a, b, loose);
|
|
case '!=':
|
|
return neq(a, b, loose);
|
|
case '>':
|
|
return gt(a, b, loose);
|
|
case '>=':
|
|
return gte(a, b, loose);
|
|
case '<':
|
|
return lt(a, b, loose);
|
|
case '<=':
|
|
return lte(a, b, loose);
|
|
default:
|
|
throw new TypeError('Invalid operator: ' + op);
|
|
}
|
|
}
|
|
exports.Comparator = Comparator;
|
|
function Comparator(comp, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (comp instanceof Comparator) {
|
|
if (comp.loose === !!options.loose) {
|
|
return comp;
|
|
} else {
|
|
comp = comp.value;
|
|
}
|
|
}
|
|
if (!(this instanceof Comparator)) {
|
|
return new Comparator(comp, options);
|
|
}
|
|
debug('comparator', comp, options);
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
this.parse(comp);
|
|
if (this.semver === ANY) {
|
|
this.value = '';
|
|
} else {
|
|
this.value = this.operator + this.semver.version;
|
|
}
|
|
debug('comp', this);
|
|
}
|
|
var ANY = {};
|
|
Comparator.prototype.parse = function (comp) {
|
|
var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
var m = comp.match(r);
|
|
if (!m) {
|
|
throw new TypeError('Invalid comparator: ' + comp);
|
|
}
|
|
this.operator = m[1] !== undefined ? m[1] : '';
|
|
if (this.operator === '=') {
|
|
this.operator = '';
|
|
}
|
|
if (!m[2]) {
|
|
this.semver = ANY;
|
|
} else {
|
|
this.semver = new SemVer(m[2], this.options.loose);
|
|
}
|
|
};
|
|
Comparator.prototype.toString = function () {
|
|
return this.value;
|
|
};
|
|
Comparator.prototype.test = function (version) {
|
|
debug('Comparator.test', version, this.options.loose);
|
|
if (this.semver === ANY || version === ANY) {
|
|
return true;
|
|
}
|
|
if (typeof version === 'string') {
|
|
try {
|
|
version = new SemVer(version, this.options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
}
|
|
return cmp(version, this.operator, this.semver, this.options);
|
|
};
|
|
Comparator.prototype.intersects = function (comp, options) {
|
|
if (!(comp instanceof Comparator)) {
|
|
throw new TypeError('a Comparator is required');
|
|
}
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
var rangeTmp;
|
|
if (this.operator === '') {
|
|
if (this.value === '') {
|
|
return true;
|
|
}
|
|
rangeTmp = new Range(comp.value, options);
|
|
return satisfies(this.value, rangeTmp, options);
|
|
} else if (comp.operator === '') {
|
|
if (comp.value === '') {
|
|
return true;
|
|
}
|
|
rangeTmp = new Range(this.value, options);
|
|
return satisfies(comp.semver, rangeTmp, options);
|
|
}
|
|
var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
|
|
var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
|
|
var sameSemVer = this.semver.version === comp.semver.version;
|
|
var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
|
|
var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
|
|
var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
|
|
return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
|
|
};
|
|
exports.Range = Range;
|
|
function Range(range, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (range instanceof Range) {
|
|
if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
|
|
return range;
|
|
} else {
|
|
return new Range(range.raw, options);
|
|
}
|
|
}
|
|
if (range instanceof Comparator) {
|
|
return new Range(range.value, options);
|
|
}
|
|
if (!(this instanceof Range)) {
|
|
return new Range(range, options);
|
|
}
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
this.includePrerelease = !!options.includePrerelease;
|
|
this.raw = range;
|
|
this.set = range.split(/\s*\|\|\s*/).map(function (range) {
|
|
return this.parseRange(range.trim());
|
|
}, this).filter(function (c) {
|
|
return c.length;
|
|
});
|
|
if (!this.set.length) {
|
|
throw new TypeError('Invalid SemVer Range: ' + range);
|
|
}
|
|
this.format();
|
|
}
|
|
Range.prototype.format = function () {
|
|
this.range = this.set.map(function (comps) {
|
|
return comps.join(' ').trim();
|
|
}).join('||').trim();
|
|
return this.range;
|
|
};
|
|
Range.prototype.toString = function () {
|
|
return this.range;
|
|
};
|
|
Range.prototype.parseRange = function (range) {
|
|
var loose = this.options.loose;
|
|
range = range.trim();
|
|
var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
|
|
range = range.replace(hr, hyphenReplace);
|
|
debug('hyphen replace', range);
|
|
range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
|
|
debug('comparator trim', range, re[t.COMPARATORTRIM]);
|
|
range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
|
|
range = range.replace(re[t.CARETTRIM], caretTrimReplace);
|
|
range = range.split(/\s+/).join(' ');
|
|
var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
var set = range.split(' ').map(function (comp) {
|
|
return parseComparator(comp, this.options);
|
|
}, this).join(' ').split(/\s+/);
|
|
if (this.options.loose) {
|
|
set = set.filter(function (comp) {
|
|
return !!comp.match(compRe);
|
|
});
|
|
}
|
|
set = set.map(function (comp) {
|
|
return new Comparator(comp, this.options);
|
|
}, this);
|
|
return set;
|
|
};
|
|
Range.prototype.intersects = function (range, options) {
|
|
if (!(range instanceof Range)) {
|
|
throw new TypeError('a Range is required');
|
|
}
|
|
return this.set.some(function (thisComparators) {
|
|
return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) {
|
|
return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) {
|
|
return rangeComparators.every(function (rangeComparator) {
|
|
return thisComparator.intersects(rangeComparator, options);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
};
|
|
function isSatisfiable(comparators, options) {
|
|
var result = true;
|
|
var remainingComparators = comparators.slice();
|
|
var testComparator = remainingComparators.pop();
|
|
while (result && remainingComparators.length) {
|
|
result = remainingComparators.every(function (otherComparator) {
|
|
return testComparator.intersects(otherComparator, options);
|
|
});
|
|
testComparator = remainingComparators.pop();
|
|
}
|
|
return result;
|
|
}
|
|
exports.toComparators = toComparators;
|
|
function toComparators(range, options) {
|
|
return new Range(range, options).set.map(function (comp) {
|
|
return comp.map(function (c) {
|
|
return c.value;
|
|
}).join(' ').trim().split(' ');
|
|
});
|
|
}
|
|
function parseComparator(comp, options) {
|
|
debug('comp', comp, options);
|
|
comp = replaceCarets(comp, options);
|
|
debug('caret', comp);
|
|
comp = replaceTildes(comp, options);
|
|
debug('tildes', comp);
|
|
comp = replaceXRanges(comp, options);
|
|
debug('xrange', comp);
|
|
comp = replaceStars(comp, options);
|
|
debug('stars', comp);
|
|
return comp;
|
|
}
|
|
function isX(id) {
|
|
return !id || id.toLowerCase() === 'x' || id === '*';
|
|
}
|
|
function replaceTildes(comp, options) {
|
|
return comp.trim().split(/\s+/).map(function (comp) {
|
|
return replaceTilde(comp, options);
|
|
}).join(' ');
|
|
}
|
|
function replaceTilde(comp, options) {
|
|
var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
return comp.replace(r, function (_, M, m, p, pr) {
|
|
debug('tilde', comp, _, M, m, p, pr);
|
|
var ret;
|
|
if (isX(M)) {
|
|
ret = '';
|
|
} else if (isX(m)) {
|
|
ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
|
|
} else if (isX(p)) {
|
|
ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
|
|
} else if (pr) {
|
|
debug('replaceTilde pr', pr);
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
|
|
}
|
|
debug('tilde return', ret);
|
|
return ret;
|
|
});
|
|
}
|
|
function replaceCarets(comp, options) {
|
|
return comp.trim().split(/\s+/).map(function (comp) {
|
|
return replaceCaret(comp, options);
|
|
}).join(' ');
|
|
}
|
|
function replaceCaret(comp, options) {
|
|
debug('caret', comp, options);
|
|
var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
|
|
return comp.replace(r, function (_, M, m, p, pr) {
|
|
debug('caret', comp, _, M, m, p, pr);
|
|
var ret;
|
|
if (isX(M)) {
|
|
ret = '';
|
|
} else if (isX(m)) {
|
|
ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
|
|
} else if (isX(p)) {
|
|
if (M === '0') {
|
|
ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';
|
|
}
|
|
} else if (pr) {
|
|
debug('replaceCaret pr', pr);
|
|
if (M === '0') {
|
|
if (m === '0') {
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1);
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
|
|
}
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0';
|
|
}
|
|
} else {
|
|
debug('no pr');
|
|
if (M === '0') {
|
|
if (m === '0') {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1);
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
|
|
}
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0';
|
|
}
|
|
}
|
|
debug('caret return', ret);
|
|
return ret;
|
|
});
|
|
}
|
|
function replaceXRanges(comp, options) {
|
|
debug('replaceXRanges', comp, options);
|
|
return comp.split(/\s+/).map(function (comp) {
|
|
return replaceXRange(comp, options);
|
|
}).join(' ');
|
|
}
|
|
function replaceXRange(comp, options) {
|
|
comp = comp.trim();
|
|
var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
|
|
debug('xRange', comp, ret, gtlt, M, m, p, pr);
|
|
var xM = isX(M);
|
|
var xm = xM || isX(m);
|
|
var xp = xm || isX(p);
|
|
var anyX = xp;
|
|
if (gtlt === '=' && anyX) {
|
|
gtlt = '';
|
|
}
|
|
pr = options.includePrerelease ? '-0' : '';
|
|
if (xM) {
|
|
if (gtlt === '>' || gtlt === '<') {
|
|
ret = '<0.0.0-0';
|
|
} else {
|
|
ret = '*';
|
|
}
|
|
} else if (gtlt && anyX) {
|
|
if (xm) {
|
|
m = 0;
|
|
}
|
|
p = 0;
|
|
if (gtlt === '>') {
|
|
gtlt = '>=';
|
|
if (xm) {
|
|
M = +M + 1;
|
|
m = 0;
|
|
p = 0;
|
|
} else {
|
|
m = +m + 1;
|
|
p = 0;
|
|
}
|
|
} else if (gtlt === '<=') {
|
|
gtlt = '<';
|
|
if (xm) {
|
|
M = +M + 1;
|
|
} else {
|
|
m = +m + 1;
|
|
}
|
|
}
|
|
ret = gtlt + M + '.' + m + '.' + p + pr;
|
|
} else if (xm) {
|
|
ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr;
|
|
} else if (xp) {
|
|
ret = '>=' + M + '.' + m + '.0' + pr + ' <' + M + '.' + (+m + 1) + '.0' + pr;
|
|
}
|
|
debug('xRange return', ret);
|
|
return ret;
|
|
});
|
|
}
|
|
function replaceStars(comp, options) {
|
|
debug('replaceStars', comp, options);
|
|
return comp.trim().replace(re[t.STAR], '');
|
|
}
|
|
function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
|
|
if (isX(fM)) {
|
|
from = '';
|
|
} else if (isX(fm)) {
|
|
from = '>=' + fM + '.0.0';
|
|
} else if (isX(fp)) {
|
|
from = '>=' + fM + '.' + fm + '.0';
|
|
} else {
|
|
from = '>=' + from;
|
|
}
|
|
if (isX(tM)) {
|
|
to = '';
|
|
} else if (isX(tm)) {
|
|
to = '<' + (+tM + 1) + '.0.0';
|
|
} else if (isX(tp)) {
|
|
to = '<' + tM + '.' + (+tm + 1) + '.0';
|
|
} else if (tpr) {
|
|
to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
|
|
} else {
|
|
to = '<=' + to;
|
|
}
|
|
return (from + ' ' + to).trim();
|
|
}
|
|
Range.prototype.test = function (version) {
|
|
if (!version) {
|
|
return false;
|
|
}
|
|
if (typeof version === 'string') {
|
|
try {
|
|
version = new SemVer(version, this.options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
}
|
|
for (var i = 0; i < this.set.length; i++) {
|
|
if (testSet(this.set[i], version, this.options)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
function testSet(set, version, options) {
|
|
for (var i = 0; i < set.length; i++) {
|
|
if (!set[i].test(version)) {
|
|
return false;
|
|
}
|
|
}
|
|
if (version.prerelease.length && !options.includePrerelease) {
|
|
for (i = 0; i < set.length; i++) {
|
|
debug(set[i].semver);
|
|
if (set[i].semver === ANY) {
|
|
continue;
|
|
}
|
|
if (set[i].semver.prerelease.length > 0) {
|
|
var allowed = set[i].semver;
|
|
if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
exports.satisfies = satisfies;
|
|
function satisfies(version, range, options) {
|
|
try {
|
|
range = new Range(range, options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
return range.test(version);
|
|
}
|
|
exports.maxSatisfying = maxSatisfying;
|
|
function maxSatisfying(versions, range, options) {
|
|
var max = null;
|
|
var maxSV = null;
|
|
try {
|
|
var rangeObj = new Range(range, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
versions.forEach(function (v) {
|
|
if (rangeObj.test(v)) {
|
|
if (!max || maxSV.compare(v) === -1) {
|
|
max = v;
|
|
maxSV = new SemVer(max, options);
|
|
}
|
|
}
|
|
});
|
|
return max;
|
|
}
|
|
exports.minSatisfying = minSatisfying;
|
|
function minSatisfying(versions, range, options) {
|
|
var min = null;
|
|
var minSV = null;
|
|
try {
|
|
var rangeObj = new Range(range, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
versions.forEach(function (v) {
|
|
if (rangeObj.test(v)) {
|
|
if (!min || minSV.compare(v) === 1) {
|
|
min = v;
|
|
minSV = new SemVer(min, options);
|
|
}
|
|
}
|
|
});
|
|
return min;
|
|
}
|
|
exports.minVersion = minVersion;
|
|
function minVersion(range, loose) {
|
|
range = new Range(range, loose);
|
|
var minver = new SemVer('0.0.0');
|
|
if (range.test(minver)) {
|
|
return minver;
|
|
}
|
|
minver = new SemVer('0.0.0-0');
|
|
if (range.test(minver)) {
|
|
return minver;
|
|
}
|
|
minver = null;
|
|
for (var i = 0; i < range.set.length; ++i) {
|
|
var comparators = range.set[i];
|
|
comparators.forEach(function (comparator) {
|
|
var compver = new SemVer(comparator.semver.version);
|
|
switch (comparator.operator) {
|
|
case '>':
|
|
if (compver.prerelease.length === 0) {
|
|
compver.patch++;
|
|
} else {
|
|
compver.prerelease.push(0);
|
|
}
|
|
compver.raw = compver.format();
|
|
case '':
|
|
case '>=':
|
|
if (!minver || gt(minver, compver)) {
|
|
minver = compver;
|
|
}
|
|
break;
|
|
case '<':
|
|
case '<=':
|
|
break;
|
|
default:
|
|
throw new Error('Unexpected operation: ' + comparator.operator);
|
|
}
|
|
});
|
|
}
|
|
if (minver && range.test(minver)) {
|
|
return minver;
|
|
}
|
|
return null;
|
|
}
|
|
exports.validRange = validRange;
|
|
function validRange(range, options) {
|
|
try {
|
|
return new Range(range, options).range || '*';
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.ltr = ltr;
|
|
function ltr(version, range, options) {
|
|
return outside(version, range, '<', options);
|
|
}
|
|
exports.gtr = gtr;
|
|
function gtr(version, range, options) {
|
|
return outside(version, range, '>', options);
|
|
}
|
|
exports.outside = outside;
|
|
function outside(version, range, hilo, options) {
|
|
version = new SemVer(version, options);
|
|
range = new Range(range, options);
|
|
var gtfn, ltefn, ltfn, comp, ecomp;
|
|
switch (hilo) {
|
|
case '>':
|
|
gtfn = gt;
|
|
ltefn = lte;
|
|
ltfn = lt;
|
|
comp = '>';
|
|
ecomp = '>=';
|
|
break;
|
|
case '<':
|
|
gtfn = lt;
|
|
ltefn = gte;
|
|
ltfn = gt;
|
|
comp = '<';
|
|
ecomp = '<=';
|
|
break;
|
|
default:
|
|
throw new TypeError('Must provide a hilo val of "<" or ">"');
|
|
}
|
|
if (satisfies(version, range, options)) {
|
|
return false;
|
|
}
|
|
for (var i = 0; i < range.set.length; ++i) {
|
|
var comparators = range.set[i];
|
|
var high = null;
|
|
var low = null;
|
|
comparators.forEach(function (comparator) {
|
|
if (comparator.semver === ANY) {
|
|
comparator = new Comparator('>=0.0.0');
|
|
}
|
|
high = high || comparator;
|
|
low = low || comparator;
|
|
if (gtfn(comparator.semver, high.semver, options)) {
|
|
high = comparator;
|
|
} else if (ltfn(comparator.semver, low.semver, options)) {
|
|
low = comparator;
|
|
}
|
|
});
|
|
if (high.operator === comp || high.operator === ecomp) {
|
|
return false;
|
|
}
|
|
if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
|
|
return false;
|
|
} else if (low.operator === ecomp && ltfn(version, low.semver)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
exports.prerelease = prerelease;
|
|
function prerelease(version, options) {
|
|
var parsed = parse(version, options);
|
|
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
}
|
|
exports.intersects = intersects;
|
|
function intersects(r1, r2, options) {
|
|
r1 = new Range(r1, options);
|
|
r2 = new Range(r2, options);
|
|
return r1.intersects(r2);
|
|
}
|
|
exports.coerce = coerce;
|
|
function coerce(version, options) {
|
|
if (version instanceof SemVer) {
|
|
return version;
|
|
}
|
|
if (typeof version === 'number') {
|
|
version = String(version);
|
|
}
|
|
if (typeof version !== 'string') {
|
|
return null;
|
|
}
|
|
options = options || {};
|
|
var match = null;
|
|
if (!options.rtl) {
|
|
match = version.match(re[t.COERCE]);
|
|
} else {
|
|
var next;
|
|
while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
|
|
if (!match || next.index + next[0].length !== match.index + match[0].length) {
|
|
match = next;
|
|
}
|
|
re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
|
|
}
|
|
re[t.COERCERTL].lastIndex = -1;
|
|
}
|
|
if (match === null) {
|
|
return null;
|
|
}
|
|
return parse(match[2] + '.' + (match[3] || '0') + '.' + (match[4] || '0'), options);
|
|
}
|
|
})(semver$c, semver$c.exports);
|
|
return semver$c.exports;
|
|
}
|
|
|
|
function bool$6(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var semver$b = bool$6(browser$1$1.env["BABEL_8_BREAKING"]) ? requireSemverBABEL_8_BREAKINGTrue() : requireSemver();
|
|
|
|
var cloneNode$6 = cloneNode$j,
|
|
interpreterDirective = interpreterDirective$1;
|
|
var errorVisitor = {
|
|
enter: function enter(path, state) {
|
|
var loc = path.node.loc;
|
|
if (loc) {
|
|
state.loc = loc;
|
|
path.stop();
|
|
}
|
|
}
|
|
};
|
|
var File = function () {
|
|
function File(options, _ref) {
|
|
var _this = this;
|
|
var code = _ref.code,
|
|
ast = _ref.ast,
|
|
inputMap = _ref.inputMap;
|
|
this._map = new Map();
|
|
this.opts = void 0;
|
|
this.declarations = {};
|
|
this.path = void 0;
|
|
this.ast = void 0;
|
|
this.scope = void 0;
|
|
this.metadata = {};
|
|
this.code = "";
|
|
this.inputMap = void 0;
|
|
this.hub = {
|
|
file: this,
|
|
getCode: function getCode() {
|
|
return _this.code;
|
|
},
|
|
getScope: function getScope() {
|
|
return _this.scope;
|
|
},
|
|
addHelper: this.addHelper.bind(this),
|
|
buildError: this.buildCodeFrameError.bind(this)
|
|
};
|
|
this.opts = options;
|
|
this.code = code;
|
|
this.ast = ast;
|
|
this.inputMap = inputMap;
|
|
this.path = NodePath.get({
|
|
hub: this.hub,
|
|
parentPath: null,
|
|
parent: this.ast,
|
|
container: this.ast,
|
|
key: "program"
|
|
}).setContext();
|
|
this.scope = this.path.scope;
|
|
}
|
|
var _proto = File.prototype;
|
|
_proto.set = function set(key, val) {
|
|
if (key === "helpersNamespace") {
|
|
throw new Error("Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility." + "If you are using @babel/plugin-external-helpers you will need to use a newer " + "version than the one you currently have installed. " + "If you have your own implementation, you'll want to explore using 'helperGenerator' " + "alongside 'file.availableHelper()'.");
|
|
}
|
|
this._map.set(key, val);
|
|
};
|
|
_proto.get = function get(key) {
|
|
return this._map.get(key);
|
|
};
|
|
_proto.has = function has(key) {
|
|
return this._map.has(key);
|
|
};
|
|
_proto.getModuleName = function getModuleName$1() {
|
|
return getModuleName(this.opts, this.opts);
|
|
};
|
|
_proto.addImport = function addImport() {
|
|
throw new Error("This API has been removed. If you're looking for this " + "functionality in Babel 7, you should import the " + "'@babel/helper-module-imports' module and use the functions exposed " + " from that module, such as 'addNamed' or 'addDefault'.");
|
|
};
|
|
_proto.availableHelper = function availableHelper(name, versionRange) {
|
|
var minVersion$1;
|
|
try {
|
|
minVersion$1 = minVersion(name);
|
|
} catch (err) {
|
|
if (err.code !== "BABEL_HELPER_UNKNOWN") throw err;
|
|
return false;
|
|
}
|
|
if (typeof versionRange !== "string") return true;
|
|
if (semver$b.valid(versionRange)) versionRange = "^" + versionRange;
|
|
return !semver$b.intersects("<" + minVersion$1, versionRange) && !semver$b.intersects(">=8.0.0", versionRange);
|
|
};
|
|
_proto.addHelper = function addHelper(name) {
|
|
var _this2 = this;
|
|
var declar = this.declarations[name];
|
|
if (declar) return cloneNode$6(declar);
|
|
var generator = this.get("helperGenerator");
|
|
if (generator) {
|
|
var res = generator(name);
|
|
if (res) return res;
|
|
}
|
|
ensure(name, File);
|
|
var uid = this.declarations[name] = this.scope.generateUidIdentifier(name);
|
|
var dependencies = {};
|
|
for (var _iterator = _createForOfIteratorHelperLoose(getDependencies(name)), _step; !(_step = _iterator()).done;) {
|
|
var dep = _step.value;
|
|
dependencies[dep] = this.addHelper(dep);
|
|
}
|
|
var _helpers$get = get$1(name, function (dep) {
|
|
return dependencies[dep];
|
|
}, uid, Object.keys(this.scope.getAllBindings())),
|
|
nodes = _helpers$get.nodes,
|
|
globals = _helpers$get.globals;
|
|
globals.forEach(function (name) {
|
|
if (_this2.path.scope.hasBinding(name, true)) {
|
|
_this2.path.scope.rename(name);
|
|
}
|
|
});
|
|
nodes.forEach(function (node) {
|
|
node._compact = true;
|
|
});
|
|
this.path.unshiftContainer("body", nodes);
|
|
this.path.get("body").forEach(function (path) {
|
|
if (nodes.indexOf(path.node) === -1) return;
|
|
if (path.isVariableDeclaration()) _this2.scope.registerDeclaration(path);
|
|
});
|
|
return uid;
|
|
};
|
|
_proto.addTemplateObject = function addTemplateObject() {
|
|
throw new Error("This function has been moved into the template literal transform itself.");
|
|
};
|
|
_proto.buildCodeFrameError = function buildCodeFrameError(node, msg, _Error) {
|
|
if (_Error === void 0) {
|
|
_Error = SyntaxError;
|
|
}
|
|
var loc = node && (node.loc || node._loc);
|
|
if (!loc && node) {
|
|
var state = {
|
|
loc: null
|
|
};
|
|
traverse(node, errorVisitor, this.scope, state);
|
|
loc = state.loc;
|
|
var txt = "This is an error on an internal node. Probably an internal error.";
|
|
if (loc) txt += " Location has been estimated.";
|
|
msg += " (" + txt + ")";
|
|
}
|
|
if (loc) {
|
|
var _this$opts$highlightC = this.opts.highlightCode,
|
|
highlightCode = _this$opts$highlightC === void 0 ? true : _this$opts$highlightC;
|
|
msg += "\n" + codeFrameColumns(this.code, {
|
|
start: {
|
|
line: loc.start.line,
|
|
column: loc.start.column + 1
|
|
},
|
|
end: loc.end && loc.start.line === loc.end.line ? {
|
|
line: loc.end.line,
|
|
column: loc.end.column + 1
|
|
} : undefined
|
|
}, {
|
|
highlightCode: highlightCode
|
|
});
|
|
}
|
|
return new _Error(msg);
|
|
};
|
|
_createClass(File, [{
|
|
key: "shebang",
|
|
get: function get() {
|
|
var interpreter = this.path.node.interpreter;
|
|
return interpreter ? interpreter.value : "";
|
|
},
|
|
set: function set(value) {
|
|
if (value) {
|
|
this.path.get("interpreter").replaceWith(interpreterDirective(value));
|
|
} else {
|
|
this.path.get("interpreter").remove();
|
|
}
|
|
}
|
|
}]);
|
|
return File;
|
|
}();
|
|
|
|
var _templateObject$r;
|
|
var arrayExpression = arrayExpression$1,
|
|
assignmentExpression$5 = assignmentExpression$d,
|
|
binaryExpression$2 = binaryExpression$5,
|
|
blockStatement$1 = blockStatement$6,
|
|
callExpression$6 = callExpression$e,
|
|
cloneNode$5 = cloneNode$j,
|
|
conditionalExpression$2 = conditionalExpression$4,
|
|
exportNamedDeclaration = exportNamedDeclaration$2,
|
|
exportSpecifier = exportSpecifier$2,
|
|
expressionStatement = expressionStatement$a,
|
|
functionExpression$1 = functionExpression$2,
|
|
identifier$4 = identifier$i,
|
|
memberExpression$6 = memberExpression$c,
|
|
objectExpression$1 = objectExpression$3,
|
|
program = program$3,
|
|
stringLiteral$2 = stringLiteral$8,
|
|
unaryExpression$1 = unaryExpression$7,
|
|
variableDeclaration$1 = variableDeclaration$8,
|
|
variableDeclarator$1 = variableDeclarator$8;
|
|
var buildUmdWrapper = function buildUmdWrapper(replacements) {
|
|
return template$2.statement(_templateObject$r || (_templateObject$r = _taggedTemplateLiteralLoose(["\n (function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === \"object\") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n "])))(replacements);
|
|
};
|
|
function buildGlobal(allowlist) {
|
|
var namespace = identifier$4("babelHelpers");
|
|
var body = [];
|
|
var container = functionExpression$1(null, [identifier$4("global")], blockStatement$1(body));
|
|
var tree = program([expressionStatement(callExpression$6(container, [conditionalExpression$2(binaryExpression$2("===", unaryExpression$1("typeof", identifier$4("global")), stringLiteral$2("undefined")), identifier$4("self"), identifier$4("global"))]))]);
|
|
body.push(variableDeclaration$1("var", [variableDeclarator$1(namespace, assignmentExpression$5("=", memberExpression$6(identifier$4("global"), namespace), objectExpression$1([])))]));
|
|
buildHelpers(body, namespace, allowlist);
|
|
return tree;
|
|
}
|
|
function buildModule(allowlist) {
|
|
var body = [];
|
|
var refs = buildHelpers(body, null, allowlist);
|
|
body.unshift(exportNamedDeclaration(null, Object.keys(refs).map(function (name) {
|
|
return exportSpecifier(cloneNode$5(refs[name]), identifier$4(name));
|
|
})));
|
|
return program(body, [], "module");
|
|
}
|
|
function buildUmd(allowlist) {
|
|
var namespace = identifier$4("babelHelpers");
|
|
var body = [];
|
|
body.push(variableDeclaration$1("var", [variableDeclarator$1(namespace, identifier$4("global"))]));
|
|
buildHelpers(body, namespace, allowlist);
|
|
return program([buildUmdWrapper({
|
|
FACTORY_PARAMETERS: identifier$4("global"),
|
|
BROWSER_ARGUMENTS: assignmentExpression$5("=", memberExpression$6(identifier$4("root"), namespace), objectExpression$1([])),
|
|
COMMON_ARGUMENTS: identifier$4("exports"),
|
|
AMD_ARGUMENTS: arrayExpression([stringLiteral$2("exports")]),
|
|
FACTORY_BODY: body,
|
|
UMD_ROOT: identifier$4("this")
|
|
})]);
|
|
}
|
|
function buildVar(allowlist) {
|
|
var namespace = identifier$4("babelHelpers");
|
|
var body = [];
|
|
body.push(variableDeclaration$1("var", [variableDeclarator$1(namespace, objectExpression$1([]))]));
|
|
var tree = program(body);
|
|
buildHelpers(body, namespace, allowlist);
|
|
body.push(expressionStatement(namespace));
|
|
return tree;
|
|
}
|
|
function buildHelpers(body, namespace, allowlist) {
|
|
var getHelperReference = function getHelperReference(name) {
|
|
return namespace ? memberExpression$6(namespace, identifier$4(name)) : identifier$4("_" + name);
|
|
};
|
|
var refs = {};
|
|
list.forEach(function (name) {
|
|
if (allowlist && allowlist.indexOf(name) < 0) return;
|
|
var ref = refs[name] = getHelperReference(name);
|
|
ensure(name, File);
|
|
var _helpers$get = get$1(name, getHelperReference, ref),
|
|
nodes = _helpers$get.nodes;
|
|
body.push.apply(body, _toConsumableArray(nodes));
|
|
});
|
|
return refs;
|
|
}
|
|
function babelBuildExternalHelpers (allowlist, outputType) {
|
|
if (outputType === void 0) {
|
|
outputType = "global";
|
|
}
|
|
var tree;
|
|
var build = {
|
|
global: buildGlobal,
|
|
module: buildModule,
|
|
umd: buildUmd,
|
|
"var": buildVar
|
|
}[outputType];
|
|
if (build) {
|
|
tree = build(allowlist);
|
|
} else {
|
|
throw new Error("Unsupported output type " + outputType);
|
|
}
|
|
return generate$1(tree).code;
|
|
}
|
|
|
|
var _marked$8 = _regeneratorRuntime().mark(findPackageData),
|
|
_marked2$6 = _regeneratorRuntime().mark(findRelativeConfig),
|
|
_marked3$4 = _regeneratorRuntime().mark(findRootConfig),
|
|
_marked4$2 = _regeneratorRuntime().mark(loadConfig$1),
|
|
_marked5 = _regeneratorRuntime().mark(resolveShowConfigPath);
|
|
function findConfigUpwards(rootDir) {
|
|
return null;
|
|
}
|
|
function findPackageData(filepath) {
|
|
return _regeneratorRuntime().wrap(function findPackageData$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.abrupt("return", {
|
|
filepath: filepath,
|
|
directories: [],
|
|
pkg: null,
|
|
isPackage: false
|
|
});
|
|
case 1:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _marked$8);
|
|
}
|
|
function findRelativeConfig(pkgData, envName, caller) {
|
|
return _regeneratorRuntime().wrap(function findRelativeConfig$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
return _context2.abrupt("return", {
|
|
config: null,
|
|
ignore: null
|
|
});
|
|
case 1:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _marked2$6);
|
|
}
|
|
function findRootConfig(dirname, envName, caller) {
|
|
return _regeneratorRuntime().wrap(function findRootConfig$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
return _context3.abrupt("return", null);
|
|
case 1:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, _marked3$4);
|
|
}
|
|
function loadConfig$1(name, dirname, envName, caller) {
|
|
return _regeneratorRuntime().wrap(function loadConfig$(_context4) {
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
case 0:
|
|
throw new Error("Cannot load " + name + " relative to " + dirname + " in a browser");
|
|
case 1:
|
|
case "end":
|
|
return _context4.stop();
|
|
}
|
|
}, _marked4$2);
|
|
}
|
|
function resolveShowConfigPath(dirname) {
|
|
return _regeneratorRuntime().wrap(function resolveShowConfigPath$(_context5) {
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
case 0:
|
|
return _context5.abrupt("return", null);
|
|
case 1:
|
|
case "end":
|
|
return _context5.stop();
|
|
}
|
|
}, _marked5);
|
|
}
|
|
var ROOT_CONFIG_FILENAMES = [];
|
|
function resolvePlugin(name, dirname) {
|
|
return null;
|
|
}
|
|
function resolvePreset(name, dirname) {
|
|
return null;
|
|
}
|
|
function loadPlugin(name, dirname) {
|
|
throw new Error("Cannot load plugin " + name + " relative to " + dirname + " in a browser");
|
|
}
|
|
function loadPreset(name, dirname) {
|
|
throw new Error("Cannot load preset " + name + " relative to " + dirname + " in a browser");
|
|
}
|
|
|
|
function getEnv(defaultValue) {
|
|
if (defaultValue === void 0) {
|
|
defaultValue = "development";
|
|
}
|
|
return browser$1$1.env.BABEL_ENV || "production" || defaultValue;
|
|
}
|
|
|
|
var GENSYNC_START = Symbol["for"]("gensync:v1:start");
|
|
var GENSYNC_SUSPEND = Symbol["for"]("gensync:v1:suspend");
|
|
var GENSYNC_EXPECTED_START = "GENSYNC_EXPECTED_START";
|
|
var GENSYNC_EXPECTED_SUSPEND = "GENSYNC_EXPECTED_SUSPEND";
|
|
var GENSYNC_OPTIONS_ERROR = "GENSYNC_OPTIONS_ERROR";
|
|
var GENSYNC_RACE_NONEMPTY = "GENSYNC_RACE_NONEMPTY";
|
|
var GENSYNC_ERRBACK_NO_CALLBACK = "GENSYNC_ERRBACK_NO_CALLBACK";
|
|
var gensync = Object.assign(function gensync(optsOrFn) {
|
|
var genFn = optsOrFn;
|
|
if (typeof optsOrFn !== "function") {
|
|
genFn = newGenerator(optsOrFn);
|
|
} else {
|
|
genFn = wrapGenerator(optsOrFn);
|
|
}
|
|
return Object.assign(genFn, makeFunctionAPI(genFn));
|
|
}, {
|
|
all: buildOperation({
|
|
name: "all",
|
|
arity: 1,
|
|
sync: function sync(args) {
|
|
var items = Array.from(args[0]);
|
|
return items.map(function (item) {
|
|
return evaluateSync(item);
|
|
});
|
|
},
|
|
async: function async(args, resolve, reject) {
|
|
var items = Array.from(args[0]);
|
|
if (items.length === 0) {
|
|
Promise.resolve().then(function () {
|
|
return resolve([]);
|
|
});
|
|
return;
|
|
}
|
|
var count = 0;
|
|
var results = items.map(function () {
|
|
return undefined;
|
|
});
|
|
items.forEach(function (item, i) {
|
|
evaluateAsync(item, function (val) {
|
|
results[i] = val;
|
|
count += 1;
|
|
if (count === results.length) resolve(results);
|
|
}, reject);
|
|
});
|
|
}
|
|
}),
|
|
race: buildOperation({
|
|
name: "race",
|
|
arity: 1,
|
|
sync: function sync(args) {
|
|
var items = Array.from(args[0]);
|
|
if (items.length === 0) {
|
|
throw makeError("Must race at least 1 item", GENSYNC_RACE_NONEMPTY);
|
|
}
|
|
return evaluateSync(items[0]);
|
|
},
|
|
async: function async(args, resolve, reject) {
|
|
var items = Array.from(args[0]);
|
|
if (items.length === 0) {
|
|
throw makeError("Must race at least 1 item", GENSYNC_RACE_NONEMPTY);
|
|
}
|
|
for (var _i = 0, _items = items; _i < _items.length; _i++) {
|
|
var item = _items[_i];
|
|
evaluateAsync(item, resolve, reject);
|
|
}
|
|
}
|
|
})
|
|
});
|
|
function makeFunctionAPI(genFn) {
|
|
var fns = {
|
|
sync: function sync() {
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
return evaluateSync(genFn.apply(this, args));
|
|
},
|
|
async: function async() {
|
|
var _this = this;
|
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
args[_key2] = arguments[_key2];
|
|
}
|
|
return new Promise(function (resolve, reject) {
|
|
evaluateAsync(genFn.apply(_this, args), resolve, reject);
|
|
});
|
|
},
|
|
errback: function errback() {
|
|
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
args[_key3] = arguments[_key3];
|
|
}
|
|
var cb = args.pop();
|
|
if (typeof cb !== "function") {
|
|
throw makeError("Asynchronous function called without callback", GENSYNC_ERRBACK_NO_CALLBACK);
|
|
}
|
|
var gen;
|
|
try {
|
|
gen = genFn.apply(this, args);
|
|
} catch (err) {
|
|
cb(err);
|
|
return;
|
|
}
|
|
evaluateAsync(gen, function (val) {
|
|
return cb(undefined, val);
|
|
}, function (err) {
|
|
return cb(err);
|
|
});
|
|
}
|
|
};
|
|
return fns;
|
|
}
|
|
function assertTypeof(type, name, value, allowUndefined) {
|
|
if (typeof value === type || allowUndefined && typeof value === "undefined") {
|
|
return;
|
|
}
|
|
var msg;
|
|
if (allowUndefined) {
|
|
msg = "Expected opts." + name + " to be either a " + type + ", or undefined.";
|
|
} else {
|
|
msg = "Expected opts." + name + " to be a " + type + ".";
|
|
}
|
|
throw makeError(msg, GENSYNC_OPTIONS_ERROR);
|
|
}
|
|
function makeError(msg, code) {
|
|
return Object.assign(new Error(msg), {
|
|
code: code
|
|
});
|
|
}
|
|
function newGenerator(_ref) {
|
|
var name = _ref.name,
|
|
arity = _ref.arity,
|
|
_sync = _ref.sync,
|
|
_async = _ref.async,
|
|
errback = _ref.errback;
|
|
assertTypeof("string", "name", name, true);
|
|
assertTypeof("number", "arity", arity, true);
|
|
assertTypeof("function", "sync", _sync);
|
|
assertTypeof("function", "async", _async, true);
|
|
assertTypeof("function", "errback", errback, true);
|
|
if (_async && errback) {
|
|
throw makeError("Expected one of either opts.async or opts.errback, but got _both_.", GENSYNC_OPTIONS_ERROR);
|
|
}
|
|
if (typeof name !== "string") {
|
|
var fnName;
|
|
if (errback && errback.name && errback.name !== "errback") {
|
|
fnName = errback.name;
|
|
}
|
|
if (_async && _async.name && _async.name !== "async") {
|
|
fnName = _async.name.replace(/Async$/, "");
|
|
}
|
|
if (_sync && _sync.name && _sync.name !== "sync") {
|
|
fnName = _sync.name.replace(/Sync$/, "");
|
|
}
|
|
if (typeof fnName === "string") {
|
|
name = fnName;
|
|
}
|
|
}
|
|
if (typeof arity !== "number") {
|
|
arity = _sync.length;
|
|
}
|
|
return buildOperation({
|
|
name: name,
|
|
arity: arity,
|
|
sync: function sync(args) {
|
|
return _sync.apply(this, args);
|
|
},
|
|
async: function async(args, resolve, reject) {
|
|
if (_async) {
|
|
_async.apply(this, args).then(resolve, reject);
|
|
} else if (errback) {
|
|
errback.call.apply(errback, [this].concat(_toConsumableArray(args), [function (err, value) {
|
|
if (err == null) resolve(value);else reject(err);
|
|
}]));
|
|
} else {
|
|
resolve(_sync.apply(this, args));
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function wrapGenerator(genFn) {
|
|
return setFunctionMetadata(genFn.name, genFn.length, function () {
|
|
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
args[_key4] = arguments[_key4];
|
|
}
|
|
return genFn.apply(this, args);
|
|
});
|
|
}
|
|
function buildOperation(_ref2) {
|
|
var name = _ref2.name,
|
|
arity = _ref2.arity,
|
|
sync = _ref2.sync,
|
|
async = _ref2.async;
|
|
return setFunctionMetadata(name, arity, _regeneratorRuntime().mark(function _callee() {
|
|
var resume,
|
|
_len5,
|
|
args,
|
|
_key5,
|
|
res,
|
|
result,
|
|
_args = arguments;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return GENSYNC_START;
|
|
case 2:
|
|
resume = _context.sent;
|
|
for (_len5 = _args.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
args[_key5] = _args[_key5];
|
|
}
|
|
if (resume) {
|
|
_context.next = 7;
|
|
break;
|
|
}
|
|
res = sync.call(this, args);
|
|
return _context.abrupt("return", res);
|
|
case 7:
|
|
try {
|
|
async.call(this, args, function (value) {
|
|
if (result) return;
|
|
result = {
|
|
value: value
|
|
};
|
|
resume();
|
|
}, function (err) {
|
|
if (result) return;
|
|
result = {
|
|
err: err
|
|
};
|
|
resume();
|
|
});
|
|
} catch (err) {
|
|
result = {
|
|
err: err
|
|
};
|
|
resume();
|
|
}
|
|
_context.next = 10;
|
|
return GENSYNC_SUSPEND;
|
|
case 10:
|
|
if (!result.hasOwnProperty("err")) {
|
|
_context.next = 12;
|
|
break;
|
|
}
|
|
throw result.err;
|
|
case 12:
|
|
return _context.abrupt("return", result.value);
|
|
case 13:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee, this);
|
|
}));
|
|
}
|
|
function evaluateSync(gen) {
|
|
var value;
|
|
while (!(_gen$next = gen.next(), value = _gen$next.value, _gen$next).done) {
|
|
var _gen$next;
|
|
assertStart(value, gen);
|
|
}
|
|
return value;
|
|
}
|
|
function evaluateAsync(gen, resolve, reject) {
|
|
(function step() {
|
|
try {
|
|
var value;
|
|
var _loop = function _loop() {
|
|
assertStart(value, gen);
|
|
var sync = true;
|
|
var didSyncResume = false;
|
|
var out = gen.next(function () {
|
|
if (sync) {
|
|
didSyncResume = true;
|
|
} else {
|
|
step();
|
|
}
|
|
});
|
|
sync = false;
|
|
assertSuspend(out, gen);
|
|
if (!didSyncResume) {
|
|
return {
|
|
v: void 0
|
|
};
|
|
}
|
|
};
|
|
while (!(_gen$next2 = gen.next(), value = _gen$next2.value, _gen$next2).done) {
|
|
var _gen$next2;
|
|
var _ret = _loop();
|
|
if (typeof _ret === "object") return _ret.v;
|
|
}
|
|
return resolve(value);
|
|
} catch (err) {
|
|
return reject(err);
|
|
}
|
|
})();
|
|
}
|
|
function assertStart(value, gen) {
|
|
if (value === GENSYNC_START) return;
|
|
throwError(gen, makeError("Got unexpected yielded value in gensync generator: " + JSON.stringify(value) + ". Did you perhaps mean to use 'yield*' instead of 'yield'?", GENSYNC_EXPECTED_START));
|
|
}
|
|
function assertSuspend(_ref3, gen) {
|
|
var value = _ref3.value,
|
|
done = _ref3.done;
|
|
if (!done && value === GENSYNC_SUSPEND) return;
|
|
throwError(gen, makeError(done ? "Unexpected generator completion. If you get this, it is probably a gensync bug." : "Expected GENSYNC_SUSPEND, got " + JSON.stringify(value) + ". If you get this, it is probably a gensync bug.", GENSYNC_EXPECTED_SUSPEND));
|
|
}
|
|
function throwError(gen, err) {
|
|
if (gen["throw"]) gen["throw"](err);
|
|
throw err;
|
|
}
|
|
function setFunctionMetadata(name, arity, fn) {
|
|
if (typeof name === "string") {
|
|
var nameDesc = Object.getOwnPropertyDescriptor(fn, "name");
|
|
if (!nameDesc || nameDesc.configurable) {
|
|
Object.defineProperty(fn, "name", Object.assign(nameDesc || {}, {
|
|
configurable: true,
|
|
value: name
|
|
}));
|
|
}
|
|
}
|
|
if (typeof arity === "number") {
|
|
var lengthDesc = Object.getOwnPropertyDescriptor(fn, "length");
|
|
if (!lengthDesc || lengthDesc.configurable) {
|
|
Object.defineProperty(fn, "length", Object.assign(lengthDesc || {}, {
|
|
configurable: true,
|
|
value: arity
|
|
}));
|
|
}
|
|
}
|
|
return fn;
|
|
}
|
|
|
|
var runGenerator = gensync(_regeneratorRuntime().mark(function _callee(item) {
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.delegateYield(item, "t0", 1);
|
|
case 1:
|
|
return _context.abrupt("return", _context.t0);
|
|
case 2:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
}));
|
|
var isAsync = gensync({
|
|
sync: function sync() {
|
|
return false;
|
|
},
|
|
errback: function errback(cb) {
|
|
return cb(null, true);
|
|
}
|
|
});
|
|
function maybeAsync(fn, message) {
|
|
return gensync({
|
|
sync: function sync() {
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
var result = fn.apply(this, args);
|
|
if (isThenable$1(result)) throw new Error(message);
|
|
return result;
|
|
},
|
|
async: function async() {
|
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
args[_key2] = arguments[_key2];
|
|
}
|
|
return Promise.resolve(fn.apply(this, args));
|
|
}
|
|
});
|
|
}
|
|
var withKind = gensync({
|
|
sync: function sync(cb) {
|
|
return cb("sync");
|
|
},
|
|
async: function () {
|
|
var _async = _asyncToGenerator(_regeneratorRuntime().mark(function _callee2(cb) {
|
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
return _context2.abrupt("return", cb("async"));
|
|
case 1:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _callee2);
|
|
}));
|
|
function async(_x) {
|
|
return _async.apply(this, arguments);
|
|
}
|
|
return async;
|
|
}()
|
|
});
|
|
function forwardAsync(action, cb) {
|
|
var g = gensync(action);
|
|
return withKind(function (kind) {
|
|
var adapted = g[kind];
|
|
return cb(adapted);
|
|
});
|
|
}
|
|
var onFirstPause = gensync({
|
|
name: "onFirstPause",
|
|
arity: 2,
|
|
sync: function sync(item) {
|
|
return runGenerator.sync(item);
|
|
},
|
|
errback: function errback(item, firstPause, cb) {
|
|
var completed = false;
|
|
runGenerator.errback(item, function (err, value) {
|
|
completed = true;
|
|
cb(err, value);
|
|
});
|
|
if (!completed) {
|
|
firstPause();
|
|
}
|
|
}
|
|
});
|
|
var waitFor = gensync({
|
|
sync: function sync(x) {
|
|
return x;
|
|
},
|
|
async: function () {
|
|
var _async2 = _asyncToGenerator(_regeneratorRuntime().mark(function _callee3(x) {
|
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
return _context3.abrupt("return", x);
|
|
case 1:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, _callee3);
|
|
}));
|
|
function async(_x2) {
|
|
return _async2.apply(this, arguments);
|
|
}
|
|
return async;
|
|
}()
|
|
});
|
|
function isThenable$1(val) {
|
|
return !!val && (typeof val === "object" || typeof val === "function") && !!val.then && typeof val.then === "function";
|
|
}
|
|
|
|
function mergeOptions(target, source) {
|
|
for (var _i = 0, _Object$keys = Object.keys(source); _i < _Object$keys.length; _i++) {
|
|
var k = _Object$keys[_i];
|
|
if ((k === "parserOpts" || k === "generatorOpts" || k === "assumptions") && source[k]) {
|
|
var parserOpts = source[k];
|
|
var targetObj = target[k] || (target[k] = {});
|
|
mergeDefaultFields(targetObj, parserOpts);
|
|
} else {
|
|
var val = source[k];
|
|
if (val !== undefined) target[k] = val;
|
|
}
|
|
}
|
|
}
|
|
function mergeDefaultFields(target, source) {
|
|
for (var _i2 = 0, _arr = Object.keys(source); _i2 < _arr.length; _i2++) {
|
|
var k = _arr[_i2];
|
|
var val = source[k];
|
|
if (val !== undefined) target[k] = val;
|
|
}
|
|
}
|
|
function isIterableIterator(value) {
|
|
return !!value && typeof value.next === "function" && typeof value[Symbol.iterator] === "function";
|
|
}
|
|
|
|
function finalize(deepArr) {
|
|
return Object.freeze(deepArr);
|
|
}
|
|
function flattenToSet(arr) {
|
|
var result = new Set();
|
|
var stack = [arr];
|
|
while (stack.length > 0) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(stack.pop()), _step; !(_step = _iterator()).done;) {
|
|
var el = _step.value;
|
|
if (Array.isArray(el)) stack.push(el);else result.add(el);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
var Plugin = _createClass(function Plugin(plugin, options, key, externalDependencies) {
|
|
if (externalDependencies === void 0) {
|
|
externalDependencies = finalize([]);
|
|
}
|
|
this.key = void 0;
|
|
this.manipulateOptions = void 0;
|
|
this.post = void 0;
|
|
this.pre = void 0;
|
|
this.visitor = void 0;
|
|
this.parserOverride = void 0;
|
|
this.generatorOverride = void 0;
|
|
this.options = void 0;
|
|
this.externalDependencies = void 0;
|
|
this.key = plugin.name || key;
|
|
this.manipulateOptions = plugin.manipulateOptions;
|
|
this.post = plugin.post;
|
|
this.pre = plugin.pre;
|
|
this.visitor = plugin.visitor || {};
|
|
this.parserOverride = plugin.parserOverride;
|
|
this.generatorOverride = plugin.generatorOverride;
|
|
this.options = options;
|
|
this.externalDependencies = externalDependencies;
|
|
});
|
|
|
|
function once(fn) {
|
|
var result;
|
|
var resultP;
|
|
return _regeneratorRuntime().mark(function _callee() {
|
|
var resolve, reject;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
if (!result) {
|
|
_context.next = 2;
|
|
break;
|
|
}
|
|
return _context.abrupt("return", result);
|
|
case 2:
|
|
return _context.delegateYield(isAsync(), "t0", 3);
|
|
case 3:
|
|
if (_context.t0) {
|
|
_context.next = 6;
|
|
break;
|
|
}
|
|
return _context.delegateYield(fn(), "t1", 5);
|
|
case 5:
|
|
return _context.abrupt("return", result = _context.t1);
|
|
case 6:
|
|
if (!resultP) {
|
|
_context.next = 9;
|
|
break;
|
|
}
|
|
return _context.delegateYield(waitFor(resultP), "t2", 8);
|
|
case 8:
|
|
return _context.abrupt("return", _context.t2);
|
|
case 9:
|
|
resultP = new Promise(function (res, rej) {
|
|
resolve = res;
|
|
reject = rej;
|
|
});
|
|
_context.prev = 10;
|
|
return _context.delegateYield(fn(), "t3", 12);
|
|
case 12:
|
|
result = _context.t3;
|
|
resultP = null;
|
|
resolve(result);
|
|
return _context.abrupt("return", result);
|
|
case 18:
|
|
_context.prev = 18;
|
|
_context.t4 = _context["catch"](10);
|
|
reject(_context.t4);
|
|
throw _context.t4;
|
|
case 22:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee, null, [[10, 18]]);
|
|
});
|
|
}
|
|
|
|
var _marked$7 = _regeneratorRuntime().mark(genTrue),
|
|
_marked2$5 = _regeneratorRuntime().mark(getCachedValue),
|
|
_marked3$3 = _regeneratorRuntime().mark(getCachedValueOrWait);
|
|
var synchronize = function synchronize(gen) {
|
|
return gensync(gen).sync;
|
|
};
|
|
function genTrue() {
|
|
return _regeneratorRuntime().wrap(function genTrue$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.abrupt("return", true);
|
|
case 1:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _marked$7);
|
|
}
|
|
function makeWeakCache(handler) {
|
|
return makeCachedFunction(WeakMap, handler);
|
|
}
|
|
function makeWeakCacheSync(handler) {
|
|
return synchronize(makeWeakCache(handler));
|
|
}
|
|
function makeStrongCache(handler) {
|
|
return makeCachedFunction(Map, handler);
|
|
}
|
|
function makeStrongCacheSync(handler) {
|
|
return synchronize(makeStrongCache(handler));
|
|
}
|
|
function makeCachedFunction(CallCache, handler) {
|
|
var callCacheSync = new CallCache();
|
|
var callCacheAsync = new CallCache();
|
|
var futureCache = new CallCache();
|
|
return _regeneratorRuntime().mark(function cachedFunction(arg, data) {
|
|
var asyncContext, callCache, cached, cache, handlerResult, finishLock, value;
|
|
return _regeneratorRuntime().wrap(function cachedFunction$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
return _context2.delegateYield(isAsync(), "t0", 1);
|
|
case 1:
|
|
asyncContext = _context2.t0;
|
|
callCache = asyncContext ? callCacheAsync : callCacheSync;
|
|
return _context2.delegateYield(getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data), "t1", 4);
|
|
case 4:
|
|
cached = _context2.t1;
|
|
if (!cached.valid) {
|
|
_context2.next = 7;
|
|
break;
|
|
}
|
|
return _context2.abrupt("return", cached.value);
|
|
case 7:
|
|
cache = new CacheConfigurator(data);
|
|
handlerResult = handler(arg, cache);
|
|
if (!isIterableIterator(handlerResult)) {
|
|
_context2.next = 14;
|
|
break;
|
|
}
|
|
return _context2.delegateYield(onFirstPause(handlerResult, function () {
|
|
finishLock = setupAsyncLocks(cache, futureCache, arg);
|
|
}), "t2", 11);
|
|
case 11:
|
|
value = _context2.t2;
|
|
_context2.next = 15;
|
|
break;
|
|
case 14:
|
|
value = handlerResult;
|
|
case 15:
|
|
updateFunctionCache(callCache, cache, arg, value);
|
|
if (finishLock) {
|
|
futureCache["delete"](arg);
|
|
finishLock.release(value);
|
|
}
|
|
return _context2.abrupt("return", value);
|
|
case 18:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, cachedFunction);
|
|
});
|
|
}
|
|
function getCachedValue(cache, arg, data) {
|
|
var cachedValue, _iterator, _step, _step$value, _value, valid;
|
|
return _regeneratorRuntime().wrap(function getCachedValue$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
cachedValue = cache.get(arg);
|
|
if (!cachedValue) {
|
|
_context3.next = 10;
|
|
break;
|
|
}
|
|
_iterator = _createForOfIteratorHelperLoose(cachedValue);
|
|
case 3:
|
|
if ((_step = _iterator()).done) {
|
|
_context3.next = 10;
|
|
break;
|
|
}
|
|
_step$value = _step.value, _value = _step$value.value, valid = _step$value.valid;
|
|
return _context3.delegateYield(valid(data), "t0", 6);
|
|
case 6:
|
|
if (!_context3.t0) {
|
|
_context3.next = 8;
|
|
break;
|
|
}
|
|
return _context3.abrupt("return", {
|
|
valid: true,
|
|
value: _value
|
|
});
|
|
case 8:
|
|
_context3.next = 3;
|
|
break;
|
|
case 10:
|
|
return _context3.abrupt("return", {
|
|
valid: false,
|
|
value: null
|
|
});
|
|
case 11:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, _marked2$5);
|
|
}
|
|
function getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data) {
|
|
var cached, _cached, _value2;
|
|
return _regeneratorRuntime().wrap(function getCachedValueOrWait$(_context4) {
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
case 0:
|
|
return _context4.delegateYield(getCachedValue(callCache, arg, data), "t0", 1);
|
|
case 1:
|
|
cached = _context4.t0;
|
|
if (!cached.valid) {
|
|
_context4.next = 4;
|
|
break;
|
|
}
|
|
return _context4.abrupt("return", cached);
|
|
case 4:
|
|
if (!asyncContext) {
|
|
_context4.next = 11;
|
|
break;
|
|
}
|
|
return _context4.delegateYield(getCachedValue(futureCache, arg, data), "t1", 6);
|
|
case 6:
|
|
_cached = _context4.t1;
|
|
if (!_cached.valid) {
|
|
_context4.next = 11;
|
|
break;
|
|
}
|
|
return _context4.delegateYield(waitFor(_cached.value.promise), "t2", 9);
|
|
case 9:
|
|
_value2 = _context4.t2;
|
|
return _context4.abrupt("return", {
|
|
valid: true,
|
|
value: _value2
|
|
});
|
|
case 11:
|
|
return _context4.abrupt("return", {
|
|
valid: false,
|
|
value: null
|
|
});
|
|
case 12:
|
|
case "end":
|
|
return _context4.stop();
|
|
}
|
|
}, _marked3$3);
|
|
}
|
|
function setupAsyncLocks(config, futureCache, arg) {
|
|
var finishLock = new Lock();
|
|
updateFunctionCache(futureCache, config, arg, finishLock);
|
|
return finishLock;
|
|
}
|
|
function updateFunctionCache(cache, config, arg, value) {
|
|
if (!config.configured()) config.forever();
|
|
var cachedValue = cache.get(arg);
|
|
config.deactivate();
|
|
switch (config.mode()) {
|
|
case "forever":
|
|
cachedValue = [{
|
|
value: value,
|
|
valid: genTrue
|
|
}];
|
|
cache.set(arg, cachedValue);
|
|
break;
|
|
case "invalidate":
|
|
cachedValue = [{
|
|
value: value,
|
|
valid: config.validator()
|
|
}];
|
|
cache.set(arg, cachedValue);
|
|
break;
|
|
case "valid":
|
|
if (cachedValue) {
|
|
cachedValue.push({
|
|
value: value,
|
|
valid: config.validator()
|
|
});
|
|
} else {
|
|
cachedValue = [{
|
|
value: value,
|
|
valid: config.validator()
|
|
}];
|
|
cache.set(arg, cachedValue);
|
|
}
|
|
}
|
|
}
|
|
var CacheConfigurator = function () {
|
|
function CacheConfigurator(data) {
|
|
this._active = true;
|
|
this._never = false;
|
|
this._forever = false;
|
|
this._invalidate = false;
|
|
this._configured = false;
|
|
this._pairs = [];
|
|
this._data = void 0;
|
|
this._data = data;
|
|
}
|
|
var _proto = CacheConfigurator.prototype;
|
|
_proto.simple = function simple() {
|
|
return makeSimpleConfigurator(this);
|
|
};
|
|
_proto.mode = function mode() {
|
|
if (this._never) return "never";
|
|
if (this._forever) return "forever";
|
|
if (this._invalidate) return "invalidate";
|
|
return "valid";
|
|
};
|
|
_proto.forever = function forever() {
|
|
if (!this._active) {
|
|
throw new Error("Cannot change caching after evaluation has completed.");
|
|
}
|
|
if (this._never) {
|
|
throw new Error("Caching has already been configured with .never()");
|
|
}
|
|
this._forever = true;
|
|
this._configured = true;
|
|
};
|
|
_proto.never = function never() {
|
|
if (!this._active) {
|
|
throw new Error("Cannot change caching after evaluation has completed.");
|
|
}
|
|
if (this._forever) {
|
|
throw new Error("Caching has already been configured with .forever()");
|
|
}
|
|
this._never = true;
|
|
this._configured = true;
|
|
};
|
|
_proto.using = function using(handler) {
|
|
var _this = this;
|
|
if (!this._active) {
|
|
throw new Error("Cannot change caching after evaluation has completed.");
|
|
}
|
|
if (this._never || this._forever) {
|
|
throw new Error("Caching has already been configured with .never or .forever()");
|
|
}
|
|
this._configured = true;
|
|
var key = handler(this._data);
|
|
var fn = maybeAsync(handler, "You appear to be using an async cache handler, but Babel has been called synchronously");
|
|
if (isThenable$1(key)) {
|
|
return key.then(function (key) {
|
|
_this._pairs.push([key, fn]);
|
|
return key;
|
|
});
|
|
}
|
|
this._pairs.push([key, fn]);
|
|
return key;
|
|
};
|
|
_proto.invalidate = function invalidate(handler) {
|
|
this._invalidate = true;
|
|
return this.using(handler);
|
|
};
|
|
_proto.validator = function validator() {
|
|
var pairs = this._pairs;
|
|
return _regeneratorRuntime().mark(function _callee(data) {
|
|
var _iterator2, _step2, _step2$value, key, fn;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context5) {
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
case 0:
|
|
_iterator2 = _createForOfIteratorHelperLoose(pairs);
|
|
case 1:
|
|
if ((_step2 = _iterator2()).done) {
|
|
_context5.next = 10;
|
|
break;
|
|
}
|
|
_step2$value = _slicedToArray(_step2.value, 2), key = _step2$value[0], fn = _step2$value[1];
|
|
_context5.t0 = key;
|
|
return _context5.delegateYield(fn(data), "t1", 5);
|
|
case 5:
|
|
_context5.t2 = _context5.t1;
|
|
if (!(_context5.t0 !== _context5.t2)) {
|
|
_context5.next = 8;
|
|
break;
|
|
}
|
|
return _context5.abrupt("return", false);
|
|
case 8:
|
|
_context5.next = 1;
|
|
break;
|
|
case 10:
|
|
return _context5.abrupt("return", true);
|
|
case 11:
|
|
case "end":
|
|
return _context5.stop();
|
|
}
|
|
}, _callee);
|
|
});
|
|
};
|
|
_proto.deactivate = function deactivate() {
|
|
this._active = false;
|
|
};
|
|
_proto.configured = function configured() {
|
|
return this._configured;
|
|
};
|
|
return _createClass(CacheConfigurator);
|
|
}();
|
|
function makeSimpleConfigurator(cache) {
|
|
function cacheFn(val) {
|
|
if (typeof val === "boolean") {
|
|
if (val) cache.forever();else cache.never();
|
|
return;
|
|
}
|
|
return cache.using(function () {
|
|
return assertSimpleType(val());
|
|
});
|
|
}
|
|
cacheFn.forever = function () {
|
|
return cache.forever();
|
|
};
|
|
cacheFn.never = function () {
|
|
return cache.never();
|
|
};
|
|
cacheFn.using = function (cb) {
|
|
return cache.using(function () {
|
|
return assertSimpleType(cb());
|
|
});
|
|
};
|
|
cacheFn.invalidate = function (cb) {
|
|
return cache.invalidate(function () {
|
|
return assertSimpleType(cb());
|
|
});
|
|
};
|
|
return cacheFn;
|
|
}
|
|
function assertSimpleType(value) {
|
|
if (isThenable$1(value)) {
|
|
throw new Error("You appear to be using an async cache handler, " + "which your current version of Babel does not support. " + "We may add support for this in the future, " + "but if you're on the most recent version of @babel/core and still " + "seeing this error, then you'll need to synchronously handle your caching logic.");
|
|
}
|
|
if (value != null && typeof value !== "string" && typeof value !== "boolean" && typeof value !== "number") {
|
|
throw new Error("Cache keys must be either string, boolean, number, null, or undefined.");
|
|
}
|
|
return value;
|
|
}
|
|
var Lock = function () {
|
|
function Lock() {
|
|
var _this2 = this;
|
|
this.released = false;
|
|
this.promise = void 0;
|
|
this._resolve = void 0;
|
|
this.promise = new Promise(function (resolve) {
|
|
_this2._resolve = resolve;
|
|
});
|
|
}
|
|
var _proto2 = Lock.prototype;
|
|
_proto2.release = function release(value) {
|
|
this.released = true;
|
|
this._resolve(value);
|
|
};
|
|
return _createClass(Lock);
|
|
}();
|
|
|
|
var require$$0$9 = [
|
|
{
|
|
name: "nodejs",
|
|
version: "0.2.0",
|
|
date: "2011-08-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "0.3.0",
|
|
date: "2011-08-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "0.4.0",
|
|
date: "2011-08-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "0.5.0",
|
|
date: "2011-08-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "0.6.0",
|
|
date: "2011-11-04",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "0.7.0",
|
|
date: "2012-01-17",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "0.8.0",
|
|
date: "2012-06-22",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "0.9.0",
|
|
date: "2012-07-20",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "0.10.0",
|
|
date: "2013-03-11",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "0.11.0",
|
|
date: "2013-03-28",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "0.12.0",
|
|
date: "2015-02-06",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "4.0.0",
|
|
date: "2015-09-08",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "4.1.0",
|
|
date: "2015-09-17",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "4.2.0",
|
|
date: "2015-10-12",
|
|
lts: "Argon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "4.3.0",
|
|
date: "2016-02-09",
|
|
lts: "Argon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "4.4.0",
|
|
date: "2016-03-08",
|
|
lts: "Argon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "4.5.0",
|
|
date: "2016-08-16",
|
|
lts: "Argon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "4.6.0",
|
|
date: "2016-09-27",
|
|
lts: "Argon",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "4.7.0",
|
|
date: "2016-12-06",
|
|
lts: "Argon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "4.8.0",
|
|
date: "2017-02-21",
|
|
lts: "Argon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "4.9.0",
|
|
date: "2018-03-28",
|
|
lts: "Argon",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.0.0",
|
|
date: "2015-10-29",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.1.0",
|
|
date: "2015-11-17",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.2.0",
|
|
date: "2015-12-09",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.3.0",
|
|
date: "2015-12-15",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.4.0",
|
|
date: "2016-01-06",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.5.0",
|
|
date: "2016-01-21",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.6.0",
|
|
date: "2016-02-09",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.7.0",
|
|
date: "2016-02-23",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.8.0",
|
|
date: "2016-03-09",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.9.0",
|
|
date: "2016-03-16",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.10.0",
|
|
date: "2016-04-01",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.11.0",
|
|
date: "2016-04-21",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "5.12.0",
|
|
date: "2016-06-23",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.0.0",
|
|
date: "2016-04-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.1.0",
|
|
date: "2016-05-05",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.2.0",
|
|
date: "2016-05-17",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.3.0",
|
|
date: "2016-07-06",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.4.0",
|
|
date: "2016-08-12",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.5.0",
|
|
date: "2016-08-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.6.0",
|
|
date: "2016-09-14",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.7.0",
|
|
date: "2016-09-27",
|
|
lts: false,
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.8.0",
|
|
date: "2016-10-12",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.9.0",
|
|
date: "2016-10-18",
|
|
lts: "Boron",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.10.0",
|
|
date: "2017-02-21",
|
|
lts: "Boron",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.11.0",
|
|
date: "2017-06-06",
|
|
lts: "Boron",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.12.0",
|
|
date: "2017-11-06",
|
|
lts: "Boron",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.13.0",
|
|
date: "2018-02-10",
|
|
lts: "Boron",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.14.0",
|
|
date: "2018-03-28",
|
|
lts: "Boron",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.15.0",
|
|
date: "2018-11-27",
|
|
lts: "Boron",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.16.0",
|
|
date: "2018-12-26",
|
|
lts: "Boron",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "6.17.0",
|
|
date: "2019-02-28",
|
|
lts: "Boron",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.0.0",
|
|
date: "2016-10-25",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.1.0",
|
|
date: "2016-11-08",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.2.0",
|
|
date: "2016-11-22",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.3.0",
|
|
date: "2016-12-20",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.4.0",
|
|
date: "2017-01-04",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.5.0",
|
|
date: "2017-01-31",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.6.0",
|
|
date: "2017-02-21",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.7.0",
|
|
date: "2017-02-28",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.8.0",
|
|
date: "2017-03-29",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.9.0",
|
|
date: "2017-04-11",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "7.10.0",
|
|
date: "2017-05-02",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.0.0",
|
|
date: "2017-05-30",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.1.0",
|
|
date: "2017-06-08",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.2.0",
|
|
date: "2017-07-19",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.3.0",
|
|
date: "2017-08-08",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.4.0",
|
|
date: "2017-08-15",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.5.0",
|
|
date: "2017-09-12",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.6.0",
|
|
date: "2017-09-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.7.0",
|
|
date: "2017-10-11",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.8.0",
|
|
date: "2017-10-24",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.9.0",
|
|
date: "2017-10-31",
|
|
lts: "Carbon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.10.0",
|
|
date: "2018-03-06",
|
|
lts: "Carbon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.11.0",
|
|
date: "2018-03-28",
|
|
lts: "Carbon",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.12.0",
|
|
date: "2018-09-10",
|
|
lts: "Carbon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.13.0",
|
|
date: "2018-11-20",
|
|
lts: "Carbon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.14.0",
|
|
date: "2018-11-27",
|
|
lts: "Carbon",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.15.0",
|
|
date: "2018-12-26",
|
|
lts: "Carbon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.16.0",
|
|
date: "2019-04-16",
|
|
lts: "Carbon",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "8.17.0",
|
|
date: "2019-12-17",
|
|
lts: "Carbon",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.0.0",
|
|
date: "2017-10-31",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.1.0",
|
|
date: "2017-11-07",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.2.0",
|
|
date: "2017-11-14",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.3.0",
|
|
date: "2017-12-12",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.4.0",
|
|
date: "2018-01-10",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.5.0",
|
|
date: "2018-01-31",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.6.0",
|
|
date: "2018-02-21",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.7.0",
|
|
date: "2018-03-01",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.8.0",
|
|
date: "2018-03-07",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.9.0",
|
|
date: "2018-03-21",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.10.0",
|
|
date: "2018-03-28",
|
|
lts: false,
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "9.11.0",
|
|
date: "2018-04-04",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.0.0",
|
|
date: "2018-04-24",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.1.0",
|
|
date: "2018-05-08",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.2.0",
|
|
date: "2018-05-23",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.3.0",
|
|
date: "2018-05-29",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.4.0",
|
|
date: "2018-06-06",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.5.0",
|
|
date: "2018-06-20",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.6.0",
|
|
date: "2018-07-04",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.7.0",
|
|
date: "2018-07-18",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.8.0",
|
|
date: "2018-08-01",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.9.0",
|
|
date: "2018-08-15",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.10.0",
|
|
date: "2018-09-06",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.11.0",
|
|
date: "2018-09-19",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.12.0",
|
|
date: "2018-10-10",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.13.0",
|
|
date: "2018-10-30",
|
|
lts: "Dubnium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.14.0",
|
|
date: "2018-11-27",
|
|
lts: "Dubnium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.15.0",
|
|
date: "2018-12-26",
|
|
lts: "Dubnium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.16.0",
|
|
date: "2019-05-28",
|
|
lts: "Dubnium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.17.0",
|
|
date: "2019-10-22",
|
|
lts: "Dubnium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.18.0",
|
|
date: "2019-12-17",
|
|
lts: "Dubnium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.19.0",
|
|
date: "2020-02-05",
|
|
lts: "Dubnium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.20.0",
|
|
date: "2020-03-26",
|
|
lts: "Dubnium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.21.0",
|
|
date: "2020-06-02",
|
|
lts: "Dubnium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.22.0",
|
|
date: "2020-07-21",
|
|
lts: "Dubnium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.23.0",
|
|
date: "2020-10-27",
|
|
lts: "Dubnium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "10.24.0",
|
|
date: "2021-02-23",
|
|
lts: "Dubnium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.0.0",
|
|
date: "2018-10-23",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.1.0",
|
|
date: "2018-10-30",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.2.0",
|
|
date: "2018-11-15",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.3.0",
|
|
date: "2018-11-27",
|
|
lts: false,
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.4.0",
|
|
date: "2018-12-07",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.5.0",
|
|
date: "2018-12-18",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.6.0",
|
|
date: "2018-12-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.7.0",
|
|
date: "2019-01-17",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.8.0",
|
|
date: "2019-01-24",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.9.0",
|
|
date: "2019-01-30",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.10.0",
|
|
date: "2019-02-14",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.11.0",
|
|
date: "2019-03-05",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.12.0",
|
|
date: "2019-03-14",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.13.0",
|
|
date: "2019-03-28",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.14.0",
|
|
date: "2019-04-10",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "11.15.0",
|
|
date: "2019-04-30",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.0.0",
|
|
date: "2019-04-23",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.1.0",
|
|
date: "2019-04-29",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.2.0",
|
|
date: "2019-05-07",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.3.0",
|
|
date: "2019-05-21",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.4.0",
|
|
date: "2019-06-04",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.5.0",
|
|
date: "2019-06-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.6.0",
|
|
date: "2019-07-03",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.7.0",
|
|
date: "2019-07-23",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.8.0",
|
|
date: "2019-08-06",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.9.0",
|
|
date: "2019-08-20",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.10.0",
|
|
date: "2019-09-04",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.11.0",
|
|
date: "2019-09-25",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.12.0",
|
|
date: "2019-10-11",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.13.0",
|
|
date: "2019-10-21",
|
|
lts: "Erbium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.14.0",
|
|
date: "2019-12-17",
|
|
lts: "Erbium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.15.0",
|
|
date: "2020-02-05",
|
|
lts: "Erbium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.16.0",
|
|
date: "2020-02-11",
|
|
lts: "Erbium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.17.0",
|
|
date: "2020-05-26",
|
|
lts: "Erbium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.18.0",
|
|
date: "2020-06-02",
|
|
lts: "Erbium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.19.0",
|
|
date: "2020-10-06",
|
|
lts: "Erbium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.20.0",
|
|
date: "2020-11-24",
|
|
lts: "Erbium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.21.0",
|
|
date: "2021-02-23",
|
|
lts: "Erbium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "12.22.0",
|
|
date: "2021-03-30",
|
|
lts: "Erbium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.0.0",
|
|
date: "2019-10-22",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.1.0",
|
|
date: "2019-11-05",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.2.0",
|
|
date: "2019-11-21",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.3.0",
|
|
date: "2019-12-03",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.4.0",
|
|
date: "2019-12-17",
|
|
lts: false,
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.5.0",
|
|
date: "2019-12-18",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.6.0",
|
|
date: "2020-01-07",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.7.0",
|
|
date: "2020-01-21",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.8.0",
|
|
date: "2020-02-05",
|
|
lts: false,
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.9.0",
|
|
date: "2020-02-18",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.10.0",
|
|
date: "2020-03-04",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.11.0",
|
|
date: "2020-03-12",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.12.0",
|
|
date: "2020-03-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.13.0",
|
|
date: "2020-04-14",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "13.14.0",
|
|
date: "2020-04-29",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.0.0",
|
|
date: "2020-04-21",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.1.0",
|
|
date: "2020-04-29",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.2.0",
|
|
date: "2020-05-05",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.3.0",
|
|
date: "2020-05-19",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.4.0",
|
|
date: "2020-06-02",
|
|
lts: false,
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.5.0",
|
|
date: "2020-06-30",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.6.0",
|
|
date: "2020-07-20",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.7.0",
|
|
date: "2020-07-29",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.8.0",
|
|
date: "2020-08-11",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.9.0",
|
|
date: "2020-08-27",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.10.0",
|
|
date: "2020-09-08",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.11.0",
|
|
date: "2020-09-15",
|
|
lts: false,
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.12.0",
|
|
date: "2020-09-22",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.13.0",
|
|
date: "2020-09-29",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.14.0",
|
|
date: "2020-10-15",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.15.0",
|
|
date: "2020-10-27",
|
|
lts: "Fermium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.16.0",
|
|
date: "2021-02-23",
|
|
lts: "Fermium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.17.0",
|
|
date: "2021-05-11",
|
|
lts: "Fermium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.18.0",
|
|
date: "2021-09-28",
|
|
lts: "Fermium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.19.0",
|
|
date: "2022-02-01",
|
|
lts: "Fermium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.20.0",
|
|
date: "2022-07-07",
|
|
lts: "Fermium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "14.21.0",
|
|
date: "2022-11-01",
|
|
lts: "Fermium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.0.0",
|
|
date: "2020-10-20",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.1.0",
|
|
date: "2020-11-04",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.2.0",
|
|
date: "2020-11-10",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.3.0",
|
|
date: "2020-11-24",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.4.0",
|
|
date: "2020-12-09",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.5.0",
|
|
date: "2020-12-22",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.6.0",
|
|
date: "2021-01-14",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.7.0",
|
|
date: "2021-01-25",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.8.0",
|
|
date: "2021-02-02",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.9.0",
|
|
date: "2021-02-18",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.10.0",
|
|
date: "2021-02-23",
|
|
lts: false,
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.11.0",
|
|
date: "2021-03-03",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.12.0",
|
|
date: "2021-03-17",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.13.0",
|
|
date: "2021-03-31",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "15.14.0",
|
|
date: "2021-04-06",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.0.0",
|
|
date: "2021-04-20",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.1.0",
|
|
date: "2021-05-04",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.2.0",
|
|
date: "2021-05-19",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.3.0",
|
|
date: "2021-06-03",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.4.0",
|
|
date: "2021-06-23",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.5.0",
|
|
date: "2021-07-14",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.6.0",
|
|
date: "2021-07-29",
|
|
lts: false,
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.7.0",
|
|
date: "2021-08-18",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.8.0",
|
|
date: "2021-08-25",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.9.0",
|
|
date: "2021-09-07",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.10.0",
|
|
date: "2021-09-22",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.11.0",
|
|
date: "2021-10-08",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.12.0",
|
|
date: "2021-10-20",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.13.0",
|
|
date: "2021-10-26",
|
|
lts: "Gallium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.14.0",
|
|
date: "2022-02-08",
|
|
lts: "Gallium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.15.0",
|
|
date: "2022-04-26",
|
|
lts: "Gallium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.16.0",
|
|
date: "2022-07-07",
|
|
lts: "Gallium",
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.17.0",
|
|
date: "2022-08-16",
|
|
lts: "Gallium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.18.0",
|
|
date: "2022-10-12",
|
|
lts: "Gallium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "16.19.0",
|
|
date: "2022-12-13",
|
|
lts: "Gallium",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "17.0.0",
|
|
date: "2021-10-19",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "17.1.0",
|
|
date: "2021-11-09",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "17.2.0",
|
|
date: "2021-11-30",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "17.3.0",
|
|
date: "2021-12-17",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "17.4.0",
|
|
date: "2022-01-18",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "17.5.0",
|
|
date: "2022-02-10",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "17.6.0",
|
|
date: "2022-02-22",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "17.7.0",
|
|
date: "2022-03-09",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "17.8.0",
|
|
date: "2022-03-22",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "17.9.0",
|
|
date: "2022-04-07",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.0.0",
|
|
date: "2022-04-18",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.1.0",
|
|
date: "2022-05-03",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.2.0",
|
|
date: "2022-05-17",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.3.0",
|
|
date: "2022-06-02",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.4.0",
|
|
date: "2022-06-16",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.5.0",
|
|
date: "2022-07-06",
|
|
lts: false,
|
|
security: true
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.6.0",
|
|
date: "2022-07-13",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.7.0",
|
|
date: "2022-07-26",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.8.0",
|
|
date: "2022-08-24",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.9.0",
|
|
date: "2022-09-07",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.10.0",
|
|
date: "2022-09-28",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.11.0",
|
|
date: "2022-10-13",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.12.0",
|
|
date: "2022-10-25",
|
|
lts: "Hydrogen",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.13.0",
|
|
date: "2023-01-05",
|
|
lts: "Hydrogen",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "18.14.0",
|
|
date: "2023-02-01",
|
|
lts: "Hydrogen",
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "19.0.0",
|
|
date: "2022-10-17",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "19.1.0",
|
|
date: "2022-11-14",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "19.2.0",
|
|
date: "2022-11-29",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "19.3.0",
|
|
date: "2022-12-14",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "19.4.0",
|
|
date: "2023-01-05",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "19.5.0",
|
|
date: "2023-01-24",
|
|
lts: false,
|
|
security: false
|
|
},
|
|
{
|
|
name: "nodejs",
|
|
version: "19.6.0",
|
|
date: "2023-02-01",
|
|
lts: false,
|
|
security: false
|
|
}
|
|
];
|
|
|
|
var agents$2 = {};
|
|
|
|
var browsers$2 = {};
|
|
|
|
var browsers$1 = {
|
|
A: "ie",
|
|
B: "edge",
|
|
C: "firefox",
|
|
D: "chrome",
|
|
E: "safari",
|
|
F: "opera",
|
|
G: "ios_saf",
|
|
H: "op_mini",
|
|
I: "android",
|
|
J: "bb",
|
|
K: "op_mob",
|
|
L: "and_chr",
|
|
M: "and_ff",
|
|
N: "ie_mob",
|
|
O: "and_uc",
|
|
P: "samsung",
|
|
Q: "and_qq",
|
|
R: "baidu",
|
|
S: "kaios"
|
|
};
|
|
|
|
browsers$2.browsers = browsers$1;
|
|
|
|
var browserVersions$1 = {};
|
|
|
|
var browserVersions = {
|
|
"0": "24",
|
|
"1": "25",
|
|
"2": "26",
|
|
"3": "27",
|
|
"4": "28",
|
|
"5": "29",
|
|
"6": "30",
|
|
"7": "31",
|
|
"8": "32",
|
|
"9": "33",
|
|
A: "10",
|
|
B: "11",
|
|
C: "12",
|
|
D: "7",
|
|
E: "8",
|
|
F: "9",
|
|
G: "15",
|
|
H: "110",
|
|
I: "4",
|
|
J: "6",
|
|
K: "13",
|
|
L: "14",
|
|
M: "16",
|
|
N: "17",
|
|
O: "18",
|
|
P: "79",
|
|
Q: "80",
|
|
R: "81",
|
|
S: "83",
|
|
T: "84",
|
|
U: "85",
|
|
V: "86",
|
|
W: "87",
|
|
X: "88",
|
|
Y: "89",
|
|
Z: "90",
|
|
a: "91",
|
|
b: "92",
|
|
c: "93",
|
|
d: "94",
|
|
e: "95",
|
|
f: "109",
|
|
g: "20",
|
|
h: "73",
|
|
i: "96",
|
|
j: "97",
|
|
k: "98",
|
|
l: "99",
|
|
m: "100",
|
|
n: "101",
|
|
o: "102",
|
|
p: "103",
|
|
q: "104",
|
|
r: "105",
|
|
s: "106",
|
|
t: "107",
|
|
u: "108",
|
|
v: "5",
|
|
w: "19",
|
|
x: "21",
|
|
y: "22",
|
|
z: "23",
|
|
AB: "34",
|
|
BB: "35",
|
|
CB: "36",
|
|
DB: "37",
|
|
EB: "38",
|
|
FB: "39",
|
|
GB: "40",
|
|
HB: "41",
|
|
IB: "42",
|
|
JB: "43",
|
|
KB: "44",
|
|
LB: "45",
|
|
MB: "46",
|
|
NB: "47",
|
|
OB: "48",
|
|
PB: "49",
|
|
QB: "50",
|
|
RB: "51",
|
|
SB: "52",
|
|
TB: "53",
|
|
UB: "54",
|
|
VB: "55",
|
|
WB: "56",
|
|
XB: "57",
|
|
YB: "58",
|
|
ZB: "60",
|
|
aB: "62",
|
|
bB: "63",
|
|
cB: "64",
|
|
dB: "65",
|
|
eB: "66",
|
|
fB: "67",
|
|
gB: "68",
|
|
hB: "69",
|
|
iB: "70",
|
|
jB: "71",
|
|
kB: "72",
|
|
lB: "74",
|
|
mB: "75",
|
|
nB: "76",
|
|
oB: "77",
|
|
pB: "78",
|
|
qB: "11.1",
|
|
rB: "12.1",
|
|
sB: "16.0",
|
|
tB: "3",
|
|
uB: "59",
|
|
vB: "61",
|
|
wB: "82",
|
|
xB: "111",
|
|
yB: "112",
|
|
zB: "3.2",
|
|
"0B": "10.1",
|
|
"1B": "13.1",
|
|
"2B": "15.2-15.3",
|
|
"3B": "15.4",
|
|
"4B": "15.5",
|
|
"5B": "15.6",
|
|
"6B": "16.1",
|
|
"7B": "16.2",
|
|
"8B": "16.3",
|
|
"9B": "16.4",
|
|
AC: "11.5",
|
|
BC: "4.2-4.3",
|
|
CC: "5.5",
|
|
DC: "2",
|
|
EC: "3.5",
|
|
FC: "3.6",
|
|
GC: "113",
|
|
HC: "3.1",
|
|
IC: "5.1",
|
|
JC: "6.1",
|
|
KC: "7.1",
|
|
LC: "9.1",
|
|
MC: "14.1",
|
|
NC: "15.1",
|
|
OC: "TP",
|
|
PC: "9.5-9.6",
|
|
QC: "10.0-10.1",
|
|
RC: "10.5",
|
|
SC: "10.6",
|
|
TC: "11.6",
|
|
UC: "4.0-4.1",
|
|
VC: "5.0-5.1",
|
|
WC: "6.0-6.1",
|
|
XC: "7.0-7.1",
|
|
YC: "8.1-8.4",
|
|
ZC: "9.0-9.2",
|
|
aC: "9.3",
|
|
bC: "10.0-10.2",
|
|
cC: "10.3",
|
|
dC: "11.0-11.2",
|
|
eC: "11.3-11.4",
|
|
fC: "12.0-12.1",
|
|
gC: "12.2-12.5",
|
|
hC: "13.0-13.1",
|
|
iC: "13.2",
|
|
jC: "13.3",
|
|
kC: "13.4-13.7",
|
|
lC: "14.0-14.4",
|
|
mC: "14.5-14.8",
|
|
nC: "15.0-15.1",
|
|
oC: "all",
|
|
pC: "2.1",
|
|
qC: "2.2",
|
|
rC: "2.3",
|
|
sC: "4.1",
|
|
tC: "4.4",
|
|
uC: "4.4.3-4.4.4",
|
|
vC: "13.4",
|
|
wC: "5.0-5.4",
|
|
xC: "6.2-6.4",
|
|
yC: "7.2-7.4",
|
|
zC: "8.2",
|
|
"0C": "9.2",
|
|
"1C": "11.1-11.2",
|
|
"2C": "12.0",
|
|
"3C": "13.0",
|
|
"4C": "14.0",
|
|
"5C": "15.0",
|
|
"6C": "17.0",
|
|
"7C": "18.0",
|
|
"8C": "19.0",
|
|
"9C": "13.18",
|
|
AD: "2.5",
|
|
BD: "3.0-3.1"
|
|
};
|
|
|
|
browserVersions$1.browserVersions = browserVersions;
|
|
|
|
var agents$1 = {
|
|
A: {
|
|
A: {
|
|
J: 0.0131217,
|
|
D: 0.00621152,
|
|
E: 0.0478029,
|
|
F: 0.0573634,
|
|
A: 0.00956057,
|
|
B: 0.487589,
|
|
CC: 0.009298
|
|
},
|
|
B: "ms",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "CC", "J", "D", "E", "F", "A", "B", "", "", ""],
|
|
E: "IE",
|
|
F: {
|
|
CC: 962323200,
|
|
J: 998870400,
|
|
D: 1161129600,
|
|
E: 1237420800,
|
|
F: 1300060800,
|
|
A: 1346716800,
|
|
B: 1381968000
|
|
}
|
|
},
|
|
B: {
|
|
A: {
|
|
C: 0.003861,
|
|
K: 0.004267,
|
|
L: 0.004268,
|
|
G: 0.003861,
|
|
M: 0.003702,
|
|
N: 0.003861,
|
|
O: 0.015444,
|
|
P: 0,
|
|
Q: 0.004298,
|
|
R: 0.00944,
|
|
S: 0.004043,
|
|
T: 0.007722,
|
|
U: 0.003861,
|
|
V: 0.003861,
|
|
W: 0.003861,
|
|
X: 0.003943,
|
|
Y: 0.007722,
|
|
Z: 0.003943,
|
|
a: 0.003943,
|
|
b: 0.007722,
|
|
c: 0.004118,
|
|
d: 0.003939,
|
|
e: 0.003943,
|
|
i: 0.003943,
|
|
j: 0.003943,
|
|
k: 0.003929,
|
|
l: 0.003901,
|
|
m: 0.011829,
|
|
n: 0.007886,
|
|
o: 0.003943,
|
|
p: 0.007722,
|
|
q: 0.003861,
|
|
r: 0.007722,
|
|
s: 0.011583,
|
|
t: 0.073359,
|
|
u: 0.111969,
|
|
f: 1.66023,
|
|
H: 2.23552
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "C", "K", "L", "G", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "f", "H", "", "", ""],
|
|
E: "Edge",
|
|
F: {
|
|
C: 1438128000,
|
|
K: 1447286400,
|
|
L: 1470096000,
|
|
G: 1491868800,
|
|
M: 1508198400,
|
|
N: 1525046400,
|
|
O: 1542067200,
|
|
P: 1579046400,
|
|
Q: 1581033600,
|
|
R: 1586736000,
|
|
S: 1590019200,
|
|
T: 1594857600,
|
|
U: 1598486400,
|
|
V: 1602201600,
|
|
W: 1605830400,
|
|
X: 1611360000,
|
|
Y: 1614816000,
|
|
Z: 1618358400,
|
|
a: 1622073600,
|
|
b: 1626912000,
|
|
c: 1630627200,
|
|
d: 1632441600,
|
|
e: 1634774400,
|
|
i: 1637539200,
|
|
j: 1641427200,
|
|
k: 1643932800,
|
|
l: 1646265600,
|
|
m: 1649635200,
|
|
n: 1651190400,
|
|
o: 1653955200,
|
|
p: 1655942400,
|
|
q: 1659657600,
|
|
r: 1661990400,
|
|
s: 1664755200,
|
|
t: 1666915200,
|
|
u: 1670198400,
|
|
f: 1673481600,
|
|
H: 1675900800
|
|
},
|
|
D: {
|
|
C: "ms",
|
|
K: "ms",
|
|
L: "ms",
|
|
G: "ms",
|
|
M: "ms",
|
|
N: "ms",
|
|
O: "ms"
|
|
}
|
|
},
|
|
C: {
|
|
A: {
|
|
"0": 0.008786,
|
|
"1": 0.004118,
|
|
"2": 0.004317,
|
|
"3": 0.004393,
|
|
"4": 0.004418,
|
|
"5": 0.008834,
|
|
"6": 0.008322,
|
|
"7": 0.008928,
|
|
"8": 0.004471,
|
|
"9": 0.009284,
|
|
DC: 0.004118,
|
|
tB: 0.004271,
|
|
I: 0.011703,
|
|
v: 0.004879,
|
|
J: 0.020136,
|
|
D: 0.005725,
|
|
E: 0.004525,
|
|
F: 0.00533,
|
|
A: 0.004283,
|
|
B: 0.007722,
|
|
C: 0.004471,
|
|
K: 0.004486,
|
|
L: 0.00453,
|
|
G: 0.008322,
|
|
M: 0.004417,
|
|
N: 0.004425,
|
|
O: 0.004161,
|
|
w: 0.004443,
|
|
g: 0.004283,
|
|
x: 0.008322,
|
|
y: 0.013698,
|
|
z: 0.004161,
|
|
AB: 0.004707,
|
|
BB: 0.009076,
|
|
CB: 0.003861,
|
|
DB: 0.004783,
|
|
EB: 0.003929,
|
|
FB: 0.004783,
|
|
GB: 0.00487,
|
|
HB: 0.005029,
|
|
IB: 0.0047,
|
|
JB: 0.019305,
|
|
KB: 0.003861,
|
|
LB: 0.003867,
|
|
MB: 0.004525,
|
|
NB: 0.004293,
|
|
OB: 0.003861,
|
|
PB: 0.004538,
|
|
QB: 0.008282,
|
|
RB: 0.011601,
|
|
SB: 0.046332,
|
|
TB: 0.011601,
|
|
UB: 0.003929,
|
|
VB: 0.003974,
|
|
WB: 0.003861,
|
|
XB: 0.011601,
|
|
YB: 0.003939,
|
|
uB: 0.003861,
|
|
ZB: 0.003929,
|
|
vB: 0.004356,
|
|
aB: 0.004425,
|
|
bB: 0.008322,
|
|
cB: 0.00415,
|
|
dB: 0.004267,
|
|
eB: 0.003801,
|
|
fB: 0.004267,
|
|
gB: 0.003861,
|
|
hB: 0.00415,
|
|
iB: 0.004293,
|
|
jB: 0.004425,
|
|
kB: 0.003861,
|
|
h: 0.00415,
|
|
lB: 0.00415,
|
|
mB: 0.004318,
|
|
nB: 0.004356,
|
|
oB: 0.003974,
|
|
pB: 0.034749,
|
|
P: 0.003861,
|
|
Q: 0.003861,
|
|
R: 0.003861,
|
|
wB: 0.003861,
|
|
S: 0.003861,
|
|
T: 0.003929,
|
|
U: 0.004268,
|
|
V: 0.003801,
|
|
W: 0.015444,
|
|
X: 0.007722,
|
|
Y: 0.003943,
|
|
Z: 0.003943,
|
|
a: 0.011583,
|
|
b: 0.003801,
|
|
c: 0.007722,
|
|
d: 0.011583,
|
|
e: 0.003773,
|
|
i: 0.007886,
|
|
j: 0.003901,
|
|
k: 0.003901,
|
|
l: 0.003861,
|
|
m: 0.003861,
|
|
n: 0.003861,
|
|
o: 0.096525,
|
|
p: 0.042471,
|
|
q: 0.007722,
|
|
r: 0.011583,
|
|
s: 0.015444,
|
|
t: 0.019305,
|
|
u: 0.069498,
|
|
f: 1.22008,
|
|
H: 0.814671,
|
|
xB: 0.007722,
|
|
yB: 0,
|
|
EC: 0.008786,
|
|
FC: 0.00487
|
|
},
|
|
B: "moz",
|
|
C: ["DC", "tB", "EC", "FC", "I", "v", "J", "D", "E", "F", "A", "B", "C", "K", "L", "G", "M", "N", "O", "w", "g", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "AB", "BB", "CB", "DB", "EB", "FB", "GB", "HB", "IB", "JB", "KB", "LB", "MB", "NB", "OB", "PB", "QB", "RB", "SB", "TB", "UB", "VB", "WB", "XB", "YB", "uB", "ZB", "vB", "aB", "bB", "cB", "dB", "eB", "fB", "gB", "hB", "iB", "jB", "kB", "h", "lB", "mB", "nB", "oB", "pB", "P", "Q", "R", "wB", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "f", "H", "xB", "yB", ""],
|
|
E: "Firefox",
|
|
F: {
|
|
"0": 1375747200,
|
|
"1": 1379376000,
|
|
"2": 1386633600,
|
|
"3": 1391472000,
|
|
"4": 1395100800,
|
|
"5": 1398729600,
|
|
"6": 1402358400,
|
|
"7": 1405987200,
|
|
"8": 1409616000,
|
|
"9": 1413244800,
|
|
DC: 1161648000,
|
|
tB: 1213660800,
|
|
EC: 1246320000,
|
|
FC: 1264032000,
|
|
I: 1300752000,
|
|
v: 1308614400,
|
|
J: 1313452800,
|
|
D: 1317081600,
|
|
E: 1317081600,
|
|
F: 1320710400,
|
|
A: 1324339200,
|
|
B: 1327968000,
|
|
C: 1331596800,
|
|
K: 1335225600,
|
|
L: 1338854400,
|
|
G: 1342483200,
|
|
M: 1346112000,
|
|
N: 1349740800,
|
|
O: 1353628800,
|
|
w: 1357603200,
|
|
g: 1361232000,
|
|
x: 1364860800,
|
|
y: 1368489600,
|
|
z: 1372118400,
|
|
AB: 1417392000,
|
|
BB: 1421107200,
|
|
CB: 1424736000,
|
|
DB: 1428278400,
|
|
EB: 1431475200,
|
|
FB: 1435881600,
|
|
GB: 1439251200,
|
|
HB: 1442880000,
|
|
IB: 1446508800,
|
|
JB: 1450137600,
|
|
KB: 1453852800,
|
|
LB: 1457395200,
|
|
MB: 1461628800,
|
|
NB: 1465257600,
|
|
OB: 1470096000,
|
|
PB: 1474329600,
|
|
QB: 1479168000,
|
|
RB: 1485216000,
|
|
SB: 1488844800,
|
|
TB: 1492560000,
|
|
UB: 1497312000,
|
|
VB: 1502150400,
|
|
WB: 1506556800,
|
|
XB: 1510617600,
|
|
YB: 1516665600,
|
|
uB: 1520985600,
|
|
ZB: 1525824000,
|
|
vB: 1529971200,
|
|
aB: 1536105600,
|
|
bB: 1540252800,
|
|
cB: 1544486400,
|
|
dB: 1548720000,
|
|
eB: 1552953600,
|
|
fB: 1558396800,
|
|
gB: 1562630400,
|
|
hB: 1567468800,
|
|
iB: 1571788800,
|
|
jB: 1575331200,
|
|
kB: 1578355200,
|
|
h: 1581379200,
|
|
lB: 1583798400,
|
|
mB: 1586304000,
|
|
nB: 1588636800,
|
|
oB: 1591056000,
|
|
pB: 1593475200,
|
|
P: 1595894400,
|
|
Q: 1598313600,
|
|
R: 1600732800,
|
|
wB: 1603152000,
|
|
S: 1605571200,
|
|
T: 1607990400,
|
|
U: 1611619200,
|
|
V: 1614038400,
|
|
W: 1616457600,
|
|
X: 1618790400,
|
|
Y: 1622505600,
|
|
Z: 1626134400,
|
|
a: 1628553600,
|
|
b: 1630972800,
|
|
c: 1633392000,
|
|
d: 1635811200,
|
|
e: 1638835200,
|
|
i: 1641859200,
|
|
j: 1644364800,
|
|
k: 1646697600,
|
|
l: 1649116800,
|
|
m: 1651536000,
|
|
n: 1653955200,
|
|
o: 1656374400,
|
|
p: 1658793600,
|
|
q: 1661212800,
|
|
r: 1663632000,
|
|
s: 1666051200,
|
|
t: 1668470400,
|
|
u: 1670889600,
|
|
f: 1673913600,
|
|
H: 1676332800,
|
|
xB: null,
|
|
yB: null
|
|
}
|
|
},
|
|
D: {
|
|
A: {
|
|
"0": 0.003939,
|
|
"1": 0.004461,
|
|
"2": 0.004141,
|
|
"3": 0.004326,
|
|
"4": 0.0047,
|
|
"5": 0.004538,
|
|
"6": 0.008322,
|
|
"7": 0.008596,
|
|
"8": 0.004566,
|
|
"9": 0.004118,
|
|
I: 0.004706,
|
|
v: 0.004879,
|
|
J: 0.004879,
|
|
D: 0.005591,
|
|
E: 0.005591,
|
|
F: 0.005591,
|
|
A: 0.004534,
|
|
B: 0.004464,
|
|
C: 0.010424,
|
|
K: 0.0083,
|
|
L: 0.004706,
|
|
G: 0.015087,
|
|
M: 0.004393,
|
|
N: 0.004393,
|
|
O: 0.008652,
|
|
w: 0.008322,
|
|
g: 0.004393,
|
|
x: 0.004317,
|
|
y: 0.003901,
|
|
z: 0.008786,
|
|
AB: 0.003861,
|
|
BB: 0.003861,
|
|
CB: 0.004335,
|
|
DB: 0.004464,
|
|
EB: 0.015444,
|
|
FB: 0.003867,
|
|
GB: 0.015444,
|
|
HB: 0.003773,
|
|
IB: 0.003974,
|
|
JB: 0.007722,
|
|
KB: 0.007948,
|
|
LB: 0.003974,
|
|
MB: 0.003867,
|
|
NB: 0.007722,
|
|
OB: 0.019305,
|
|
PB: 0.03861,
|
|
QB: 0.003867,
|
|
RB: 0.003929,
|
|
SB: 0.007722,
|
|
TB: 0.007722,
|
|
UB: 0.003867,
|
|
VB: 0.007722,
|
|
WB: 0.069498,
|
|
XB: 0.003861,
|
|
YB: 0.015772,
|
|
uB: 0.003773,
|
|
ZB: 0.015444,
|
|
vB: 0.007722,
|
|
aB: 0.003773,
|
|
bB: 0.007722,
|
|
cB: 0.003943,
|
|
dB: 0.007722,
|
|
eB: 0.027027,
|
|
fB: 0.007722,
|
|
gB: 0.011583,
|
|
hB: 0.054054,
|
|
iB: 0.019305,
|
|
jB: 0.015444,
|
|
kB: 0.023166,
|
|
h: 0.011583,
|
|
lB: 0.042471,
|
|
mB: 0.046332,
|
|
nB: 0.042471,
|
|
oB: 0.015444,
|
|
pB: 0.030888,
|
|
P: 0.127413,
|
|
Q: 0.03861,
|
|
R: 0.042471,
|
|
S: 0.073359,
|
|
T: 0.042471,
|
|
U: 0.088803,
|
|
V: 0.07722,
|
|
W: 0.081081,
|
|
X: 0.027027,
|
|
Y: 0.03861,
|
|
Z: 0.046332,
|
|
a: 0.084942,
|
|
b: 0.050193,
|
|
c: 0.065637,
|
|
d: 0.046332,
|
|
e: 0.019305,
|
|
i: 0.03861,
|
|
j: 0.050193,
|
|
k: 0.092664,
|
|
l: 0.050193,
|
|
m: 0.057915,
|
|
n: 0.061776,
|
|
o: 0.084942,
|
|
p: 0.235521,
|
|
q: 0.084942,
|
|
r: 0.131274,
|
|
s: 0.100386,
|
|
t: 0.19305,
|
|
u: 0.984555,
|
|
f: 12.4054,
|
|
H: 7.25482,
|
|
xB: 0.015444,
|
|
yB: 0.019305,
|
|
GC: 0
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "I", "v", "J", "D", "E", "F", "A", "B", "C", "K", "L", "G", "M", "N", "O", "w", "g", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "AB", "BB", "CB", "DB", "EB", "FB", "GB", "HB", "IB", "JB", "KB", "LB", "MB", "NB", "OB", "PB", "QB", "RB", "SB", "TB", "UB", "VB", "WB", "XB", "YB", "uB", "ZB", "vB", "aB", "bB", "cB", "dB", "eB", "fB", "gB", "hB", "iB", "jB", "kB", "h", "lB", "mB", "nB", "oB", "pB", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "f", "H", "xB", "yB", "GC"],
|
|
E: "Chrome",
|
|
F: {
|
|
"0": 1352246400,
|
|
"1": 1357862400,
|
|
"2": 1361404800,
|
|
"3": 1364428800,
|
|
"4": 1369094400,
|
|
"5": 1374105600,
|
|
"6": 1376956800,
|
|
"7": 1384214400,
|
|
"8": 1389657600,
|
|
"9": 1392940800,
|
|
I: 1264377600,
|
|
v: 1274745600,
|
|
J: 1283385600,
|
|
D: 1287619200,
|
|
E: 1291248000,
|
|
F: 1296777600,
|
|
A: 1299542400,
|
|
B: 1303862400,
|
|
C: 1307404800,
|
|
K: 1312243200,
|
|
L: 1316131200,
|
|
G: 1316131200,
|
|
M: 1319500800,
|
|
N: 1323734400,
|
|
O: 1328659200,
|
|
w: 1332892800,
|
|
g: 1337040000,
|
|
x: 1340668800,
|
|
y: 1343692800,
|
|
z: 1348531200,
|
|
AB: 1397001600,
|
|
BB: 1400544000,
|
|
CB: 1405468800,
|
|
DB: 1409011200,
|
|
EB: 1412640000,
|
|
FB: 1416268800,
|
|
GB: 1421798400,
|
|
HB: 1425513600,
|
|
IB: 1429401600,
|
|
JB: 1432080000,
|
|
KB: 1437523200,
|
|
LB: 1441152000,
|
|
MB: 1444780800,
|
|
NB: 1449014400,
|
|
OB: 1453248000,
|
|
PB: 1456963200,
|
|
QB: 1460592000,
|
|
RB: 1464134400,
|
|
SB: 1469059200,
|
|
TB: 1472601600,
|
|
UB: 1476230400,
|
|
VB: 1480550400,
|
|
WB: 1485302400,
|
|
XB: 1489017600,
|
|
YB: 1492560000,
|
|
uB: 1496707200,
|
|
ZB: 1500940800,
|
|
vB: 1504569600,
|
|
aB: 1508198400,
|
|
bB: 1512518400,
|
|
cB: 1516752000,
|
|
dB: 1520294400,
|
|
eB: 1523923200,
|
|
fB: 1527552000,
|
|
gB: 1532390400,
|
|
hB: 1536019200,
|
|
iB: 1539648000,
|
|
jB: 1543968000,
|
|
kB: 1548720000,
|
|
h: 1552348800,
|
|
lB: 1555977600,
|
|
mB: 1559606400,
|
|
nB: 1564444800,
|
|
oB: 1568073600,
|
|
pB: 1571702400,
|
|
P: 1575936000,
|
|
Q: 1580860800,
|
|
R: 1586304000,
|
|
S: 1589846400,
|
|
T: 1594684800,
|
|
U: 1598313600,
|
|
V: 1601942400,
|
|
W: 1605571200,
|
|
X: 1611014400,
|
|
Y: 1614556800,
|
|
Z: 1618272000,
|
|
a: 1621987200,
|
|
b: 1626739200,
|
|
c: 1630368000,
|
|
d: 1632268800,
|
|
e: 1634601600,
|
|
i: 1637020800,
|
|
j: 1641340800,
|
|
k: 1643673600,
|
|
l: 1646092800,
|
|
m: 1648512000,
|
|
n: 1650931200,
|
|
o: 1653350400,
|
|
p: 1655769600,
|
|
q: 1659398400,
|
|
r: 1661817600,
|
|
s: 1664236800,
|
|
t: 1666656000,
|
|
u: 1669680000,
|
|
f: 1673308800,
|
|
H: 1675728000,
|
|
xB: null,
|
|
yB: null,
|
|
GC: null
|
|
}
|
|
},
|
|
E: {
|
|
A: {
|
|
I: 0,
|
|
v: 0.008322,
|
|
J: 0.004656,
|
|
D: 0.004465,
|
|
E: 0.003974,
|
|
F: 0.003929,
|
|
A: 0.004425,
|
|
B: 0.004318,
|
|
C: 0.003801,
|
|
K: 0.019305,
|
|
L: 0.096525,
|
|
G: 0.023166,
|
|
HC: 0,
|
|
zB: 0.008692,
|
|
IC: 0.007722,
|
|
JC: 0.00456,
|
|
KC: 0.004283,
|
|
LC: 0.057915,
|
|
"0B": 0.007802,
|
|
qB: 0.007722,
|
|
rB: 0.030888,
|
|
"1B": 0.169884,
|
|
MC: 0.258687,
|
|
NC: 0.042471,
|
|
"2B": 0.034749,
|
|
"3B": 0.088803,
|
|
"4B": 0.169884,
|
|
"5B": 0.857142,
|
|
sB: 0.088803,
|
|
"6B": 0.293436,
|
|
"7B": 0.922779,
|
|
"8B": 0.621621,
|
|
"9B": 0,
|
|
OC: 0
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "HC", "zB", "I", "v", "IC", "J", "JC", "D", "KC", "E", "F", "LC", "A", "0B", "B", "qB", "C", "rB", "K", "1B", "L", "MC", "G", "NC", "2B", "3B", "4B", "5B", "sB", "6B", "7B", "8B", "9B", "OC", ""],
|
|
E: "Safari",
|
|
F: {
|
|
HC: 1205798400,
|
|
zB: 1226534400,
|
|
I: 1244419200,
|
|
v: 1275868800,
|
|
IC: 1311120000,
|
|
J: 1343174400,
|
|
JC: 1382400000,
|
|
D: 1382400000,
|
|
KC: 1410998400,
|
|
E: 1413417600,
|
|
F: 1443657600,
|
|
LC: 1458518400,
|
|
A: 1474329600,
|
|
"0B": 1490572800,
|
|
B: 1505779200,
|
|
qB: 1522281600,
|
|
C: 1537142400,
|
|
rB: 1553472000,
|
|
K: 1568851200,
|
|
"1B": 1585008000,
|
|
L: 1600214400,
|
|
MC: 1619395200,
|
|
G: 1632096000,
|
|
NC: 1635292800,
|
|
"2B": 1639353600,
|
|
"3B": 1647216000,
|
|
"4B": 1652745600,
|
|
"5B": 1658275200,
|
|
sB: 1662940800,
|
|
"6B": 1666569600,
|
|
"7B": 1670889600,
|
|
"8B": 1674432000,
|
|
"9B": null,
|
|
OC: null
|
|
}
|
|
},
|
|
F: {
|
|
A: {
|
|
"0": 0.006702,
|
|
"1": 0.006015,
|
|
"2": 0.005595,
|
|
"3": 0.004393,
|
|
"4": 0.003861,
|
|
"5": 0.004879,
|
|
"6": 0.004879,
|
|
"7": 0.003861,
|
|
"8": 0.005152,
|
|
"9": 0.005014,
|
|
F: 0.0082,
|
|
B: 0.016581,
|
|
C: 0.004317,
|
|
G: 0.00685,
|
|
M: 0.00685,
|
|
N: 0.00685,
|
|
O: 0.005014,
|
|
w: 0.006015,
|
|
g: 0.004879,
|
|
x: 0.006597,
|
|
y: 0.006597,
|
|
z: 0.013434,
|
|
AB: 0.009758,
|
|
BB: 0.004879,
|
|
CB: 0.007722,
|
|
DB: 0.004283,
|
|
EB: 0.004367,
|
|
FB: 0.004534,
|
|
GB: 0.003861,
|
|
HB: 0.004227,
|
|
IB: 0.004418,
|
|
JB: 0.004161,
|
|
KB: 0.004227,
|
|
LB: 0.004725,
|
|
MB: 0.011583,
|
|
NB: 0.008942,
|
|
OB: 0.004707,
|
|
PB: 0.004827,
|
|
QB: 0.004707,
|
|
RB: 0.004707,
|
|
SB: 0.004326,
|
|
TB: 0.008922,
|
|
UB: 0.014349,
|
|
VB: 0.004425,
|
|
WB: 0.00472,
|
|
XB: 0.004425,
|
|
YB: 0.004425,
|
|
ZB: 0.00472,
|
|
aB: 0.004532,
|
|
bB: 0.004566,
|
|
cB: 0.02283,
|
|
dB: 0.00867,
|
|
eB: 0.004656,
|
|
fB: 0.004642,
|
|
gB: 0.003929,
|
|
hB: 0.00944,
|
|
iB: 0.004293,
|
|
jB: 0.003929,
|
|
kB: 0.004298,
|
|
h: 0.096692,
|
|
lB: 0.004201,
|
|
mB: 0.004141,
|
|
nB: 0.004257,
|
|
oB: 0.003939,
|
|
pB: 0.008236,
|
|
P: 0.003855,
|
|
Q: 0.003939,
|
|
R: 0.008514,
|
|
wB: 0.003939,
|
|
S: 0.003939,
|
|
T: 0.003702,
|
|
U: 0.007722,
|
|
V: 0.003855,
|
|
W: 0.003855,
|
|
X: 0.003929,
|
|
Y: 0.003861,
|
|
Z: 0.011703,
|
|
a: 0.007546,
|
|
b: 0.011829,
|
|
c: 0.069498,
|
|
d: 0.648648,
|
|
e: 0.370656,
|
|
PC: 0.00685,
|
|
QC: 0,
|
|
RC: 0.008392,
|
|
SC: 0.004706,
|
|
qB: 0.006229,
|
|
AC: 0.004879,
|
|
TC: 0.008786,
|
|
rB: 0.00472
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "F", "PC", "QC", "RC", "SC", "B", "qB", "AC", "TC", "C", "rB", "G", "M", "N", "O", "w", "g", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "AB", "BB", "CB", "DB", "EB", "FB", "GB", "HB", "IB", "JB", "KB", "LB", "MB", "NB", "OB", "PB", "QB", "RB", "SB", "TB", "UB", "VB", "WB", "XB", "YB", "ZB", "aB", "bB", "cB", "dB", "eB", "fB", "gB", "hB", "iB", "jB", "kB", "h", "lB", "mB", "nB", "oB", "pB", "P", "Q", "R", "wB", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "", "", ""],
|
|
E: "Opera",
|
|
F: {
|
|
"0": 1409616000,
|
|
"1": 1413331200,
|
|
"2": 1417132800,
|
|
"3": 1422316800,
|
|
"4": 1425945600,
|
|
"5": 1430179200,
|
|
"6": 1433808000,
|
|
"7": 1438646400,
|
|
"8": 1442448000,
|
|
"9": 1445904000,
|
|
F: 1150761600,
|
|
PC: 1223424000,
|
|
QC: 1251763200,
|
|
RC: 1267488000,
|
|
SC: 1277942400,
|
|
B: 1292457600,
|
|
qB: 1302566400,
|
|
AC: 1309219200,
|
|
TC: 1323129600,
|
|
C: 1323129600,
|
|
rB: 1352073600,
|
|
G: 1372723200,
|
|
M: 1377561600,
|
|
N: 1381104000,
|
|
O: 1386288000,
|
|
w: 1390867200,
|
|
g: 1393891200,
|
|
x: 1399334400,
|
|
y: 1401753600,
|
|
z: 1405987200,
|
|
AB: 1449100800,
|
|
BB: 1454371200,
|
|
CB: 1457308800,
|
|
DB: 1462320000,
|
|
EB: 1465344000,
|
|
FB: 1470096000,
|
|
GB: 1474329600,
|
|
HB: 1477267200,
|
|
IB: 1481587200,
|
|
JB: 1486425600,
|
|
KB: 1490054400,
|
|
LB: 1494374400,
|
|
MB: 1498003200,
|
|
NB: 1502236800,
|
|
OB: 1506470400,
|
|
PB: 1510099200,
|
|
QB: 1515024000,
|
|
RB: 1517961600,
|
|
SB: 1521676800,
|
|
TB: 1525910400,
|
|
UB: 1530144000,
|
|
VB: 1534982400,
|
|
WB: 1537833600,
|
|
XB: 1543363200,
|
|
YB: 1548201600,
|
|
ZB: 1554768000,
|
|
aB: 1561593600,
|
|
bB: 1566259200,
|
|
cB: 1570406400,
|
|
dB: 1573689600,
|
|
eB: 1578441600,
|
|
fB: 1583971200,
|
|
gB: 1587513600,
|
|
hB: 1592956800,
|
|
iB: 1595894400,
|
|
jB: 1600128000,
|
|
kB: 1603238400,
|
|
h: 1613520000,
|
|
lB: 1612224000,
|
|
mB: 1616544000,
|
|
nB: 1619568000,
|
|
oB: 1623715200,
|
|
pB: 1627948800,
|
|
P: 1631577600,
|
|
Q: 1633392000,
|
|
R: 1635984000,
|
|
wB: 1638403200,
|
|
S: 1642550400,
|
|
T: 1644969600,
|
|
U: 1647993600,
|
|
V: 1650412800,
|
|
W: 1652745600,
|
|
X: 1654646400,
|
|
Y: 1657152000,
|
|
Z: 1660780800,
|
|
a: 1663113600,
|
|
b: 1668816000,
|
|
c: 1668643200,
|
|
d: 1671062400,
|
|
e: 1675209600
|
|
},
|
|
D: {
|
|
F: "o",
|
|
B: "o",
|
|
C: "o",
|
|
PC: "o",
|
|
QC: "o",
|
|
RC: "o",
|
|
SC: "o",
|
|
qB: "o",
|
|
AC: "o",
|
|
TC: "o",
|
|
rB: "o"
|
|
}
|
|
},
|
|
G: {
|
|
A: {
|
|
E: 0,
|
|
zB: 0,
|
|
UC: 0,
|
|
BC: 0.00156679,
|
|
VC: 0.00313358,
|
|
WC: 0.00313358,
|
|
XC: 0.0125343,
|
|
YC: 0.00626717,
|
|
ZC: 0.0172347,
|
|
aC: 0.0564045,
|
|
bC: 0.00470038,
|
|
cC: 0.0987079,
|
|
dC: 0.0250687,
|
|
eC: 0.0235019,
|
|
fC: 0.0219351,
|
|
gC: 0.394832,
|
|
hC: 0.0156679,
|
|
iC: 0.0360362,
|
|
jC: 0.0344694,
|
|
kC: 0.108109,
|
|
lC: 0.282023,
|
|
mC: 0.532709,
|
|
nC: 0.153546,
|
|
"2B": 0.195849,
|
|
"3B": 0.233452,
|
|
"4B": 0.412066,
|
|
"5B": 1.40071,
|
|
sB: 1.43988,
|
|
"6B": 3.51431,
|
|
"7B": 3.62556,
|
|
"8B": 2.04623,
|
|
"9B": 0.00940075
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "zB", "UC", "BC", "VC", "WC", "XC", "E", "YC", "ZC", "aC", "bC", "cC", "dC", "eC", "fC", "gC", "hC", "iC", "jC", "kC", "lC", "mC", "nC", "2B", "3B", "4B", "5B", "sB", "6B", "7B", "8B", "9B", "", ""],
|
|
E: "Safari on iOS",
|
|
F: {
|
|
zB: 1270252800,
|
|
UC: 1283904000,
|
|
BC: 1299628800,
|
|
VC: 1331078400,
|
|
WC: 1359331200,
|
|
XC: 1394409600,
|
|
E: 1410912000,
|
|
YC: 1413763200,
|
|
ZC: 1442361600,
|
|
aC: 1458518400,
|
|
bC: 1473724800,
|
|
cC: 1490572800,
|
|
dC: 1505779200,
|
|
eC: 1522281600,
|
|
fC: 1537142400,
|
|
gC: 1553472000,
|
|
hC: 1568851200,
|
|
iC: 1572220800,
|
|
jC: 1580169600,
|
|
kC: 1585008000,
|
|
lC: 1600214400,
|
|
mC: 1619395200,
|
|
nC: 1632096000,
|
|
"2B": 1639353600,
|
|
"3B": 1647216000,
|
|
"4B": 1652659200,
|
|
"5B": 1658275200,
|
|
sB: 1662940800,
|
|
"6B": 1666569600,
|
|
"7B": 1670889600,
|
|
"8B": 1674432000,
|
|
"9B": null
|
|
}
|
|
},
|
|
H: {
|
|
A: {
|
|
oC: 0.993853
|
|
},
|
|
B: "o",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "oC", "", "", ""],
|
|
E: "Opera Mini",
|
|
F: {
|
|
oC: 1426464000
|
|
}
|
|
},
|
|
I: {
|
|
A: {
|
|
tB: 0,
|
|
I: 0.019696,
|
|
f: 0,
|
|
pC: 0,
|
|
qC: 0,
|
|
rC: 0,
|
|
sC: 0.0787838,
|
|
BC: 0.0689359,
|
|
tC: 0,
|
|
uC: 0.305287
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "pC", "qC", "rC", "tB", "I", "sC", "BC", "tC", "uC", "f", "", "", ""],
|
|
E: "Android Browser",
|
|
F: {
|
|
pC: 1256515200,
|
|
qC: 1274313600,
|
|
rC: 1291593600,
|
|
tB: 1298332800,
|
|
I: 1318896000,
|
|
sC: 1341792000,
|
|
BC: 1374624000,
|
|
tC: 1386547200,
|
|
uC: 1401667200,
|
|
f: 1673568000
|
|
}
|
|
},
|
|
J: {
|
|
A: {
|
|
D: 0,
|
|
A: 0
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "D", "A", "", "", ""],
|
|
E: "Blackberry Browser",
|
|
F: {
|
|
D: 1325376000,
|
|
A: 1359504000
|
|
}
|
|
},
|
|
K: {
|
|
A: {
|
|
A: 0,
|
|
B: 0,
|
|
C: 0,
|
|
h: 0.0111391,
|
|
qB: 0,
|
|
AC: 0,
|
|
rB: 0
|
|
},
|
|
B: "o",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "qB", "AC", "C", "rB", "h", "", "", ""],
|
|
E: "Opera Mobile",
|
|
F: {
|
|
A: 1287100800,
|
|
B: 1300752000,
|
|
qB: 1314835200,
|
|
AC: 1318291200,
|
|
C: 1330300800,
|
|
rB: 1349740800,
|
|
h: 1673827200
|
|
},
|
|
D: {
|
|
h: "webkit"
|
|
}
|
|
},
|
|
L: {
|
|
A: {
|
|
H: 42.629
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "H", "", "", ""],
|
|
E: "Chrome for Android",
|
|
F: {
|
|
H: 1675728000
|
|
}
|
|
},
|
|
M: {
|
|
A: {
|
|
H: 0.294672
|
|
},
|
|
B: "moz",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "H", "", "", ""],
|
|
E: "Firefox for Android",
|
|
F: {
|
|
H: 1676332800
|
|
}
|
|
},
|
|
N: {
|
|
A: {
|
|
A: 0.0115934,
|
|
B: 0.022664
|
|
},
|
|
B: "ms",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "", "", ""],
|
|
E: "IE Mobile",
|
|
F: {
|
|
A: 1340150400,
|
|
B: 1353456000
|
|
}
|
|
},
|
|
O: {
|
|
A: {
|
|
vC: 0.896294
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "vC", "", "", ""],
|
|
E: "UC Browser for Android",
|
|
F: {
|
|
vC: 1634688000
|
|
},
|
|
D: {
|
|
vC: "webkit"
|
|
}
|
|
},
|
|
P: {
|
|
A: {
|
|
I: 0.166372,
|
|
g: 0,
|
|
wC: 0.0103543,
|
|
xC: 0.010304,
|
|
yC: 0.0519911,
|
|
zC: 0.0103584,
|
|
"0C": 0.0104443,
|
|
"0B": 0.0105043,
|
|
"1C": 0.0311947,
|
|
"2C": 0.0103982,
|
|
"3C": 0.0311947,
|
|
"4C": 0.0311947,
|
|
"5C": 0.0207965,
|
|
sB: 0.0727876,
|
|
"6C": 0.0727876,
|
|
"7C": 0.0935841,
|
|
"8C": 1.32057
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "I", "wC", "xC", "yC", "zC", "0C", "0B", "1C", "2C", "3C", "4C", "5C", "sB", "6C", "7C", "8C", "g", "", "", ""],
|
|
E: "Samsung Internet",
|
|
F: {
|
|
I: 1461024000,
|
|
wC: 1481846400,
|
|
xC: 1509408000,
|
|
yC: 1528329600,
|
|
zC: 1546128000,
|
|
"0C": 1554163200,
|
|
"0B": 1567900800,
|
|
"1C": 1582588800,
|
|
"2C": 1593475200,
|
|
"3C": 1605657600,
|
|
"4C": 1618531200,
|
|
"5C": 1629072000,
|
|
sB: 1640736000,
|
|
"6C": 1651708800,
|
|
"7C": 1659657600,
|
|
"8C": 1667260800,
|
|
g: 1677369600
|
|
}
|
|
},
|
|
Q: {
|
|
A: {
|
|
"1B": 0.12278
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1B", "", "", ""],
|
|
E: "QQ Browser",
|
|
F: {
|
|
"1B": 1663718400
|
|
}
|
|
},
|
|
R: {
|
|
A: {
|
|
"9C": 0
|
|
},
|
|
B: "webkit",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "9C", "", "", ""],
|
|
E: "Baidu Browser",
|
|
F: {
|
|
"9C": 1663027200
|
|
}
|
|
},
|
|
S: {
|
|
A: {
|
|
AD: 0.079807,
|
|
BD: 0
|
|
},
|
|
B: "moz",
|
|
C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "AD", "BD", "", "", ""],
|
|
E: "KaiOS Browser",
|
|
F: {
|
|
AD: 1527811200,
|
|
BD: 1631664000
|
|
}
|
|
}
|
|
};
|
|
|
|
var browsers = browsers$2.browsers;
|
|
var versions$1 = browserVersions$1.browserVersions;
|
|
var agentsData = agents$1;
|
|
function unpackBrowserVersions(versionsData) {
|
|
return Object.keys(versionsData).reduce(function (usage, version) {
|
|
usage[versions$1[version]] = versionsData[version];
|
|
return usage;
|
|
}, {});
|
|
}
|
|
agents$2.agents = Object.keys(agentsData).reduce(function (map, key) {
|
|
var versionsData = agentsData[key];
|
|
map[browsers[key]] = Object.keys(versionsData).reduce(function (data, entry) {
|
|
if (entry === 'A') {
|
|
data.usage_global = unpackBrowserVersions(versionsData[entry]);
|
|
} else if (entry === 'C') {
|
|
data.versions = versionsData[entry].reduce(function (list, version) {
|
|
if (version === '') {
|
|
list.push(null);
|
|
} else {
|
|
list.push(versions$1[version]);
|
|
}
|
|
return list;
|
|
}, []);
|
|
} else if (entry === 'D') {
|
|
data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]);
|
|
} else if (entry === 'E') {
|
|
data.browser = versionsData[entry];
|
|
} else if (entry === 'F') {
|
|
data.release_date = Object.keys(versionsData[entry]).reduce(function (map2, key2) {
|
|
map2[versions$1[key2]] = versionsData[entry][key2];
|
|
return map2;
|
|
}, {});
|
|
} else {
|
|
data.prefix = versionsData[entry];
|
|
}
|
|
return data;
|
|
}, {});
|
|
return map;
|
|
}, {});
|
|
|
|
var v4 = {
|
|
start: "2015-09-08",
|
|
lts: "2015-10-12",
|
|
maintenance: "2017-04-01",
|
|
end: "2018-04-30",
|
|
codename: "Argon"
|
|
};
|
|
var v5 = {
|
|
start: "2015-10-29",
|
|
maintenance: "2016-04-30",
|
|
end: "2016-06-30"
|
|
};
|
|
var v6 = {
|
|
start: "2016-04-26",
|
|
lts: "2016-10-18",
|
|
maintenance: "2018-04-30",
|
|
end: "2019-04-30",
|
|
codename: "Boron"
|
|
};
|
|
var v7 = {
|
|
start: "2016-10-25",
|
|
maintenance: "2017-04-30",
|
|
end: "2017-06-30"
|
|
};
|
|
var v8 = {
|
|
start: "2017-05-30",
|
|
lts: "2017-10-31",
|
|
maintenance: "2019-01-01",
|
|
end: "2019-12-31",
|
|
codename: "Carbon"
|
|
};
|
|
var v9 = {
|
|
start: "2017-10-01",
|
|
maintenance: "2018-04-01",
|
|
end: "2018-06-30"
|
|
};
|
|
var v10 = {
|
|
start: "2018-04-24",
|
|
lts: "2018-10-30",
|
|
maintenance: "2020-05-19",
|
|
end: "2021-04-30",
|
|
codename: "Dubnium"
|
|
};
|
|
var v11 = {
|
|
start: "2018-10-23",
|
|
maintenance: "2019-04-22",
|
|
end: "2019-06-01"
|
|
};
|
|
var v12 = {
|
|
start: "2019-04-23",
|
|
lts: "2019-10-21",
|
|
maintenance: "2020-11-30",
|
|
end: "2022-04-30",
|
|
codename: "Erbium"
|
|
};
|
|
var v13 = {
|
|
start: "2019-10-22",
|
|
maintenance: "2020-04-01",
|
|
end: "2020-06-01"
|
|
};
|
|
var v14 = {
|
|
start: "2020-04-21",
|
|
lts: "2020-10-27",
|
|
maintenance: "2021-10-19",
|
|
end: "2023-04-30",
|
|
codename: "Fermium"
|
|
};
|
|
var v15 = {
|
|
start: "2020-10-20",
|
|
maintenance: "2021-04-01",
|
|
end: "2021-06-01"
|
|
};
|
|
var v16 = {
|
|
start: "2021-04-20",
|
|
lts: "2021-10-26",
|
|
maintenance: "2022-10-18",
|
|
end: "2023-09-11",
|
|
codename: "Gallium"
|
|
};
|
|
var v17 = {
|
|
start: "2021-10-19",
|
|
maintenance: "2022-04-01",
|
|
end: "2022-06-01"
|
|
};
|
|
var v18 = {
|
|
start: "2022-04-19",
|
|
lts: "2022-10-25",
|
|
maintenance: "2023-10-18",
|
|
end: "2025-04-30",
|
|
codename: "Hydrogen"
|
|
};
|
|
var v19 = {
|
|
start: "2022-10-18",
|
|
maintenance: "2023-04-01",
|
|
end: "2023-06-01"
|
|
};
|
|
var v20 = {
|
|
start: "2023-04-18",
|
|
lts: "2023-10-24",
|
|
maintenance: "2024-10-22",
|
|
end: "2026-04-30",
|
|
codename: ""
|
|
};
|
|
var require$$2$1 = {
|
|
"v0.8": {
|
|
start: "2012-06-25",
|
|
end: "2014-07-31"
|
|
},
|
|
"v0.10": {
|
|
start: "2013-03-11",
|
|
end: "2016-10-31"
|
|
},
|
|
"v0.12": {
|
|
start: "2015-02-06",
|
|
end: "2016-12-31"
|
|
},
|
|
v4: v4,
|
|
v5: v5,
|
|
v6: v6,
|
|
v7: v7,
|
|
v8: v8,
|
|
v9: v9,
|
|
v10: v10,
|
|
v11: v11,
|
|
v12: v12,
|
|
v13: v13,
|
|
v14: v14,
|
|
v15: v15,
|
|
v16: v16,
|
|
v17: v17,
|
|
v18: v18,
|
|
v19: v19,
|
|
v20: v20
|
|
};
|
|
|
|
var _nodeResolve_empty = {};
|
|
|
|
var _nodeResolve_empty$1 = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
'default': _nodeResolve_empty
|
|
});
|
|
|
|
var require$$0$8 = /*@__PURE__*/getAugmentedNamespace(_nodeResolve_empty$1);
|
|
|
|
var versions = {
|
|
"0.20": "39",
|
|
"0.21": "41",
|
|
"0.22": "41",
|
|
"0.23": "41",
|
|
"0.24": "41",
|
|
"0.25": "42",
|
|
"0.26": "42",
|
|
"0.27": "43",
|
|
"0.28": "43",
|
|
"0.29": "43",
|
|
"0.30": "44",
|
|
"0.31": "45",
|
|
"0.32": "45",
|
|
"0.33": "45",
|
|
"0.34": "45",
|
|
"0.35": "45",
|
|
"0.36": "47",
|
|
"0.37": "49",
|
|
"1.0": "49",
|
|
"1.1": "50",
|
|
"1.2": "51",
|
|
"1.3": "52",
|
|
"1.4": "53",
|
|
"1.5": "54",
|
|
"1.6": "56",
|
|
"1.7": "58",
|
|
"1.8": "59",
|
|
"2.0": "61",
|
|
"2.1": "61",
|
|
"3.0": "66",
|
|
"3.1": "66",
|
|
"4.0": "69",
|
|
"4.1": "69",
|
|
"4.2": "69",
|
|
"5.0": "73",
|
|
"6.0": "76",
|
|
"6.1": "76",
|
|
"7.0": "78",
|
|
"7.1": "78",
|
|
"7.2": "78",
|
|
"7.3": "78",
|
|
"8.0": "80",
|
|
"8.1": "80",
|
|
"8.2": "80",
|
|
"8.3": "80",
|
|
"8.4": "80",
|
|
"8.5": "80",
|
|
"9.0": "83",
|
|
"9.1": "83",
|
|
"9.2": "83",
|
|
"9.3": "83",
|
|
"9.4": "83",
|
|
"10.0": "85",
|
|
"10.1": "85",
|
|
"10.2": "85",
|
|
"10.3": "85",
|
|
"10.4": "85",
|
|
"11.0": "87",
|
|
"11.1": "87",
|
|
"11.2": "87",
|
|
"11.3": "87",
|
|
"11.4": "87",
|
|
"11.5": "87",
|
|
"12.0": "89",
|
|
"12.1": "89",
|
|
"12.2": "89",
|
|
"13.0": "91",
|
|
"13.1": "91",
|
|
"13.2": "91",
|
|
"13.3": "91",
|
|
"13.4": "91",
|
|
"13.5": "91",
|
|
"13.6": "91",
|
|
"14.0": "93",
|
|
"14.1": "93",
|
|
"14.2": "93",
|
|
"15.0": "94",
|
|
"15.1": "94",
|
|
"15.2": "94",
|
|
"15.3": "94",
|
|
"15.4": "94",
|
|
"15.5": "94",
|
|
"16.0": "96",
|
|
"16.1": "96",
|
|
"16.2": "96",
|
|
"17.0": "98",
|
|
"17.1": "98",
|
|
"17.2": "98",
|
|
"17.3": "98",
|
|
"17.4": "98",
|
|
"18.0": "100",
|
|
"18.1": "100",
|
|
"18.2": "100",
|
|
"18.3": "100",
|
|
"19.0": "102",
|
|
"19.1": "102",
|
|
"20.0": "104",
|
|
"20.1": "104",
|
|
"20.2": "104",
|
|
"20.3": "104",
|
|
"21.0": "106",
|
|
"21.1": "106",
|
|
"21.2": "106",
|
|
"21.3": "106",
|
|
"21.4": "106",
|
|
"22.0": "108",
|
|
"22.1": "108",
|
|
"22.2": "108",
|
|
"22.3": "108",
|
|
"23.0": "110",
|
|
"23.1": "110",
|
|
"24.0": "111"
|
|
};
|
|
|
|
function BrowserslistError$2(message) {
|
|
this.name = 'BrowserslistError';
|
|
this.message = message;
|
|
this.browserslist = true;
|
|
if (Error.captureStackTrace) {
|
|
Error.captureStackTrace(this, BrowserslistError$2);
|
|
}
|
|
}
|
|
BrowserslistError$2.prototype = Error.prototype;
|
|
var error = BrowserslistError$2;
|
|
|
|
var AND_REGEXP = /^\s+and\s+(.*)/i;
|
|
var OR_REGEXP = /^(?:,\s*|\s+or\s+)(.*)/i;
|
|
function flatten(array) {
|
|
if (!Array.isArray(array)) return [array];
|
|
return array.reduce(function (a, b) {
|
|
return a.concat(flatten(b));
|
|
}, []);
|
|
}
|
|
function find(string, predicate) {
|
|
for (var n = 1, max = string.length; n <= max; n++) {
|
|
var parsed = string.substr(-n, n);
|
|
if (predicate(parsed, n, max)) {
|
|
return string.slice(0, -n);
|
|
}
|
|
}
|
|
return '';
|
|
}
|
|
function matchQuery(all, query) {
|
|
var node = {
|
|
query: query
|
|
};
|
|
if (query.indexOf('not ') === 0) {
|
|
node.not = true;
|
|
query = query.slice(4);
|
|
}
|
|
for (var name in all) {
|
|
var type = all[name];
|
|
var match = query.match(type.regexp);
|
|
if (match) {
|
|
node.type = name;
|
|
for (var i = 0; i < type.matches.length; i++) {
|
|
node[type.matches[i]] = match[i + 1];
|
|
}
|
|
return node;
|
|
}
|
|
}
|
|
node.type = 'unknown';
|
|
return node;
|
|
}
|
|
function matchBlock(all, string, qs) {
|
|
var node;
|
|
return find(string, function (parsed, n, max) {
|
|
if (AND_REGEXP.test(parsed)) {
|
|
node = matchQuery(all, parsed.match(AND_REGEXP)[1]);
|
|
node.compose = 'and';
|
|
qs.unshift(node);
|
|
return true;
|
|
} else if (OR_REGEXP.test(parsed)) {
|
|
node = matchQuery(all, parsed.match(OR_REGEXP)[1]);
|
|
node.compose = 'or';
|
|
qs.unshift(node);
|
|
return true;
|
|
} else if (n === max) {
|
|
node = matchQuery(all, parsed.trim());
|
|
node.compose = 'or';
|
|
qs.unshift(node);
|
|
return true;
|
|
}
|
|
return false;
|
|
});
|
|
}
|
|
var parse$3 = function parse(all, queries) {
|
|
if (!Array.isArray(queries)) queries = [queries];
|
|
return flatten(queries.map(function (block) {
|
|
var qs = [];
|
|
do {
|
|
block = matchBlock(all, block, qs);
|
|
} while (block);
|
|
return qs;
|
|
}));
|
|
};
|
|
|
|
var BrowserslistError$1 = error;
|
|
function noop() {}
|
|
var browser = {
|
|
loadQueries: function loadQueries() {
|
|
throw new BrowserslistError$1('Sharable configs are not supported in client-side build of Browserslist');
|
|
},
|
|
getStat: function getStat(opts) {
|
|
return opts.stats;
|
|
},
|
|
loadConfig: function loadConfig(opts) {
|
|
if (opts.config) {
|
|
throw new BrowserslistError$1('Browserslist config are not supported in client-side build');
|
|
}
|
|
},
|
|
loadCountry: function loadCountry() {
|
|
throw new BrowserslistError$1('Country statistics are not supported ' + 'in client-side build of Browserslist');
|
|
},
|
|
loadFeature: function loadFeature() {
|
|
throw new BrowserslistError$1('Supports queries are not available in client-side build of Browserslist');
|
|
},
|
|
currentNode: function currentNode(resolve, context) {
|
|
return resolve(['maintained node versions'], context)[0];
|
|
},
|
|
parseConfig: noop,
|
|
readConfig: noop,
|
|
findConfig: noop,
|
|
clearCaches: noop,
|
|
oldDataWarning: noop,
|
|
env: {}
|
|
};
|
|
|
|
var jsReleases = require$$0$9;
|
|
var agents = agents$2.agents;
|
|
var jsEOL = require$$2$1;
|
|
var path = require$$0$8;
|
|
var e2c = versions;
|
|
var BrowserslistError = error;
|
|
var parse$2 = parse$3;
|
|
var env = browser;
|
|
var YEAR = 365.259641 * 24 * 60 * 60 * 1000;
|
|
var ANDROID_EVERGREEN_FIRST = 37;
|
|
function isVersionsMatch(versionA, versionB) {
|
|
return (versionA + '.').indexOf(versionB + '.') === 0;
|
|
}
|
|
function isEolReleased(name) {
|
|
var version = name.slice(1);
|
|
return browserslist.nodeVersions.some(function (i) {
|
|
return isVersionsMatch(i, version);
|
|
});
|
|
}
|
|
function normalize$1(versions) {
|
|
return versions.filter(function (version) {
|
|
return typeof version === 'string';
|
|
});
|
|
}
|
|
function normalizeElectron(version) {
|
|
var versionToUse = version;
|
|
if (version.split('.').length === 3) {
|
|
versionToUse = version.split('.').slice(0, -1).join('.');
|
|
}
|
|
return versionToUse;
|
|
}
|
|
function nameMapper(name) {
|
|
return function mapName(version) {
|
|
return name + ' ' + version;
|
|
};
|
|
}
|
|
function getMajor(version) {
|
|
return parseInt(version.split('.')[0]);
|
|
}
|
|
function getMajorVersions(released, number) {
|
|
if (released.length === 0) return [];
|
|
var majorVersions = uniq(released.map(getMajor));
|
|
var minimum = majorVersions[majorVersions.length - number];
|
|
if (!minimum) {
|
|
return released;
|
|
}
|
|
var selected = [];
|
|
for (var i = released.length - 1; i >= 0; i--) {
|
|
if (minimum > getMajor(released[i])) break;
|
|
selected.unshift(released[i]);
|
|
}
|
|
return selected;
|
|
}
|
|
function uniq(array) {
|
|
var filtered = [];
|
|
for (var i = 0; i < array.length; i++) {
|
|
if (filtered.indexOf(array[i]) === -1) filtered.push(array[i]);
|
|
}
|
|
return filtered;
|
|
}
|
|
function fillUsage(result, name, data) {
|
|
for (var i in data) {
|
|
result[name + ' ' + i] = data[i];
|
|
}
|
|
}
|
|
function generateFilter(sign, version) {
|
|
version = parseFloat(version);
|
|
if (sign === '>') {
|
|
return function (v) {
|
|
return parseFloat(v) > version;
|
|
};
|
|
} else if (sign === '>=') {
|
|
return function (v) {
|
|
return parseFloat(v) >= version;
|
|
};
|
|
} else if (sign === '<') {
|
|
return function (v) {
|
|
return parseFloat(v) < version;
|
|
};
|
|
} else {
|
|
return function (v) {
|
|
return parseFloat(v) <= version;
|
|
};
|
|
}
|
|
}
|
|
function generateSemverFilter(sign, version) {
|
|
version = version.split('.').map(parseSimpleInt);
|
|
version[1] = version[1] || 0;
|
|
version[2] = version[2] || 0;
|
|
if (sign === '>') {
|
|
return function (v) {
|
|
v = v.split('.').map(parseSimpleInt);
|
|
return compareSemver(v, version) > 0;
|
|
};
|
|
} else if (sign === '>=') {
|
|
return function (v) {
|
|
v = v.split('.').map(parseSimpleInt);
|
|
return compareSemver(v, version) >= 0;
|
|
};
|
|
} else if (sign === '<') {
|
|
return function (v) {
|
|
v = v.split('.').map(parseSimpleInt);
|
|
return compareSemver(version, v) > 0;
|
|
};
|
|
} else {
|
|
return function (v) {
|
|
v = v.split('.').map(parseSimpleInt);
|
|
return compareSemver(version, v) >= 0;
|
|
};
|
|
}
|
|
}
|
|
function parseSimpleInt(x) {
|
|
return parseInt(x);
|
|
}
|
|
function compare$2(a, b) {
|
|
if (a < b) return -1;
|
|
if (a > b) return +1;
|
|
return 0;
|
|
}
|
|
function compareSemver(a, b) {
|
|
return compare$2(parseInt(a[0]), parseInt(b[0])) || compare$2(parseInt(a[1] || '0'), parseInt(b[1] || '0')) || compare$2(parseInt(a[2] || '0'), parseInt(b[2] || '0'));
|
|
}
|
|
function semverFilterLoose(operator, range) {
|
|
range = range.split('.').map(parseSimpleInt);
|
|
if (typeof range[1] === 'undefined') {
|
|
range[1] = 'x';
|
|
}
|
|
switch (operator) {
|
|
case '<=':
|
|
return function (version) {
|
|
version = version.split('.').map(parseSimpleInt);
|
|
return compareSemverLoose(version, range) <= 0;
|
|
};
|
|
case '>=':
|
|
default:
|
|
return function (version) {
|
|
version = version.split('.').map(parseSimpleInt);
|
|
return compareSemverLoose(version, range) >= 0;
|
|
};
|
|
}
|
|
}
|
|
function compareSemverLoose(version, range) {
|
|
if (version[0] !== range[0]) {
|
|
return version[0] < range[0] ? -1 : +1;
|
|
}
|
|
if (range[1] === 'x') {
|
|
return 0;
|
|
}
|
|
if (version[1] !== range[1]) {
|
|
return version[1] < range[1] ? -1 : +1;
|
|
}
|
|
return 0;
|
|
}
|
|
function resolveVersion(data, version) {
|
|
if (data.versions.indexOf(version) !== -1) {
|
|
return version;
|
|
} else if (browserslist.versionAliases[data.name][version]) {
|
|
return browserslist.versionAliases[data.name][version];
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
function normalizeVersion(data, version) {
|
|
var resolved = resolveVersion(data, version);
|
|
if (resolved) {
|
|
return resolved;
|
|
} else if (data.versions.length === 1) {
|
|
return data.versions[0];
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
function filterByYear(since, context) {
|
|
since = since / 1000;
|
|
return Object.keys(agents).reduce(function (selected, name) {
|
|
var data = byName(name, context);
|
|
if (!data) return selected;
|
|
var versions = Object.keys(data.releaseDate).filter(function (v) {
|
|
var date = data.releaseDate[v];
|
|
return date !== null && date >= since;
|
|
});
|
|
return selected.concat(versions.map(nameMapper(data.name)));
|
|
}, []);
|
|
}
|
|
function cloneData(data) {
|
|
return {
|
|
name: data.name,
|
|
versions: data.versions,
|
|
released: data.released,
|
|
releaseDate: data.releaseDate
|
|
};
|
|
}
|
|
function mapVersions(data, map) {
|
|
data.versions = data.versions.map(function (i) {
|
|
return map[i] || i;
|
|
});
|
|
data.released = data.released.map(function (i) {
|
|
return map[i] || i;
|
|
});
|
|
var fixedDate = {};
|
|
for (var i in data.releaseDate) {
|
|
fixedDate[map[i] || i] = data.releaseDate[i];
|
|
}
|
|
data.releaseDate = fixedDate;
|
|
return data;
|
|
}
|
|
function byName(name, context) {
|
|
name = name.toLowerCase();
|
|
name = browserslist.aliases[name] || name;
|
|
if (context.mobileToDesktop && browserslist.desktopNames[name]) {
|
|
var desktop = browserslist.data[browserslist.desktopNames[name]];
|
|
if (name === 'android') {
|
|
return normalizeAndroidData(cloneData(browserslist.data[name]), desktop);
|
|
} else {
|
|
var cloned = cloneData(desktop);
|
|
cloned.name = name;
|
|
if (name === 'op_mob') {
|
|
cloned = mapVersions(cloned, {
|
|
'10.0-10.1': '10'
|
|
});
|
|
}
|
|
return cloned;
|
|
}
|
|
}
|
|
return browserslist.data[name];
|
|
}
|
|
function normalizeAndroidVersions(androidVersions, chromeVersions) {
|
|
var firstEvergreen = ANDROID_EVERGREEN_FIRST;
|
|
var last = chromeVersions[chromeVersions.length - 1];
|
|
return androidVersions.filter(function (version) {
|
|
return /^(?:[2-4]\.|[34]$)/.test(version);
|
|
}).concat(chromeVersions.slice(firstEvergreen - last - 1));
|
|
}
|
|
function normalizeAndroidData(android, chrome) {
|
|
android.released = normalizeAndroidVersions(android.released, chrome.released);
|
|
android.versions = normalizeAndroidVersions(android.versions, chrome.versions);
|
|
return android;
|
|
}
|
|
function checkName(name, context) {
|
|
var data = byName(name, context);
|
|
if (!data) throw new BrowserslistError('Unknown browser ' + name);
|
|
return data;
|
|
}
|
|
function unknownQuery(query) {
|
|
return new BrowserslistError('Unknown browser query `' + query + '`. ' + 'Maybe you are using old Browserslist or made typo in query.');
|
|
}
|
|
function filterAndroid(list, versions, context) {
|
|
if (context.mobileToDesktop) return list;
|
|
var released = browserslist.data.android.released;
|
|
var last = released[released.length - 1];
|
|
var diff = last - ANDROID_EVERGREEN_FIRST - versions;
|
|
if (diff > 0) {
|
|
return list.slice(-1);
|
|
} else {
|
|
return list.slice(diff - 1);
|
|
}
|
|
}
|
|
function resolve$2(queries, context) {
|
|
return parse$2(QUERIES, queries).reduce(function (result, node, index) {
|
|
if (node.not && index === 0) {
|
|
throw new BrowserslistError('Write any browsers query (for instance, `defaults`) ' + 'before `' + node.query + '`');
|
|
}
|
|
var type = QUERIES[node.type];
|
|
var array = type.select.call(browserslist, context, node).map(function (j) {
|
|
var parts = j.split(' ');
|
|
if (parts[1] === '0') {
|
|
return parts[0] + ' ' + byName(parts[0], context).versions[0];
|
|
} else {
|
|
return j;
|
|
}
|
|
});
|
|
if (node.compose === 'and') {
|
|
if (node.not) {
|
|
return result.filter(function (j) {
|
|
return array.indexOf(j) === -1;
|
|
});
|
|
} else {
|
|
return result.filter(function (j) {
|
|
return array.indexOf(j) !== -1;
|
|
});
|
|
}
|
|
} else {
|
|
if (node.not) {
|
|
var filter = {};
|
|
array.forEach(function (j) {
|
|
filter[j] = true;
|
|
});
|
|
return result.filter(function (j) {
|
|
return !filter[j];
|
|
});
|
|
}
|
|
return result.concat(array);
|
|
}
|
|
}, []);
|
|
}
|
|
function prepareOpts(opts) {
|
|
if (typeof opts === 'undefined') opts = {};
|
|
if (typeof opts.path === 'undefined') {
|
|
opts.path = path.resolve ? path.resolve('.') : '.';
|
|
}
|
|
return opts;
|
|
}
|
|
function prepareQueries(queries, opts) {
|
|
if (typeof queries === 'undefined' || queries === null) {
|
|
var config = browserslist.loadConfig(opts);
|
|
if (config) {
|
|
queries = config;
|
|
} else {
|
|
queries = browserslist.defaults;
|
|
}
|
|
}
|
|
return queries;
|
|
}
|
|
function checkQueries(queries) {
|
|
if (!(typeof queries === 'string' || Array.isArray(queries))) {
|
|
throw new BrowserslistError('Browser queries must be an array or string. Got ' + typeof queries + '.');
|
|
}
|
|
}
|
|
var cache = {};
|
|
function browserslist(queries, opts) {
|
|
opts = prepareOpts(opts);
|
|
queries = prepareQueries(queries, opts);
|
|
checkQueries(queries);
|
|
var context = {
|
|
ignoreUnknownVersions: opts.ignoreUnknownVersions,
|
|
dangerousExtend: opts.dangerousExtend,
|
|
mobileToDesktop: opts.mobileToDesktop,
|
|
path: opts.path,
|
|
env: opts.env
|
|
};
|
|
env.oldDataWarning(browserslist.data);
|
|
var stats = env.getStat(opts, browserslist.data);
|
|
if (stats) {
|
|
context.customUsage = {};
|
|
for (var browser in stats) {
|
|
fillUsage(context.customUsage, browser, stats[browser]);
|
|
}
|
|
}
|
|
var cacheKey = JSON.stringify([queries, context]);
|
|
if (cache[cacheKey]) return cache[cacheKey];
|
|
var result = uniq(resolve$2(queries, context)).sort(function (name1, name2) {
|
|
name1 = name1.split(' ');
|
|
name2 = name2.split(' ');
|
|
if (name1[0] === name2[0]) {
|
|
var version1 = name1[1].split('-')[0];
|
|
var version2 = name2[1].split('-')[0];
|
|
return compareSemver(version2.split('.'), version1.split('.'));
|
|
} else {
|
|
return compare$2(name1[0], name2[0]);
|
|
}
|
|
});
|
|
if (!env.env.BROWSERSLIST_DISABLE_CACHE) {
|
|
cache[cacheKey] = result;
|
|
}
|
|
return result;
|
|
}
|
|
browserslist.parse = function (queries, opts) {
|
|
opts = prepareOpts(opts);
|
|
queries = prepareQueries(queries, opts);
|
|
checkQueries(queries);
|
|
return parse$2(QUERIES, queries);
|
|
};
|
|
browserslist.cache = {};
|
|
browserslist.data = {};
|
|
browserslist.usage = {
|
|
global: {},
|
|
custom: null
|
|
};
|
|
browserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead'];
|
|
browserslist.aliases = {
|
|
fx: 'firefox',
|
|
ff: 'firefox',
|
|
ios: 'ios_saf',
|
|
explorer: 'ie',
|
|
blackberry: 'bb',
|
|
explorermobile: 'ie_mob',
|
|
operamini: 'op_mini',
|
|
operamobile: 'op_mob',
|
|
chromeandroid: 'and_chr',
|
|
firefoxandroid: 'and_ff',
|
|
ucandroid: 'and_uc',
|
|
qqandroid: 'and_qq'
|
|
};
|
|
browserslist.desktopNames = {
|
|
and_chr: 'chrome',
|
|
and_ff: 'firefox',
|
|
ie_mob: 'ie',
|
|
op_mob: 'opera',
|
|
android: 'chrome'
|
|
};
|
|
browserslist.versionAliases = {};
|
|
browserslist.clearCaches = env.clearCaches;
|
|
browserslist.parseConfig = env.parseConfig;
|
|
browserslist.readConfig = env.readConfig;
|
|
browserslist.findConfig = env.findConfig;
|
|
browserslist.loadConfig = env.loadConfig;
|
|
browserslist.coverage = function (browsers, stats) {
|
|
var data;
|
|
if (typeof stats === 'undefined') {
|
|
data = browserslist.usage.global;
|
|
} else if (stats === 'my stats') {
|
|
var opts = {};
|
|
opts.path = path.resolve ? path.resolve('.') : '.';
|
|
var customStats = env.getStat(opts);
|
|
if (!customStats) {
|
|
throw new BrowserslistError('Custom usage statistics was not provided');
|
|
}
|
|
data = {};
|
|
for (var browser in customStats) {
|
|
fillUsage(data, browser, customStats[browser]);
|
|
}
|
|
} else if (typeof stats === 'string') {
|
|
if (stats.length > 2) {
|
|
stats = stats.toLowerCase();
|
|
} else {
|
|
stats = stats.toUpperCase();
|
|
}
|
|
env.loadCountry(browserslist.usage, stats, browserslist.data);
|
|
data = browserslist.usage[stats];
|
|
} else {
|
|
if ('dataByBrowser' in stats) {
|
|
stats = stats.dataByBrowser;
|
|
}
|
|
data = {};
|
|
for (var name in stats) {
|
|
for (var version in stats[name]) {
|
|
data[name + ' ' + version] = stats[name][version];
|
|
}
|
|
}
|
|
}
|
|
return browsers.reduce(function (all, i) {
|
|
var usage = data[i];
|
|
if (usage === undefined) {
|
|
usage = data[i.replace(/ \S+$/, ' 0')];
|
|
}
|
|
return all + (usage || 0);
|
|
}, 0);
|
|
};
|
|
function nodeQuery(context, node) {
|
|
var matched = browserslist.nodeVersions.filter(function (i) {
|
|
return isVersionsMatch(i, node.version);
|
|
});
|
|
if (matched.length === 0) {
|
|
if (context.ignoreUnknownVersions) {
|
|
return [];
|
|
} else {
|
|
throw new BrowserslistError('Unknown version ' + node.version + ' of Node.js');
|
|
}
|
|
}
|
|
return ['node ' + matched[matched.length - 1]];
|
|
}
|
|
function sinceQuery(context, node) {
|
|
var year = parseInt(node.year);
|
|
var month = parseInt(node.month || '01') - 1;
|
|
var day = parseInt(node.day || '01');
|
|
return filterByYear(Date.UTC(year, month, day, 0, 0, 0), context);
|
|
}
|
|
function coverQuery(context, node) {
|
|
var coverage = parseFloat(node.coverage);
|
|
var usage = browserslist.usage.global;
|
|
if (node.place) {
|
|
if (node.place.match(/^my\s+stats$/i)) {
|
|
if (!context.customUsage) {
|
|
throw new BrowserslistError('Custom usage statistics was not provided');
|
|
}
|
|
usage = context.customUsage;
|
|
} else {
|
|
var place;
|
|
if (node.place.length === 2) {
|
|
place = node.place.toUpperCase();
|
|
} else {
|
|
place = node.place.toLowerCase();
|
|
}
|
|
env.loadCountry(browserslist.usage, place, browserslist.data);
|
|
usage = browserslist.usage[place];
|
|
}
|
|
}
|
|
var versions = Object.keys(usage).sort(function (a, b) {
|
|
return usage[b] - usage[a];
|
|
});
|
|
var coveraged = 0;
|
|
var result = [];
|
|
var version;
|
|
for (var i = 0; i < versions.length; i++) {
|
|
version = versions[i];
|
|
if (usage[version] === 0) break;
|
|
coveraged += usage[version];
|
|
result.push(version);
|
|
if (coveraged >= coverage) break;
|
|
}
|
|
return result;
|
|
}
|
|
var QUERIES = {
|
|
last_major_versions: {
|
|
matches: ['versions'],
|
|
regexp: /^last\s+(\d+)\s+major\s+versions?$/i,
|
|
select: function select(context, node) {
|
|
return Object.keys(agents).reduce(function (selected, name) {
|
|
var data = byName(name, context);
|
|
if (!data) return selected;
|
|
var list = getMajorVersions(data.released, node.versions);
|
|
list = list.map(nameMapper(data.name));
|
|
if (data.name === 'android') {
|
|
list = filterAndroid(list, node.versions, context);
|
|
}
|
|
return selected.concat(list);
|
|
}, []);
|
|
}
|
|
},
|
|
last_versions: {
|
|
matches: ['versions'],
|
|
regexp: /^last\s+(\d+)\s+versions?$/i,
|
|
select: function select(context, node) {
|
|
return Object.keys(agents).reduce(function (selected, name) {
|
|
var data = byName(name, context);
|
|
if (!data) return selected;
|
|
var list = data.released.slice(-node.versions);
|
|
list = list.map(nameMapper(data.name));
|
|
if (data.name === 'android') {
|
|
list = filterAndroid(list, node.versions, context);
|
|
}
|
|
return selected.concat(list);
|
|
}, []);
|
|
}
|
|
},
|
|
last_electron_major_versions: {
|
|
matches: ['versions'],
|
|
regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i,
|
|
select: function select(context, node) {
|
|
var validVersions = getMajorVersions(Object.keys(e2c), node.versions);
|
|
return validVersions.map(function (i) {
|
|
return 'chrome ' + e2c[i];
|
|
});
|
|
}
|
|
},
|
|
last_node_major_versions: {
|
|
matches: ['versions'],
|
|
regexp: /^last\s+(\d+)\s+node\s+major\s+versions?$/i,
|
|
select: function select(context, node) {
|
|
return getMajorVersions(browserslist.nodeVersions, node.versions).map(function (version) {
|
|
return 'node ' + version;
|
|
});
|
|
}
|
|
},
|
|
last_browser_major_versions: {
|
|
matches: ['versions', 'browser'],
|
|
regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,
|
|
select: function select(context, node) {
|
|
var data = checkName(node.browser, context);
|
|
var validVersions = getMajorVersions(data.released, node.versions);
|
|
var list = validVersions.map(nameMapper(data.name));
|
|
if (data.name === 'android') {
|
|
list = filterAndroid(list, node.versions, context);
|
|
}
|
|
return list;
|
|
}
|
|
},
|
|
last_electron_versions: {
|
|
matches: ['versions'],
|
|
regexp: /^last\s+(\d+)\s+electron\s+versions?$/i,
|
|
select: function select(context, node) {
|
|
return Object.keys(e2c).slice(-node.versions).map(function (i) {
|
|
return 'chrome ' + e2c[i];
|
|
});
|
|
}
|
|
},
|
|
last_node_versions: {
|
|
matches: ['versions'],
|
|
regexp: /^last\s+(\d+)\s+node\s+versions?$/i,
|
|
select: function select(context, node) {
|
|
return browserslist.nodeVersions.slice(-node.versions).map(function (version) {
|
|
return 'node ' + version;
|
|
});
|
|
}
|
|
},
|
|
last_browser_versions: {
|
|
matches: ['versions', 'browser'],
|
|
regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i,
|
|
select: function select(context, node) {
|
|
var data = checkName(node.browser, context);
|
|
var list = data.released.slice(-node.versions).map(nameMapper(data.name));
|
|
if (data.name === 'android') {
|
|
list = filterAndroid(list, node.versions, context);
|
|
}
|
|
return list;
|
|
}
|
|
},
|
|
unreleased_versions: {
|
|
matches: [],
|
|
regexp: /^unreleased\s+versions$/i,
|
|
select: function select(context) {
|
|
return Object.keys(agents).reduce(function (selected, name) {
|
|
var data = byName(name, context);
|
|
if (!data) return selected;
|
|
var list = data.versions.filter(function (v) {
|
|
return data.released.indexOf(v) === -1;
|
|
});
|
|
list = list.map(nameMapper(data.name));
|
|
return selected.concat(list);
|
|
}, []);
|
|
}
|
|
},
|
|
unreleased_electron_versions: {
|
|
matches: [],
|
|
regexp: /^unreleased\s+electron\s+versions?$/i,
|
|
select: function select() {
|
|
return [];
|
|
}
|
|
},
|
|
unreleased_browser_versions: {
|
|
matches: ['browser'],
|
|
regexp: /^unreleased\s+(\w+)\s+versions?$/i,
|
|
select: function select(context, node) {
|
|
var data = checkName(node.browser, context);
|
|
return data.versions.filter(function (v) {
|
|
return data.released.indexOf(v) === -1;
|
|
}).map(nameMapper(data.name));
|
|
}
|
|
},
|
|
last_years: {
|
|
matches: ['years'],
|
|
regexp: /^last\s+(\d*.?\d+)\s+years?$/i,
|
|
select: function select(context, node) {
|
|
return filterByYear(Date.now() - YEAR * node.years, context);
|
|
}
|
|
},
|
|
since_y: {
|
|
matches: ['year'],
|
|
regexp: /^since (\d+)$/i,
|
|
select: sinceQuery
|
|
},
|
|
since_y_m: {
|
|
matches: ['year', 'month'],
|
|
regexp: /^since (\d+)-(\d+)$/i,
|
|
select: sinceQuery
|
|
},
|
|
since_y_m_d: {
|
|
matches: ['year', 'month', 'day'],
|
|
regexp: /^since (\d+)-(\d+)-(\d+)$/i,
|
|
select: sinceQuery
|
|
},
|
|
popularity: {
|
|
matches: ['sign', 'popularity'],
|
|
regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,
|
|
select: function select(context, node) {
|
|
var popularity = parseFloat(node.popularity);
|
|
var usage = browserslist.usage.global;
|
|
return Object.keys(usage).reduce(function (result, version) {
|
|
if (node.sign === '>') {
|
|
if (usage[version] > popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (node.sign === '<') {
|
|
if (usage[version] < popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (node.sign === '<=') {
|
|
if (usage[version] <= popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (usage[version] >= popularity) {
|
|
result.push(version);
|
|
}
|
|
return result;
|
|
}, []);
|
|
}
|
|
},
|
|
popularity_in_my_stats: {
|
|
matches: ['sign', 'popularity'],
|
|
regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,
|
|
select: function select(context, node) {
|
|
var popularity = parseFloat(node.popularity);
|
|
if (!context.customUsage) {
|
|
throw new BrowserslistError('Custom usage statistics was not provided');
|
|
}
|
|
var usage = context.customUsage;
|
|
return Object.keys(usage).reduce(function (result, version) {
|
|
var percentage = usage[version];
|
|
if (percentage == null) {
|
|
return result;
|
|
}
|
|
if (node.sign === '>') {
|
|
if (percentage > popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (node.sign === '<') {
|
|
if (percentage < popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (node.sign === '<=') {
|
|
if (percentage <= popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (percentage >= popularity) {
|
|
result.push(version);
|
|
}
|
|
return result;
|
|
}, []);
|
|
}
|
|
},
|
|
popularity_in_config_stats: {
|
|
matches: ['sign', 'popularity', 'config'],
|
|
regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,
|
|
select: function select(context, node) {
|
|
var popularity = parseFloat(node.popularity);
|
|
var stats = env.loadStat(context, node.config, browserslist.data);
|
|
if (stats) {
|
|
context.customUsage = {};
|
|
for (var browser in stats) {
|
|
fillUsage(context.customUsage, browser, stats[browser]);
|
|
}
|
|
}
|
|
if (!context.customUsage) {
|
|
throw new BrowserslistError('Custom usage statistics was not provided');
|
|
}
|
|
var usage = context.customUsage;
|
|
return Object.keys(usage).reduce(function (result, version) {
|
|
var percentage = usage[version];
|
|
if (percentage == null) {
|
|
return result;
|
|
}
|
|
if (node.sign === '>') {
|
|
if (percentage > popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (node.sign === '<') {
|
|
if (percentage < popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (node.sign === '<=') {
|
|
if (percentage <= popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (percentage >= popularity) {
|
|
result.push(version);
|
|
}
|
|
return result;
|
|
}, []);
|
|
}
|
|
},
|
|
popularity_in_place: {
|
|
matches: ['sign', 'popularity', 'place'],
|
|
regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,
|
|
select: function select(context, node) {
|
|
var popularity = parseFloat(node.popularity);
|
|
var place = node.place;
|
|
if (place.length === 2) {
|
|
place = place.toUpperCase();
|
|
} else {
|
|
place = place.toLowerCase();
|
|
}
|
|
env.loadCountry(browserslist.usage, place, browserslist.data);
|
|
var usage = browserslist.usage[place];
|
|
return Object.keys(usage).reduce(function (result, version) {
|
|
var percentage = usage[version];
|
|
if (percentage == null) {
|
|
return result;
|
|
}
|
|
if (node.sign === '>') {
|
|
if (percentage > popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (node.sign === '<') {
|
|
if (percentage < popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (node.sign === '<=') {
|
|
if (percentage <= popularity) {
|
|
result.push(version);
|
|
}
|
|
} else if (percentage >= popularity) {
|
|
result.push(version);
|
|
}
|
|
return result;
|
|
}, []);
|
|
}
|
|
},
|
|
cover: {
|
|
matches: ['coverage'],
|
|
regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/i,
|
|
select: coverQuery
|
|
},
|
|
cover_in: {
|
|
matches: ['coverage', 'place'],
|
|
regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/i,
|
|
select: coverQuery
|
|
},
|
|
supports: {
|
|
matches: ['feature'],
|
|
regexp: /^supports\s+([\w-]+)$/,
|
|
select: function select(context, node) {
|
|
env.loadFeature(browserslist.cache, node.feature);
|
|
var features = browserslist.cache[node.feature];
|
|
return Object.keys(features).reduce(function (result, version) {
|
|
var flags = features[version];
|
|
if (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) {
|
|
result.push(version);
|
|
}
|
|
return result;
|
|
}, []);
|
|
}
|
|
},
|
|
electron_range: {
|
|
matches: ['from', 'to'],
|
|
regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,
|
|
select: function select(context, node) {
|
|
var fromToUse = normalizeElectron(node.from);
|
|
var toToUse = normalizeElectron(node.to);
|
|
var from = parseFloat(node.from);
|
|
var to = parseFloat(node.to);
|
|
if (!e2c[fromToUse]) {
|
|
throw new BrowserslistError('Unknown version ' + from + ' of electron');
|
|
}
|
|
if (!e2c[toToUse]) {
|
|
throw new BrowserslistError('Unknown version ' + to + ' of electron');
|
|
}
|
|
return Object.keys(e2c).filter(function (i) {
|
|
var parsed = parseFloat(i);
|
|
return parsed >= from && parsed <= to;
|
|
}).map(function (i) {
|
|
return 'chrome ' + e2c[i];
|
|
});
|
|
}
|
|
},
|
|
node_range: {
|
|
matches: ['from', 'to'],
|
|
regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,
|
|
select: function select(context, node) {
|
|
return browserslist.nodeVersions.filter(semverFilterLoose('>=', node.from)).filter(semverFilterLoose('<=', node.to)).map(function (v) {
|
|
return 'node ' + v;
|
|
});
|
|
}
|
|
},
|
|
browser_range: {
|
|
matches: ['browser', 'from', 'to'],
|
|
regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,
|
|
select: function select(context, node) {
|
|
var data = checkName(node.browser, context);
|
|
var from = parseFloat(normalizeVersion(data, node.from) || node.from);
|
|
var to = parseFloat(normalizeVersion(data, node.to) || node.to);
|
|
function filter(v) {
|
|
var parsed = parseFloat(v);
|
|
return parsed >= from && parsed <= to;
|
|
}
|
|
return data.released.filter(filter).map(nameMapper(data.name));
|
|
}
|
|
},
|
|
electron_ray: {
|
|
matches: ['sign', 'version'],
|
|
regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i,
|
|
select: function select(context, node) {
|
|
var versionToUse = normalizeElectron(node.version);
|
|
return Object.keys(e2c).filter(generateFilter(node.sign, versionToUse)).map(function (i) {
|
|
return 'chrome ' + e2c[i];
|
|
});
|
|
}
|
|
},
|
|
node_ray: {
|
|
matches: ['sign', 'version'],
|
|
regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i,
|
|
select: function select(context, node) {
|
|
return browserslist.nodeVersions.filter(generateSemverFilter(node.sign, node.version)).map(function (v) {
|
|
return 'node ' + v;
|
|
});
|
|
}
|
|
},
|
|
browser_ray: {
|
|
matches: ['browser', 'sign', 'version'],
|
|
regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,
|
|
select: function select(context, node) {
|
|
var version = node.version;
|
|
var data = checkName(node.browser, context);
|
|
var alias = browserslist.versionAliases[data.name][version];
|
|
if (alias) version = alias;
|
|
return data.released.filter(generateFilter(node.sign, version)).map(function (v) {
|
|
return data.name + ' ' + v;
|
|
});
|
|
}
|
|
},
|
|
firefox_esr: {
|
|
matches: [],
|
|
regexp: /^(firefox|ff|fx)\s+esr$/i,
|
|
select: function select() {
|
|
return ['firefox 102'];
|
|
}
|
|
},
|
|
opera_mini_all: {
|
|
matches: [],
|
|
regexp: /(operamini|op_mini)\s+all/i,
|
|
select: function select() {
|
|
return ['op_mini all'];
|
|
}
|
|
},
|
|
electron_version: {
|
|
matches: ['version'],
|
|
regexp: /^electron\s+([\d.]+)$/i,
|
|
select: function select(context, node) {
|
|
var versionToUse = normalizeElectron(node.version);
|
|
var chrome = e2c[versionToUse];
|
|
if (!chrome) {
|
|
throw new BrowserslistError('Unknown version ' + node.version + ' of electron');
|
|
}
|
|
return ['chrome ' + chrome];
|
|
}
|
|
},
|
|
node_major_version: {
|
|
matches: ['version'],
|
|
regexp: /^node\s+(\d+)$/i,
|
|
select: nodeQuery
|
|
},
|
|
node_minor_version: {
|
|
matches: ['version'],
|
|
regexp: /^node\s+(\d+\.\d+)$/i,
|
|
select: nodeQuery
|
|
},
|
|
node_patch_version: {
|
|
matches: ['version'],
|
|
regexp: /^node\s+(\d+\.\d+\.\d+)$/i,
|
|
select: nodeQuery
|
|
},
|
|
current_node: {
|
|
matches: [],
|
|
regexp: /^current\s+node$/i,
|
|
select: function select(context) {
|
|
return [env.currentNode(resolve$2, context)];
|
|
}
|
|
},
|
|
maintained_node: {
|
|
matches: [],
|
|
regexp: /^maintained\s+node\s+versions$/i,
|
|
select: function select(context) {
|
|
var now = Date.now();
|
|
var queries = Object.keys(jsEOL).filter(function (key) {
|
|
return now < Date.parse(jsEOL[key].end) && now > Date.parse(jsEOL[key].start) && isEolReleased(key);
|
|
}).map(function (key) {
|
|
return 'node ' + key.slice(1);
|
|
});
|
|
return resolve$2(queries, context);
|
|
}
|
|
},
|
|
phantomjs_1_9: {
|
|
matches: [],
|
|
regexp: /^phantomjs\s+1.9$/i,
|
|
select: function select() {
|
|
return ['safari 5'];
|
|
}
|
|
},
|
|
phantomjs_2_1: {
|
|
matches: [],
|
|
regexp: /^phantomjs\s+2.1$/i,
|
|
select: function select() {
|
|
return ['safari 6'];
|
|
}
|
|
},
|
|
browser_version: {
|
|
matches: ['browser', 'version'],
|
|
regexp: /^(\w+)\s+(tp|[\d.]+)$/i,
|
|
select: function select(context, node) {
|
|
var version = node.version;
|
|
if (/^tp$/i.test(version)) version = 'TP';
|
|
var data = checkName(node.browser, context);
|
|
var alias = normalizeVersion(data, version);
|
|
if (alias) {
|
|
version = alias;
|
|
} else {
|
|
if (version.indexOf('.') === -1) {
|
|
alias = version + '.0';
|
|
} else {
|
|
alias = version.replace(/\.0$/, '');
|
|
}
|
|
alias = normalizeVersion(data, alias);
|
|
if (alias) {
|
|
version = alias;
|
|
} else if (context.ignoreUnknownVersions) {
|
|
return [];
|
|
} else {
|
|
throw new BrowserslistError('Unknown version ' + version + ' of ' + node.browser);
|
|
}
|
|
}
|
|
return [data.name + ' ' + version];
|
|
}
|
|
},
|
|
browserslist_config: {
|
|
matches: [],
|
|
regexp: /^browserslist config$/i,
|
|
select: function select(context) {
|
|
return browserslist(undefined, context);
|
|
}
|
|
},
|
|
"extends": {
|
|
matches: ['config'],
|
|
regexp: /^extends (.+)$/i,
|
|
select: function select(context, node) {
|
|
return resolve$2(env.loadQueries(context, node.config), context);
|
|
}
|
|
},
|
|
defaults: {
|
|
matches: [],
|
|
regexp: /^defaults$/i,
|
|
select: function select(context) {
|
|
return resolve$2(browserslist.defaults, context);
|
|
}
|
|
},
|
|
dead: {
|
|
matches: [],
|
|
regexp: /^dead$/i,
|
|
select: function select(context) {
|
|
var dead = ['Baidu >= 0', 'ie <= 11', 'ie_mob <= 11', 'bb <= 10', 'op_mob <= 12.1', 'samsung 4'];
|
|
return resolve$2(dead, context);
|
|
}
|
|
},
|
|
unknown: {
|
|
matches: [],
|
|
regexp: /^(\w+)$/i,
|
|
select: function select(context, node) {
|
|
if (byName(node.query, context)) {
|
|
throw new BrowserslistError('Specify versions in Browserslist query for browser ' + node.query);
|
|
} else {
|
|
throw unknownQuery(node.query);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
(function () {
|
|
for (var name in agents) {
|
|
var browser = agents[name];
|
|
browserslist.data[name] = {
|
|
name: name,
|
|
versions: normalize$1(agents[name].versions),
|
|
released: normalize$1(agents[name].versions.slice(0, -3)),
|
|
releaseDate: agents[name].release_date
|
|
};
|
|
fillUsage(browserslist.usage.global, name, browser.usage_global);
|
|
browserslist.versionAliases[name] = {};
|
|
for (var i = 0; i < browser.versions.length; i++) {
|
|
var full = browser.versions[i];
|
|
if (!full) continue;
|
|
if (full.indexOf('-') !== -1) {
|
|
var interval = full.split('-');
|
|
for (var j = 0; j < interval.length; j++) {
|
|
browserslist.versionAliases[name][interval[j]] = full;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
browserslist.versionAliases.op_mob['59'] = '58';
|
|
browserslist.nodeVersions = jsReleases.map(function (release) {
|
|
return release.version;
|
|
});
|
|
})();
|
|
var browserslist_1 = browserslist;
|
|
|
|
var min = Math.min;
|
|
function levenshtein(a, b) {
|
|
var t = [],
|
|
u = [],
|
|
i,
|
|
j;
|
|
var m = a.length,
|
|
n = b.length;
|
|
if (!m) {
|
|
return n;
|
|
}
|
|
if (!n) {
|
|
return m;
|
|
}
|
|
for (j = 0; j <= n; j++) {
|
|
t[j] = j;
|
|
}
|
|
for (i = 1; i <= m; i++) {
|
|
for (u = [i], j = 1; j <= n; j++) {
|
|
u[j] = a[i - 1] === b[j - 1] ? t[j - 1] : min(t[j - 1], t[j], u[j - 1]) + 1;
|
|
}
|
|
t = u;
|
|
}
|
|
return u[n];
|
|
}
|
|
function findSuggestion(str, arr) {
|
|
var distances = arr.map(function (el) {
|
|
return levenshtein(el, str);
|
|
});
|
|
return arr[distances.indexOf(min.apply(void 0, _toConsumableArray(distances)))];
|
|
}
|
|
|
|
var OptionValidator = function () {
|
|
function OptionValidator(descriptor) {
|
|
this.descriptor = descriptor;
|
|
}
|
|
var _proto = OptionValidator.prototype;
|
|
_proto.validateTopLevelOptions = function validateTopLevelOptions(options, TopLevelOptionShape) {
|
|
var validOptionNames = Object.keys(TopLevelOptionShape);
|
|
for (var _i = 0, _Object$keys = Object.keys(options); _i < _Object$keys.length; _i++) {
|
|
var option = _Object$keys[_i];
|
|
if (!validOptionNames.includes(option)) {
|
|
throw new Error(this.formatMessage("'" + option + "' is not a valid top-level option.\n- Did you mean '" + findSuggestion(option, validOptionNames) + "'?"));
|
|
}
|
|
}
|
|
};
|
|
_proto.validateBooleanOption = function validateBooleanOption(name, value, defaultValue) {
|
|
if (value === undefined) {
|
|
return defaultValue;
|
|
} else {
|
|
this.invariant(typeof value === "boolean", "'" + name + "' option must be a boolean.");
|
|
}
|
|
return value;
|
|
};
|
|
_proto.validateStringOption = function validateStringOption(name, value, defaultValue) {
|
|
if (value === undefined) {
|
|
return defaultValue;
|
|
} else {
|
|
this.invariant(typeof value === "string", "'" + name + "' option must be a string.");
|
|
}
|
|
return value;
|
|
};
|
|
_proto.invariant = function invariant(condition, message) {
|
|
if (!condition) {
|
|
throw new Error(this.formatMessage(message));
|
|
}
|
|
};
|
|
_proto.formatMessage = function formatMessage(message) {
|
|
return this.descriptor + ": " + message;
|
|
};
|
|
return _createClass(OptionValidator);
|
|
}();
|
|
|
|
var require$$0$7 = {
|
|
"es6.module": {
|
|
chrome: "61",
|
|
and_chr: "61",
|
|
edge: "16",
|
|
firefox: "60",
|
|
and_ff: "60",
|
|
node: "13.2.0",
|
|
opera: "48",
|
|
op_mob: "48",
|
|
safari: "10.1",
|
|
ios: "10.3",
|
|
samsung: "8.2",
|
|
android: "61",
|
|
electron: "2.0",
|
|
ios_saf: "10.3"
|
|
}
|
|
};
|
|
|
|
var nativeModules = require$$0$7;
|
|
|
|
var lruCacheBABEL_8_BREAKINGTrue;
|
|
var hasRequiredLruCacheBABEL_8_BREAKINGTrue;
|
|
function requireLruCacheBABEL_8_BREAKINGTrue() {
|
|
if (hasRequiredLruCacheBABEL_8_BREAKINGTrue) return lruCacheBABEL_8_BREAKINGTrue;
|
|
hasRequiredLruCacheBABEL_8_BREAKINGTrue = 1;
|
|
var perf = typeof performance === 'object' && performance && typeof performance.now === 'function' ? performance : Date;
|
|
var hasAbortController = typeof AbortController === 'function';
|
|
var AC = hasAbortController ? AbortController : function () {
|
|
function AbortController() {
|
|
this.signal = new AS();
|
|
}
|
|
var _proto = AbortController.prototype;
|
|
_proto.abort = function abort() {
|
|
this.signal.dispatchEvent('abort');
|
|
};
|
|
return _createClass(AbortController);
|
|
}();
|
|
var hasAbortSignal = typeof AbortSignal === 'function';
|
|
var hasACAbortSignal = typeof AC.AbortSignal === 'function';
|
|
var AS = hasAbortSignal ? AbortSignal : hasACAbortSignal ? AC.AbortController : function () {
|
|
function AbortSignal() {
|
|
this.aborted = false;
|
|
this._listeners = [];
|
|
}
|
|
var _proto2 = AbortSignal.prototype;
|
|
_proto2.dispatchEvent = function dispatchEvent(type) {
|
|
if (type === 'abort') {
|
|
this.aborted = true;
|
|
var e = {
|
|
type: type,
|
|
target: this
|
|
};
|
|
this.onabort(e);
|
|
this._listeners.forEach(function (f) {
|
|
return f(e);
|
|
}, this);
|
|
}
|
|
};
|
|
_proto2.onabort = function onabort() {};
|
|
_proto2.addEventListener = function addEventListener(ev, fn) {
|
|
if (ev === 'abort') {
|
|
this._listeners.push(fn);
|
|
}
|
|
};
|
|
_proto2.removeEventListener = function removeEventListener(ev, fn) {
|
|
if (ev === 'abort') {
|
|
this._listeners = this._listeners.filter(function (f) {
|
|
return f !== fn;
|
|
});
|
|
}
|
|
};
|
|
return _createClass(AbortSignal);
|
|
}();
|
|
var warned = new Set();
|
|
var deprecatedOption = function deprecatedOption(opt, instead) {
|
|
var code = "LRU_CACHE_OPTION_" + opt;
|
|
if (shouldWarn(code)) {
|
|
warn(code, opt + " option", "options." + instead, LRUCache);
|
|
}
|
|
};
|
|
var deprecatedMethod = function deprecatedMethod(method, instead) {
|
|
var code = "LRU_CACHE_METHOD_" + method;
|
|
if (shouldWarn(code)) {
|
|
var prototype = LRUCache.prototype;
|
|
var _Object$getOwnPropert = Object.getOwnPropertyDescriptor(prototype, method),
|
|
get = _Object$getOwnPropert.get;
|
|
warn(code, method + " method", "cache." + instead + "()", get);
|
|
}
|
|
};
|
|
var deprecatedProperty = function deprecatedProperty(field, instead) {
|
|
var code = "LRU_CACHE_PROPERTY_" + field;
|
|
if (shouldWarn(code)) {
|
|
var prototype = LRUCache.prototype;
|
|
var _Object$getOwnPropert2 = Object.getOwnPropertyDescriptor(prototype, field),
|
|
get = _Object$getOwnPropert2.get;
|
|
warn(code, field + " property", "cache." + instead, get);
|
|
}
|
|
};
|
|
var emitWarning = function emitWarning() {
|
|
var _process, _console;
|
|
typeof browser$1$1 === 'object' && browser$1$1 && typeof browser$1$1.emitWarning === 'function' ? (_process = browser$1$1).emitWarning.apply(_process, arguments) : (_console = console).error.apply(_console, arguments);
|
|
};
|
|
var shouldWarn = function shouldWarn(code) {
|
|
return !warned.has(code);
|
|
};
|
|
var warn = function warn(code, what, instead, fn) {
|
|
warned.add(code);
|
|
var msg = "The " + what + " is deprecated. Please use " + instead + " instead.";
|
|
emitWarning(msg, 'DeprecationWarning', code, fn);
|
|
};
|
|
var isPosInt = function isPosInt(n) {
|
|
return n && n === Math.floor(n) && n > 0 && isFinite(n);
|
|
};
|
|
var getUintArray = function getUintArray(max) {
|
|
return !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
|
|
};
|
|
var ZeroArray = function (_Array) {
|
|
_inherits(ZeroArray, _Array);
|
|
function ZeroArray(size) {
|
|
var _this;
|
|
_this = _Array.call(this, size) || this;
|
|
_this.fill(0);
|
|
return _this;
|
|
}
|
|
return _createClass(ZeroArray);
|
|
}(_wrapNativeSuper(Array));
|
|
var Stack = function () {
|
|
function Stack(max) {
|
|
if (max === 0) {
|
|
return [];
|
|
}
|
|
var UintArray = getUintArray(max);
|
|
this.heap = new UintArray(max);
|
|
this.length = 0;
|
|
}
|
|
var _proto3 = Stack.prototype;
|
|
_proto3.push = function push(n) {
|
|
this.heap[this.length++] = n;
|
|
};
|
|
_proto3.pop = function pop() {
|
|
return this.heap[--this.length];
|
|
};
|
|
return _createClass(Stack);
|
|
}();
|
|
var LRUCache = function (_Symbol$iterator) {
|
|
function LRUCache(options) {
|
|
if (options === void 0) {
|
|
options = {};
|
|
}
|
|
var _options = options,
|
|
_options$max = _options.max,
|
|
max = _options$max === void 0 ? 0 : _options$max,
|
|
ttl = _options.ttl,
|
|
_options$ttlResolutio = _options.ttlResolution,
|
|
ttlResolution = _options$ttlResolutio === void 0 ? 1 : _options$ttlResolutio,
|
|
ttlAutopurge = _options.ttlAutopurge,
|
|
updateAgeOnGet = _options.updateAgeOnGet,
|
|
updateAgeOnHas = _options.updateAgeOnHas,
|
|
allowStale = _options.allowStale,
|
|
dispose = _options.dispose,
|
|
disposeAfter = _options.disposeAfter,
|
|
noDisposeOnSet = _options.noDisposeOnSet,
|
|
noUpdateTTL = _options.noUpdateTTL,
|
|
_options$maxSize = _options.maxSize,
|
|
maxSize = _options$maxSize === void 0 ? 0 : _options$maxSize,
|
|
_options$maxEntrySize = _options.maxEntrySize,
|
|
maxEntrySize = _options$maxEntrySize === void 0 ? 0 : _options$maxEntrySize,
|
|
sizeCalculation = _options.sizeCalculation,
|
|
fetchMethod = _options.fetchMethod,
|
|
fetchContext = _options.fetchContext,
|
|
noDeleteOnFetchRejection = _options.noDeleteOnFetchRejection,
|
|
noDeleteOnStaleGet = _options.noDeleteOnStaleGet;
|
|
var _ref = options instanceof LRUCache ? {} : options,
|
|
length = _ref.length,
|
|
maxAge = _ref.maxAge,
|
|
stale = _ref.stale;
|
|
if (max !== 0 && !isPosInt(max)) {
|
|
throw new TypeError('max option must be a nonnegative integer');
|
|
}
|
|
var UintArray = max ? getUintArray(max) : Array;
|
|
if (!UintArray) {
|
|
throw new Error('invalid max value: ' + max);
|
|
}
|
|
this.max = max;
|
|
this.maxSize = maxSize;
|
|
this.maxEntrySize = maxEntrySize || this.maxSize;
|
|
this.sizeCalculation = sizeCalculation || length;
|
|
if (this.sizeCalculation) {
|
|
if (!this.maxSize && !this.maxEntrySize) {
|
|
throw new TypeError('cannot set sizeCalculation without setting maxSize or maxEntrySize');
|
|
}
|
|
if (typeof this.sizeCalculation !== 'function') {
|
|
throw new TypeError('sizeCalculation set to non-function');
|
|
}
|
|
}
|
|
this.fetchMethod = fetchMethod || null;
|
|
if (this.fetchMethod && typeof this.fetchMethod !== 'function') {
|
|
throw new TypeError('fetchMethod must be a function if specified');
|
|
}
|
|
this.fetchContext = fetchContext;
|
|
if (!this.fetchMethod && fetchContext !== undefined) {
|
|
throw new TypeError('cannot set fetchContext without fetchMethod');
|
|
}
|
|
this.keyMap = new Map();
|
|
this.keyList = new Array(max).fill(null);
|
|
this.valList = new Array(max).fill(null);
|
|
this.next = new UintArray(max);
|
|
this.prev = new UintArray(max);
|
|
this.head = 0;
|
|
this.tail = 0;
|
|
this.free = new Stack(max);
|
|
this.initialFill = 1;
|
|
this.size = 0;
|
|
if (typeof dispose === 'function') {
|
|
this.dispose = dispose;
|
|
}
|
|
if (typeof disposeAfter === 'function') {
|
|
this.disposeAfter = disposeAfter;
|
|
this.disposed = [];
|
|
} else {
|
|
this.disposeAfter = null;
|
|
this.disposed = null;
|
|
}
|
|
this.noDisposeOnSet = !!noDisposeOnSet;
|
|
this.noUpdateTTL = !!noUpdateTTL;
|
|
this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
|
|
if (this.maxEntrySize !== 0) {
|
|
if (this.maxSize !== 0) {
|
|
if (!isPosInt(this.maxSize)) {
|
|
throw new TypeError('maxSize must be a positive integer if specified');
|
|
}
|
|
}
|
|
if (!isPosInt(this.maxEntrySize)) {
|
|
throw new TypeError('maxEntrySize must be a positive integer if specified');
|
|
}
|
|
this.initializeSizeTracking();
|
|
}
|
|
this.allowStale = !!allowStale || !!stale;
|
|
this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
|
|
this.updateAgeOnGet = !!updateAgeOnGet;
|
|
this.updateAgeOnHas = !!updateAgeOnHas;
|
|
this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
|
|
this.ttlAutopurge = !!ttlAutopurge;
|
|
this.ttl = ttl || maxAge || 0;
|
|
if (this.ttl) {
|
|
if (!isPosInt(this.ttl)) {
|
|
throw new TypeError('ttl must be a positive integer if specified');
|
|
}
|
|
this.initializeTTLTracking();
|
|
}
|
|
if (this.max === 0 && this.ttl === 0 && this.maxSize === 0) {
|
|
throw new TypeError('At least one of max, maxSize, or ttl is required');
|
|
}
|
|
if (!this.ttlAutopurge && !this.max && !this.maxSize) {
|
|
var code = 'LRU_CACHE_UNBOUNDED';
|
|
if (shouldWarn(code)) {
|
|
warned.add(code);
|
|
var msg = 'TTL caching without ttlAutopurge, max, or maxSize can ' + 'result in unbounded memory consumption.';
|
|
emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache);
|
|
}
|
|
}
|
|
if (stale) {
|
|
deprecatedOption('stale', 'allowStale');
|
|
}
|
|
if (maxAge) {
|
|
deprecatedOption('maxAge', 'ttl');
|
|
}
|
|
if (length) {
|
|
deprecatedOption('length', 'sizeCalculation');
|
|
}
|
|
}
|
|
var _proto4 = LRUCache.prototype;
|
|
_proto4.getRemainingTTL = function getRemainingTTL(key) {
|
|
return this.has(key, {
|
|
updateAgeOnHas: false
|
|
}) ? Infinity : 0;
|
|
};
|
|
_proto4.initializeTTLTracking = function initializeTTLTracking() {
|
|
var _this2 = this;
|
|
this.ttls = new ZeroArray(this.max);
|
|
this.starts = new ZeroArray(this.max);
|
|
this.setItemTTL = function (index, ttl, start) {
|
|
if (start === void 0) {
|
|
start = perf.now();
|
|
}
|
|
_this2.starts[index] = ttl !== 0 ? start : 0;
|
|
_this2.ttls[index] = ttl;
|
|
if (ttl !== 0 && _this2.ttlAutopurge) {
|
|
var t = setTimeout(function () {
|
|
if (_this2.isStale(index)) {
|
|
_this2["delete"](_this2.keyList[index]);
|
|
}
|
|
}, ttl + 1);
|
|
if (t.unref) {
|
|
t.unref();
|
|
}
|
|
}
|
|
};
|
|
this.updateItemAge = function (index) {
|
|
_this2.starts[index] = _this2.ttls[index] !== 0 ? perf.now() : 0;
|
|
};
|
|
var cachedNow = 0;
|
|
var getNow = function getNow() {
|
|
var n = perf.now();
|
|
if (_this2.ttlResolution > 0) {
|
|
cachedNow = n;
|
|
var t = setTimeout(function () {
|
|
return cachedNow = 0;
|
|
}, _this2.ttlResolution);
|
|
if (t.unref) {
|
|
t.unref();
|
|
}
|
|
}
|
|
return n;
|
|
};
|
|
this.getRemainingTTL = function (key) {
|
|
var index = _this2.keyMap.get(key);
|
|
if (index === undefined) {
|
|
return 0;
|
|
}
|
|
return _this2.ttls[index] === 0 || _this2.starts[index] === 0 ? Infinity : _this2.starts[index] + _this2.ttls[index] - (cachedNow || getNow());
|
|
};
|
|
this.isStale = function (index) {
|
|
return _this2.ttls[index] !== 0 && _this2.starts[index] !== 0 && (cachedNow || getNow()) - _this2.starts[index] > _this2.ttls[index];
|
|
};
|
|
};
|
|
_proto4.updateItemAge = function updateItemAge(index) {};
|
|
_proto4.setItemTTL = function setItemTTL(index, ttl, start) {};
|
|
_proto4.isStale = function isStale(index) {
|
|
return false;
|
|
};
|
|
_proto4.initializeSizeTracking = function initializeSizeTracking() {
|
|
var _this3 = this;
|
|
this.calculatedSize = 0;
|
|
this.sizes = new ZeroArray(this.max);
|
|
this.removeItemSize = function (index) {
|
|
_this3.calculatedSize -= _this3.sizes[index];
|
|
_this3.sizes[index] = 0;
|
|
};
|
|
this.requireSize = function (k, v, size, sizeCalculation) {
|
|
if (_this3.isBackgroundFetch(v)) {
|
|
return 0;
|
|
}
|
|
if (!isPosInt(size)) {
|
|
if (sizeCalculation) {
|
|
if (typeof sizeCalculation !== 'function') {
|
|
throw new TypeError('sizeCalculation must be a function');
|
|
}
|
|
size = sizeCalculation(v, k);
|
|
if (!isPosInt(size)) {
|
|
throw new TypeError('sizeCalculation return invalid (expect positive integer)');
|
|
}
|
|
} else {
|
|
throw new TypeError('invalid size value (must be positive integer)');
|
|
}
|
|
}
|
|
return size;
|
|
};
|
|
this.addItemSize = function (index, size) {
|
|
_this3.sizes[index] = size;
|
|
if (_this3.maxSize) {
|
|
var maxSize = _this3.maxSize - _this3.sizes[index];
|
|
while (_this3.calculatedSize > maxSize) {
|
|
_this3.evict(true);
|
|
}
|
|
}
|
|
_this3.calculatedSize += _this3.sizes[index];
|
|
};
|
|
};
|
|
_proto4.removeItemSize = function removeItemSize(index) {};
|
|
_proto4.addItemSize = function addItemSize(index, size) {};
|
|
_proto4.requireSize = function requireSize(k, v, size, sizeCalculation) {
|
|
if (size || sizeCalculation) {
|
|
throw new TypeError('cannot set size without setting maxSize or maxEntrySize on cache');
|
|
}
|
|
};
|
|
_proto4.indexes = function indexes(_temp) {
|
|
var _this4 = this;
|
|
var _ref2 = _temp === void 0 ? {} : _temp,
|
|
_ref2$allowStale = _ref2.allowStale,
|
|
allowStale = _ref2$allowStale === void 0 ? this.allowStale : _ref2$allowStale;
|
|
return _regeneratorRuntime().mark(function _callee() {
|
|
var i;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
if (!_this4.size) {
|
|
_context.next = 15;
|
|
break;
|
|
}
|
|
i = _this4.tail;
|
|
case 2:
|
|
if (_this4.isValidIndex(i)) {
|
|
_context.next = 5;
|
|
break;
|
|
}
|
|
return _context.abrupt("break", 15);
|
|
case 5:
|
|
if (!(allowStale || !_this4.isStale(i))) {
|
|
_context.next = 8;
|
|
break;
|
|
}
|
|
_context.next = 8;
|
|
return i;
|
|
case 8:
|
|
if (!(i === _this4.head)) {
|
|
_context.next = 12;
|
|
break;
|
|
}
|
|
return _context.abrupt("break", 15);
|
|
case 12:
|
|
i = _this4.prev[i];
|
|
case 13:
|
|
_context.next = 2;
|
|
break;
|
|
case 15:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
})();
|
|
};
|
|
_proto4.rindexes = function rindexes(_temp2) {
|
|
var _this5 = this;
|
|
var _ref3 = _temp2 === void 0 ? {} : _temp2,
|
|
_ref3$allowStale = _ref3.allowStale,
|
|
allowStale = _ref3$allowStale === void 0 ? this.allowStale : _ref3$allowStale;
|
|
return _regeneratorRuntime().mark(function _callee2() {
|
|
var i;
|
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
if (!_this5.size) {
|
|
_context2.next = 15;
|
|
break;
|
|
}
|
|
i = _this5.head;
|
|
case 2:
|
|
if (_this5.isValidIndex(i)) {
|
|
_context2.next = 5;
|
|
break;
|
|
}
|
|
return _context2.abrupt("break", 15);
|
|
case 5:
|
|
if (!(allowStale || !_this5.isStale(i))) {
|
|
_context2.next = 8;
|
|
break;
|
|
}
|
|
_context2.next = 8;
|
|
return i;
|
|
case 8:
|
|
if (!(i === _this5.tail)) {
|
|
_context2.next = 12;
|
|
break;
|
|
}
|
|
return _context2.abrupt("break", 15);
|
|
case 12:
|
|
i = _this5.next[i];
|
|
case 13:
|
|
_context2.next = 2;
|
|
break;
|
|
case 15:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _callee2);
|
|
})();
|
|
};
|
|
_proto4.isValidIndex = function isValidIndex(index) {
|
|
return this.keyMap.get(this.keyList[index]) === index;
|
|
};
|
|
_proto4.entries = _regeneratorRuntime().mark(function entries() {
|
|
var _iterator, _step, i;
|
|
return _regeneratorRuntime().wrap(function entries$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
_iterator = _createForOfIteratorHelperLoose(this.indexes());
|
|
case 1:
|
|
if ((_step = _iterator()).done) {
|
|
_context3.next = 7;
|
|
break;
|
|
}
|
|
i = _step.value;
|
|
_context3.next = 5;
|
|
return [this.keyList[i], this.valList[i]];
|
|
case 5:
|
|
_context3.next = 1;
|
|
break;
|
|
case 7:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, entries, this);
|
|
});
|
|
_proto4.rentries = _regeneratorRuntime().mark(function rentries() {
|
|
var _iterator2, _step2, i;
|
|
return _regeneratorRuntime().wrap(function rentries$(_context4) {
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
case 0:
|
|
_iterator2 = _createForOfIteratorHelperLoose(this.rindexes());
|
|
case 1:
|
|
if ((_step2 = _iterator2()).done) {
|
|
_context4.next = 7;
|
|
break;
|
|
}
|
|
i = _step2.value;
|
|
_context4.next = 5;
|
|
return [this.keyList[i], this.valList[i]];
|
|
case 5:
|
|
_context4.next = 1;
|
|
break;
|
|
case 7:
|
|
case "end":
|
|
return _context4.stop();
|
|
}
|
|
}, rentries, this);
|
|
});
|
|
_proto4.keys = _regeneratorRuntime().mark(function keys() {
|
|
var _iterator3, _step3, i;
|
|
return _regeneratorRuntime().wrap(function keys$(_context5) {
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
case 0:
|
|
_iterator3 = _createForOfIteratorHelperLoose(this.indexes());
|
|
case 1:
|
|
if ((_step3 = _iterator3()).done) {
|
|
_context5.next = 7;
|
|
break;
|
|
}
|
|
i = _step3.value;
|
|
_context5.next = 5;
|
|
return this.keyList[i];
|
|
case 5:
|
|
_context5.next = 1;
|
|
break;
|
|
case 7:
|
|
case "end":
|
|
return _context5.stop();
|
|
}
|
|
}, keys, this);
|
|
});
|
|
_proto4.rkeys = _regeneratorRuntime().mark(function rkeys() {
|
|
var _iterator4, _step4, i;
|
|
return _regeneratorRuntime().wrap(function rkeys$(_context6) {
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
case 0:
|
|
_iterator4 = _createForOfIteratorHelperLoose(this.rindexes());
|
|
case 1:
|
|
if ((_step4 = _iterator4()).done) {
|
|
_context6.next = 7;
|
|
break;
|
|
}
|
|
i = _step4.value;
|
|
_context6.next = 5;
|
|
return this.keyList[i];
|
|
case 5:
|
|
_context6.next = 1;
|
|
break;
|
|
case 7:
|
|
case "end":
|
|
return _context6.stop();
|
|
}
|
|
}, rkeys, this);
|
|
});
|
|
_proto4.values = _regeneratorRuntime().mark(function values() {
|
|
var _iterator5, _step5, i;
|
|
return _regeneratorRuntime().wrap(function values$(_context7) {
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
case 0:
|
|
_iterator5 = _createForOfIteratorHelperLoose(this.indexes());
|
|
case 1:
|
|
if ((_step5 = _iterator5()).done) {
|
|
_context7.next = 7;
|
|
break;
|
|
}
|
|
i = _step5.value;
|
|
_context7.next = 5;
|
|
return this.valList[i];
|
|
case 5:
|
|
_context7.next = 1;
|
|
break;
|
|
case 7:
|
|
case "end":
|
|
return _context7.stop();
|
|
}
|
|
}, values, this);
|
|
});
|
|
_proto4.rvalues = _regeneratorRuntime().mark(function rvalues() {
|
|
var _iterator6, _step6, i;
|
|
return _regeneratorRuntime().wrap(function rvalues$(_context8) {
|
|
while (1) switch (_context8.prev = _context8.next) {
|
|
case 0:
|
|
_iterator6 = _createForOfIteratorHelperLoose(this.rindexes());
|
|
case 1:
|
|
if ((_step6 = _iterator6()).done) {
|
|
_context8.next = 7;
|
|
break;
|
|
}
|
|
i = _step6.value;
|
|
_context8.next = 5;
|
|
return this.valList[i];
|
|
case 5:
|
|
_context8.next = 1;
|
|
break;
|
|
case 7:
|
|
case "end":
|
|
return _context8.stop();
|
|
}
|
|
}, rvalues, this);
|
|
});
|
|
_proto4[_Symbol$iterator] = function () {
|
|
return this.entries();
|
|
};
|
|
_proto4.find = function find(fn, getOptions) {
|
|
if (getOptions === void 0) {
|
|
getOptions = {};
|
|
}
|
|
for (var _iterator7 = _createForOfIteratorHelperLoose(this.indexes()), _step7; !(_step7 = _iterator7()).done;) {
|
|
var i = _step7.value;
|
|
if (fn(this.valList[i], this.keyList[i], this)) {
|
|
return this.get(this.keyList[i], getOptions);
|
|
}
|
|
}
|
|
};
|
|
_proto4.forEach = function forEach(fn, thisp) {
|
|
if (thisp === void 0) {
|
|
thisp = this;
|
|
}
|
|
for (var _iterator8 = _createForOfIteratorHelperLoose(this.indexes()), _step8; !(_step8 = _iterator8()).done;) {
|
|
var i = _step8.value;
|
|
fn.call(thisp, this.valList[i], this.keyList[i], this);
|
|
}
|
|
};
|
|
_proto4.rforEach = function rforEach(fn, thisp) {
|
|
if (thisp === void 0) {
|
|
thisp = this;
|
|
}
|
|
for (var _iterator9 = _createForOfIteratorHelperLoose(this.rindexes()), _step9; !(_step9 = _iterator9()).done;) {
|
|
var i = _step9.value;
|
|
fn.call(thisp, this.valList[i], this.keyList[i], this);
|
|
}
|
|
};
|
|
_proto4.purgeStale = function purgeStale() {
|
|
var deleted = false;
|
|
for (var _iterator10 = _createForOfIteratorHelperLoose(this.rindexes({
|
|
allowStale: true
|
|
})), _step10; !(_step10 = _iterator10()).done;) {
|
|
var i = _step10.value;
|
|
if (this.isStale(i)) {
|
|
this["delete"](this.keyList[i]);
|
|
deleted = true;
|
|
}
|
|
}
|
|
return deleted;
|
|
};
|
|
_proto4.dump = function dump() {
|
|
var arr = [];
|
|
for (var _iterator11 = _createForOfIteratorHelperLoose(this.indexes({
|
|
allowStale: true
|
|
})), _step11; !(_step11 = _iterator11()).done;) {
|
|
var i = _step11.value;
|
|
var key = this.keyList[i];
|
|
var v = this.valList[i];
|
|
var value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v;
|
|
var entry = {
|
|
value: value
|
|
};
|
|
if (this.ttls) {
|
|
entry.ttl = this.ttls[i];
|
|
var age = perf.now() - this.starts[i];
|
|
entry.start = Math.floor(Date.now() - age);
|
|
}
|
|
if (this.sizes) {
|
|
entry.size = this.sizes[i];
|
|
}
|
|
arr.unshift([key, entry]);
|
|
}
|
|
return arr;
|
|
};
|
|
_proto4.load = function load(arr) {
|
|
this.clear();
|
|
for (var _iterator12 = _createForOfIteratorHelperLoose(arr), _step12; !(_step12 = _iterator12()).done;) {
|
|
var _step12$value = _slicedToArray(_step12.value, 2),
|
|
key = _step12$value[0],
|
|
entry = _step12$value[1];
|
|
if (entry.start) {
|
|
var age = Date.now() - entry.start;
|
|
entry.start = perf.now() - age;
|
|
}
|
|
this.set(key, entry.value, entry);
|
|
}
|
|
};
|
|
_proto4.dispose = function dispose(v, k, reason) {};
|
|
_proto4.set = function set(k, v, _temp3) {
|
|
var _ref4 = _temp3 === void 0 ? {} : _temp3,
|
|
_ref4$ttl = _ref4.ttl,
|
|
ttl = _ref4$ttl === void 0 ? this.ttl : _ref4$ttl,
|
|
start = _ref4.start,
|
|
_ref4$noDisposeOnSet = _ref4.noDisposeOnSet,
|
|
noDisposeOnSet = _ref4$noDisposeOnSet === void 0 ? this.noDisposeOnSet : _ref4$noDisposeOnSet,
|
|
_ref4$size = _ref4.size,
|
|
size = _ref4$size === void 0 ? 0 : _ref4$size,
|
|
_ref4$sizeCalculation = _ref4.sizeCalculation,
|
|
sizeCalculation = _ref4$sizeCalculation === void 0 ? this.sizeCalculation : _ref4$sizeCalculation,
|
|
_ref4$noUpdateTTL = _ref4.noUpdateTTL,
|
|
noUpdateTTL = _ref4$noUpdateTTL === void 0 ? this.noUpdateTTL : _ref4$noUpdateTTL;
|
|
size = this.requireSize(k, v, size, sizeCalculation);
|
|
if (this.maxEntrySize && size > this.maxEntrySize) {
|
|
this["delete"](k);
|
|
return this;
|
|
}
|
|
var index = this.size === 0 ? undefined : this.keyMap.get(k);
|
|
if (index === undefined) {
|
|
index = this.newIndex();
|
|
this.keyList[index] = k;
|
|
this.valList[index] = v;
|
|
this.keyMap.set(k, index);
|
|
this.next[this.tail] = index;
|
|
this.prev[index] = this.tail;
|
|
this.tail = index;
|
|
this.size++;
|
|
this.addItemSize(index, size);
|
|
noUpdateTTL = false;
|
|
} else {
|
|
var oldVal = this.valList[index];
|
|
if (v !== oldVal) {
|
|
if (this.isBackgroundFetch(oldVal)) {
|
|
oldVal.__abortController.abort();
|
|
} else {
|
|
if (!noDisposeOnSet) {
|
|
this.dispose(oldVal, k, 'set');
|
|
if (this.disposeAfter) {
|
|
this.disposed.push([oldVal, k, 'set']);
|
|
}
|
|
}
|
|
}
|
|
this.removeItemSize(index);
|
|
this.valList[index] = v;
|
|
this.addItemSize(index, size);
|
|
}
|
|
this.moveToTail(index);
|
|
}
|
|
if (ttl !== 0 && this.ttl === 0 && !this.ttls) {
|
|
this.initializeTTLTracking();
|
|
}
|
|
if (!noUpdateTTL) {
|
|
this.setItemTTL(index, ttl, start);
|
|
}
|
|
if (this.disposeAfter) {
|
|
while (this.disposed.length) {
|
|
this.disposeAfter.apply(this, _toConsumableArray(this.disposed.shift()));
|
|
}
|
|
}
|
|
return this;
|
|
};
|
|
_proto4.newIndex = function newIndex() {
|
|
if (this.size === 0) {
|
|
return this.tail;
|
|
}
|
|
if (this.size === this.max && this.max !== 0) {
|
|
return this.evict(false);
|
|
}
|
|
if (this.free.length !== 0) {
|
|
return this.free.pop();
|
|
}
|
|
return this.initialFill++;
|
|
};
|
|
_proto4.pop = function pop() {
|
|
if (this.size) {
|
|
var val = this.valList[this.head];
|
|
this.evict(true);
|
|
return val;
|
|
}
|
|
};
|
|
_proto4.evict = function evict(free) {
|
|
var head = this.head;
|
|
var k = this.keyList[head];
|
|
var v = this.valList[head];
|
|
if (this.isBackgroundFetch(v)) {
|
|
v.__abortController.abort();
|
|
} else {
|
|
this.dispose(v, k, 'evict');
|
|
if (this.disposeAfter) {
|
|
this.disposed.push([v, k, 'evict']);
|
|
}
|
|
}
|
|
this.removeItemSize(head);
|
|
if (free) {
|
|
this.keyList[head] = null;
|
|
this.valList[head] = null;
|
|
this.free.push(head);
|
|
}
|
|
this.head = this.next[head];
|
|
this.keyMap["delete"](k);
|
|
this.size--;
|
|
return head;
|
|
};
|
|
_proto4.has = function has(k, _temp4) {
|
|
var _ref5 = _temp4 === void 0 ? {} : _temp4,
|
|
_ref5$updateAgeOnHas = _ref5.updateAgeOnHas,
|
|
updateAgeOnHas = _ref5$updateAgeOnHas === void 0 ? this.updateAgeOnHas : _ref5$updateAgeOnHas;
|
|
var index = this.keyMap.get(k);
|
|
if (index !== undefined) {
|
|
if (!this.isStale(index)) {
|
|
if (updateAgeOnHas) {
|
|
this.updateItemAge(index);
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
_proto4.peek = function peek(k, _temp5) {
|
|
var _ref6 = _temp5 === void 0 ? {} : _temp5,
|
|
_ref6$allowStale = _ref6.allowStale,
|
|
allowStale = _ref6$allowStale === void 0 ? this.allowStale : _ref6$allowStale;
|
|
var index = this.keyMap.get(k);
|
|
if (index !== undefined && (allowStale || !this.isStale(index))) {
|
|
var v = this.valList[index];
|
|
return this.isBackgroundFetch(v) ? v.__staleWhileFetching : v;
|
|
}
|
|
};
|
|
_proto4.backgroundFetch = function backgroundFetch(k, index, options, context) {
|
|
var _this6 = this;
|
|
var v = index === undefined ? undefined : this.valList[index];
|
|
if (this.isBackgroundFetch(v)) {
|
|
return v;
|
|
}
|
|
var ac = new AC();
|
|
var fetchOpts = {
|
|
signal: ac.signal,
|
|
options: options,
|
|
context: context
|
|
};
|
|
var cb = function cb(v) {
|
|
if (!ac.signal.aborted) {
|
|
_this6.set(k, v, fetchOpts.options);
|
|
}
|
|
return v;
|
|
};
|
|
var eb = function eb(er) {
|
|
if (_this6.valList[index] === p) {
|
|
var del = !options.noDeleteOnFetchRejection || p.__staleWhileFetching === undefined;
|
|
if (del) {
|
|
_this6["delete"](k);
|
|
} else {
|
|
_this6.valList[index] = p.__staleWhileFetching;
|
|
}
|
|
}
|
|
if (p.__returned === p) {
|
|
throw er;
|
|
}
|
|
};
|
|
var pcall = function pcall(res) {
|
|
return res(_this6.fetchMethod(k, v, fetchOpts));
|
|
};
|
|
var p = new Promise(pcall).then(cb, eb);
|
|
p.__abortController = ac;
|
|
p.__staleWhileFetching = v;
|
|
p.__returned = null;
|
|
if (index === undefined) {
|
|
this.set(k, p, fetchOpts.options);
|
|
index = this.keyMap.get(k);
|
|
} else {
|
|
this.valList[index] = p;
|
|
}
|
|
return p;
|
|
};
|
|
_proto4.isBackgroundFetch = function isBackgroundFetch(p) {
|
|
return p && typeof p === 'object' && typeof p.then === 'function' && Object.prototype.hasOwnProperty.call(p, '__staleWhileFetching') && Object.prototype.hasOwnProperty.call(p, '__returned') && (p.__returned === p || p.__returned === null);
|
|
};
|
|
_proto4.fetch = function () {
|
|
var _fetch = _asyncToGenerator(_regeneratorRuntime().mark(function _callee3(k, _temp6) {
|
|
var _ref7, _ref7$allowStale, allowStale, _ref7$updateAgeOnGet, updateAgeOnGet, _ref7$noDeleteOnStale, noDeleteOnStaleGet, _ref7$ttl, ttl, _ref7$noDisposeOnSet, noDisposeOnSet, _ref7$size, size, _ref7$sizeCalculation, sizeCalculation, _ref7$noUpdateTTL, noUpdateTTL, _ref7$noDeleteOnFetch, noDeleteOnFetchRejection, _ref7$fetchContext, fetchContext, _ref7$forceRefresh, forceRefresh, options, index, p, v, _p;
|
|
return _regeneratorRuntime().wrap(function _callee3$(_context9) {
|
|
while (1) switch (_context9.prev = _context9.next) {
|
|
case 0:
|
|
_ref7 = _temp6 === void 0 ? {} : _temp6, _ref7$allowStale = _ref7.allowStale, allowStale = _ref7$allowStale === void 0 ? this.allowStale : _ref7$allowStale, _ref7$updateAgeOnGet = _ref7.updateAgeOnGet, updateAgeOnGet = _ref7$updateAgeOnGet === void 0 ? this.updateAgeOnGet : _ref7$updateAgeOnGet, _ref7$noDeleteOnStale = _ref7.noDeleteOnStaleGet, noDeleteOnStaleGet = _ref7$noDeleteOnStale === void 0 ? this.noDeleteOnStaleGet : _ref7$noDeleteOnStale, _ref7$ttl = _ref7.ttl, ttl = _ref7$ttl === void 0 ? this.ttl : _ref7$ttl, _ref7$noDisposeOnSet = _ref7.noDisposeOnSet, noDisposeOnSet = _ref7$noDisposeOnSet === void 0 ? this.noDisposeOnSet : _ref7$noDisposeOnSet, _ref7$size = _ref7.size, size = _ref7$size === void 0 ? 0 : _ref7$size, _ref7$sizeCalculation = _ref7.sizeCalculation, sizeCalculation = _ref7$sizeCalculation === void 0 ? this.sizeCalculation : _ref7$sizeCalculation, _ref7$noUpdateTTL = _ref7.noUpdateTTL, noUpdateTTL = _ref7$noUpdateTTL === void 0 ? this.noUpdateTTL : _ref7$noUpdateTTL, _ref7$noDeleteOnFetch = _ref7.noDeleteOnFetchRejection, noDeleteOnFetchRejection = _ref7$noDeleteOnFetch === void 0 ? this.noDeleteOnFetchRejection : _ref7$noDeleteOnFetch, _ref7$fetchContext = _ref7.fetchContext, fetchContext = _ref7$fetchContext === void 0 ? this.fetchContext : _ref7$fetchContext, _ref7$forceRefresh = _ref7.forceRefresh, forceRefresh = _ref7$forceRefresh === void 0 ? false : _ref7$forceRefresh;
|
|
if (this.fetchMethod) {
|
|
_context9.next = 3;
|
|
break;
|
|
}
|
|
return _context9.abrupt("return", this.get(k, {
|
|
allowStale: allowStale,
|
|
updateAgeOnGet: updateAgeOnGet,
|
|
noDeleteOnStaleGet: noDeleteOnStaleGet
|
|
}));
|
|
case 3:
|
|
options = {
|
|
allowStale: allowStale,
|
|
updateAgeOnGet: updateAgeOnGet,
|
|
noDeleteOnStaleGet: noDeleteOnStaleGet,
|
|
ttl: ttl,
|
|
noDisposeOnSet: noDisposeOnSet,
|
|
size: size,
|
|
sizeCalculation: sizeCalculation,
|
|
noUpdateTTL: noUpdateTTL,
|
|
noDeleteOnFetchRejection: noDeleteOnFetchRejection
|
|
};
|
|
index = this.keyMap.get(k);
|
|
if (!(index === undefined)) {
|
|
_context9.next = 10;
|
|
break;
|
|
}
|
|
p = this.backgroundFetch(k, index, options, fetchContext);
|
|
return _context9.abrupt("return", p.__returned = p);
|
|
case 10:
|
|
v = this.valList[index];
|
|
if (!this.isBackgroundFetch(v)) {
|
|
_context9.next = 13;
|
|
break;
|
|
}
|
|
return _context9.abrupt("return", allowStale && v.__staleWhileFetching !== undefined ? v.__staleWhileFetching : v.__returned = v);
|
|
case 13:
|
|
if (!(!forceRefresh && !this.isStale(index))) {
|
|
_context9.next = 17;
|
|
break;
|
|
}
|
|
this.moveToTail(index);
|
|
if (updateAgeOnGet) {
|
|
this.updateItemAge(index);
|
|
}
|
|
return _context9.abrupt("return", v);
|
|
case 17:
|
|
_p = this.backgroundFetch(k, index, options, fetchContext);
|
|
return _context9.abrupt("return", allowStale && _p.__staleWhileFetching !== undefined ? _p.__staleWhileFetching : _p.__returned = _p);
|
|
case 19:
|
|
case "end":
|
|
return _context9.stop();
|
|
}
|
|
}, _callee3, this);
|
|
}));
|
|
function fetch(_x, _x2) {
|
|
return _fetch.apply(this, arguments);
|
|
}
|
|
return fetch;
|
|
}();
|
|
_proto4.get = function get(k, _temp7) {
|
|
var _ref8 = _temp7 === void 0 ? {} : _temp7,
|
|
_ref8$allowStale = _ref8.allowStale,
|
|
allowStale = _ref8$allowStale === void 0 ? this.allowStale : _ref8$allowStale,
|
|
_ref8$updateAgeOnGet = _ref8.updateAgeOnGet,
|
|
updateAgeOnGet = _ref8$updateAgeOnGet === void 0 ? this.updateAgeOnGet : _ref8$updateAgeOnGet,
|
|
_ref8$noDeleteOnStale = _ref8.noDeleteOnStaleGet,
|
|
noDeleteOnStaleGet = _ref8$noDeleteOnStale === void 0 ? this.noDeleteOnStaleGet : _ref8$noDeleteOnStale;
|
|
var index = this.keyMap.get(k);
|
|
if (index !== undefined) {
|
|
var value = this.valList[index];
|
|
var fetching = this.isBackgroundFetch(value);
|
|
if (this.isStale(index)) {
|
|
if (!fetching) {
|
|
if (!noDeleteOnStaleGet) {
|
|
this["delete"](k);
|
|
}
|
|
return allowStale ? value : undefined;
|
|
} else {
|
|
return allowStale ? value.__staleWhileFetching : undefined;
|
|
}
|
|
} else {
|
|
if (fetching) {
|
|
return undefined;
|
|
}
|
|
this.moveToTail(index);
|
|
if (updateAgeOnGet) {
|
|
this.updateItemAge(index);
|
|
}
|
|
return value;
|
|
}
|
|
}
|
|
};
|
|
_proto4.connect = function connect(p, n) {
|
|
this.prev[n] = p;
|
|
this.next[p] = n;
|
|
};
|
|
_proto4.moveToTail = function moveToTail(index) {
|
|
if (index !== this.tail) {
|
|
if (index === this.head) {
|
|
this.head = this.next[index];
|
|
} else {
|
|
this.connect(this.prev[index], this.next[index]);
|
|
}
|
|
this.connect(this.tail, index);
|
|
this.tail = index;
|
|
}
|
|
};
|
|
_proto4["delete"] = function _delete(k) {
|
|
var deleted = false;
|
|
if (this.size !== 0) {
|
|
var index = this.keyMap.get(k);
|
|
if (index !== undefined) {
|
|
deleted = true;
|
|
if (this.size === 1) {
|
|
this.clear();
|
|
} else {
|
|
this.removeItemSize(index);
|
|
var v = this.valList[index];
|
|
if (this.isBackgroundFetch(v)) {
|
|
v.__abortController.abort();
|
|
} else {
|
|
this.dispose(v, k, 'delete');
|
|
if (this.disposeAfter) {
|
|
this.disposed.push([v, k, 'delete']);
|
|
}
|
|
}
|
|
this.keyMap["delete"](k);
|
|
this.keyList[index] = null;
|
|
this.valList[index] = null;
|
|
if (index === this.tail) {
|
|
this.tail = this.prev[index];
|
|
} else if (index === this.head) {
|
|
this.head = this.next[index];
|
|
} else {
|
|
this.next[this.prev[index]] = this.next[index];
|
|
this.prev[this.next[index]] = this.prev[index];
|
|
}
|
|
this.size--;
|
|
this.free.push(index);
|
|
}
|
|
}
|
|
}
|
|
if (this.disposed) {
|
|
while (this.disposed.length) {
|
|
this.disposeAfter.apply(this, _toConsumableArray(this.disposed.shift()));
|
|
}
|
|
}
|
|
return deleted;
|
|
};
|
|
_proto4.clear = function clear() {
|
|
for (var _iterator13 = _createForOfIteratorHelperLoose(this.rindexes({
|
|
allowStale: true
|
|
})), _step13; !(_step13 = _iterator13()).done;) {
|
|
var index = _step13.value;
|
|
var v = this.valList[index];
|
|
if (this.isBackgroundFetch(v)) {
|
|
v.__abortController.abort();
|
|
} else {
|
|
var k = this.keyList[index];
|
|
this.dispose(v, k, 'delete');
|
|
if (this.disposeAfter) {
|
|
this.disposed.push([v, k, 'delete']);
|
|
}
|
|
}
|
|
}
|
|
this.keyMap.clear();
|
|
this.valList.fill(null);
|
|
this.keyList.fill(null);
|
|
if (this.ttls) {
|
|
this.ttls.fill(0);
|
|
this.starts.fill(0);
|
|
}
|
|
if (this.sizes) {
|
|
this.sizes.fill(0);
|
|
}
|
|
this.head = 0;
|
|
this.tail = 0;
|
|
this.initialFill = 1;
|
|
this.free.length = 0;
|
|
this.calculatedSize = 0;
|
|
this.size = 0;
|
|
if (this.disposed) {
|
|
while (this.disposed.length) {
|
|
this.disposeAfter.apply(this, _toConsumableArray(this.disposed.shift()));
|
|
}
|
|
}
|
|
};
|
|
_createClass(LRUCache, [{
|
|
key: "prune",
|
|
get: function get() {
|
|
deprecatedMethod('prune', 'purgeStale');
|
|
return this.purgeStale;
|
|
}
|
|
}, {
|
|
key: "del",
|
|
get: function get() {
|
|
deprecatedMethod('del', 'delete');
|
|
return this["delete"];
|
|
}
|
|
}, {
|
|
key: "reset",
|
|
get: function get() {
|
|
deprecatedMethod('reset', 'clear');
|
|
return this.clear;
|
|
}
|
|
}, {
|
|
key: "length",
|
|
get: function get() {
|
|
deprecatedProperty('length', 'size');
|
|
return this.size;
|
|
}
|
|
}], [{
|
|
key: "AbortController",
|
|
get: function get() {
|
|
return AC;
|
|
}
|
|
}, {
|
|
key: "AbortSignal",
|
|
get: function get() {
|
|
return AS;
|
|
}
|
|
}]);
|
|
return LRUCache;
|
|
}(Symbol.iterator);
|
|
lruCacheBABEL_8_BREAKINGTrue = LRUCache;
|
|
return lruCacheBABEL_8_BREAKINGTrue;
|
|
}
|
|
|
|
var iterator;
|
|
var hasRequiredIterator;
|
|
function requireIterator() {
|
|
if (hasRequiredIterator) return iterator;
|
|
hasRequiredIterator = 1;
|
|
iterator = function iterator(Yallist) {
|
|
Yallist.prototype[Symbol.iterator] = _regeneratorRuntime().mark(function _callee() {
|
|
var walker;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
walker = this.head;
|
|
case 1:
|
|
if (!walker) {
|
|
_context.next = 7;
|
|
break;
|
|
}
|
|
_context.next = 4;
|
|
return walker.value;
|
|
case 4:
|
|
walker = walker.next;
|
|
_context.next = 1;
|
|
break;
|
|
case 7:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee, this);
|
|
});
|
|
};
|
|
return iterator;
|
|
}
|
|
|
|
var yallist;
|
|
var hasRequiredYallist;
|
|
function requireYallist() {
|
|
if (hasRequiredYallist) return yallist;
|
|
hasRequiredYallist = 1;
|
|
yallist = Yallist;
|
|
Yallist.Node = Node;
|
|
Yallist.create = Yallist;
|
|
function Yallist(list) {
|
|
var self = this;
|
|
if (!(self instanceof Yallist)) {
|
|
self = new Yallist();
|
|
}
|
|
self.tail = null;
|
|
self.head = null;
|
|
self.length = 0;
|
|
if (list && typeof list.forEach === 'function') {
|
|
list.forEach(function (item) {
|
|
self.push(item);
|
|
});
|
|
} else if (arguments.length > 0) {
|
|
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
self.push(arguments[i]);
|
|
}
|
|
}
|
|
return self;
|
|
}
|
|
Yallist.prototype.removeNode = function (node) {
|
|
if (node.list !== this) {
|
|
throw new Error('removing node which does not belong to this list');
|
|
}
|
|
var next = node.next;
|
|
var prev = node.prev;
|
|
if (next) {
|
|
next.prev = prev;
|
|
}
|
|
if (prev) {
|
|
prev.next = next;
|
|
}
|
|
if (node === this.head) {
|
|
this.head = next;
|
|
}
|
|
if (node === this.tail) {
|
|
this.tail = prev;
|
|
}
|
|
node.list.length--;
|
|
node.next = null;
|
|
node.prev = null;
|
|
node.list = null;
|
|
return next;
|
|
};
|
|
Yallist.prototype.unshiftNode = function (node) {
|
|
if (node === this.head) {
|
|
return;
|
|
}
|
|
if (node.list) {
|
|
node.list.removeNode(node);
|
|
}
|
|
var head = this.head;
|
|
node.list = this;
|
|
node.next = head;
|
|
if (head) {
|
|
head.prev = node;
|
|
}
|
|
this.head = node;
|
|
if (!this.tail) {
|
|
this.tail = node;
|
|
}
|
|
this.length++;
|
|
};
|
|
Yallist.prototype.pushNode = function (node) {
|
|
if (node === this.tail) {
|
|
return;
|
|
}
|
|
if (node.list) {
|
|
node.list.removeNode(node);
|
|
}
|
|
var tail = this.tail;
|
|
node.list = this;
|
|
node.prev = tail;
|
|
if (tail) {
|
|
tail.next = node;
|
|
}
|
|
this.tail = node;
|
|
if (!this.head) {
|
|
this.head = node;
|
|
}
|
|
this.length++;
|
|
};
|
|
Yallist.prototype.push = function () {
|
|
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
push(this, arguments[i]);
|
|
}
|
|
return this.length;
|
|
};
|
|
Yallist.prototype.unshift = function () {
|
|
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
unshift(this, arguments[i]);
|
|
}
|
|
return this.length;
|
|
};
|
|
Yallist.prototype.pop = function () {
|
|
if (!this.tail) {
|
|
return undefined;
|
|
}
|
|
var res = this.tail.value;
|
|
this.tail = this.tail.prev;
|
|
if (this.tail) {
|
|
this.tail.next = null;
|
|
} else {
|
|
this.head = null;
|
|
}
|
|
this.length--;
|
|
return res;
|
|
};
|
|
Yallist.prototype.shift = function () {
|
|
if (!this.head) {
|
|
return undefined;
|
|
}
|
|
var res = this.head.value;
|
|
this.head = this.head.next;
|
|
if (this.head) {
|
|
this.head.prev = null;
|
|
} else {
|
|
this.tail = null;
|
|
}
|
|
this.length--;
|
|
return res;
|
|
};
|
|
Yallist.prototype.forEach = function (fn, thisp) {
|
|
thisp = thisp || this;
|
|
for (var walker = this.head, i = 0; walker !== null; i++) {
|
|
fn.call(thisp, walker.value, i, this);
|
|
walker = walker.next;
|
|
}
|
|
};
|
|
Yallist.prototype.forEachReverse = function (fn, thisp) {
|
|
thisp = thisp || this;
|
|
for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
|
|
fn.call(thisp, walker.value, i, this);
|
|
walker = walker.prev;
|
|
}
|
|
};
|
|
Yallist.prototype.get = function (n) {
|
|
for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
|
|
walker = walker.next;
|
|
}
|
|
if (i === n && walker !== null) {
|
|
return walker.value;
|
|
}
|
|
};
|
|
Yallist.prototype.getReverse = function (n) {
|
|
for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
|
|
walker = walker.prev;
|
|
}
|
|
if (i === n && walker !== null) {
|
|
return walker.value;
|
|
}
|
|
};
|
|
Yallist.prototype.map = function (fn, thisp) {
|
|
thisp = thisp || this;
|
|
var res = new Yallist();
|
|
for (var walker = this.head; walker !== null;) {
|
|
res.push(fn.call(thisp, walker.value, this));
|
|
walker = walker.next;
|
|
}
|
|
return res;
|
|
};
|
|
Yallist.prototype.mapReverse = function (fn, thisp) {
|
|
thisp = thisp || this;
|
|
var res = new Yallist();
|
|
for (var walker = this.tail; walker !== null;) {
|
|
res.push(fn.call(thisp, walker.value, this));
|
|
walker = walker.prev;
|
|
}
|
|
return res;
|
|
};
|
|
Yallist.prototype.reduce = function (fn, initial) {
|
|
var acc;
|
|
var walker = this.head;
|
|
if (arguments.length > 1) {
|
|
acc = initial;
|
|
} else if (this.head) {
|
|
walker = this.head.next;
|
|
acc = this.head.value;
|
|
} else {
|
|
throw new TypeError('Reduce of empty list with no initial value');
|
|
}
|
|
for (var i = 0; walker !== null; i++) {
|
|
acc = fn(acc, walker.value, i);
|
|
walker = walker.next;
|
|
}
|
|
return acc;
|
|
};
|
|
Yallist.prototype.reduceReverse = function (fn, initial) {
|
|
var acc;
|
|
var walker = this.tail;
|
|
if (arguments.length > 1) {
|
|
acc = initial;
|
|
} else if (this.tail) {
|
|
walker = this.tail.prev;
|
|
acc = this.tail.value;
|
|
} else {
|
|
throw new TypeError('Reduce of empty list with no initial value');
|
|
}
|
|
for (var i = this.length - 1; walker !== null; i--) {
|
|
acc = fn(acc, walker.value, i);
|
|
walker = walker.prev;
|
|
}
|
|
return acc;
|
|
};
|
|
Yallist.prototype.toArray = function () {
|
|
var arr = new Array(this.length);
|
|
for (var i = 0, walker = this.head; walker !== null; i++) {
|
|
arr[i] = walker.value;
|
|
walker = walker.next;
|
|
}
|
|
return arr;
|
|
};
|
|
Yallist.prototype.toArrayReverse = function () {
|
|
var arr = new Array(this.length);
|
|
for (var i = 0, walker = this.tail; walker !== null; i++) {
|
|
arr[i] = walker.value;
|
|
walker = walker.prev;
|
|
}
|
|
return arr;
|
|
};
|
|
Yallist.prototype.slice = function (from, to) {
|
|
to = to || this.length;
|
|
if (to < 0) {
|
|
to += this.length;
|
|
}
|
|
from = from || 0;
|
|
if (from < 0) {
|
|
from += this.length;
|
|
}
|
|
var ret = new Yallist();
|
|
if (to < from || to < 0) {
|
|
return ret;
|
|
}
|
|
if (from < 0) {
|
|
from = 0;
|
|
}
|
|
if (to > this.length) {
|
|
to = this.length;
|
|
}
|
|
for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
|
|
walker = walker.next;
|
|
}
|
|
for (; walker !== null && i < to; i++, walker = walker.next) {
|
|
ret.push(walker.value);
|
|
}
|
|
return ret;
|
|
};
|
|
Yallist.prototype.sliceReverse = function (from, to) {
|
|
to = to || this.length;
|
|
if (to < 0) {
|
|
to += this.length;
|
|
}
|
|
from = from || 0;
|
|
if (from < 0) {
|
|
from += this.length;
|
|
}
|
|
var ret = new Yallist();
|
|
if (to < from || to < 0) {
|
|
return ret;
|
|
}
|
|
if (from < 0) {
|
|
from = 0;
|
|
}
|
|
if (to > this.length) {
|
|
to = this.length;
|
|
}
|
|
for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
|
|
walker = walker.prev;
|
|
}
|
|
for (; walker !== null && i > from; i--, walker = walker.prev) {
|
|
ret.push(walker.value);
|
|
}
|
|
return ret;
|
|
};
|
|
Yallist.prototype.splice = function (start, deleteCount) {
|
|
if (start > this.length) {
|
|
start = this.length - 1;
|
|
}
|
|
if (start < 0) {
|
|
start = this.length + start;
|
|
}
|
|
for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
|
|
walker = walker.next;
|
|
}
|
|
var ret = [];
|
|
for (var i = 0; walker && i < deleteCount; i++) {
|
|
ret.push(walker.value);
|
|
walker = this.removeNode(walker);
|
|
}
|
|
if (walker === null) {
|
|
walker = this.tail;
|
|
}
|
|
if (walker !== this.head && walker !== this.tail) {
|
|
walker = walker.prev;
|
|
}
|
|
for (var i = 2; i < arguments.length; i++) {
|
|
walker = insert(this, walker, arguments[i]);
|
|
}
|
|
return ret;
|
|
};
|
|
Yallist.prototype.reverse = function () {
|
|
var head = this.head;
|
|
var tail = this.tail;
|
|
for (var walker = head; walker !== null; walker = walker.prev) {
|
|
var p = walker.prev;
|
|
walker.prev = walker.next;
|
|
walker.next = p;
|
|
}
|
|
this.head = tail;
|
|
this.tail = head;
|
|
return this;
|
|
};
|
|
function insert(self, node, value) {
|
|
var inserted = node === self.head ? new Node(value, null, node, self) : new Node(value, node, node.next, self);
|
|
if (inserted.next === null) {
|
|
self.tail = inserted;
|
|
}
|
|
if (inserted.prev === null) {
|
|
self.head = inserted;
|
|
}
|
|
self.length++;
|
|
return inserted;
|
|
}
|
|
function push(self, item) {
|
|
self.tail = new Node(item, self.tail, null, self);
|
|
if (!self.head) {
|
|
self.head = self.tail;
|
|
}
|
|
self.length++;
|
|
}
|
|
function unshift(self, item) {
|
|
self.head = new Node(item, null, self.head, self);
|
|
if (!self.tail) {
|
|
self.tail = self.head;
|
|
}
|
|
self.length++;
|
|
}
|
|
function Node(value, prev, next, list) {
|
|
if (!(this instanceof Node)) {
|
|
return new Node(value, prev, next, list);
|
|
}
|
|
this.list = list;
|
|
this.value = value;
|
|
if (prev) {
|
|
prev.next = this;
|
|
this.prev = prev;
|
|
} else {
|
|
this.prev = null;
|
|
}
|
|
if (next) {
|
|
next.prev = this;
|
|
this.next = next;
|
|
} else {
|
|
this.next = null;
|
|
}
|
|
}
|
|
try {
|
|
requireIterator()(Yallist);
|
|
} catch (er) {}
|
|
return yallist;
|
|
}
|
|
|
|
var lruCacheBABEL_8_BREAKINGFalse;
|
|
var hasRequiredLruCacheBABEL_8_BREAKINGFalse;
|
|
function requireLruCacheBABEL_8_BREAKINGFalse() {
|
|
if (hasRequiredLruCacheBABEL_8_BREAKINGFalse) return lruCacheBABEL_8_BREAKINGFalse;
|
|
hasRequiredLruCacheBABEL_8_BREAKINGFalse = 1;
|
|
var Yallist = requireYallist();
|
|
var MAX = Symbol('max');
|
|
var LENGTH = Symbol('length');
|
|
var LENGTH_CALCULATOR = Symbol('lengthCalculator');
|
|
var ALLOW_STALE = Symbol('allowStale');
|
|
var MAX_AGE = Symbol('maxAge');
|
|
var DISPOSE = Symbol('dispose');
|
|
var NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet');
|
|
var LRU_LIST = Symbol('lruList');
|
|
var CACHE = Symbol('cache');
|
|
var UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet');
|
|
var naiveLength = function naiveLength() {
|
|
return 1;
|
|
};
|
|
var LRUCache = function () {
|
|
function LRUCache(options) {
|
|
if (typeof options === 'number') options = {
|
|
max: options
|
|
};
|
|
if (!options) options = {};
|
|
if (options.max && (typeof options.max !== 'number' || options.max < 0)) throw new TypeError('max must be a non-negative number');
|
|
this[MAX] = options.max || Infinity;
|
|
var lc = options.length || naiveLength;
|
|
this[LENGTH_CALCULATOR] = typeof lc !== 'function' ? naiveLength : lc;
|
|
this[ALLOW_STALE] = options.stale || false;
|
|
if (options.maxAge && typeof options.maxAge !== 'number') throw new TypeError('maxAge must be a number');
|
|
this[MAX_AGE] = options.maxAge || 0;
|
|
this[DISPOSE] = options.dispose;
|
|
this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;
|
|
this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
|
|
this.reset();
|
|
}
|
|
var _proto = LRUCache.prototype;
|
|
_proto.rforEach = function rforEach(fn, thisp) {
|
|
thisp = thisp || this;
|
|
for (var walker = this[LRU_LIST].tail; walker !== null;) {
|
|
var prev = walker.prev;
|
|
forEachStep(this, fn, walker, thisp);
|
|
walker = prev;
|
|
}
|
|
};
|
|
_proto.forEach = function forEach(fn, thisp) {
|
|
thisp = thisp || this;
|
|
for (var walker = this[LRU_LIST].head; walker !== null;) {
|
|
var next = walker.next;
|
|
forEachStep(this, fn, walker, thisp);
|
|
walker = next;
|
|
}
|
|
};
|
|
_proto.keys = function keys() {
|
|
return this[LRU_LIST].toArray().map(function (k) {
|
|
return k.key;
|
|
});
|
|
};
|
|
_proto.values = function values() {
|
|
return this[LRU_LIST].toArray().map(function (k) {
|
|
return k.value;
|
|
});
|
|
};
|
|
_proto.reset = function reset() {
|
|
var _this = this;
|
|
if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {
|
|
this[LRU_LIST].forEach(function (hit) {
|
|
return _this[DISPOSE](hit.key, hit.value);
|
|
});
|
|
}
|
|
this[CACHE] = new Map();
|
|
this[LRU_LIST] = new Yallist();
|
|
this[LENGTH] = 0;
|
|
};
|
|
_proto.dump = function dump() {
|
|
var _this2 = this;
|
|
return this[LRU_LIST].map(function (hit) {
|
|
return isStale(_this2, hit) ? false : {
|
|
k: hit.key,
|
|
v: hit.value,
|
|
e: hit.now + (hit.maxAge || 0)
|
|
};
|
|
}).toArray().filter(function (h) {
|
|
return h;
|
|
});
|
|
};
|
|
_proto.dumpLru = function dumpLru() {
|
|
return this[LRU_LIST];
|
|
};
|
|
_proto.set = function set(key, value, maxAge) {
|
|
maxAge = maxAge || this[MAX_AGE];
|
|
if (maxAge && typeof maxAge !== 'number') throw new TypeError('maxAge must be a number');
|
|
var now = maxAge ? Date.now() : 0;
|
|
var len = this[LENGTH_CALCULATOR](value, key);
|
|
if (this[CACHE].has(key)) {
|
|
if (len > this[MAX]) {
|
|
_del(this, this[CACHE].get(key));
|
|
return false;
|
|
}
|
|
var node = this[CACHE].get(key);
|
|
var item = node.value;
|
|
if (this[DISPOSE]) {
|
|
if (!this[NO_DISPOSE_ON_SET]) this[DISPOSE](key, item.value);
|
|
}
|
|
item.now = now;
|
|
item.maxAge = maxAge;
|
|
item.value = value;
|
|
this[LENGTH] += len - item.length;
|
|
item.length = len;
|
|
this.get(key);
|
|
trim(this);
|
|
return true;
|
|
}
|
|
var hit = new Entry(key, value, len, now, maxAge);
|
|
if (hit.length > this[MAX]) {
|
|
if (this[DISPOSE]) this[DISPOSE](key, value);
|
|
return false;
|
|
}
|
|
this[LENGTH] += hit.length;
|
|
this[LRU_LIST].unshift(hit);
|
|
this[CACHE].set(key, this[LRU_LIST].head);
|
|
trim(this);
|
|
return true;
|
|
};
|
|
_proto.has = function has(key) {
|
|
if (!this[CACHE].has(key)) return false;
|
|
var hit = this[CACHE].get(key).value;
|
|
return !isStale(this, hit);
|
|
};
|
|
_proto.get = function get(key) {
|
|
return _get(this, key, true);
|
|
};
|
|
_proto.peek = function peek(key) {
|
|
return _get(this, key, false);
|
|
};
|
|
_proto.pop = function pop() {
|
|
var node = this[LRU_LIST].tail;
|
|
if (!node) return null;
|
|
_del(this, node);
|
|
return node.value;
|
|
};
|
|
_proto.del = function del(key) {
|
|
_del(this, this[CACHE].get(key));
|
|
};
|
|
_proto.load = function load(arr) {
|
|
this.reset();
|
|
var now = Date.now();
|
|
for (var l = arr.length - 1; l >= 0; l--) {
|
|
var hit = arr[l];
|
|
var expiresAt = hit.e || 0;
|
|
if (expiresAt === 0) this.set(hit.k, hit.v);else {
|
|
var maxAge = expiresAt - now;
|
|
if (maxAge > 0) {
|
|
this.set(hit.k, hit.v, maxAge);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
_proto.prune = function prune() {
|
|
var _this3 = this;
|
|
this[CACHE].forEach(function (value, key) {
|
|
return _get(_this3, key, false);
|
|
});
|
|
};
|
|
_createClass(LRUCache, [{
|
|
key: "max",
|
|
get: function get() {
|
|
return this[MAX];
|
|
},
|
|
set: function set(mL) {
|
|
if (typeof mL !== 'number' || mL < 0) throw new TypeError('max must be a non-negative number');
|
|
this[MAX] = mL || Infinity;
|
|
trim(this);
|
|
}
|
|
}, {
|
|
key: "allowStale",
|
|
get: function get() {
|
|
return this[ALLOW_STALE];
|
|
},
|
|
set: function set(allowStale) {
|
|
this[ALLOW_STALE] = !!allowStale;
|
|
}
|
|
}, {
|
|
key: "maxAge",
|
|
get: function get() {
|
|
return this[MAX_AGE];
|
|
},
|
|
set: function set(mA) {
|
|
if (typeof mA !== 'number') throw new TypeError('maxAge must be a non-negative number');
|
|
this[MAX_AGE] = mA;
|
|
trim(this);
|
|
}
|
|
}, {
|
|
key: "lengthCalculator",
|
|
get: function get() {
|
|
return this[LENGTH_CALCULATOR];
|
|
},
|
|
set: function set(lC) {
|
|
var _this4 = this;
|
|
if (typeof lC !== 'function') lC = naiveLength;
|
|
if (lC !== this[LENGTH_CALCULATOR]) {
|
|
this[LENGTH_CALCULATOR] = lC;
|
|
this[LENGTH] = 0;
|
|
this[LRU_LIST].forEach(function (hit) {
|
|
hit.length = _this4[LENGTH_CALCULATOR](hit.value, hit.key);
|
|
_this4[LENGTH] += hit.length;
|
|
});
|
|
}
|
|
trim(this);
|
|
}
|
|
}, {
|
|
key: "length",
|
|
get: function get() {
|
|
return this[LENGTH];
|
|
}
|
|
}, {
|
|
key: "itemCount",
|
|
get: function get() {
|
|
return this[LRU_LIST].length;
|
|
}
|
|
}]);
|
|
return LRUCache;
|
|
}();
|
|
var _get = function _get(self, key, doUse) {
|
|
var node = self[CACHE].get(key);
|
|
if (node) {
|
|
var hit = node.value;
|
|
if (isStale(self, hit)) {
|
|
_del(self, node);
|
|
if (!self[ALLOW_STALE]) return undefined;
|
|
} else {
|
|
if (doUse) {
|
|
if (self[UPDATE_AGE_ON_GET]) node.value.now = Date.now();
|
|
self[LRU_LIST].unshiftNode(node);
|
|
}
|
|
}
|
|
return hit.value;
|
|
}
|
|
};
|
|
var isStale = function isStale(self, hit) {
|
|
if (!hit || !hit.maxAge && !self[MAX_AGE]) return false;
|
|
var diff = Date.now() - hit.now;
|
|
return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE] && diff > self[MAX_AGE];
|
|
};
|
|
var trim = function trim(self) {
|
|
if (self[LENGTH] > self[MAX]) {
|
|
for (var walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null;) {
|
|
var prev = walker.prev;
|
|
_del(self, walker);
|
|
walker = prev;
|
|
}
|
|
}
|
|
};
|
|
var _del = function _del(self, node) {
|
|
if (node) {
|
|
var hit = node.value;
|
|
if (self[DISPOSE]) self[DISPOSE](hit.key, hit.value);
|
|
self[LENGTH] -= hit.length;
|
|
self[CACHE]["delete"](hit.key);
|
|
self[LRU_LIST].removeNode(node);
|
|
}
|
|
};
|
|
var Entry = _createClass(function Entry(key, value, length, now, maxAge) {
|
|
this.key = key;
|
|
this.value = value;
|
|
this.length = length;
|
|
this.now = now;
|
|
this.maxAge = maxAge || 0;
|
|
});
|
|
var forEachStep = function forEachStep(self, fn, node, thisp) {
|
|
var hit = node.value;
|
|
if (isStale(self, hit)) {
|
|
_del(self, node);
|
|
if (!self[ALLOW_STALE]) hit = undefined;
|
|
}
|
|
if (hit) fn.call(thisp, hit.value, hit.key, self);
|
|
};
|
|
lruCacheBABEL_8_BREAKINGFalse = LRUCache;
|
|
return lruCacheBABEL_8_BREAKINGFalse;
|
|
}
|
|
|
|
function bool$5(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var lruCache = bool$5(browser$1$1.env["BABEL_8_BREAKING"]) ? requireLruCacheBABEL_8_BREAKINGTrue() : requireLruCacheBABEL_8_BREAKINGFalse();
|
|
|
|
function bool$4(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var semver$a = bool$4(browser$1$1.env["BABEL_8_BREAKING"]) ? requireSemverBABEL_8_BREAKINGTrue() : requireSemver();
|
|
|
|
var unreleasedLabels = {
|
|
safari: "tp"
|
|
};
|
|
var browserNameMap = {
|
|
and_chr: "chrome",
|
|
and_ff: "firefox",
|
|
android: "android",
|
|
chrome: "chrome",
|
|
edge: "edge",
|
|
firefox: "firefox",
|
|
ie: "ie",
|
|
ie_mob: "ie",
|
|
ios_saf: "ios",
|
|
node: "node",
|
|
deno: "deno",
|
|
op_mob: "opera",
|
|
opera: "opera",
|
|
safari: "safari",
|
|
samsung: "samsung"
|
|
};
|
|
|
|
var versionRegExp = /^(\d+|\d+.\d+)$/;
|
|
var v$4 = new OptionValidator("@babel/helper-compilation-targets");
|
|
function semverMin(first, second) {
|
|
return first && semver$a.lt(first, second) ? first : second;
|
|
}
|
|
function semverify(version) {
|
|
if (typeof version === "string" && semver$a.valid(version)) {
|
|
return version;
|
|
}
|
|
v$4.invariant(typeof version === "number" || typeof version === "string" && versionRegExp.test(version), "'" + version + "' is not a valid version");
|
|
version = version.toString();
|
|
var pos = 0;
|
|
var num = 0;
|
|
while ((pos = version.indexOf(".", pos + 1)) > 0) {
|
|
num++;
|
|
}
|
|
return version + ".0".repeat(2 - num);
|
|
}
|
|
function isUnreleasedVersion(version, env) {
|
|
var unreleasedLabel = unreleasedLabels[env];
|
|
return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase();
|
|
}
|
|
function getLowestUnreleased(a, b, env) {
|
|
var unreleasedLabel = unreleasedLabels[env];
|
|
if (a === unreleasedLabel) {
|
|
return b;
|
|
}
|
|
if (b === unreleasedLabel) {
|
|
return a;
|
|
}
|
|
return semverMin(a, b);
|
|
}
|
|
function getHighestUnreleased(a, b, env) {
|
|
return getLowestUnreleased(a, b, env) === a ? b : a;
|
|
}
|
|
function getLowestImplementedVersion(plugin, environment) {
|
|
var result = plugin[environment];
|
|
if (!result && environment === "android") {
|
|
return plugin.chrome;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
var TargetNames = {
|
|
node: "node",
|
|
deno: "deno",
|
|
chrome: "chrome",
|
|
opera: "opera",
|
|
edge: "edge",
|
|
firefox: "firefox",
|
|
safari: "safari",
|
|
ie: "ie",
|
|
ios: "ios",
|
|
android: "android",
|
|
electron: "electron",
|
|
samsung: "samsung",
|
|
rhino: "rhino"
|
|
};
|
|
|
|
function prettifyVersion(version) {
|
|
if (typeof version !== "string") {
|
|
return version;
|
|
}
|
|
var _semver$parse = semver$a.parse(version),
|
|
major = _semver$parse.major,
|
|
minor = _semver$parse.minor,
|
|
patch = _semver$parse.patch;
|
|
var parts = [major];
|
|
if (minor || patch) {
|
|
parts.push(minor);
|
|
}
|
|
if (patch) {
|
|
parts.push(patch);
|
|
}
|
|
return parts.join(".");
|
|
}
|
|
function prettifyTargets(targets) {
|
|
return Object.keys(targets).reduce(function (results, target) {
|
|
var value = targets[target];
|
|
var unreleasedLabel = unreleasedLabels[target];
|
|
if (typeof value === "string" && unreleasedLabel !== value) {
|
|
value = prettifyVersion(value);
|
|
}
|
|
results[target] = value;
|
|
return results;
|
|
}, {});
|
|
}
|
|
|
|
function getInclusionReasons(item, targetVersions, list) {
|
|
var minVersions = list[item] || {};
|
|
return Object.keys(targetVersions).reduce(function (result, env) {
|
|
var minVersion = getLowestImplementedVersion(minVersions, env);
|
|
var targetVersion = targetVersions[env];
|
|
if (!minVersion) {
|
|
result[env] = prettifyVersion(targetVersion);
|
|
} else {
|
|
var minIsUnreleased = isUnreleasedVersion(minVersion, env);
|
|
var targetIsUnreleased = isUnreleasedVersion(targetVersion, env);
|
|
if (!targetIsUnreleased && (minIsUnreleased || semver$a.lt(targetVersion.toString(), semverify(minVersion)))) {
|
|
result[env] = prettifyVersion(targetVersion);
|
|
}
|
|
}
|
|
return result;
|
|
}, {});
|
|
}
|
|
|
|
var require$$0$6 = {
|
|
"transform-class-static-block": {
|
|
chrome: "94",
|
|
opera: "80",
|
|
edge: "94",
|
|
firefox: "93",
|
|
node: "16.11",
|
|
deno: "1.14",
|
|
samsung: "17",
|
|
electron: "15.0"
|
|
},
|
|
"proposal-class-static-block": {
|
|
chrome: "94",
|
|
opera: "80",
|
|
edge: "94",
|
|
firefox: "93",
|
|
node: "16.11",
|
|
deno: "1.14",
|
|
samsung: "17",
|
|
electron: "15.0"
|
|
},
|
|
"transform-private-property-in-object": {
|
|
chrome: "91",
|
|
opera: "77",
|
|
edge: "91",
|
|
firefox: "90",
|
|
safari: "15",
|
|
node: "16.9",
|
|
deno: "1.9",
|
|
ios: "15",
|
|
samsung: "16",
|
|
electron: "13.0"
|
|
},
|
|
"proposal-private-property-in-object": {
|
|
chrome: "91",
|
|
opera: "77",
|
|
edge: "91",
|
|
firefox: "90",
|
|
safari: "15",
|
|
node: "16.9",
|
|
deno: "1.9",
|
|
ios: "15",
|
|
samsung: "16",
|
|
electron: "13.0"
|
|
},
|
|
"transform-class-properties": {
|
|
chrome: "74",
|
|
opera: "62",
|
|
edge: "79",
|
|
firefox: "90",
|
|
safari: "14.1",
|
|
node: "12",
|
|
deno: "1",
|
|
ios: "15",
|
|
samsung: "11",
|
|
electron: "6.0"
|
|
},
|
|
"proposal-class-properties": {
|
|
chrome: "74",
|
|
opera: "62",
|
|
edge: "79",
|
|
firefox: "90",
|
|
safari: "14.1",
|
|
node: "12",
|
|
deno: "1",
|
|
ios: "15",
|
|
samsung: "11",
|
|
electron: "6.0"
|
|
},
|
|
"transform-private-methods": {
|
|
chrome: "84",
|
|
opera: "70",
|
|
edge: "84",
|
|
firefox: "90",
|
|
safari: "15",
|
|
node: "14.6",
|
|
deno: "1",
|
|
ios: "15",
|
|
samsung: "14",
|
|
electron: "10.0"
|
|
},
|
|
"proposal-private-methods": {
|
|
chrome: "84",
|
|
opera: "70",
|
|
edge: "84",
|
|
firefox: "90",
|
|
safari: "15",
|
|
node: "14.6",
|
|
deno: "1",
|
|
ios: "15",
|
|
samsung: "14",
|
|
electron: "10.0"
|
|
},
|
|
"transform-numeric-separator": {
|
|
chrome: "75",
|
|
opera: "62",
|
|
edge: "79",
|
|
firefox: "70",
|
|
safari: "13",
|
|
node: "12.5",
|
|
deno: "1",
|
|
ios: "13",
|
|
samsung: "11",
|
|
rhino: "1.7.14",
|
|
electron: "6.0"
|
|
},
|
|
"proposal-numeric-separator": {
|
|
chrome: "75",
|
|
opera: "62",
|
|
edge: "79",
|
|
firefox: "70",
|
|
safari: "13",
|
|
node: "12.5",
|
|
deno: "1",
|
|
ios: "13",
|
|
samsung: "11",
|
|
rhino: "1.7.14",
|
|
electron: "6.0"
|
|
},
|
|
"transform-logical-assignment-operators": {
|
|
chrome: "85",
|
|
opera: "71",
|
|
edge: "85",
|
|
firefox: "79",
|
|
safari: "14",
|
|
node: "15",
|
|
deno: "1.2",
|
|
ios: "14",
|
|
samsung: "14",
|
|
electron: "10.0"
|
|
},
|
|
"proposal-logical-assignment-operators": {
|
|
chrome: "85",
|
|
opera: "71",
|
|
edge: "85",
|
|
firefox: "79",
|
|
safari: "14",
|
|
node: "15",
|
|
deno: "1.2",
|
|
ios: "14",
|
|
samsung: "14",
|
|
electron: "10.0"
|
|
},
|
|
"transform-nullish-coalescing-operator": {
|
|
chrome: "80",
|
|
opera: "67",
|
|
edge: "80",
|
|
firefox: "72",
|
|
safari: "13.1",
|
|
node: "14",
|
|
deno: "1",
|
|
ios: "13.4",
|
|
samsung: "13",
|
|
electron: "8.0"
|
|
},
|
|
"proposal-nullish-coalescing-operator": {
|
|
chrome: "80",
|
|
opera: "67",
|
|
edge: "80",
|
|
firefox: "72",
|
|
safari: "13.1",
|
|
node: "14",
|
|
deno: "1",
|
|
ios: "13.4",
|
|
samsung: "13",
|
|
electron: "8.0"
|
|
},
|
|
"transform-optional-chaining": {
|
|
chrome: "91",
|
|
opera: "77",
|
|
edge: "91",
|
|
firefox: "74",
|
|
safari: "13.1",
|
|
node: "16.9",
|
|
deno: "1.9",
|
|
ios: "13.4",
|
|
samsung: "16",
|
|
electron: "13.0"
|
|
},
|
|
"proposal-optional-chaining": {
|
|
chrome: "91",
|
|
opera: "77",
|
|
edge: "91",
|
|
firefox: "74",
|
|
safari: "13.1",
|
|
node: "16.9",
|
|
deno: "1.9",
|
|
ios: "13.4",
|
|
samsung: "16",
|
|
electron: "13.0"
|
|
},
|
|
"transform-json-strings": {
|
|
chrome: "66",
|
|
opera: "53",
|
|
edge: "79",
|
|
firefox: "62",
|
|
safari: "12",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "12",
|
|
samsung: "9",
|
|
rhino: "1.7.14",
|
|
electron: "3.0"
|
|
},
|
|
"proposal-json-strings": {
|
|
chrome: "66",
|
|
opera: "53",
|
|
edge: "79",
|
|
firefox: "62",
|
|
safari: "12",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "12",
|
|
samsung: "9",
|
|
rhino: "1.7.14",
|
|
electron: "3.0"
|
|
},
|
|
"transform-optional-catch-binding": {
|
|
chrome: "66",
|
|
opera: "53",
|
|
edge: "79",
|
|
firefox: "58",
|
|
safari: "11.1",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "11.3",
|
|
samsung: "9",
|
|
electron: "3.0"
|
|
},
|
|
"proposal-optional-catch-binding": {
|
|
chrome: "66",
|
|
opera: "53",
|
|
edge: "79",
|
|
firefox: "58",
|
|
safari: "11.1",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "11.3",
|
|
samsung: "9",
|
|
electron: "3.0"
|
|
},
|
|
"transform-parameters": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "18",
|
|
firefox: "53",
|
|
node: "6",
|
|
deno: "1",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"transform-async-generator-functions": {
|
|
chrome: "63",
|
|
opera: "50",
|
|
edge: "79",
|
|
firefox: "57",
|
|
safari: "12",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "12",
|
|
samsung: "8",
|
|
electron: "3.0"
|
|
},
|
|
"proposal-async-generator-functions": {
|
|
chrome: "63",
|
|
opera: "50",
|
|
edge: "79",
|
|
firefox: "57",
|
|
safari: "12",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "12",
|
|
samsung: "8",
|
|
electron: "3.0"
|
|
},
|
|
"transform-object-rest-spread": {
|
|
chrome: "60",
|
|
opera: "47",
|
|
edge: "79",
|
|
firefox: "55",
|
|
safari: "11.1",
|
|
node: "8.3",
|
|
deno: "1",
|
|
ios: "11.3",
|
|
samsung: "8",
|
|
electron: "2.0"
|
|
},
|
|
"proposal-object-rest-spread": {
|
|
chrome: "60",
|
|
opera: "47",
|
|
edge: "79",
|
|
firefox: "55",
|
|
safari: "11.1",
|
|
node: "8.3",
|
|
deno: "1",
|
|
ios: "11.3",
|
|
samsung: "8",
|
|
electron: "2.0"
|
|
},
|
|
"transform-dotall-regex": {
|
|
chrome: "62",
|
|
opera: "49",
|
|
edge: "79",
|
|
firefox: "78",
|
|
safari: "11.1",
|
|
node: "8.10",
|
|
deno: "1",
|
|
ios: "11.3",
|
|
samsung: "8",
|
|
electron: "3.0"
|
|
},
|
|
"transform-unicode-property-regex": {
|
|
chrome: "64",
|
|
opera: "51",
|
|
edge: "79",
|
|
firefox: "78",
|
|
safari: "11.1",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "11.3",
|
|
samsung: "9",
|
|
electron: "3.0"
|
|
},
|
|
"proposal-unicode-property-regex": {
|
|
chrome: "64",
|
|
opera: "51",
|
|
edge: "79",
|
|
firefox: "78",
|
|
safari: "11.1",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "11.3",
|
|
samsung: "9",
|
|
electron: "3.0"
|
|
},
|
|
"transform-named-capturing-groups-regex": {
|
|
chrome: "64",
|
|
opera: "51",
|
|
edge: "79",
|
|
firefox: "78",
|
|
safari: "11.1",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "11.3",
|
|
samsung: "9",
|
|
electron: "3.0"
|
|
},
|
|
"transform-async-to-generator": {
|
|
chrome: "55",
|
|
opera: "42",
|
|
edge: "15",
|
|
firefox: "52",
|
|
safari: "11",
|
|
node: "7.6",
|
|
deno: "1",
|
|
ios: "11",
|
|
samsung: "6",
|
|
electron: "1.6"
|
|
},
|
|
"transform-exponentiation-operator": {
|
|
chrome: "52",
|
|
opera: "39",
|
|
edge: "14",
|
|
firefox: "52",
|
|
safari: "10.1",
|
|
node: "7",
|
|
deno: "1",
|
|
ios: "10.3",
|
|
samsung: "6",
|
|
rhino: "1.7.14",
|
|
electron: "1.3"
|
|
},
|
|
"transform-template-literals": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "13",
|
|
firefox: "34",
|
|
safari: "13",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "13",
|
|
samsung: "3.4",
|
|
electron: "0.21"
|
|
},
|
|
"transform-literals": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "53",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
electron: "0.30"
|
|
},
|
|
"transform-function-name": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "79",
|
|
firefox: "53",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"transform-arrow-functions": {
|
|
chrome: "47",
|
|
opera: "34",
|
|
edge: "13",
|
|
firefox: "43",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
rhino: "1.7.13",
|
|
electron: "0.36"
|
|
},
|
|
"transform-block-scoped-functions": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "12",
|
|
firefox: "46",
|
|
safari: "10",
|
|
node: "4",
|
|
deno: "1",
|
|
ie: "11",
|
|
ios: "10",
|
|
samsung: "3.4",
|
|
electron: "0.21"
|
|
},
|
|
"transform-classes": {
|
|
chrome: "46",
|
|
opera: "33",
|
|
edge: "13",
|
|
firefox: "45",
|
|
safari: "10",
|
|
node: "5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.36"
|
|
},
|
|
"transform-object-super": {
|
|
chrome: "46",
|
|
opera: "33",
|
|
edge: "13",
|
|
firefox: "45",
|
|
safari: "10",
|
|
node: "5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.36"
|
|
},
|
|
"transform-shorthand-properties": {
|
|
chrome: "43",
|
|
opera: "30",
|
|
edge: "12",
|
|
firefox: "33",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
rhino: "1.7.14",
|
|
electron: "0.27"
|
|
},
|
|
"transform-duplicate-keys": {
|
|
chrome: "42",
|
|
opera: "29",
|
|
edge: "12",
|
|
firefox: "34",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
electron: "0.25"
|
|
},
|
|
"transform-computed-properties": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "34",
|
|
safari: "7.1",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "4",
|
|
electron: "0.30"
|
|
},
|
|
"transform-for-of": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "15",
|
|
firefox: "53",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"transform-sticky-regex": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "13",
|
|
firefox: "3",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"transform-unicode-escapes": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "53",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
electron: "0.30"
|
|
},
|
|
"transform-unicode-regex": {
|
|
chrome: "50",
|
|
opera: "37",
|
|
edge: "13",
|
|
firefox: "46",
|
|
safari: "12",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "12",
|
|
samsung: "5",
|
|
electron: "1.1"
|
|
},
|
|
"transform-spread": {
|
|
chrome: "46",
|
|
opera: "33",
|
|
edge: "13",
|
|
firefox: "45",
|
|
safari: "10",
|
|
node: "5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.36"
|
|
},
|
|
"transform-destructuring": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "15",
|
|
firefox: "53",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"transform-block-scoping": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "14",
|
|
firefox: "51",
|
|
safari: "11",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "11",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"transform-typeof-symbol": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "36",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"transform-new-target": {
|
|
chrome: "46",
|
|
opera: "33",
|
|
edge: "14",
|
|
firefox: "41",
|
|
safari: "10",
|
|
node: "5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.36"
|
|
},
|
|
"transform-regenerator": {
|
|
chrome: "50",
|
|
opera: "37",
|
|
edge: "13",
|
|
firefox: "53",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.1"
|
|
},
|
|
"transform-member-expression-literals": {
|
|
chrome: "7",
|
|
opera: "12",
|
|
edge: "12",
|
|
firefox: "2",
|
|
safari: "5.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"transform-property-literals": {
|
|
chrome: "7",
|
|
opera: "12",
|
|
edge: "12",
|
|
firefox: "2",
|
|
safari: "5.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"transform-reserved-words": {
|
|
chrome: "13",
|
|
opera: "10.50",
|
|
edge: "12",
|
|
firefox: "2",
|
|
safari: "3.1",
|
|
node: "0.6",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4.4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"transform-export-namespace-from": {
|
|
chrome: "72",
|
|
and_chr: "72",
|
|
edge: "79",
|
|
firefox: "80",
|
|
and_ff: "80",
|
|
node: "13.2",
|
|
opera: "60",
|
|
op_mob: "51",
|
|
samsung: "11.0",
|
|
android: "72",
|
|
electron: "5.0"
|
|
},
|
|
"proposal-export-namespace-from": {
|
|
chrome: "72",
|
|
and_chr: "72",
|
|
edge: "79",
|
|
firefox: "80",
|
|
and_ff: "80",
|
|
node: "13.2",
|
|
opera: "60",
|
|
op_mob: "51",
|
|
samsung: "11.0",
|
|
android: "72",
|
|
electron: "5.0"
|
|
}
|
|
};
|
|
|
|
var plugins$1 = require$$0$6;
|
|
|
|
function targetsSupported(target, support) {
|
|
var targetEnvironments = Object.keys(target);
|
|
if (targetEnvironments.length === 0) {
|
|
return false;
|
|
}
|
|
var unsupportedEnvironments = targetEnvironments.filter(function (environment) {
|
|
var lowestImplementedVersion = getLowestImplementedVersion(support, environment);
|
|
if (!lowestImplementedVersion) {
|
|
return true;
|
|
}
|
|
var lowestTargetedVersion = target[environment];
|
|
if (isUnreleasedVersion(lowestTargetedVersion, environment)) {
|
|
return false;
|
|
}
|
|
if (isUnreleasedVersion(lowestImplementedVersion, environment)) {
|
|
return true;
|
|
}
|
|
if (!semver$a.valid(lowestTargetedVersion.toString())) {
|
|
throw new Error("Invalid version passed for target \"" + environment + "\": \"" + lowestTargetedVersion + "\". " + "Versions must be in semver format (major.minor.patch)");
|
|
}
|
|
return semver$a.gt(semverify(lowestImplementedVersion), lowestTargetedVersion.toString());
|
|
});
|
|
return unsupportedEnvironments.length === 0;
|
|
}
|
|
function isRequired(name, targets, _temp) {
|
|
var _ref = _temp === void 0 ? {} : _temp,
|
|
_ref$compatData = _ref.compatData,
|
|
compatData = _ref$compatData === void 0 ? plugins$1 : _ref$compatData,
|
|
includes = _ref.includes,
|
|
excludes = _ref.excludes;
|
|
if (excludes != null && excludes.has(name)) return false;
|
|
if (includes != null && includes.has(name)) return true;
|
|
return !targetsSupported(targets, compatData[name]);
|
|
}
|
|
function filterItems(list, includes, excludes, targets, defaultIncludes, defaultExcludes, pluginSyntaxMap) {
|
|
var result = new Set();
|
|
var options = {
|
|
compatData: list,
|
|
includes: includes,
|
|
excludes: excludes
|
|
};
|
|
for (var item in list) {
|
|
if (isRequired(item, targets, options)) {
|
|
result.add(item);
|
|
} else if (pluginSyntaxMap) {
|
|
var shippedProposalsSyntax = pluginSyntaxMap.get(item);
|
|
if (shippedProposalsSyntax) {
|
|
result.add(shippedProposalsSyntax);
|
|
}
|
|
}
|
|
}
|
|
if (defaultIncludes) {
|
|
defaultIncludes.forEach(function (item) {
|
|
return !excludes.has(item) && result.add(item);
|
|
});
|
|
}
|
|
if (defaultExcludes) {
|
|
defaultExcludes.forEach(function (item) {
|
|
return !includes.has(item) && result["delete"](item);
|
|
});
|
|
}
|
|
return result;
|
|
}
|
|
|
|
var ESM_SUPPORT = nativeModules["es6.module"];
|
|
var v$3 = new OptionValidator("@babel/helper-compilation-targets");
|
|
function validateTargetNames(targets) {
|
|
var validTargets = Object.keys(TargetNames);
|
|
for (var _i = 0, _Object$keys = Object.keys(targets); _i < _Object$keys.length; _i++) {
|
|
var target = _Object$keys[_i];
|
|
if (!(target in TargetNames)) {
|
|
throw new Error(v$3.formatMessage("'" + target + "' is not a valid target\n- Did you mean '" + findSuggestion(target, validTargets) + "'?"));
|
|
}
|
|
}
|
|
return targets;
|
|
}
|
|
function isBrowsersQueryValid(browsers) {
|
|
return typeof browsers === "string" || Array.isArray(browsers) && browsers.every(function (b) {
|
|
return typeof b === "string";
|
|
});
|
|
}
|
|
function validateBrowsers(browsers) {
|
|
v$3.invariant(browsers === undefined || isBrowsersQueryValid(browsers), "'" + String(browsers) + "' is not a valid browserslist query");
|
|
return browsers;
|
|
}
|
|
function getLowestVersions(browsers) {
|
|
return browsers.reduce(function (all, browser) {
|
|
var _ref = browser.split(" "),
|
|
_ref2 = _slicedToArray(_ref, 2),
|
|
browserName = _ref2[0],
|
|
browserVersion = _ref2[1];
|
|
var target = browserNameMap[browserName];
|
|
if (!target) {
|
|
return all;
|
|
}
|
|
try {
|
|
var splitVersion = browserVersion.split("-")[0].toLowerCase();
|
|
var isSplitUnreleased = isUnreleasedVersion(splitVersion, target);
|
|
if (!all[target]) {
|
|
all[target] = isSplitUnreleased ? splitVersion : semverify(splitVersion);
|
|
return all;
|
|
}
|
|
var version = all[target];
|
|
var isUnreleased = isUnreleasedVersion(version, target);
|
|
if (isUnreleased && isSplitUnreleased) {
|
|
all[target] = getLowestUnreleased(version, splitVersion, target);
|
|
} else if (isUnreleased) {
|
|
all[target] = semverify(splitVersion);
|
|
} else if (!isUnreleased && !isSplitUnreleased) {
|
|
var parsedBrowserVersion = semverify(splitVersion);
|
|
all[target] = semverMin(version, parsedBrowserVersion);
|
|
}
|
|
} catch (e) {}
|
|
return all;
|
|
}, {});
|
|
}
|
|
function outputDecimalWarning(decimalTargets) {
|
|
if (!decimalTargets.length) {
|
|
return;
|
|
}
|
|
console.warn("Warning, the following targets are using a decimal version:\n");
|
|
decimalTargets.forEach(function (_ref3) {
|
|
var target = _ref3.target,
|
|
value = _ref3.value;
|
|
return console.warn(" " + target + ": " + value);
|
|
});
|
|
console.warn("\nWe recommend using a string for minor/patch versions to avoid numbers like 6.10\ngetting parsed as 6.1, which can lead to unexpected behavior.\n");
|
|
}
|
|
function semverifyTarget(target, value) {
|
|
try {
|
|
return semverify(value);
|
|
} catch (error) {
|
|
throw new Error(v$3.formatMessage("'" + value + "' is not a valid value for 'targets." + target + "'."));
|
|
}
|
|
}
|
|
function nodeTargetParser(value) {
|
|
var parsed = value === true || value === "current" ? browser$1$1.versions.node : semverifyTarget("node", value);
|
|
return ["node", parsed];
|
|
}
|
|
function defaultTargetParser(target, value) {
|
|
var version = isUnreleasedVersion(value, target) ? value.toLowerCase() : semverifyTarget(target, value);
|
|
return [target, version];
|
|
}
|
|
function generateTargets(inputTargets) {
|
|
var input = Object.assign({}, inputTargets);
|
|
delete input.esmodules;
|
|
delete input.browsers;
|
|
return input;
|
|
}
|
|
function resolveTargets$1(queries, env) {
|
|
var resolved = browserslist_1(queries, {
|
|
mobileToDesktop: true,
|
|
env: env
|
|
});
|
|
return getLowestVersions(resolved);
|
|
}
|
|
var targetsCache = new lruCache({
|
|
max: 64
|
|
});
|
|
function resolveTargetsCached(queries, env) {
|
|
var cacheKey = typeof queries === "string" ? queries : queries.join() + env;
|
|
var cached = targetsCache.get(cacheKey);
|
|
if (!cached) {
|
|
cached = resolveTargets$1(queries, env);
|
|
targetsCache.set(cacheKey, cached);
|
|
}
|
|
return Object.assign({}, cached);
|
|
}
|
|
function getTargets$2(inputTargets, options) {
|
|
var _browsers, _browsers2;
|
|
if (inputTargets === void 0) {
|
|
inputTargets = {};
|
|
}
|
|
if (options === void 0) {
|
|
options = {};
|
|
}
|
|
var _inputTargets = inputTargets,
|
|
browsers = _inputTargets.browsers,
|
|
esmodules = _inputTargets.esmodules;
|
|
var _options = options,
|
|
_options$configPath = _options.configPath,
|
|
configPath = _options$configPath === void 0 ? "." : _options$configPath;
|
|
validateBrowsers(browsers);
|
|
var input = generateTargets(inputTargets);
|
|
var targets = validateTargetNames(input);
|
|
var shouldParseBrowsers = !!browsers;
|
|
var hasTargets = shouldParseBrowsers || Object.keys(targets).length > 0;
|
|
var shouldSearchForConfig = !options.ignoreBrowserslistConfig && !hasTargets;
|
|
if (!browsers && shouldSearchForConfig) {
|
|
browsers = browserslist_1.loadConfig({
|
|
config: options.configFile,
|
|
path: configPath,
|
|
env: options.browserslistEnv
|
|
});
|
|
if (browsers == null) {
|
|
{
|
|
browsers = [];
|
|
}
|
|
}
|
|
}
|
|
if (esmodules && (esmodules !== "intersect" || !((_browsers = browsers) != null && _browsers.length))) {
|
|
browsers = Object.keys(ESM_SUPPORT).map(function (browser) {
|
|
return browser + " >= " + ESM_SUPPORT[browser];
|
|
}).join(", ");
|
|
esmodules = false;
|
|
}
|
|
if ((_browsers2 = browsers) != null && _browsers2.length) {
|
|
var queryBrowsers = resolveTargetsCached(browsers, options.browserslistEnv);
|
|
if (esmodules === "intersect") {
|
|
for (var _i2 = 0, _arr = Object.keys(queryBrowsers); _i2 < _arr.length; _i2++) {
|
|
var browser = _arr[_i2];
|
|
var version = queryBrowsers[browser];
|
|
var esmSupportVersion = ESM_SUPPORT[browser];
|
|
if (esmSupportVersion) {
|
|
queryBrowsers[browser] = getHighestUnreleased(version, semverify(esmSupportVersion), browser);
|
|
} else {
|
|
delete queryBrowsers[browser];
|
|
}
|
|
}
|
|
}
|
|
targets = Object.assign(queryBrowsers, targets);
|
|
}
|
|
var result = {};
|
|
var decimalWarnings = [];
|
|
for (var _i3 = 0, _arr2 = Object.keys(targets).sort(); _i3 < _arr2.length; _i3++) {
|
|
var target = _arr2[_i3];
|
|
var value = targets[target];
|
|
if (typeof value === "number" && value % 1 !== 0) {
|
|
decimalWarnings.push({
|
|
target: target,
|
|
value: value
|
|
});
|
|
}
|
|
var _ref4 = target === "node" ? nodeTargetParser(value) : defaultTargetParser(target, value),
|
|
_ref5 = _slicedToArray(_ref4, 2),
|
|
parsedTarget = _ref5[0],
|
|
parsedValue = _ref5[1];
|
|
if (parsedValue) {
|
|
result[parsedTarget] = parsedValue;
|
|
}
|
|
}
|
|
outputDecimalWarning(decimalWarnings);
|
|
return result;
|
|
}
|
|
|
|
function resolveBrowserslistConfigFile(browserslistConfigFile, configFilePath) {
|
|
return undefined;
|
|
}
|
|
function resolveTargets(options, root) {
|
|
var optTargets = options.targets;
|
|
var targets;
|
|
if (typeof optTargets === "string" || Array.isArray(optTargets)) {
|
|
targets = {
|
|
browsers: optTargets
|
|
};
|
|
} else if (optTargets) {
|
|
if ("esmodules" in optTargets) {
|
|
targets = Object.assign({}, optTargets, {
|
|
esmodules: "intersect"
|
|
});
|
|
} else {
|
|
targets = optTargets;
|
|
}
|
|
}
|
|
return getTargets$2(targets, {
|
|
ignoreBrowserslistConfig: true,
|
|
browserslistEnv: options.browserslistEnv
|
|
});
|
|
}
|
|
|
|
var _marked$6 = _regeneratorRuntime().mark(handlerOf),
|
|
_marked2$4 = _regeneratorRuntime().mark(createPresetDescriptors),
|
|
_marked3$2 = _regeneratorRuntime().mark(createPluginDescriptors),
|
|
_marked4$1 = _regeneratorRuntime().mark(createDescriptors);
|
|
function isEqualDescriptor(a, b) {
|
|
return a.name === b.name && a.value === b.value && a.options === b.options && a.dirname === b.dirname && a.alias === b.alias && a.ownPass === b.ownPass && (a.file && a.file.request) === (b.file && b.file.request) && (a.file && a.file.resolved) === (b.file && b.file.resolved);
|
|
}
|
|
function handlerOf(value) {
|
|
return _regeneratorRuntime().wrap(function handlerOf$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.abrupt("return", value);
|
|
case 1:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _marked$6);
|
|
}
|
|
function optionsWithResolvedBrowserslistConfigFile(options, dirname) {
|
|
if (typeof options.browserslistConfigFile === "string") {
|
|
options.browserslistConfigFile = resolveBrowserslistConfigFile(options.browserslistConfigFile);
|
|
}
|
|
return options;
|
|
}
|
|
function createCachedDescriptors(dirname, options, alias) {
|
|
var plugins = options.plugins,
|
|
presets = options.presets,
|
|
passPerPreset = options.passPerPreset;
|
|
return {
|
|
options: optionsWithResolvedBrowserslistConfigFile(options),
|
|
plugins: plugins ? function () {
|
|
return createCachedPluginDescriptors(plugins, dirname)(alias);
|
|
} : function () {
|
|
return handlerOf([]);
|
|
},
|
|
presets: presets ? function () {
|
|
return createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset);
|
|
} : function () {
|
|
return handlerOf([]);
|
|
}
|
|
};
|
|
}
|
|
function createUncachedDescriptors(dirname, options, alias) {
|
|
return {
|
|
options: optionsWithResolvedBrowserslistConfigFile(options),
|
|
plugins: once(function () {
|
|
return createPluginDescriptors(options.plugins || [], dirname, alias);
|
|
}),
|
|
presets: once(function () {
|
|
return createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset);
|
|
})
|
|
};
|
|
}
|
|
var PRESET_DESCRIPTOR_CACHE = new WeakMap();
|
|
var createCachedPresetDescriptors = makeWeakCacheSync(function (items, cache) {
|
|
var dirname = cache.using(function (dir) {
|
|
return dir;
|
|
});
|
|
return makeStrongCacheSync(function (alias) {
|
|
return makeStrongCache(_regeneratorRuntime().mark(function _callee(passPerPreset) {
|
|
var descriptors;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
return _context2.delegateYield(createPresetDescriptors(items, dirname, alias, passPerPreset), "t0", 1);
|
|
case 1:
|
|
descriptors = _context2.t0;
|
|
return _context2.abrupt("return", descriptors.map(function (desc) {
|
|
return loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc);
|
|
}));
|
|
case 3:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _callee);
|
|
}));
|
|
});
|
|
});
|
|
var PLUGIN_DESCRIPTOR_CACHE = new WeakMap();
|
|
var createCachedPluginDescriptors = makeWeakCacheSync(function (items, cache) {
|
|
var dirname = cache.using(function (dir) {
|
|
return dir;
|
|
});
|
|
return makeStrongCache(_regeneratorRuntime().mark(function _callee2(alias) {
|
|
var descriptors;
|
|
return _regeneratorRuntime().wrap(function _callee2$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
return _context3.delegateYield(createPluginDescriptors(items, dirname, alias), "t0", 1);
|
|
case 1:
|
|
descriptors = _context3.t0;
|
|
return _context3.abrupt("return", descriptors.map(function (desc) {
|
|
return loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc);
|
|
}));
|
|
case 3:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, _callee2);
|
|
}));
|
|
});
|
|
var DEFAULT_OPTIONS = {};
|
|
function loadCachedDescriptor(cache, desc) {
|
|
var value = desc.value,
|
|
_desc$options = desc.options,
|
|
options = _desc$options === void 0 ? DEFAULT_OPTIONS : _desc$options;
|
|
if (options === false) return desc;
|
|
var cacheByOptions = cache.get(value);
|
|
if (!cacheByOptions) {
|
|
cacheByOptions = new WeakMap();
|
|
cache.set(value, cacheByOptions);
|
|
}
|
|
var possibilities = cacheByOptions.get(options);
|
|
if (!possibilities) {
|
|
possibilities = [];
|
|
cacheByOptions.set(options, possibilities);
|
|
}
|
|
if (possibilities.indexOf(desc) === -1) {
|
|
var matches = possibilities.filter(function (possibility) {
|
|
return isEqualDescriptor(possibility, desc);
|
|
});
|
|
if (matches.length > 0) {
|
|
return matches[0];
|
|
}
|
|
possibilities.push(desc);
|
|
}
|
|
return desc;
|
|
}
|
|
function createPresetDescriptors(items, dirname, alias, passPerPreset) {
|
|
return _regeneratorRuntime().wrap(function createPresetDescriptors$(_context4) {
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
case 0:
|
|
return _context4.delegateYield(createDescriptors("preset", items, dirname, alias, passPerPreset), "t0", 1);
|
|
case 1:
|
|
return _context4.abrupt("return", _context4.t0);
|
|
case 2:
|
|
case "end":
|
|
return _context4.stop();
|
|
}
|
|
}, _marked2$4);
|
|
}
|
|
function createPluginDescriptors(items, dirname, alias) {
|
|
return _regeneratorRuntime().wrap(function createPluginDescriptors$(_context5) {
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
case 0:
|
|
return _context5.delegateYield(createDescriptors("plugin", items, dirname, alias), "t0", 1);
|
|
case 1:
|
|
return _context5.abrupt("return", _context5.t0);
|
|
case 2:
|
|
case "end":
|
|
return _context5.stop();
|
|
}
|
|
}, _marked3$2);
|
|
}
|
|
function createDescriptors(type, items, dirname, alias, ownPass) {
|
|
var descriptors;
|
|
return _regeneratorRuntime().wrap(function createDescriptors$(_context6) {
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
case 0:
|
|
return _context6.delegateYield(gensync.all(items.map(function (item, index) {
|
|
return createDescriptor(item, dirname, {
|
|
type: type,
|
|
alias: alias + "$" + index,
|
|
ownPass: !!ownPass
|
|
});
|
|
})), "t0", 1);
|
|
case 1:
|
|
descriptors = _context6.t0;
|
|
assertNoDuplicates(descriptors);
|
|
return _context6.abrupt("return", descriptors);
|
|
case 4:
|
|
case "end":
|
|
return _context6.stop();
|
|
}
|
|
}, _marked4$1);
|
|
}
|
|
function createDescriptor(pair, dirname, _ref) {
|
|
var type = _ref.type,
|
|
alias = _ref.alias,
|
|
ownPass = _ref.ownPass;
|
|
return _regeneratorRuntime().mark(function _callee3() {
|
|
var desc, name, options, value, _value, _value2, _value3, _value4, file, filepath, resolver, request, _yield$resolver;
|
|
return _regeneratorRuntime().wrap(function _callee3$(_context7) {
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
case 0:
|
|
desc = getItemDescriptor(pair);
|
|
if (!desc) {
|
|
_context7.next = 3;
|
|
break;
|
|
}
|
|
return _context7.abrupt("return", desc);
|
|
case 3:
|
|
value = pair;
|
|
if (Array.isArray(value)) {
|
|
if (value.length === 3) {
|
|
_value = value;
|
|
_value2 = _slicedToArray(_value, 3);
|
|
value = _value2[0];
|
|
options = _value2[1];
|
|
name = _value2[2];
|
|
} else {
|
|
_value3 = value;
|
|
_value4 = _slicedToArray(_value3, 2);
|
|
value = _value4[0];
|
|
options = _value4[1];
|
|
}
|
|
}
|
|
file = undefined;
|
|
filepath = null;
|
|
if (!(typeof value === "string")) {
|
|
_context7.next = 17;
|
|
break;
|
|
}
|
|
if (!(typeof type !== "string")) {
|
|
_context7.next = 10;
|
|
break;
|
|
}
|
|
throw new Error("To resolve a string-based item, the type of item must be given");
|
|
case 10:
|
|
resolver = type === "plugin" ? loadPlugin : loadPreset;
|
|
request = value;
|
|
return _context7.delegateYield(resolver(value, dirname), "t0", 13);
|
|
case 13:
|
|
_yield$resolver = _context7.t0;
|
|
filepath = _yield$resolver.filepath;
|
|
value = _yield$resolver.value;
|
|
file = {
|
|
request: request,
|
|
resolved: filepath
|
|
};
|
|
case 17:
|
|
if (value) {
|
|
_context7.next = 19;
|
|
break;
|
|
}
|
|
throw new Error("Unexpected falsy value: " + String(value));
|
|
case 19:
|
|
if (!(typeof value === "object" && value.__esModule)) {
|
|
_context7.next = 25;
|
|
break;
|
|
}
|
|
if (!value["default"]) {
|
|
_context7.next = 24;
|
|
break;
|
|
}
|
|
value = value["default"];
|
|
_context7.next = 25;
|
|
break;
|
|
case 24:
|
|
throw new Error("Must export a default export when using ES6 modules.");
|
|
case 25:
|
|
if (!(typeof value !== "object" && typeof value !== "function")) {
|
|
_context7.next = 27;
|
|
break;
|
|
}
|
|
throw new Error("Unsupported format: " + typeof value + ". Expected an object or a function.");
|
|
case 27:
|
|
if (!(filepath !== null && typeof value === "object" && value)) {
|
|
_context7.next = 29;
|
|
break;
|
|
}
|
|
throw new Error("Plugin/Preset files are not allowed to export objects, only functions. In " + filepath);
|
|
case 29:
|
|
return _context7.abrupt("return", {
|
|
name: name,
|
|
alias: filepath || alias,
|
|
value: value,
|
|
options: options,
|
|
dirname: dirname,
|
|
ownPass: ownPass,
|
|
file: file
|
|
});
|
|
case 30:
|
|
case "end":
|
|
return _context7.stop();
|
|
}
|
|
}, _callee3);
|
|
})();
|
|
}
|
|
function assertNoDuplicates(items) {
|
|
var map = new Map();
|
|
var _loop = function _loop() {
|
|
var item = _step.value;
|
|
if (typeof item.value !== "function") return "continue";
|
|
var nameMap = map.get(item.value);
|
|
if (!nameMap) {
|
|
nameMap = new Set();
|
|
map.set(item.value, nameMap);
|
|
}
|
|
if (nameMap.has(item.name)) {
|
|
var conflicts = items.filter(function (i) {
|
|
return i.value === item.value;
|
|
});
|
|
throw new Error(["Duplicate plugin/preset detected.", "If you'd like to use two separate instances of a plugin,", "they need separate names, e.g.", "", " plugins: [", " ['some-plugin', {}],", " ['some-plugin', {}, 'some unique name'],", " ]", "", "Duplicates detected are:", "" + JSON.stringify(conflicts, null, 2)].join("\n"));
|
|
}
|
|
nameMap.add(item.name);
|
|
};
|
|
for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
|
|
var _ret = _loop();
|
|
if (_ret === "continue") continue;
|
|
}
|
|
}
|
|
|
|
function createItemFromDescriptor(desc) {
|
|
return new ConfigItem(desc);
|
|
}
|
|
function createConfigItem$1(value, _temp) {
|
|
var _ref = _temp === void 0 ? {} : _temp,
|
|
_ref$dirname = _ref.dirname,
|
|
dirname = _ref$dirname === void 0 ? "." : _ref$dirname,
|
|
type = _ref.type;
|
|
return _regeneratorRuntime().mark(function _callee() {
|
|
var descriptor;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.delegateYield(createDescriptor(value, path$1.resolve(dirname), {
|
|
type: type,
|
|
alias: "programmatic item"
|
|
}), "t0", 1);
|
|
case 1:
|
|
descriptor = _context.t0;
|
|
return _context.abrupt("return", createItemFromDescriptor(descriptor));
|
|
case 3:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
})();
|
|
}
|
|
var CONFIG_ITEM_BRAND = Symbol["for"]("@babel/core@7 - ConfigItem");
|
|
function getItemDescriptor(item) {
|
|
if (item != null && item[CONFIG_ITEM_BRAND]) {
|
|
return item._descriptor;
|
|
}
|
|
return undefined;
|
|
}
|
|
var ConfigItem = _createClass(function ConfigItem(descriptor) {
|
|
this._descriptor = void 0;
|
|
this[CONFIG_ITEM_BRAND] = true;
|
|
this.value = void 0;
|
|
this.options = void 0;
|
|
this.dirname = void 0;
|
|
this.name = void 0;
|
|
this.file = void 0;
|
|
this._descriptor = descriptor;
|
|
Object.defineProperty(this, "_descriptor", {
|
|
enumerable: false
|
|
});
|
|
Object.defineProperty(this, CONFIG_ITEM_BRAND, {
|
|
enumerable: false
|
|
});
|
|
this.value = this._descriptor.value;
|
|
this.options = this._descriptor.options;
|
|
this.dirname = this._descriptor.dirname;
|
|
this.name = this._descriptor.name;
|
|
this.file = this._descriptor.file ? {
|
|
request: this._descriptor.file.request,
|
|
resolved: this._descriptor.file.resolved
|
|
} : undefined;
|
|
Object.freeze(this);
|
|
});
|
|
Object.freeze(ConfigItem.prototype);
|
|
|
|
var removed = {
|
|
auxiliaryComment: {
|
|
message: "Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`"
|
|
},
|
|
blacklist: {
|
|
message: "Put the specific transforms you want in the `plugins` option"
|
|
},
|
|
breakConfig: {
|
|
message: "This is not a necessary option in Babel 6"
|
|
},
|
|
experimental: {
|
|
message: "Put the specific transforms you want in the `plugins` option"
|
|
},
|
|
externalHelpers: {
|
|
message: "Use the `external-helpers` plugin instead. " + "Check out http://babeljs.io/docs/plugins/external-helpers/"
|
|
},
|
|
extra: {
|
|
message: ""
|
|
},
|
|
jsxPragma: {
|
|
message: "use the `pragma` option in the `react-jsx` plugin. " + "Check out http://babeljs.io/docs/plugins/transform-react-jsx/"
|
|
},
|
|
loose: {
|
|
message: "Specify the `loose` option for the relevant plugin you are using " + "or use a preset that sets the option."
|
|
},
|
|
metadataUsedHelpers: {
|
|
message: "Not required anymore as this is enabled by default"
|
|
},
|
|
modules: {
|
|
message: "Use the corresponding module transform plugin in the `plugins` option. " + "Check out http://babeljs.io/docs/plugins/#modules"
|
|
},
|
|
nonStandard: {
|
|
message: "Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. " + "Also check out the react preset http://babeljs.io/docs/plugins/preset-react/"
|
|
},
|
|
optional: {
|
|
message: "Put the specific transforms you want in the `plugins` option"
|
|
},
|
|
sourceMapName: {
|
|
message: "The `sourceMapName` option has been removed because it makes more sense for the " + "tooling that calls Babel to assign `map.file` themselves."
|
|
},
|
|
stage: {
|
|
message: "Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets"
|
|
},
|
|
whitelist: {
|
|
message: "Put the specific transforms you want in the `plugins` option"
|
|
},
|
|
resolveModuleSource: {
|
|
version: 6,
|
|
message: "Use `babel-plugin-module-resolver@3`'s 'resolvePath' options"
|
|
},
|
|
metadata: {
|
|
version: 6,
|
|
message: "Generated plugin metadata is always included in the output result"
|
|
},
|
|
sourceMapTarget: {
|
|
version: 6,
|
|
message: "The `sourceMapTarget` option has been removed because it makes more sense for the tooling " + "that calls Babel to assign `map.file` themselves."
|
|
}
|
|
};
|
|
|
|
function msg(loc) {
|
|
switch (loc.type) {
|
|
case "root":
|
|
return "";
|
|
case "env":
|
|
return msg(loc.parent) + ".env[\"" + loc.name + "\"]";
|
|
case "overrides":
|
|
return msg(loc.parent) + ".overrides[" + loc.index + "]";
|
|
case "option":
|
|
return msg(loc.parent) + "." + loc.name;
|
|
case "access":
|
|
return msg(loc.parent) + "[" + JSON.stringify(loc.name) + "]";
|
|
default:
|
|
throw new Error("Assertion failure: Unknown type " + loc.type);
|
|
}
|
|
}
|
|
function access(loc, name) {
|
|
return {
|
|
type: "access",
|
|
name: name,
|
|
parent: loc
|
|
};
|
|
}
|
|
function assertRootMode(loc, value) {
|
|
if (value !== undefined && value !== "root" && value !== "upward" && value !== "upward-optional") {
|
|
throw new Error(msg(loc) + " must be a \"root\", \"upward\", \"upward-optional\" or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertSourceMaps(loc, value) {
|
|
if (value !== undefined && typeof value !== "boolean" && value !== "inline" && value !== "both") {
|
|
throw new Error(msg(loc) + " must be a boolean, \"inline\", \"both\", or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertCompact(loc, value) {
|
|
if (value !== undefined && typeof value !== "boolean" && value !== "auto") {
|
|
throw new Error(msg(loc) + " must be a boolean, \"auto\", or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertSourceType(loc, value) {
|
|
if (value !== undefined && value !== "module" && value !== "script" && value !== "unambiguous") {
|
|
throw new Error(msg(loc) + " must be \"module\", \"script\", \"unambiguous\", or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertCallerMetadata(loc, value) {
|
|
var obj = assertObject(loc, value);
|
|
if (obj) {
|
|
if (typeof obj.name !== "string") {
|
|
throw new Error(msg(loc) + " set but does not contain \"name\" property string");
|
|
}
|
|
for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) {
|
|
var prop = _Object$keys[_i];
|
|
var propLoc = access(loc, prop);
|
|
var _value = obj[prop];
|
|
if (_value != null && typeof _value !== "boolean" && typeof _value !== "string" && typeof _value !== "number") {
|
|
throw new Error(msg(propLoc) + " must be null, undefined, a boolean, a string, or a number.");
|
|
}
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
function assertInputSourceMap(loc, value) {
|
|
if (value !== undefined && typeof value !== "boolean" && (typeof value !== "object" || !value)) {
|
|
throw new Error(msg(loc) + " must be a boolean, object, or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertString(loc, value) {
|
|
if (value !== undefined && typeof value !== "string") {
|
|
throw new Error(msg(loc) + " must be a string, or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertFunction(loc, value) {
|
|
if (value !== undefined && typeof value !== "function") {
|
|
throw new Error(msg(loc) + " must be a function, or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertBoolean(loc, value) {
|
|
if (value !== undefined && typeof value !== "boolean") {
|
|
throw new Error(msg(loc) + " must be a boolean, or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertObject(loc, value) {
|
|
if (value !== undefined && (typeof value !== "object" || Array.isArray(value) || !value)) {
|
|
throw new Error(msg(loc) + " must be an object, or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertArray(loc, value) {
|
|
if (value != null && !Array.isArray(value)) {
|
|
throw new Error(msg(loc) + " must be an array, or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertIgnoreList(loc, value) {
|
|
var arr = assertArray(loc, value);
|
|
if (arr) {
|
|
arr.forEach(function (item, i) {
|
|
return assertIgnoreItem(access(loc, i), item);
|
|
});
|
|
}
|
|
return arr;
|
|
}
|
|
function assertIgnoreItem(loc, value) {
|
|
if (typeof value !== "string" && typeof value !== "function" && !(value instanceof RegExp)) {
|
|
throw new Error(msg(loc) + " must be an array of string/Function/RegExp values, or undefined");
|
|
}
|
|
return value;
|
|
}
|
|
function assertConfigApplicableTest(loc, value) {
|
|
if (value === undefined) {
|
|
return value;
|
|
}
|
|
if (Array.isArray(value)) {
|
|
value.forEach(function (item, i) {
|
|
if (!checkValidTest(item)) {
|
|
throw new Error(msg(access(loc, i)) + " must be a string/Function/RegExp.");
|
|
}
|
|
});
|
|
} else if (!checkValidTest(value)) {
|
|
throw new Error(msg(loc) + " must be a string/Function/RegExp, or an array of those");
|
|
}
|
|
return value;
|
|
}
|
|
function checkValidTest(value) {
|
|
return typeof value === "string" || typeof value === "function" || value instanceof RegExp;
|
|
}
|
|
function assertConfigFileSearch(loc, value) {
|
|
if (value !== undefined && typeof value !== "boolean" && typeof value !== "string") {
|
|
throw new Error(msg(loc) + " must be a undefined, a boolean, a string, " + ("got " + JSON.stringify(value)));
|
|
}
|
|
return value;
|
|
}
|
|
function assertBabelrcSearch(loc, value) {
|
|
if (value === undefined || typeof value === "boolean") {
|
|
return value;
|
|
}
|
|
if (Array.isArray(value)) {
|
|
value.forEach(function (item, i) {
|
|
if (!checkValidTest(item)) {
|
|
throw new Error(msg(access(loc, i)) + " must be a string/Function/RegExp.");
|
|
}
|
|
});
|
|
} else if (!checkValidTest(value)) {
|
|
throw new Error(msg(loc) + " must be a undefined, a boolean, a string/Function/RegExp " + ("or an array of those, got " + JSON.stringify(value)));
|
|
}
|
|
return value;
|
|
}
|
|
function assertPluginList(loc, value) {
|
|
var arr = assertArray(loc, value);
|
|
if (arr) {
|
|
arr.forEach(function (item, i) {
|
|
return assertPluginItem(access(loc, i), item);
|
|
});
|
|
}
|
|
return arr;
|
|
}
|
|
function assertPluginItem(loc, value) {
|
|
if (Array.isArray(value)) {
|
|
if (value.length === 0) {
|
|
throw new Error(msg(loc) + " must include an object");
|
|
}
|
|
if (value.length > 3) {
|
|
throw new Error(msg(loc) + " may only be a two-tuple or three-tuple");
|
|
}
|
|
assertPluginTarget(access(loc, 0), value[0]);
|
|
if (value.length > 1) {
|
|
var opts = value[1];
|
|
if (opts !== undefined && opts !== false && (typeof opts !== "object" || Array.isArray(opts) || opts === null)) {
|
|
throw new Error(msg(access(loc, 1)) + " must be an object, false, or undefined");
|
|
}
|
|
}
|
|
if (value.length === 3) {
|
|
var _name = value[2];
|
|
if (_name !== undefined && typeof _name !== "string") {
|
|
throw new Error(msg(access(loc, 2)) + " must be a string, or undefined");
|
|
}
|
|
}
|
|
} else {
|
|
assertPluginTarget(loc, value);
|
|
}
|
|
return value;
|
|
}
|
|
function assertPluginTarget(loc, value) {
|
|
if ((typeof value !== "object" || !value) && typeof value !== "string" && typeof value !== "function") {
|
|
throw new Error(msg(loc) + " must be a string, object, function");
|
|
}
|
|
return value;
|
|
}
|
|
function assertTargets(loc, value) {
|
|
if (isBrowsersQueryValid(value)) return value;
|
|
if (typeof value !== "object" || !value || Array.isArray(value)) {
|
|
throw new Error(msg(loc) + " must be a string, an array of strings or an object");
|
|
}
|
|
var browsersLoc = access(loc, "browsers");
|
|
var esmodulesLoc = access(loc, "esmodules");
|
|
assertBrowsersList(browsersLoc, value.browsers);
|
|
assertBoolean(esmodulesLoc, value.esmodules);
|
|
for (var _i2 = 0, _Object$keys2 = Object.keys(value); _i2 < _Object$keys2.length; _i2++) {
|
|
var _key = _Object$keys2[_i2];
|
|
var val = value[_key];
|
|
var subLoc = access(loc, _key);
|
|
if (_key === "esmodules") assertBoolean(subLoc, val);else if (_key === "browsers") assertBrowsersList(subLoc, val);else if (!Object.hasOwnProperty.call(TargetNames, _key)) {
|
|
var validTargets = Object.keys(TargetNames).join(", ");
|
|
throw new Error(msg(subLoc) + " is not a valid target. Supported targets are " + validTargets);
|
|
} else assertBrowserVersion(subLoc, val);
|
|
}
|
|
return value;
|
|
}
|
|
function assertBrowsersList(loc, value) {
|
|
if (value !== undefined && !isBrowsersQueryValid(value)) {
|
|
throw new Error(msg(loc) + " must be undefined, a string or an array of strings");
|
|
}
|
|
}
|
|
function assertBrowserVersion(loc, value) {
|
|
if (typeof value === "number" && Math.round(value) === value) return;
|
|
if (typeof value === "string") return;
|
|
throw new Error(msg(loc) + " must be a string or an integer number");
|
|
}
|
|
function assertAssumptions(loc, value) {
|
|
if (value === undefined) return;
|
|
if (typeof value !== "object" || value === null) {
|
|
throw new Error(msg(loc) + " must be an object or undefined.");
|
|
}
|
|
var root = loc;
|
|
do {
|
|
root = root.parent;
|
|
} while (root.type !== "root");
|
|
var inPreset = root.source === "preset";
|
|
for (var _i3 = 0, _Object$keys3 = Object.keys(value); _i3 < _Object$keys3.length; _i3++) {
|
|
var _name2 = _Object$keys3[_i3];
|
|
var subLoc = access(loc, _name2);
|
|
if (!assumptionsNames.has(_name2)) {
|
|
throw new Error(msg(subLoc) + " is not a supported assumption.");
|
|
}
|
|
if (typeof value[_name2] !== "boolean") {
|
|
throw new Error(msg(subLoc) + " must be a boolean.");
|
|
}
|
|
if (inPreset && value[_name2] === false) {
|
|
throw new Error(msg(subLoc) + " cannot be set to 'false' inside presets.");
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
|
|
var ErrorToString = Function.call.bind(Error.prototype.toString);
|
|
var SUPPORTED = !!Error.captureStackTrace;
|
|
var START_HIDING = "startHiding - secret - don't use this - v1";
|
|
var STOP_HIDING = "stopHiding - secret - don't use this - v1";
|
|
var expectedErrors = new WeakSet();
|
|
var virtualFrames = new WeakMap();
|
|
function CallSite(filename) {
|
|
return Object.create({
|
|
isNative: function isNative() {
|
|
return false;
|
|
},
|
|
isConstructor: function isConstructor() {
|
|
return false;
|
|
},
|
|
isToplevel: function isToplevel() {
|
|
return true;
|
|
},
|
|
getFileName: function getFileName() {
|
|
return filename;
|
|
},
|
|
getLineNumber: function getLineNumber() {
|
|
return undefined;
|
|
},
|
|
getColumnNumber: function getColumnNumber() {
|
|
return undefined;
|
|
},
|
|
getFunctionName: function getFunctionName() {
|
|
return undefined;
|
|
},
|
|
getMethodName: function getMethodName() {
|
|
return undefined;
|
|
},
|
|
getTypeName: function getTypeName() {
|
|
return undefined;
|
|
},
|
|
toString: function toString() {
|
|
return filename;
|
|
}
|
|
});
|
|
}
|
|
function injectVirtualStackFrame(error, filename) {
|
|
if (!SUPPORTED) return;
|
|
var frames = virtualFrames.get(error);
|
|
if (!frames) virtualFrames.set(error, frames = []);
|
|
frames.push(CallSite(filename));
|
|
return error;
|
|
}
|
|
function expectedError(error) {
|
|
if (!SUPPORTED) return;
|
|
expectedErrors.add(error);
|
|
return error;
|
|
}
|
|
function beginHiddenCallStack(fn) {
|
|
if (!SUPPORTED) return fn;
|
|
return Object.defineProperty(function () {
|
|
setupPrepareStackTrace();
|
|
return fn.apply(void 0, arguments);
|
|
}, "name", {
|
|
value: STOP_HIDING
|
|
});
|
|
}
|
|
function endHiddenCallStack(fn) {
|
|
if (!SUPPORTED) return fn;
|
|
return Object.defineProperty(function () {
|
|
return fn.apply(void 0, arguments);
|
|
}, "name", {
|
|
value: START_HIDING
|
|
});
|
|
}
|
|
function setupPrepareStackTrace() {
|
|
setupPrepareStackTrace = function setupPrepareStackTrace() {};
|
|
var _Error$prepareStackTr = Error.prepareStackTrace,
|
|
prepareStackTrace = _Error$prepareStackTr === void 0 ? defaultPrepareStackTrace : _Error$prepareStackTr;
|
|
var MIN_STACK_TRACE_LIMIT = 50;
|
|
Error.stackTraceLimit && (Error.stackTraceLimit = Math.max(Error.stackTraceLimit, MIN_STACK_TRACE_LIMIT));
|
|
Error.prepareStackTrace = function stackTraceRewriter(err, trace) {
|
|
var newTrace = [];
|
|
var isExpected = expectedErrors.has(err);
|
|
var status = isExpected ? "hiding" : "unknown";
|
|
for (var i = 0; i < trace.length; i++) {
|
|
var name = trace[i].getFunctionName();
|
|
if (name === START_HIDING) {
|
|
status = "hiding";
|
|
} else if (name === STOP_HIDING) {
|
|
if (status === "hiding") {
|
|
status = "showing";
|
|
if (virtualFrames.has(err)) {
|
|
var _newTrace;
|
|
(_newTrace = newTrace).unshift.apply(_newTrace, _toConsumableArray(virtualFrames.get(err)));
|
|
}
|
|
} else if (status === "unknown") {
|
|
newTrace = trace;
|
|
break;
|
|
}
|
|
} else if (status !== "hiding") {
|
|
newTrace.push(trace[i]);
|
|
}
|
|
}
|
|
return prepareStackTrace(err, newTrace);
|
|
};
|
|
}
|
|
function defaultPrepareStackTrace(err, trace) {
|
|
if (trace.length === 0) return ErrorToString(err);
|
|
return ErrorToString(err) + "\n at " + trace.join("\n at ");
|
|
}
|
|
|
|
var ConfigError = function (_Error) {
|
|
_inherits(ConfigError, _Error);
|
|
function ConfigError(message, filename) {
|
|
var _this;
|
|
_this = _Error.call(this, message) || this;
|
|
expectedError(_assertThisInitialized(_this));
|
|
if (filename) injectVirtualStackFrame(_assertThisInitialized(_this), filename);
|
|
return _this;
|
|
}
|
|
return _createClass(ConfigError);
|
|
}(_wrapNativeSuper(Error));
|
|
|
|
var ROOT_VALIDATORS = {
|
|
cwd: assertString,
|
|
root: assertString,
|
|
rootMode: assertRootMode,
|
|
configFile: assertConfigFileSearch,
|
|
caller: assertCallerMetadata,
|
|
filename: assertString,
|
|
filenameRelative: assertString,
|
|
code: assertBoolean,
|
|
ast: assertBoolean,
|
|
cloneInputAst: assertBoolean,
|
|
envName: assertString
|
|
};
|
|
var BABELRC_VALIDATORS = {
|
|
babelrc: assertBoolean,
|
|
babelrcRoots: assertBabelrcSearch
|
|
};
|
|
var NONPRESET_VALIDATORS = {
|
|
"extends": assertString,
|
|
ignore: assertIgnoreList,
|
|
only: assertIgnoreList,
|
|
targets: assertTargets,
|
|
browserslistConfigFile: assertConfigFileSearch,
|
|
browserslistEnv: assertString
|
|
};
|
|
var COMMON_VALIDATORS = {
|
|
inputSourceMap: assertInputSourceMap,
|
|
presets: assertPluginList,
|
|
plugins: assertPluginList,
|
|
passPerPreset: assertBoolean,
|
|
assumptions: assertAssumptions,
|
|
env: assertEnvSet,
|
|
overrides: assertOverridesList,
|
|
test: assertConfigApplicableTest,
|
|
include: assertConfigApplicableTest,
|
|
exclude: assertConfigApplicableTest,
|
|
retainLines: assertBoolean,
|
|
comments: assertBoolean,
|
|
shouldPrintComment: assertFunction,
|
|
compact: assertCompact,
|
|
minified: assertBoolean,
|
|
auxiliaryCommentBefore: assertString,
|
|
auxiliaryCommentAfter: assertString,
|
|
sourceType: assertSourceType,
|
|
wrapPluginVisitorMethod: assertFunction,
|
|
highlightCode: assertBoolean,
|
|
sourceMaps: assertSourceMaps,
|
|
sourceMap: assertSourceMaps,
|
|
sourceFileName: assertString,
|
|
sourceRoot: assertString,
|
|
parserOpts: assertObject,
|
|
generatorOpts: assertObject
|
|
};
|
|
{
|
|
Object.assign(COMMON_VALIDATORS, {
|
|
getModuleId: assertFunction,
|
|
moduleRoot: assertString,
|
|
moduleIds: assertBoolean,
|
|
moduleId: assertString
|
|
});
|
|
}
|
|
var knownAssumptions = ["arrayLikeIsIterable", "constantReexports", "constantSuper", "enumerableModuleMeta", "ignoreFunctionLength", "ignoreToPrimitiveHint", "iterableIsArray", "mutableTemplateObject", "noClassCalls", "noDocumentAll", "noIncompleteNsImportDetection", "noNewArrows", "objectRestNoSymbols", "privateFieldsAsSymbols", "privateFieldsAsProperties", "pureGetters", "setClassMethods", "setComputedProperties", "setPublicClassFields", "setSpreadProperties", "skipForOfIteratorClosing", "superIsCallableConstructor"];
|
|
var assumptionsNames = new Set(knownAssumptions);
|
|
function getSource(loc) {
|
|
return loc.type === "root" ? loc.source : getSource(loc.parent);
|
|
}
|
|
function validate(type, opts, filename) {
|
|
try {
|
|
return validateNested({
|
|
type: "root",
|
|
source: type
|
|
}, opts);
|
|
} catch (error) {
|
|
var configError = new ConfigError(error.message, filename);
|
|
if (error.code) configError.code = error.code;
|
|
throw configError;
|
|
}
|
|
}
|
|
function validateNested(loc, opts) {
|
|
var type = getSource(loc);
|
|
assertNoDuplicateSourcemap(opts);
|
|
Object.keys(opts).forEach(function (key) {
|
|
var optLoc = {
|
|
type: "option",
|
|
name: key,
|
|
parent: loc
|
|
};
|
|
if (type === "preset" && NONPRESET_VALIDATORS[key]) {
|
|
throw new Error(msg(optLoc) + " is not allowed in preset options");
|
|
}
|
|
if (type !== "arguments" && ROOT_VALIDATORS[key]) {
|
|
throw new Error(msg(optLoc) + " is only allowed in root programmatic options");
|
|
}
|
|
if (type !== "arguments" && type !== "configfile" && BABELRC_VALIDATORS[key]) {
|
|
if (type === "babelrcfile" || type === "extendsfile") {
|
|
throw new Error(msg(optLoc) + " is not allowed in .babelrc or \"extends\"ed files, only in root programmatic options, " + "or babel.config.js/config file options");
|
|
}
|
|
throw new Error(msg(optLoc) + " is only allowed in root programmatic options, or babel.config.js/config file options");
|
|
}
|
|
var validator = COMMON_VALIDATORS[key] || NONPRESET_VALIDATORS[key] || BABELRC_VALIDATORS[key] || ROOT_VALIDATORS[key] || throwUnknownError;
|
|
validator(optLoc, opts[key]);
|
|
});
|
|
return opts;
|
|
}
|
|
function throwUnknownError(loc) {
|
|
var key = loc.name;
|
|
if (removed[key]) {
|
|
var _removed$key = removed[key],
|
|
message = _removed$key.message,
|
|
_removed$key$version = _removed$key.version,
|
|
version = _removed$key$version === void 0 ? 5 : _removed$key$version;
|
|
throw new Error("Using removed Babel " + version + " option: " + msg(loc) + " - " + message);
|
|
} else {
|
|
var unknownOptErr = new Error("Unknown option: " + msg(loc) + ". Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.");
|
|
unknownOptErr.code = "BABEL_UNKNOWN_OPTION";
|
|
throw unknownOptErr;
|
|
}
|
|
}
|
|
function has$7(obj, key) {
|
|
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
}
|
|
function assertNoDuplicateSourcemap(opts) {
|
|
if (has$7(opts, "sourceMap") && has$7(opts, "sourceMaps")) {
|
|
throw new Error(".sourceMap is an alias for .sourceMaps, cannot use both");
|
|
}
|
|
}
|
|
function assertEnvSet(loc, value) {
|
|
if (loc.parent.type === "env") {
|
|
throw new Error(msg(loc) + " is not allowed inside of another .env block");
|
|
}
|
|
var parent = loc.parent;
|
|
var obj = assertObject(loc, value);
|
|
if (obj) {
|
|
for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) {
|
|
var envName = _Object$keys[_i];
|
|
var env = assertObject(access(loc, envName), obj[envName]);
|
|
if (!env) continue;
|
|
var envLoc = {
|
|
type: "env",
|
|
name: envName,
|
|
parent: parent
|
|
};
|
|
validateNested(envLoc, env);
|
|
}
|
|
}
|
|
return obj;
|
|
}
|
|
function assertOverridesList(loc, value) {
|
|
if (loc.parent.type === "env") {
|
|
throw new Error(msg(loc) + " is not allowed inside an .env block");
|
|
}
|
|
if (loc.parent.type === "overrides") {
|
|
throw new Error(msg(loc) + " is not allowed inside an .overrides block");
|
|
}
|
|
var parent = loc.parent;
|
|
var arr = assertArray(loc, value);
|
|
if (arr) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(arr.entries()), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
index = _step$value[0],
|
|
item = _step$value[1];
|
|
var objLoc = access(loc, index);
|
|
var env = assertObject(objLoc, item);
|
|
if (!env) throw new Error(msg(objLoc) + " must be an object");
|
|
var overridesLoc = {
|
|
type: "overrides",
|
|
index: index,
|
|
parent: parent
|
|
};
|
|
validateNested(overridesLoc, env);
|
|
}
|
|
}
|
|
return arr;
|
|
}
|
|
function checkNoUnwrappedItemOptionPairs(items, index, type, e) {
|
|
if (index === 0) return;
|
|
var lastItem = items[index - 1];
|
|
var thisItem = items[index];
|
|
if (lastItem.file && lastItem.options === undefined && typeof thisItem.value === "object") {
|
|
e.message += "\n- Maybe you meant to use\n" + ("\"" + type + "s\": [\n [\"" + lastItem.file.request + "\", " + JSON.stringify(thisItem.value, undefined, 2) + "]\n]\n") + ("To be a valid " + type + ", its name and options should be wrapped in a pair of brackets");
|
|
}
|
|
}
|
|
|
|
var sep = "\\" + path$1.sep;
|
|
var endSep = "(?:" + sep + "|$)";
|
|
var substitution = "[^" + sep + "]+";
|
|
var starPat = "(?:" + substitution + sep + ")";
|
|
var starPatLast = "(?:" + substitution + endSep + ")";
|
|
var starStarPat = starPat + "*?";
|
|
var starStarPatLast = starPat + "*?" + starPatLast + "?";
|
|
function escapeRegExp(string) {
|
|
return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
|
|
}
|
|
function pathToPattern(pattern, dirname) {
|
|
var parts = path$1.resolve(dirname, pattern).split(path$1.sep);
|
|
return new RegExp(["^"].concat(_toConsumableArray(parts.map(function (part, i) {
|
|
var last = i === parts.length - 1;
|
|
if (part === "**") return last ? starStarPatLast : starStarPat;
|
|
if (part === "*") return last ? starPatLast : starPat;
|
|
if (part.indexOf("*.") === 0) {
|
|
return substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep);
|
|
}
|
|
return escapeRegExp(part) + (last ? endSep : sep);
|
|
}))).join(""));
|
|
}
|
|
|
|
var ChainFormatter = {
|
|
Programmatic: 0,
|
|
Config: 1
|
|
};
|
|
var Formatter = {
|
|
title: function title(type, callerName, filepath) {
|
|
var title = "";
|
|
if (type === ChainFormatter.Programmatic) {
|
|
title = "programmatic options";
|
|
if (callerName) {
|
|
title += " from " + callerName;
|
|
}
|
|
} else {
|
|
title = "config " + filepath;
|
|
}
|
|
return title;
|
|
},
|
|
loc: function loc(index, envName) {
|
|
var loc = "";
|
|
if (index != null) {
|
|
loc += ".overrides[" + index + "]";
|
|
}
|
|
if (envName != null) {
|
|
loc += ".env[\"" + envName + "\"]";
|
|
}
|
|
return loc;
|
|
},
|
|
optionsAndDescriptors: _regeneratorRuntime().mark(function optionsAndDescriptors(opt) {
|
|
var content, pluginDescriptors, presetDescriptors;
|
|
return _regeneratorRuntime().wrap(function optionsAndDescriptors$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
content = Object.assign({}, opt.options);
|
|
delete content.overrides;
|
|
delete content.env;
|
|
_context.t0 = _toConsumableArray;
|
|
return _context.delegateYield(opt.plugins(), "t1", 5);
|
|
case 5:
|
|
_context.t2 = _context.t1;
|
|
pluginDescriptors = (0, _context.t0)(_context.t2);
|
|
if (pluginDescriptors.length) {
|
|
content.plugins = pluginDescriptors.map(function (d) {
|
|
return descriptorToConfig(d);
|
|
});
|
|
}
|
|
_context.t3 = _toConsumableArray;
|
|
return _context.delegateYield(opt.presets(), "t4", 10);
|
|
case 10:
|
|
_context.t5 = _context.t4;
|
|
presetDescriptors = (0, _context.t3)(_context.t5);
|
|
if (presetDescriptors.length) {
|
|
content.presets = _toConsumableArray(presetDescriptors).map(function (d) {
|
|
return descriptorToConfig(d);
|
|
});
|
|
}
|
|
return _context.abrupt("return", JSON.stringify(content, undefined, 2));
|
|
case 14:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, optionsAndDescriptors);
|
|
})
|
|
};
|
|
function descriptorToConfig(d) {
|
|
var _d$file;
|
|
var name = (_d$file = d.file) == null ? void 0 : _d$file.request;
|
|
if (name == null) {
|
|
if (typeof d.value === "object") {
|
|
name = d.value;
|
|
} else if (typeof d.value === "function") {
|
|
name = "[Function: " + d.value.toString().slice(0, 50) + " ... ]";
|
|
}
|
|
}
|
|
if (name == null) {
|
|
name = "[Unknown]";
|
|
}
|
|
if (d.options === undefined) {
|
|
return name;
|
|
} else if (d.name == null) {
|
|
return [name, d.options];
|
|
} else {
|
|
return [name, d.options, d.name];
|
|
}
|
|
}
|
|
var ConfigPrinter = function () {
|
|
function ConfigPrinter() {
|
|
this._stack = [];
|
|
}
|
|
var _proto = ConfigPrinter.prototype;
|
|
_proto.configure = function configure(enabled, type, _ref) {
|
|
var _this = this;
|
|
var callerName = _ref.callerName,
|
|
filepath = _ref.filepath;
|
|
if (!enabled) return function () {};
|
|
return function (content, index, envName) {
|
|
_this._stack.push({
|
|
type: type,
|
|
callerName: callerName,
|
|
filepath: filepath,
|
|
content: content,
|
|
index: index,
|
|
envName: envName
|
|
});
|
|
};
|
|
};
|
|
ConfigPrinter.format = _regeneratorRuntime().mark(function format(config) {
|
|
var title, loc, content;
|
|
return _regeneratorRuntime().wrap(function format$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
title = Formatter.title(config.type, config.callerName, config.filepath);
|
|
loc = Formatter.loc(config.index, config.envName);
|
|
if (loc) title += " " + loc;
|
|
return _context2.delegateYield(Formatter.optionsAndDescriptors(config.content), "t0", 4);
|
|
case 4:
|
|
content = _context2.t0;
|
|
return _context2.abrupt("return", title + "\n" + content);
|
|
case 6:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, format);
|
|
});
|
|
_proto.output = _regeneratorRuntime().mark(function output() {
|
|
var configs;
|
|
return _regeneratorRuntime().wrap(function output$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
if (!(this._stack.length === 0)) {
|
|
_context3.next = 2;
|
|
break;
|
|
}
|
|
return _context3.abrupt("return", "");
|
|
case 2:
|
|
return _context3.delegateYield(gensync.all(this._stack.map(function (s) {
|
|
return ConfigPrinter.format(s);
|
|
})), "t0", 3);
|
|
case 3:
|
|
configs = _context3.t0;
|
|
return _context3.abrupt("return", configs.join("\n\n"));
|
|
case 5:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, output, this);
|
|
});
|
|
return _createClass(ConfigPrinter);
|
|
}();
|
|
|
|
var _marked$5 = _regeneratorRuntime().mark(buildPresetChain),
|
|
_marked2$3 = _regeneratorRuntime().mark(buildRootChain),
|
|
_marked3$1 = _regeneratorRuntime().mark(loadFileChain),
|
|
_marked4 = _regeneratorRuntime().mark(mergeExtendsChain);
|
|
var debug$1 = buildDebug("babel:config:config-chain");
|
|
function buildPresetChain(arg, context) {
|
|
var chain;
|
|
return _regeneratorRuntime().wrap(function buildPresetChain$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.delegateYield(buildPresetChainWalker(arg, context), "t0", 1);
|
|
case 1:
|
|
chain = _context.t0;
|
|
if (chain) {
|
|
_context.next = 4;
|
|
break;
|
|
}
|
|
return _context.abrupt("return", null);
|
|
case 4:
|
|
return _context.abrupt("return", {
|
|
plugins: dedupDescriptors(chain.plugins),
|
|
presets: dedupDescriptors(chain.presets),
|
|
options: chain.options.map(function (o) {
|
|
return normalizeOptions$5(o);
|
|
}),
|
|
files: new Set()
|
|
});
|
|
case 5:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _marked$5);
|
|
}
|
|
var buildPresetChainWalker = makeChainWalker({
|
|
root: function root(preset) {
|
|
return loadPresetDescriptors(preset);
|
|
},
|
|
env: function env(preset, envName) {
|
|
return loadPresetEnvDescriptors(preset)(envName);
|
|
},
|
|
overrides: function overrides(preset, index) {
|
|
return loadPresetOverridesDescriptors(preset)(index);
|
|
},
|
|
overridesEnv: function overridesEnv(preset, index, envName) {
|
|
return loadPresetOverridesEnvDescriptors(preset)(index)(envName);
|
|
},
|
|
createLogger: function createLogger() {
|
|
return function () {};
|
|
}
|
|
});
|
|
var loadPresetDescriptors = makeWeakCacheSync(function (preset) {
|
|
return buildRootDescriptors(preset, preset.alias, createUncachedDescriptors);
|
|
});
|
|
var loadPresetEnvDescriptors = makeWeakCacheSync(function (preset) {
|
|
return makeStrongCacheSync(function (envName) {
|
|
return buildEnvDescriptors(preset, preset.alias, createUncachedDescriptors, envName);
|
|
});
|
|
});
|
|
var loadPresetOverridesDescriptors = makeWeakCacheSync(function (preset) {
|
|
return makeStrongCacheSync(function (index) {
|
|
return buildOverrideDescriptors(preset, preset.alias, createUncachedDescriptors, index);
|
|
});
|
|
});
|
|
var loadPresetOverridesEnvDescriptors = makeWeakCacheSync(function (preset) {
|
|
return makeStrongCacheSync(function (index) {
|
|
return makeStrongCacheSync(function (envName) {
|
|
return buildOverrideEnvDescriptors(preset, preset.alias, createUncachedDescriptors, index, envName);
|
|
});
|
|
});
|
|
});
|
|
function buildRootChain(opts, context) {
|
|
var configReport, babelRcReport, programmaticLogger, programmaticChain, programmaticReport, configFile, babelrc, babelrcRoots, babelrcRootsDirectory, configFileChain, configFileLogger, validatedFile, result, ignoreFile, babelrcFile, isIgnored, fileChain, pkgData, _yield$findRelativeCo, _validatedFile, babelrcLogger, _result, chain;
|
|
return _regeneratorRuntime().wrap(function buildRootChain$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
programmaticLogger = new ConfigPrinter();
|
|
return _context2.delegateYield(loadProgrammaticChain({
|
|
options: opts,
|
|
dirname: context.cwd
|
|
}, context, undefined, programmaticLogger), "t0", 2);
|
|
case 2:
|
|
programmaticChain = _context2.t0;
|
|
if (programmaticChain) {
|
|
_context2.next = 5;
|
|
break;
|
|
}
|
|
return _context2.abrupt("return", null);
|
|
case 5:
|
|
return _context2.delegateYield(programmaticLogger.output(), "t1", 6);
|
|
case 6:
|
|
programmaticReport = _context2.t1;
|
|
if (!(typeof opts.configFile === "string")) {
|
|
_context2.next = 12;
|
|
break;
|
|
}
|
|
return _context2.delegateYield(loadConfig$1(opts.configFile, context.cwd, context.envName, context.caller), "t2", 9);
|
|
case 9:
|
|
configFile = _context2.t2;
|
|
_context2.next = 15;
|
|
break;
|
|
case 12:
|
|
if (!(opts.configFile !== false)) {
|
|
_context2.next = 15;
|
|
break;
|
|
}
|
|
return _context2.delegateYield(findRootConfig(context.root, context.envName, context.caller), "t3", 14);
|
|
case 14:
|
|
configFile = _context2.t3;
|
|
case 15:
|
|
babelrc = opts.babelrc, babelrcRoots = opts.babelrcRoots;
|
|
babelrcRootsDirectory = context.cwd;
|
|
configFileChain = emptyChain();
|
|
configFileLogger = new ConfigPrinter();
|
|
if (!configFile) {
|
|
_context2.next = 30;
|
|
break;
|
|
}
|
|
validatedFile = validateConfigFile(configFile);
|
|
return _context2.delegateYield(loadFileChain(validatedFile, context, undefined, configFileLogger), "t4", 22);
|
|
case 22:
|
|
result = _context2.t4;
|
|
if (result) {
|
|
_context2.next = 25;
|
|
break;
|
|
}
|
|
return _context2.abrupt("return", null);
|
|
case 25:
|
|
return _context2.delegateYield(configFileLogger.output(), "t5", 26);
|
|
case 26:
|
|
configReport = _context2.t5;
|
|
if (babelrc === undefined) {
|
|
babelrc = validatedFile.options.babelrc;
|
|
}
|
|
if (babelrcRoots === undefined) {
|
|
babelrcRootsDirectory = validatedFile.dirname;
|
|
babelrcRoots = validatedFile.options.babelrcRoots;
|
|
}
|
|
mergeChain(configFileChain, result);
|
|
case 30:
|
|
isIgnored = false;
|
|
fileChain = emptyChain();
|
|
if (!((babelrc === true || babelrc === undefined) && typeof context.filename === "string")) {
|
|
_context2.next = 55;
|
|
break;
|
|
}
|
|
return _context2.delegateYield(findPackageData(context.filename), "t6", 34);
|
|
case 34:
|
|
pkgData = _context2.t6;
|
|
if (!(pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory))) {
|
|
_context2.next = 55;
|
|
break;
|
|
}
|
|
return _context2.delegateYield(findRelativeConfig(pkgData, context.envName, context.caller), "t7", 37);
|
|
case 37:
|
|
_yield$findRelativeCo = _context2.t7;
|
|
ignoreFile = _yield$findRelativeCo.ignore;
|
|
babelrcFile = _yield$findRelativeCo.config;
|
|
if (ignoreFile) {
|
|
fileChain.files.add(ignoreFile.filepath);
|
|
}
|
|
if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) {
|
|
isIgnored = true;
|
|
}
|
|
if (!(babelrcFile && !isIgnored)) {
|
|
_context2.next = 54;
|
|
break;
|
|
}
|
|
_validatedFile = validateBabelrcFile(babelrcFile);
|
|
babelrcLogger = new ConfigPrinter();
|
|
return _context2.delegateYield(loadFileChain(_validatedFile, context, undefined, babelrcLogger), "t8", 46);
|
|
case 46:
|
|
_result = _context2.t8;
|
|
if (_result) {
|
|
_context2.next = 51;
|
|
break;
|
|
}
|
|
isIgnored = true;
|
|
_context2.next = 54;
|
|
break;
|
|
case 51:
|
|
return _context2.delegateYield(babelrcLogger.output(), "t9", 52);
|
|
case 52:
|
|
babelRcReport = _context2.t9;
|
|
mergeChain(fileChain, _result);
|
|
case 54:
|
|
if (babelrcFile && isIgnored) {
|
|
fileChain.files.add(babelrcFile.filepath);
|
|
}
|
|
case 55:
|
|
if (context.showConfig) {
|
|
console.log("Babel configs on \"" + context.filename + "\" (ascending priority):\n" + [configReport, babelRcReport, programmaticReport].filter(function (x) {
|
|
return !!x;
|
|
}).join("\n\n") + "\n-----End Babel configs-----");
|
|
}
|
|
chain = mergeChain(mergeChain(mergeChain(emptyChain(), configFileChain), fileChain), programmaticChain);
|
|
return _context2.abrupt("return", {
|
|
plugins: isIgnored ? [] : dedupDescriptors(chain.plugins),
|
|
presets: isIgnored ? [] : dedupDescriptors(chain.presets),
|
|
options: isIgnored ? [] : chain.options.map(function (o) {
|
|
return normalizeOptions$5(o);
|
|
}),
|
|
fileHandling: isIgnored ? "ignored" : "transpile",
|
|
ignore: ignoreFile || undefined,
|
|
babelrc: babelrcFile || undefined,
|
|
config: configFile || undefined,
|
|
files: chain.files
|
|
});
|
|
case 58:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _marked2$3);
|
|
}
|
|
function babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory) {
|
|
if (typeof babelrcRoots === "boolean") return babelrcRoots;
|
|
var absoluteRoot = context.root;
|
|
if (babelrcRoots === undefined) {
|
|
return pkgData.directories.indexOf(absoluteRoot) !== -1;
|
|
}
|
|
var babelrcPatterns = babelrcRoots;
|
|
if (!Array.isArray(babelrcPatterns)) {
|
|
babelrcPatterns = [babelrcPatterns];
|
|
}
|
|
babelrcPatterns = babelrcPatterns.map(function (pat) {
|
|
return typeof pat === "string" ? path$1.resolve(babelrcRootsDirectory, pat) : pat;
|
|
});
|
|
if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) {
|
|
return pkgData.directories.indexOf(absoluteRoot) !== -1;
|
|
}
|
|
return babelrcPatterns.some(function (pat) {
|
|
if (typeof pat === "string") {
|
|
pat = pathToPattern(pat, babelrcRootsDirectory);
|
|
}
|
|
return pkgData.directories.some(function (directory) {
|
|
return matchPattern(pat, babelrcRootsDirectory, directory, context);
|
|
});
|
|
});
|
|
}
|
|
var validateConfigFile = makeWeakCacheSync(function (file) {
|
|
return {
|
|
filepath: file.filepath,
|
|
dirname: file.dirname,
|
|
options: validate("configfile", file.options, file.filepath)
|
|
};
|
|
});
|
|
var validateBabelrcFile = makeWeakCacheSync(function (file) {
|
|
return {
|
|
filepath: file.filepath,
|
|
dirname: file.dirname,
|
|
options: validate("babelrcfile", file.options, file.filepath)
|
|
};
|
|
});
|
|
var validateExtendFile = makeWeakCacheSync(function (file) {
|
|
return {
|
|
filepath: file.filepath,
|
|
dirname: file.dirname,
|
|
options: validate("extendsfile", file.options, file.filepath)
|
|
};
|
|
});
|
|
var loadProgrammaticChain = makeChainWalker({
|
|
root: function root(input) {
|
|
return buildRootDescriptors(input, "base", createCachedDescriptors);
|
|
},
|
|
env: function env(input, envName) {
|
|
return buildEnvDescriptors(input, "base", createCachedDescriptors, envName);
|
|
},
|
|
overrides: function overrides(input, index) {
|
|
return buildOverrideDescriptors(input, "base", createCachedDescriptors, index);
|
|
},
|
|
overridesEnv: function overridesEnv(input, index, envName) {
|
|
return buildOverrideEnvDescriptors(input, "base", createCachedDescriptors, index, envName);
|
|
},
|
|
createLogger: function createLogger(input, context, baseLogger) {
|
|
return buildProgrammaticLogger(input, context, baseLogger);
|
|
}
|
|
});
|
|
var loadFileChainWalker = makeChainWalker({
|
|
root: function root(file) {
|
|
return loadFileDescriptors(file);
|
|
},
|
|
env: function env(file, envName) {
|
|
return loadFileEnvDescriptors(file)(envName);
|
|
},
|
|
overrides: function overrides(file, index) {
|
|
return loadFileOverridesDescriptors(file)(index);
|
|
},
|
|
overridesEnv: function overridesEnv(file, index, envName) {
|
|
return loadFileOverridesEnvDescriptors(file)(index)(envName);
|
|
},
|
|
createLogger: function createLogger(file, context, baseLogger) {
|
|
return buildFileLogger(file.filepath, context, baseLogger);
|
|
}
|
|
});
|
|
function loadFileChain(input, context, files, baseLogger) {
|
|
var chain;
|
|
return _regeneratorRuntime().wrap(function loadFileChain$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
return _context3.delegateYield(loadFileChainWalker(input, context, files, baseLogger), "t0", 1);
|
|
case 1:
|
|
chain = _context3.t0;
|
|
if (chain) {
|
|
chain.files.add(input.filepath);
|
|
}
|
|
return _context3.abrupt("return", chain);
|
|
case 4:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, _marked3$1);
|
|
}
|
|
var loadFileDescriptors = makeWeakCacheSync(function (file) {
|
|
return buildRootDescriptors(file, file.filepath, createUncachedDescriptors);
|
|
});
|
|
var loadFileEnvDescriptors = makeWeakCacheSync(function (file) {
|
|
return makeStrongCacheSync(function (envName) {
|
|
return buildEnvDescriptors(file, file.filepath, createUncachedDescriptors, envName);
|
|
});
|
|
});
|
|
var loadFileOverridesDescriptors = makeWeakCacheSync(function (file) {
|
|
return makeStrongCacheSync(function (index) {
|
|
return buildOverrideDescriptors(file, file.filepath, createUncachedDescriptors, index);
|
|
});
|
|
});
|
|
var loadFileOverridesEnvDescriptors = makeWeakCacheSync(function (file) {
|
|
return makeStrongCacheSync(function (index) {
|
|
return makeStrongCacheSync(function (envName) {
|
|
return buildOverrideEnvDescriptors(file, file.filepath, createUncachedDescriptors, index, envName);
|
|
});
|
|
});
|
|
});
|
|
function buildFileLogger(filepath, context, baseLogger) {
|
|
if (!baseLogger) {
|
|
return function () {};
|
|
}
|
|
return baseLogger.configure(context.showConfig, ChainFormatter.Config, {
|
|
filepath: filepath
|
|
});
|
|
}
|
|
function buildRootDescriptors(_ref, alias, descriptors) {
|
|
var dirname = _ref.dirname,
|
|
options = _ref.options;
|
|
return descriptors(dirname, options, alias);
|
|
}
|
|
function buildProgrammaticLogger(_, context, baseLogger) {
|
|
var _context$caller;
|
|
if (!baseLogger) {
|
|
return function () {};
|
|
}
|
|
return baseLogger.configure(context.showConfig, ChainFormatter.Programmatic, {
|
|
callerName: (_context$caller = context.caller) == null ? void 0 : _context$caller.name
|
|
});
|
|
}
|
|
function buildEnvDescriptors(_ref2, alias, descriptors, envName) {
|
|
var dirname = _ref2.dirname,
|
|
options = _ref2.options;
|
|
var opts = options.env && options.env[envName];
|
|
return opts ? descriptors(dirname, opts, alias + ".env[\"" + envName + "\"]") : null;
|
|
}
|
|
function buildOverrideDescriptors(_ref3, alias, descriptors, index) {
|
|
var dirname = _ref3.dirname,
|
|
options = _ref3.options;
|
|
var opts = options.overrides && options.overrides[index];
|
|
if (!opts) throw new Error("Assertion failure - missing override");
|
|
return descriptors(dirname, opts, alias + ".overrides[" + index + "]");
|
|
}
|
|
function buildOverrideEnvDescriptors(_ref4, alias, descriptors, index, envName) {
|
|
var dirname = _ref4.dirname,
|
|
options = _ref4.options;
|
|
var override = options.overrides && options.overrides[index];
|
|
if (!override) throw new Error("Assertion failure - missing override");
|
|
var opts = override.env && override.env[envName];
|
|
return opts ? descriptors(dirname, opts, alias + ".overrides[" + index + "].env[\"" + envName + "\"]") : null;
|
|
}
|
|
function makeChainWalker(_ref5) {
|
|
var root = _ref5.root,
|
|
env = _ref5.env,
|
|
overrides = _ref5.overrides,
|
|
overridesEnv = _ref5.overridesEnv,
|
|
createLogger = _ref5.createLogger;
|
|
return function chainWalker(input, context, files, baseLogger) {
|
|
if (files === void 0) {
|
|
files = new Set();
|
|
}
|
|
return _regeneratorRuntime().mark(function _callee() {
|
|
var dirname, flattenedConfigs, rootOpts, envOpts, chain, logger, _i, _flattenedConfigs, _flattenedConfigs$_i, config, _index, envName;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context4) {
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
case 0:
|
|
dirname = input.dirname;
|
|
flattenedConfigs = [];
|
|
rootOpts = root(input);
|
|
if (configIsApplicable(rootOpts, dirname, context, input.filepath)) {
|
|
flattenedConfigs.push({
|
|
config: rootOpts,
|
|
envName: undefined,
|
|
index: undefined
|
|
});
|
|
envOpts = env(input, context.envName);
|
|
if (envOpts && configIsApplicable(envOpts, dirname, context, input.filepath)) {
|
|
flattenedConfigs.push({
|
|
config: envOpts,
|
|
envName: context.envName,
|
|
index: undefined
|
|
});
|
|
}
|
|
(rootOpts.options.overrides || []).forEach(function (_, index) {
|
|
var overrideOps = overrides(input, index);
|
|
if (configIsApplicable(overrideOps, dirname, context, input.filepath)) {
|
|
flattenedConfigs.push({
|
|
config: overrideOps,
|
|
index: index,
|
|
envName: undefined
|
|
});
|
|
var overrideEnvOpts = overridesEnv(input, index, context.envName);
|
|
if (overrideEnvOpts && configIsApplicable(overrideEnvOpts, dirname, context, input.filepath)) {
|
|
flattenedConfigs.push({
|
|
config: overrideEnvOpts,
|
|
index: index,
|
|
envName: context.envName
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
if (!flattenedConfigs.some(function (_ref6) {
|
|
var _ref6$config$options = _ref6.config.options,
|
|
ignore = _ref6$config$options.ignore,
|
|
only = _ref6$config$options.only;
|
|
return shouldIgnore(context, ignore, only, dirname);
|
|
})) {
|
|
_context4.next = 6;
|
|
break;
|
|
}
|
|
return _context4.abrupt("return", null);
|
|
case 6:
|
|
chain = emptyChain();
|
|
logger = createLogger(input, context, baseLogger);
|
|
_i = 0, _flattenedConfigs = flattenedConfigs;
|
|
case 9:
|
|
if (!(_i < _flattenedConfigs.length)) {
|
|
_context4.next = 19;
|
|
break;
|
|
}
|
|
_flattenedConfigs$_i = _flattenedConfigs[_i], config = _flattenedConfigs$_i.config, _index = _flattenedConfigs$_i.index, envName = _flattenedConfigs$_i.envName;
|
|
return _context4.delegateYield(mergeExtendsChain(chain, config.options, dirname, context, files, baseLogger), "t0", 12);
|
|
case 12:
|
|
if (_context4.t0) {
|
|
_context4.next = 14;
|
|
break;
|
|
}
|
|
return _context4.abrupt("return", null);
|
|
case 14:
|
|
logger(config, _index, envName);
|
|
return _context4.delegateYield(mergeChainOpts(chain, config), "t1", 16);
|
|
case 16:
|
|
_i++;
|
|
_context4.next = 9;
|
|
break;
|
|
case 19:
|
|
return _context4.abrupt("return", chain);
|
|
case 20:
|
|
case "end":
|
|
return _context4.stop();
|
|
}
|
|
}, _callee);
|
|
})();
|
|
};
|
|
}
|
|
function mergeExtendsChain(chain, opts, dirname, context, files, baseLogger) {
|
|
var file, fileChain;
|
|
return _regeneratorRuntime().wrap(function mergeExtendsChain$(_context5) {
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
case 0:
|
|
if (!(opts["extends"] === undefined)) {
|
|
_context5.next = 2;
|
|
break;
|
|
}
|
|
return _context5.abrupt("return", true);
|
|
case 2:
|
|
return _context5.delegateYield(loadConfig$1(opts["extends"], dirname, context.envName, context.caller), "t0", 3);
|
|
case 3:
|
|
file = _context5.t0;
|
|
if (!files.has(file)) {
|
|
_context5.next = 6;
|
|
break;
|
|
}
|
|
throw new Error("Configuration cycle detected loading " + file.filepath + ".\n" + "File already loaded following the config chain:\n" + Array.from(files, function (file) {
|
|
return " - " + file.filepath;
|
|
}).join("\n"));
|
|
case 6:
|
|
files.add(file);
|
|
return _context5.delegateYield(loadFileChain(validateExtendFile(file), context, files, baseLogger), "t1", 8);
|
|
case 8:
|
|
fileChain = _context5.t1;
|
|
files["delete"](file);
|
|
if (fileChain) {
|
|
_context5.next = 12;
|
|
break;
|
|
}
|
|
return _context5.abrupt("return", false);
|
|
case 12:
|
|
mergeChain(chain, fileChain);
|
|
return _context5.abrupt("return", true);
|
|
case 14:
|
|
case "end":
|
|
return _context5.stop();
|
|
}
|
|
}, _marked4);
|
|
}
|
|
function mergeChain(target, source) {
|
|
var _target$options, _target$plugins, _target$presets;
|
|
(_target$options = target.options).push.apply(_target$options, _toConsumableArray(source.options));
|
|
(_target$plugins = target.plugins).push.apply(_target$plugins, _toConsumableArray(source.plugins));
|
|
(_target$presets = target.presets).push.apply(_target$presets, _toConsumableArray(source.presets));
|
|
for (var _iterator = _createForOfIteratorHelperLoose(source.files), _step; !(_step = _iterator()).done;) {
|
|
var file = _step.value;
|
|
target.files.add(file);
|
|
}
|
|
return target;
|
|
}
|
|
function mergeChainOpts(target, _ref7) {
|
|
var options = _ref7.options,
|
|
plugins = _ref7.plugins,
|
|
presets = _ref7.presets;
|
|
return _regeneratorRuntime().mark(function _callee2() {
|
|
var _target$plugins2, _target$presets2;
|
|
return _regeneratorRuntime().wrap(function _callee2$(_context6) {
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
case 0:
|
|
target.options.push(options);
|
|
_context6.t0 = (_target$plugins2 = target.plugins).push;
|
|
_context6.t1 = _target$plugins2;
|
|
_context6.t2 = _toConsumableArray;
|
|
return _context6.delegateYield(plugins(), "t3", 5);
|
|
case 5:
|
|
_context6.t4 = _context6.t3;
|
|
_context6.t5 = (0, _context6.t2)(_context6.t4);
|
|
_context6.t0.apply.call(_context6.t0, _context6.t1, _context6.t5);
|
|
_context6.t6 = (_target$presets2 = target.presets).push;
|
|
_context6.t7 = _target$presets2;
|
|
_context6.t8 = _toConsumableArray;
|
|
return _context6.delegateYield(presets(), "t9", 12);
|
|
case 12:
|
|
_context6.t10 = _context6.t9;
|
|
_context6.t11 = (0, _context6.t8)(_context6.t10);
|
|
_context6.t6.apply.call(_context6.t6, _context6.t7, _context6.t11);
|
|
return _context6.abrupt("return", target);
|
|
case 16:
|
|
case "end":
|
|
return _context6.stop();
|
|
}
|
|
}, _callee2);
|
|
})();
|
|
}
|
|
function emptyChain() {
|
|
return {
|
|
options: [],
|
|
presets: [],
|
|
plugins: [],
|
|
files: new Set()
|
|
};
|
|
}
|
|
function normalizeOptions$5(opts) {
|
|
var options = Object.assign({}, opts);
|
|
delete options["extends"];
|
|
delete options.env;
|
|
delete options.overrides;
|
|
delete options.plugins;
|
|
delete options.presets;
|
|
delete options.passPerPreset;
|
|
delete options.ignore;
|
|
delete options.only;
|
|
delete options.test;
|
|
delete options.include;
|
|
delete options.exclude;
|
|
if (Object.prototype.hasOwnProperty.call(options, "sourceMap")) {
|
|
options.sourceMaps = options.sourceMap;
|
|
delete options.sourceMap;
|
|
}
|
|
return options;
|
|
}
|
|
function dedupDescriptors(items) {
|
|
var map = new Map();
|
|
var descriptors = [];
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(items), _step2; !(_step2 = _iterator2()).done;) {
|
|
var item = _step2.value;
|
|
if (typeof item.value === "function") {
|
|
var fnKey = item.value;
|
|
var nameMap = map.get(fnKey);
|
|
if (!nameMap) {
|
|
nameMap = new Map();
|
|
map.set(fnKey, nameMap);
|
|
}
|
|
var desc = nameMap.get(item.name);
|
|
if (!desc) {
|
|
desc = {
|
|
value: item
|
|
};
|
|
descriptors.push(desc);
|
|
if (!item.ownPass) nameMap.set(item.name, desc);
|
|
} else {
|
|
desc.value = item;
|
|
}
|
|
} else {
|
|
descriptors.push({
|
|
value: item
|
|
});
|
|
}
|
|
}
|
|
return descriptors.reduce(function (acc, desc) {
|
|
acc.push(desc.value);
|
|
return acc;
|
|
}, []);
|
|
}
|
|
function configIsApplicable(_ref8, dirname, context, configName) {
|
|
var options = _ref8.options;
|
|
return (options.test === undefined || configFieldIsApplicable(context, options.test, dirname, configName)) && (options.include === undefined || configFieldIsApplicable(context, options.include, dirname, configName)) && (options.exclude === undefined || !configFieldIsApplicable(context, options.exclude, dirname, configName));
|
|
}
|
|
function configFieldIsApplicable(context, test, dirname, configName) {
|
|
var patterns = Array.isArray(test) ? test : [test];
|
|
return matchesPatterns(context, patterns, dirname, configName);
|
|
}
|
|
function ignoreListReplacer(_key, value) {
|
|
if (value instanceof RegExp) {
|
|
return String(value);
|
|
}
|
|
return value;
|
|
}
|
|
function shouldIgnore(context, ignore, only, dirname) {
|
|
if (ignore && matchesPatterns(context, ignore, dirname)) {
|
|
var _context$filename;
|
|
var message = "No config is applied to \"" + ((_context$filename = context.filename) != null ? _context$filename : "(unknown)") + "\" because it matches one of `ignore: " + JSON.stringify(ignore, ignoreListReplacer) + "` from \"" + dirname + "\"";
|
|
debug$1(message);
|
|
if (context.showConfig) {
|
|
console.log(message);
|
|
}
|
|
return true;
|
|
}
|
|
if (only && !matchesPatterns(context, only, dirname)) {
|
|
var _context$filename2;
|
|
var _message = "No config is applied to \"" + ((_context$filename2 = context.filename) != null ? _context$filename2 : "(unknown)") + "\" because it fails to match one of `only: " + JSON.stringify(only, ignoreListReplacer) + "` from \"" + dirname + "\"";
|
|
debug$1(_message);
|
|
if (context.showConfig) {
|
|
console.log(_message);
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function matchesPatterns(context, patterns, dirname, configName) {
|
|
return patterns.some(function (pattern) {
|
|
return matchPattern(pattern, dirname, context.filename, context, configName);
|
|
});
|
|
}
|
|
function matchPattern(pattern, dirname, pathToTest, context, configName) {
|
|
if (typeof pattern === "function") {
|
|
return !!endHiddenCallStack(pattern)(pathToTest, {
|
|
dirname: dirname,
|
|
envName: context.envName,
|
|
caller: context.caller
|
|
});
|
|
}
|
|
if (typeof pathToTest !== "string") {
|
|
throw new ConfigError("Configuration contains string/RegExp pattern, but no filename was passed to Babel", configName);
|
|
}
|
|
if (typeof pattern === "string") {
|
|
pattern = pathToPattern(pattern, dirname);
|
|
}
|
|
return pattern.test(pathToTest);
|
|
}
|
|
|
|
var VALIDATORS = {
|
|
name: assertString,
|
|
manipulateOptions: assertFunction,
|
|
pre: assertFunction,
|
|
post: assertFunction,
|
|
inherits: assertFunction,
|
|
visitor: assertVisitorMap,
|
|
parserOverride: assertFunction,
|
|
generatorOverride: assertFunction
|
|
};
|
|
function assertVisitorMap(loc, value) {
|
|
var obj = assertObject(loc, value);
|
|
if (obj) {
|
|
Object.keys(obj).forEach(function (prop) {
|
|
return assertVisitorHandler(prop, obj[prop]);
|
|
});
|
|
if (obj.enter || obj.exit) {
|
|
throw new Error(msg(loc) + " cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.");
|
|
}
|
|
}
|
|
return obj;
|
|
}
|
|
function assertVisitorHandler(key, value) {
|
|
if (value && typeof value === "object") {
|
|
Object.keys(value).forEach(function (handler) {
|
|
if (handler !== "enter" && handler !== "exit") {
|
|
throw new Error(".visitor[\"" + key + "\"] may only have .enter and/or .exit handlers.");
|
|
}
|
|
});
|
|
} else if (typeof value !== "function") {
|
|
throw new Error(".visitor[\"" + key + "\"] must be a function");
|
|
}
|
|
return value;
|
|
}
|
|
function validatePluginObject(obj) {
|
|
var rootPath = {
|
|
type: "root",
|
|
source: "plugin"
|
|
};
|
|
Object.keys(obj).forEach(function (key) {
|
|
var validator = VALIDATORS[key];
|
|
if (validator) {
|
|
var optLoc = {
|
|
type: "option",
|
|
name: key,
|
|
parent: rootPath
|
|
};
|
|
validator(optLoc, obj[key]);
|
|
} else {
|
|
var invalidPluginPropertyError = new Error("." + key + " is not a valid Plugin property");
|
|
invalidPluginPropertyError.code = "BABEL_UNKNOWN_PLUGIN_PROPERTY";
|
|
throw invalidPluginPropertyError;
|
|
}
|
|
});
|
|
return obj;
|
|
}
|
|
|
|
function makeConfigAPI(cache) {
|
|
var env = function env(value) {
|
|
return cache.using(function (data) {
|
|
if (typeof value === "undefined") return data.envName;
|
|
if (typeof value === "function") {
|
|
return assertSimpleType(value(data.envName));
|
|
}
|
|
return (Array.isArray(value) ? value : [value]).some(function (entry) {
|
|
if (typeof entry !== "string") {
|
|
throw new Error("Unexpected non-string value");
|
|
}
|
|
return entry === data.envName;
|
|
});
|
|
});
|
|
};
|
|
var caller = function caller(cb) {
|
|
return cache.using(function (data) {
|
|
return assertSimpleType(cb(data.caller));
|
|
});
|
|
};
|
|
return {
|
|
version: version$1,
|
|
cache: cache.simple(),
|
|
env: env,
|
|
async: function async() {
|
|
return false;
|
|
},
|
|
caller: caller,
|
|
assertVersion: assertVersion
|
|
};
|
|
}
|
|
function makePresetAPI(cache, externalDependencies) {
|
|
var targets = function targets() {
|
|
return JSON.parse(cache.using(function (data) {
|
|
return JSON.stringify(data.targets);
|
|
}));
|
|
};
|
|
var addExternalDependency = function addExternalDependency(ref) {
|
|
externalDependencies.push(ref);
|
|
};
|
|
return Object.assign({}, makeConfigAPI(cache), {
|
|
targets: targets,
|
|
addExternalDependency: addExternalDependency
|
|
});
|
|
}
|
|
function makePluginAPI(cache, externalDependencies) {
|
|
var assumption = function assumption(name) {
|
|
return cache.using(function (data) {
|
|
return data.assumptions[name];
|
|
});
|
|
};
|
|
return Object.assign({}, makePresetAPI(cache, externalDependencies), {
|
|
assumption: assumption
|
|
});
|
|
}
|
|
function assertVersion(range) {
|
|
if (typeof range === "number") {
|
|
if (!Number.isInteger(range)) {
|
|
throw new Error("Expected string or integer value.");
|
|
}
|
|
range = "^" + range + ".0.0-0";
|
|
}
|
|
if (typeof range !== "string") {
|
|
throw new Error("Expected string or integer value.");
|
|
}
|
|
if (semver$b.satisfies(version$1, range)) return;
|
|
var limit = Error.stackTraceLimit;
|
|
if (typeof limit === "number" && limit < 25) {
|
|
Error.stackTraceLimit = 25;
|
|
}
|
|
var err = new Error("Requires Babel \"" + range + "\", but was loaded with \"" + version$1 + "\". " + "If you are sure you have a compatible version of @babel/core, " + "it is likely that something in your build process is loading the " + "wrong version. Inspect the stack trace of this error to look for " + "the first entry that doesn't mention \"@babel/core\" or \"babel-core\" " + "to see what is calling Babel.");
|
|
if (typeof limit === "number") {
|
|
Error.stackTraceLimit = limit;
|
|
}
|
|
throw Object.assign(err, {
|
|
code: "BABEL_VERSION_UNSUPPORTED",
|
|
version: version$1,
|
|
range: range
|
|
});
|
|
}
|
|
|
|
var _excluded$2 = ["showIgnoredFiles"];
|
|
var _marked$4 = _regeneratorRuntime().mark(loadPrivatePartialConfig);
|
|
function resolveRootMode(rootDir, rootMode) {
|
|
switch (rootMode) {
|
|
case "root":
|
|
return rootDir;
|
|
case "upward-optional":
|
|
{
|
|
var upwardRootDir = findConfigUpwards();
|
|
return upwardRootDir === null ? rootDir : upwardRootDir;
|
|
}
|
|
case "upward":
|
|
{
|
|
var _upwardRootDir = findConfigUpwards();
|
|
if (_upwardRootDir !== null) return _upwardRootDir;
|
|
throw Object.assign(new Error("Babel was run with rootMode:\"upward\" but a root could not " + ("be found when searching upward from \"" + rootDir + "\".\n") + "One of the following config files must be in the directory tree: " + ("\"" + ROOT_CONFIG_FILENAMES.join(", ") + "\".")), {
|
|
code: "BABEL_ROOT_NOT_FOUND",
|
|
dirname: rootDir
|
|
});
|
|
}
|
|
default:
|
|
throw new Error("Assertion failure - unknown rootMode value.");
|
|
}
|
|
}
|
|
function loadPrivatePartialConfig(inputOpts) {
|
|
var args, _args$envName, envName, _args$cwd, cwd, _args$root, rootDir, _args$rootMode, rootMode, caller, _args$cloneInputAst, cloneInputAst, absoluteCwd, absoluteRootDir, filename, showConfigPath, context, configChain, merged, options;
|
|
return _regeneratorRuntime().wrap(function loadPrivatePartialConfig$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
if (!(inputOpts != null && (typeof inputOpts !== "object" || Array.isArray(inputOpts)))) {
|
|
_context.next = 2;
|
|
break;
|
|
}
|
|
throw new Error("Babel options must be an object, null, or undefined");
|
|
case 2:
|
|
args = inputOpts ? validate("arguments", inputOpts) : {};
|
|
_args$envName = args.envName, envName = _args$envName === void 0 ? getEnv() : _args$envName, _args$cwd = args.cwd, cwd = _args$cwd === void 0 ? "." : _args$cwd, _args$root = args.root, rootDir = _args$root === void 0 ? "." : _args$root, _args$rootMode = args.rootMode, rootMode = _args$rootMode === void 0 ? "root" : _args$rootMode, caller = args.caller, _args$cloneInputAst = args.cloneInputAst, cloneInputAst = _args$cloneInputAst === void 0 ? true : _args$cloneInputAst;
|
|
absoluteCwd = path$1.resolve(cwd);
|
|
absoluteRootDir = resolveRootMode(path$1.resolve(absoluteCwd, rootDir), rootMode);
|
|
filename = typeof args.filename === "string" ? path$1.resolve(cwd, args.filename) : undefined;
|
|
return _context.delegateYield(resolveShowConfigPath(), "t0", 8);
|
|
case 8:
|
|
showConfigPath = _context.t0;
|
|
context = {
|
|
filename: filename,
|
|
cwd: absoluteCwd,
|
|
root: absoluteRootDir,
|
|
envName: envName,
|
|
caller: caller,
|
|
showConfig: showConfigPath === filename
|
|
};
|
|
return _context.delegateYield(buildRootChain(args, context), "t1", 11);
|
|
case 11:
|
|
configChain = _context.t1;
|
|
if (configChain) {
|
|
_context.next = 14;
|
|
break;
|
|
}
|
|
return _context.abrupt("return", null);
|
|
case 14:
|
|
merged = {
|
|
assumptions: {}
|
|
};
|
|
configChain.options.forEach(function (opts) {
|
|
mergeOptions(merged, opts);
|
|
});
|
|
options = Object.assign({}, merged, {
|
|
targets: resolveTargets(merged),
|
|
cloneInputAst: cloneInputAst,
|
|
babelrc: false,
|
|
configFile: false,
|
|
browserslistConfigFile: false,
|
|
passPerPreset: false,
|
|
envName: context.envName,
|
|
cwd: context.cwd,
|
|
root: context.root,
|
|
rootMode: "root",
|
|
filename: typeof context.filename === "string" ? context.filename : undefined,
|
|
plugins: configChain.plugins.map(function (descriptor) {
|
|
return createItemFromDescriptor(descriptor);
|
|
}),
|
|
presets: configChain.presets.map(function (descriptor) {
|
|
return createItemFromDescriptor(descriptor);
|
|
})
|
|
});
|
|
return _context.abrupt("return", {
|
|
options: options,
|
|
context: context,
|
|
fileHandling: configChain.fileHandling,
|
|
ignore: configChain.ignore,
|
|
babelrc: configChain.babelrc,
|
|
config: configChain.config,
|
|
files: configChain.files
|
|
});
|
|
case 18:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _marked$4);
|
|
}
|
|
var loadPartialConfig$1 = gensync(_regeneratorRuntime().mark(function _callee(opts) {
|
|
var showIgnoredFiles, _opts, result, options, babelrc, ignore, config, fileHandling, files;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
showIgnoredFiles = false;
|
|
if (typeof opts === "object" && opts !== null && !Array.isArray(opts)) {
|
|
_opts = opts;
|
|
showIgnoredFiles = _opts.showIgnoredFiles;
|
|
opts = _objectWithoutPropertiesLoose(_opts, _excluded$2);
|
|
}
|
|
return _context2.delegateYield(loadPrivatePartialConfig(opts), "t0", 3);
|
|
case 3:
|
|
result = _context2.t0;
|
|
if (result) {
|
|
_context2.next = 6;
|
|
break;
|
|
}
|
|
return _context2.abrupt("return", null);
|
|
case 6:
|
|
options = result.options, babelrc = result.babelrc, ignore = result.ignore, config = result.config, fileHandling = result.fileHandling, files = result.files;
|
|
if (!(fileHandling === "ignored" && !showIgnoredFiles)) {
|
|
_context2.next = 9;
|
|
break;
|
|
}
|
|
return _context2.abrupt("return", null);
|
|
case 9:
|
|
(options.plugins || []).forEach(function (item) {
|
|
if (item.value instanceof Plugin) {
|
|
throw new Error("Passing cached plugin instances is not supported in " + "babel.loadPartialConfig()");
|
|
}
|
|
});
|
|
return _context2.abrupt("return", new PartialConfig(options, babelrc ? babelrc.filepath : undefined, ignore ? ignore.filepath : undefined, config ? config.filepath : undefined, fileHandling, files));
|
|
case 11:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _callee);
|
|
}));
|
|
var PartialConfig = function () {
|
|
function PartialConfig(options, babelrc, ignore, config, fileHandling, files) {
|
|
this.options = void 0;
|
|
this.babelrc = void 0;
|
|
this.babelignore = void 0;
|
|
this.config = void 0;
|
|
this.fileHandling = void 0;
|
|
this.files = void 0;
|
|
this.options = options;
|
|
this.babelignore = ignore;
|
|
this.babelrc = babelrc;
|
|
this.config = config;
|
|
this.fileHandling = fileHandling;
|
|
this.files = files;
|
|
Object.freeze(this);
|
|
}
|
|
var _proto = PartialConfig.prototype;
|
|
_proto.hasFilesystemConfig = function hasFilesystemConfig() {
|
|
return this.babelrc !== undefined || this.config !== undefined;
|
|
};
|
|
return _createClass(PartialConfig);
|
|
}();
|
|
Object.freeze(PartialConfig.prototype);
|
|
|
|
var _marked$3 = _regeneratorRuntime().mark(loadPluginDescriptor),
|
|
_marked2$2 = _regeneratorRuntime().mark(loadPresetDescriptor);
|
|
var loadConfig = gensync(_regeneratorRuntime().mark(function loadFullConfig(inputOpts) {
|
|
var _opts$assumptions;
|
|
var result, options, context, fileHandling, optionDefaults, plugins, presets, presetContext, toDescriptor, presetsDescriptors, initialPluginsDescriptors, pluginDescriptorsByPass, passes, externalDependencies, ignored, opts, pluginContext;
|
|
return _regeneratorRuntime().wrap(function loadFullConfig$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
return _context3.delegateYield(loadPrivatePartialConfig(inputOpts), "t0", 1);
|
|
case 1:
|
|
result = _context3.t0;
|
|
if (result) {
|
|
_context3.next = 4;
|
|
break;
|
|
}
|
|
return _context3.abrupt("return", null);
|
|
case 4:
|
|
options = result.options, context = result.context, fileHandling = result.fileHandling;
|
|
if (!(fileHandling === "ignored")) {
|
|
_context3.next = 7;
|
|
break;
|
|
}
|
|
return _context3.abrupt("return", null);
|
|
case 7:
|
|
optionDefaults = {};
|
|
plugins = options.plugins, presets = options.presets;
|
|
if (!(!plugins || !presets)) {
|
|
_context3.next = 11;
|
|
break;
|
|
}
|
|
throw new Error("Assertion failure - plugins and presets exist");
|
|
case 11:
|
|
presetContext = Object.assign({}, context, {
|
|
targets: options.targets
|
|
});
|
|
toDescriptor = function toDescriptor(item) {
|
|
var desc = getItemDescriptor(item);
|
|
if (!desc) {
|
|
throw new Error("Assertion failure - must be config item");
|
|
}
|
|
return desc;
|
|
};
|
|
presetsDescriptors = presets.map(toDescriptor);
|
|
initialPluginsDescriptors = plugins.map(toDescriptor);
|
|
pluginDescriptorsByPass = [[]];
|
|
passes = [];
|
|
externalDependencies = [];
|
|
return _context3.delegateYield(enhanceError(context, _regeneratorRuntime().mark(function recursePresetDescriptors(rawPresets, pluginDescriptorsPass) {
|
|
var presets, i, descriptor, preset, _iterator, _step, _step$value, _preset, pass, _ignored;
|
|
return _regeneratorRuntime().wrap(function recursePresetDescriptors$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
presets = [];
|
|
i = 0;
|
|
case 2:
|
|
if (!(i < rawPresets.length)) {
|
|
_context.next = 19;
|
|
break;
|
|
}
|
|
descriptor = rawPresets[i];
|
|
if (!(descriptor.options !== false)) {
|
|
_context.next = 16;
|
|
break;
|
|
}
|
|
_context.prev = 5;
|
|
return _context.delegateYield(loadPresetDescriptor(descriptor, presetContext), "t0", 7);
|
|
case 7:
|
|
preset = _context.t0;
|
|
_context.next = 14;
|
|
break;
|
|
case 10:
|
|
_context.prev = 10;
|
|
_context.t1 = _context["catch"](5);
|
|
if (_context.t1.code === "BABEL_UNKNOWN_OPTION") {
|
|
checkNoUnwrappedItemOptionPairs(rawPresets, i, "preset", _context.t1);
|
|
}
|
|
throw _context.t1;
|
|
case 14:
|
|
externalDependencies.push(preset.externalDependencies);
|
|
if (descriptor.ownPass) {
|
|
presets.push({
|
|
preset: preset.chain,
|
|
pass: []
|
|
});
|
|
} else {
|
|
presets.unshift({
|
|
preset: preset.chain,
|
|
pass: pluginDescriptorsPass
|
|
});
|
|
}
|
|
case 16:
|
|
i++;
|
|
_context.next = 2;
|
|
break;
|
|
case 19:
|
|
if (!(presets.length > 0)) {
|
|
_context.next = 34;
|
|
break;
|
|
}
|
|
pluginDescriptorsByPass.splice.apply(pluginDescriptorsByPass, [1, 0].concat(_toConsumableArray(presets.map(function (o) {
|
|
return o.pass;
|
|
}).filter(function (p) {
|
|
return p !== pluginDescriptorsPass;
|
|
}))));
|
|
_iterator = _createForOfIteratorHelperLoose(presets);
|
|
case 22:
|
|
if ((_step = _iterator()).done) {
|
|
_context.next = 34;
|
|
break;
|
|
}
|
|
_step$value = _step.value, _preset = _step$value.preset, pass = _step$value.pass;
|
|
if (_preset) {
|
|
_context.next = 26;
|
|
break;
|
|
}
|
|
return _context.abrupt("return", true);
|
|
case 26:
|
|
pass.push.apply(pass, _toConsumableArray(_preset.plugins));
|
|
return _context.delegateYield(recursePresetDescriptors(_preset.presets, pass), "t2", 28);
|
|
case 28:
|
|
_ignored = _context.t2;
|
|
if (!_ignored) {
|
|
_context.next = 31;
|
|
break;
|
|
}
|
|
return _context.abrupt("return", true);
|
|
case 31:
|
|
_preset.options.forEach(function (opts) {
|
|
mergeOptions(optionDefaults, opts);
|
|
});
|
|
case 32:
|
|
_context.next = 22;
|
|
break;
|
|
case 34:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, recursePresetDescriptors, null, [[5, 10]]);
|
|
}))(presetsDescriptors, pluginDescriptorsByPass[0]), "t1", 19);
|
|
case 19:
|
|
ignored = _context3.t1;
|
|
if (!ignored) {
|
|
_context3.next = 22;
|
|
break;
|
|
}
|
|
return _context3.abrupt("return", null);
|
|
case 22:
|
|
opts = optionDefaults;
|
|
mergeOptions(opts, options);
|
|
pluginContext = Object.assign({}, presetContext, {
|
|
assumptions: (_opts$assumptions = opts.assumptions) != null ? _opts$assumptions : {}
|
|
});
|
|
return _context3.delegateYield(enhanceError(context, _regeneratorRuntime().mark(function loadPluginDescriptors() {
|
|
var _pluginDescriptorsByP;
|
|
var _i, _pluginDescriptorsByP2, descs, pass, i, descriptor, plugin;
|
|
return _regeneratorRuntime().wrap(function loadPluginDescriptors$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
(_pluginDescriptorsByP = pluginDescriptorsByPass[0]).unshift.apply(_pluginDescriptorsByP, _toConsumableArray(initialPluginsDescriptors));
|
|
_i = 0, _pluginDescriptorsByP2 = pluginDescriptorsByPass;
|
|
case 2:
|
|
if (!(_i < _pluginDescriptorsByP2.length)) {
|
|
_context2.next = 27;
|
|
break;
|
|
}
|
|
descs = _pluginDescriptorsByP2[_i];
|
|
pass = [];
|
|
passes.push(pass);
|
|
i = 0;
|
|
case 7:
|
|
if (!(i < descs.length)) {
|
|
_context2.next = 24;
|
|
break;
|
|
}
|
|
descriptor = descs[i];
|
|
if (!(descriptor.options !== false)) {
|
|
_context2.next = 21;
|
|
break;
|
|
}
|
|
_context2.prev = 10;
|
|
return _context2.delegateYield(loadPluginDescriptor(descriptor, pluginContext), "t0", 12);
|
|
case 12:
|
|
plugin = _context2.t0;
|
|
_context2.next = 19;
|
|
break;
|
|
case 15:
|
|
_context2.prev = 15;
|
|
_context2.t1 = _context2["catch"](10);
|
|
if (_context2.t1.code === "BABEL_UNKNOWN_PLUGIN_PROPERTY") {
|
|
checkNoUnwrappedItemOptionPairs(descs, i, "plugin", _context2.t1);
|
|
}
|
|
throw _context2.t1;
|
|
case 19:
|
|
pass.push(plugin);
|
|
externalDependencies.push(plugin.externalDependencies);
|
|
case 21:
|
|
i++;
|
|
_context2.next = 7;
|
|
break;
|
|
case 24:
|
|
_i++;
|
|
_context2.next = 2;
|
|
break;
|
|
case 27:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, loadPluginDescriptors, null, [[10, 15]]);
|
|
}))(), "t2", 26);
|
|
case 26:
|
|
opts.plugins = passes[0];
|
|
opts.presets = passes.slice(1).filter(function (plugins) {
|
|
return plugins.length > 0;
|
|
}).map(function (plugins) {
|
|
return {
|
|
plugins: plugins
|
|
};
|
|
});
|
|
opts.passPerPreset = opts.presets.length > 0;
|
|
return _context3.abrupt("return", {
|
|
options: opts,
|
|
passes: passes,
|
|
externalDependencies: finalize(externalDependencies)
|
|
});
|
|
case 30:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, loadFullConfig);
|
|
}));
|
|
function enhanceError(context, fn) {
|
|
return _regeneratorRuntime().mark(function _callee(arg1, arg2) {
|
|
var _context$filename;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context4) {
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
case 0:
|
|
_context4.prev = 0;
|
|
return _context4.delegateYield(fn(arg1, arg2), "t0", 2);
|
|
case 2:
|
|
return _context4.abrupt("return", _context4.t0);
|
|
case 5:
|
|
_context4.prev = 5;
|
|
_context4.t1 = _context4["catch"](0);
|
|
if (!/^\[BABEL\]/.test(_context4.t1.message)) {
|
|
_context4.t1.message = "[BABEL] " + ((_context$filename = context.filename) != null ? _context$filename : "unknown file") + ": " + _context4.t1.message;
|
|
}
|
|
throw _context4.t1;
|
|
case 9:
|
|
case "end":
|
|
return _context4.stop();
|
|
}
|
|
}, _callee, null, [[0, 5]]);
|
|
});
|
|
}
|
|
var makeDescriptorLoader = function makeDescriptorLoader(apiFactory) {
|
|
return makeWeakCache(function (_ref, cache) {
|
|
var value = _ref.value,
|
|
options = _ref.options,
|
|
dirname = _ref.dirname,
|
|
alias = _ref.alias;
|
|
return _regeneratorRuntime().mark(function _callee2() {
|
|
var externalDependencies, item, factory, api, error;
|
|
return _regeneratorRuntime().wrap(function _callee2$(_context5) {
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
case 0:
|
|
if (!(options === false)) {
|
|
_context5.next = 2;
|
|
break;
|
|
}
|
|
throw new Error("Assertion failure");
|
|
case 2:
|
|
options = options || {};
|
|
externalDependencies = [];
|
|
item = value;
|
|
if (!(typeof value === "function")) {
|
|
_context5.next = 17;
|
|
break;
|
|
}
|
|
factory = maybeAsync(value, "You appear to be using an async plugin/preset, but Babel has been called synchronously");
|
|
api = Object.assign({}, _babel, apiFactory(cache, externalDependencies));
|
|
_context5.prev = 8;
|
|
return _context5.delegateYield(factory(api, options, dirname), "t0", 10);
|
|
case 10:
|
|
item = _context5.t0;
|
|
_context5.next = 17;
|
|
break;
|
|
case 13:
|
|
_context5.prev = 13;
|
|
_context5.t1 = _context5["catch"](8);
|
|
if (alias) {
|
|
_context5.t1.message += " (While processing: " + JSON.stringify(alias) + ")";
|
|
}
|
|
throw _context5.t1;
|
|
case 17:
|
|
if (!(!item || typeof item !== "object")) {
|
|
_context5.next = 19;
|
|
break;
|
|
}
|
|
throw new Error("Plugin/Preset did not return an object.");
|
|
case 19:
|
|
if (!isThenable$1(item)) {
|
|
_context5.next = 22;
|
|
break;
|
|
}
|
|
return _context5.delegateYield([], "t2", 21);
|
|
case 21:
|
|
throw new Error("You appear to be using a promise as a plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, " + "you may need to upgrade your @babel/core version. " + "As an alternative, you can prefix the promise with \"await\". " + ("(While processing: " + JSON.stringify(alias) + ")"));
|
|
case 22:
|
|
if (!(externalDependencies.length > 0 && (!cache.configured() || cache.mode() === "forever"))) {
|
|
_context5.next = 27;
|
|
break;
|
|
}
|
|
error = "A plugin/preset has external untracked dependencies " + ("(" + externalDependencies[0] + "), but the cache ");
|
|
if (!cache.configured()) {
|
|
error += "has not been configured to be invalidated when the external dependencies change. ";
|
|
} else {
|
|
error += " has been configured to never be invalidated. ";
|
|
}
|
|
error += "Plugins/presets should configure their cache to be invalidated when the external " + "dependencies change, for example using `api.cache.invalidate(() => " + "statSync(filepath).mtimeMs)` or `api.cache.never()`\n" + ("(While processing: " + JSON.stringify(alias) + ")");
|
|
throw new Error(error);
|
|
case 27:
|
|
return _context5.abrupt("return", {
|
|
value: item,
|
|
options: options,
|
|
dirname: dirname,
|
|
alias: alias,
|
|
externalDependencies: finalize(externalDependencies)
|
|
});
|
|
case 28:
|
|
case "end":
|
|
return _context5.stop();
|
|
}
|
|
}, _callee2, null, [[8, 13]]);
|
|
})();
|
|
});
|
|
};
|
|
var pluginDescriptorLoader = makeDescriptorLoader(makePluginAPI);
|
|
var presetDescriptorLoader = makeDescriptorLoader(makePresetAPI);
|
|
var instantiatePlugin = makeWeakCache(function (_ref2, cache) {
|
|
var value = _ref2.value,
|
|
options = _ref2.options,
|
|
dirname = _ref2.dirname,
|
|
alias = _ref2.alias,
|
|
externalDependencies = _ref2.externalDependencies;
|
|
return _regeneratorRuntime().mark(function _callee3() {
|
|
var pluginObj, plugin, inheritsDescriptor, inherits;
|
|
return _regeneratorRuntime().wrap(function _callee3$(_context6) {
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
case 0:
|
|
pluginObj = validatePluginObject(value);
|
|
plugin = Object.assign({}, pluginObj);
|
|
if (plugin.visitor) {
|
|
plugin.visitor = traverse.explode(Object.assign({}, plugin.visitor));
|
|
}
|
|
if (!plugin.inherits) {
|
|
_context6.next = 12;
|
|
break;
|
|
}
|
|
inheritsDescriptor = {
|
|
name: undefined,
|
|
alias: alias + "$inherits",
|
|
value: plugin.inherits,
|
|
options: options,
|
|
dirname: dirname
|
|
};
|
|
return _context6.delegateYield(forwardAsync(loadPluginDescriptor, function (run) {
|
|
return cache.invalidate(function (data) {
|
|
return run(inheritsDescriptor, data);
|
|
});
|
|
}), "t0", 6);
|
|
case 6:
|
|
inherits = _context6.t0;
|
|
plugin.pre = chain(inherits.pre, plugin.pre);
|
|
plugin.post = chain(inherits.post, plugin.post);
|
|
plugin.manipulateOptions = chain(inherits.manipulateOptions, plugin.manipulateOptions);
|
|
plugin.visitor = traverse.visitors.merge([inherits.visitor || {}, plugin.visitor || {}]);
|
|
if (inherits.externalDependencies.length > 0) {
|
|
if (externalDependencies.length === 0) {
|
|
externalDependencies = inherits.externalDependencies;
|
|
} else {
|
|
externalDependencies = finalize([externalDependencies, inherits.externalDependencies]);
|
|
}
|
|
}
|
|
case 12:
|
|
return _context6.abrupt("return", new Plugin(plugin, options, alias, externalDependencies));
|
|
case 13:
|
|
case "end":
|
|
return _context6.stop();
|
|
}
|
|
}, _callee3);
|
|
})();
|
|
});
|
|
function loadPluginDescriptor(descriptor, context) {
|
|
return _regeneratorRuntime().wrap(function loadPluginDescriptor$(_context7) {
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
case 0:
|
|
if (!(descriptor.value instanceof Plugin)) {
|
|
_context7.next = 4;
|
|
break;
|
|
}
|
|
if (!descriptor.options) {
|
|
_context7.next = 3;
|
|
break;
|
|
}
|
|
throw new Error("Passed options to an existing Plugin instance will not work.");
|
|
case 3:
|
|
return _context7.abrupt("return", descriptor.value);
|
|
case 4:
|
|
_context7.t0 = instantiatePlugin;
|
|
return _context7.delegateYield(pluginDescriptorLoader(descriptor, context), "t1", 6);
|
|
case 6:
|
|
_context7.t2 = _context7.t1;
|
|
_context7.t3 = context;
|
|
return _context7.delegateYield((0, _context7.t0)(_context7.t2, _context7.t3), "t4", 9);
|
|
case 9:
|
|
return _context7.abrupt("return", _context7.t4);
|
|
case 10:
|
|
case "end":
|
|
return _context7.stop();
|
|
}
|
|
}, _marked$3);
|
|
}
|
|
var needsFilename = function needsFilename(val) {
|
|
return val && typeof val !== "function";
|
|
};
|
|
var validateIfOptionNeedsFilename = function validateIfOptionNeedsFilename(options, descriptor) {
|
|
if (needsFilename(options.test) || needsFilename(options.include) || needsFilename(options.exclude)) {
|
|
var formattedPresetName = descriptor.name ? "\"" + descriptor.name + "\"" : "/* your preset */";
|
|
throw new ConfigError(["Preset " + formattedPresetName + " requires a filename to be set when babel is called directly,", "```", "babel.transformSync(code, { filename: 'file.ts', presets: [" + formattedPresetName + "] });", "```", "See https://babeljs.io/docs/en/options#filename for more information."].join("\n"));
|
|
}
|
|
};
|
|
var validatePreset = function validatePreset(preset, context, descriptor) {
|
|
if (!context.filename) {
|
|
var options = preset.options;
|
|
validateIfOptionNeedsFilename(options, descriptor);
|
|
if (options.overrides) {
|
|
options.overrides.forEach(function (overrideOptions) {
|
|
return validateIfOptionNeedsFilename(overrideOptions, descriptor);
|
|
});
|
|
}
|
|
}
|
|
};
|
|
var instantiatePreset = makeWeakCacheSync(function (_ref3) {
|
|
var value = _ref3.value,
|
|
dirname = _ref3.dirname,
|
|
alias = _ref3.alias,
|
|
externalDependencies = _ref3.externalDependencies;
|
|
return {
|
|
options: validate("preset", value),
|
|
alias: alias,
|
|
dirname: dirname,
|
|
externalDependencies: externalDependencies
|
|
};
|
|
});
|
|
function loadPresetDescriptor(descriptor, context) {
|
|
var preset;
|
|
return _regeneratorRuntime().wrap(function loadPresetDescriptor$(_context8) {
|
|
while (1) switch (_context8.prev = _context8.next) {
|
|
case 0:
|
|
_context8.t0 = instantiatePreset;
|
|
return _context8.delegateYield(presetDescriptorLoader(descriptor, context), "t1", 2);
|
|
case 2:
|
|
_context8.t2 = _context8.t1;
|
|
preset = (0, _context8.t0)(_context8.t2);
|
|
validatePreset(preset, context, descriptor);
|
|
return _context8.delegateYield(buildPresetChain(preset, context), "t3", 6);
|
|
case 6:
|
|
_context8.t4 = _context8.t3;
|
|
_context8.t5 = preset.externalDependencies;
|
|
return _context8.abrupt("return", {
|
|
chain: _context8.t4,
|
|
externalDependencies: _context8.t5
|
|
});
|
|
case 9:
|
|
case "end":
|
|
return _context8.stop();
|
|
}
|
|
}, _marked2$2);
|
|
}
|
|
function chain(a, b) {
|
|
var fns = [a, b].filter(Boolean);
|
|
if (fns.length <= 1) return fns[0];
|
|
return function () {
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(fns), _step2; !(_step2 = _iterator2()).done;) {
|
|
var fn = _step2.value;
|
|
fn.apply(this, args);
|
|
}
|
|
};
|
|
}
|
|
|
|
var loadOptionsRunner = gensync(_regeneratorRuntime().mark(function _callee(opts) {
|
|
var _config$options;
|
|
var config;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.delegateYield(loadConfig(opts), "t0", 1);
|
|
case 1:
|
|
config = _context.t0;
|
|
return _context.abrupt("return", (_config$options = config == null ? void 0 : config.options) != null ? _config$options : null);
|
|
case 3:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
}));
|
|
var createConfigItemRunner = gensync(createConfigItem$1);
|
|
var maybeErrback = function maybeErrback(runner) {
|
|
return function (argOrCallback, maybeCallback) {
|
|
var arg;
|
|
var callback;
|
|
if (maybeCallback === undefined && typeof argOrCallback === "function") {
|
|
callback = argOrCallback;
|
|
arg = undefined;
|
|
} else {
|
|
callback = maybeCallback;
|
|
arg = argOrCallback;
|
|
}
|
|
if (!callback) {
|
|
return runner.sync(arg);
|
|
}
|
|
runner.errback(arg, callback);
|
|
};
|
|
};
|
|
var loadPartialConfig = maybeErrback(loadPartialConfig$1);
|
|
var loadPartialConfigSync = loadPartialConfig$1.sync;
|
|
var loadPartialConfigAsync = loadPartialConfig$1.async;
|
|
var loadOptions = maybeErrback(loadOptionsRunner);
|
|
var loadOptionsSync = loadOptionsRunner.sync;
|
|
var loadOptionsAsync = loadOptionsRunner.async;
|
|
var createConfigItemSync = createConfigItemRunner.sync;
|
|
var createConfigItemAsync = createConfigItemRunner.async;
|
|
function createConfigItem(target, options, callback) {
|
|
if (callback !== undefined) {
|
|
createConfigItemRunner.errback(target, options, callback);
|
|
} else if (typeof options === "function") {
|
|
createConfigItemRunner.errback(target, undefined, callback);
|
|
} else {
|
|
return createConfigItemRunner.sync(target, options);
|
|
}
|
|
}
|
|
|
|
var PluginPass = function () {
|
|
function PluginPass(file, key, options) {
|
|
this._map = new Map();
|
|
this.key = void 0;
|
|
this.file = void 0;
|
|
this.opts = void 0;
|
|
this.cwd = void 0;
|
|
this.filename = void 0;
|
|
this.key = key;
|
|
this.file = file;
|
|
this.opts = options || {};
|
|
this.cwd = file.opts.cwd;
|
|
this.filename = file.opts.filename;
|
|
}
|
|
var _proto = PluginPass.prototype;
|
|
_proto.set = function set(key, val) {
|
|
this._map.set(key, val);
|
|
};
|
|
_proto.get = function get(key) {
|
|
return this._map.get(key);
|
|
};
|
|
_proto.availableHelper = function availableHelper(name, versionRange) {
|
|
return this.file.availableHelper(name, versionRange);
|
|
};
|
|
_proto.addHelper = function addHelper(name) {
|
|
return this.file.addHelper(name);
|
|
};
|
|
_proto.buildCodeFrameError = function buildCodeFrameError(node, msg, _Error) {
|
|
return this.file.buildCodeFrameError(node, msg, _Error);
|
|
};
|
|
return _createClass(PluginPass);
|
|
}();
|
|
{
|
|
PluginPass.prototype.getModuleName = function getModuleName() {
|
|
return this.file.getModuleName();
|
|
};
|
|
PluginPass.prototype.addImport = function addImport() {
|
|
this.file.addImport();
|
|
};
|
|
}
|
|
|
|
var LOADED_PLUGIN;
|
|
var blockHoistPlugin = {
|
|
name: "internal.blockHoist",
|
|
visitor: {
|
|
Block: {
|
|
exit: function exit(_ref) {
|
|
var node = _ref.node;
|
|
var body = node.body;
|
|
var max = Math.pow(2, 30) - 1;
|
|
var hasChange = false;
|
|
for (var i = 0; i < body.length; i++) {
|
|
var n = body[i];
|
|
var p = priority(n);
|
|
if (p > max) {
|
|
hasChange = true;
|
|
break;
|
|
}
|
|
max = p;
|
|
}
|
|
if (!hasChange) return;
|
|
node.body = stableSort(body.slice());
|
|
}
|
|
}
|
|
}
|
|
};
|
|
function loadBlockHoistPlugin() {
|
|
if (!LOADED_PLUGIN) {
|
|
LOADED_PLUGIN = new Plugin(Object.assign({}, blockHoistPlugin, {
|
|
visitor: traverse.explode(blockHoistPlugin.visitor)
|
|
}), {});
|
|
}
|
|
return LOADED_PLUGIN;
|
|
}
|
|
function priority(bodyNode) {
|
|
var priority = bodyNode == null ? void 0 : bodyNode._blockHoist;
|
|
if (priority == null) return 1;
|
|
if (priority === true) return 2;
|
|
return priority;
|
|
}
|
|
function stableSort(body) {
|
|
var buckets = Object.create(null);
|
|
for (var i = 0; i < body.length; i++) {
|
|
var n = body[i];
|
|
var p = priority(n);
|
|
var bucket = buckets[p] || (buckets[p] = []);
|
|
bucket.push(n);
|
|
}
|
|
var keys = Object.keys(buckets).map(function (k) {
|
|
return +k;
|
|
}).sort(function (a, b) {
|
|
return b - a;
|
|
});
|
|
var index = 0;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
|
|
var key = _step.value;
|
|
var _bucket = buckets[key];
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(_bucket), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _n = _step2.value;
|
|
body[index++] = _n;
|
|
}
|
|
}
|
|
return body;
|
|
}
|
|
|
|
function normalizeOptions$4(config) {
|
|
var _config$options = config.options,
|
|
filename = _config$options.filename,
|
|
cwd = _config$options.cwd,
|
|
_config$options$filen = _config$options.filenameRelative,
|
|
filenameRelative = _config$options$filen === void 0 ? typeof filename === "string" ? path$1.relative(cwd, filename) : "unknown" : _config$options$filen,
|
|
_config$options$sourc = _config$options.sourceType,
|
|
sourceType = _config$options$sourc === void 0 ? "module" : _config$options$sourc,
|
|
inputSourceMap = _config$options.inputSourceMap,
|
|
_config$options$sourc2 = _config$options.sourceMaps,
|
|
sourceMaps = _config$options$sourc2 === void 0 ? !!inputSourceMap : _config$options$sourc2,
|
|
_config$options$sourc3 = _config$options.sourceRoot,
|
|
sourceRoot = _config$options$sourc3 === void 0 ? config.options.moduleRoot : _config$options$sourc3,
|
|
_config$options$sourc4 = _config$options.sourceFileName,
|
|
sourceFileName = _config$options$sourc4 === void 0 ? path$1.basename(filenameRelative) : _config$options$sourc4,
|
|
_config$options$comme = _config$options.comments,
|
|
comments = _config$options$comme === void 0 ? true : _config$options$comme,
|
|
_config$options$compa = _config$options.compact,
|
|
compact = _config$options$compa === void 0 ? "auto" : _config$options$compa;
|
|
var opts = config.options;
|
|
var options = Object.assign({}, opts, {
|
|
parserOpts: Object.assign({
|
|
sourceType: path$1.extname(filenameRelative) === ".mjs" ? "module" : sourceType,
|
|
sourceFileName: filename,
|
|
plugins: []
|
|
}, opts.parserOpts),
|
|
generatorOpts: Object.assign({
|
|
filename: filename,
|
|
auxiliaryCommentBefore: opts.auxiliaryCommentBefore,
|
|
auxiliaryCommentAfter: opts.auxiliaryCommentAfter,
|
|
retainLines: opts.retainLines,
|
|
comments: comments,
|
|
shouldPrintComment: opts.shouldPrintComment,
|
|
compact: compact,
|
|
minified: opts.minified,
|
|
sourceMaps: sourceMaps,
|
|
sourceRoot: sourceRoot,
|
|
sourceFileName: sourceFileName
|
|
}, opts.generatorOpts)
|
|
});
|
|
for (var _iterator = _createForOfIteratorHelperLoose(config.passes), _step; !(_step = _iterator()).done;) {
|
|
var plugins = _step.value;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(plugins), _step2; !(_step2 = _iterator2()).done;) {
|
|
var plugin = _step2.value;
|
|
if (plugin.manipulateOptions) {
|
|
plugin.manipulateOptions(options, options.parserOpts);
|
|
}
|
|
}
|
|
}
|
|
return options;
|
|
}
|
|
|
|
var fs = {};
|
|
|
|
var convertSourceMap = {};
|
|
|
|
var require$$1$1 = /*@__PURE__*/getAugmentedNamespace(_polyfillNode_path);
|
|
|
|
var safeBuffer = {exports: {}};
|
|
|
|
var buffer = {};
|
|
|
|
var base64Js = {};
|
|
|
|
base64Js.byteLength = byteLength;
|
|
base64Js.toByteArray = toByteArray;
|
|
base64Js.fromByteArray = fromByteArray;
|
|
var lookup = [];
|
|
var revLookup = [];
|
|
var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;
|
|
var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
for (var i = 0, len = code.length; i < len; ++i) {
|
|
lookup[i] = code[i];
|
|
revLookup[code.charCodeAt(i)] = i;
|
|
}
|
|
revLookup['-'.charCodeAt(0)] = 62;
|
|
revLookup['_'.charCodeAt(0)] = 63;
|
|
function getLens(b64) {
|
|
var len = b64.length;
|
|
if (len % 4 > 0) {
|
|
throw new Error('Invalid string. Length must be a multiple of 4');
|
|
}
|
|
var validLen = b64.indexOf('=');
|
|
if (validLen === -1) validLen = len;
|
|
var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;
|
|
return [validLen, placeHoldersLen];
|
|
}
|
|
function byteLength(b64) {
|
|
var lens = getLens(b64);
|
|
var validLen = lens[0];
|
|
var placeHoldersLen = lens[1];
|
|
return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
|
|
}
|
|
function _byteLength(b64, validLen, placeHoldersLen) {
|
|
return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
|
|
}
|
|
function toByteArray(b64) {
|
|
var tmp;
|
|
var lens = getLens(b64);
|
|
var validLen = lens[0];
|
|
var placeHoldersLen = lens[1];
|
|
var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
|
|
var curByte = 0;
|
|
var len = placeHoldersLen > 0 ? validLen - 4 : validLen;
|
|
var i;
|
|
for (i = 0; i < len; i += 4) {
|
|
tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];
|
|
arr[curByte++] = tmp >> 16 & 0xFF;
|
|
arr[curByte++] = tmp >> 8 & 0xFF;
|
|
arr[curByte++] = tmp & 0xFF;
|
|
}
|
|
if (placeHoldersLen === 2) {
|
|
tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;
|
|
arr[curByte++] = tmp & 0xFF;
|
|
}
|
|
if (placeHoldersLen === 1) {
|
|
tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;
|
|
arr[curByte++] = tmp >> 8 & 0xFF;
|
|
arr[curByte++] = tmp & 0xFF;
|
|
}
|
|
return arr;
|
|
}
|
|
function tripletToBase64(num) {
|
|
return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];
|
|
}
|
|
function encodeChunk(uint8, start, end) {
|
|
var tmp;
|
|
var output = [];
|
|
for (var i = start; i < end; i += 3) {
|
|
tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);
|
|
output.push(tripletToBase64(tmp));
|
|
}
|
|
return output.join('');
|
|
}
|
|
function fromByteArray(uint8) {
|
|
var tmp;
|
|
var len = uint8.length;
|
|
var extraBytes = len % 3;
|
|
var parts = [];
|
|
var maxChunkLength = 16383;
|
|
for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
|
|
parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));
|
|
}
|
|
if (extraBytes === 1) {
|
|
tmp = uint8[len - 1];
|
|
parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '==');
|
|
} else if (extraBytes === 2) {
|
|
tmp = (uint8[len - 2] << 8) + uint8[len - 1];
|
|
parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '=');
|
|
}
|
|
return parts.join('');
|
|
}
|
|
|
|
var ieee754 = {};
|
|
|
|
ieee754.read = function (buffer, offset, isLE, mLen, nBytes) {
|
|
var e, m;
|
|
var eLen = nBytes * 8 - mLen - 1;
|
|
var eMax = (1 << eLen) - 1;
|
|
var eBias = eMax >> 1;
|
|
var nBits = -7;
|
|
var i = isLE ? nBytes - 1 : 0;
|
|
var d = isLE ? -1 : 1;
|
|
var s = buffer[offset + i];
|
|
i += d;
|
|
e = s & (1 << -nBits) - 1;
|
|
s >>= -nBits;
|
|
nBits += eLen;
|
|
for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
|
|
m = e & (1 << -nBits) - 1;
|
|
e >>= -nBits;
|
|
nBits += mLen;
|
|
for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
|
|
if (e === 0) {
|
|
e = 1 - eBias;
|
|
} else if (e === eMax) {
|
|
return m ? NaN : (s ? -1 : 1) * Infinity;
|
|
} else {
|
|
m = m + Math.pow(2, mLen);
|
|
e = e - eBias;
|
|
}
|
|
return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
|
|
};
|
|
ieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {
|
|
var e, m, c;
|
|
var eLen = nBytes * 8 - mLen - 1;
|
|
var eMax = (1 << eLen) - 1;
|
|
var eBias = eMax >> 1;
|
|
var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
|
|
var i = isLE ? 0 : nBytes - 1;
|
|
var d = isLE ? 1 : -1;
|
|
var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;
|
|
value = Math.abs(value);
|
|
if (isNaN(value) || value === Infinity) {
|
|
m = isNaN(value) ? 1 : 0;
|
|
e = eMax;
|
|
} else {
|
|
e = Math.floor(Math.log(value) / Math.LN2);
|
|
if (value * (c = Math.pow(2, -e)) < 1) {
|
|
e--;
|
|
c *= 2;
|
|
}
|
|
if (e + eBias >= 1) {
|
|
value += rt / c;
|
|
} else {
|
|
value += rt * Math.pow(2, 1 - eBias);
|
|
}
|
|
if (value * c >= 2) {
|
|
e++;
|
|
c /= 2;
|
|
}
|
|
if (e + eBias >= eMax) {
|
|
m = 0;
|
|
e = eMax;
|
|
} else if (e + eBias >= 1) {
|
|
m = (value * c - 1) * Math.pow(2, mLen);
|
|
e = e + eBias;
|
|
} else {
|
|
m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
|
|
e = 0;
|
|
}
|
|
}
|
|
for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
|
|
e = e << mLen | m;
|
|
eLen += mLen;
|
|
for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
|
|
buffer[offset + i - d] |= s * 128;
|
|
};
|
|
|
|
/*!
|
|
* The buffer module from node.js, for the browser.
|
|
*
|
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
* @license MIT
|
|
*/
|
|
(function (exports) {
|
|
|
|
var base64 = base64Js;
|
|
var ieee754$1 = ieee754;
|
|
exports.Buffer = Buffer;
|
|
exports.SlowBuffer = SlowBuffer;
|
|
exports.INSPECT_MAX_BYTES = 50;
|
|
var K_MAX_LENGTH = 0x7fffffff;
|
|
exports.kMaxLength = K_MAX_LENGTH;
|
|
Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport();
|
|
if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && typeof console.error === 'function') {
|
|
console.error('This browser lacks typed array (Uint8Array) support which is required by ' + '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.');
|
|
}
|
|
function typedArraySupport() {
|
|
try {
|
|
var arr = new Uint8Array(1);
|
|
arr.__proto__ = {
|
|
__proto__: Uint8Array.prototype,
|
|
foo: function foo() {
|
|
return 42;
|
|
}
|
|
};
|
|
return arr.foo() === 42;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
Object.defineProperty(Buffer.prototype, 'parent', {
|
|
enumerable: true,
|
|
get: function get() {
|
|
if (!Buffer.isBuffer(this)) return undefined;
|
|
return this.buffer;
|
|
}
|
|
});
|
|
Object.defineProperty(Buffer.prototype, 'offset', {
|
|
enumerable: true,
|
|
get: function get() {
|
|
if (!Buffer.isBuffer(this)) return undefined;
|
|
return this.byteOffset;
|
|
}
|
|
});
|
|
function createBuffer(length) {
|
|
if (length > K_MAX_LENGTH) {
|
|
throw new RangeError('The value "' + length + '" is invalid for option "size"');
|
|
}
|
|
var buf = new Uint8Array(length);
|
|
buf.__proto__ = Buffer.prototype;
|
|
return buf;
|
|
}
|
|
function Buffer(arg, encodingOrOffset, length) {
|
|
if (typeof arg === 'number') {
|
|
if (typeof encodingOrOffset === 'string') {
|
|
throw new TypeError('The "string" argument must be of type string. Received type number');
|
|
}
|
|
return allocUnsafe(arg);
|
|
}
|
|
return from(arg, encodingOrOffset, length);
|
|
}
|
|
if (typeof Symbol !== 'undefined' && Symbol.species != null && Buffer[Symbol.species] === Buffer) {
|
|
Object.defineProperty(Buffer, Symbol.species, {
|
|
value: null,
|
|
configurable: true,
|
|
enumerable: false,
|
|
writable: false
|
|
});
|
|
}
|
|
Buffer.poolSize = 8192;
|
|
function from(value, encodingOrOffset, length) {
|
|
if (typeof value === 'string') {
|
|
return fromString(value, encodingOrOffset);
|
|
}
|
|
if (ArrayBuffer.isView(value)) {
|
|
return fromArrayLike(value);
|
|
}
|
|
if (value == null) {
|
|
throw TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + typeof value);
|
|
}
|
|
if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {
|
|
return fromArrayBuffer(value, encodingOrOffset, length);
|
|
}
|
|
if (typeof value === 'number') {
|
|
throw new TypeError('The "value" argument must not be of type number. Received type number');
|
|
}
|
|
var valueOf = value.valueOf && value.valueOf();
|
|
if (valueOf != null && valueOf !== value) {
|
|
return Buffer.from(valueOf, encodingOrOffset, length);
|
|
}
|
|
var b = fromObject(value);
|
|
if (b) return b;
|
|
if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === 'function') {
|
|
return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length);
|
|
}
|
|
throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + typeof value);
|
|
}
|
|
Buffer.from = function (value, encodingOrOffset, length) {
|
|
return from(value, encodingOrOffset, length);
|
|
};
|
|
Buffer.prototype.__proto__ = Uint8Array.prototype;
|
|
Buffer.__proto__ = Uint8Array;
|
|
function assertSize(size) {
|
|
if (typeof size !== 'number') {
|
|
throw new TypeError('"size" argument must be of type number');
|
|
} else if (size < 0) {
|
|
throw new RangeError('The value "' + size + '" is invalid for option "size"');
|
|
}
|
|
}
|
|
function alloc(size, fill, encoding) {
|
|
assertSize(size);
|
|
if (size <= 0) {
|
|
return createBuffer(size);
|
|
}
|
|
if (fill !== undefined) {
|
|
return typeof encoding === 'string' ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);
|
|
}
|
|
return createBuffer(size);
|
|
}
|
|
Buffer.alloc = function (size, fill, encoding) {
|
|
return alloc(size, fill, encoding);
|
|
};
|
|
function allocUnsafe(size) {
|
|
assertSize(size);
|
|
return createBuffer(size < 0 ? 0 : checked(size) | 0);
|
|
}
|
|
Buffer.allocUnsafe = function (size) {
|
|
return allocUnsafe(size);
|
|
};
|
|
Buffer.allocUnsafeSlow = function (size) {
|
|
return allocUnsafe(size);
|
|
};
|
|
function fromString(string, encoding) {
|
|
if (typeof encoding !== 'string' || encoding === '') {
|
|
encoding = 'utf8';
|
|
}
|
|
if (!Buffer.isEncoding(encoding)) {
|
|
throw new TypeError('Unknown encoding: ' + encoding);
|
|
}
|
|
var length = byteLength(string, encoding) | 0;
|
|
var buf = createBuffer(length);
|
|
var actual = buf.write(string, encoding);
|
|
if (actual !== length) {
|
|
buf = buf.slice(0, actual);
|
|
}
|
|
return buf;
|
|
}
|
|
function fromArrayLike(array) {
|
|
var length = array.length < 0 ? 0 : checked(array.length) | 0;
|
|
var buf = createBuffer(length);
|
|
for (var i = 0; i < length; i += 1) {
|
|
buf[i] = array[i] & 255;
|
|
}
|
|
return buf;
|
|
}
|
|
function fromArrayBuffer(array, byteOffset, length) {
|
|
if (byteOffset < 0 || array.byteLength < byteOffset) {
|
|
throw new RangeError('"offset" is outside of buffer bounds');
|
|
}
|
|
if (array.byteLength < byteOffset + (length || 0)) {
|
|
throw new RangeError('"length" is outside of buffer bounds');
|
|
}
|
|
var buf;
|
|
if (byteOffset === undefined && length === undefined) {
|
|
buf = new Uint8Array(array);
|
|
} else if (length === undefined) {
|
|
buf = new Uint8Array(array, byteOffset);
|
|
} else {
|
|
buf = new Uint8Array(array, byteOffset, length);
|
|
}
|
|
buf.__proto__ = Buffer.prototype;
|
|
return buf;
|
|
}
|
|
function fromObject(obj) {
|
|
if (Buffer.isBuffer(obj)) {
|
|
var len = checked(obj.length) | 0;
|
|
var buf = createBuffer(len);
|
|
if (buf.length === 0) {
|
|
return buf;
|
|
}
|
|
obj.copy(buf, 0, 0, len);
|
|
return buf;
|
|
}
|
|
if (obj.length !== undefined) {
|
|
if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {
|
|
return createBuffer(0);
|
|
}
|
|
return fromArrayLike(obj);
|
|
}
|
|
if (obj.type === 'Buffer' && Array.isArray(obj.data)) {
|
|
return fromArrayLike(obj.data);
|
|
}
|
|
}
|
|
function checked(length) {
|
|
if (length >= K_MAX_LENGTH) {
|
|
throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes');
|
|
}
|
|
return length | 0;
|
|
}
|
|
function SlowBuffer(length) {
|
|
if (+length != length) {
|
|
length = 0;
|
|
}
|
|
return Buffer.alloc(+length);
|
|
}
|
|
Buffer.isBuffer = function isBuffer(b) {
|
|
return b != null && b._isBuffer === true && b !== Buffer.prototype;
|
|
};
|
|
Buffer.compare = function compare(a, b) {
|
|
if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);
|
|
if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);
|
|
if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
|
|
throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');
|
|
}
|
|
if (a === b) return 0;
|
|
var x = a.length;
|
|
var y = b.length;
|
|
for (var i = 0, len = Math.min(x, y); i < len; ++i) {
|
|
if (a[i] !== b[i]) {
|
|
x = a[i];
|
|
y = b[i];
|
|
break;
|
|
}
|
|
}
|
|
if (x < y) return -1;
|
|
if (y < x) return 1;
|
|
return 0;
|
|
};
|
|
Buffer.isEncoding = function isEncoding(encoding) {
|
|
switch (String(encoding).toLowerCase()) {
|
|
case 'hex':
|
|
case 'utf8':
|
|
case 'utf-8':
|
|
case 'ascii':
|
|
case 'latin1':
|
|
case 'binary':
|
|
case 'base64':
|
|
case 'ucs2':
|
|
case 'ucs-2':
|
|
case 'utf16le':
|
|
case 'utf-16le':
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
};
|
|
Buffer.concat = function concat(list, length) {
|
|
if (!Array.isArray(list)) {
|
|
throw new TypeError('"list" argument must be an Array of Buffers');
|
|
}
|
|
if (list.length === 0) {
|
|
return Buffer.alloc(0);
|
|
}
|
|
var i;
|
|
if (length === undefined) {
|
|
length = 0;
|
|
for (i = 0; i < list.length; ++i) {
|
|
length += list[i].length;
|
|
}
|
|
}
|
|
var buffer = Buffer.allocUnsafe(length);
|
|
var pos = 0;
|
|
for (i = 0; i < list.length; ++i) {
|
|
var buf = list[i];
|
|
if (isInstance(buf, Uint8Array)) {
|
|
buf = Buffer.from(buf);
|
|
}
|
|
if (!Buffer.isBuffer(buf)) {
|
|
throw new TypeError('"list" argument must be an Array of Buffers');
|
|
}
|
|
buf.copy(buffer, pos);
|
|
pos += buf.length;
|
|
}
|
|
return buffer;
|
|
};
|
|
function byteLength(string, encoding) {
|
|
if (Buffer.isBuffer(string)) {
|
|
return string.length;
|
|
}
|
|
if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {
|
|
return string.byteLength;
|
|
}
|
|
if (typeof string !== 'string') {
|
|
throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + 'Received type ' + typeof string);
|
|
}
|
|
var len = string.length;
|
|
var mustMatch = arguments.length > 2 && arguments[2] === true;
|
|
if (!mustMatch && len === 0) return 0;
|
|
var loweredCase = false;
|
|
for (;;) {
|
|
switch (encoding) {
|
|
case 'ascii':
|
|
case 'latin1':
|
|
case 'binary':
|
|
return len;
|
|
case 'utf8':
|
|
case 'utf-8':
|
|
return utf8ToBytes(string).length;
|
|
case 'ucs2':
|
|
case 'ucs-2':
|
|
case 'utf16le':
|
|
case 'utf-16le':
|
|
return len * 2;
|
|
case 'hex':
|
|
return len >>> 1;
|
|
case 'base64':
|
|
return base64ToBytes(string).length;
|
|
default:
|
|
if (loweredCase) {
|
|
return mustMatch ? -1 : utf8ToBytes(string).length;
|
|
}
|
|
encoding = ('' + encoding).toLowerCase();
|
|
loweredCase = true;
|
|
}
|
|
}
|
|
}
|
|
Buffer.byteLength = byteLength;
|
|
function slowToString(encoding, start, end) {
|
|
var loweredCase = false;
|
|
if (start === undefined || start < 0) {
|
|
start = 0;
|
|
}
|
|
if (start > this.length) {
|
|
return '';
|
|
}
|
|
if (end === undefined || end > this.length) {
|
|
end = this.length;
|
|
}
|
|
if (end <= 0) {
|
|
return '';
|
|
}
|
|
end >>>= 0;
|
|
start >>>= 0;
|
|
if (end <= start) {
|
|
return '';
|
|
}
|
|
if (!encoding) encoding = 'utf8';
|
|
while (true) {
|
|
switch (encoding) {
|
|
case 'hex':
|
|
return hexSlice(this, start, end);
|
|
case 'utf8':
|
|
case 'utf-8':
|
|
return utf8Slice(this, start, end);
|
|
case 'ascii':
|
|
return asciiSlice(this, start, end);
|
|
case 'latin1':
|
|
case 'binary':
|
|
return latin1Slice(this, start, end);
|
|
case 'base64':
|
|
return base64Slice(this, start, end);
|
|
case 'ucs2':
|
|
case 'ucs-2':
|
|
case 'utf16le':
|
|
case 'utf-16le':
|
|
return utf16leSlice(this, start, end);
|
|
default:
|
|
if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);
|
|
encoding = (encoding + '').toLowerCase();
|
|
loweredCase = true;
|
|
}
|
|
}
|
|
}
|
|
Buffer.prototype._isBuffer = true;
|
|
function swap(b, n, m) {
|
|
var i = b[n];
|
|
b[n] = b[m];
|
|
b[m] = i;
|
|
}
|
|
Buffer.prototype.swap16 = function swap16() {
|
|
var len = this.length;
|
|
if (len % 2 !== 0) {
|
|
throw new RangeError('Buffer size must be a multiple of 16-bits');
|
|
}
|
|
for (var i = 0; i < len; i += 2) {
|
|
swap(this, i, i + 1);
|
|
}
|
|
return this;
|
|
};
|
|
Buffer.prototype.swap32 = function swap32() {
|
|
var len = this.length;
|
|
if (len % 4 !== 0) {
|
|
throw new RangeError('Buffer size must be a multiple of 32-bits');
|
|
}
|
|
for (var i = 0; i < len; i += 4) {
|
|
swap(this, i, i + 3);
|
|
swap(this, i + 1, i + 2);
|
|
}
|
|
return this;
|
|
};
|
|
Buffer.prototype.swap64 = function swap64() {
|
|
var len = this.length;
|
|
if (len % 8 !== 0) {
|
|
throw new RangeError('Buffer size must be a multiple of 64-bits');
|
|
}
|
|
for (var i = 0; i < len; i += 8) {
|
|
swap(this, i, i + 7);
|
|
swap(this, i + 1, i + 6);
|
|
swap(this, i + 2, i + 5);
|
|
swap(this, i + 3, i + 4);
|
|
}
|
|
return this;
|
|
};
|
|
Buffer.prototype.toString = function toString() {
|
|
var length = this.length;
|
|
if (length === 0) return '';
|
|
if (arguments.length === 0) return utf8Slice(this, 0, length);
|
|
return slowToString.apply(this, arguments);
|
|
};
|
|
Buffer.prototype.toLocaleString = Buffer.prototype.toString;
|
|
Buffer.prototype.equals = function equals(b) {
|
|
if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');
|
|
if (this === b) return true;
|
|
return Buffer.compare(this, b) === 0;
|
|
};
|
|
Buffer.prototype.inspect = function inspect() {
|
|
var str = '';
|
|
var max = exports.INSPECT_MAX_BYTES;
|
|
str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();
|
|
if (this.length > max) str += ' ... ';
|
|
return '<Buffer ' + str + '>';
|
|
};
|
|
Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {
|
|
if (isInstance(target, Uint8Array)) {
|
|
target = Buffer.from(target, target.offset, target.byteLength);
|
|
}
|
|
if (!Buffer.isBuffer(target)) {
|
|
throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. ' + 'Received type ' + typeof target);
|
|
}
|
|
if (start === undefined) {
|
|
start = 0;
|
|
}
|
|
if (end === undefined) {
|
|
end = target ? target.length : 0;
|
|
}
|
|
if (thisStart === undefined) {
|
|
thisStart = 0;
|
|
}
|
|
if (thisEnd === undefined) {
|
|
thisEnd = this.length;
|
|
}
|
|
if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
|
|
throw new RangeError('out of range index');
|
|
}
|
|
if (thisStart >= thisEnd && start >= end) {
|
|
return 0;
|
|
}
|
|
if (thisStart >= thisEnd) {
|
|
return -1;
|
|
}
|
|
if (start >= end) {
|
|
return 1;
|
|
}
|
|
start >>>= 0;
|
|
end >>>= 0;
|
|
thisStart >>>= 0;
|
|
thisEnd >>>= 0;
|
|
if (this === target) return 0;
|
|
var x = thisEnd - thisStart;
|
|
var y = end - start;
|
|
var len = Math.min(x, y);
|
|
var thisCopy = this.slice(thisStart, thisEnd);
|
|
var targetCopy = target.slice(start, end);
|
|
for (var i = 0; i < len; ++i) {
|
|
if (thisCopy[i] !== targetCopy[i]) {
|
|
x = thisCopy[i];
|
|
y = targetCopy[i];
|
|
break;
|
|
}
|
|
}
|
|
if (x < y) return -1;
|
|
if (y < x) return 1;
|
|
return 0;
|
|
};
|
|
function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {
|
|
if (buffer.length === 0) return -1;
|
|
if (typeof byteOffset === 'string') {
|
|
encoding = byteOffset;
|
|
byteOffset = 0;
|
|
} else if (byteOffset > 0x7fffffff) {
|
|
byteOffset = 0x7fffffff;
|
|
} else if (byteOffset < -0x80000000) {
|
|
byteOffset = -0x80000000;
|
|
}
|
|
byteOffset = +byteOffset;
|
|
if (numberIsNaN(byteOffset)) {
|
|
byteOffset = dir ? 0 : buffer.length - 1;
|
|
}
|
|
if (byteOffset < 0) byteOffset = buffer.length + byteOffset;
|
|
if (byteOffset >= buffer.length) {
|
|
if (dir) return -1;else byteOffset = buffer.length - 1;
|
|
} else if (byteOffset < 0) {
|
|
if (dir) byteOffset = 0;else return -1;
|
|
}
|
|
if (typeof val === 'string') {
|
|
val = Buffer.from(val, encoding);
|
|
}
|
|
if (Buffer.isBuffer(val)) {
|
|
if (val.length === 0) {
|
|
return -1;
|
|
}
|
|
return arrayIndexOf(buffer, val, byteOffset, encoding, dir);
|
|
} else if (typeof val === 'number') {
|
|
val = val & 0xFF;
|
|
if (typeof Uint8Array.prototype.indexOf === 'function') {
|
|
if (dir) {
|
|
return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);
|
|
} else {
|
|
return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);
|
|
}
|
|
}
|
|
return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);
|
|
}
|
|
throw new TypeError('val must be string, number or Buffer');
|
|
}
|
|
function arrayIndexOf(arr, val, byteOffset, encoding, dir) {
|
|
var indexSize = 1;
|
|
var arrLength = arr.length;
|
|
var valLength = val.length;
|
|
if (encoding !== undefined) {
|
|
encoding = String(encoding).toLowerCase();
|
|
if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {
|
|
if (arr.length < 2 || val.length < 2) {
|
|
return -1;
|
|
}
|
|
indexSize = 2;
|
|
arrLength /= 2;
|
|
valLength /= 2;
|
|
byteOffset /= 2;
|
|
}
|
|
}
|
|
function read(buf, i) {
|
|
if (indexSize === 1) {
|
|
return buf[i];
|
|
} else {
|
|
return buf.readUInt16BE(i * indexSize);
|
|
}
|
|
}
|
|
var i;
|
|
if (dir) {
|
|
var foundIndex = -1;
|
|
for (i = byteOffset; i < arrLength; i++) {
|
|
if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
|
|
if (foundIndex === -1) foundIndex = i;
|
|
if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;
|
|
} else {
|
|
if (foundIndex !== -1) i -= i - foundIndex;
|
|
foundIndex = -1;
|
|
}
|
|
}
|
|
} else {
|
|
if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;
|
|
for (i = byteOffset; i >= 0; i--) {
|
|
var found = true;
|
|
for (var j = 0; j < valLength; j++) {
|
|
if (read(arr, i + j) !== read(val, j)) {
|
|
found = false;
|
|
break;
|
|
}
|
|
}
|
|
if (found) return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
Buffer.prototype.includes = function includes(val, byteOffset, encoding) {
|
|
return this.indexOf(val, byteOffset, encoding) !== -1;
|
|
};
|
|
Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {
|
|
return bidirectionalIndexOf(this, val, byteOffset, encoding, true);
|
|
};
|
|
Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {
|
|
return bidirectionalIndexOf(this, val, byteOffset, encoding, false);
|
|
};
|
|
function hexWrite(buf, string, offset, length) {
|
|
offset = Number(offset) || 0;
|
|
var remaining = buf.length - offset;
|
|
if (!length) {
|
|
length = remaining;
|
|
} else {
|
|
length = Number(length);
|
|
if (length > remaining) {
|
|
length = remaining;
|
|
}
|
|
}
|
|
var strLen = string.length;
|
|
if (length > strLen / 2) {
|
|
length = strLen / 2;
|
|
}
|
|
for (var i = 0; i < length; ++i) {
|
|
var parsed = parseInt(string.substr(i * 2, 2), 16);
|
|
if (numberIsNaN(parsed)) return i;
|
|
buf[offset + i] = parsed;
|
|
}
|
|
return i;
|
|
}
|
|
function utf8Write(buf, string, offset, length) {
|
|
return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);
|
|
}
|
|
function asciiWrite(buf, string, offset, length) {
|
|
return blitBuffer(asciiToBytes(string), buf, offset, length);
|
|
}
|
|
function latin1Write(buf, string, offset, length) {
|
|
return asciiWrite(buf, string, offset, length);
|
|
}
|
|
function base64Write(buf, string, offset, length) {
|
|
return blitBuffer(base64ToBytes(string), buf, offset, length);
|
|
}
|
|
function ucs2Write(buf, string, offset, length) {
|
|
return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);
|
|
}
|
|
Buffer.prototype.write = function write(string, offset, length, encoding) {
|
|
if (offset === undefined) {
|
|
encoding = 'utf8';
|
|
length = this.length;
|
|
offset = 0;
|
|
} else if (length === undefined && typeof offset === 'string') {
|
|
encoding = offset;
|
|
length = this.length;
|
|
offset = 0;
|
|
} else if (isFinite(offset)) {
|
|
offset = offset >>> 0;
|
|
if (isFinite(length)) {
|
|
length = length >>> 0;
|
|
if (encoding === undefined) encoding = 'utf8';
|
|
} else {
|
|
encoding = length;
|
|
length = undefined;
|
|
}
|
|
} else {
|
|
throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');
|
|
}
|
|
var remaining = this.length - offset;
|
|
if (length === undefined || length > remaining) length = remaining;
|
|
if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {
|
|
throw new RangeError('Attempt to write outside buffer bounds');
|
|
}
|
|
if (!encoding) encoding = 'utf8';
|
|
var loweredCase = false;
|
|
for (;;) {
|
|
switch (encoding) {
|
|
case 'hex':
|
|
return hexWrite(this, string, offset, length);
|
|
case 'utf8':
|
|
case 'utf-8':
|
|
return utf8Write(this, string, offset, length);
|
|
case 'ascii':
|
|
return asciiWrite(this, string, offset, length);
|
|
case 'latin1':
|
|
case 'binary':
|
|
return latin1Write(this, string, offset, length);
|
|
case 'base64':
|
|
return base64Write(this, string, offset, length);
|
|
case 'ucs2':
|
|
case 'ucs-2':
|
|
case 'utf16le':
|
|
case 'utf-16le':
|
|
return ucs2Write(this, string, offset, length);
|
|
default:
|
|
if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);
|
|
encoding = ('' + encoding).toLowerCase();
|
|
loweredCase = true;
|
|
}
|
|
}
|
|
};
|
|
Buffer.prototype.toJSON = function toJSON() {
|
|
return {
|
|
type: 'Buffer',
|
|
data: Array.prototype.slice.call(this._arr || this, 0)
|
|
};
|
|
};
|
|
function base64Slice(buf, start, end) {
|
|
if (start === 0 && end === buf.length) {
|
|
return base64.fromByteArray(buf);
|
|
} else {
|
|
return base64.fromByteArray(buf.slice(start, end));
|
|
}
|
|
}
|
|
function utf8Slice(buf, start, end) {
|
|
end = Math.min(buf.length, end);
|
|
var res = [];
|
|
var i = start;
|
|
while (i < end) {
|
|
var firstByte = buf[i];
|
|
var codePoint = null;
|
|
var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;
|
|
if (i + bytesPerSequence <= end) {
|
|
var secondByte, thirdByte, fourthByte, tempCodePoint;
|
|
switch (bytesPerSequence) {
|
|
case 1:
|
|
if (firstByte < 0x80) {
|
|
codePoint = firstByte;
|
|
}
|
|
break;
|
|
case 2:
|
|
secondByte = buf[i + 1];
|
|
if ((secondByte & 0xC0) === 0x80) {
|
|
tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;
|
|
if (tempCodePoint > 0x7F) {
|
|
codePoint = tempCodePoint;
|
|
}
|
|
}
|
|
break;
|
|
case 3:
|
|
secondByte = buf[i + 1];
|
|
thirdByte = buf[i + 2];
|
|
if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
|
|
tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;
|
|
if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
|
|
codePoint = tempCodePoint;
|
|
}
|
|
}
|
|
break;
|
|
case 4:
|
|
secondByte = buf[i + 1];
|
|
thirdByte = buf[i + 2];
|
|
fourthByte = buf[i + 3];
|
|
if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
|
|
tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;
|
|
if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
|
|
codePoint = tempCodePoint;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (codePoint === null) {
|
|
codePoint = 0xFFFD;
|
|
bytesPerSequence = 1;
|
|
} else if (codePoint > 0xFFFF) {
|
|
codePoint -= 0x10000;
|
|
res.push(codePoint >>> 10 & 0x3FF | 0xD800);
|
|
codePoint = 0xDC00 | codePoint & 0x3FF;
|
|
}
|
|
res.push(codePoint);
|
|
i += bytesPerSequence;
|
|
}
|
|
return decodeCodePointsArray(res);
|
|
}
|
|
var MAX_ARGUMENTS_LENGTH = 0x1000;
|
|
function decodeCodePointsArray(codePoints) {
|
|
var len = codePoints.length;
|
|
if (len <= MAX_ARGUMENTS_LENGTH) {
|
|
return String.fromCharCode.apply(String, codePoints);
|
|
}
|
|
var res = '';
|
|
var i = 0;
|
|
while (i < len) {
|
|
res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));
|
|
}
|
|
return res;
|
|
}
|
|
function asciiSlice(buf, start, end) {
|
|
var ret = '';
|
|
end = Math.min(buf.length, end);
|
|
for (var i = start; i < end; ++i) {
|
|
ret += String.fromCharCode(buf[i] & 0x7F);
|
|
}
|
|
return ret;
|
|
}
|
|
function latin1Slice(buf, start, end) {
|
|
var ret = '';
|
|
end = Math.min(buf.length, end);
|
|
for (var i = start; i < end; ++i) {
|
|
ret += String.fromCharCode(buf[i]);
|
|
}
|
|
return ret;
|
|
}
|
|
function hexSlice(buf, start, end) {
|
|
var len = buf.length;
|
|
if (!start || start < 0) start = 0;
|
|
if (!end || end < 0 || end > len) end = len;
|
|
var out = '';
|
|
for (var i = start; i < end; ++i) {
|
|
out += toHex(buf[i]);
|
|
}
|
|
return out;
|
|
}
|
|
function utf16leSlice(buf, start, end) {
|
|
var bytes = buf.slice(start, end);
|
|
var res = '';
|
|
for (var i = 0; i < bytes.length; i += 2) {
|
|
res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);
|
|
}
|
|
return res;
|
|
}
|
|
Buffer.prototype.slice = function slice(start, end) {
|
|
var len = this.length;
|
|
start = ~~start;
|
|
end = end === undefined ? len : ~~end;
|
|
if (start < 0) {
|
|
start += len;
|
|
if (start < 0) start = 0;
|
|
} else if (start > len) {
|
|
start = len;
|
|
}
|
|
if (end < 0) {
|
|
end += len;
|
|
if (end < 0) end = 0;
|
|
} else if (end > len) {
|
|
end = len;
|
|
}
|
|
if (end < start) end = start;
|
|
var newBuf = this.subarray(start, end);
|
|
newBuf.__proto__ = Buffer.prototype;
|
|
return newBuf;
|
|
};
|
|
function checkOffset(offset, ext, length) {
|
|
if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');
|
|
if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');
|
|
}
|
|
Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {
|
|
offset = offset >>> 0;
|
|
byteLength = byteLength >>> 0;
|
|
if (!noAssert) checkOffset(offset, byteLength, this.length);
|
|
var val = this[offset];
|
|
var mul = 1;
|
|
var i = 0;
|
|
while (++i < byteLength && (mul *= 0x100)) {
|
|
val += this[offset + i] * mul;
|
|
}
|
|
return val;
|
|
};
|
|
Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {
|
|
offset = offset >>> 0;
|
|
byteLength = byteLength >>> 0;
|
|
if (!noAssert) {
|
|
checkOffset(offset, byteLength, this.length);
|
|
}
|
|
var val = this[offset + --byteLength];
|
|
var mul = 1;
|
|
while (byteLength > 0 && (mul *= 0x100)) {
|
|
val += this[offset + --byteLength] * mul;
|
|
}
|
|
return val;
|
|
};
|
|
Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 1, this.length);
|
|
return this[offset];
|
|
};
|
|
Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 2, this.length);
|
|
return this[offset] | this[offset + 1] << 8;
|
|
};
|
|
Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 2, this.length);
|
|
return this[offset] << 8 | this[offset + 1];
|
|
};
|
|
Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;
|
|
};
|
|
Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);
|
|
};
|
|
Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {
|
|
offset = offset >>> 0;
|
|
byteLength = byteLength >>> 0;
|
|
if (!noAssert) checkOffset(offset, byteLength, this.length);
|
|
var val = this[offset];
|
|
var mul = 1;
|
|
var i = 0;
|
|
while (++i < byteLength && (mul *= 0x100)) {
|
|
val += this[offset + i] * mul;
|
|
}
|
|
mul *= 0x80;
|
|
if (val >= mul) val -= Math.pow(2, 8 * byteLength);
|
|
return val;
|
|
};
|
|
Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {
|
|
offset = offset >>> 0;
|
|
byteLength = byteLength >>> 0;
|
|
if (!noAssert) checkOffset(offset, byteLength, this.length);
|
|
var i = byteLength;
|
|
var mul = 1;
|
|
var val = this[offset + --i];
|
|
while (i > 0 && (mul *= 0x100)) {
|
|
val += this[offset + --i] * mul;
|
|
}
|
|
mul *= 0x80;
|
|
if (val >= mul) val -= Math.pow(2, 8 * byteLength);
|
|
return val;
|
|
};
|
|
Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 1, this.length);
|
|
if (!(this[offset] & 0x80)) return this[offset];
|
|
return (0xff - this[offset] + 1) * -1;
|
|
};
|
|
Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 2, this.length);
|
|
var val = this[offset] | this[offset + 1] << 8;
|
|
return val & 0x8000 ? val | 0xFFFF0000 : val;
|
|
};
|
|
Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 2, this.length);
|
|
var val = this[offset + 1] | this[offset] << 8;
|
|
return val & 0x8000 ? val | 0xFFFF0000 : val;
|
|
};
|
|
Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;
|
|
};
|
|
Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];
|
|
};
|
|
Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
return ieee754$1.read(this, offset, true, 23, 4);
|
|
};
|
|
Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 4, this.length);
|
|
return ieee754$1.read(this, offset, false, 23, 4);
|
|
};
|
|
Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 8, this.length);
|
|
return ieee754$1.read(this, offset, true, 52, 8);
|
|
};
|
|
Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkOffset(offset, 8, this.length);
|
|
return ieee754$1.read(this, offset, false, 52, 8);
|
|
};
|
|
function checkInt(buf, value, offset, ext, max, min) {
|
|
if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance');
|
|
if (value > max || value < min) throw new RangeError('"value" argument is out of bounds');
|
|
if (offset + ext > buf.length) throw new RangeError('Index out of range');
|
|
}
|
|
Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
byteLength = byteLength >>> 0;
|
|
if (!noAssert) {
|
|
var maxBytes = Math.pow(2, 8 * byteLength) - 1;
|
|
checkInt(this, value, offset, byteLength, maxBytes, 0);
|
|
}
|
|
var mul = 1;
|
|
var i = 0;
|
|
this[offset] = value & 0xFF;
|
|
while (++i < byteLength && (mul *= 0x100)) {
|
|
this[offset + i] = value / mul & 0xFF;
|
|
}
|
|
return offset + byteLength;
|
|
};
|
|
Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
byteLength = byteLength >>> 0;
|
|
if (!noAssert) {
|
|
var maxBytes = Math.pow(2, 8 * byteLength) - 1;
|
|
checkInt(this, value, offset, byteLength, maxBytes, 0);
|
|
}
|
|
var i = byteLength - 1;
|
|
var mul = 1;
|
|
this[offset + i] = value & 0xFF;
|
|
while (--i >= 0 && (mul *= 0x100)) {
|
|
this[offset + i] = value / mul & 0xFF;
|
|
}
|
|
return offset + byteLength;
|
|
};
|
|
Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);
|
|
this[offset] = value & 0xff;
|
|
return offset + 1;
|
|
};
|
|
Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
|
|
this[offset] = value & 0xff;
|
|
this[offset + 1] = value >>> 8;
|
|
return offset + 2;
|
|
};
|
|
Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
|
|
this[offset] = value >>> 8;
|
|
this[offset + 1] = value & 0xff;
|
|
return offset + 2;
|
|
};
|
|
Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
|
|
this[offset + 3] = value >>> 24;
|
|
this[offset + 2] = value >>> 16;
|
|
this[offset + 1] = value >>> 8;
|
|
this[offset] = value & 0xff;
|
|
return offset + 4;
|
|
};
|
|
Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
|
|
this[offset] = value >>> 24;
|
|
this[offset + 1] = value >>> 16;
|
|
this[offset + 2] = value >>> 8;
|
|
this[offset + 3] = value & 0xff;
|
|
return offset + 4;
|
|
};
|
|
Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) {
|
|
var limit = Math.pow(2, 8 * byteLength - 1);
|
|
checkInt(this, value, offset, byteLength, limit - 1, -limit);
|
|
}
|
|
var i = 0;
|
|
var mul = 1;
|
|
var sub = 0;
|
|
this[offset] = value & 0xFF;
|
|
while (++i < byteLength && (mul *= 0x100)) {
|
|
if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
|
|
sub = 1;
|
|
}
|
|
this[offset + i] = (value / mul >> 0) - sub & 0xFF;
|
|
}
|
|
return offset + byteLength;
|
|
};
|
|
Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) {
|
|
var limit = Math.pow(2, 8 * byteLength - 1);
|
|
checkInt(this, value, offset, byteLength, limit - 1, -limit);
|
|
}
|
|
var i = byteLength - 1;
|
|
var mul = 1;
|
|
var sub = 0;
|
|
this[offset + i] = value & 0xFF;
|
|
while (--i >= 0 && (mul *= 0x100)) {
|
|
if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
|
|
sub = 1;
|
|
}
|
|
this[offset + i] = (value / mul >> 0) - sub & 0xFF;
|
|
}
|
|
return offset + byteLength;
|
|
};
|
|
Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);
|
|
if (value < 0) value = 0xff + value + 1;
|
|
this[offset] = value & 0xff;
|
|
return offset + 1;
|
|
};
|
|
Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);
|
|
this[offset] = value & 0xff;
|
|
this[offset + 1] = value >>> 8;
|
|
return offset + 2;
|
|
};
|
|
Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);
|
|
this[offset] = value >>> 8;
|
|
this[offset + 1] = value & 0xff;
|
|
return offset + 2;
|
|
};
|
|
Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);
|
|
this[offset] = value & 0xff;
|
|
this[offset + 1] = value >>> 8;
|
|
this[offset + 2] = value >>> 16;
|
|
this[offset + 3] = value >>> 24;
|
|
return offset + 4;
|
|
};
|
|
Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);
|
|
if (value < 0) value = 0xffffffff + value + 1;
|
|
this[offset] = value >>> 24;
|
|
this[offset + 1] = value >>> 16;
|
|
this[offset + 2] = value >>> 8;
|
|
this[offset + 3] = value & 0xff;
|
|
return offset + 4;
|
|
};
|
|
function checkIEEE754(buf, value, offset, ext, max, min) {
|
|
if (offset + ext > buf.length) throw new RangeError('Index out of range');
|
|
if (offset < 0) throw new RangeError('Index out of range');
|
|
}
|
|
function writeFloat(buf, value, offset, littleEndian, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) {
|
|
checkIEEE754(buf, value, offset, 4);
|
|
}
|
|
ieee754$1.write(buf, value, offset, littleEndian, 23, 4);
|
|
return offset + 4;
|
|
}
|
|
Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {
|
|
return writeFloat(this, value, offset, true, noAssert);
|
|
};
|
|
Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {
|
|
return writeFloat(this, value, offset, false, noAssert);
|
|
};
|
|
function writeDouble(buf, value, offset, littleEndian, noAssert) {
|
|
value = +value;
|
|
offset = offset >>> 0;
|
|
if (!noAssert) {
|
|
checkIEEE754(buf, value, offset, 8);
|
|
}
|
|
ieee754$1.write(buf, value, offset, littleEndian, 52, 8);
|
|
return offset + 8;
|
|
}
|
|
Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {
|
|
return writeDouble(this, value, offset, true, noAssert);
|
|
};
|
|
Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {
|
|
return writeDouble(this, value, offset, false, noAssert);
|
|
};
|
|
Buffer.prototype.copy = function copy(target, targetStart, start, end) {
|
|
if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer');
|
|
if (!start) start = 0;
|
|
if (!end && end !== 0) end = this.length;
|
|
if (targetStart >= target.length) targetStart = target.length;
|
|
if (!targetStart) targetStart = 0;
|
|
if (end > 0 && end < start) end = start;
|
|
if (end === start) return 0;
|
|
if (target.length === 0 || this.length === 0) return 0;
|
|
if (targetStart < 0) {
|
|
throw new RangeError('targetStart out of bounds');
|
|
}
|
|
if (start < 0 || start >= this.length) throw new RangeError('Index out of range');
|
|
if (end < 0) throw new RangeError('sourceEnd out of bounds');
|
|
if (end > this.length) end = this.length;
|
|
if (target.length - targetStart < end - start) {
|
|
end = target.length - targetStart + start;
|
|
}
|
|
var len = end - start;
|
|
if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {
|
|
this.copyWithin(targetStart, start, end);
|
|
} else if (this === target && start < targetStart && targetStart < end) {
|
|
for (var i = len - 1; i >= 0; --i) {
|
|
target[i + targetStart] = this[i + start];
|
|
}
|
|
} else {
|
|
Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);
|
|
}
|
|
return len;
|
|
};
|
|
Buffer.prototype.fill = function fill(val, start, end, encoding) {
|
|
if (typeof val === 'string') {
|
|
if (typeof start === 'string') {
|
|
encoding = start;
|
|
start = 0;
|
|
end = this.length;
|
|
} else if (typeof end === 'string') {
|
|
encoding = end;
|
|
end = this.length;
|
|
}
|
|
if (encoding !== undefined && typeof encoding !== 'string') {
|
|
throw new TypeError('encoding must be a string');
|
|
}
|
|
if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
|
|
throw new TypeError('Unknown encoding: ' + encoding);
|
|
}
|
|
if (val.length === 1) {
|
|
var code = val.charCodeAt(0);
|
|
if (encoding === 'utf8' && code < 128 || encoding === 'latin1') {
|
|
val = code;
|
|
}
|
|
}
|
|
} else if (typeof val === 'number') {
|
|
val = val & 255;
|
|
}
|
|
if (start < 0 || this.length < start || this.length < end) {
|
|
throw new RangeError('Out of range index');
|
|
}
|
|
if (end <= start) {
|
|
return this;
|
|
}
|
|
start = start >>> 0;
|
|
end = end === undefined ? this.length : end >>> 0;
|
|
if (!val) val = 0;
|
|
var i;
|
|
if (typeof val === 'number') {
|
|
for (i = start; i < end; ++i) {
|
|
this[i] = val;
|
|
}
|
|
} else {
|
|
var bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);
|
|
var len = bytes.length;
|
|
if (len === 0) {
|
|
throw new TypeError('The value "' + val + '" is invalid for argument "value"');
|
|
}
|
|
for (i = 0; i < end - start; ++i) {
|
|
this[i + start] = bytes[i % len];
|
|
}
|
|
}
|
|
return this;
|
|
};
|
|
var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;
|
|
function base64clean(str) {
|
|
str = str.split('=')[0];
|
|
str = str.trim().replace(INVALID_BASE64_RE, '');
|
|
if (str.length < 2) return '';
|
|
while (str.length % 4 !== 0) {
|
|
str = str + '=';
|
|
}
|
|
return str;
|
|
}
|
|
function toHex(n) {
|
|
if (n < 16) return '0' + n.toString(16);
|
|
return n.toString(16);
|
|
}
|
|
function utf8ToBytes(string, units) {
|
|
units = units || Infinity;
|
|
var codePoint;
|
|
var length = string.length;
|
|
var leadSurrogate = null;
|
|
var bytes = [];
|
|
for (var i = 0; i < length; ++i) {
|
|
codePoint = string.charCodeAt(i);
|
|
if (codePoint > 0xD7FF && codePoint < 0xE000) {
|
|
if (!leadSurrogate) {
|
|
if (codePoint > 0xDBFF) {
|
|
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
|
|
continue;
|
|
} else if (i + 1 === length) {
|
|
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
|
|
continue;
|
|
}
|
|
leadSurrogate = codePoint;
|
|
continue;
|
|
}
|
|
if (codePoint < 0xDC00) {
|
|
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
|
|
leadSurrogate = codePoint;
|
|
continue;
|
|
}
|
|
codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;
|
|
} else if (leadSurrogate) {
|
|
if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
|
|
}
|
|
leadSurrogate = null;
|
|
if (codePoint < 0x80) {
|
|
if ((units -= 1) < 0) break;
|
|
bytes.push(codePoint);
|
|
} else if (codePoint < 0x800) {
|
|
if ((units -= 2) < 0) break;
|
|
bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);
|
|
} else if (codePoint < 0x10000) {
|
|
if ((units -= 3) < 0) break;
|
|
bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);
|
|
} else if (codePoint < 0x110000) {
|
|
if ((units -= 4) < 0) break;
|
|
bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);
|
|
} else {
|
|
throw new Error('Invalid code point');
|
|
}
|
|
}
|
|
return bytes;
|
|
}
|
|
function asciiToBytes(str) {
|
|
var byteArray = [];
|
|
for (var i = 0; i < str.length; ++i) {
|
|
byteArray.push(str.charCodeAt(i) & 0xFF);
|
|
}
|
|
return byteArray;
|
|
}
|
|
function utf16leToBytes(str, units) {
|
|
var c, hi, lo;
|
|
var byteArray = [];
|
|
for (var i = 0; i < str.length; ++i) {
|
|
if ((units -= 2) < 0) break;
|
|
c = str.charCodeAt(i);
|
|
hi = c >> 8;
|
|
lo = c % 256;
|
|
byteArray.push(lo);
|
|
byteArray.push(hi);
|
|
}
|
|
return byteArray;
|
|
}
|
|
function base64ToBytes(str) {
|
|
return base64.toByteArray(base64clean(str));
|
|
}
|
|
function blitBuffer(src, dst, offset, length) {
|
|
for (var i = 0; i < length; ++i) {
|
|
if (i + offset >= dst.length || i >= src.length) break;
|
|
dst[i + offset] = src[i];
|
|
}
|
|
return i;
|
|
}
|
|
function isInstance(obj, type) {
|
|
return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;
|
|
}
|
|
function numberIsNaN(obj) {
|
|
return obj !== obj;
|
|
}
|
|
})(buffer);
|
|
|
|
(function (module, exports) {
|
|
var buffer$1 = buffer;
|
|
var Buffer = buffer$1.Buffer;
|
|
function copyProps(src, dst) {
|
|
for (var key in src) {
|
|
dst[key] = src[key];
|
|
}
|
|
}
|
|
if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
|
|
module.exports = buffer$1;
|
|
} else {
|
|
copyProps(buffer$1, exports);
|
|
exports.Buffer = SafeBuffer;
|
|
}
|
|
function SafeBuffer(arg, encodingOrOffset, length) {
|
|
return Buffer(arg, encodingOrOffset, length);
|
|
}
|
|
copyProps(Buffer, SafeBuffer);
|
|
SafeBuffer.from = function (arg, encodingOrOffset, length) {
|
|
if (typeof arg === 'number') {
|
|
throw new TypeError('Argument must not be a number');
|
|
}
|
|
return Buffer(arg, encodingOrOffset, length);
|
|
};
|
|
SafeBuffer.alloc = function (size, fill, encoding) {
|
|
if (typeof size !== 'number') {
|
|
throw new TypeError('Argument must be a number');
|
|
}
|
|
var buf = Buffer(size);
|
|
if (fill !== undefined) {
|
|
if (typeof encoding === 'string') {
|
|
buf.fill(fill, encoding);
|
|
} else {
|
|
buf.fill(fill);
|
|
}
|
|
} else {
|
|
buf.fill(0);
|
|
}
|
|
return buf;
|
|
};
|
|
SafeBuffer.allocUnsafe = function (size) {
|
|
if (typeof size !== 'number') {
|
|
throw new TypeError('Argument must be a number');
|
|
}
|
|
return Buffer(size);
|
|
};
|
|
SafeBuffer.allocUnsafeSlow = function (size) {
|
|
if (typeof size !== 'number') {
|
|
throw new TypeError('Argument must be a number');
|
|
}
|
|
return buffer$1.SlowBuffer(size);
|
|
};
|
|
})(safeBuffer, safeBuffer.exports);
|
|
|
|
(function (exports) {
|
|
|
|
var fs = require$$0$8;
|
|
var path = require$$1$1;
|
|
var SafeBuffer = safeBuffer.exports;
|
|
Object.defineProperty(exports, 'commentRegex', {
|
|
get: function getCommentRegex() {
|
|
return /^\s*\/(?:\/|\*)[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/mg;
|
|
}
|
|
});
|
|
Object.defineProperty(exports, 'mapFileCommentRegex', {
|
|
get: function getMapFileCommentRegex() {
|
|
return /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"`]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/){1}[ \t]*$)/mg;
|
|
}
|
|
});
|
|
function decodeBase64(base64) {
|
|
return SafeBuffer.Buffer.from(base64, 'base64').toString();
|
|
}
|
|
function stripComment(sm) {
|
|
return sm.split(',').pop();
|
|
}
|
|
function readFromFileMap(sm, dir) {
|
|
var r = exports.mapFileCommentRegex.exec(sm);
|
|
var filename = r[1] || r[2];
|
|
var filepath = path.resolve(dir, filename);
|
|
try {
|
|
return fs.readFileSync(filepath, 'utf8');
|
|
} catch (e) {
|
|
throw new Error('An error occurred while trying to read the map file at ' + filepath + '\n' + e);
|
|
}
|
|
}
|
|
function Converter(sm, opts) {
|
|
opts = opts || {};
|
|
if (opts.isFileComment) sm = readFromFileMap(sm, opts.commentFileDir);
|
|
if (opts.hasComment) sm = stripComment(sm);
|
|
if (opts.isEncoded) sm = decodeBase64(sm);
|
|
if (opts.isJSON || opts.isEncoded) sm = JSON.parse(sm);
|
|
this.sourcemap = sm;
|
|
}
|
|
Converter.prototype.toJSON = function (space) {
|
|
return JSON.stringify(this.sourcemap, null, space);
|
|
};
|
|
Converter.prototype.toBase64 = function () {
|
|
var json = this.toJSON();
|
|
return SafeBuffer.Buffer.from(json, 'utf8').toString('base64');
|
|
};
|
|
Converter.prototype.toComment = function (options) {
|
|
var base64 = this.toBase64();
|
|
var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
|
|
return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data;
|
|
};
|
|
Converter.prototype.toObject = function () {
|
|
return JSON.parse(this.toJSON());
|
|
};
|
|
Converter.prototype.addProperty = function (key, value) {
|
|
if (this.sourcemap.hasOwnProperty(key)) throw new Error('property "' + key + '" already exists on the sourcemap, use set property instead');
|
|
return this.setProperty(key, value);
|
|
};
|
|
Converter.prototype.setProperty = function (key, value) {
|
|
this.sourcemap[key] = value;
|
|
return this;
|
|
};
|
|
Converter.prototype.getProperty = function (key) {
|
|
return this.sourcemap[key];
|
|
};
|
|
exports.fromObject = function (obj) {
|
|
return new Converter(obj);
|
|
};
|
|
exports.fromJSON = function (json) {
|
|
return new Converter(json, {
|
|
isJSON: true
|
|
});
|
|
};
|
|
exports.fromBase64 = function (base64) {
|
|
return new Converter(base64, {
|
|
isEncoded: true
|
|
});
|
|
};
|
|
exports.fromComment = function (comment) {
|
|
comment = comment.replace(/^\/\*/g, '//').replace(/\*\/$/g, '');
|
|
return new Converter(comment, {
|
|
isEncoded: true,
|
|
hasComment: true
|
|
});
|
|
};
|
|
exports.fromMapFileComment = function (comment, dir) {
|
|
return new Converter(comment, {
|
|
commentFileDir: dir,
|
|
isFileComment: true,
|
|
isJSON: true
|
|
});
|
|
};
|
|
exports.fromSource = function (content) {
|
|
var m = content.match(exports.commentRegex);
|
|
return m ? exports.fromComment(m.pop()) : null;
|
|
};
|
|
exports.fromMapFileSource = function (content, dir) {
|
|
var m = content.match(exports.mapFileCommentRegex);
|
|
return m ? exports.fromMapFileComment(m.pop(), dir) : null;
|
|
};
|
|
exports.removeComments = function (src) {
|
|
return src.replace(exports.commentRegex, '');
|
|
};
|
|
exports.removeMapFileComments = function (src) {
|
|
return src.replace(exports.mapFileCommentRegex, '');
|
|
};
|
|
exports.generateMapFileComment = function (file, options) {
|
|
var data = 'sourceMappingURL=' + file;
|
|
return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data;
|
|
};
|
|
})(convertSourceMap);
|
|
|
|
var pluginNameMap = {
|
|
asyncDoExpressions: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-async-do-expressions",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-do-expressions"
|
|
}
|
|
},
|
|
decimal: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-decimal",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decimal"
|
|
}
|
|
},
|
|
decorators: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-decorators",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decorators"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-decorators",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-decorators"
|
|
}
|
|
},
|
|
doExpressions: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-do-expressions",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-do-expressions"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-do-expressions",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-do-expressions"
|
|
}
|
|
},
|
|
exportDefaultFrom: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-export-default-from",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-default-from"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-export-default-from",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-default-from"
|
|
}
|
|
},
|
|
flow: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-flow",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-flow"
|
|
},
|
|
transform: {
|
|
name: "@babel/preset-flow",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-preset-flow"
|
|
}
|
|
},
|
|
functionBind: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-function-bind",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-bind"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-function-bind",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-bind"
|
|
}
|
|
},
|
|
functionSent: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-function-sent",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-sent"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-function-sent",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-sent"
|
|
}
|
|
},
|
|
jsx: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-jsx",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx"
|
|
},
|
|
transform: {
|
|
name: "@babel/preset-react",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-preset-react"
|
|
}
|
|
},
|
|
importAssertions: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-import-assertions",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions"
|
|
}
|
|
},
|
|
pipelineOperator: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-pipeline-operator",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-pipeline-operator"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-pipeline-operator",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-pipeline-operator"
|
|
}
|
|
},
|
|
recordAndTuple: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-record-and-tuple",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-record-and-tuple"
|
|
}
|
|
},
|
|
regexpUnicodeSets: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-unicode-sets-regex",
|
|
url: "https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-unicode-sets-regex",
|
|
url: "https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md"
|
|
}
|
|
},
|
|
throwExpressions: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-throw-expressions",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-throw-expressions"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-throw-expressions",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-throw-expressions"
|
|
}
|
|
},
|
|
typescript: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-typescript",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-typescript"
|
|
},
|
|
transform: {
|
|
name: "@babel/preset-typescript",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-preset-typescript"
|
|
}
|
|
}
|
|
};
|
|
{
|
|
Object.assign(pluginNameMap, {
|
|
asyncGenerators: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-async-generators",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-generators"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-async-generator-functions",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-async-generator-functions"
|
|
}
|
|
},
|
|
classProperties: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-class-properties",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-class-properties",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-class-properties"
|
|
}
|
|
},
|
|
classPrivateProperties: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-class-properties",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-class-properties",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-class-properties"
|
|
}
|
|
},
|
|
classPrivateMethods: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-class-properties",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-private-methods",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-private-methods"
|
|
}
|
|
},
|
|
classStaticBlock: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-class-static-block",
|
|
url: "https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-class-static-block"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-class-static-block",
|
|
url: "https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-class-static-block"
|
|
}
|
|
},
|
|
dynamicImport: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-dynamic-import",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-dynamic-import"
|
|
}
|
|
},
|
|
exportNamespaceFrom: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-export-namespace-from",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-namespace-from"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-export-namespace-from",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-namespace-from"
|
|
}
|
|
},
|
|
importMeta: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-import-meta",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-meta"
|
|
}
|
|
},
|
|
logicalAssignment: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-logical-assignment-operators",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-logical-assignment-operators"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-logical-assignment-operators",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-logical-assignment-operators"
|
|
}
|
|
},
|
|
moduleStringNames: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-module-string-names",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-module-string-names"
|
|
}
|
|
},
|
|
numericSeparator: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-numeric-separator",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-numeric-separator"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-numeric-separator",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-numeric-separator"
|
|
}
|
|
},
|
|
nullishCoalescingOperator: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-nullish-coalescing-operator",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-nullish-coalescing-operator"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-nullish-coalescing-operator",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-nullish-coalescing-opearator"
|
|
}
|
|
},
|
|
objectRestSpread: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-object-rest-spread",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-object-rest-spread"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-object-rest-spread",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-object-rest-spread"
|
|
}
|
|
},
|
|
optionalCatchBinding: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-optional-catch-binding",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-catch-binding"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-optional-catch-binding",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-optional-catch-binding"
|
|
}
|
|
},
|
|
optionalChaining: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-optional-chaining",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-chaining"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-optional-chaining",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-optional-chaining"
|
|
}
|
|
},
|
|
privateIn: {
|
|
syntax: {
|
|
name: "@babel/plugin-syntax-private-property-in-object",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-private-property-in-object"
|
|
},
|
|
transform: {
|
|
name: "@babel/plugin-proposal-private-property-in-object",
|
|
url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-private-property-in-object"
|
|
}
|
|
}
|
|
});
|
|
}
|
|
var getNameURLCombination = function getNameURLCombination(_ref) {
|
|
var name = _ref.name,
|
|
url = _ref.url;
|
|
return name + " (" + url + ")";
|
|
};
|
|
function generateMissingPluginMessage(missingPluginName, loc, codeFrame) {
|
|
var helpMessage = "Support for the experimental syntax '" + missingPluginName + "' isn't currently enabled " + ("(" + loc.line + ":" + (loc.column + 1) + "):\n\n") + codeFrame;
|
|
var pluginInfo = pluginNameMap[missingPluginName];
|
|
if (pluginInfo) {
|
|
var syntaxPlugin = pluginInfo.syntax,
|
|
transformPlugin = pluginInfo.transform;
|
|
if (syntaxPlugin) {
|
|
var syntaxPluginInfo = getNameURLCombination(syntaxPlugin);
|
|
if (transformPlugin) {
|
|
var transformPluginInfo = getNameURLCombination(transformPlugin);
|
|
var sectionType = transformPlugin.name.startsWith("@babel/plugin") ? "plugins" : "presets";
|
|
helpMessage += "\n\nAdd " + transformPluginInfo + " to the '" + sectionType + "' section of your Babel config to enable transformation.\nIf you want to leave it as-is, add " + syntaxPluginInfo + " to the 'plugins' section to enable parsing.";
|
|
} else {
|
|
helpMessage += "\n\nAdd " + syntaxPluginInfo + " to the 'plugins' section of your Babel config " + "to enable parsing.";
|
|
}
|
|
}
|
|
}
|
|
return helpMessage;
|
|
}
|
|
|
|
function parser$1(pluginPasses, _ref, code) {
|
|
var parserOpts = _ref.parserOpts,
|
|
_ref$highlightCode = _ref.highlightCode,
|
|
highlightCode = _ref$highlightCode === void 0 ? true : _ref$highlightCode,
|
|
_ref$filename = _ref.filename,
|
|
filename = _ref$filename === void 0 ? "unknown" : _ref$filename;
|
|
return _regeneratorRuntime().mark(function _callee() {
|
|
var results, _iterator, _step, plugins, _iterator2, _step2, plugin, parserOverride, ast, loc, missingPlugin, codeFrame;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.prev = 0;
|
|
results = [];
|
|
for (_iterator = _createForOfIteratorHelperLoose(pluginPasses); !(_step = _iterator()).done;) {
|
|
plugins = _step.value;
|
|
for (_iterator2 = _createForOfIteratorHelperLoose(plugins); !(_step2 = _iterator2()).done;) {
|
|
plugin = _step2.value;
|
|
parserOverride = plugin.parserOverride;
|
|
if (parserOverride) {
|
|
ast = parserOverride(code, parserOpts, parse$4);
|
|
if (ast !== undefined) results.push(ast);
|
|
}
|
|
}
|
|
}
|
|
if (!(results.length === 0)) {
|
|
_context.next = 7;
|
|
break;
|
|
}
|
|
return _context.abrupt("return", parse$4(code, parserOpts));
|
|
case 7:
|
|
if (!(results.length === 1)) {
|
|
_context.next = 12;
|
|
break;
|
|
}
|
|
return _context.delegateYield([], "t0", 9);
|
|
case 9:
|
|
if (!(typeof results[0].then === "function")) {
|
|
_context.next = 11;
|
|
break;
|
|
}
|
|
throw new Error("You appear to be using an async parser plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version.");
|
|
case 11:
|
|
return _context.abrupt("return", results[0]);
|
|
case 12:
|
|
throw new Error("More than one plugin attempted to override parsing.");
|
|
case 15:
|
|
_context.prev = 15;
|
|
_context.t1 = _context["catch"](0);
|
|
if (_context.t1.code === "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED") {
|
|
_context.t1.message += "\nConsider renaming the file to '.mjs', or setting sourceType:module " + "or sourceType:unambiguous in your Babel config for this file.";
|
|
}
|
|
loc = _context.t1.loc, missingPlugin = _context.t1.missingPlugin;
|
|
if (loc) {
|
|
codeFrame = codeFrameColumns(code, {
|
|
start: {
|
|
line: loc.line,
|
|
column: loc.column + 1
|
|
}
|
|
}, {
|
|
highlightCode: highlightCode
|
|
});
|
|
if (missingPlugin) {
|
|
_context.t1.message = filename + ": " + generateMissingPluginMessage(missingPlugin[0], loc, codeFrame);
|
|
} else {
|
|
_context.t1.message = filename + ": " + _context.t1.message + "\n\n" + codeFrame;
|
|
}
|
|
_context.t1.code = "BABEL_PARSE_ERROR";
|
|
}
|
|
throw _context.t1;
|
|
case 21:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee, null, [[0, 15]]);
|
|
})();
|
|
}
|
|
|
|
function deepClone(value, cache) {
|
|
if (value !== null) {
|
|
if (cache.has(value)) return cache.get(value);
|
|
var cloned;
|
|
if (Array.isArray(value)) {
|
|
cloned = new Array(value.length);
|
|
cache.set(value, cloned);
|
|
for (var i = 0; i < value.length; i++) {
|
|
cloned[i] = typeof value[i] !== "object" ? value[i] : deepClone(value[i], cache);
|
|
}
|
|
} else {
|
|
cloned = {};
|
|
cache.set(value, cloned);
|
|
var keys = Object.keys(value);
|
|
for (var _i = 0; _i < keys.length; _i++) {
|
|
var key = keys[_i];
|
|
cloned[key] = typeof value[key] !== "object" ? value[key] : deepClone(value[key], cache);
|
|
}
|
|
}
|
|
return cloned;
|
|
}
|
|
return value;
|
|
}
|
|
function cloneDeep (value) {
|
|
if (typeof value !== "object") return value;
|
|
return deepClone(value, new Map());
|
|
}
|
|
|
|
var _marked$2 = _regeneratorRuntime().mark(normalizeFile);
|
|
var file = file$2,
|
|
traverseFast = traverseFast$2;
|
|
var debug = buildDebug("babel:transform:file");
|
|
var INLINE_SOURCEMAP_REGEX = /^[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/;
|
|
var EXTERNAL_SOURCEMAP_REGEX = /^[@#][ \t]+sourceMappingURL=([^\s'"`]+)[ \t]*$/;
|
|
function normalizeFile(pluginPasses, options, code, ast) {
|
|
var inputMap, lastComment, _lastComment, match, inputMapContent;
|
|
return _regeneratorRuntime().wrap(function normalizeFile$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
code = "" + (code || "");
|
|
if (!ast) {
|
|
_context.next = 11;
|
|
break;
|
|
}
|
|
if (!(ast.type === "Program")) {
|
|
_context.next = 6;
|
|
break;
|
|
}
|
|
ast = file(ast, [], []);
|
|
_context.next = 8;
|
|
break;
|
|
case 6:
|
|
if (!(ast.type !== "File")) {
|
|
_context.next = 8;
|
|
break;
|
|
}
|
|
throw new Error("AST root must be a Program or File node");
|
|
case 8:
|
|
if (options.cloneInputAst) {
|
|
ast = cloneDeep(ast);
|
|
}
|
|
_context.next = 13;
|
|
break;
|
|
case 11:
|
|
return _context.delegateYield(parser$1(pluginPasses, options, code), "t0", 12);
|
|
case 12:
|
|
ast = _context.t0;
|
|
case 13:
|
|
inputMap = null;
|
|
if (options.inputSourceMap !== false) {
|
|
if (typeof options.inputSourceMap === "object") {
|
|
inputMap = convertSourceMap.fromObject(options.inputSourceMap);
|
|
}
|
|
if (!inputMap) {
|
|
lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast);
|
|
if (lastComment) {
|
|
try {
|
|
inputMap = convertSourceMap.fromComment(lastComment);
|
|
} catch (err) {
|
|
debug("discarding unknown inline input sourcemap", err);
|
|
}
|
|
}
|
|
}
|
|
if (!inputMap) {
|
|
_lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast);
|
|
if (typeof options.filename === "string" && _lastComment) {
|
|
try {
|
|
match = EXTERNAL_SOURCEMAP_REGEX.exec(_lastComment);
|
|
inputMapContent = fs.readFileSync(path$1.resolve(path$1.dirname(options.filename), match[1]), "utf8");
|
|
inputMap = convertSourceMap.fromJSON(inputMapContent);
|
|
} catch (err) {
|
|
debug("discarding unknown file input sourcemap", err);
|
|
}
|
|
} else if (_lastComment) {
|
|
debug("discarding un-loadable file input sourcemap");
|
|
}
|
|
}
|
|
}
|
|
return _context.abrupt("return", new File(options, {
|
|
code: code,
|
|
ast: ast,
|
|
inputMap: inputMap
|
|
}));
|
|
case 16:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _marked$2);
|
|
}
|
|
function extractCommentsFromList(regex, comments, lastComment) {
|
|
if (comments) {
|
|
comments = comments.filter(function (_ref) {
|
|
var value = _ref.value;
|
|
if (regex.test(value)) {
|
|
lastComment = value;
|
|
return false;
|
|
}
|
|
return true;
|
|
});
|
|
}
|
|
return [comments, lastComment];
|
|
}
|
|
function extractComments(regex, ast) {
|
|
var lastComment = null;
|
|
traverseFast(ast, function (node) {
|
|
var _extractCommentsFromL = extractCommentsFromList(regex, node.leadingComments, lastComment);
|
|
var _extractCommentsFromL2 = _slicedToArray(_extractCommentsFromL, 2);
|
|
node.leadingComments = _extractCommentsFromL2[0];
|
|
lastComment = _extractCommentsFromL2[1];
|
|
var _extractCommentsFromL3 = extractCommentsFromList(regex, node.innerComments, lastComment);
|
|
var _extractCommentsFromL4 = _slicedToArray(_extractCommentsFromL3, 2);
|
|
node.innerComments = _extractCommentsFromL4[0];
|
|
lastComment = _extractCommentsFromL4[1];
|
|
var _extractCommentsFromL5 = extractCommentsFromList(regex, node.trailingComments, lastComment);
|
|
var _extractCommentsFromL6 = _slicedToArray(_extractCommentsFromL5, 2);
|
|
node.trailingComments = _extractCommentsFromL6[0];
|
|
lastComment = _extractCommentsFromL6[1];
|
|
});
|
|
return lastComment;
|
|
}
|
|
|
|
var genMapping_umd = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
(function (global, factory) {
|
|
factory(exports, requireSetArray_umd(), requireSourcemapCodec_umd()) ;
|
|
})(commonjsGlobal, function (exports, setArray, sourcemapCodec) {
|
|
exports.addSegment = void 0;
|
|
exports.addMapping = void 0;
|
|
exports.setSourceContent = void 0;
|
|
exports.decodedMap = void 0;
|
|
exports.encodedMap = void 0;
|
|
exports.allMappings = void 0;
|
|
var GenMapping = _createClass(function GenMapping(_temp) {
|
|
var _ref = _temp === void 0 ? {} : _temp,
|
|
file = _ref.file,
|
|
sourceRoot = _ref.sourceRoot;
|
|
this._names = new setArray.SetArray();
|
|
this._sources = new setArray.SetArray();
|
|
this._sourcesContent = [];
|
|
this._mappings = [];
|
|
this.file = file;
|
|
this.sourceRoot = sourceRoot;
|
|
});
|
|
(function () {
|
|
exports.addSegment = function (map, genLine, genColumn, source, sourceLine, sourceColumn, name) {
|
|
var mappings = map._mappings,
|
|
sources = map._sources,
|
|
sourcesContent = map._sourcesContent,
|
|
names = map._names;
|
|
var line = getLine(mappings, genLine);
|
|
if (source == null) {
|
|
var _seg = [genColumn];
|
|
var _index = getColumnIndex(line, genColumn, _seg);
|
|
return insert(line, _index, _seg);
|
|
}
|
|
var sourcesIndex = setArray.put(sources, source);
|
|
var seg = name ? [genColumn, sourcesIndex, sourceLine, sourceColumn, setArray.put(names, name)] : [genColumn, sourcesIndex, sourceLine, sourceColumn];
|
|
var index = getColumnIndex(line, genColumn, seg);
|
|
if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = null;
|
|
insert(line, index, seg);
|
|
};
|
|
exports.addMapping = function (map, mapping) {
|
|
var generated = mapping.generated,
|
|
source = mapping.source,
|
|
original = mapping.original,
|
|
name = mapping.name;
|
|
return exports.addSegment(map, generated.line - 1, generated.column, source, original == null ? undefined : original.line - 1, original === null || original === void 0 ? void 0 : original.column, name);
|
|
};
|
|
exports.setSourceContent = function (map, source, content) {
|
|
var sources = map._sources,
|
|
sourcesContent = map._sourcesContent;
|
|
sourcesContent[setArray.put(sources, source)] = content;
|
|
};
|
|
exports.decodedMap = function (map) {
|
|
var file = map.file,
|
|
sourceRoot = map.sourceRoot,
|
|
mappings = map._mappings,
|
|
sources = map._sources,
|
|
sourcesContent = map._sourcesContent,
|
|
names = map._names;
|
|
return {
|
|
version: 3,
|
|
file: file,
|
|
names: names.array,
|
|
sourceRoot: sourceRoot || undefined,
|
|
sources: sources.array,
|
|
sourcesContent: sourcesContent,
|
|
mappings: mappings
|
|
};
|
|
};
|
|
exports.encodedMap = function (map) {
|
|
var decoded = exports.decodedMap(map);
|
|
return Object.assign(Object.assign({}, decoded), {
|
|
mappings: sourcemapCodec.encode(decoded.mappings)
|
|
});
|
|
};
|
|
exports.allMappings = function (map) {
|
|
var out = [];
|
|
var mappings = map._mappings,
|
|
sources = map._sources,
|
|
names = map._names;
|
|
for (var i = 0; i < mappings.length; i++) {
|
|
var line = mappings[i];
|
|
for (var j = 0; j < line.length; j++) {
|
|
var seg = line[j];
|
|
var generated = {
|
|
line: i + 1,
|
|
column: seg[0]
|
|
};
|
|
var source = undefined;
|
|
var original = undefined;
|
|
var name = undefined;
|
|
if (seg.length !== 1) {
|
|
source = sources.array[seg[1]];
|
|
original = {
|
|
line: seg[2] + 1,
|
|
column: seg[3]
|
|
};
|
|
if (seg.length === 5) name = names.array[seg[4]];
|
|
}
|
|
out.push({
|
|
generated: generated,
|
|
source: source,
|
|
original: original,
|
|
name: name
|
|
});
|
|
}
|
|
}
|
|
return out;
|
|
};
|
|
})();
|
|
function getLine(mappings, index) {
|
|
for (var i = mappings.length; i <= index; i++) {
|
|
mappings[i] = [];
|
|
}
|
|
return mappings[index];
|
|
}
|
|
function getColumnIndex(line, column, seg) {
|
|
var index = line.length;
|
|
for (var i = index - 1; i >= 0; i--, index--) {
|
|
var current = line[i];
|
|
var col = current[0];
|
|
if (col > column) continue;
|
|
if (col < column) break;
|
|
var cmp = compare(current, seg);
|
|
if (cmp === 0) return index;
|
|
if (cmp < 0) break;
|
|
}
|
|
return index;
|
|
}
|
|
function compare(a, b) {
|
|
var cmp = compareNum(a.length, b.length);
|
|
if (cmp !== 0) return cmp;
|
|
if (a.length === 1) return 0;
|
|
cmp = compareNum(a[1], b[1]);
|
|
if (cmp !== 0) return cmp;
|
|
cmp = compareNum(a[2], b[2]);
|
|
if (cmp !== 0) return cmp;
|
|
cmp = compareNum(a[3], b[3]);
|
|
if (cmp !== 0) return cmp;
|
|
if (a.length === 4) return 0;
|
|
return compareNum(a[4], b[4]);
|
|
}
|
|
function compareNum(a, b) {
|
|
return a - b;
|
|
}
|
|
function insert(array, index, value) {
|
|
if (index === -1) return;
|
|
for (var i = array.length; i > index; i--) {
|
|
array[i] = array[i - 1];
|
|
}
|
|
array[index] = value;
|
|
}
|
|
exports.GenMapping = GenMapping;
|
|
Object.defineProperty(exports, '__esModule', {
|
|
value: true
|
|
});
|
|
});
|
|
})(genMapping_umd, genMapping_umd.exports);
|
|
|
|
var SOURCELESS_MAPPING = {
|
|
source: null,
|
|
column: null,
|
|
line: null,
|
|
name: null,
|
|
content: null
|
|
};
|
|
var EMPTY_SOURCES = [];
|
|
function Source(map, sources, source, content) {
|
|
return {
|
|
map: map,
|
|
sources: sources,
|
|
source: source,
|
|
content: content
|
|
};
|
|
}
|
|
function MapSource(map, sources) {
|
|
return Source(map, sources, '', null);
|
|
}
|
|
function OriginalSource(source, content) {
|
|
return Source(null, EMPTY_SOURCES, source, content);
|
|
}
|
|
function traceMappings(tree) {
|
|
var gen = new genMapping_umd.exports.GenMapping({
|
|
file: tree.map.file
|
|
});
|
|
var rootSources = tree.sources,
|
|
map = tree.map;
|
|
var rootNames = map.names;
|
|
var rootMappings = traceMapping_umd.exports.decodedMappings(map);
|
|
for (var i = 0; i < rootMappings.length; i++) {
|
|
var segments = rootMappings[i];
|
|
var lastSource = null;
|
|
var lastSourceLine = null;
|
|
var lastSourceColumn = null;
|
|
for (var j = 0; j < segments.length; j++) {
|
|
var segment = segments[j];
|
|
var genCol = segment[0];
|
|
var traced = SOURCELESS_MAPPING;
|
|
if (segment.length !== 1) {
|
|
var _source = rootSources[segment[1]];
|
|
traced = originalPositionFor(_source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');
|
|
if (traced == null) continue;
|
|
}
|
|
var _traced = traced,
|
|
column = _traced.column,
|
|
line = _traced.line,
|
|
name = _traced.name,
|
|
content = _traced.content,
|
|
source = _traced.source;
|
|
if (line === lastSourceLine && column === lastSourceColumn && source === lastSource) {
|
|
continue;
|
|
}
|
|
lastSourceLine = line;
|
|
lastSourceColumn = column;
|
|
lastSource = source;
|
|
genMapping_umd.exports.addSegment(gen, i, genCol, source, line, column, name);
|
|
if (content != null) genMapping_umd.exports.setSourceContent(gen, source, content);
|
|
}
|
|
}
|
|
return gen;
|
|
}
|
|
function originalPositionFor(source, line, column, name) {
|
|
if (!source.map) {
|
|
return {
|
|
column: column,
|
|
line: line,
|
|
name: name,
|
|
source: source.source,
|
|
content: source.content
|
|
};
|
|
}
|
|
var segment = traceMapping_umd.exports.traceSegment(source.map, line, column);
|
|
if (segment == null) return null;
|
|
if (segment.length === 1) return SOURCELESS_MAPPING;
|
|
return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
|
|
}
|
|
function asArray(value) {
|
|
if (Array.isArray(value)) return value;
|
|
return [value];
|
|
}
|
|
function buildSourceMapTree(input, loader) {
|
|
var maps = asArray(input).map(function (m) {
|
|
return new traceMapping_umd.exports.TraceMap(m, '');
|
|
});
|
|
var map = maps.pop();
|
|
for (var i = 0; i < maps.length; i++) {
|
|
if (maps[i].sources.length > 1) {
|
|
throw new Error("Transformation map " + i + " must have exactly one source file.\n" + 'Did you specify these with the most recent transformation maps first?');
|
|
}
|
|
}
|
|
var tree = build$1(map, loader, '', 0);
|
|
for (var _i = maps.length - 1; _i >= 0; _i--) {
|
|
tree = MapSource(maps[_i], [tree]);
|
|
}
|
|
return tree;
|
|
}
|
|
function build$1(map, loader, importer, importerDepth) {
|
|
var resolvedSources = map.resolvedSources,
|
|
sourcesContent = map.sourcesContent;
|
|
var depth = importerDepth + 1;
|
|
var children = resolvedSources.map(function (sourceFile, i) {
|
|
var ctx = {
|
|
importer: importer,
|
|
depth: depth,
|
|
source: sourceFile || '',
|
|
content: undefined
|
|
};
|
|
var sourceMap = loader(ctx.source, ctx);
|
|
var source = ctx.source,
|
|
content = ctx.content;
|
|
if (sourceMap) return build$1(new traceMapping_umd.exports.TraceMap(sourceMap, source), loader, source, depth);
|
|
var sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;
|
|
return OriginalSource(source, sourceContent);
|
|
});
|
|
return MapSource(map, children);
|
|
}
|
|
var SourceMap = function () {
|
|
function SourceMap(map, options) {
|
|
var out = options.decodedMappings ? genMapping_umd.exports.decodedMap(map) : genMapping_umd.exports.encodedMap(map);
|
|
this.version = out.version;
|
|
this.file = out.file;
|
|
this.mappings = out.mappings;
|
|
this.names = out.names;
|
|
this.sourceRoot = out.sourceRoot;
|
|
this.sources = out.sources;
|
|
if (!options.excludeContent) {
|
|
this.sourcesContent = out.sourcesContent;
|
|
}
|
|
}
|
|
var _proto = SourceMap.prototype;
|
|
_proto.toString = function toString() {
|
|
return JSON.stringify(this);
|
|
};
|
|
return _createClass(SourceMap);
|
|
}();
|
|
function remapping(input, loader, options) {
|
|
var opts = typeof options === 'object' ? options : {
|
|
excludeContent: !!options,
|
|
decodedMappings: false
|
|
};
|
|
var tree = buildSourceMapTree(input, loader);
|
|
return new SourceMap(traceMappings(tree), opts);
|
|
}
|
|
|
|
function mergeSourceMap(inputMap, map, sourceFileName) {
|
|
var source = sourceFileName.replace(/\\/g, "/");
|
|
var found = false;
|
|
var result = remapping(rootless(map), function (s, ctx) {
|
|
if (s === source && !found) {
|
|
found = true;
|
|
ctx.source = "";
|
|
return rootless(inputMap);
|
|
}
|
|
return null;
|
|
});
|
|
if (typeof inputMap.sourceRoot === "string") {
|
|
result.sourceRoot = inputMap.sourceRoot;
|
|
}
|
|
return Object.assign({}, result);
|
|
}
|
|
function rootless(map) {
|
|
return Object.assign({}, map, {
|
|
sourceRoot: null
|
|
});
|
|
}
|
|
|
|
function generateCode(pluginPasses, file) {
|
|
var opts = file.opts,
|
|
ast = file.ast,
|
|
code = file.code,
|
|
inputMap = file.inputMap;
|
|
var generatorOpts = opts.generatorOpts;
|
|
generatorOpts.inputSourceMap = inputMap == null ? void 0 : inputMap.toObject();
|
|
var results = [];
|
|
for (var _iterator = _createForOfIteratorHelperLoose(pluginPasses), _step; !(_step = _iterator()).done;) {
|
|
var plugins = _step.value;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(plugins), _step2; !(_step2 = _iterator2()).done;) {
|
|
var plugin = _step2.value;
|
|
var generatorOverride = plugin.generatorOverride;
|
|
if (generatorOverride) {
|
|
var _result2 = generatorOverride(ast, generatorOpts, code, generate$1);
|
|
if (_result2 !== undefined) results.push(_result2);
|
|
}
|
|
}
|
|
}
|
|
var result;
|
|
if (results.length === 0) {
|
|
result = generate$1(ast, generatorOpts, code);
|
|
} else if (results.length === 1) {
|
|
result = results[0];
|
|
if (typeof result.then === "function") {
|
|
throw new Error("You appear to be using an async codegen plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, " + "you may need to upgrade your @babel/core version.");
|
|
}
|
|
} else {
|
|
throw new Error("More than one plugin attempted to override codegen.");
|
|
}
|
|
var _result = result,
|
|
outputCode = _result.code,
|
|
_result$decodedMap = _result.decodedMap,
|
|
outputMap = _result$decodedMap === void 0 ? result.map : _result$decodedMap;
|
|
if (result.__mergedMap) {
|
|
outputMap = Object.assign({}, result.map);
|
|
} else {
|
|
if (outputMap) {
|
|
if (inputMap) {
|
|
outputMap = mergeSourceMap(inputMap.toObject(), outputMap, generatorOpts.sourceFileName);
|
|
} else {
|
|
outputMap = result.map;
|
|
}
|
|
}
|
|
}
|
|
if (opts.sourceMaps === "inline" || opts.sourceMaps === "both") {
|
|
outputCode += "\n" + convertSourceMap.fromObject(outputMap).toComment();
|
|
}
|
|
if (opts.sourceMaps === "inline") {
|
|
outputMap = null;
|
|
}
|
|
return {
|
|
outputCode: outputCode,
|
|
outputMap: outputMap
|
|
};
|
|
}
|
|
|
|
var _marked$1 = _regeneratorRuntime().mark(run$1),
|
|
_marked2$1 = _regeneratorRuntime().mark(transformFile$1);
|
|
function run$1(config, code, ast) {
|
|
var file, opts, _opts$filename, outputCode, outputMap, _generateCode, _opts$filename2;
|
|
return _regeneratorRuntime().wrap(function run$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.delegateYield(normalizeFile(config.passes, normalizeOptions$4(config), code, ast), "t0", 1);
|
|
case 1:
|
|
file = _context.t0;
|
|
opts = file.opts;
|
|
_context.prev = 3;
|
|
return _context.delegateYield(transformFile$1(file, config.passes), "t1", 5);
|
|
case 5:
|
|
_context.next = 12;
|
|
break;
|
|
case 7:
|
|
_context.prev = 7;
|
|
_context.t2 = _context["catch"](3);
|
|
_context.t2.message = ((_opts$filename = opts.filename) != null ? _opts$filename : "unknown file") + ": " + _context.t2.message;
|
|
if (!_context.t2.code) {
|
|
_context.t2.code = "BABEL_TRANSFORM_ERROR";
|
|
}
|
|
throw _context.t2;
|
|
case 12:
|
|
_context.prev = 12;
|
|
if (opts.code !== false) {
|
|
_generateCode = generateCode(config.passes, file);
|
|
outputCode = _generateCode.outputCode;
|
|
outputMap = _generateCode.outputMap;
|
|
}
|
|
_context.next = 21;
|
|
break;
|
|
case 16:
|
|
_context.prev = 16;
|
|
_context.t3 = _context["catch"](12);
|
|
_context.t3.message = ((_opts$filename2 = opts.filename) != null ? _opts$filename2 : "unknown file") + ": " + _context.t3.message;
|
|
if (!_context.t3.code) {
|
|
_context.t3.code = "BABEL_GENERATE_ERROR";
|
|
}
|
|
throw _context.t3;
|
|
case 21:
|
|
return _context.abrupt("return", {
|
|
metadata: file.metadata,
|
|
options: opts,
|
|
ast: opts.ast === true ? file.ast : null,
|
|
code: outputCode === undefined ? null : outputCode,
|
|
map: outputMap === undefined ? null : outputMap,
|
|
sourceType: file.ast.program.sourceType,
|
|
externalDependencies: flattenToSet(config.externalDependencies)
|
|
});
|
|
case 22:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _marked$1, null, [[3, 7], [12, 16]]);
|
|
}
|
|
function transformFile$1(file, pluginPasses) {
|
|
var _iterator, _step, pluginPairs, passPairs, passes, visitors, _iterator2, _step2, _plugin2, _pass2, _i, _passPairs, _passPairs$_i, plugin, pass, fn, result, visitor, _i2, _passPairs2, _passPairs2$_i, _plugin, _pass, _fn, _result;
|
|
return _regeneratorRuntime().wrap(function transformFile$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
_iterator = _createForOfIteratorHelperLoose(pluginPasses);
|
|
case 1:
|
|
if ((_step = _iterator()).done) {
|
|
_context2.next = 35;
|
|
break;
|
|
}
|
|
pluginPairs = _step.value;
|
|
passPairs = [];
|
|
passes = [];
|
|
visitors = [];
|
|
for (_iterator2 = _createForOfIteratorHelperLoose(pluginPairs.concat([loadBlockHoistPlugin()])); !(_step2 = _iterator2()).done;) {
|
|
_plugin2 = _step2.value;
|
|
_pass2 = new PluginPass(file, _plugin2.key, _plugin2.options);
|
|
passPairs.push([_plugin2, _pass2]);
|
|
passes.push(_pass2);
|
|
visitors.push(_plugin2.visitor);
|
|
}
|
|
_i = 0, _passPairs = passPairs;
|
|
case 8:
|
|
if (!(_i < _passPairs.length)) {
|
|
_context2.next = 19;
|
|
break;
|
|
}
|
|
_passPairs$_i = _slicedToArray(_passPairs[_i], 2), plugin = _passPairs$_i[0], pass = _passPairs$_i[1];
|
|
fn = plugin.pre;
|
|
if (!fn) {
|
|
_context2.next = 16;
|
|
break;
|
|
}
|
|
result = fn.call(pass, file);
|
|
return _context2.delegateYield([], "t0", 14);
|
|
case 14:
|
|
if (!isThenable(result)) {
|
|
_context2.next = 16;
|
|
break;
|
|
}
|
|
throw new Error("You appear to be using an plugin with an async .pre, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version.");
|
|
case 16:
|
|
_i++;
|
|
_context2.next = 8;
|
|
break;
|
|
case 19:
|
|
visitor = traverse.visitors.merge(visitors, passes, file.opts.wrapPluginVisitorMethod);
|
|
traverse(file.ast, visitor, file.scope);
|
|
_i2 = 0, _passPairs2 = passPairs;
|
|
case 22:
|
|
if (!(_i2 < _passPairs2.length)) {
|
|
_context2.next = 33;
|
|
break;
|
|
}
|
|
_passPairs2$_i = _slicedToArray(_passPairs2[_i2], 2), _plugin = _passPairs2$_i[0], _pass = _passPairs2$_i[1];
|
|
_fn = _plugin.post;
|
|
if (!_fn) {
|
|
_context2.next = 30;
|
|
break;
|
|
}
|
|
_result = _fn.call(_pass, file);
|
|
return _context2.delegateYield([], "t1", 28);
|
|
case 28:
|
|
if (!isThenable(_result)) {
|
|
_context2.next = 30;
|
|
break;
|
|
}
|
|
throw new Error("You appear to be using an plugin with an async .post, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version.");
|
|
case 30:
|
|
_i2++;
|
|
_context2.next = 22;
|
|
break;
|
|
case 33:
|
|
_context2.next = 1;
|
|
break;
|
|
case 35:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _marked2$1);
|
|
}
|
|
function isThenable(val) {
|
|
return !!val && (typeof val === "object" || typeof val === "function") && !!val.then && typeof val.then === "function";
|
|
}
|
|
|
|
var transformRunner = gensync(_regeneratorRuntime().mark(function transform(code, opts) {
|
|
var config;
|
|
return _regeneratorRuntime().wrap(function transform$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.delegateYield(loadConfig(opts), "t0", 1);
|
|
case 1:
|
|
config = _context.t0;
|
|
if (!(config === null)) {
|
|
_context.next = 4;
|
|
break;
|
|
}
|
|
return _context.abrupt("return", null);
|
|
case 4:
|
|
return _context.delegateYield(run$1(config, code), "t1", 5);
|
|
case 5:
|
|
return _context.abrupt("return", _context.t1);
|
|
case 6:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, transform);
|
|
}));
|
|
var transform$3 = function transform(code, optsOrCallback, maybeCallback) {
|
|
var opts;
|
|
var callback;
|
|
if (typeof optsOrCallback === "function") {
|
|
callback = optsOrCallback;
|
|
opts = undefined;
|
|
} else {
|
|
opts = optsOrCallback;
|
|
callback = maybeCallback;
|
|
}
|
|
if (callback === undefined) {
|
|
{
|
|
return beginHiddenCallStack(transformRunner.sync)(code, opts);
|
|
}
|
|
}
|
|
beginHiddenCallStack(transformRunner.errback)(code, opts, callback);
|
|
};
|
|
function transformSync() {
|
|
return beginHiddenCallStack(transformRunner.sync).apply(void 0, arguments);
|
|
}
|
|
function transformAsync() {
|
|
return beginHiddenCallStack(transformRunner.async).apply(void 0, arguments);
|
|
}
|
|
|
|
var transformFile = function transformFile(filename, opts, callback) {
|
|
if (typeof opts === "function") {
|
|
callback = opts;
|
|
}
|
|
callback(new Error("Transforming files is not supported in browsers"), null);
|
|
};
|
|
function transformFileSync() {
|
|
throw new Error("Transforming files is not supported in browsers");
|
|
}
|
|
function transformFileAsync() {
|
|
return Promise.reject(new Error("Transforming files is not supported in browsers"));
|
|
}
|
|
|
|
var transformFromAstRunner = gensync(_regeneratorRuntime().mark(function _callee(ast, code, opts) {
|
|
var config;
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.delegateYield(loadConfig(opts), "t0", 1);
|
|
case 1:
|
|
config = _context.t0;
|
|
if (!(config === null)) {
|
|
_context.next = 4;
|
|
break;
|
|
}
|
|
return _context.abrupt("return", null);
|
|
case 4:
|
|
if (ast) {
|
|
_context.next = 6;
|
|
break;
|
|
}
|
|
throw new Error("No AST given");
|
|
case 6:
|
|
return _context.delegateYield(run$1(config, code, ast), "t1", 7);
|
|
case 7:
|
|
return _context.abrupt("return", _context.t1);
|
|
case 8:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
}));
|
|
var transformFromAst$1 = function transformFromAst(ast, code, optsOrCallback, maybeCallback) {
|
|
var opts;
|
|
var callback;
|
|
if (typeof optsOrCallback === "function") {
|
|
callback = optsOrCallback;
|
|
opts = undefined;
|
|
} else {
|
|
opts = optsOrCallback;
|
|
callback = maybeCallback;
|
|
}
|
|
if (callback === undefined) {
|
|
{
|
|
return beginHiddenCallStack(transformFromAstRunner.sync)(ast, code, opts);
|
|
}
|
|
}
|
|
beginHiddenCallStack(transformFromAstRunner.errback)(ast, code, opts, callback);
|
|
};
|
|
function transformFromAstSync() {
|
|
return beginHiddenCallStack(transformFromAstRunner.sync).apply(void 0, arguments);
|
|
}
|
|
function transformFromAstAsync() {
|
|
return beginHiddenCallStack(transformFromAstRunner.async).apply(void 0, arguments);
|
|
}
|
|
|
|
var parseRunner = gensync(_regeneratorRuntime().mark(function parse(code, opts) {
|
|
var config;
|
|
return _regeneratorRuntime().wrap(function parse$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
return _context.delegateYield(loadConfig(opts), "t0", 1);
|
|
case 1:
|
|
config = _context.t0;
|
|
if (!(config === null)) {
|
|
_context.next = 4;
|
|
break;
|
|
}
|
|
return _context.abrupt("return", null);
|
|
case 4:
|
|
return _context.delegateYield(parser$1(config.passes, normalizeOptions$4(config), code), "t1", 5);
|
|
case 5:
|
|
return _context.abrupt("return", _context.t1);
|
|
case 6:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, parse);
|
|
}));
|
|
var parse$1 = function parse(code, opts, callback) {
|
|
if (typeof opts === "function") {
|
|
callback = opts;
|
|
opts = undefined;
|
|
}
|
|
if (callback === undefined) {
|
|
{
|
|
return beginHiddenCallStack(parseRunner.sync)(code, opts);
|
|
}
|
|
}
|
|
beginHiddenCallStack(parseRunner.errback)(code, opts, callback);
|
|
};
|
|
function parseSync() {
|
|
return beginHiddenCallStack(parseRunner.sync).apply(void 0, arguments);
|
|
}
|
|
function parseAsync() {
|
|
return beginHiddenCallStack(parseRunner.async).apply(void 0, arguments);
|
|
}
|
|
|
|
var version$1 = "7.21.8";
|
|
var DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]);
|
|
{
|
|
{
|
|
exports.OptionManager = function () {
|
|
function OptionManager() {}
|
|
var _proto = OptionManager.prototype;
|
|
_proto.init = function init(opts) {
|
|
return loadOptionsSync(opts);
|
|
};
|
|
return _createClass(OptionManager);
|
|
}();
|
|
exports.Plugin = function Plugin(alias) {
|
|
throw new Error("The (" + alias + ") Babel 5 plugin is being run with an unsupported Babel version.");
|
|
};
|
|
}
|
|
}
|
|
|
|
function makeNoopPlugin() {
|
|
var p;
|
|
return (p = function p() {
|
|
return {};
|
|
})["default"] = p;
|
|
}
|
|
|
|
function declare(x) {
|
|
return x;
|
|
}
|
|
|
|
var pluginUtilsShim = /*#__PURE__*/Object.freeze({
|
|
__proto__: null,
|
|
declare: declare,
|
|
declarePreset: declare
|
|
});
|
|
|
|
var externalHelpers = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
var _options$helperVersio = options.helperVersion,
|
|
helperVersion = _options$helperVersio === void 0 ? "7.0.0-beta.0" : _options$helperVersio,
|
|
_options$whitelist = options.whitelist,
|
|
whitelist = _options$whitelist === void 0 ? false : _options$whitelist;
|
|
if (whitelist !== false && (!Array.isArray(whitelist) || whitelist.some(function (w) {
|
|
return typeof w !== "string";
|
|
}))) {
|
|
throw new Error(".whitelist must be undefined, false, or an array of strings");
|
|
}
|
|
var helperWhitelist = whitelist ? new Set(whitelist) : null;
|
|
return {
|
|
name: "external-helpers",
|
|
pre: function pre(file) {
|
|
file.set("helperGenerator", function (name) {
|
|
if (file.availableHelper && !file.availableHelper(name, helperVersion)) {
|
|
return;
|
|
}
|
|
if (helperWhitelist && !helperWhitelist.has(name)) return;
|
|
return memberExpression$c(identifier$i("babelHelpers"), identifier$i(name));
|
|
});
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxDecimal = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-decimal",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("decimal");
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxDecorators = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
var version = options.version;
|
|
{
|
|
var legacy = options.legacy;
|
|
if (legacy !== undefined) {
|
|
if (typeof legacy !== "boolean") {
|
|
throw new Error(".legacy must be a boolean.");
|
|
}
|
|
if (version !== undefined) {
|
|
throw new Error("You can either use the .legacy or the .version option, not both.");
|
|
}
|
|
}
|
|
if (version === undefined) {
|
|
version = legacy ? "legacy" : "2018-09";
|
|
} else if (version !== "2023-01" && version !== "2022-03" && version !== "2021-12" && version !== "2018-09" && version !== "legacy") {
|
|
throw new Error("Unsupported decorators version: " + version);
|
|
}
|
|
var decoratorsBeforeExport = options.decoratorsBeforeExport;
|
|
if (decoratorsBeforeExport === undefined) {
|
|
if (version === "2021-12" || version === "2022-03") {
|
|
decoratorsBeforeExport = false;
|
|
} else if (version === "2018-09") {
|
|
throw new Error("The decorators plugin, when .version is '2018-09' or not specified," + " requires a 'decoratorsBeforeExport' option, whose value must be a boolean.");
|
|
}
|
|
} else {
|
|
if (version === "legacy" || version === "2022-03" || version === "2023-01") {
|
|
throw new Error("'decoratorsBeforeExport' can't be used with " + version + " decorators.");
|
|
}
|
|
if (typeof decoratorsBeforeExport !== "boolean") {
|
|
throw new Error("'decoratorsBeforeExport' must be a boolean.");
|
|
}
|
|
}
|
|
}
|
|
return {
|
|
name: "syntax-decorators",
|
|
manipulateOptions: function manipulateOptions(_ref, parserOpts) {
|
|
var generatorOpts = _ref.generatorOpts;
|
|
if (version === "legacy") {
|
|
parserOpts.plugins.push("decorators-legacy");
|
|
} else {
|
|
if (version === "2023-01") {
|
|
parserOpts.plugins.push(["decorators", {
|
|
allowCallParenthesized: false
|
|
}], "decoratorAutoAccessors");
|
|
} else if (version === "2022-03") {
|
|
parserOpts.plugins.push(["decorators", {
|
|
decoratorsBeforeExport: false,
|
|
allowCallParenthesized: false
|
|
}], "decoratorAutoAccessors");
|
|
} else if (version === "2021-12") {
|
|
parserOpts.plugins.push(["decorators", {
|
|
decoratorsBeforeExport: decoratorsBeforeExport
|
|
}], "decoratorAutoAccessors");
|
|
generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;
|
|
} else if (version === "2018-09") {
|
|
parserOpts.plugins.push(["decorators", {
|
|
decoratorsBeforeExport: decoratorsBeforeExport
|
|
}]);
|
|
generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxDestructuringPrivate = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-destructuring-private",
|
|
manipulateOptions: function manipulateOptions(_, parserOpts) {
|
|
parserOpts.plugins.push("destructuringPrivate");
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxDoExpressions = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-do-expressions",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("doExpressions");
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxExplicitResourceManagement = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-explicit-resource-management",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("explicitResourceManagement");
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxExportDefaultFrom = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-export-default-from",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("exportDefaultFrom");
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxFlow = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
var all = options.all,
|
|
enums = options.enums;
|
|
if (typeof all !== "boolean" && typeof all !== "undefined") {
|
|
throw new Error(".all must be a boolean, or undefined");
|
|
}
|
|
if (typeof enums !== "boolean" && typeof enums !== "undefined") {
|
|
throw new Error(".enums must be a boolean, or undefined");
|
|
}
|
|
return {
|
|
name: "syntax-flow",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
{
|
|
if (parserOpts.plugins.some(function (p) {
|
|
return (Array.isArray(p) ? p[0] : p) === "typescript";
|
|
})) {
|
|
return;
|
|
}
|
|
}
|
|
parserOpts.plugins.push(["flow", {
|
|
all: all,
|
|
enums: enums
|
|
}]);
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxFunctionBind = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-function-bind",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("functionBind");
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxFunctionSent = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-function-sent",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("functionSent");
|
|
}
|
|
};
|
|
});
|
|
|
|
var _syntaxImportAssertions = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-import-assertions",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("importAssertions");
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxImportReflection = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-import-reflection",
|
|
manipulateOptions: function manipulateOptions(_, parserOpts) {
|
|
parserOpts.plugins.push("importReflection");
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxModuleBlocks = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-module-blocks",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("moduleBlocks");
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxJsx = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-jsx",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
{
|
|
if (parserOpts.plugins.some(function (p) {
|
|
return (Array.isArray(p) ? p[0] : p) === "typescript";
|
|
})) {
|
|
return;
|
|
}
|
|
}
|
|
parserOpts.plugins.push("jsx");
|
|
}
|
|
};
|
|
});
|
|
|
|
var PIPELINE_PROPOSALS = ["minimal", "fsharp", "hack", "smart"];
|
|
var TOPIC_TOKENS = ["^^", "@@", "^", "%", "#"];
|
|
var documentationURL = "https://babeljs.io/docs/en/babel-plugin-proposal-pipeline-operator";
|
|
var syntaxPipelineOperator = declare(function (api, _ref) {
|
|
var proposal = _ref.proposal,
|
|
topicToken = _ref.topicToken;
|
|
api.assertVersion(7);
|
|
if (typeof proposal !== "string" || !PIPELINE_PROPOSALS.includes(proposal)) {
|
|
var proposalList = PIPELINE_PROPOSALS.map(function (p) {
|
|
return "\"" + p + "\"";
|
|
}).join(", ");
|
|
throw new Error("The pipeline plugin requires a \"proposal\" option. \"proposal\" must be one of: " + proposalList + ". See <" + documentationURL + ">.");
|
|
}
|
|
if (proposal === "hack" && !TOPIC_TOKENS.includes(topicToken)) {
|
|
var topicTokenList = TOPIC_TOKENS.map(function (t) {
|
|
return "\"" + t + "\"";
|
|
}).join(", ");
|
|
throw new Error("The pipeline plugin in \"proposal\": \"hack\" mode also requires a \"topicToken\" option. \"topicToken\" must be one of: " + topicTokenList + ". See <" + documentationURL + ">.");
|
|
}
|
|
return {
|
|
name: "syntax-pipeline-operator",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push(["pipelineOperator", {
|
|
proposal: proposal,
|
|
topicToken: topicToken
|
|
}]);
|
|
opts.generatorOpts.topicToken = topicToken;
|
|
}
|
|
};
|
|
});
|
|
|
|
var syntaxRecordAndTuple = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-record-and-tuple",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
opts.generatorOpts.recordAndTupleSyntaxType = options.syntaxType;
|
|
parserOpts.plugins.push(["recordAndTuple", {
|
|
syntaxType: options.syntaxType
|
|
}]);
|
|
}
|
|
};
|
|
});
|
|
|
|
{
|
|
var removePlugin = function removePlugin(plugins, name) {
|
|
var indices = [];
|
|
plugins.forEach(function (plugin, i) {
|
|
var n = Array.isArray(plugin) ? plugin[0] : plugin;
|
|
if (n === name) {
|
|
indices.unshift(i);
|
|
}
|
|
});
|
|
for (var _i = 0, _indices = indices; _i < _indices.length; _i++) {
|
|
var i = _indices[_i];
|
|
plugins.splice(i, 1);
|
|
}
|
|
};
|
|
}
|
|
var syntaxTypescript = declare(function (api, opts) {
|
|
api.assertVersion(7);
|
|
var disallowAmbiguousJSXLike = opts.disallowAmbiguousJSXLike,
|
|
dts = opts.dts;
|
|
{
|
|
var isTSX = opts.isTSX;
|
|
}
|
|
return {
|
|
name: "syntax-typescript",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
{
|
|
var plugins = parserOpts.plugins;
|
|
removePlugin(plugins, "flow");
|
|
removePlugin(plugins, "jsx");
|
|
plugins.push("objectRestSpread", "classProperties");
|
|
if (isTSX) {
|
|
plugins.push("jsx");
|
|
}
|
|
}
|
|
parserOpts.plugins.push(["typescript", {
|
|
disallowAmbiguousJSXLike: disallowAmbiguousJSXLike,
|
|
dts: dts
|
|
}]);
|
|
}
|
|
};
|
|
});
|
|
|
|
var blockStatement = blockStatement$6,
|
|
callExpression$5 = callExpression$e,
|
|
functionExpression = functionExpression$2,
|
|
isAssignmentPattern$2 = isAssignmentPattern$5,
|
|
isFunctionDeclaration = isFunctionDeclaration$2,
|
|
isRestElement$1 = isRestElement$3,
|
|
returnStatement = returnStatement$3,
|
|
isCallExpression$1 = isCallExpression$8;
|
|
var buildAnonymousExpressionWrapper = template$2.expression("\n (function () {\n var REF = FUNCTION;\n return function NAME(PARAMS) {\n return REF.apply(this, arguments);\n };\n })()\n");
|
|
var buildNamedExpressionWrapper = template$2.expression("\n (function () {\n var REF = FUNCTION;\n function NAME(PARAMS) {\n return REF.apply(this, arguments);\n }\n return NAME;\n })()\n");
|
|
var buildDeclarationWrapper = template$2.statements("\n function NAME(PARAMS) { return REF.apply(this, arguments); }\n function REF() {\n REF = FUNCTION;\n return REF.apply(this, arguments);\n }\n");
|
|
function classOrObjectMethod(path, callId) {
|
|
var node = path.node;
|
|
var body = node.body;
|
|
var container = functionExpression(null, [], blockStatement(body.body), true);
|
|
body.body = [returnStatement(callExpression$5(callExpression$5(callId, [container]), []))];
|
|
node.async = false;
|
|
node.generator = false;
|
|
path.get("body.body.0.argument.callee.arguments.0").unwrapFunctionEnvironment();
|
|
}
|
|
function plainFunction(inPath, callId, noNewArrows, ignoreFunctionLength) {
|
|
var path = inPath;
|
|
var node;
|
|
var functionId = null;
|
|
var nodeParams = inPath.node.params;
|
|
if (path.isArrowFunctionExpression()) {
|
|
{
|
|
var _path$arrowFunctionTo;
|
|
path = (_path$arrowFunctionTo = path.arrowFunctionToExpression({
|
|
noNewArrows: noNewArrows
|
|
})) != null ? _path$arrowFunctionTo : path;
|
|
}
|
|
node = path.node;
|
|
} else {
|
|
node = path.node;
|
|
}
|
|
var isDeclaration = isFunctionDeclaration(node);
|
|
var built = node;
|
|
if (!isCallExpression$1(node)) {
|
|
functionId = node.id;
|
|
node.id = null;
|
|
node.type = "FunctionExpression";
|
|
built = callExpression$5(callId, [node]);
|
|
}
|
|
var params = [];
|
|
for (var _iterator = _createForOfIteratorHelperLoose(nodeParams), _step; !(_step = _iterator()).done;) {
|
|
var param = _step.value;
|
|
if (isAssignmentPattern$2(param) || isRestElement$1(param)) {
|
|
break;
|
|
}
|
|
params.push(path.scope.generateUidIdentifier("x"));
|
|
}
|
|
var wrapperArgs = {
|
|
NAME: functionId || null,
|
|
REF: path.scope.generateUidIdentifier(functionId ? functionId.name : "ref"),
|
|
FUNCTION: built,
|
|
PARAMS: params
|
|
};
|
|
if (isDeclaration) {
|
|
var container = buildDeclarationWrapper(wrapperArgs);
|
|
path.replaceWith(container[0]);
|
|
path.insertAfter(container[1]);
|
|
} else {
|
|
var _container;
|
|
if (functionId) {
|
|
_container = buildNamedExpressionWrapper(wrapperArgs);
|
|
} else {
|
|
_container = buildAnonymousExpressionWrapper(wrapperArgs);
|
|
var returnFn = _container.callee.body.body[1].argument;
|
|
nameFunction({
|
|
node: returnFn,
|
|
parent: path.parent,
|
|
scope: path.scope
|
|
});
|
|
functionId = returnFn.id;
|
|
}
|
|
if (functionId || !ignoreFunctionLength && params.length) {
|
|
path.replaceWith(_container);
|
|
} else {
|
|
path.replaceWith(built);
|
|
}
|
|
}
|
|
}
|
|
function wrapFunction(path, callId, noNewArrows, ignoreFunctionLength) {
|
|
if (noNewArrows === void 0) {
|
|
noNewArrows = true;
|
|
}
|
|
if (ignoreFunctionLength === void 0) {
|
|
ignoreFunctionLength = false;
|
|
}
|
|
if (path.isMethod()) {
|
|
classOrObjectMethod(path, callId);
|
|
} else {
|
|
plainFunction(path, callId, noNewArrows, ignoreFunctionLength);
|
|
}
|
|
}
|
|
|
|
var addComment = addComment$2;
|
|
var PURE_ANNOTATION = "#__PURE__";
|
|
var isPureAnnotated = function isPureAnnotated(_ref) {
|
|
var leadingComments = _ref.leadingComments;
|
|
return !!leadingComments && leadingComments.some(function (comment) {
|
|
return /[@#]__PURE__/.test(comment.value);
|
|
});
|
|
};
|
|
function annotateAsPure(pathOrNode) {
|
|
var node = pathOrNode["node"] || pathOrNode;
|
|
if (isPureAnnotated(node)) {
|
|
return;
|
|
}
|
|
addComment(node, "leading", PURE_ANNOTATION);
|
|
}
|
|
|
|
var callExpression$4 = callExpression$e,
|
|
cloneNode$4 = cloneNode$j,
|
|
isIdentifier$5 = isIdentifier$j,
|
|
isThisExpression = isThisExpression$2,
|
|
yieldExpression = yieldExpression$2;
|
|
var awaitVisitor$1 = traverse.visitors.merge([{
|
|
ArrowFunctionExpression: function ArrowFunctionExpression(path) {
|
|
path.skip();
|
|
},
|
|
AwaitExpression: function AwaitExpression(path, _ref) {
|
|
var wrapAwait = _ref.wrapAwait;
|
|
var argument = path.get("argument");
|
|
path.replaceWith(yieldExpression(wrapAwait ? callExpression$4(cloneNode$4(wrapAwait), [argument.node]) : argument.node));
|
|
}
|
|
}, visitor$5]);
|
|
function remapAsyncToGenerator (path, helpers, noNewArrows, ignoreFunctionLength) {
|
|
path.traverse(awaitVisitor$1, {
|
|
wrapAwait: helpers.wrapAwait
|
|
});
|
|
var isIIFE = checkIsIIFE(path);
|
|
path.node.async = false;
|
|
path.node.generator = true;
|
|
wrapFunction(path, cloneNode$4(helpers.wrapAsync), noNewArrows, ignoreFunctionLength);
|
|
var isProperty = path.isObjectMethod() || path.isClassMethod() || path.parentPath.isObjectProperty() || path.parentPath.isClassProperty();
|
|
if (!isProperty && !isIIFE && path.isExpression()) {
|
|
annotateAsPure(path);
|
|
}
|
|
function checkIsIIFE(path) {
|
|
if (path.parentPath.isCallExpression({
|
|
callee: path.node
|
|
})) {
|
|
return true;
|
|
}
|
|
var parentPath = path.parentPath;
|
|
if (parentPath.isMemberExpression() && isIdentifier$5(parentPath.node.property, {
|
|
name: "bind"
|
|
})) {
|
|
var bindCall = parentPath.parentPath;
|
|
return bindCall.isCallExpression() && bindCall.node.arguments.length === 1 && isThisExpression(bindCall.node.arguments[0]) && bindCall.parentPath.isCallExpression({
|
|
callee: bindCall.node
|
|
});
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
|
|
var buildForAwait = template$2("\n async function wrapper() {\n var ITERATOR_ABRUPT_COMPLETION = false;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY;\n try {\n for (\n var ITERATOR_KEY = GET_ITERATOR(OBJECT), STEP_KEY;\n ITERATOR_ABRUPT_COMPLETION = !(STEP_KEY = await ITERATOR_KEY.next()).done;\n ITERATOR_ABRUPT_COMPLETION = false\n ) {\n }\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (ITERATOR_ABRUPT_COMPLETION && ITERATOR_KEY.return != null) {\n await ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n }\n");
|
|
function rewriteForAwait (path, _ref) {
|
|
var getAsyncIterator = _ref.getAsyncIterator;
|
|
var node = path.node,
|
|
scope = path.scope,
|
|
parent = path.parent;
|
|
var stepKey = scope.generateUidIdentifier("step");
|
|
var stepValue = memberExpression$c(stepKey, identifier$i("value"));
|
|
var left = node.left;
|
|
var declar;
|
|
if (isIdentifier$j(left) || isPattern(left) || isMemberExpression$8(left)) {
|
|
declar = expressionStatement$a(assignmentExpression$d("=", left, stepValue));
|
|
} else if (isVariableDeclaration$3(left)) {
|
|
declar = variableDeclaration$8(left.kind, [variableDeclarator$8(left.declarations[0].id, stepValue)]);
|
|
}
|
|
var template = buildForAwait({
|
|
ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier("didIteratorError"),
|
|
ITERATOR_ABRUPT_COMPLETION: scope.generateUidIdentifier("iteratorAbruptCompletion"),
|
|
ITERATOR_ERROR_KEY: scope.generateUidIdentifier("iteratorError"),
|
|
ITERATOR_KEY: scope.generateUidIdentifier("iterator"),
|
|
GET_ITERATOR: getAsyncIterator,
|
|
OBJECT: node.right,
|
|
STEP_KEY: cloneNode$j(stepKey)
|
|
});
|
|
template = template.body.body;
|
|
var isLabeledParent = isLabeledStatement(parent);
|
|
var tryBody = template[3].block.body;
|
|
var loop = tryBody[0];
|
|
if (isLabeledParent) {
|
|
tryBody[0] = labeledStatement(parent.label, loop);
|
|
}
|
|
return {
|
|
replaceParent: isLabeledParent,
|
|
node: template,
|
|
declar: declar,
|
|
loop: loop
|
|
};
|
|
}
|
|
|
|
var proposalAsyncGeneratorFunctions = declare(function (api) {
|
|
api.assertVersion(7);
|
|
var yieldStarVisitor = traverse.visitors.merge([{
|
|
ArrowFunctionExpression: function ArrowFunctionExpression(path) {
|
|
path.skip();
|
|
},
|
|
YieldExpression: function YieldExpression(_ref, state) {
|
|
var node = _ref.node;
|
|
if (!node.delegate) return;
|
|
var asyncIter = callExpression$e(state.addHelper("asyncIterator"), [node.argument]);
|
|
node.argument = callExpression$e(state.addHelper("asyncGeneratorDelegate"), [asyncIter, state.addHelper("awaitAsyncGenerator")]);
|
|
}
|
|
}, visitor$5]);
|
|
var forAwaitVisitor = traverse.visitors.merge([{
|
|
ArrowFunctionExpression: function ArrowFunctionExpression(path) {
|
|
path.skip();
|
|
},
|
|
ForOfStatement: function (_ForOfStatement) {
|
|
function ForOfStatement(_x, _x2) {
|
|
return _ForOfStatement.apply(this, arguments);
|
|
}
|
|
ForOfStatement.toString = function () {
|
|
return _ForOfStatement.toString();
|
|
};
|
|
return ForOfStatement;
|
|
}(function (path, _ref2) {
|
|
var file = _ref2.file;
|
|
var node = path.node;
|
|
if (!node["await"]) return;
|
|
var build = rewriteForAwait(path, {
|
|
getAsyncIterator: file.addHelper("asyncIterator")
|
|
});
|
|
var declar = build.declar,
|
|
loop = build.loop;
|
|
var block = loop.body;
|
|
path.ensureBlock();
|
|
if (declar) {
|
|
block.body.push(declar);
|
|
if (path.node.body.body.length) {
|
|
block.body.push(blockStatement$6(path.node.body.body));
|
|
}
|
|
} else {
|
|
var _block$body;
|
|
(_block$body = block.body).push.apply(_block$body, _toConsumableArray(path.node.body.body));
|
|
}
|
|
inherits$1(loop, node);
|
|
inherits$1(loop.body, node.body);
|
|
var p = build.replaceParent ? path.parentPath : path;
|
|
p.replaceWithMultiple(build.node);
|
|
p.scope.parent.crawl();
|
|
})
|
|
}, visitor$5]);
|
|
var visitor = {
|
|
Function: function Function(path, state) {
|
|
if (!path.node.async) return;
|
|
path.traverse(forAwaitVisitor, state);
|
|
if (!path.node.generator) return;
|
|
path.traverse(yieldStarVisitor, state);
|
|
remapAsyncToGenerator(path, {
|
|
wrapAsync: state.addHelper("wrapAsyncGenerator"),
|
|
wrapAwait: state.addHelper("awaitAsyncGenerator")
|
|
});
|
|
}
|
|
};
|
|
return {
|
|
name: "proposal-async-generator-functions",
|
|
inherits: syntaxAsyncGenerators["default"],
|
|
visitor: {
|
|
Program: function Program(path, state) {
|
|
path.traverse(visitor, state);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
function bool$3(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var semver$9 = bool$3(browser$1$1.env["BABEL_8_BREAKING"]) ? requireSemverBABEL_8_BREAKINGTrue() : requireSemver();
|
|
|
|
function willPathCastToBoolean$1(path) {
|
|
var maybeWrapped = path;
|
|
var node = maybeWrapped.node,
|
|
parentPath = maybeWrapped.parentPath;
|
|
if (parentPath.isLogicalExpression()) {
|
|
var _parentPath$node = parentPath.node,
|
|
operator = _parentPath$node.operator,
|
|
right = _parentPath$node.right;
|
|
if (operator === "&&" || operator === "||" || operator === "??" && node === right) {
|
|
return willPathCastToBoolean$1(parentPath);
|
|
}
|
|
}
|
|
if (parentPath.isSequenceExpression()) {
|
|
var expressions = parentPath.node.expressions;
|
|
if (expressions[expressions.length - 1] === node) {
|
|
return willPathCastToBoolean$1(parentPath);
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
return parentPath.isConditional({
|
|
test: node
|
|
}) || parentPath.isUnaryExpression({
|
|
operator: "!"
|
|
}) || parentPath.isLoop({
|
|
test: node
|
|
});
|
|
}
|
|
|
|
var LOGICAL_OPERATORS = LOGICAL_OPERATORS$3,
|
|
arrowFunctionExpression = arrowFunctionExpression$4,
|
|
assignmentExpression$4 = assignmentExpression$d,
|
|
binaryExpression$1 = binaryExpression$5,
|
|
booleanLiteral$2 = booleanLiteral$4,
|
|
callExpression$3 = callExpression$e,
|
|
cloneNode$3 = cloneNode$j,
|
|
conditionalExpression$1 = conditionalExpression$4,
|
|
identifier$3 = identifier$i,
|
|
isMemberExpression$1 = isMemberExpression$8,
|
|
isOptionalCallExpression = isOptionalCallExpression$3,
|
|
isOptionalMemberExpression = isOptionalMemberExpression$3,
|
|
isUpdateExpression = isUpdateExpression$2,
|
|
logicalExpression = logicalExpression$3,
|
|
memberExpression$5 = memberExpression$c,
|
|
nullLiteral$1 = nullLiteral$2,
|
|
optionalCallExpression$1 = optionalCallExpression$2,
|
|
optionalMemberExpression$1 = optionalMemberExpression$2,
|
|
sequenceExpression$2 = sequenceExpression$7,
|
|
updateExpression = updateExpression$1;
|
|
var AssignmentMemoiser = function () {
|
|
function AssignmentMemoiser() {
|
|
this._map = void 0;
|
|
this._map = new WeakMap();
|
|
}
|
|
var _proto = AssignmentMemoiser.prototype;
|
|
_proto.has = function has(key) {
|
|
return this._map.has(key);
|
|
};
|
|
_proto.get = function get(key) {
|
|
if (!this.has(key)) return;
|
|
var record = this._map.get(key);
|
|
var value = record.value;
|
|
record.count--;
|
|
if (record.count === 0) {
|
|
return assignmentExpression$4("=", value, key);
|
|
}
|
|
return value;
|
|
};
|
|
_proto.set = function set(key, value, count) {
|
|
return this._map.set(key, {
|
|
count: count,
|
|
value: value
|
|
});
|
|
};
|
|
return _createClass(AssignmentMemoiser);
|
|
}();
|
|
function toNonOptional(path, base) {
|
|
var node = path.node;
|
|
if (isOptionalMemberExpression(node)) {
|
|
return memberExpression$5(base, node.property, node.computed);
|
|
}
|
|
if (path.isOptionalCallExpression()) {
|
|
var callee = path.get("callee");
|
|
if (path.node.optional && callee.isOptionalMemberExpression()) {
|
|
var object = callee.node.object;
|
|
var context = path.scope.maybeGenerateMemoised(object);
|
|
callee.get("object").replaceWith(assignmentExpression$4("=", context, object));
|
|
return callExpression$3(memberExpression$5(base, identifier$3("call")), [context].concat(_toConsumableArray(path.node.arguments)));
|
|
}
|
|
return callExpression$3(base, path.node.arguments);
|
|
}
|
|
return path.node;
|
|
}
|
|
function isInDetachedTree(path) {
|
|
while (path) {
|
|
if (path.isProgram()) break;
|
|
var _path = path,
|
|
parentPath = _path.parentPath,
|
|
container = _path.container,
|
|
listKey = _path.listKey;
|
|
var parentNode = parentPath.node;
|
|
if (listKey) {
|
|
if (container !== parentNode[listKey]) {
|
|
return true;
|
|
}
|
|
} else {
|
|
if (container !== parentNode) return true;
|
|
}
|
|
path = parentPath;
|
|
}
|
|
return false;
|
|
}
|
|
var handle = {
|
|
memoise: function memoise() {},
|
|
handle: function handle(member, noDocumentAll) {
|
|
var node = member.node,
|
|
parent = member.parent,
|
|
parentPath = member.parentPath,
|
|
scope = member.scope;
|
|
if (member.isOptionalMemberExpression()) {
|
|
if (isInDetachedTree(member)) return;
|
|
var endPath = member.find(function (_ref) {
|
|
var node = _ref.node,
|
|
parent = _ref.parent;
|
|
if (isOptionalMemberExpression(parent)) {
|
|
return parent.optional || parent.object !== node;
|
|
}
|
|
if (isOptionalCallExpression(parent)) {
|
|
return node !== member.node && parent.optional || parent.callee !== node;
|
|
}
|
|
return true;
|
|
});
|
|
if (scope.path.isPattern()) {
|
|
endPath.replaceWith(callExpression$3(arrowFunctionExpression([], endPath.node), []));
|
|
return;
|
|
}
|
|
var willEndPathCastToBoolean = willPathCastToBoolean$1(endPath);
|
|
var rootParentPath = endPath.parentPath;
|
|
if (rootParentPath.isUpdateExpression({
|
|
argument: node
|
|
}) || rootParentPath.isAssignmentExpression({
|
|
left: node
|
|
})) {
|
|
throw member.buildCodeFrameError("can't handle assignment");
|
|
}
|
|
var isDeleteOperation = rootParentPath.isUnaryExpression({
|
|
operator: "delete"
|
|
});
|
|
if (isDeleteOperation && endPath.isOptionalMemberExpression() && endPath.get("property").isPrivateName()) {
|
|
throw member.buildCodeFrameError("can't delete a private class element");
|
|
}
|
|
var startingOptional = member;
|
|
for (;;) {
|
|
if (startingOptional.isOptionalMemberExpression()) {
|
|
if (startingOptional.node.optional) break;
|
|
startingOptional = startingOptional.get("object");
|
|
continue;
|
|
} else if (startingOptional.isOptionalCallExpression()) {
|
|
if (startingOptional.node.optional) break;
|
|
startingOptional = startingOptional.get("callee");
|
|
continue;
|
|
}
|
|
throw new Error("Internal error: unexpected " + startingOptional.node.type);
|
|
}
|
|
var startingNode = startingOptional.isOptionalMemberExpression() ? startingOptional.node.object : startingOptional.node.callee;
|
|
var baseNeedsMemoised = scope.maybeGenerateMemoised(startingNode);
|
|
var baseRef = baseNeedsMemoised != null ? baseNeedsMemoised : startingNode;
|
|
var parentIsOptionalCall = parentPath.isOptionalCallExpression({
|
|
callee: node
|
|
});
|
|
var isOptionalCall = function isOptionalCall(parent) {
|
|
return parentIsOptionalCall;
|
|
};
|
|
var parentIsCall = parentPath.isCallExpression({
|
|
callee: node
|
|
});
|
|
startingOptional.replaceWith(toNonOptional(startingOptional, baseRef));
|
|
if (isOptionalCall(parent)) {
|
|
if (parent.optional) {
|
|
parentPath.replaceWith(this.optionalCall(member, parent.arguments));
|
|
} else {
|
|
parentPath.replaceWith(this.call(member, parent.arguments));
|
|
}
|
|
} else if (parentIsCall) {
|
|
member.replaceWith(this.boundGet(member));
|
|
} else if (this["delete"] && parentPath.isUnaryExpression({
|
|
operator: "delete"
|
|
})) {
|
|
parentPath.replaceWith(this["delete"](member));
|
|
} else {
|
|
member.replaceWith(this.get(member));
|
|
}
|
|
var regular = member.node;
|
|
for (var current = member; current !== endPath;) {
|
|
var _parentPath = current.parentPath;
|
|
if (_parentPath === endPath && isOptionalCall(parent) && parent.optional) {
|
|
regular = _parentPath.node;
|
|
break;
|
|
}
|
|
regular = toNonOptional(_parentPath, regular);
|
|
current = _parentPath;
|
|
}
|
|
var context;
|
|
var endParentPath = endPath.parentPath;
|
|
if (isMemberExpression$1(regular) && endParentPath.isOptionalCallExpression({
|
|
callee: endPath.node,
|
|
optional: true
|
|
})) {
|
|
var _regular = regular,
|
|
object = _regular.object;
|
|
context = member.scope.maybeGenerateMemoised(object);
|
|
if (context) {
|
|
regular.object = assignmentExpression$4("=", context, object);
|
|
}
|
|
}
|
|
var replacementPath = endPath;
|
|
if (isDeleteOperation) {
|
|
replacementPath = endParentPath;
|
|
regular = endParentPath.node;
|
|
}
|
|
var baseMemoised = baseNeedsMemoised ? assignmentExpression$4("=", cloneNode$3(baseRef), cloneNode$3(startingNode)) : cloneNode$3(baseRef);
|
|
if (willEndPathCastToBoolean) {
|
|
var nonNullishCheck;
|
|
if (noDocumentAll) {
|
|
nonNullishCheck = binaryExpression$1("!=", baseMemoised, nullLiteral$1());
|
|
} else {
|
|
nonNullishCheck = logicalExpression("&&", binaryExpression$1("!==", baseMemoised, nullLiteral$1()), binaryExpression$1("!==", cloneNode$3(baseRef), scope.buildUndefinedNode()));
|
|
}
|
|
replacementPath.replaceWith(logicalExpression("&&", nonNullishCheck, regular));
|
|
} else {
|
|
var nullishCheck;
|
|
if (noDocumentAll) {
|
|
nullishCheck = binaryExpression$1("==", baseMemoised, nullLiteral$1());
|
|
} else {
|
|
nullishCheck = logicalExpression("||", binaryExpression$1("===", baseMemoised, nullLiteral$1()), binaryExpression$1("===", cloneNode$3(baseRef), scope.buildUndefinedNode()));
|
|
}
|
|
replacementPath.replaceWith(conditionalExpression$1(nullishCheck, isDeleteOperation ? booleanLiteral$2(true) : scope.buildUndefinedNode(), regular));
|
|
}
|
|
if (context) {
|
|
var endParent = endParentPath.node;
|
|
endParentPath.replaceWith(optionalCallExpression$1(optionalMemberExpression$1(endParent.callee, identifier$3("call"), false, true), [cloneNode$3(context)].concat(_toConsumableArray(endParent.arguments)), false));
|
|
}
|
|
return;
|
|
}
|
|
if (isUpdateExpression(parent, {
|
|
argument: node
|
|
})) {
|
|
if (this.simpleSet) {
|
|
member.replaceWith(this.simpleSet(member));
|
|
return;
|
|
}
|
|
var operator = parent.operator,
|
|
prefix = parent.prefix;
|
|
this.memoise(member, 2);
|
|
var ref = scope.generateUidIdentifierBasedOnNode(node);
|
|
scope.push({
|
|
id: ref
|
|
});
|
|
var seq = [assignmentExpression$4("=", cloneNode$3(ref), this.get(member))];
|
|
if (prefix) {
|
|
seq.push(updateExpression(operator, cloneNode$3(ref), prefix));
|
|
var _value = sequenceExpression$2(seq);
|
|
parentPath.replaceWith(this.set(member, _value));
|
|
return;
|
|
} else {
|
|
var ref2 = scope.generateUidIdentifierBasedOnNode(node);
|
|
scope.push({
|
|
id: ref2
|
|
});
|
|
seq.push(assignmentExpression$4("=", cloneNode$3(ref2), updateExpression(operator, cloneNode$3(ref), prefix)), cloneNode$3(ref));
|
|
var _value2 = sequenceExpression$2(seq);
|
|
parentPath.replaceWith(sequenceExpression$2([this.set(member, _value2), cloneNode$3(ref2)]));
|
|
return;
|
|
}
|
|
}
|
|
if (parentPath.isAssignmentExpression({
|
|
left: node
|
|
})) {
|
|
if (this.simpleSet) {
|
|
member.replaceWith(this.simpleSet(member));
|
|
return;
|
|
}
|
|
var _parentPath$node = parentPath.node,
|
|
_operator = _parentPath$node.operator,
|
|
_value3 = _parentPath$node.right;
|
|
if (_operator === "=") {
|
|
parentPath.replaceWith(this.set(member, _value3));
|
|
} else {
|
|
var operatorTrunc = _operator.slice(0, -1);
|
|
if (LOGICAL_OPERATORS.includes(operatorTrunc)) {
|
|
this.memoise(member, 1);
|
|
parentPath.replaceWith(logicalExpression(operatorTrunc, this.get(member), this.set(member, _value3)));
|
|
} else {
|
|
this.memoise(member, 2);
|
|
parentPath.replaceWith(this.set(member, binaryExpression$1(operatorTrunc, this.get(member), _value3)));
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
if (parentPath.isCallExpression({
|
|
callee: node
|
|
})) {
|
|
parentPath.replaceWith(this.call(member, parentPath.node.arguments));
|
|
return;
|
|
}
|
|
if (parentPath.isOptionalCallExpression({
|
|
callee: node
|
|
})) {
|
|
if (scope.path.isPattern()) {
|
|
parentPath.replaceWith(callExpression$3(arrowFunctionExpression([], parentPath.node), []));
|
|
return;
|
|
}
|
|
parentPath.replaceWith(this.optionalCall(member, parentPath.node.arguments));
|
|
return;
|
|
}
|
|
if (this["delete"] && parentPath.isUnaryExpression({
|
|
operator: "delete"
|
|
})) {
|
|
parentPath.replaceWith(this["delete"](member));
|
|
return;
|
|
}
|
|
if (parentPath.isForXStatement({
|
|
left: node
|
|
}) || parentPath.isObjectProperty({
|
|
value: node
|
|
}) && parentPath.parentPath.isObjectPattern() || parentPath.isAssignmentPattern({
|
|
left: node
|
|
}) && parentPath.parentPath.isObjectProperty({
|
|
value: parent
|
|
}) && parentPath.parentPath.parentPath.isObjectPattern() || parentPath.isArrayPattern() || parentPath.isAssignmentPattern({
|
|
left: node
|
|
}) && parentPath.parentPath.isArrayPattern() || parentPath.isRestElement()) {
|
|
member.replaceWith(this.destructureSet(member));
|
|
return;
|
|
}
|
|
if (parentPath.isTaggedTemplateExpression()) {
|
|
member.replaceWith(this.boundGet(member));
|
|
} else {
|
|
member.replaceWith(this.get(member));
|
|
}
|
|
}
|
|
};
|
|
function memberExpressionToFunctions(path, visitor, state) {
|
|
path.traverse(visitor, Object.assign({}, handle, state, {
|
|
memoiser: new AssignmentMemoiser()
|
|
}));
|
|
}
|
|
|
|
var callExpression$2 = callExpression$e,
|
|
identifier$2 = identifier$i,
|
|
isIdentifier$4 = isIdentifier$j,
|
|
isSpreadElement = isSpreadElement$1,
|
|
memberExpression$4 = memberExpression$c,
|
|
optionalCallExpression = optionalCallExpression$2,
|
|
optionalMemberExpression = optionalMemberExpression$2;
|
|
function optimiseCallExpression(callee, thisNode, args, optional) {
|
|
if (args.length === 1 && isSpreadElement(args[0]) && isIdentifier$4(args[0].argument, {
|
|
name: "arguments"
|
|
})) {
|
|
if (optional) {
|
|
return optionalCallExpression(optionalMemberExpression(callee, identifier$2("apply"), false, true), [thisNode, args[0].argument], false);
|
|
}
|
|
return callExpression$2(memberExpression$4(callee, identifier$2("apply")), [thisNode, args[0].argument]);
|
|
} else {
|
|
if (optional) {
|
|
return optionalCallExpression(optionalMemberExpression(callee, identifier$2("call"), false, true), [thisNode].concat(_toConsumableArray(args)), false);
|
|
}
|
|
return callExpression$2(memberExpression$4(callee, identifier$2("call")), [thisNode].concat(_toConsumableArray(args)));
|
|
}
|
|
}
|
|
|
|
var _templateObject$q, _templateObject2$c;
|
|
var assignmentExpression$3 = assignmentExpression$d,
|
|
booleanLiteral$1 = booleanLiteral$4,
|
|
callExpression$1 = callExpression$e,
|
|
cloneNode$2 = cloneNode$j,
|
|
identifier$1 = identifier$i,
|
|
memberExpression$3 = memberExpression$c,
|
|
sequenceExpression$1 = sequenceExpression$7,
|
|
stringLiteral$1 = stringLiteral$8,
|
|
thisExpression$1 = thisExpression$4;
|
|
function getPrototypeOfExpression(objectRef, isStatic, file, isPrivateMethod) {
|
|
objectRef = cloneNode$2(objectRef);
|
|
var targetRef = isStatic || isPrivateMethod ? objectRef : memberExpression$3(objectRef, identifier$1("prototype"));
|
|
return callExpression$1(file.addHelper("getPrototypeOf"), [targetRef]);
|
|
}
|
|
var visitor$2 = traverse.visitors.merge([visitor$5, {
|
|
Super: function Super(path, state) {
|
|
var node = path.node,
|
|
parentPath = path.parentPath;
|
|
if (!parentPath.isMemberExpression({
|
|
object: node
|
|
})) return;
|
|
state.handle(parentPath);
|
|
}
|
|
}]);
|
|
var unshadowSuperBindingVisitor = traverse.visitors.merge([visitor$5, {
|
|
Scopable: function Scopable(path, _ref) {
|
|
var refName = _ref.refName;
|
|
var binding = path.scope.getOwnBinding(refName);
|
|
if (binding && binding.identifier.name === refName) {
|
|
path.scope.rename(refName);
|
|
}
|
|
}
|
|
}]);
|
|
var specHandlers = {
|
|
memoise: function memoise(superMember, count) {
|
|
var scope = superMember.scope,
|
|
node = superMember.node;
|
|
var computed = node.computed,
|
|
property = node.property;
|
|
if (!computed) {
|
|
return;
|
|
}
|
|
var memo = scope.maybeGenerateMemoised(property);
|
|
if (!memo) {
|
|
return;
|
|
}
|
|
this.memoiser.set(property, memo, count);
|
|
},
|
|
prop: function prop(superMember) {
|
|
var _superMember$node = superMember.node,
|
|
computed = _superMember$node.computed,
|
|
property = _superMember$node.property;
|
|
if (this.memoiser.has(property)) {
|
|
return cloneNode$2(this.memoiser.get(property));
|
|
}
|
|
if (computed) {
|
|
return cloneNode$2(property);
|
|
}
|
|
return stringLiteral$1(property.name);
|
|
},
|
|
get: function get(superMember) {
|
|
return this._get(superMember, this._getThisRefs());
|
|
},
|
|
_get: function _get(superMember, thisRefs) {
|
|
var proto = getPrototypeOfExpression(this.getObjectRef(), this.isStatic, this.file, this.isPrivateMethod);
|
|
return callExpression$1(this.file.addHelper("get"), [thisRefs.memo ? sequenceExpression$1([thisRefs.memo, proto]) : proto, this.prop(superMember), thisRefs["this"]]);
|
|
},
|
|
_getThisRefs: function _getThisRefs() {
|
|
if (!this.isDerivedConstructor) {
|
|
return {
|
|
"this": thisExpression$1()
|
|
};
|
|
}
|
|
var thisRef = this.scope.generateDeclaredUidIdentifier("thisSuper");
|
|
return {
|
|
memo: assignmentExpression$3("=", thisRef, thisExpression$1()),
|
|
"this": cloneNode$2(thisRef)
|
|
};
|
|
},
|
|
set: function set(superMember, value) {
|
|
var thisRefs = this._getThisRefs();
|
|
var proto = getPrototypeOfExpression(this.getObjectRef(), this.isStatic, this.file, this.isPrivateMethod);
|
|
return callExpression$1(this.file.addHelper("set"), [thisRefs.memo ? sequenceExpression$1([thisRefs.memo, proto]) : proto, this.prop(superMember), value, thisRefs["this"], booleanLiteral$1(superMember.isInStrictMode())]);
|
|
},
|
|
destructureSet: function destructureSet(superMember) {
|
|
throw superMember.buildCodeFrameError("Destructuring to a super field is not supported yet.");
|
|
},
|
|
call: function call(superMember, args) {
|
|
var thisRefs = this._getThisRefs();
|
|
return optimiseCallExpression(this._get(superMember, thisRefs), cloneNode$2(thisRefs["this"]), args, false);
|
|
},
|
|
optionalCall: function optionalCall(superMember, args) {
|
|
var thisRefs = this._getThisRefs();
|
|
return optimiseCallExpression(this._get(superMember, thisRefs), cloneNode$2(thisRefs["this"]), args, true);
|
|
},
|
|
"delete": function _delete(superMember) {
|
|
if (superMember.node.computed) {
|
|
return sequenceExpression$1([callExpression$1(this.file.addHelper("toPropertyKey"), [cloneNode$2(superMember.node.property)]), template$2.expression.ast(_templateObject$q || (_templateObject$q = _taggedTemplateLiteralLoose(["\n function () { throw new ReferenceError(\"'delete super[expr]' is invalid\"); }()\n "])))]);
|
|
} else {
|
|
return template$2.expression.ast(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteralLoose(["\n function () { throw new ReferenceError(\"'delete super.prop' is invalid\"); }()\n "])));
|
|
}
|
|
}
|
|
};
|
|
var looseHandlers = Object.assign({}, specHandlers, {
|
|
prop: function prop(superMember) {
|
|
var property = superMember.node.property;
|
|
if (this.memoiser.has(property)) {
|
|
return cloneNode$2(this.memoiser.get(property));
|
|
}
|
|
return cloneNode$2(property);
|
|
},
|
|
get: function get(superMember) {
|
|
var isStatic = this.isStatic,
|
|
getSuperRef = this.getSuperRef;
|
|
var computed = superMember.node.computed;
|
|
var prop = this.prop(superMember);
|
|
var object;
|
|
if (isStatic) {
|
|
var _getSuperRef;
|
|
object = (_getSuperRef = getSuperRef()) != null ? _getSuperRef : memberExpression$3(identifier$1("Function"), identifier$1("prototype"));
|
|
} else {
|
|
var _getSuperRef2;
|
|
object = memberExpression$3((_getSuperRef2 = getSuperRef()) != null ? _getSuperRef2 : identifier$1("Object"), identifier$1("prototype"));
|
|
}
|
|
return memberExpression$3(object, prop, computed);
|
|
},
|
|
set: function set(superMember, value) {
|
|
var computed = superMember.node.computed;
|
|
var prop = this.prop(superMember);
|
|
return assignmentExpression$3("=", memberExpression$3(thisExpression$1(), prop, computed), value);
|
|
},
|
|
destructureSet: function destructureSet(superMember) {
|
|
var computed = superMember.node.computed;
|
|
var prop = this.prop(superMember);
|
|
return memberExpression$3(thisExpression$1(), prop, computed);
|
|
},
|
|
call: function call(superMember, args) {
|
|
return optimiseCallExpression(this.get(superMember), thisExpression$1(), args, false);
|
|
},
|
|
optionalCall: function optionalCall(superMember, args) {
|
|
return optimiseCallExpression(this.get(superMember), thisExpression$1(), args, true);
|
|
}
|
|
});
|
|
var ReplaceSupers = function () {
|
|
function ReplaceSupers(opts) {
|
|
var _opts$constantSuper;
|
|
var path = opts.methodPath;
|
|
this.methodPath = path;
|
|
this.isDerivedConstructor = path.isClassMethod({
|
|
kind: "constructor"
|
|
}) && !!opts.superRef;
|
|
this.isStatic = path.isObjectMethod() || path.node["static"] || (path.isStaticBlock == null ? void 0 : path.isStaticBlock());
|
|
this.isPrivateMethod = path.isPrivate() && path.isMethod();
|
|
this.file = opts.file;
|
|
this.constantSuper = (_opts$constantSuper = opts.constantSuper) != null ? _opts$constantSuper : opts.isLoose;
|
|
this.opts = opts;
|
|
}
|
|
var _proto = ReplaceSupers.prototype;
|
|
_proto.getObjectRef = function getObjectRef() {
|
|
return cloneNode$2(this.opts.objectRef || this.opts.getObjectRef());
|
|
};
|
|
_proto.getSuperRef = function getSuperRef() {
|
|
if (this.opts.superRef) return cloneNode$2(this.opts.superRef);
|
|
if (this.opts.getSuperRef) {
|
|
return cloneNode$2(this.opts.getSuperRef());
|
|
}
|
|
};
|
|
_proto.replace = function replace() {
|
|
if (this.opts.refToPreserve) {
|
|
this.methodPath.traverse(unshadowSuperBindingVisitor, {
|
|
refName: this.opts.refToPreserve.name
|
|
});
|
|
}
|
|
var handler = this.constantSuper ? looseHandlers : specHandlers;
|
|
memberExpressionToFunctions(this.methodPath, visitor$2, Object.assign({
|
|
file: this.file,
|
|
scope: this.methodPath.scope,
|
|
isDerivedConstructor: this.isDerivedConstructor,
|
|
isStatic: this.isStatic,
|
|
isPrivateMethod: this.isPrivateMethod,
|
|
getObjectRef: this.getObjectRef.bind(this),
|
|
getSuperRef: this.getSuperRef.bind(this),
|
|
boundGet: handler.get
|
|
}, handler));
|
|
};
|
|
return _createClass(ReplaceSupers);
|
|
}();
|
|
|
|
var isParenthesizedExpression = isParenthesizedExpression$1,
|
|
isTSAsExpression = isTSAsExpression$2,
|
|
isTSNonNullExpression = isTSNonNullExpression$2,
|
|
isTSSatisfiesExpression = isTSSatisfiesExpression$2,
|
|
isTSTypeAssertion = isTSTypeAssertion$2,
|
|
isTypeCastExpression = isTypeCastExpression$1;
|
|
function isTransparentExprWrapper(node) {
|
|
return isTSAsExpression(node) || isTSSatisfiesExpression(node) || isTSTypeAssertion(node) || isTSNonNullExpression(node) || isTypeCastExpression(node) || isParenthesizedExpression(node);
|
|
}
|
|
function skipTransparentExprWrappers(path) {
|
|
while (isTransparentExprWrapper(path.node)) {
|
|
path = path.get("expression");
|
|
}
|
|
return path;
|
|
}
|
|
function skipTransparentExprWrapperNodes(node) {
|
|
while (isTransparentExprWrapper(node)) {
|
|
node = node.expression;
|
|
}
|
|
return node;
|
|
}
|
|
|
|
function assertFieldTransformed(path) {
|
|
if (path.node.declare || false) {
|
|
throw path.buildCodeFrameError("TypeScript 'declare' fields must first be transformed by " + "@babel/plugin-transform-typescript.\n" + "If you have already enabled that plugin (or '@babel/preset-typescript'), make sure " + "that it runs before any plugin related to additional class features:\n" + " - @babel/plugin-proposal-class-properties\n" + " - @babel/plugin-proposal-private-methods\n" + " - @babel/plugin-proposal-decorators");
|
|
}
|
|
}
|
|
|
|
var _templateObject$p, _templateObject2$b, _templateObject3$a, _templateObject4$5, _templateObject5$3, _templateObject6$3, _templateObject7$1, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19;
|
|
function buildPrivateNamesMap(props) {
|
|
var privateNamesMap = new Map();
|
|
for (var _iterator = _createForOfIteratorHelperLoose(props), _step; !(_step = _iterator()).done;) {
|
|
var prop = _step.value;
|
|
if (prop.isPrivate()) {
|
|
var name = prop.node.key.id.name;
|
|
var update = privateNamesMap.has(name) ? privateNamesMap.get(name) : {
|
|
id: prop.scope.generateUidIdentifier(name),
|
|
"static": prop.node["static"],
|
|
method: !prop.isProperty()
|
|
};
|
|
if (prop.isClassPrivateMethod()) {
|
|
if (prop.node.kind === "get") {
|
|
update.getId = prop.scope.generateUidIdentifier("get_" + name);
|
|
} else if (prop.node.kind === "set") {
|
|
update.setId = prop.scope.generateUidIdentifier("set_" + name);
|
|
} else if (prop.node.kind === "method") {
|
|
update.methodId = prop.scope.generateUidIdentifier(name);
|
|
}
|
|
}
|
|
privateNamesMap.set(name, update);
|
|
}
|
|
}
|
|
return privateNamesMap;
|
|
}
|
|
function buildPrivateNamesNodes(privateNamesMap, privateFieldsAsProperties, privateFieldsAsSymbols, state) {
|
|
var initNodes = [];
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(privateNamesMap), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
name = _step2$value[0],
|
|
value = _step2$value[1];
|
|
var isStatic = value["static"],
|
|
isMethod = value.method,
|
|
getId = value.getId,
|
|
setId = value.setId;
|
|
var isAccessor = getId || setId;
|
|
var id = cloneNode$j(value.id);
|
|
var init = void 0;
|
|
if (privateFieldsAsProperties) {
|
|
init = callExpression$e(state.addHelper("classPrivateFieldLooseKey"), [stringLiteral$8(name)]);
|
|
} else if (privateFieldsAsSymbols) {
|
|
init = callExpression$e(identifier$i("Symbol"), [stringLiteral$8(name)]);
|
|
} else if (!isStatic) {
|
|
init = newExpression(identifier$i(!isMethod || isAccessor ? "WeakMap" : "WeakSet"), []);
|
|
}
|
|
if (init) {
|
|
annotateAsPure(init);
|
|
initNodes.push(template$2.statement.ast(_templateObject$p || (_templateObject$p = _taggedTemplateLiteralLoose(["var ", " = ", ""])), id, init));
|
|
}
|
|
}
|
|
return initNodes;
|
|
}
|
|
function privateNameVisitorFactory(visitor) {
|
|
var nestedVisitor = traverse.visitors.merge([Object.assign({}, visitor), visitor$5]);
|
|
var privateNameVisitor = Object.assign({}, visitor, {
|
|
Class: function Class(path) {
|
|
var privateNamesMap = this.privateNamesMap;
|
|
var body = path.get("body.body");
|
|
var visiblePrivateNames = new Map(privateNamesMap);
|
|
var redeclared = [];
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(body), _step3; !(_step3 = _iterator3()).done;) {
|
|
var prop = _step3.value;
|
|
if (!prop.isPrivate()) continue;
|
|
var name = prop.node.key.id.name;
|
|
visiblePrivateNames["delete"](name);
|
|
redeclared.push(name);
|
|
}
|
|
if (!redeclared.length) {
|
|
return;
|
|
}
|
|
path.get("body").traverse(nestedVisitor, Object.assign({}, this, {
|
|
redeclared: redeclared
|
|
}));
|
|
path.traverse(privateNameVisitor, Object.assign({}, this, {
|
|
privateNamesMap: visiblePrivateNames
|
|
}));
|
|
path.skipKey("body");
|
|
}
|
|
});
|
|
return privateNameVisitor;
|
|
}
|
|
var privateNameVisitor = privateNameVisitorFactory({
|
|
PrivateName: function PrivateName(path, _ref) {
|
|
var noDocumentAll = _ref.noDocumentAll;
|
|
var privateNamesMap = this.privateNamesMap,
|
|
redeclared = this.redeclared;
|
|
var node = path.node,
|
|
parentPath = path.parentPath;
|
|
if (!parentPath.isMemberExpression({
|
|
property: node
|
|
}) && !parentPath.isOptionalMemberExpression({
|
|
property: node
|
|
})) {
|
|
return;
|
|
}
|
|
var name = node.id.name;
|
|
if (!privateNamesMap.has(name)) return;
|
|
if (redeclared && redeclared.includes(name)) return;
|
|
this.handle(parentPath, noDocumentAll);
|
|
}
|
|
});
|
|
function unshadow(name, scope, innerBinding) {
|
|
while ((_scope = scope) != null && _scope.hasBinding(name) && !scope.bindingIdentifierEquals(name, innerBinding)) {
|
|
var _scope;
|
|
scope.rename(name);
|
|
scope = scope.parent;
|
|
}
|
|
}
|
|
function buildCheckInRHS(rhs, file, inRHSIsObject) {
|
|
if (inRHSIsObject || !(file.availableHelper != null && file.availableHelper("checkInRHS"))) return rhs;
|
|
return callExpression$e(file.addHelper("checkInRHS"), [rhs]);
|
|
}
|
|
var privateInVisitor = privateNameVisitorFactory({
|
|
BinaryExpression: function BinaryExpression(path, _ref2) {
|
|
var file = _ref2.file;
|
|
var _path$node = path.node,
|
|
operator = _path$node.operator,
|
|
left = _path$node.left,
|
|
right = _path$node.right;
|
|
if (operator !== "in") return;
|
|
if (!isPrivateName$3(left)) return;
|
|
var privateFieldsAsProperties = this.privateFieldsAsProperties,
|
|
privateNamesMap = this.privateNamesMap,
|
|
redeclared = this.redeclared;
|
|
var name = left.id.name;
|
|
if (!privateNamesMap.has(name)) return;
|
|
if (redeclared && redeclared.includes(name)) return;
|
|
unshadow(this.classRef.name, path.scope, this.innerBinding);
|
|
if (privateFieldsAsProperties) {
|
|
var _privateNamesMap$get = privateNamesMap.get(name),
|
|
_id = _privateNamesMap$get.id;
|
|
path.replaceWith(template$2.expression.ast(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteralLoose(["\n Object.prototype.hasOwnProperty.call(", ", ", ")\n "])), buildCheckInRHS(right, file), cloneNode$j(_id)));
|
|
return;
|
|
}
|
|
var _privateNamesMap$get2 = privateNamesMap.get(name),
|
|
id = _privateNamesMap$get2.id,
|
|
isStatic = _privateNamesMap$get2["static"];
|
|
if (isStatic) {
|
|
path.replaceWith(template$2.expression.ast(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteralLoose(["", " === ", ""])), buildCheckInRHS(right, file), cloneNode$j(this.classRef)));
|
|
return;
|
|
}
|
|
path.replaceWith(template$2.expression.ast(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteralLoose(["", ".has(", ")"])), cloneNode$j(id), buildCheckInRHS(right, file)));
|
|
}
|
|
});
|
|
var privateNameHandlerSpec = {
|
|
memoise: function memoise(member, count) {
|
|
var scope = member.scope;
|
|
var _ref3 = member.node,
|
|
object = _ref3.object;
|
|
var memo = scope.maybeGenerateMemoised(object);
|
|
if (!memo) {
|
|
return;
|
|
}
|
|
this.memoiser.set(object, memo, count);
|
|
},
|
|
receiver: function receiver(member) {
|
|
var _ref4 = member.node,
|
|
object = _ref4.object;
|
|
if (this.memoiser.has(object)) {
|
|
return cloneNode$j(this.memoiser.get(object));
|
|
}
|
|
return cloneNode$j(object);
|
|
},
|
|
get: function get(member) {
|
|
var classRef = this.classRef,
|
|
privateNamesMap = this.privateNamesMap,
|
|
file = this.file,
|
|
innerBinding = this.innerBinding;
|
|
var name = member.node.property.id.name;
|
|
var _privateNamesMap$get3 = privateNamesMap.get(name),
|
|
id = _privateNamesMap$get3.id,
|
|
isStatic = _privateNamesMap$get3["static"],
|
|
isMethod = _privateNamesMap$get3.method,
|
|
methodId = _privateNamesMap$get3.methodId,
|
|
getId = _privateNamesMap$get3.getId,
|
|
setId = _privateNamesMap$get3.setId;
|
|
var isAccessor = getId || setId;
|
|
if (isStatic) {
|
|
var helperName = isMethod && !isAccessor ? "classStaticPrivateMethodGet" : "classStaticPrivateFieldSpecGet";
|
|
unshadow(classRef.name, member.scope, innerBinding);
|
|
return callExpression$e(file.addHelper(helperName), [this.receiver(member), cloneNode$j(classRef), cloneNode$j(id)]);
|
|
}
|
|
if (isMethod) {
|
|
if (isAccessor) {
|
|
if (!getId && setId) {
|
|
if (file.availableHelper("writeOnlyError")) {
|
|
return sequenceExpression$7([this.receiver(member), callExpression$e(file.addHelper("writeOnlyError"), [stringLiteral$8("#" + name)])]);
|
|
}
|
|
console.warn("@babel/helpers is outdated, update it to silence this warning.");
|
|
}
|
|
return callExpression$e(file.addHelper("classPrivateFieldGet"), [this.receiver(member), cloneNode$j(id)]);
|
|
}
|
|
return callExpression$e(file.addHelper("classPrivateMethodGet"), [this.receiver(member), cloneNode$j(id), cloneNode$j(methodId)]);
|
|
}
|
|
return callExpression$e(file.addHelper("classPrivateFieldGet"), [this.receiver(member), cloneNode$j(id)]);
|
|
},
|
|
boundGet: function boundGet(member) {
|
|
this.memoise(member, 1);
|
|
return callExpression$e(memberExpression$c(this.get(member), identifier$i("bind")), [this.receiver(member)]);
|
|
},
|
|
set: function set(member, value) {
|
|
var classRef = this.classRef,
|
|
privateNamesMap = this.privateNamesMap,
|
|
file = this.file;
|
|
var name = member.node.property.id.name;
|
|
var _privateNamesMap$get4 = privateNamesMap.get(name),
|
|
id = _privateNamesMap$get4.id,
|
|
isStatic = _privateNamesMap$get4["static"],
|
|
isMethod = _privateNamesMap$get4.method,
|
|
setId = _privateNamesMap$get4.setId,
|
|
getId = _privateNamesMap$get4.getId;
|
|
var isAccessor = getId || setId;
|
|
if (isStatic) {
|
|
var helperName = isMethod && !isAccessor ? "classStaticPrivateMethodSet" : "classStaticPrivateFieldSpecSet";
|
|
return callExpression$e(file.addHelper(helperName), [this.receiver(member), cloneNode$j(classRef), cloneNode$j(id), value]);
|
|
}
|
|
if (isMethod) {
|
|
if (setId) {
|
|
return callExpression$e(file.addHelper("classPrivateFieldSet"), [this.receiver(member), cloneNode$j(id), value]);
|
|
}
|
|
return sequenceExpression$7([this.receiver(member), value, callExpression$e(file.addHelper("readOnlyError"), [stringLiteral$8("#" + name)])]);
|
|
}
|
|
return callExpression$e(file.addHelper("classPrivateFieldSet"), [this.receiver(member), cloneNode$j(id), value]);
|
|
},
|
|
destructureSet: function destructureSet(member) {
|
|
var classRef = this.classRef,
|
|
privateNamesMap = this.privateNamesMap,
|
|
file = this.file;
|
|
var name = member.node.property.id.name;
|
|
var _privateNamesMap$get5 = privateNamesMap.get(name),
|
|
id = _privateNamesMap$get5.id,
|
|
isStatic = _privateNamesMap$get5["static"];
|
|
if (isStatic) {
|
|
try {
|
|
var helper = file.addHelper("classStaticPrivateFieldDestructureSet");
|
|
} catch (_unused) {
|
|
throw new Error("Babel can not transpile `[C.#p] = [0]` with @babel/helpers < 7.13.10, \n" + "please update @babel/helpers to the latest version.");
|
|
}
|
|
return memberExpression$c(callExpression$e(helper, [this.receiver(member), cloneNode$j(classRef), cloneNode$j(id)]), identifier$i("value"));
|
|
}
|
|
return memberExpression$c(callExpression$e(file.addHelper("classPrivateFieldDestructureSet"), [this.receiver(member), cloneNode$j(id)]), identifier$i("value"));
|
|
},
|
|
call: function call(member, args) {
|
|
this.memoise(member, 1);
|
|
return optimiseCallExpression(this.get(member), this.receiver(member), args, false);
|
|
},
|
|
optionalCall: function optionalCall(member, args) {
|
|
this.memoise(member, 1);
|
|
return optimiseCallExpression(this.get(member), this.receiver(member), args, true);
|
|
},
|
|
"delete": function _delete() {
|
|
throw new Error("Internal Babel error: deleting private elements is a parsing error.");
|
|
}
|
|
};
|
|
var privateNameHandlerLoose = {
|
|
get: function get(member) {
|
|
var privateNamesMap = this.privateNamesMap,
|
|
file = this.file;
|
|
var object = member.node.object;
|
|
var name = member.node.property.id.name;
|
|
return template$2.expression(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteralLoose(["BASE(REF, PROP)[PROP]"])))({
|
|
BASE: file.addHelper("classPrivateFieldLooseBase"),
|
|
REF: cloneNode$j(object),
|
|
PROP: cloneNode$j(privateNamesMap.get(name).id)
|
|
});
|
|
},
|
|
set: function set() {
|
|
throw new Error("private name handler with loose = true don't need set()");
|
|
},
|
|
boundGet: function boundGet(member) {
|
|
return callExpression$e(memberExpression$c(this.get(member), identifier$i("bind")), [cloneNode$j(member.node.object)]);
|
|
},
|
|
simpleSet: function simpleSet(member) {
|
|
return this.get(member);
|
|
},
|
|
destructureSet: function destructureSet(member) {
|
|
return this.get(member);
|
|
},
|
|
call: function call(member, args) {
|
|
return callExpression$e(this.get(member), args);
|
|
},
|
|
optionalCall: function optionalCall(member, args) {
|
|
return optionalCallExpression$2(this.get(member), args, true);
|
|
},
|
|
"delete": function _delete() {
|
|
throw new Error("Internal Babel error: deleting private elements is a parsing error.");
|
|
}
|
|
};
|
|
function transformPrivateNamesUsage(ref, path, privateNamesMap, _ref5, state) {
|
|
var privateFieldsAsProperties = _ref5.privateFieldsAsProperties,
|
|
noDocumentAll = _ref5.noDocumentAll,
|
|
innerBinding = _ref5.innerBinding;
|
|
if (!privateNamesMap.size) return;
|
|
var body = path.get("body");
|
|
var handler = privateFieldsAsProperties ? privateNameHandlerLoose : privateNameHandlerSpec;
|
|
memberExpressionToFunctions(body, privateNameVisitor, Object.assign({
|
|
privateNamesMap: privateNamesMap,
|
|
classRef: ref,
|
|
file: state
|
|
}, handler, {
|
|
noDocumentAll: noDocumentAll,
|
|
innerBinding: innerBinding
|
|
}));
|
|
body.traverse(privateInVisitor, {
|
|
privateNamesMap: privateNamesMap,
|
|
classRef: ref,
|
|
file: state,
|
|
privateFieldsAsProperties: privateFieldsAsProperties,
|
|
innerBinding: innerBinding
|
|
});
|
|
}
|
|
function buildPrivateFieldInitLoose(ref, prop, privateNamesMap) {
|
|
var _privateNamesMap$get6 = privateNamesMap.get(prop.node.key.id.name),
|
|
id = _privateNamesMap$get6.id;
|
|
var value = prop.node.value || prop.scope.buildUndefinedNode();
|
|
return inheritPropComments(template$2.statement.ast(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(", ", ", ", {\n // configurable is false by default\n // enumerable is false by default\n writable: true,\n value: ", "\n });\n "])), ref, cloneNode$j(id), value), prop);
|
|
}
|
|
function buildPrivateInstanceFieldInitSpec(ref, prop, privateNamesMap, state) {
|
|
var _privateNamesMap$get7 = privateNamesMap.get(prop.node.key.id.name),
|
|
id = _privateNamesMap$get7.id;
|
|
var value = prop.node.value || prop.scope.buildUndefinedNode();
|
|
{
|
|
if (!state.availableHelper("classPrivateFieldInitSpec")) {
|
|
return inheritPropComments(template$2.statement.ast(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteralLoose(["", ".set(", ", {\n // configurable is always false for private elements\n // enumerable is always false for private elements\n writable: true,\n value: ", ",\n })"])), cloneNode$j(id), ref, value), prop);
|
|
}
|
|
}
|
|
var helper = state.addHelper("classPrivateFieldInitSpec");
|
|
return inheritPropComments(template$2.statement.ast(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["", "(\n ", ",\n ", ",\n {\n writable: true,\n value: ", "\n },\n )"])), helper, thisExpression$4(), cloneNode$j(id), value), prop);
|
|
}
|
|
function buildPrivateStaticFieldInitSpec(prop, privateNamesMap) {
|
|
var privateName = privateNamesMap.get(prop.node.key.id.name);
|
|
var id = privateName.id,
|
|
getId = privateName.getId,
|
|
setId = privateName.setId,
|
|
initAdded = privateName.initAdded;
|
|
var isAccessor = getId || setId;
|
|
if (!prop.isProperty() && (initAdded || !isAccessor)) return;
|
|
if (isAccessor) {
|
|
privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
|
|
initAdded: true
|
|
}));
|
|
return inheritPropComments(template$2.statement.ast(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n var ", " = {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n get: ", ",\n set: ", "\n }\n "])), cloneNode$j(id), getId ? getId.name : prop.scope.buildUndefinedNode(), setId ? setId.name : prop.scope.buildUndefinedNode()), prop);
|
|
}
|
|
var value = prop.node.value || prop.scope.buildUndefinedNode();
|
|
return inheritPropComments(template$2.statement.ast(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n var ", " = {\n // configurable is false by default\n // enumerable is false by default\n writable: true,\n value: ", "\n };\n "])), cloneNode$j(id), value), prop);
|
|
}
|
|
function buildPrivateMethodInitLoose(ref, prop, privateNamesMap) {
|
|
var privateName = privateNamesMap.get(prop.node.key.id.name);
|
|
var methodId = privateName.methodId,
|
|
id = privateName.id,
|
|
getId = privateName.getId,
|
|
setId = privateName.setId,
|
|
initAdded = privateName.initAdded;
|
|
if (initAdded) return;
|
|
if (methodId) {
|
|
return inheritPropComments(template$2.statement.ast(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(", ", ", ", {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n value: ", "\n });\n "])), ref, id, methodId.name), prop);
|
|
}
|
|
var isAccessor = getId || setId;
|
|
if (isAccessor) {
|
|
privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
|
|
initAdded: true
|
|
}));
|
|
return inheritPropComments(template$2.statement.ast(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(", ", ", ", {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n get: ", ",\n set: ", "\n });\n "])), ref, id, getId ? getId.name : prop.scope.buildUndefinedNode(), setId ? setId.name : prop.scope.buildUndefinedNode()), prop);
|
|
}
|
|
}
|
|
function buildPrivateInstanceMethodInitSpec(ref, prop, privateNamesMap, state) {
|
|
var privateName = privateNamesMap.get(prop.node.key.id.name);
|
|
var getId = privateName.getId,
|
|
setId = privateName.setId,
|
|
initAdded = privateName.initAdded;
|
|
if (initAdded) return;
|
|
var isAccessor = getId || setId;
|
|
if (isAccessor) {
|
|
return buildPrivateAccessorInitialization(ref, prop, privateNamesMap, state);
|
|
}
|
|
return buildPrivateInstanceMethodInitialization(ref, prop, privateNamesMap, state);
|
|
}
|
|
function buildPrivateAccessorInitialization(ref, prop, privateNamesMap, state) {
|
|
var privateName = privateNamesMap.get(prop.node.key.id.name);
|
|
var id = privateName.id,
|
|
getId = privateName.getId,
|
|
setId = privateName.setId;
|
|
privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
|
|
initAdded: true
|
|
}));
|
|
{
|
|
if (!state.availableHelper("classPrivateFieldInitSpec")) {
|
|
return inheritPropComments(template$2.statement.ast(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n ", ".set(", ", {\n get: ", ",\n set: ", "\n });\n "])), id, ref, getId ? getId.name : prop.scope.buildUndefinedNode(), setId ? setId.name : prop.scope.buildUndefinedNode()), prop);
|
|
}
|
|
}
|
|
var helper = state.addHelper("classPrivateFieldInitSpec");
|
|
return inheritPropComments(template$2.statement.ast(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["", "(\n ", ",\n ", ",\n {\n get: ", ",\n set: ", "\n },\n )"])), helper, thisExpression$4(), cloneNode$j(id), getId ? getId.name : prop.scope.buildUndefinedNode(), setId ? setId.name : prop.scope.buildUndefinedNode()), prop);
|
|
}
|
|
function buildPrivateInstanceMethodInitialization(ref, prop, privateNamesMap, state) {
|
|
var privateName = privateNamesMap.get(prop.node.key.id.name);
|
|
var id = privateName.id;
|
|
{
|
|
if (!state.availableHelper("classPrivateMethodInitSpec")) {
|
|
return inheritPropComments(template$2.statement.ast(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["", ".add(", ")"])), id, ref), prop);
|
|
}
|
|
}
|
|
var helper = state.addHelper("classPrivateMethodInitSpec");
|
|
return inheritPropComments(template$2.statement.ast(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["", "(\n ", ",\n ", "\n )"])), helper, thisExpression$4(), cloneNode$j(id)), prop);
|
|
}
|
|
function buildPublicFieldInitLoose(ref, prop) {
|
|
var _prop$node = prop.node,
|
|
key = _prop$node.key,
|
|
computed = _prop$node.computed;
|
|
var value = prop.node.value || prop.scope.buildUndefinedNode();
|
|
return inheritPropComments(expressionStatement$a(assignmentExpression$d("=", memberExpression$c(ref, key, computed || isLiteral$6(key)), value)), prop);
|
|
}
|
|
function buildPublicFieldInitSpec(ref, prop, state) {
|
|
var _prop$node2 = prop.node,
|
|
key = _prop$node2.key,
|
|
computed = _prop$node2.computed;
|
|
var value = prop.node.value || prop.scope.buildUndefinedNode();
|
|
return inheritPropComments(expressionStatement$a(callExpression$e(state.addHelper("defineProperty"), [ref, computed || isLiteral$6(key) ? key : stringLiteral$8(key.name), value])), prop);
|
|
}
|
|
function buildPrivateStaticMethodInitLoose(ref, prop, state, privateNamesMap) {
|
|
var privateName = privateNamesMap.get(prop.node.key.id.name);
|
|
var id = privateName.id,
|
|
methodId = privateName.methodId,
|
|
getId = privateName.getId,
|
|
setId = privateName.setId,
|
|
initAdded = privateName.initAdded;
|
|
if (initAdded) return;
|
|
var isAccessor = getId || setId;
|
|
if (isAccessor) {
|
|
privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
|
|
initAdded: true
|
|
}));
|
|
return inheritPropComments(template$2.statement.ast(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(", ", ", ", {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n get: ", ",\n set: ", "\n })\n "])), ref, id, getId ? getId.name : prop.scope.buildUndefinedNode(), setId ? setId.name : prop.scope.buildUndefinedNode()), prop);
|
|
}
|
|
return inheritPropComments(template$2.statement.ast(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(", ", ", ", {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n value: ", "\n });\n "])), ref, id, methodId.name), prop);
|
|
}
|
|
function buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties) {
|
|
if (privateFieldsAsProperties === void 0) {
|
|
privateFieldsAsProperties = false;
|
|
}
|
|
var privateName = privateNamesMap.get(prop.node.key.id.name);
|
|
var id = privateName.id,
|
|
methodId = privateName.methodId,
|
|
getId = privateName.getId,
|
|
setId = privateName.setId,
|
|
getterDeclared = privateName.getterDeclared,
|
|
setterDeclared = privateName.setterDeclared,
|
|
isStatic = privateName["static"];
|
|
var _prop$node3 = prop.node,
|
|
params = _prop$node3.params,
|
|
body = _prop$node3.body,
|
|
generator = _prop$node3.generator,
|
|
async = _prop$node3.async;
|
|
var isGetter = getId && !getterDeclared && params.length === 0;
|
|
var isSetter = setId && !setterDeclared && params.length > 0;
|
|
var declId = methodId;
|
|
if (isGetter) {
|
|
privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
|
|
getterDeclared: true
|
|
}));
|
|
declId = getId;
|
|
} else if (isSetter) {
|
|
privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, {
|
|
setterDeclared: true
|
|
}));
|
|
declId = setId;
|
|
} else if (isStatic && !privateFieldsAsProperties) {
|
|
declId = id;
|
|
}
|
|
return inheritPropComments(functionDeclaration(cloneNode$j(declId), params, body, generator, async), prop);
|
|
}
|
|
var thisContextVisitor = traverse.visitors.merge([{
|
|
ThisExpression: function ThisExpression(path, state) {
|
|
var parent = path.findParent(function (path) {
|
|
return !isTransparentExprWrapper(path.node);
|
|
});
|
|
if (isUnaryExpression$1(parent.node, {
|
|
operator: "delete"
|
|
})) {
|
|
path.parentPath.replaceWith(booleanLiteral$4(true));
|
|
return;
|
|
}
|
|
state.needsClassRef = true;
|
|
path.replaceWith(cloneNode$j(state.classRef));
|
|
},
|
|
MetaProperty: function MetaProperty(path) {
|
|
var meta = path.get("meta");
|
|
var property = path.get("property");
|
|
var scope = path.scope;
|
|
if (meta.isIdentifier({
|
|
name: "new"
|
|
}) && property.isIdentifier({
|
|
name: "target"
|
|
})) {
|
|
path.replaceWith(scope.buildUndefinedNode());
|
|
}
|
|
}
|
|
}, visitor$5]);
|
|
var innerReferencesVisitor = {
|
|
ReferencedIdentifier: function ReferencedIdentifier(path, state) {
|
|
if (path.scope.bindingIdentifierEquals(path.node.name, state.innerBinding)) {
|
|
state.needsClassRef = true;
|
|
path.node.name = state.classRef.name;
|
|
}
|
|
}
|
|
};
|
|
function replaceThisContext(path, ref, getSuperRef, file, isStaticBlock$1, constantSuper, innerBindingRef) {
|
|
var _state$classRef;
|
|
var state = {
|
|
classRef: ref,
|
|
needsClassRef: false,
|
|
innerBinding: innerBindingRef
|
|
};
|
|
var replacer = new ReplaceSupers({
|
|
methodPath: path,
|
|
constantSuper: constantSuper,
|
|
file: file,
|
|
refToPreserve: ref,
|
|
getSuperRef: getSuperRef,
|
|
getObjectRef: function getObjectRef() {
|
|
state.needsClassRef = true;
|
|
return isStaticBlock != null && isStaticBlock(path.node) || path.node["static"] ? ref : memberExpression$c(ref, identifier$i("prototype"));
|
|
}
|
|
});
|
|
replacer.replace();
|
|
if (isStaticBlock$1 || path.isProperty()) {
|
|
path.traverse(thisContextVisitor, state);
|
|
}
|
|
if (innerBindingRef != null && (_state$classRef = state.classRef) != null && _state$classRef.name && state.classRef.name !== (innerBindingRef == null ? void 0 : innerBindingRef.name)) {
|
|
path.traverse(innerReferencesVisitor, state);
|
|
}
|
|
return state.needsClassRef;
|
|
}
|
|
function isNameOrLength(_ref6) {
|
|
var key = _ref6.key,
|
|
computed = _ref6.computed;
|
|
if (key.type === "Identifier") {
|
|
return !computed && (key.name === "name" || key.name === "length");
|
|
}
|
|
if (key.type === "StringLiteral") {
|
|
return key.value === "name" || key.value === "length";
|
|
}
|
|
return false;
|
|
}
|
|
function inheritPropComments(node, prop) {
|
|
inheritLeadingComments$1(node, prop.node);
|
|
inheritInnerComments(node, prop.node);
|
|
return node;
|
|
}
|
|
function buildFieldsInitNodes(ref, superRef, props, privateNamesMap, state, setPublicClassFields, privateFieldsAsProperties, constantSuper, innerBindingRef) {
|
|
var needsClassRef = false;
|
|
var injectSuperRef;
|
|
var staticNodes = [];
|
|
var instanceNodes = [];
|
|
var pureStaticNodes = [];
|
|
var getSuperRef = isIdentifier$j(superRef) ? function () {
|
|
return superRef;
|
|
} : function () {
|
|
var _injectSuperRef;
|
|
(_injectSuperRef = injectSuperRef) != null ? _injectSuperRef : injectSuperRef = props[0].scope.generateUidIdentifierBasedOnNode(superRef);
|
|
return injectSuperRef;
|
|
};
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(props), _step4; !(_step4 = _iterator4()).done;) {
|
|
var prop = _step4.value;
|
|
prop.isClassProperty() && assertFieldTransformed(prop);
|
|
var isStatic = !(isStaticBlock != null && isStaticBlock(prop.node)) && prop.node["static"];
|
|
var isInstance = !isStatic;
|
|
var isPrivate = prop.isPrivate();
|
|
var isPublic = !isPrivate;
|
|
var isField = prop.isProperty();
|
|
var isMethod = !isField;
|
|
var isStaticBlock$1 = prop.isStaticBlock == null ? void 0 : prop.isStaticBlock();
|
|
if (isStatic || isMethod && isPrivate || isStaticBlock$1) {
|
|
var replaced = replaceThisContext(prop, ref, getSuperRef, state, isStaticBlock$1, constantSuper, innerBindingRef);
|
|
needsClassRef = needsClassRef || replaced;
|
|
}
|
|
switch (true) {
|
|
case isStaticBlock$1:
|
|
{
|
|
var blockBody = prop.node.body;
|
|
if (blockBody.length === 1 && isExpressionStatement$3(blockBody[0])) {
|
|
staticNodes.push(inheritPropComments(blockBody[0], prop));
|
|
} else {
|
|
staticNodes.push(inheritsComments$1(template$2.statement.ast(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["(() => { ", " })()"])), blockBody), prop.node));
|
|
}
|
|
break;
|
|
}
|
|
case isStatic && isPrivate && isField && privateFieldsAsProperties:
|
|
needsClassRef = true;
|
|
staticNodes.push(buildPrivateFieldInitLoose(cloneNode$j(ref), prop, privateNamesMap));
|
|
break;
|
|
case isStatic && isPrivate && isField && !privateFieldsAsProperties:
|
|
needsClassRef = true;
|
|
staticNodes.push(buildPrivateStaticFieldInitSpec(prop, privateNamesMap));
|
|
break;
|
|
case isStatic && isPublic && isField && setPublicClassFields:
|
|
if (!isNameOrLength(prop.node)) {
|
|
needsClassRef = true;
|
|
staticNodes.push(buildPublicFieldInitLoose(cloneNode$j(ref), prop));
|
|
break;
|
|
}
|
|
case isStatic && isPublic && isField && !setPublicClassFields:
|
|
needsClassRef = true;
|
|
staticNodes.push(buildPublicFieldInitSpec(cloneNode$j(ref), prop, state));
|
|
break;
|
|
case isInstance && isPrivate && isField && privateFieldsAsProperties:
|
|
instanceNodes.push(buildPrivateFieldInitLoose(thisExpression$4(), prop, privateNamesMap));
|
|
break;
|
|
case isInstance && isPrivate && isField && !privateFieldsAsProperties:
|
|
instanceNodes.push(buildPrivateInstanceFieldInitSpec(thisExpression$4(), prop, privateNamesMap, state));
|
|
break;
|
|
case isInstance && isPrivate && isMethod && privateFieldsAsProperties:
|
|
instanceNodes.unshift(buildPrivateMethodInitLoose(thisExpression$4(), prop, privateNamesMap));
|
|
pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties));
|
|
break;
|
|
case isInstance && isPrivate && isMethod && !privateFieldsAsProperties:
|
|
instanceNodes.unshift(buildPrivateInstanceMethodInitSpec(thisExpression$4(), prop, privateNamesMap, state));
|
|
pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties));
|
|
break;
|
|
case isStatic && isPrivate && isMethod && !privateFieldsAsProperties:
|
|
needsClassRef = true;
|
|
staticNodes.unshift(buildPrivateStaticFieldInitSpec(prop, privateNamesMap));
|
|
pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties));
|
|
break;
|
|
case isStatic && isPrivate && isMethod && privateFieldsAsProperties:
|
|
needsClassRef = true;
|
|
staticNodes.unshift(buildPrivateStaticMethodInitLoose(cloneNode$j(ref), prop, state, privateNamesMap));
|
|
pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties));
|
|
break;
|
|
case isInstance && isPublic && isField && setPublicClassFields:
|
|
instanceNodes.push(buildPublicFieldInitLoose(thisExpression$4(), prop));
|
|
break;
|
|
case isInstance && isPublic && isField && !setPublicClassFields:
|
|
instanceNodes.push(buildPublicFieldInitSpec(thisExpression$4(), prop, state));
|
|
break;
|
|
default:
|
|
throw new Error("Unreachable.");
|
|
}
|
|
}
|
|
return {
|
|
staticNodes: staticNodes.filter(Boolean),
|
|
instanceNodes: instanceNodes.filter(Boolean),
|
|
pureStaticNodes: pureStaticNodes.filter(Boolean),
|
|
wrapClass: function wrapClass(path) {
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(props), _step5; !(_step5 = _iterator5()).done;) {
|
|
var prop = _step5.value;
|
|
prop.node.leadingComments = null;
|
|
prop.remove();
|
|
}
|
|
if (injectSuperRef) {
|
|
path.scope.push({
|
|
id: cloneNode$j(injectSuperRef)
|
|
});
|
|
path.set("superClass", assignmentExpression$d("=", injectSuperRef, path.node.superClass));
|
|
}
|
|
if (!needsClassRef) return path;
|
|
if (path.isClassExpression()) {
|
|
path.scope.push({
|
|
id: ref
|
|
});
|
|
path.replaceWith(assignmentExpression$d("=", cloneNode$j(ref), path.node));
|
|
} else if (!path.node.id) {
|
|
path.node.id = ref;
|
|
}
|
|
return path;
|
|
}
|
|
};
|
|
}
|
|
|
|
var _templateObject$o, _templateObject2$a, _templateObject3$9, _templateObject4$4;
|
|
function hasOwnDecorators(node) {
|
|
return !!(node.decorators && node.decorators.length);
|
|
}
|
|
function hasDecorators(node) {
|
|
return hasOwnDecorators(node) || node.body.body.some(hasOwnDecorators);
|
|
}
|
|
function prop(key, value) {
|
|
if (!value) return null;
|
|
return objectProperty$1(identifier$i(key), value);
|
|
}
|
|
function method(key, body) {
|
|
return objectMethod("method", identifier$i(key), [], blockStatement$6(body));
|
|
}
|
|
function takeDecorators(node) {
|
|
var result;
|
|
if (node.decorators && node.decorators.length > 0) {
|
|
result = arrayExpression$1(node.decorators.map(function (decorator) {
|
|
return decorator.expression;
|
|
}));
|
|
}
|
|
node.decorators = undefined;
|
|
return result;
|
|
}
|
|
function getKey(node) {
|
|
if (node.computed) {
|
|
return node.key;
|
|
} else if (isIdentifier$j(node.key)) {
|
|
return stringLiteral$8(node.key.name);
|
|
} else {
|
|
return stringLiteral$8(String(node.key.value));
|
|
}
|
|
}
|
|
function extractElementDescriptor(file, classRef, superRef, path) {
|
|
var isMethod = path.isClassMethod();
|
|
if (path.isPrivate()) {
|
|
throw path.buildCodeFrameError("Private " + (isMethod ? "methods" : "fields") + " in decorated classes are not supported yet.");
|
|
}
|
|
if (path.node.type === "ClassAccessorProperty") {
|
|
throw path.buildCodeFrameError("Accessor properties are not supported in 2018-09 decorator transform, please specify { \"version\": \"2021-12\" } instead.");
|
|
}
|
|
if (path.node.type === "StaticBlock") {
|
|
throw path.buildCodeFrameError("Static blocks are not supported in 2018-09 decorator transform, please specify { \"version\": \"2021-12\" } instead.");
|
|
}
|
|
var _ref = path,
|
|
node = _ref.node,
|
|
scope = _ref.scope;
|
|
if (!path.isTSDeclareMethod()) {
|
|
new ReplaceSupers({
|
|
methodPath: path,
|
|
objectRef: classRef,
|
|
superRef: superRef,
|
|
file: file,
|
|
refToPreserve: classRef
|
|
}).replace();
|
|
}
|
|
var properties = [prop("kind", stringLiteral$8(isClassMethod(node) ? node.kind : "field")), prop("decorators", takeDecorators(node)), prop("static", node["static"] && booleanLiteral$4(true)), prop("key", getKey(node))].filter(Boolean);
|
|
if (isClassMethod(node)) {
|
|
var id = node.computed ? null : node.key;
|
|
var transformed = toExpression$1(node);
|
|
properties.push(prop("value", nameFunction({
|
|
node: transformed,
|
|
id: id,
|
|
scope: scope
|
|
}) || transformed));
|
|
} else if (isClassProperty(node) && node.value) {
|
|
properties.push(method("value", template$2.statements.ast(_templateObject$o || (_templateObject$o = _taggedTemplateLiteralLoose(["return ", ""])), node.value)));
|
|
} else {
|
|
properties.push(prop("value", scope.buildUndefinedNode()));
|
|
}
|
|
path.remove();
|
|
return objectExpression$3(properties);
|
|
}
|
|
function addDecorateHelper(file) {
|
|
return file.addHelper("decorate");
|
|
}
|
|
function buildDecoratedClass(ref, path, elements, file) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var initializeId = scope.generateUidIdentifier("initialize");
|
|
var isDeclaration = node.id && path.isDeclaration();
|
|
var isStrict = path.isInStrictMode();
|
|
var superClass = node.superClass;
|
|
node.type = "ClassDeclaration";
|
|
if (!node.id) node.id = cloneNode$j(ref);
|
|
var superId;
|
|
if (superClass) {
|
|
superId = scope.generateUidIdentifierBasedOnNode(node.superClass, "super");
|
|
node.superClass = superId;
|
|
}
|
|
var classDecorators = takeDecorators(node);
|
|
var definitions = arrayExpression$1(elements.filter(function (element) {
|
|
return !element.node["abstract"] && element.node.type !== "TSIndexSignature";
|
|
}).map(function (path) {
|
|
return extractElementDescriptor(file, node.id, superId, path);
|
|
}));
|
|
var wrapperCall = template$2.expression.ast(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteralLoose(["\n ", "(\n ", ",\n function (", ", ", ") {\n ", "\n return { F: ", ", d: ", " };\n },\n ", "\n )\n "])), addDecorateHelper(file), classDecorators || nullLiteral$2(), initializeId, superClass ? cloneNode$j(superId) : null, node, cloneNode$j(node.id), definitions, superClass);
|
|
if (!isStrict) {
|
|
wrapperCall.arguments[1].body.directives.push(directive$1(directiveLiteral$1("use strict")));
|
|
}
|
|
var replacement = wrapperCall;
|
|
var classPathDesc = "arguments.1.body.body.0";
|
|
if (isDeclaration) {
|
|
replacement = template$2.statement.ast(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteralLoose(["let ", " = ", ""])), ref, wrapperCall);
|
|
classPathDesc = "declarations.0.init." + classPathDesc;
|
|
}
|
|
return {
|
|
instanceNodes: [template$2.statement.ast(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteralLoose(["", "(this)"])), cloneNode$j(initializeId))],
|
|
wrapClass: function wrapClass(path) {
|
|
path.replaceWith(replacement);
|
|
return path.get(classPathDesc);
|
|
}
|
|
};
|
|
}
|
|
|
|
var _templateObject$n;
|
|
var findBareSupers = traverse.visitors.merge([{
|
|
Super: function Super(path) {
|
|
var node = path.node,
|
|
parentPath = path.parentPath;
|
|
if (parentPath.isCallExpression({
|
|
callee: node
|
|
})) {
|
|
this.push(parentPath);
|
|
}
|
|
}
|
|
}, visitor$5]);
|
|
var referenceVisitor = {
|
|
"TSTypeAnnotation|TypeAnnotation": function TSTypeAnnotationTypeAnnotation(path) {
|
|
path.skip();
|
|
},
|
|
ReferencedIdentifier: function ReferencedIdentifier(path, _ref) {
|
|
var scope = _ref.scope;
|
|
if (scope.hasOwnBinding(path.node.name)) {
|
|
scope.rename(path.node.name);
|
|
path.skip();
|
|
}
|
|
}
|
|
};
|
|
function handleClassTDZ(path, state) {
|
|
if (state.classBinding && state.classBinding === path.scope.getBinding(path.node.name)) {
|
|
var classNameTDZError = state.file.addHelper("classNameTDZError");
|
|
var throwNode = callExpression$e(classNameTDZError, [stringLiteral$8(path.node.name)]);
|
|
path.replaceWith(sequenceExpression$7([throwNode, path.node]));
|
|
path.skip();
|
|
}
|
|
}
|
|
var classFieldDefinitionEvaluationTDZVisitor = {
|
|
ReferencedIdentifier: handleClassTDZ
|
|
};
|
|
function injectInitialization(path, constructor, nodes, renamer) {
|
|
if (!nodes.length) return;
|
|
var isDerived = !!path.node.superClass;
|
|
if (!constructor) {
|
|
var newConstructor = classMethod("constructor", identifier$i("constructor"), [], blockStatement$6([]));
|
|
if (isDerived) {
|
|
newConstructor.params = [restElement$2(identifier$i("args"))];
|
|
newConstructor.body.body.push(template$2.statement.ast(_templateObject$n || (_templateObject$n = _taggedTemplateLiteralLoose(["super(...args)"]))));
|
|
}
|
|
var _ref2 = path.get("body").unshiftContainer("body", newConstructor);
|
|
var _ref3 = _slicedToArray(_ref2, 1);
|
|
constructor = _ref3[0];
|
|
}
|
|
if (renamer) {
|
|
renamer(referenceVisitor, {
|
|
scope: constructor.scope
|
|
});
|
|
}
|
|
if (isDerived) {
|
|
var bareSupers = [];
|
|
constructor.traverse(findBareSupers, bareSupers);
|
|
var isFirst = true;
|
|
for (var _i = 0, _bareSupers = bareSupers; _i < _bareSupers.length; _i++) {
|
|
var bareSuper = _bareSupers[_i];
|
|
if (isFirst) {
|
|
bareSuper.insertAfter(nodes);
|
|
isFirst = false;
|
|
} else {
|
|
bareSuper.insertAfter(nodes.map(function (n) {
|
|
return cloneNode$j(n);
|
|
}));
|
|
}
|
|
}
|
|
} else {
|
|
constructor.get("body").unshiftContainer("body", nodes);
|
|
}
|
|
}
|
|
function extractComputedKeys(path, computedPaths, file) {
|
|
var declarations = [];
|
|
var state = {
|
|
classBinding: path.node.id && path.scope.getBinding(path.node.id.name),
|
|
file: file
|
|
};
|
|
for (var _iterator = _createForOfIteratorHelperLoose(computedPaths), _step; !(_step = _iterator()).done;) {
|
|
var computedPath = _step.value;
|
|
var computedKey = computedPath.get("key");
|
|
if (computedKey.isReferencedIdentifier()) {
|
|
handleClassTDZ(computedKey, state);
|
|
} else {
|
|
computedKey.traverse(classFieldDefinitionEvaluationTDZVisitor, state);
|
|
}
|
|
var computedNode = computedPath.node;
|
|
if (!computedKey.isConstantExpression()) {
|
|
var ident = path.scope.generateUidIdentifierBasedOnNode(computedNode.key);
|
|
path.scope.push({
|
|
id: ident,
|
|
kind: "let"
|
|
});
|
|
declarations.push(expressionStatement$a(assignmentExpression$d("=", cloneNode$j(ident), computedNode.key)));
|
|
computedNode.key = cloneNode$j(ident);
|
|
}
|
|
}
|
|
return declarations;
|
|
}
|
|
|
|
var FEATURES$1 = Object.freeze({
|
|
fields: 1 << 1,
|
|
privateMethods: 1 << 2,
|
|
decorators: 1 << 3,
|
|
privateIn: 1 << 4,
|
|
staticBlocks: 1 << 5
|
|
});
|
|
var featuresSameLoose = new Map([[FEATURES$1.fields, "@babel/plugin-proposal-class-properties"], [FEATURES$1.privateMethods, "@babel/plugin-proposal-private-methods"], [FEATURES$1.privateIn, "@babel/plugin-proposal-private-property-in-object"]]);
|
|
var featuresKey$1 = "@babel/plugin-class-features/featuresKey";
|
|
var looseKey = "@babel/plugin-class-features/looseKey";
|
|
var looseLowPriorityKey = "@babel/plugin-class-features/looseLowPriorityKey/#__internal__@babel/preset-env__please-overwrite-loose-instead-of-throwing";
|
|
function enableFeature$1(file, feature, loose) {
|
|
if (!hasFeature$1(file, feature) || canIgnoreLoose(file, feature)) {
|
|
file.set(featuresKey$1, file.get(featuresKey$1) | feature);
|
|
if (loose === "#__internal__@babel/preset-env__prefer-true-but-false-is-ok-if-it-prevents-an-error") {
|
|
setLoose(file, feature, true);
|
|
file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) | feature);
|
|
} else if (loose === "#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error") {
|
|
setLoose(file, feature, false);
|
|
file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) | feature);
|
|
} else {
|
|
setLoose(file, feature, loose);
|
|
}
|
|
}
|
|
var resolvedLoose;
|
|
var higherPriorityPluginName;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(featuresSameLoose), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
_mask = _step$value[0],
|
|
_name = _step$value[1];
|
|
if (!hasFeature$1(file, _mask)) continue;
|
|
var _loose = isLoose(file, _mask);
|
|
if (canIgnoreLoose(file, _mask)) {
|
|
continue;
|
|
} else if (resolvedLoose === !_loose) {
|
|
throw new Error("'loose' mode configuration must be the same for @babel/plugin-proposal-class-properties, " + "@babel/plugin-proposal-private-methods and " + "@babel/plugin-proposal-private-property-in-object (when they are enabled).");
|
|
} else {
|
|
resolvedLoose = _loose;
|
|
higherPriorityPluginName = _name;
|
|
}
|
|
}
|
|
if (resolvedLoose !== undefined) {
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(featuresSameLoose), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
mask = _step2$value[0],
|
|
name = _step2$value[1];
|
|
if (hasFeature$1(file, mask) && isLoose(file, mask) !== resolvedLoose) {
|
|
setLoose(file, mask, resolvedLoose);
|
|
console.warn("Though the \"loose\" option was set to \"" + !resolvedLoose + "\" in your @babel/preset-env " + ("config, it will not be used for " + name + " since the \"loose\" mode option was set to ") + ("\"" + resolvedLoose + "\" for " + higherPriorityPluginName + ".\nThe \"loose\" option must be the ") + "same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods " + "and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can " + "silence this warning by explicitly adding\n" + ("\t[\"" + name + "\", { \"loose\": " + resolvedLoose + " }]\n") + "to the \"plugins\" section of your Babel config.");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function hasFeature$1(file, feature) {
|
|
return !!(file.get(featuresKey$1) & feature);
|
|
}
|
|
function isLoose(file, feature) {
|
|
return !!(file.get(looseKey) & feature);
|
|
}
|
|
function setLoose(file, feature, loose) {
|
|
if (loose) file.set(looseKey, file.get(looseKey) | feature);else file.set(looseKey, file.get(looseKey) & ~feature);
|
|
file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) & ~feature);
|
|
}
|
|
function canIgnoreLoose(file, feature) {
|
|
return !!(file.get(looseLowPriorityKey) & feature);
|
|
}
|
|
function shouldTransform$2(path, file) {
|
|
var decoratorPath = null;
|
|
var publicFieldPath = null;
|
|
var privateFieldPath = null;
|
|
var privateMethodPath = null;
|
|
var staticBlockPath = null;
|
|
if (hasOwnDecorators(path.node)) {
|
|
decoratorPath = path.get("decorators.0");
|
|
}
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(path.get("body.body")), _step3; !(_step3 = _iterator3()).done;) {
|
|
var el = _step3.value;
|
|
if (!decoratorPath && hasOwnDecorators(el.node)) {
|
|
decoratorPath = el.get("decorators.0");
|
|
}
|
|
if (!publicFieldPath && el.isClassProperty()) {
|
|
publicFieldPath = el;
|
|
}
|
|
if (!privateFieldPath && el.isClassPrivateProperty()) {
|
|
privateFieldPath = el;
|
|
}
|
|
if (!privateMethodPath && el.isClassPrivateMethod != null && el.isClassPrivateMethod()) {
|
|
privateMethodPath = el;
|
|
}
|
|
if (!staticBlockPath && el.isStaticBlock != null && el.isStaticBlock()) {
|
|
staticBlockPath = el;
|
|
}
|
|
}
|
|
if (decoratorPath && privateFieldPath) {
|
|
throw privateFieldPath.buildCodeFrameError("Private fields in decorated classes are not supported yet.");
|
|
}
|
|
if (decoratorPath && privateMethodPath) {
|
|
throw privateMethodPath.buildCodeFrameError("Private methods in decorated classes are not supported yet.");
|
|
}
|
|
if (decoratorPath && !hasFeature$1(file, FEATURES$1.decorators)) {
|
|
throw path.buildCodeFrameError("Decorators are not enabled." + "\nIf you are using " + '["@babel/plugin-proposal-decorators", { "version": "legacy" }], ' + 'make sure it comes *before* "@babel/plugin-proposal-class-properties" ' + "and enable loose mode, like so:\n" + '\t["@babel/plugin-proposal-decorators", { "version": "legacy" }]\n' + '\t["@babel/plugin-proposal-class-properties", { "loose": true }]');
|
|
}
|
|
if (privateMethodPath && !hasFeature$1(file, FEATURES$1.privateMethods)) {
|
|
throw privateMethodPath.buildCodeFrameError("Class private methods are not enabled. " + "Please add `@babel/plugin-proposal-private-methods` to your configuration.");
|
|
}
|
|
if ((publicFieldPath || privateFieldPath) && !hasFeature$1(file, FEATURES$1.fields) && !hasFeature$1(file, FEATURES$1.privateMethods)) {
|
|
throw path.buildCodeFrameError("Class fields are not enabled. " + "Please add `@babel/plugin-proposal-class-properties` to your configuration.");
|
|
}
|
|
if (staticBlockPath && !hasFeature$1(file, FEATURES$1.staticBlocks)) {
|
|
throw path.buildCodeFrameError("Static class blocks are not enabled. " + "Please add `@babel/plugin-proposal-class-static-block` to your configuration.");
|
|
}
|
|
if (decoratorPath || privateMethodPath || staticBlockPath) {
|
|
return true;
|
|
}
|
|
if ((publicFieldPath || privateFieldPath) && hasFeature$1(file, FEATURES$1.fields)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
var versionKey$1 = "@babel/plugin-class-features/version";
|
|
function createClassFeaturePlugin(_ref) {
|
|
var name = _ref.name,
|
|
feature = _ref.feature,
|
|
loose = _ref.loose,
|
|
manipulateOptions = _ref.manipulateOptions,
|
|
api = _ref.api,
|
|
inherits = _ref.inherits;
|
|
{
|
|
var _api;
|
|
(_api = api) != null ? _api : api = {
|
|
assumption: function assumption() {
|
|
return void 0;
|
|
}
|
|
};
|
|
}
|
|
var setPublicClassFields = api.assumption("setPublicClassFields");
|
|
var privateFieldsAsSymbols = api.assumption("privateFieldsAsSymbols");
|
|
var privateFieldsAsProperties = api.assumption("privateFieldsAsProperties");
|
|
var constantSuper = api.assumption("constantSuper");
|
|
var noDocumentAll = api.assumption("noDocumentAll");
|
|
if (privateFieldsAsProperties && privateFieldsAsSymbols) {
|
|
throw new Error("Cannot enable both the \"privateFieldsAsProperties\" and " + "\"privateFieldsAsSymbols\" assumptions as the same time.");
|
|
}
|
|
var privateFieldsAsSymbolsOrProperties = privateFieldsAsProperties || privateFieldsAsSymbols;
|
|
if (loose === true) {
|
|
var explicit = [];
|
|
if (setPublicClassFields !== undefined) {
|
|
explicit.push("\"setPublicClassFields\"");
|
|
}
|
|
if (privateFieldsAsProperties !== undefined) {
|
|
explicit.push("\"privateFieldsAsProperties\"");
|
|
}
|
|
if (privateFieldsAsSymbols !== undefined) {
|
|
explicit.push("\"privateFieldsAsSymbols\"");
|
|
}
|
|
if (explicit.length !== 0) {
|
|
console.warn("[" + name + "]: You are using the \"loose: true\" option and you are" + (" explicitly setting a value for the " + explicit.join(" and ")) + (" assumption" + (explicit.length > 1 ? "s" : "") + ". The \"loose\" option") + " can cause incompatibilities with the other class features" + " plugins, so it's recommended that you replace it with the" + " following top-level option:\n" + "\t\"assumptions\": {\n" + "\t\t\"setPublicClassFields\": true,\n" + "\t\t\"privateFieldsAsSymbols\": true\n" + "\t}");
|
|
}
|
|
}
|
|
return {
|
|
name: name,
|
|
manipulateOptions: manipulateOptions,
|
|
inherits: inherits,
|
|
pre: function pre(file) {
|
|
enableFeature$1(file, feature, loose);
|
|
{
|
|
if (typeof file.get(versionKey$1) === "number") {
|
|
file.set(versionKey$1, "7.21.8");
|
|
return;
|
|
}
|
|
}
|
|
if (!file.get(versionKey$1) || semver$9.lt(file.get(versionKey$1), "7.21.8")) {
|
|
file.set(versionKey$1, "7.21.8");
|
|
}
|
|
},
|
|
visitor: {
|
|
Class: function (_Class) {
|
|
function Class(_x, _x2) {
|
|
return _Class.apply(this, arguments);
|
|
}
|
|
Class.toString = function () {
|
|
return _Class.toString();
|
|
};
|
|
return Class;
|
|
}(function (path, _ref2) {
|
|
var file = _ref2.file;
|
|
if (file.get(versionKey$1) !== "7.21.8") return;
|
|
if (!shouldTransform$2(path, file)) return;
|
|
if (path.isClassDeclaration()) assertFieldTransformed(path);
|
|
var loose = isLoose(file, feature);
|
|
var constructor;
|
|
var isDecorated = hasDecorators(path.node);
|
|
var props = [];
|
|
var elements = [];
|
|
var computedPaths = [];
|
|
var privateNames = new Set();
|
|
var body = path.get("body");
|
|
for (var _iterator = _createForOfIteratorHelperLoose(body.get("body")), _step; !(_step = _iterator()).done;) {
|
|
var _path = _step.value;
|
|
if ((_path.isClassProperty() || _path.isClassMethod()) && _path.node.computed) {
|
|
computedPaths.push(_path);
|
|
}
|
|
if (_path.isPrivate()) {
|
|
var _name = _path.node.key.id.name;
|
|
var getName = "get " + _name;
|
|
var setName = "set " + _name;
|
|
if (_path.isClassPrivateMethod()) {
|
|
if (_path.node.kind === "get") {
|
|
if (privateNames.has(getName) || privateNames.has(_name) && !privateNames.has(setName)) {
|
|
throw _path.buildCodeFrameError("Duplicate private field");
|
|
}
|
|
privateNames.add(getName).add(_name);
|
|
} else if (_path.node.kind === "set") {
|
|
if (privateNames.has(setName) || privateNames.has(_name) && !privateNames.has(getName)) {
|
|
throw _path.buildCodeFrameError("Duplicate private field");
|
|
}
|
|
privateNames.add(setName).add(_name);
|
|
}
|
|
} else {
|
|
if (privateNames.has(_name) && !privateNames.has(getName) && !privateNames.has(setName) || privateNames.has(_name) && (privateNames.has(getName) || privateNames.has(setName))) {
|
|
throw _path.buildCodeFrameError("Duplicate private field");
|
|
}
|
|
privateNames.add(_name);
|
|
}
|
|
}
|
|
if (_path.isClassMethod({
|
|
kind: "constructor"
|
|
})) {
|
|
constructor = _path;
|
|
} else {
|
|
elements.push(_path);
|
|
if (_path.isProperty() || _path.isPrivate() || _path.isStaticBlock != null && _path.isStaticBlock()) {
|
|
props.push(_path);
|
|
}
|
|
}
|
|
}
|
|
{
|
|
if (!props.length && !isDecorated) return;
|
|
}
|
|
var innerBinding = path.node.id;
|
|
var ref;
|
|
if (!innerBinding || path.isClassExpression()) {
|
|
nameFunction(path);
|
|
ref = path.scope.generateUidIdentifier("class");
|
|
} else {
|
|
ref = cloneNode$j(path.node.id);
|
|
}
|
|
var privateNamesMap = buildPrivateNamesMap(props);
|
|
var privateNamesNodes = buildPrivateNamesNodes(privateNamesMap, privateFieldsAsProperties != null ? privateFieldsAsProperties : loose, privateFieldsAsSymbols != null ? privateFieldsAsSymbols : false, file);
|
|
transformPrivateNamesUsage(ref, path, privateNamesMap, {
|
|
privateFieldsAsProperties: privateFieldsAsSymbolsOrProperties != null ? privateFieldsAsSymbolsOrProperties : loose,
|
|
noDocumentAll: noDocumentAll,
|
|
innerBinding: innerBinding
|
|
}, file);
|
|
var keysNodes, staticNodes, instanceNodes, pureStaticNodes, wrapClass;
|
|
{
|
|
if (isDecorated) {
|
|
staticNodes = pureStaticNodes = keysNodes = [];
|
|
var _buildDecoratedClass = buildDecoratedClass(ref, path, elements, file);
|
|
instanceNodes = _buildDecoratedClass.instanceNodes;
|
|
wrapClass = _buildDecoratedClass.wrapClass;
|
|
} else {
|
|
keysNodes = extractComputedKeys(path, computedPaths, file);
|
|
var _buildFieldsInitNodes = buildFieldsInitNodes(ref, path.node.superClass, props, privateNamesMap, file, setPublicClassFields != null ? setPublicClassFields : loose, privateFieldsAsSymbolsOrProperties != null ? privateFieldsAsSymbolsOrProperties : loose, constantSuper != null ? constantSuper : loose, innerBinding);
|
|
staticNodes = _buildFieldsInitNodes.staticNodes;
|
|
pureStaticNodes = _buildFieldsInitNodes.pureStaticNodes;
|
|
instanceNodes = _buildFieldsInitNodes.instanceNodes;
|
|
wrapClass = _buildFieldsInitNodes.wrapClass;
|
|
}
|
|
}
|
|
if (instanceNodes.length > 0) {
|
|
injectInitialization(path, constructor, instanceNodes, function (referenceVisitor, state) {
|
|
{
|
|
if (isDecorated) return;
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(props), _step2; !(_step2 = _iterator2()).done;) {
|
|
var prop = _step2.value;
|
|
if (isStaticBlock != null && isStaticBlock(prop.node) || prop.node["static"]) continue;
|
|
prop.traverse(referenceVisitor, state);
|
|
}
|
|
});
|
|
}
|
|
var wrappedPath = wrapClass(path);
|
|
wrappedPath.insertBefore([].concat(_toConsumableArray(privateNamesNodes), _toConsumableArray(keysNodes)));
|
|
if (staticNodes.length > 0) {
|
|
wrappedPath.insertAfter(staticNodes);
|
|
}
|
|
if (pureStaticNodes.length > 0) {
|
|
wrappedPath.find(function (parent) {
|
|
return parent.isStatement() || parent.isDeclaration();
|
|
}).insertAfter(pureStaticNodes);
|
|
}
|
|
}),
|
|
ExportDefaultDeclaration: function ExportDefaultDeclaration(path, _ref3) {
|
|
var file = _ref3.file;
|
|
{
|
|
if (file.get(versionKey$1) !== "7.21.8") return;
|
|
var decl = path.get("declaration");
|
|
if (decl.isClassDeclaration() && hasDecorators(decl.node)) {
|
|
if (decl.node.id) {
|
|
splitExportDeclaration(path);
|
|
} else {
|
|
decl.node.type = "ClassExpression";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
var proposalClassProperties = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
return createClassFeaturePlugin({
|
|
name: "proposal-class-properties",
|
|
api: api,
|
|
feature: FEATURES$1.fields,
|
|
loose: options.loose,
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("classProperties", "classPrivateProperties");
|
|
}
|
|
});
|
|
});
|
|
|
|
var _templateObject$m;
|
|
function generateUid(scope, denyList) {
|
|
var name = "";
|
|
var uid;
|
|
var i = 1;
|
|
do {
|
|
uid = scope._generateUid(name, i);
|
|
i++;
|
|
} while (denyList.has(uid));
|
|
return uid;
|
|
}
|
|
var proposalClassStaticBlock = declare(function (_ref) {
|
|
var t = _ref.types,
|
|
template = _ref.template,
|
|
assertVersion = _ref.assertVersion;
|
|
assertVersion("^7.12.0");
|
|
return {
|
|
name: "proposal-class-static-block",
|
|
inherits: syntaxClassStaticBlock["default"],
|
|
pre: function pre() {
|
|
enableFeature$1(this.file, FEATURES$1.staticBlocks, false);
|
|
},
|
|
visitor: {
|
|
ClassBody: function ClassBody(classBody) {
|
|
var scope = classBody.scope;
|
|
var privateNames = new Set();
|
|
var body = classBody.get("body");
|
|
for (var _iterator = _createForOfIteratorHelperLoose(body), _step; !(_step = _iterator()).done;) {
|
|
var path = _step.value;
|
|
if (path.isPrivate()) {
|
|
privateNames.add(path.get("key.id").node.name);
|
|
}
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(body), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _path = _step2.value;
|
|
if (!_path.isStaticBlock()) continue;
|
|
var staticBlockPrivateId = generateUid(scope, privateNames);
|
|
privateNames.add(staticBlockPrivateId);
|
|
var staticBlockRef = t.privateName(t.identifier(staticBlockPrivateId));
|
|
var replacement = void 0;
|
|
var blockBody = _path.node.body;
|
|
if (blockBody.length === 1 && t.isExpressionStatement(blockBody[0])) {
|
|
replacement = t.inheritsComments(blockBody[0].expression, blockBody[0]);
|
|
} else {
|
|
replacement = template.expression.ast(_templateObject$m || (_templateObject$m = _taggedTemplateLiteralLoose(["(() => { ", " })()"])), blockBody);
|
|
}
|
|
_path.replaceWith(t.classPrivateProperty(staticBlockRef, replacement, [], true));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var buildClassDecorator = template$2.statement("\n DECORATOR(CLASS_REF = INNER) || CLASS_REF;\n");
|
|
var buildClassPrototype = template$2("\n CLASS_REF.prototype;\n");
|
|
var buildGetDescriptor = template$2("\n Object.getOwnPropertyDescriptor(TARGET, PROPERTY);\n");
|
|
var buildGetObjectInitializer = template$2("\n (TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {\n enumerable: true,\n configurable: true,\n writable: true,\n initializer: function(){\n return TEMP;\n }\n })\n");
|
|
var WARNING_CALLS = new WeakSet();
|
|
function applyEnsureOrdering(path) {
|
|
var decorators = (path.isClass() ? [path].concat(_toConsumableArray(path.get("body.body"))) : path.get("properties")).reduce(function (acc, prop) {
|
|
return acc.concat(prop.node.decorators || []);
|
|
}, []);
|
|
var identDecorators = decorators.filter(function (decorator) {
|
|
return !isIdentifier$j(decorator.expression);
|
|
});
|
|
if (identDecorators.length === 0) return;
|
|
return sequenceExpression$7(identDecorators.map(function (decorator) {
|
|
var expression = decorator.expression;
|
|
var id = decorator.expression = path.scope.generateDeclaredUidIdentifier("dec");
|
|
return assignmentExpression$d("=", id, expression);
|
|
}).concat([path.node]));
|
|
}
|
|
function applyClassDecorators(classPath) {
|
|
if (!hasClassDecorators(classPath.node)) return;
|
|
var decorators = classPath.node.decorators || [];
|
|
classPath.node.decorators = null;
|
|
var name = classPath.scope.generateDeclaredUidIdentifier("class");
|
|
return decorators.map(function (dec) {
|
|
return dec.expression;
|
|
}).reverse().reduce(function (acc, decorator) {
|
|
return buildClassDecorator({
|
|
CLASS_REF: cloneNode$j(name),
|
|
DECORATOR: cloneNode$j(decorator),
|
|
INNER: acc
|
|
}).expression;
|
|
}, classPath.node);
|
|
}
|
|
function hasClassDecorators(classNode) {
|
|
return !!(classNode.decorators && classNode.decorators.length);
|
|
}
|
|
function applyMethodDecorators(path, state) {
|
|
if (!hasMethodDecorators(path.node.body.body)) return;
|
|
return applyTargetDecorators(path, state, path.node.body.body);
|
|
}
|
|
function hasMethodDecorators(body) {
|
|
return body.some(function (node) {
|
|
var _node$decorators;
|
|
return (_node$decorators = node.decorators) == null ? void 0 : _node$decorators.length;
|
|
});
|
|
}
|
|
function applyObjectDecorators(path, state) {
|
|
if (!hasMethodDecorators(path.node.properties)) return;
|
|
return applyTargetDecorators(path, state, path.node.properties.filter(function (prop) {
|
|
return prop.type !== "SpreadElement";
|
|
}));
|
|
}
|
|
function applyTargetDecorators(path, state, decoratedProps) {
|
|
var name = path.scope.generateDeclaredUidIdentifier(path.isClass() ? "class" : "obj");
|
|
var exprs = decoratedProps.reduce(function (acc, node) {
|
|
var decorators = [];
|
|
if (node.decorators != null) {
|
|
decorators = node.decorators;
|
|
node.decorators = null;
|
|
}
|
|
if (decorators.length === 0) return acc;
|
|
if (node.computed) {
|
|
throw path.buildCodeFrameError("Computed method/property decorators are not yet supported.");
|
|
}
|
|
var property = isLiteral$6(node.key) ? node.key : stringLiteral$8(node.key.name);
|
|
var target = path.isClass() && !node["static"] ? buildClassPrototype({
|
|
CLASS_REF: name
|
|
}).expression : name;
|
|
if (isClassProperty(node, {
|
|
"static": false
|
|
})) {
|
|
var descriptor = path.scope.generateDeclaredUidIdentifier("descriptor");
|
|
var initializer = node.value ? functionExpression$2(null, [], blockStatement$6([returnStatement$3(node.value)])) : nullLiteral$2();
|
|
node.value = callExpression$e(state.addHelper("initializerWarningHelper"), [descriptor, thisExpression$4()]);
|
|
WARNING_CALLS.add(node.value);
|
|
acc.push(assignmentExpression$d("=", cloneNode$j(descriptor), callExpression$e(state.addHelper("applyDecoratedDescriptor"), [cloneNode$j(target), cloneNode$j(property), arrayExpression$1(decorators.map(function (dec) {
|
|
return cloneNode$j(dec.expression);
|
|
})), objectExpression$3([objectProperty$1(identifier$i("configurable"), booleanLiteral$4(true)), objectProperty$1(identifier$i("enumerable"), booleanLiteral$4(true)), objectProperty$1(identifier$i("writable"), booleanLiteral$4(true)), objectProperty$1(identifier$i("initializer"), initializer)])])));
|
|
} else {
|
|
acc.push(callExpression$e(state.addHelper("applyDecoratedDescriptor"), [cloneNode$j(target), cloneNode$j(property), arrayExpression$1(decorators.map(function (dec) {
|
|
return cloneNode$j(dec.expression);
|
|
})), isObjectProperty$5(node) || isClassProperty(node, {
|
|
"static": true
|
|
}) ? buildGetObjectInitializer({
|
|
TEMP: path.scope.generateDeclaredUidIdentifier("init"),
|
|
TARGET: cloneNode$j(target),
|
|
PROPERTY: cloneNode$j(property)
|
|
}).expression : buildGetDescriptor({
|
|
TARGET: cloneNode$j(target),
|
|
PROPERTY: cloneNode$j(property)
|
|
}).expression, cloneNode$j(target)]));
|
|
}
|
|
return acc;
|
|
}, []);
|
|
return sequenceExpression$7([assignmentExpression$d("=", cloneNode$j(name), path.node), sequenceExpression$7(exprs), cloneNode$j(name)]);
|
|
}
|
|
function decoratedClassToExpression(_ref) {
|
|
var node = _ref.node,
|
|
scope = _ref.scope;
|
|
if (!hasClassDecorators(node) && !hasMethodDecorators(node.body.body)) {
|
|
return;
|
|
}
|
|
var ref = node.id ? cloneNode$j(node.id) : scope.generateUidIdentifier("class");
|
|
return variableDeclaration$8("let", [variableDeclarator$8(ref, toExpression$1(node))]);
|
|
}
|
|
var visitor$1 = {
|
|
ExportDefaultDeclaration: function ExportDefaultDeclaration(path) {
|
|
var decl = path.get("declaration");
|
|
if (!decl.isClassDeclaration()) return;
|
|
var replacement = decoratedClassToExpression(decl);
|
|
if (replacement) {
|
|
var _path$replaceWithMult = path.replaceWithMultiple([replacement, exportNamedDeclaration$2(null, [exportSpecifier$2(cloneNode$j(replacement.declarations[0].id), identifier$i("default"))])]),
|
|
_path$replaceWithMult2 = _slicedToArray(_path$replaceWithMult, 1),
|
|
varDeclPath = _path$replaceWithMult2[0];
|
|
if (!decl.node.id) {
|
|
path.scope.registerDeclaration(varDeclPath);
|
|
}
|
|
}
|
|
},
|
|
ClassDeclaration: function ClassDeclaration(path) {
|
|
var replacement = decoratedClassToExpression(path);
|
|
if (replacement) {
|
|
var _path$replaceWith = path.replaceWith(replacement),
|
|
_path$replaceWith2 = _slicedToArray(_path$replaceWith, 1),
|
|
newPath = _path$replaceWith2[0];
|
|
var decl = newPath.get("declarations.0");
|
|
var id = decl.node.id;
|
|
var binding = path.scope.getOwnBinding(id.name);
|
|
binding.identifier = id;
|
|
binding.path = decl;
|
|
}
|
|
},
|
|
ClassExpression: function ClassExpression(path, state) {
|
|
var decoratedClass = applyEnsureOrdering(path) || applyClassDecorators(path) || applyMethodDecorators(path, state);
|
|
if (decoratedClass) path.replaceWith(decoratedClass);
|
|
},
|
|
ObjectExpression: function ObjectExpression(path, state) {
|
|
var decoratedObject = applyEnsureOrdering(path) || applyObjectDecorators(path, state);
|
|
if (decoratedObject) path.replaceWith(decoratedObject);
|
|
},
|
|
AssignmentExpression: function AssignmentExpression(path, state) {
|
|
if (!WARNING_CALLS.has(path.node.right)) return;
|
|
path.replaceWith(callExpression$e(state.addHelper("initializerDefineProperty"), [cloneNode$j(path.get("left.object").node), stringLiteral$8(path.get("left.property").node.name || path.get("left.property").node.value), cloneNode$j(path.get("right.arguments")[0].node), cloneNode$j(path.get("right.arguments")[1].node)]));
|
|
},
|
|
CallExpression: function CallExpression(path, state) {
|
|
if (path.node.arguments.length !== 3) return;
|
|
if (!WARNING_CALLS.has(path.node.arguments[2])) return;
|
|
if (path.node.callee.name !== state.addHelper("defineProperty").name) {
|
|
return;
|
|
}
|
|
path.replaceWith(callExpression$e(state.addHelper("initializerDefineProperty"), [cloneNode$j(path.get("arguments")[0].node), cloneNode$j(path.get("arguments")[1].node), cloneNode$j(path.get("arguments.2.arguments")[0].node), cloneNode$j(path.get("arguments.2.arguments")[1].node)]));
|
|
}
|
|
};
|
|
|
|
var _templateObject$l, _templateObject2$9, _templateObject3$8, _templateObject4$3, _templateObject5$2, _templateObject6$2;
|
|
function incrementId(id, idx) {
|
|
if (idx === void 0) {
|
|
idx = id.length - 1;
|
|
}
|
|
if (idx === -1) {
|
|
id.unshift(65);
|
|
return;
|
|
}
|
|
var current = id[idx];
|
|
if (current === 90) {
|
|
id[idx] = 97;
|
|
} else if (current === 122) {
|
|
id[idx] = 65;
|
|
incrementId(id, idx - 1);
|
|
} else {
|
|
id[idx] = current + 1;
|
|
}
|
|
}
|
|
function createPrivateUidGeneratorForClass(classPath) {
|
|
var currentPrivateId = [];
|
|
var privateNames = new Set();
|
|
classPath.traverse({
|
|
PrivateName: function PrivateName(path) {
|
|
privateNames.add(path.node.id.name);
|
|
}
|
|
});
|
|
return function () {
|
|
var reifiedId;
|
|
do {
|
|
incrementId(currentPrivateId);
|
|
reifiedId = String.fromCharCode.apply(String, currentPrivateId);
|
|
} while (privateNames.has(reifiedId));
|
|
return privateName(identifier$i(reifiedId));
|
|
};
|
|
}
|
|
function createLazyPrivateUidGeneratorForClass(classPath) {
|
|
var generator;
|
|
return function () {
|
|
if (!generator) {
|
|
generator = createPrivateUidGeneratorForClass(classPath);
|
|
}
|
|
return generator();
|
|
};
|
|
}
|
|
function replaceClassWithVar(path) {
|
|
if (path.type === "ClassDeclaration") {
|
|
var varId = path.scope.generateUidIdentifierBasedOnNode(path.node.id);
|
|
var classId = identifier$i(path.node.id.name);
|
|
path.scope.rename(classId.name, varId.name);
|
|
path.insertBefore(variableDeclaration$8("let", [variableDeclarator$8(varId)]));
|
|
path.get("id").replaceWith(classId);
|
|
return [cloneNode$j(varId), path];
|
|
} else {
|
|
var className;
|
|
var _varId;
|
|
if (path.node.id) {
|
|
className = path.node.id.name;
|
|
_varId = path.scope.parent.generateDeclaredUidIdentifier(className);
|
|
path.scope.rename(className, _varId.name);
|
|
} else if (path.parentPath.node.type === "VariableDeclarator" && path.parentPath.node.id.type === "Identifier") {
|
|
className = path.parentPath.node.id.name;
|
|
_varId = path.scope.parent.generateDeclaredUidIdentifier(className);
|
|
} else {
|
|
_varId = path.scope.parent.generateDeclaredUidIdentifier("decorated_class");
|
|
}
|
|
var newClassExpr = classExpression(className && identifier$i(className), path.node.superClass, path.node.body);
|
|
var _path$replaceWith = path.replaceWith(sequenceExpression$7([newClassExpr, _varId])),
|
|
_path$replaceWith2 = _slicedToArray(_path$replaceWith, 1),
|
|
newPath = _path$replaceWith2[0];
|
|
return [cloneNode$j(_varId), newPath.get("expressions.0")];
|
|
}
|
|
}
|
|
function generateClassProperty(key, value, isStatic) {
|
|
if (key.type === "PrivateName") {
|
|
return classPrivateProperty(key, value, undefined, isStatic);
|
|
} else {
|
|
return classProperty(key, value, undefined, undefined, isStatic);
|
|
}
|
|
}
|
|
function addProxyAccessorsFor(element, originalKey, targetKey, isComputed) {
|
|
if (isComputed === void 0) {
|
|
isComputed = false;
|
|
}
|
|
var isStatic = element.node["static"];
|
|
var getterBody = blockStatement$6([returnStatement$3(memberExpression$c(thisExpression$4(), cloneNode$j(targetKey)))]);
|
|
var setterBody = blockStatement$6([expressionStatement$a(assignmentExpression$d("=", memberExpression$c(thisExpression$4(), cloneNode$j(targetKey)), identifier$i("v")))]);
|
|
var getter, setter;
|
|
if (originalKey.type === "PrivateName") {
|
|
getter = classPrivateMethod("get", cloneNode$j(originalKey), [], getterBody, isStatic);
|
|
setter = classPrivateMethod("set", cloneNode$j(originalKey), [identifier$i("v")], setterBody, isStatic);
|
|
} else {
|
|
getter = classMethod("get", cloneNode$j(originalKey), [], getterBody, isComputed, isStatic);
|
|
setter = classMethod("set", cloneNode$j(originalKey), [identifier$i("v")], setterBody, isComputed, isStatic);
|
|
}
|
|
element.insertAfter(setter);
|
|
element.insertAfter(getter);
|
|
}
|
|
function extractProxyAccessorsFor(targetKey, version) {
|
|
if (version !== "2023-01") {
|
|
return [template$2.expression.ast(_templateObject$l || (_templateObject$l = _taggedTemplateLiteralLoose(["\n function () {\n return this.", ";\n }\n "])), cloneNode$j(targetKey)), template$2.expression.ast(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteralLoose(["\n function (value) {\n this.", " = value;\n }\n "])), cloneNode$j(targetKey))];
|
|
}
|
|
return [template$2.expression.ast(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteralLoose(["\n o => o.", "\n "])), cloneNode$j(targetKey)), template$2.expression.ast(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteralLoose(["\n (o, v) => o.", " = v\n "])), cloneNode$j(targetKey))];
|
|
}
|
|
var FIELD = 0;
|
|
var ACCESSOR = 1;
|
|
var METHOD = 2;
|
|
var GETTER = 3;
|
|
var SETTER = 4;
|
|
var STATIC = 5;
|
|
function getElementKind(element) {
|
|
switch (element.node.type) {
|
|
case "ClassProperty":
|
|
case "ClassPrivateProperty":
|
|
return FIELD;
|
|
case "ClassAccessorProperty":
|
|
return ACCESSOR;
|
|
case "ClassMethod":
|
|
case "ClassPrivateMethod":
|
|
if (element.node.kind === "get") {
|
|
return GETTER;
|
|
} else if (element.node.kind === "set") {
|
|
return SETTER;
|
|
} else {
|
|
return METHOD;
|
|
}
|
|
}
|
|
}
|
|
function isDecoratorInfo(info) {
|
|
return "decorators" in info;
|
|
}
|
|
function filteredOrderedDecoratorInfo(info) {
|
|
var filtered = info.filter(isDecoratorInfo);
|
|
return [].concat(_toConsumableArray(filtered.filter(function (el) {
|
|
return el.isStatic && el.kind >= ACCESSOR && el.kind <= SETTER;
|
|
})), _toConsumableArray(filtered.filter(function (el) {
|
|
return !el.isStatic && el.kind >= ACCESSOR && el.kind <= SETTER;
|
|
})), _toConsumableArray(filtered.filter(function (el) {
|
|
return el.isStatic && el.kind === FIELD;
|
|
})), _toConsumableArray(filtered.filter(function (el) {
|
|
return !el.isStatic && el.kind === FIELD;
|
|
})));
|
|
}
|
|
function generateDecorationExprs(info) {
|
|
return arrayExpression$1(filteredOrderedDecoratorInfo(info).map(function (el) {
|
|
var decs = el.decorators.length > 1 ? arrayExpression$1(el.decorators) : el.decorators[0];
|
|
var kind = el.isStatic ? el.kind + STATIC : el.kind;
|
|
return arrayExpression$1([decs, numericLiteral$8(kind), el.name].concat(_toConsumableArray(el.privateMethods || [])));
|
|
}));
|
|
}
|
|
function extractElementLocalAssignments(decorationInfo) {
|
|
var localIds = [];
|
|
for (var _iterator = _createForOfIteratorHelperLoose(filteredOrderedDecoratorInfo(decorationInfo)), _step; !(_step = _iterator()).done;) {
|
|
var el = _step.value;
|
|
var locals = el.locals;
|
|
if (Array.isArray(locals)) {
|
|
localIds.push.apply(localIds, _toConsumableArray(locals));
|
|
} else if (locals !== undefined) {
|
|
localIds.push(locals);
|
|
}
|
|
}
|
|
return localIds;
|
|
}
|
|
function addCallAccessorsFor(element, key, getId, setId) {
|
|
element.insertAfter(classPrivateMethod("get", cloneNode$j(key), [], blockStatement$6([returnStatement$3(callExpression$e(cloneNode$j(getId), [thisExpression$4()]))])));
|
|
element.insertAfter(classPrivateMethod("set", cloneNode$j(key), [identifier$i("v")], blockStatement$6([expressionStatement$a(callExpression$e(cloneNode$j(setId), [thisExpression$4(), identifier$i("v")]))])));
|
|
}
|
|
function isNotTsParameter(node) {
|
|
return node.type !== "TSParameterProperty";
|
|
}
|
|
function movePrivateAccessor(element, key, methodLocalVar, isStatic) {
|
|
var params;
|
|
var block;
|
|
if (element.node.kind === "set") {
|
|
params = [identifier$i("v")];
|
|
block = [expressionStatement$a(callExpression$e(methodLocalVar, [thisExpression$4(), identifier$i("v")]))];
|
|
} else {
|
|
params = [];
|
|
block = [returnStatement$3(callExpression$e(methodLocalVar, [thisExpression$4()]))];
|
|
}
|
|
element.replaceWith(classPrivateMethod(element.node.kind, cloneNode$j(key), params, blockStatement$6(block), isStatic));
|
|
}
|
|
function isClassDecoratableElementPath(path) {
|
|
var type = path.type;
|
|
return type !== "TSDeclareMethod" && type !== "TSIndexSignature" && type !== "StaticBlock";
|
|
}
|
|
function staticBlockToIIFE(block) {
|
|
return callExpression$e(arrowFunctionExpression$4([], blockStatement$6(block.body)), []);
|
|
}
|
|
function maybeSequenceExpression(exprs) {
|
|
if (exprs.length === 0) return unaryExpression$7("void", numericLiteral$8(0));
|
|
if (exprs.length === 1) return exprs[0];
|
|
return sequenceExpression$7(exprs);
|
|
}
|
|
function transformClass$1(path, state, constantSuper, version) {
|
|
var body = path.get("body.body");
|
|
var classDecorators = path.node.decorators;
|
|
var hasElementDecorators = false;
|
|
var generateClassPrivateUid = createLazyPrivateUidGeneratorForClass(path);
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(body), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _element = _step2.value;
|
|
if (!isClassDecoratableElementPath(_element)) {
|
|
continue;
|
|
}
|
|
if (_element.node.decorators && _element.node.decorators.length > 0) {
|
|
hasElementDecorators = true;
|
|
} else if (_element.node.type === "ClassAccessorProperty") {
|
|
var _element$node = _element.node,
|
|
_key = _element$node.key,
|
|
_value2 = _element$node.value,
|
|
_isStatic = _element$node["static"],
|
|
computed = _element$node.computed;
|
|
var _newId = generateClassPrivateUid();
|
|
var valueNode = _value2 ? cloneNode$j(_value2) : undefined;
|
|
var _newField = generateClassProperty(_newId, valueNode, _isStatic);
|
|
var _element$replaceWith3 = _element.replaceWith(_newField),
|
|
_element$replaceWith4 = _slicedToArray(_element$replaceWith3, 1),
|
|
_newPath = _element$replaceWith4[0];
|
|
addProxyAccessorsFor(_newPath, _key, _newId, computed);
|
|
}
|
|
}
|
|
if (!classDecorators && !hasElementDecorators) return;
|
|
var elementDecoratorInfo = [];
|
|
var firstFieldPath;
|
|
var constructorPath;
|
|
var requiresProtoInit = false;
|
|
var requiresStaticInit = false;
|
|
var decoratedPrivateMethods = new Set();
|
|
var protoInitLocal, staticInitLocal, classInitLocal, classIdLocal;
|
|
var assignments = [];
|
|
var scopeParent = path.scope.parent;
|
|
var memoiseExpression = function memoiseExpression(expression, hint) {
|
|
var localEvaluatedId = scopeParent.generateDeclaredUidIdentifier(hint);
|
|
assignments.push(assignmentExpression$d("=", localEvaluatedId, expression));
|
|
return cloneNode$j(localEvaluatedId);
|
|
};
|
|
if (classDecorators) {
|
|
classInitLocal = scopeParent.generateDeclaredUidIdentifier("initClass");
|
|
var _replaceClassWithVar = replaceClassWithVar(path),
|
|
_replaceClassWithVar2 = _slicedToArray(_replaceClassWithVar, 2),
|
|
classId = _replaceClassWithVar2[0],
|
|
classPath = _replaceClassWithVar2[1];
|
|
path = classPath;
|
|
classIdLocal = classId;
|
|
path.node.decorators = null;
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(classDecorators), _step3; !(_step3 = _iterator3()).done;) {
|
|
var classDecorator = _step3.value;
|
|
if (!scopeParent.isStatic(classDecorator.expression)) {
|
|
classDecorator.expression = memoiseExpression(classDecorator.expression, "dec");
|
|
}
|
|
}
|
|
} else {
|
|
if (!path.node.id) {
|
|
path.node.id = path.scope.generateUidIdentifier("Class");
|
|
}
|
|
classIdLocal = cloneNode$j(path.node.id);
|
|
}
|
|
var lastInstancePrivateName;
|
|
var needsInstancePrivateBrandCheck = false;
|
|
if (hasElementDecorators) {
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(body), _step4; !(_step4 = _iterator4()).done;) {
|
|
var element = _step4.value;
|
|
if (!isClassDecoratableElementPath(element)) {
|
|
continue;
|
|
}
|
|
var node = element.node;
|
|
var decorators = element.get("decorators");
|
|
var hasDecorators = Array.isArray(decorators) && decorators.length > 0;
|
|
if (hasDecorators) {
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(decorators), _step5; !(_step5 = _iterator5()).done;) {
|
|
var decoratorPath = _step5.value;
|
|
if (!scopeParent.isStatic(decoratorPath.node.expression)) {
|
|
decoratorPath.node.expression = memoiseExpression(decoratorPath.node.expression, "dec");
|
|
}
|
|
}
|
|
}
|
|
var isComputed = "computed" in element.node && element.node.computed === true;
|
|
if (isComputed) {
|
|
if (!scopeParent.isStatic(node.key)) {
|
|
node.key = memoiseExpression(node.key, "computedKey");
|
|
}
|
|
}
|
|
var kind = getElementKind(element);
|
|
var key = node.key;
|
|
var isPrivate = key.type === "PrivateName";
|
|
var isStatic = !!element.node["static"];
|
|
var name = "computedKey";
|
|
if (isPrivate) {
|
|
name = key.id.name;
|
|
} else if (!isComputed && key.type === "Identifier") {
|
|
name = key.name;
|
|
}
|
|
if (isPrivate && !isStatic) {
|
|
if (hasDecorators) {
|
|
needsInstancePrivateBrandCheck = true;
|
|
}
|
|
if (isClassPrivateProperty(node) || !lastInstancePrivateName) {
|
|
lastInstancePrivateName = key;
|
|
}
|
|
}
|
|
if (element.isClassMethod({
|
|
kind: "constructor"
|
|
})) {
|
|
constructorPath = element;
|
|
}
|
|
if (hasDecorators) {
|
|
var locals = void 0;
|
|
var privateMethods = void 0;
|
|
if (kind === ACCESSOR) {
|
|
var _ref = element.node,
|
|
value = _ref.value;
|
|
var params = [thisExpression$4()];
|
|
if (value) {
|
|
params.push(cloneNode$j(value));
|
|
}
|
|
var newId = generateClassPrivateUid();
|
|
var newFieldInitId = element.scope.parent.generateDeclaredUidIdentifier("init_" + name);
|
|
var newValue = callExpression$e(cloneNode$j(newFieldInitId), params);
|
|
var newField = generateClassProperty(newId, newValue, isStatic);
|
|
var _element$replaceWith = element.replaceWith(newField),
|
|
_element$replaceWith2 = _slicedToArray(_element$replaceWith, 1),
|
|
newPath = _element$replaceWith2[0];
|
|
if (isPrivate) {
|
|
privateMethods = extractProxyAccessorsFor(newId, version);
|
|
var getId = newPath.scope.parent.generateDeclaredUidIdentifier("get_" + name);
|
|
var setId = newPath.scope.parent.generateDeclaredUidIdentifier("set_" + name);
|
|
addCallAccessorsFor(newPath, key, getId, setId);
|
|
locals = [newFieldInitId, getId, setId];
|
|
} else {
|
|
addProxyAccessorsFor(newPath, key, newId, isComputed);
|
|
locals = newFieldInitId;
|
|
}
|
|
} else if (kind === FIELD) {
|
|
var initId = element.scope.parent.generateDeclaredUidIdentifier("init_" + name);
|
|
var valuePath = element.get("value");
|
|
valuePath.replaceWith(callExpression$e(cloneNode$j(initId), [thisExpression$4(), valuePath.node].filter(function (v) {
|
|
return v;
|
|
})));
|
|
locals = initId;
|
|
if (isPrivate) {
|
|
privateMethods = extractProxyAccessorsFor(key, version);
|
|
}
|
|
} else if (isPrivate) {
|
|
locals = element.scope.parent.generateDeclaredUidIdentifier("call_" + name);
|
|
var replaceSupers = new ReplaceSupers({
|
|
constantSuper: constantSuper,
|
|
methodPath: element,
|
|
objectRef: classIdLocal,
|
|
superRef: path.node.superClass,
|
|
file: state.file,
|
|
refToPreserve: classIdLocal
|
|
});
|
|
replaceSupers.replace();
|
|
var _ref2 = element.node,
|
|
_params = _ref2.params,
|
|
_body = _ref2.body,
|
|
isAsync = _ref2.async;
|
|
privateMethods = [functionExpression$2(undefined, _params.filter(isNotTsParameter), _body, isAsync)];
|
|
if (kind === GETTER || kind === SETTER) {
|
|
movePrivateAccessor(element, cloneNode$j(key), cloneNode$j(locals), isStatic);
|
|
} else {
|
|
var _node = element.node;
|
|
path.node.body.body.unshift(classPrivateProperty(key, cloneNode$j(locals), [], _node["static"]));
|
|
decoratedPrivateMethods.add(key.id.name);
|
|
element.remove();
|
|
}
|
|
}
|
|
var nameExpr = void 0;
|
|
if (isComputed) {
|
|
nameExpr = cloneNode$j(key);
|
|
} else if (key.type === "PrivateName") {
|
|
nameExpr = stringLiteral$8(key.id.name);
|
|
} else if (key.type === "Identifier") {
|
|
nameExpr = stringLiteral$8(key.name);
|
|
} else {
|
|
nameExpr = cloneNode$j(key);
|
|
}
|
|
elementDecoratorInfo.push({
|
|
kind: kind,
|
|
decorators: decorators.map(function (d) {
|
|
return d.node.expression;
|
|
}),
|
|
name: nameExpr,
|
|
isStatic: isStatic,
|
|
privateMethods: privateMethods,
|
|
locals: locals
|
|
});
|
|
if (kind !== FIELD) {
|
|
if (isStatic) {
|
|
requiresStaticInit = true;
|
|
} else {
|
|
requiresProtoInit = true;
|
|
}
|
|
}
|
|
if (element.node) {
|
|
element.node.decorators = null;
|
|
}
|
|
if (!firstFieldPath && !isStatic && (kind === FIELD || kind === ACCESSOR)) {
|
|
firstFieldPath = element;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var elementDecorations = generateDecorationExprs(elementDecoratorInfo);
|
|
var classDecorations = arrayExpression$1((classDecorators || []).map(function (d) {
|
|
return d.expression;
|
|
}));
|
|
var elementLocals = extractElementLocalAssignments(elementDecoratorInfo);
|
|
if (requiresProtoInit) {
|
|
protoInitLocal = scopeParent.generateDeclaredUidIdentifier("initProto");
|
|
elementLocals.push(protoInitLocal);
|
|
var protoInitCall = callExpression$e(cloneNode$j(protoInitLocal), [thisExpression$4()]);
|
|
if (firstFieldPath) {
|
|
var _value = firstFieldPath.get("value");
|
|
var _body2 = [protoInitCall];
|
|
if (_value.node) {
|
|
_body2.push(_value.node);
|
|
}
|
|
_value.replaceWith(sequenceExpression$7(_body2));
|
|
} else if (constructorPath) {
|
|
if (path.node.superClass) {
|
|
path.traverse({
|
|
CallExpression: {
|
|
exit: function exit(path) {
|
|
if (!path.get("callee").isSuper()) return;
|
|
path.replaceWith(callExpression$e(cloneNode$j(protoInitLocal), [path.node]));
|
|
path.skip();
|
|
}
|
|
}
|
|
});
|
|
} else {
|
|
constructorPath.node.body.body.unshift(expressionStatement$a(protoInitCall));
|
|
}
|
|
} else {
|
|
var _body3 = [expressionStatement$a(protoInitCall)];
|
|
if (path.node.superClass) {
|
|
_body3.unshift(expressionStatement$a(callExpression$e(_super$1(), [spreadElement$2(identifier$i("args"))])));
|
|
}
|
|
path.node.body.body.unshift(classMethod("constructor", identifier$i("constructor"), [restElement$2(identifier$i("args"))], blockStatement$6(_body3)));
|
|
}
|
|
}
|
|
if (requiresStaticInit) {
|
|
staticInitLocal = scopeParent.generateDeclaredUidIdentifier("initStatic");
|
|
elementLocals.push(staticInitLocal);
|
|
}
|
|
if (decoratedPrivateMethods.size > 0) {
|
|
path.traverse({
|
|
PrivateName: function PrivateName(path) {
|
|
if (!decoratedPrivateMethods.has(path.node.id.name)) return;
|
|
var parentPath = path.parentPath;
|
|
var parentParentPath = parentPath.parentPath;
|
|
if (parentParentPath.node.type === "AssignmentExpression" && parentParentPath.node.left === parentPath.node || parentParentPath.node.type === "UpdateExpression" || parentParentPath.node.type === "RestElement" || parentParentPath.node.type === "ArrayPattern" || parentParentPath.node.type === "ObjectProperty" && parentParentPath.node.value === parentPath.node && parentParentPath.parentPath.type === "ObjectPattern" || parentParentPath.node.type === "ForOfStatement" && parentParentPath.node.left === parentPath.node) {
|
|
throw path.buildCodeFrameError("Decorated private methods are not updatable, but \"#" + path.node.id.name + "\" is updated via this expression.");
|
|
}
|
|
}
|
|
});
|
|
}
|
|
var classLocals = [];
|
|
var classInitInjected = false;
|
|
var classInitCall = classInitLocal && callExpression$e(cloneNode$j(classInitLocal), []);
|
|
var originalClass = path.node;
|
|
if (classDecorators) {
|
|
classLocals.push(classIdLocal, classInitLocal);
|
|
var statics = [];
|
|
var staticBlocks = [];
|
|
path.get("body.body").forEach(function (element) {
|
|
if (element.isStaticBlock()) {
|
|
staticBlocks.push(element.node);
|
|
element.remove();
|
|
return;
|
|
}
|
|
var isProperty = element.isClassProperty() || element.isClassPrivateProperty();
|
|
if ((isProperty || element.isClassPrivateMethod()) && element.node["static"]) {
|
|
if (isProperty && staticBlocks.length > 0) {
|
|
var allValues = staticBlocks.map(staticBlockToIIFE);
|
|
if (element.node.value) allValues.push(element.node.value);
|
|
element.node.value = maybeSequenceExpression(allValues);
|
|
staticBlocks = [];
|
|
}
|
|
element.node["static"] = false;
|
|
statics.push(element.node);
|
|
element.remove();
|
|
}
|
|
});
|
|
if (statics.length > 0 || staticBlocks.length > 0) {
|
|
var staticsClass = template$2.expression.ast(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteralLoose(["\n class extends ", " {}\n "])), state.addHelper("identity"));
|
|
staticsClass.body.body = [staticBlock([toStatement(originalClass, true) || expressionStatement$a(originalClass)])].concat(statics);
|
|
var constructorBody = [];
|
|
var newExpr = newExpression(staticsClass, []);
|
|
if (staticBlocks.length > 0) {
|
|
constructorBody.push.apply(constructorBody, _toConsumableArray(staticBlocks.map(staticBlockToIIFE)));
|
|
}
|
|
if (classInitCall) {
|
|
classInitInjected = true;
|
|
constructorBody.push(classInitCall);
|
|
}
|
|
if (constructorBody.length > 0) {
|
|
constructorBody.unshift(callExpression$e(_super$1(), [cloneNode$j(classIdLocal)]));
|
|
staticsClass.body.body.push(classMethod("constructor", identifier$i("constructor"), [], blockStatement$6([expressionStatement$a(sequenceExpression$7(constructorBody))])));
|
|
} else {
|
|
newExpr.arguments.push(cloneNode$j(classIdLocal));
|
|
}
|
|
path.replaceWith(newExpr);
|
|
}
|
|
}
|
|
if (!classInitInjected && classInitCall) {
|
|
path.node.body.body.push(staticBlock([expressionStatement$a(classInitCall)]));
|
|
}
|
|
originalClass.body.body.unshift(staticBlock([expressionStatement$a(createLocalsAssignment(elementLocals, classLocals, elementDecorations, classDecorations, needsInstancePrivateBrandCheck ? lastInstancePrivateName : null, state, version)), requiresStaticInit && expressionStatement$a(callExpression$e(cloneNode$j(staticInitLocal), [thisExpression$4()]))].filter(Boolean)));
|
|
path.insertBefore(assignments.map(function (expr) {
|
|
return expressionStatement$a(expr);
|
|
}));
|
|
path.scope.crawl();
|
|
return path;
|
|
}
|
|
function createLocalsAssignment(elementLocals, classLocals, elementDecorations, classDecorations, maybePrivateBranName, state, version) {
|
|
var lhs, rhs;
|
|
var args = [thisExpression$4(), elementDecorations, classDecorations];
|
|
if (version === "2021-12" || version === "2022-03" && !state.availableHelper("applyDecs2203R")) {
|
|
lhs = arrayPattern([].concat(_toConsumableArray(elementLocals), _toConsumableArray(classLocals)));
|
|
rhs = callExpression$e(state.addHelper(version === "2021-12" ? "applyDecs" : "applyDecs2203"), args);
|
|
} else {
|
|
if (version === "2023-01") {
|
|
if (maybePrivateBranName) {
|
|
args.push(template$2.expression.ast(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteralLoose(["\n _ => ", " in _\n "])), cloneNode$j(maybePrivateBranName)));
|
|
}
|
|
rhs = callExpression$e(state.addHelper("applyDecs2301"), args);
|
|
} else {
|
|
rhs = callExpression$e(state.addHelper("applyDecs2203R"), args);
|
|
}
|
|
if (elementLocals.length > 0) {
|
|
if (classLocals.length > 0) {
|
|
lhs = objectPattern$1([objectProperty$1(identifier$i("e"), arrayPattern(elementLocals)), objectProperty$1(identifier$i("c"), arrayPattern(classLocals))]);
|
|
} else {
|
|
lhs = arrayPattern(elementLocals);
|
|
rhs = memberExpression$c(rhs, identifier$i("e"), false, false);
|
|
}
|
|
} else {
|
|
lhs = arrayPattern(classLocals);
|
|
rhs = memberExpression$c(rhs, identifier$i("c"), false, false);
|
|
}
|
|
}
|
|
return assignmentExpression$d("=", lhs, rhs);
|
|
}
|
|
function transformer2022_03 (_ref3, _ref4, version) {
|
|
var _assumption;
|
|
var assertVersion = _ref3.assertVersion,
|
|
assumption = _ref3.assumption;
|
|
var loose = _ref4.loose;
|
|
if (version === "2023-01") {
|
|
assertVersion("^7.21.0");
|
|
} else if (version === "2021-12") {
|
|
assertVersion("^7.16.0");
|
|
} else {
|
|
assertVersion("^7.19.0");
|
|
}
|
|
var VISITED = new WeakSet();
|
|
var constantSuper = (_assumption = assumption("constantSuper")) != null ? _assumption : loose;
|
|
return {
|
|
name: "proposal-decorators",
|
|
inherits: syntaxDecorators,
|
|
visitor: {
|
|
"ExportNamedDeclaration|ExportDefaultDeclaration": function ExportNamedDeclarationExportDefaultDeclaration(path) {
|
|
var _declaration$decorato;
|
|
var declaration = path.node.declaration;
|
|
if ((declaration == null ? void 0 : declaration.type) === "ClassDeclaration" && ((_declaration$decorato = declaration.decorators) == null ? void 0 : _declaration$decorato.length) > 0) {
|
|
splitExportDeclaration(path);
|
|
}
|
|
},
|
|
Class: function Class(path, state) {
|
|
if (VISITED.has(path)) return;
|
|
var newPath = transformClass$1(path, state, constantSuper, version);
|
|
if (newPath) VISITED.add(newPath);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
var proposalDecorators = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
{
|
|
var legacy = options.legacy;
|
|
}
|
|
var version = options.version;
|
|
if (legacy || version === "legacy") {
|
|
return {
|
|
name: "proposal-decorators",
|
|
inherits: syntaxDecorators,
|
|
visitor: visitor$1
|
|
};
|
|
} else if (version === "2021-12" || version === "2022-03" || version === "2023-01") {
|
|
return transformer2022_03(api, options, version);
|
|
} else {
|
|
api.assertVersion("^7.0.2");
|
|
return createClassFeaturePlugin({
|
|
name: "proposal-decorators",
|
|
api: api,
|
|
feature: FEATURES$1.decorators,
|
|
inherits: syntaxDecorators
|
|
});
|
|
}
|
|
});
|
|
|
|
function isPureVoid(node) {
|
|
return isUnaryExpression$1(node) && node.operator === "void" && isPureish$2(node.argument);
|
|
}
|
|
function unshiftForXStatementBody(statementPath, newStatements) {
|
|
statementPath.ensureBlock();
|
|
var scope = statementPath.scope,
|
|
node = statementPath.node;
|
|
var bodyScopeBindings = statementPath.get("body").scope.bindings;
|
|
var hasShadowedBlockScopedBindings = Object.keys(bodyScopeBindings).some(function (name) {
|
|
return scope.hasBinding(name);
|
|
});
|
|
if (hasShadowedBlockScopedBindings) {
|
|
node.body = blockStatement$6([].concat(_toConsumableArray(newStatements), [node.body]));
|
|
} else {
|
|
var _node$body$body;
|
|
(_node$body$body = node.body.body).unshift.apply(_node$body$body, _toConsumableArray(newStatements));
|
|
}
|
|
}
|
|
function hasArrayRest(pattern) {
|
|
return pattern.elements.some(function (elem) {
|
|
return isRestElement$3(elem);
|
|
});
|
|
}
|
|
function hasObjectRest(pattern) {
|
|
return pattern.properties.some(function (prop) {
|
|
return isRestElement$3(prop);
|
|
});
|
|
}
|
|
var STOP_TRAVERSAL = {};
|
|
var arrayUnpackVisitor = function arrayUnpackVisitor(node, ancestors, state) {
|
|
if (!ancestors.length) {
|
|
return;
|
|
}
|
|
if (isIdentifier$j(node) && isReferenced$2(node, ancestors[ancestors.length - 1].node) && state.bindings[node.name]) {
|
|
state.deopt = true;
|
|
throw STOP_TRAVERSAL;
|
|
}
|
|
};
|
|
var DestructuringTransformer = function () {
|
|
function DestructuringTransformer(opts) {
|
|
this.blockHoist = void 0;
|
|
this.operator = void 0;
|
|
this.arrayRefSet = void 0;
|
|
this.nodes = void 0;
|
|
this.scope = void 0;
|
|
this.kind = void 0;
|
|
this.iterableIsArray = void 0;
|
|
this.arrayLikeIsIterable = void 0;
|
|
this.objectRestNoSymbols = void 0;
|
|
this.useBuiltIns = void 0;
|
|
this.addHelper = void 0;
|
|
this.blockHoist = opts.blockHoist;
|
|
this.operator = opts.operator;
|
|
this.arrayRefSet = new Set();
|
|
this.nodes = opts.nodes || [];
|
|
this.scope = opts.scope;
|
|
this.kind = opts.kind;
|
|
this.iterableIsArray = opts.iterableIsArray;
|
|
this.arrayLikeIsIterable = opts.arrayLikeIsIterable;
|
|
this.objectRestNoSymbols = opts.objectRestNoSymbols;
|
|
this.useBuiltIns = opts.useBuiltIns;
|
|
this.addHelper = opts.addHelper;
|
|
}
|
|
var _proto = DestructuringTransformer.prototype;
|
|
_proto.getExtendsHelper = function getExtendsHelper() {
|
|
return this.useBuiltIns ? memberExpression$c(identifier$i("Object"), identifier$i("assign")) : this.addHelper("extends");
|
|
};
|
|
_proto.buildVariableAssignment = function buildVariableAssignment(id, init) {
|
|
var op = this.operator;
|
|
if (isMemberExpression$8(id)) op = "=";
|
|
var node;
|
|
if (op) {
|
|
node = expressionStatement$a(assignmentExpression$d(op, id, cloneNode$j(init) || this.scope.buildUndefinedNode()));
|
|
} else {
|
|
var nodeInit;
|
|
if ((this.kind === "const" || this.kind === "using") && init === null) {
|
|
nodeInit = this.scope.buildUndefinedNode();
|
|
} else {
|
|
nodeInit = cloneNode$j(init);
|
|
}
|
|
node = variableDeclaration$8(this.kind, [variableDeclarator$8(id, nodeInit)]);
|
|
}
|
|
node._blockHoist = this.blockHoist;
|
|
return node;
|
|
};
|
|
_proto.buildVariableDeclaration = function buildVariableDeclaration(id, init) {
|
|
var declar = variableDeclaration$8("var", [variableDeclarator$8(cloneNode$j(id), cloneNode$j(init))]);
|
|
declar._blockHoist = this.blockHoist;
|
|
return declar;
|
|
};
|
|
_proto.push = function push(id, _init) {
|
|
var init = cloneNode$j(_init);
|
|
if (isObjectPattern$2(id)) {
|
|
this.pushObjectPattern(id, init);
|
|
} else if (isArrayPattern$1(id)) {
|
|
this.pushArrayPattern(id, init);
|
|
} else if (isAssignmentPattern$5(id)) {
|
|
this.pushAssignmentPattern(id, init);
|
|
} else {
|
|
this.nodes.push(this.buildVariableAssignment(id, init));
|
|
}
|
|
};
|
|
_proto.toArray = function toArray(node, count) {
|
|
if (this.iterableIsArray || isIdentifier$j(node) && this.arrayRefSet.has(node.name)) {
|
|
return node;
|
|
} else {
|
|
return this.scope.toArray(node, count, this.arrayLikeIsIterable);
|
|
}
|
|
};
|
|
_proto.pushAssignmentPattern = function pushAssignmentPattern(_ref, valueRef) {
|
|
var left = _ref.left,
|
|
right = _ref.right;
|
|
if (isPureVoid(valueRef)) {
|
|
this.push(left, right);
|
|
return;
|
|
}
|
|
var tempId = this.scope.generateUidIdentifierBasedOnNode(valueRef);
|
|
this.nodes.push(this.buildVariableDeclaration(tempId, valueRef));
|
|
var tempConditional = conditionalExpression$4(binaryExpression$5("===", cloneNode$j(tempId), this.scope.buildUndefinedNode()), right, cloneNode$j(tempId));
|
|
if (isPattern(left)) {
|
|
var patternId;
|
|
var node;
|
|
if (this.kind === "const" || this.kind === "let" || this.kind === "using") {
|
|
patternId = this.scope.generateUidIdentifier(tempId.name);
|
|
node = this.buildVariableDeclaration(patternId, tempConditional);
|
|
} else {
|
|
patternId = tempId;
|
|
node = expressionStatement$a(assignmentExpression$d("=", cloneNode$j(tempId), tempConditional));
|
|
}
|
|
this.nodes.push(node);
|
|
this.push(left, patternId);
|
|
} else {
|
|
this.nodes.push(this.buildVariableAssignment(left, tempConditional));
|
|
}
|
|
};
|
|
_proto.pushObjectRest = function pushObjectRest(pattern, objRef, spreadProp, spreadPropIndex) {
|
|
var _this = this;
|
|
var value = buildObjectExcludingKeys(pattern.properties.slice(0, spreadPropIndex), objRef, this.scope, function (name) {
|
|
return _this.addHelper(name);
|
|
}, this.objectRestNoSymbols, this.useBuiltIns);
|
|
this.nodes.push(this.buildVariableAssignment(spreadProp.argument, value));
|
|
};
|
|
_proto.pushObjectProperty = function pushObjectProperty(prop, propRef) {
|
|
if (isLiteral$6(prop.key)) prop.computed = true;
|
|
var pattern = prop.value;
|
|
var objRef = memberExpression$c(cloneNode$j(propRef), prop.key, prop.computed);
|
|
if (isPattern(pattern)) {
|
|
this.push(pattern, objRef);
|
|
} else {
|
|
this.nodes.push(this.buildVariableAssignment(pattern, objRef));
|
|
}
|
|
};
|
|
_proto.pushObjectPattern = function pushObjectPattern(pattern, objRef) {
|
|
if (!pattern.properties.length) {
|
|
this.nodes.push(expressionStatement$a(callExpression$e(this.addHelper("objectDestructuringEmpty"), isPureVoid(objRef) ? [] : [objRef])));
|
|
return;
|
|
}
|
|
if (pattern.properties.length > 1 && !this.scope.isStatic(objRef)) {
|
|
var temp = this.scope.generateUidIdentifierBasedOnNode(objRef);
|
|
this.nodes.push(this.buildVariableDeclaration(temp, objRef));
|
|
objRef = temp;
|
|
}
|
|
if (hasObjectRest(pattern)) {
|
|
var copiedPattern;
|
|
for (var i = 0; i < pattern.properties.length; i++) {
|
|
var prop = pattern.properties[i];
|
|
if (isRestElement$3(prop)) {
|
|
break;
|
|
}
|
|
var key = prop.key;
|
|
if (prop.computed && !this.scope.isPure(key)) {
|
|
var name = this.scope.generateUidIdentifierBasedOnNode(key);
|
|
this.nodes.push(this.buildVariableDeclaration(name, key));
|
|
if (!copiedPattern) {
|
|
copiedPattern = pattern = Object.assign({}, pattern, {
|
|
properties: pattern.properties.slice()
|
|
});
|
|
}
|
|
copiedPattern.properties[i] = Object.assign({}, prop, {
|
|
key: name
|
|
});
|
|
}
|
|
}
|
|
}
|
|
for (var _i = 0; _i < pattern.properties.length; _i++) {
|
|
var _prop = pattern.properties[_i];
|
|
if (isRestElement$3(_prop)) {
|
|
this.pushObjectRest(pattern, objRef, _prop, _i);
|
|
} else {
|
|
this.pushObjectProperty(_prop, objRef);
|
|
}
|
|
}
|
|
};
|
|
_proto.canUnpackArrayPattern = function canUnpackArrayPattern(pattern, arr) {
|
|
if (!isArrayExpression$2(arr)) return false;
|
|
if (pattern.elements.length > arr.elements.length) return;
|
|
if (pattern.elements.length < arr.elements.length && !hasArrayRest(pattern)) {
|
|
return false;
|
|
}
|
|
for (var _iterator = _createForOfIteratorHelperLoose(pattern.elements), _step; !(_step = _iterator()).done;) {
|
|
var elem = _step.value;
|
|
if (!elem) return false;
|
|
if (isMemberExpression$8(elem)) return false;
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(arr.elements), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _elem = _step2.value;
|
|
if (isSpreadElement$1(_elem)) return false;
|
|
if (isCallExpression$8(_elem)) return false;
|
|
if (isMemberExpression$8(_elem)) return false;
|
|
}
|
|
var bindings = getBindingIdentifiers$2(pattern);
|
|
var state = {
|
|
deopt: false,
|
|
bindings: bindings
|
|
};
|
|
try {
|
|
traverse$2(arr, arrayUnpackVisitor, state);
|
|
} catch (e) {
|
|
if (e !== STOP_TRAVERSAL) throw e;
|
|
}
|
|
return !state.deopt;
|
|
};
|
|
_proto.pushUnpackedArrayPattern = function pushUnpackedArrayPattern(pattern, arr) {
|
|
var _this2 = this;
|
|
var holeToUndefined = function holeToUndefined(el) {
|
|
return el != null ? el : _this2.scope.buildUndefinedNode();
|
|
};
|
|
for (var i = 0; i < pattern.elements.length; i++) {
|
|
var elem = pattern.elements[i];
|
|
if (isRestElement$3(elem)) {
|
|
this.push(elem.argument, arrayExpression$1(arr.elements.slice(i).map(holeToUndefined)));
|
|
} else {
|
|
this.push(elem, holeToUndefined(arr.elements[i]));
|
|
}
|
|
}
|
|
};
|
|
_proto.pushArrayPattern = function pushArrayPattern(pattern, arrayRef) {
|
|
if (arrayRef === null) {
|
|
this.nodes.push(expressionStatement$a(callExpression$e(this.addHelper("objectDestructuringEmpty"), [])));
|
|
return;
|
|
}
|
|
if (!pattern.elements) return;
|
|
if (this.canUnpackArrayPattern(pattern, arrayRef)) {
|
|
this.pushUnpackedArrayPattern(pattern, arrayRef);
|
|
return;
|
|
}
|
|
var count = !hasArrayRest(pattern) && pattern.elements.length;
|
|
var toArray = this.toArray(arrayRef, count);
|
|
if (isIdentifier$j(toArray)) {
|
|
arrayRef = toArray;
|
|
} else {
|
|
arrayRef = this.scope.generateUidIdentifierBasedOnNode(arrayRef);
|
|
this.arrayRefSet.add(arrayRef.name);
|
|
this.nodes.push(this.buildVariableDeclaration(arrayRef, toArray));
|
|
}
|
|
for (var i = 0; i < pattern.elements.length; i++) {
|
|
var elem = pattern.elements[i];
|
|
if (!elem) continue;
|
|
var elemRef = void 0;
|
|
if (isRestElement$3(elem)) {
|
|
elemRef = this.toArray(arrayRef);
|
|
elemRef = callExpression$e(memberExpression$c(elemRef, identifier$i("slice")), [numericLiteral$8(i)]);
|
|
this.push(elem.argument, elemRef);
|
|
} else {
|
|
elemRef = memberExpression$c(arrayRef, numericLiteral$8(i), true);
|
|
this.push(elem, elemRef);
|
|
}
|
|
}
|
|
};
|
|
_proto.init = function init(pattern, ref) {
|
|
if (!isArrayExpression$2(ref) && !isMemberExpression$8(ref)) {
|
|
var memo = this.scope.maybeGenerateMemoised(ref, true);
|
|
if (memo) {
|
|
this.nodes.push(this.buildVariableDeclaration(memo, cloneNode$j(ref)));
|
|
ref = memo;
|
|
}
|
|
}
|
|
this.push(pattern, ref);
|
|
return this.nodes;
|
|
};
|
|
return _createClass(DestructuringTransformer);
|
|
}();
|
|
function buildObjectExcludingKeys(excludedKeys, objRef, scope, addHelper, objectRestNoSymbols, useBuiltIns) {
|
|
var keys = [];
|
|
var allLiteral = true;
|
|
var hasTemplateLiteral = false;
|
|
for (var i = 0; i < excludedKeys.length; i++) {
|
|
var prop = excludedKeys[i];
|
|
var key = prop.key;
|
|
if (isIdentifier$j(key) && !prop.computed) {
|
|
keys.push(stringLiteral$8(key.name));
|
|
} else if (isTemplateLiteral$2(key)) {
|
|
keys.push(cloneNode$j(key));
|
|
hasTemplateLiteral = true;
|
|
} else if (isLiteral$6(key)) {
|
|
keys.push(stringLiteral$8(String(key.value)));
|
|
} else if (isPrivateName$3(key)) ; else {
|
|
keys.push(cloneNode$j(key));
|
|
allLiteral = false;
|
|
}
|
|
}
|
|
var value;
|
|
if (keys.length === 0) {
|
|
var extendsHelper = useBuiltIns ? memberExpression$c(identifier$i("Object"), identifier$i("assign")) : addHelper("extends");
|
|
value = callExpression$e(extendsHelper, [objectExpression$3([]), sequenceExpression$7([callExpression$e(addHelper("objectDestructuringEmpty"), [cloneNode$j(objRef)]), cloneNode$j(objRef)])]);
|
|
} else {
|
|
var keyExpression = arrayExpression$1(keys);
|
|
if (!allLiteral) {
|
|
keyExpression = callExpression$e(memberExpression$c(keyExpression, identifier$i("map")), [addHelper("toPropertyKey")]);
|
|
} else if (!hasTemplateLiteral && !isProgram$1(scope.block)) {
|
|
var programScope = scope.getProgramParent();
|
|
var id = programScope.generateUidIdentifier("excluded");
|
|
programScope.push({
|
|
id: id,
|
|
init: keyExpression,
|
|
kind: "const"
|
|
});
|
|
keyExpression = cloneNode$j(id);
|
|
}
|
|
value = callExpression$e(addHelper("objectWithoutProperties" + (objectRestNoSymbols ? "Loose" : "")), [cloneNode$j(objRef), keyExpression]);
|
|
}
|
|
return value;
|
|
}
|
|
function convertVariableDeclaration(path, addHelper, arrayLikeIsIterable, iterableIsArray, objectRestNoSymbols, useBuiltIns) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var nodeKind = node.kind;
|
|
var nodeLoc = node.loc;
|
|
var nodes = [];
|
|
for (var i = 0; i < node.declarations.length; i++) {
|
|
var declar = node.declarations[i];
|
|
var patternId = declar.init;
|
|
var pattern = declar.id;
|
|
var destructuring = new DestructuringTransformer({
|
|
blockHoist: node._blockHoist,
|
|
nodes: nodes,
|
|
scope: scope,
|
|
kind: node.kind,
|
|
iterableIsArray: iterableIsArray,
|
|
arrayLikeIsIterable: arrayLikeIsIterable,
|
|
useBuiltIns: useBuiltIns,
|
|
objectRestNoSymbols: objectRestNoSymbols,
|
|
addHelper: addHelper
|
|
});
|
|
if (isPattern(pattern)) {
|
|
destructuring.init(pattern, patternId);
|
|
if (+i !== node.declarations.length - 1) {
|
|
inherits$1(nodes[nodes.length - 1], declar);
|
|
}
|
|
} else {
|
|
nodes.push(inherits$1(destructuring.buildVariableAssignment(pattern, patternId), declar));
|
|
}
|
|
}
|
|
var tail = null;
|
|
var nodesOut = [];
|
|
for (var _i2 = 0, _nodes = nodes; _i2 < _nodes.length; _i2++) {
|
|
var _node = _nodes[_i2];
|
|
if (isVariableDeclaration$3(_node)) {
|
|
if (tail !== null) {
|
|
var _tail$declarations;
|
|
(_tail$declarations = tail.declarations).push.apply(_tail$declarations, _toConsumableArray(_node.declarations));
|
|
continue;
|
|
} else {
|
|
_node.kind = nodeKind;
|
|
tail = _node;
|
|
}
|
|
} else {
|
|
tail = null;
|
|
}
|
|
if (!_node.loc) {
|
|
_node.loc = nodeLoc;
|
|
}
|
|
nodesOut.push(_node);
|
|
}
|
|
if (nodesOut.length === 2 && isVariableDeclaration$3(nodesOut[0]) && isExpressionStatement$3(nodesOut[1]) && isCallExpression$8(nodesOut[1].expression) && nodesOut[0].declarations.length === 1) {
|
|
var expr = nodesOut[1].expression;
|
|
expr.arguments = [nodesOut[0].declarations[0].init];
|
|
nodesOut = [expr];
|
|
} else {
|
|
if (isForStatement$3(path.parent, {
|
|
init: node
|
|
}) && !nodesOut.some(function (v) {
|
|
return isVariableDeclaration$3(v);
|
|
})) {
|
|
for (var _i3 = 0; _i3 < nodesOut.length; _i3++) {
|
|
var _node2 = nodesOut[_i3];
|
|
if (isExpressionStatement$3(_node2)) {
|
|
nodesOut[_i3] = _node2.expression;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (nodesOut.length === 1) {
|
|
path.replaceWith(nodesOut[0]);
|
|
} else {
|
|
path.replaceWithMultiple(nodesOut);
|
|
}
|
|
scope.crawl();
|
|
}
|
|
function convertAssignmentExpression(path, addHelper, arrayLikeIsIterable, iterableIsArray, objectRestNoSymbols, useBuiltIns) {
|
|
var node = path.node,
|
|
scope = path.scope,
|
|
parentPath = path.parentPath;
|
|
var nodes = [];
|
|
var destructuring = new DestructuringTransformer({
|
|
operator: node.operator,
|
|
scope: scope,
|
|
nodes: nodes,
|
|
arrayLikeIsIterable: arrayLikeIsIterable,
|
|
iterableIsArray: iterableIsArray,
|
|
objectRestNoSymbols: objectRestNoSymbols,
|
|
useBuiltIns: useBuiltIns,
|
|
addHelper: addHelper
|
|
});
|
|
var ref;
|
|
if (!parentPath.isExpressionStatement() && !parentPath.isSequenceExpression() || path.isCompletionRecord()) {
|
|
ref = scope.generateUidIdentifierBasedOnNode(node.right, "ref");
|
|
nodes.push(variableDeclaration$8("var", [variableDeclarator$8(ref, node.right)]));
|
|
if (isArrayExpression$2(node.right)) {
|
|
destructuring.arrayRefSet.add(ref.name);
|
|
}
|
|
}
|
|
destructuring.init(node.left, ref || node.right);
|
|
if (ref) {
|
|
if (parentPath.isArrowFunctionExpression()) {
|
|
path.replaceWith(blockStatement$6([]));
|
|
nodes.push(returnStatement$3(cloneNode$j(ref)));
|
|
} else {
|
|
nodes.push(expressionStatement$a(cloneNode$j(ref)));
|
|
}
|
|
}
|
|
path.replaceWithMultiple(nodes);
|
|
scope.crawl();
|
|
}
|
|
|
|
function variableDeclarationHasPattern(node) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(node.declarations), _step; !(_step = _iterator()).done;) {
|
|
var declar = _step.value;
|
|
if (isPattern(declar.id)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
var _transformDestructuring = declare(function (api, options) {
|
|
var _ref, _api$assumption, _ref2, _options$allowArrayLi, _ref3, _api$assumption2;
|
|
api.assertVersion(7);
|
|
var _options$useBuiltIns = options.useBuiltIns,
|
|
useBuiltIns = _options$useBuiltIns === void 0 ? false : _options$useBuiltIns;
|
|
var iterableIsArray = (_ref = (_api$assumption = api.assumption("iterableIsArray")) != null ? _api$assumption : options.loose) != null ? _ref : false;
|
|
var arrayLikeIsIterable = (_ref2 = (_options$allowArrayLi = options.allowArrayLike) != null ? _options$allowArrayLi : api.assumption("arrayLikeIsIterable")) != null ? _ref2 : false;
|
|
var objectRestNoSymbols = (_ref3 = (_api$assumption2 = api.assumption("objectRestNoSymbols")) != null ? _api$assumption2 : options.loose) != null ? _ref3 : false;
|
|
return {
|
|
name: "transform-destructuring",
|
|
visitor: {
|
|
ExportNamedDeclaration: function ExportNamedDeclaration(path) {
|
|
var declaration = path.get("declaration");
|
|
if (!declaration.isVariableDeclaration()) return;
|
|
if (!variableDeclarationHasPattern(declaration.node)) return;
|
|
var specifiers = [];
|
|
for (var _i = 0, _Object$keys = Object.keys(path.getOuterBindingIdentifiers()); _i < _Object$keys.length; _i++) {
|
|
var name = _Object$keys[_i];
|
|
specifiers.push(exportSpecifier$2(identifier$i(name), identifier$i(name)));
|
|
}
|
|
path.replaceWith(declaration.node);
|
|
path.insertAfter(exportNamedDeclaration$2(null, specifiers));
|
|
path.scope.crawl();
|
|
},
|
|
ForXStatement: function (_ForXStatement) {
|
|
function ForXStatement(_x) {
|
|
return _ForXStatement.apply(this, arguments);
|
|
}
|
|
ForXStatement.toString = function () {
|
|
return _ForXStatement.toString();
|
|
};
|
|
return ForXStatement;
|
|
}(function (path) {
|
|
var _this = this;
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var left = node.left;
|
|
if (isPattern(left)) {
|
|
var temp = scope.generateUidIdentifier("ref");
|
|
node.left = variableDeclaration$8("var", [variableDeclarator$8(temp)]);
|
|
path.ensureBlock();
|
|
var statementBody = path.node.body.body;
|
|
var _nodes = [];
|
|
if (statementBody.length === 0 && path.isCompletionRecord()) {
|
|
_nodes.unshift(expressionStatement$a(scope.buildUndefinedNode()));
|
|
}
|
|
_nodes.unshift(expressionStatement$a(assignmentExpression$d("=", left, cloneNode$j(temp))));
|
|
unshiftForXStatementBody(path, _nodes);
|
|
scope.crawl();
|
|
return;
|
|
}
|
|
if (!isVariableDeclaration$3(left)) return;
|
|
var pattern = left.declarations[0].id;
|
|
if (!isPattern(pattern)) return;
|
|
var key = scope.generateUidIdentifier("ref");
|
|
node.left = variableDeclaration$8(left.kind, [variableDeclarator$8(key, null)]);
|
|
var nodes = [];
|
|
var destructuring = new DestructuringTransformer({
|
|
kind: left.kind,
|
|
scope: scope,
|
|
nodes: nodes,
|
|
arrayLikeIsIterable: arrayLikeIsIterable,
|
|
iterableIsArray: iterableIsArray,
|
|
objectRestNoSymbols: objectRestNoSymbols,
|
|
useBuiltIns: useBuiltIns,
|
|
addHelper: function addHelper(name) {
|
|
return _this.addHelper(name);
|
|
}
|
|
});
|
|
destructuring.init(pattern, key);
|
|
unshiftForXStatementBody(path, nodes);
|
|
scope.crawl();
|
|
}),
|
|
CatchClause: function CatchClause(_ref4) {
|
|
var _this2 = this;
|
|
var node = _ref4.node,
|
|
scope = _ref4.scope;
|
|
var pattern = node.param;
|
|
if (!isPattern(pattern)) return;
|
|
var ref = scope.generateUidIdentifier("ref");
|
|
node.param = ref;
|
|
var nodes = [];
|
|
var destructuring = new DestructuringTransformer({
|
|
kind: "let",
|
|
scope: scope,
|
|
nodes: nodes,
|
|
arrayLikeIsIterable: arrayLikeIsIterable,
|
|
iterableIsArray: iterableIsArray,
|
|
objectRestNoSymbols: objectRestNoSymbols,
|
|
useBuiltIns: useBuiltIns,
|
|
addHelper: function addHelper(name) {
|
|
return _this2.addHelper(name);
|
|
}
|
|
});
|
|
destructuring.init(pattern, ref);
|
|
node.body.body = [].concat(nodes, _toConsumableArray(node.body.body));
|
|
scope.crawl();
|
|
},
|
|
AssignmentExpression: function AssignmentExpression(path, state) {
|
|
if (!isPattern(path.node.left)) return;
|
|
convertAssignmentExpression(path, function (name) {
|
|
return state.addHelper(name);
|
|
}, arrayLikeIsIterable, iterableIsArray, objectRestNoSymbols, useBuiltIns);
|
|
},
|
|
VariableDeclaration: function VariableDeclaration(path, state) {
|
|
var node = path.node,
|
|
parent = path.parent;
|
|
if (isForXStatement$1(parent)) return;
|
|
if (!parent || !path.container) return;
|
|
if (!variableDeclarationHasPattern(node)) return;
|
|
convertVariableDeclaration(path, function (name) {
|
|
return state.addHelper(name);
|
|
}, arrayLikeIsIterable, iterableIsArray, objectRestNoSymbols, useBuiltIns);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _marked = _regeneratorRuntime().mark(traversePattern),
|
|
_marked2 = _regeneratorRuntime().mark(privateKeyPathIterator),
|
|
_marked3 = _regeneratorRuntime().mark(transformPrivateKeyDestructuring);
|
|
var assignmentExpression$2 = assignmentExpression$d,
|
|
binaryExpression = binaryExpression$5,
|
|
conditionalExpression = conditionalExpression$4,
|
|
cloneNode$1 = cloneNode$j,
|
|
isObjectProperty$2 = isObjectProperty$5,
|
|
isPrivateName$1 = isPrivateName$3,
|
|
memberExpression$2 = memberExpression$c,
|
|
numericLiteral = numericLiteral$8,
|
|
objectPattern = objectPattern$1,
|
|
restElement = restElement$2,
|
|
variableDeclarator = variableDeclarator$8,
|
|
variableDeclaration = variableDeclaration$8,
|
|
unaryExpression = unaryExpression$7;
|
|
function buildUndefinedNode() {
|
|
return unaryExpression("void", numericLiteral(0));
|
|
}
|
|
function transformAssignmentPattern(initializer, tempId) {
|
|
return conditionalExpression(binaryExpression("===", cloneNode$1(tempId), buildUndefinedNode()), initializer, cloneNode$1(tempId));
|
|
}
|
|
function initRestExcludingKeys(pattern) {
|
|
if (pattern.type === "ObjectPattern") {
|
|
var properties = pattern.properties;
|
|
if (properties[properties.length - 1].type === "RestElement") {
|
|
return [];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
function growRestExcludingKeys(excludingKeys, properties, scope) {
|
|
if (excludingKeys === null) return;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(properties), _step; !(_step = _iterator()).done;) {
|
|
var property = _step.value;
|
|
var propertyKey = property.key;
|
|
if (property.computed && !scope.isStatic(propertyKey)) {
|
|
var tempId = scope.generateDeclaredUidIdentifier("m");
|
|
property.key = assignmentExpression$2("=", tempId, propertyKey);
|
|
excludingKeys.push({
|
|
key: tempId,
|
|
computed: true
|
|
});
|
|
} else if (propertyKey.type !== "PrivateName") {
|
|
excludingKeys.push(property);
|
|
}
|
|
}
|
|
}
|
|
function buildVariableDeclarationFromParams(params, scope) {
|
|
var _buildAssignmentsFrom = buildAssignmentsFromPatternList(params, scope, false),
|
|
elements = _buildAssignmentsFrom.elements,
|
|
transformed = _buildAssignmentsFrom.transformed;
|
|
return {
|
|
params: elements,
|
|
variableDeclaration: variableDeclaration("var", transformed.map(function (_ref) {
|
|
var left = _ref.left,
|
|
right = _ref.right;
|
|
return variableDeclarator(left, right);
|
|
}))
|
|
};
|
|
}
|
|
function buildAssignmentsFromPatternList(elements, scope, isAssignment) {
|
|
var newElements = [],
|
|
transformed = [];
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(elements), _step2; !(_step2 = _iterator2()).done;) {
|
|
var element = _step2.value;
|
|
if (element === null) {
|
|
newElements.push(null);
|
|
transformed.push(null);
|
|
continue;
|
|
}
|
|
var tempId = scope.generateUidIdentifier("p");
|
|
if (isAssignment) {
|
|
scope.push({
|
|
id: cloneNode$1(tempId)
|
|
});
|
|
}
|
|
if (element.type === "RestElement") {
|
|
newElements.push(restElement(tempId));
|
|
element = element.argument;
|
|
} else {
|
|
newElements.push(tempId);
|
|
}
|
|
if (element.type === "AssignmentPattern") {
|
|
transformed.push({
|
|
left: element.left,
|
|
right: transformAssignmentPattern(element.right, tempId)
|
|
});
|
|
} else {
|
|
transformed.push({
|
|
left: element,
|
|
right: cloneNode$1(tempId)
|
|
});
|
|
}
|
|
}
|
|
return {
|
|
elements: newElements,
|
|
transformed: transformed
|
|
};
|
|
}
|
|
function traversePattern(root, visitor) {
|
|
var stack, item, _item, _node, _index, _depth, list, i, _list, _i;
|
|
return _regeneratorRuntime().wrap(function traversePattern$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
stack = [];
|
|
stack.push({
|
|
node: root,
|
|
index: 0,
|
|
depth: 0
|
|
});
|
|
case 2:
|
|
if (!((item = stack.pop()) !== undefined)) {
|
|
_context.next = 25;
|
|
break;
|
|
}
|
|
_item = item, _node = _item.node, _index = _item.index;
|
|
if (!(_node === null)) {
|
|
_context.next = 6;
|
|
break;
|
|
}
|
|
return _context.abrupt("continue", 2);
|
|
case 6:
|
|
return _context.delegateYield(visitor(_node, _index, item.depth), "t0", 7);
|
|
case 7:
|
|
_depth = item.depth + 1;
|
|
_context.t1 = _node.type;
|
|
_context.next = _context.t1 === "AssignmentPattern" ? 11 : _context.t1 === "ObjectProperty" ? 13 : _context.t1 === "RestElement" ? 15 : _context.t1 === "ObjectPattern" ? 17 : _context.t1 === "ArrayPattern" ? 19 : _context.t1 === "TSParameterProperty" ? 21 : _context.t1 === "TSAsExpression" ? 21 : _context.t1 === "TSTypeAssertion" ? 21 : _context.t1 === "TSNonNullExpression" ? 21 : 22;
|
|
break;
|
|
case 11:
|
|
stack.push({
|
|
node: _node.left,
|
|
index: 0,
|
|
depth: _depth
|
|
});
|
|
return _context.abrupt("break", 23);
|
|
case 13:
|
|
stack.push({
|
|
node: _node.value,
|
|
index: _index,
|
|
depth: item.depth
|
|
});
|
|
return _context.abrupt("break", 23);
|
|
case 15:
|
|
stack.push({
|
|
node: _node.argument,
|
|
index: 0,
|
|
depth: _depth
|
|
});
|
|
return _context.abrupt("break", 23);
|
|
case 17:
|
|
for (list = _node.properties, i = list.length - 1; i >= 0; i--) {
|
|
stack.push({
|
|
node: list[i],
|
|
index: i,
|
|
depth: _depth
|
|
});
|
|
}
|
|
return _context.abrupt("break", 23);
|
|
case 19:
|
|
for (_list = _node.elements, _i = _list.length - 1; _i >= 0; _i--) {
|
|
stack.push({
|
|
node: _list[_i],
|
|
index: _i,
|
|
depth: _depth
|
|
});
|
|
}
|
|
return _context.abrupt("break", 23);
|
|
case 21:
|
|
throw new Error("TypeScript features must first be transformed by " + "@babel/plugin-transform-typescript.\n" + "If you have already enabled that plugin (or '@babel/preset-typescript'), make sure " + "that it runs before @babel/plugin-proposal-destructuring-private.");
|
|
case 22:
|
|
return _context.abrupt("break", 23);
|
|
case 23:
|
|
_context.next = 2;
|
|
break;
|
|
case 25:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _marked);
|
|
}
|
|
function hasPrivateKeys(pattern) {
|
|
var result = false;
|
|
traversePattern(pattern, _regeneratorRuntime().mark(function _callee(node) {
|
|
return _regeneratorRuntime().wrap(function _callee$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
if (!(isObjectProperty$2(node) && isPrivateName$1(node.key))) {
|
|
_context2.next = 4;
|
|
break;
|
|
}
|
|
result = true;
|
|
_context2.next = 4;
|
|
return;
|
|
case 4:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _callee);
|
|
})).next();
|
|
return result;
|
|
}
|
|
function hasPrivateClassElement(node) {
|
|
return node.body.some(function (element) {
|
|
return isPrivateName$1(element.key);
|
|
});
|
|
}
|
|
function privateKeyPathIterator(pattern) {
|
|
var indexPath;
|
|
return _regeneratorRuntime().wrap(function privateKeyPathIterator$(_context4) {
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
case 0:
|
|
indexPath = [];
|
|
return _context4.delegateYield(traversePattern(pattern, _regeneratorRuntime().mark(function _callee2(node, index, depth) {
|
|
return _regeneratorRuntime().wrap(function _callee2$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
indexPath[depth] = index;
|
|
if (!(isObjectProperty$2(node) && isPrivateName$1(node.key))) {
|
|
_context3.next = 4;
|
|
break;
|
|
}
|
|
_context3.next = 4;
|
|
return indexPath.slice(1, depth + 1);
|
|
case 4:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, _callee2);
|
|
})), "t0", 2);
|
|
case 2:
|
|
case "end":
|
|
return _context4.stop();
|
|
}
|
|
}, _marked2);
|
|
}
|
|
function rightWillBeReferencedOnce(left) {
|
|
switch (left.type) {
|
|
case "Identifier":
|
|
case "ArrayPattern":
|
|
return true;
|
|
case "ObjectPattern":
|
|
return left.properties.length === 1;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
function transformPrivateKeyDestructuring(left, right, scope, isAssignment, shouldPreserveCompletion, addHelper, objectRestNoSymbols, useBuiltIns) {
|
|
var stack, rootRight, item, _item2, restExcludingKeys, _item3, _left, _right, searchPrivateKey, _ref2, properties, indexPath, indexPathIndex, _index2, isRightSafeToReuse, tempId, _left2, _properties, propertiesSlice, nextRestExcludingKeys, property, key, computed, leftElements, leftElementsAfterIndex, _buildAssignmentsFrom2, elements, transformed, i, _transformed$;
|
|
return _regeneratorRuntime().wrap(function transformPrivateKeyDestructuring$(_context5) {
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
case 0:
|
|
stack = [];
|
|
rootRight = right;
|
|
stack.push({
|
|
left: left,
|
|
right: right,
|
|
restExcludingKeys: initRestExcludingKeys(left)
|
|
});
|
|
case 3:
|
|
if (!((item = stack.pop()) !== undefined)) {
|
|
_context5.next = 65;
|
|
break;
|
|
}
|
|
_item2 = item, restExcludingKeys = _item2.restExcludingKeys;
|
|
_item3 = item, _left = _item3.left, _right = _item3.right;
|
|
searchPrivateKey = privateKeyPathIterator(_left).next();
|
|
if (!searchPrivateKey.done) {
|
|
_context5.next = 19;
|
|
break;
|
|
}
|
|
if (!((restExcludingKeys == null ? void 0 : restExcludingKeys.length) > 0)) {
|
|
_context5.next = 15;
|
|
break;
|
|
}
|
|
_ref2 = _left, properties = _ref2.properties;
|
|
if (properties.length === 1) {
|
|
_left = properties[0].argument;
|
|
}
|
|
_context5.next = 13;
|
|
return {
|
|
left: _left,
|
|
right: buildObjectExcludingKeys(restExcludingKeys, _right, scope, addHelper, objectRestNoSymbols, useBuiltIns)
|
|
};
|
|
case 13:
|
|
_context5.next = 17;
|
|
break;
|
|
case 15:
|
|
_context5.next = 17;
|
|
return {
|
|
left: _left,
|
|
right: _right
|
|
};
|
|
case 17:
|
|
_context5.next = 63;
|
|
break;
|
|
case 19:
|
|
indexPath = searchPrivateKey.value;
|
|
indexPathIndex = 0;
|
|
case 21:
|
|
if (!(indexPathIndex < indexPath.length && (_index2 = indexPath[indexPathIndex]) !== undefined || _left.type === "AssignmentPattern")) {
|
|
_context5.next = 62;
|
|
break;
|
|
}
|
|
isRightSafeToReuse = !(shouldPreserveCompletion && _right === rootRight) && (rightWillBeReferencedOnce(_left) || scope.isStatic(_right));
|
|
if (isRightSafeToReuse) {
|
|
_context5.next = 29;
|
|
break;
|
|
}
|
|
tempId = scope.generateUidIdentifier("m");
|
|
if (isAssignment) {
|
|
scope.push({
|
|
id: cloneNode$1(tempId)
|
|
});
|
|
}
|
|
_context5.next = 28;
|
|
return {
|
|
left: tempId,
|
|
right: _right
|
|
};
|
|
case 28:
|
|
_right = cloneNode$1(tempId);
|
|
case 29:
|
|
_context5.t0 = _left.type;
|
|
_context5.next = _context5.t0 === "ObjectPattern" ? 32 : _context5.t0 === "AssignmentPattern" ? 44 : _context5.t0 === "ArrayPattern" ? 47 : 58;
|
|
break;
|
|
case 32:
|
|
_left2 = _left, _properties = _left2.properties;
|
|
if (!(_index2 > 0)) {
|
|
_context5.next = 37;
|
|
break;
|
|
}
|
|
propertiesSlice = _properties.slice(0, _index2);
|
|
_context5.next = 37;
|
|
return {
|
|
left: objectPattern(propertiesSlice),
|
|
right: cloneNode$1(_right)
|
|
};
|
|
case 37:
|
|
if (_index2 < _properties.length - 1) {
|
|
nextRestExcludingKeys = indexPathIndex === 0 ? restExcludingKeys : initRestExcludingKeys(_left);
|
|
growRestExcludingKeys(nextRestExcludingKeys, _properties.slice(0, _index2 + 1), scope);
|
|
stack.push({
|
|
left: objectPattern(_properties.slice(_index2 + 1)),
|
|
right: cloneNode$1(_right),
|
|
restExcludingKeys: nextRestExcludingKeys
|
|
});
|
|
}
|
|
property = _properties[_index2];
|
|
_left = property.value;
|
|
key = property.key;
|
|
computed = property.computed || key.type !== "Identifier" && key.type !== "PrivateName";
|
|
_right = memberExpression$2(_right, key, computed);
|
|
return _context5.abrupt("break", 59);
|
|
case 44:
|
|
_right = transformAssignmentPattern(_left.right, _right);
|
|
_left = _left.left;
|
|
return _context5.abrupt("break", 59);
|
|
case 47:
|
|
leftElements = _left.elements;
|
|
leftElementsAfterIndex = leftElements.splice(_index2);
|
|
_buildAssignmentsFrom2 = buildAssignmentsFromPatternList(leftElementsAfterIndex, scope, isAssignment), elements = _buildAssignmentsFrom2.elements, transformed = _buildAssignmentsFrom2.transformed;
|
|
leftElements.push.apply(leftElements, _toConsumableArray(elements));
|
|
_context5.next = 53;
|
|
return {
|
|
left: _left,
|
|
right: cloneNode$1(_right)
|
|
};
|
|
case 53:
|
|
for (i = transformed.length - 1; i > 0; i--) {
|
|
if (transformed[i] !== null) {
|
|
stack.push(transformed[i]);
|
|
}
|
|
}
|
|
_transformed$ = transformed[0];
|
|
_left = _transformed$.left;
|
|
_right = _transformed$.right;
|
|
return _context5.abrupt("break", 59);
|
|
case 58:
|
|
return _context5.abrupt("break", 59);
|
|
case 59:
|
|
indexPathIndex++;
|
|
_context5.next = 21;
|
|
break;
|
|
case 62:
|
|
stack.push({
|
|
left: _left,
|
|
right: _right,
|
|
restExcludingKeys: initRestExcludingKeys(_left)
|
|
});
|
|
case 63:
|
|
_context5.next = 3;
|
|
break;
|
|
case 65:
|
|
case "end":
|
|
return _context5.stop();
|
|
}
|
|
}, _marked3);
|
|
}
|
|
|
|
var iifeVisitor = {
|
|
"ReferencedIdentifier|BindingIdentifier": function ReferencedIdentifierBindingIdentifier(path, state) {
|
|
var scope = path.scope,
|
|
node = path.node;
|
|
var name = node.name;
|
|
if (name === "eval" || scope.getBinding(name) === state.scope.parent.getBinding(name) && state.scope.hasOwnBinding(name)) {
|
|
state.needsOuterBinding = true;
|
|
path.stop();
|
|
}
|
|
},
|
|
"TypeAnnotation|TSTypeAnnotation|TypeParameterDeclaration|TSTypeParameterDeclaration": function TypeAnnotationTSTypeAnnotationTypeParameterDeclarationTSTypeParameterDeclaration(path) {
|
|
return path.skip();
|
|
}
|
|
};
|
|
function collectShadowedParamsNames(param, functionScope, shadowedParams) {
|
|
for (var _i = 0, _Object$keys = Object.keys(param.getBindingIdentifiers()); _i < _Object$keys.length; _i++) {
|
|
var _functionScope$bindin;
|
|
var name = _Object$keys[_i];
|
|
var constantViolations = (_functionScope$bindin = functionScope.bindings[name]) == null ? void 0 : _functionScope$bindin.constantViolations;
|
|
if (constantViolations) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(constantViolations), _step; !(_step = _iterator()).done;) {
|
|
var redeclarator = _step.value;
|
|
var node = redeclarator.node;
|
|
switch (node.type) {
|
|
case "VariableDeclarator":
|
|
{
|
|
if (node.init === null) {
|
|
var declaration = redeclarator.parentPath;
|
|
if (!declaration.parentPath.isFor() || declaration.parentPath.get("body") === declaration) {
|
|
redeclarator.remove();
|
|
break;
|
|
}
|
|
}
|
|
shadowedParams.add(name);
|
|
break;
|
|
}
|
|
case "FunctionDeclaration":
|
|
shadowedParams.add(name);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function buildScopeIIFE(shadowedParams, body) {
|
|
var args = [];
|
|
var params = [];
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(shadowedParams), _step2; !(_step2 = _iterator2()).done;) {
|
|
var name = _step2.value;
|
|
args.push(identifier$i(name));
|
|
params.push(identifier$i(name));
|
|
}
|
|
return returnStatement$3(callExpression$e(arrowFunctionExpression$4(params, body), args));
|
|
}
|
|
|
|
var _templateObject$k;
|
|
var buildDefaultParam = template$2.statement("\n let VARIABLE_NAME =\n arguments.length > ARGUMENT_KEY && arguments[ARGUMENT_KEY] !== undefined ?\n arguments[ARGUMENT_KEY]\n :\n DEFAULT_VALUE;\n");
|
|
var buildLooseDefaultParam = template$2.statement("\n if (ASSIGNMENT_IDENTIFIER === UNDEFINED) {\n ASSIGNMENT_IDENTIFIER = DEFAULT_VALUE;\n }\n");
|
|
var buildLooseDestructuredDefaultParam = template$2.statement("\n let ASSIGNMENT_IDENTIFIER = PARAMETER_NAME === UNDEFINED ? DEFAULT_VALUE : PARAMETER_NAME ;\n");
|
|
var buildSafeArgumentsAccess = template$2.statement("\n let $0 = arguments.length > $1 ? arguments[$1] : undefined;\n");
|
|
function convertFunctionParams(path, ignoreFunctionLength, shouldTransformParam, replaceRestElement) {
|
|
var params = path.get("params");
|
|
var isSimpleParameterList = params.every(function (param) {
|
|
return param.isIdentifier();
|
|
});
|
|
if (isSimpleParameterList) return false;
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var body = [];
|
|
var shadowedParams = new Set();
|
|
for (var _iterator = _createForOfIteratorHelperLoose(params), _step; !(_step = _iterator()).done;) {
|
|
var _param2 = _step.value;
|
|
collectShadowedParamsNames(_param2, scope, shadowedParams);
|
|
}
|
|
var state = {
|
|
needsOuterBinding: false,
|
|
scope: scope
|
|
};
|
|
if (shadowedParams.size === 0) {
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(params), _step2; !(_step2 = _iterator2()).done;) {
|
|
var param = _step2.value;
|
|
if (!param.isIdentifier()) param.traverse(iifeVisitor, state);
|
|
if (state.needsOuterBinding) break;
|
|
}
|
|
}
|
|
var firstOptionalIndex = null;
|
|
for (var i = 0; i < params.length; i++) {
|
|
var _param = params[i];
|
|
if (shouldTransformParam && !shouldTransformParam(i)) {
|
|
continue;
|
|
}
|
|
var _transformedRestNodes = [];
|
|
if (replaceRestElement) {
|
|
replaceRestElement(path, _param, _transformedRestNodes);
|
|
}
|
|
var paramIsAssignmentPattern = _param.isAssignmentPattern();
|
|
if (paramIsAssignmentPattern && (ignoreFunctionLength || isMethod$1(node, {
|
|
kind: "set"
|
|
}))) {
|
|
var left = _param.get("left");
|
|
var right = _param.get("right");
|
|
var undefinedNode = scope.buildUndefinedNode();
|
|
if (left.isIdentifier()) {
|
|
body.push(buildLooseDefaultParam({
|
|
ASSIGNMENT_IDENTIFIER: cloneNode$j(left.node),
|
|
DEFAULT_VALUE: right.node,
|
|
UNDEFINED: undefinedNode
|
|
}));
|
|
_param.replaceWith(left.node);
|
|
} else if (left.isObjectPattern() || left.isArrayPattern()) {
|
|
var paramName = scope.generateUidIdentifier();
|
|
body.push(buildLooseDestructuredDefaultParam({
|
|
ASSIGNMENT_IDENTIFIER: left.node,
|
|
DEFAULT_VALUE: right.node,
|
|
PARAMETER_NAME: cloneNode$j(paramName),
|
|
UNDEFINED: undefinedNode
|
|
}));
|
|
_param.replaceWith(paramName);
|
|
}
|
|
} else if (paramIsAssignmentPattern) {
|
|
if (firstOptionalIndex === null) firstOptionalIndex = i;
|
|
var _left = _param.get("left");
|
|
var _right = _param.get("right");
|
|
var defNode = buildDefaultParam({
|
|
VARIABLE_NAME: _left.node,
|
|
DEFAULT_VALUE: _right.node,
|
|
ARGUMENT_KEY: numericLiteral$8(i)
|
|
});
|
|
body.push(defNode);
|
|
} else if (firstOptionalIndex !== null) {
|
|
var _defNode = buildSafeArgumentsAccess([_param.node, numericLiteral$8(i)]);
|
|
body.push(_defNode);
|
|
} else if (_param.isObjectPattern() || _param.isArrayPattern()) {
|
|
var uid = path.scope.generateUidIdentifier("ref");
|
|
uid.typeAnnotation = _param.node.typeAnnotation;
|
|
var _defNode2 = variableDeclaration$8("let", [variableDeclarator$8(_param.node, uid)]);
|
|
body.push(_defNode2);
|
|
_param.replaceWith(cloneNode$j(uid));
|
|
}
|
|
if (_transformedRestNodes) {
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(_transformedRestNodes), _step3; !(_step3 = _iterator3()).done;) {
|
|
var transformedNode = _step3.value;
|
|
body.push(transformedNode);
|
|
}
|
|
}
|
|
}
|
|
if (firstOptionalIndex !== null) {
|
|
node.params = node.params.slice(0, firstOptionalIndex);
|
|
}
|
|
path.ensureBlock();
|
|
var async = node.async,
|
|
generator = node.generator;
|
|
if (generator || state.needsOuterBinding || shadowedParams.size > 0) {
|
|
body.push(buildScopeIIFE(shadowedParams, path.node.body));
|
|
path.set("body", blockStatement$6(body));
|
|
var bodyPath = path.get("body.body");
|
|
var arrowPath = bodyPath[bodyPath.length - 1].get("argument.callee");
|
|
arrowPath.arrowFunctionToExpression();
|
|
arrowPath.node.generator = generator;
|
|
arrowPath.node.async = async;
|
|
node.generator = false;
|
|
node.async = false;
|
|
if (async) {
|
|
path.node.body = template$2.statement.ast(_templateObject$k || (_templateObject$k = _taggedTemplateLiteralLoose(["{\n try {\n ", "\n } catch (e) {\n return Promise.reject(e);\n }\n }"])), path.node.body.body);
|
|
}
|
|
} else {
|
|
path.get("body").unshiftContainer("body", body);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
var buildRest = template$2.statement("\n for (var LEN = ARGUMENTS.length,\n ARRAY = new Array(ARRAY_LEN),\n KEY = START;\n KEY < LEN;\n KEY++) {\n ARRAY[ARRAY_KEY] = ARGUMENTS[KEY];\n }\n");
|
|
var restIndex = template$2.expression("\n (INDEX < OFFSET || ARGUMENTS.length <= INDEX) ? undefined : ARGUMENTS[INDEX]\n");
|
|
var restIndexImpure = template$2.expression("\n REF = INDEX, (REF < OFFSET || ARGUMENTS.length <= REF) ? undefined : ARGUMENTS[REF]\n");
|
|
var restLength = template$2.expression("\n ARGUMENTS.length <= OFFSET ? 0 : ARGUMENTS.length - OFFSET\n");
|
|
function referencesRest(path, state) {
|
|
if (path.node.name === state.name) {
|
|
return path.scope.bindingIdentifierEquals(state.name, state.outerBinding);
|
|
}
|
|
return false;
|
|
}
|
|
var memberExpressionOptimisationVisitor = {
|
|
Scope: function Scope(path, state) {
|
|
if (!path.scope.bindingIdentifierEquals(state.name, state.outerBinding)) {
|
|
path.skip();
|
|
}
|
|
},
|
|
Flow: function (_Flow) {
|
|
function Flow(_x) {
|
|
return _Flow.apply(this, arguments);
|
|
}
|
|
Flow.toString = function () {
|
|
return _Flow.toString();
|
|
};
|
|
return Flow;
|
|
}(function (path) {
|
|
if (path.isTypeCastExpression()) return;
|
|
path.skip();
|
|
}),
|
|
Function: function Function(path, state) {
|
|
var oldNoOptimise = state.noOptimise;
|
|
state.noOptimise = true;
|
|
path.traverse(memberExpressionOptimisationVisitor, state);
|
|
state.noOptimise = oldNoOptimise;
|
|
path.skip();
|
|
},
|
|
ReferencedIdentifier: function ReferencedIdentifier(path, state) {
|
|
var node = path.node;
|
|
if (node.name === "arguments") {
|
|
state.deopted = true;
|
|
}
|
|
if (!referencesRest(path, state)) return;
|
|
if (state.noOptimise) {
|
|
state.deopted = true;
|
|
} else {
|
|
var parentPath = path.parentPath;
|
|
if (parentPath.listKey === "params" && parentPath.key < state.offset) {
|
|
return;
|
|
}
|
|
if (parentPath.isMemberExpression({
|
|
object: node
|
|
})) {
|
|
var grandparentPath = parentPath.parentPath;
|
|
var argsOptEligible = !state.deopted && !(grandparentPath.isAssignmentExpression() && parentPath.node === grandparentPath.node.left || grandparentPath.isLVal() || grandparentPath.isForXStatement() || grandparentPath.isUpdateExpression() || grandparentPath.isUnaryExpression({
|
|
operator: "delete"
|
|
}) || (grandparentPath.isCallExpression() || grandparentPath.isNewExpression()) && parentPath.node === grandparentPath.node.callee);
|
|
if (argsOptEligible) {
|
|
if (parentPath.node.computed) {
|
|
if (parentPath.get("property").isBaseType("number")) {
|
|
state.candidates.push({
|
|
cause: "indexGetter",
|
|
path: path
|
|
});
|
|
return;
|
|
}
|
|
} else if (parentPath.node.property.name === "length") {
|
|
state.candidates.push({
|
|
cause: "lengthGetter",
|
|
path: path
|
|
});
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
if (state.offset === 0 && parentPath.isSpreadElement()) {
|
|
var call = parentPath.parentPath;
|
|
if (call.isCallExpression() && call.node.arguments.length === 1) {
|
|
state.candidates.push({
|
|
cause: "argSpread",
|
|
path: path
|
|
});
|
|
return;
|
|
}
|
|
}
|
|
state.references.push(path);
|
|
}
|
|
},
|
|
BindingIdentifier: function BindingIdentifier(path, state) {
|
|
if (referencesRest(path, state)) {
|
|
state.deopted = true;
|
|
}
|
|
}
|
|
};
|
|
function getParamsCount(node) {
|
|
var count = node.params.length;
|
|
if (count > 0 && isIdentifier$j(node.params[0], {
|
|
name: "this"
|
|
})) {
|
|
count -= 1;
|
|
}
|
|
return count;
|
|
}
|
|
function hasRest(node) {
|
|
var length = node.params.length;
|
|
return length > 0 && isRestElement$3(node.params[length - 1]);
|
|
}
|
|
function optimiseIndexGetter(path, argsId, offset) {
|
|
var offsetLiteral = numericLiteral$8(offset);
|
|
var index;
|
|
var parent = path.parent;
|
|
if (isNumericLiteral(parent.property)) {
|
|
index = numericLiteral$8(parent.property.value + offset);
|
|
} else if (offset === 0) {
|
|
index = parent.property;
|
|
} else {
|
|
index = binaryExpression$5("+", parent.property, cloneNode$j(offsetLiteral));
|
|
}
|
|
var scope = path.scope,
|
|
parentPath = path.parentPath;
|
|
if (!scope.isPure(index)) {
|
|
var temp = scope.generateUidIdentifierBasedOnNode(index);
|
|
scope.push({
|
|
id: temp,
|
|
kind: "var"
|
|
});
|
|
parentPath.replaceWith(restIndexImpure({
|
|
ARGUMENTS: argsId,
|
|
OFFSET: offsetLiteral,
|
|
INDEX: index,
|
|
REF: cloneNode$j(temp)
|
|
}));
|
|
} else {
|
|
parentPath.replaceWith(restIndex({
|
|
ARGUMENTS: argsId,
|
|
OFFSET: offsetLiteral,
|
|
INDEX: index
|
|
}));
|
|
var replacedParentPath = parentPath;
|
|
var offsetTestPath = replacedParentPath.get("test");
|
|
var valRes = offsetTestPath.get("left").evaluate();
|
|
if (valRes.confident) {
|
|
if (valRes.value === true) {
|
|
replacedParentPath.replaceWith(scope.buildUndefinedNode());
|
|
} else {
|
|
offsetTestPath.replaceWith(offsetTestPath.get("right"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function optimiseLengthGetter(path, argsId, offset) {
|
|
if (offset) {
|
|
path.parentPath.replaceWith(restLength({
|
|
ARGUMENTS: argsId,
|
|
OFFSET: numericLiteral$8(offset)
|
|
}));
|
|
} else {
|
|
path.replaceWith(argsId);
|
|
}
|
|
}
|
|
function convertFunctionRest(path) {
|
|
var _state$references;
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
if (!hasRest(node)) return false;
|
|
var restPath = path.get("params." + (node.params.length - 1) + ".argument");
|
|
if (!restPath.isIdentifier()) {
|
|
var shadowedParams = new Set();
|
|
collectShadowedParamsNames(restPath, path.scope, shadowedParams);
|
|
var needsIIFE = shadowedParams.size > 0;
|
|
if (!needsIIFE) {
|
|
var _state = {
|
|
needsOuterBinding: false,
|
|
scope: scope
|
|
};
|
|
restPath.traverse(iifeVisitor, _state);
|
|
needsIIFE = _state.needsOuterBinding;
|
|
}
|
|
if (needsIIFE) {
|
|
path.ensureBlock();
|
|
path.set("body", blockStatement$6([buildScopeIIFE(shadowedParams, path.node.body)]));
|
|
}
|
|
}
|
|
var rest = restPath.node;
|
|
node.params.pop();
|
|
if (isPattern(rest)) {
|
|
var pattern = rest;
|
|
rest = scope.generateUidIdentifier("ref");
|
|
var declar = variableDeclaration$8("let", [variableDeclarator$8(pattern, rest)]);
|
|
path.ensureBlock();
|
|
node.body.body.unshift(declar);
|
|
} else if (rest.name === "arguments") {
|
|
scope.rename(rest.name);
|
|
}
|
|
var argsId = identifier$i("arguments");
|
|
var paramsCount = getParamsCount(node);
|
|
var state = {
|
|
references: [],
|
|
offset: paramsCount,
|
|
argumentsNode: argsId,
|
|
outerBinding: scope.getBindingIdentifier(rest.name),
|
|
candidates: [],
|
|
name: rest.name,
|
|
deopted: false
|
|
};
|
|
path.traverse(memberExpressionOptimisationVisitor, state);
|
|
if (!state.deopted && !state.references.length) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(state.candidates), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _step.value,
|
|
_path = _step$value.path,
|
|
cause = _step$value.cause;
|
|
var clonedArgsId = cloneNode$j(argsId);
|
|
switch (cause) {
|
|
case "indexGetter":
|
|
optimiseIndexGetter(_path, clonedArgsId, state.offset);
|
|
break;
|
|
case "lengthGetter":
|
|
optimiseLengthGetter(_path, clonedArgsId, state.offset);
|
|
break;
|
|
default:
|
|
_path.replaceWith(clonedArgsId);
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
(_state$references = state.references).push.apply(_state$references, _toConsumableArray(state.candidates.map(function (_ref) {
|
|
var path = _ref.path;
|
|
return path;
|
|
})));
|
|
var start = numericLiteral$8(paramsCount);
|
|
var key = scope.generateUidIdentifier("key");
|
|
var len = scope.generateUidIdentifier("len");
|
|
var arrKey, arrLen;
|
|
if (paramsCount) {
|
|
arrKey = binaryExpression$5("-", cloneNode$j(key), cloneNode$j(start));
|
|
arrLen = conditionalExpression$4(binaryExpression$5(">", cloneNode$j(len), cloneNode$j(start)), binaryExpression$5("-", cloneNode$j(len), cloneNode$j(start)), numericLiteral$8(0));
|
|
} else {
|
|
arrKey = identifier$i(key.name);
|
|
arrLen = identifier$i(len.name);
|
|
}
|
|
var loop = buildRest({
|
|
ARGUMENTS: argsId,
|
|
ARRAY_KEY: arrKey,
|
|
ARRAY_LEN: arrLen,
|
|
START: start,
|
|
ARRAY: rest,
|
|
KEY: key,
|
|
LEN: len
|
|
});
|
|
if (state.deopted) {
|
|
node.body.body.unshift(loop);
|
|
} else {
|
|
var target = path.getEarliestCommonAncestorFrom(state.references).getStatementParent();
|
|
target.findParent(function (path) {
|
|
if (path.isLoop()) {
|
|
target = path;
|
|
} else {
|
|
return path.isFunction();
|
|
}
|
|
});
|
|
target.insertBefore(loop);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
var _transformParameters = declare(function (api, options) {
|
|
var _api$assumption, _api$assumption2;
|
|
api.assertVersion(7);
|
|
var ignoreFunctionLength = (_api$assumption = api.assumption("ignoreFunctionLength")) != null ? _api$assumption : options.loose;
|
|
var noNewArrows = (_api$assumption2 = api.assumption("noNewArrows")) != null ? _api$assumption2 : true;
|
|
return {
|
|
name: "transform-parameters",
|
|
visitor: {
|
|
Function: function Function(path) {
|
|
if (path.isArrowFunctionExpression() && path.get("params").some(function (param) {
|
|
return param.isRestElement() || param.isAssignmentPattern();
|
|
})) {
|
|
path.arrowFunctionToExpression({
|
|
allowInsertArrowWithRest: false,
|
|
noNewArrows: noNewArrows
|
|
});
|
|
if (!path.isFunctionExpression()) return;
|
|
}
|
|
var convertedRest = convertFunctionRest(path);
|
|
var convertedParams = convertFunctionParams(path, ignoreFunctionLength);
|
|
if (convertedRest || convertedParams) {
|
|
path.scope.crawl();
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var proposalDestructuringPrivate = declare(function (_ref) {
|
|
var assertVersion = _ref.assertVersion,
|
|
assumption = _ref.assumption,
|
|
t = _ref.types;
|
|
assertVersion("^7.17.0");
|
|
var assignmentExpression = t.assignmentExpression,
|
|
assignmentPattern = t.assignmentPattern,
|
|
cloneNode = t.cloneNode,
|
|
expressionStatement = t.expressionStatement,
|
|
isExpressionStatement = t.isExpressionStatement,
|
|
isIdentifier = t.isIdentifier,
|
|
isSequenceExpression = t.isSequenceExpression,
|
|
sequenceExpression = t.sequenceExpression,
|
|
variableDeclaration = t.variableDeclaration,
|
|
variableDeclarator = t.variableDeclarator;
|
|
var ignoreFunctionLength = assumption("ignoreFunctionLength");
|
|
var objectRestNoSymbols = assumption("objectRestNoSymbols");
|
|
var privateKeyDestructuringVisitor = {
|
|
Function: function Function(path) {
|
|
var firstPrivateIndex = path.node.params.findIndex(function (param) {
|
|
return hasPrivateKeys(param);
|
|
});
|
|
if (firstPrivateIndex === -1) return;
|
|
convertFunctionParams(path, ignoreFunctionLength, function () {
|
|
return false;
|
|
});
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var params = node.params;
|
|
var firstAssignmentPatternIndex = ignoreFunctionLength ? -1 : params.findIndex(function (param) {
|
|
return param.type === "AssignmentPattern";
|
|
});
|
|
var paramsAfterIndex = params.splice(firstPrivateIndex);
|
|
var _buildVariableDeclara = buildVariableDeclarationFromParams(paramsAfterIndex, scope),
|
|
transformedParams = _buildVariableDeclara.params,
|
|
variableDeclaration = _buildVariableDeclara.variableDeclaration;
|
|
path.get("body").unshiftContainer("body", variableDeclaration);
|
|
params.push.apply(params, _toConsumableArray(transformedParams));
|
|
if (firstAssignmentPatternIndex >= firstPrivateIndex) {
|
|
params[firstAssignmentPatternIndex] = assignmentPattern(params[firstAssignmentPatternIndex], scope.buildUndefinedNode());
|
|
}
|
|
scope.crawl();
|
|
},
|
|
CatchClause: function CatchClause(path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
if (!hasPrivateKeys(node.param)) return;
|
|
var ref = scope.generateUidIdentifier("e");
|
|
path.get("body").unshiftContainer("body", variableDeclaration("let", [variableDeclarator(node.param, ref)]));
|
|
node.param = cloneNode(ref);
|
|
scope.crawl();
|
|
},
|
|
ForXStatement: function ForXStatement(path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var leftPath = path.get("left");
|
|
if (leftPath.isVariableDeclaration()) {
|
|
var left = leftPath.node;
|
|
if (!hasPrivateKeys(left.declarations[0].id)) return;
|
|
var temp = scope.generateUidIdentifier("ref");
|
|
node.left = variableDeclaration(left.kind, [variableDeclarator(temp, null)]);
|
|
left.declarations[0].init = cloneNode(temp);
|
|
unshiftForXStatementBody(path, [left]);
|
|
scope.crawl();
|
|
} else if (leftPath.isPattern()) {
|
|
if (!hasPrivateKeys(leftPath.node)) return;
|
|
var _temp = scope.generateUidIdentifier("ref");
|
|
node.left = variableDeclaration("const", [variableDeclarator(_temp, null)]);
|
|
var assignExpr = expressionStatement(assignmentExpression("=", leftPath.node, cloneNode(_temp)));
|
|
unshiftForXStatementBody(path, [assignExpr]);
|
|
scope.crawl();
|
|
}
|
|
},
|
|
VariableDeclaration: function VariableDeclaration(path, state) {
|
|
var scope = path.scope,
|
|
node = path.node;
|
|
var declarations = node.declarations;
|
|
if (!declarations.some(function (declarator) {
|
|
return hasPrivateKeys(declarator.id);
|
|
})) {
|
|
return;
|
|
}
|
|
var newDeclarations = [];
|
|
for (var _iterator = _createForOfIteratorHelperLoose(declarations), _step; !(_step = _iterator()).done;) {
|
|
var declarator = _step.value;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(transformPrivateKeyDestructuring(declarator.id, declarator.init, scope, false, false, function (name) {
|
|
return state.addHelper(name);
|
|
}, objectRestNoSymbols, true)), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _step2$value = _step2.value,
|
|
left = _step2$value.left,
|
|
right = _step2$value.right;
|
|
newDeclarations.push(variableDeclarator(left, right));
|
|
}
|
|
}
|
|
node.declarations = newDeclarations;
|
|
scope.crawl();
|
|
},
|
|
AssignmentExpression: function AssignmentExpression(path, state) {
|
|
var node = path.node,
|
|
scope = path.scope,
|
|
parent = path.parent;
|
|
if (!hasPrivateKeys(node.left)) return;
|
|
var assignments = [];
|
|
var shouldPreserveCompletion = !isExpressionStatement(parent) && !isSequenceExpression(parent) || path.isCompletionRecord();
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(transformPrivateKeyDestructuring(node.left, node.right, scope, true, shouldPreserveCompletion, function (name) {
|
|
return state.addHelper(name);
|
|
}, objectRestNoSymbols, true)), _step3; !(_step3 = _iterator3()).done;) {
|
|
var _step3$value = _step3.value,
|
|
_left = _step3$value.left,
|
|
_right = _step3$value.right;
|
|
assignments.push(assignmentExpression("=", _left, _right));
|
|
}
|
|
if (shouldPreserveCompletion) {
|
|
var _assignments$ = assignments[0],
|
|
left = _assignments$.left,
|
|
right = _assignments$.right;
|
|
if (isIdentifier(left) && right === node.right) {
|
|
if (!isIdentifier(assignments[assignments.length - 1].right, {
|
|
name: left.name
|
|
})) {
|
|
assignments.push(cloneNode(left));
|
|
}
|
|
} else {
|
|
var tempId = scope.generateDeclaredUidIdentifier("m");
|
|
assignments.unshift(assignmentExpression("=", tempId, cloneNode(node.right)));
|
|
assignments.push(cloneNode(tempId));
|
|
}
|
|
}
|
|
path.replaceWith(sequenceExpression(assignments));
|
|
scope.crawl();
|
|
}
|
|
};
|
|
var visitor = {
|
|
Class: function Class(path, state) {
|
|
if (!hasPrivateClassElement(path.node.body)) return;
|
|
path.traverse(privateKeyDestructuringVisitor, state);
|
|
}
|
|
};
|
|
return {
|
|
name: "proposal-destructuring-private",
|
|
inherits: syntaxDestructuringPrivate,
|
|
visitor: visitor
|
|
};
|
|
});
|
|
|
|
var proposalDoExpressions = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "proposal-do-expressions",
|
|
inherits: syntaxDoExpressions,
|
|
visitor: {
|
|
DoExpression: {
|
|
exit: function exit(path) {
|
|
var node = path.node;
|
|
if (node.async) {
|
|
return;
|
|
}
|
|
var body = node.body.body;
|
|
if (body.length) {
|
|
path.replaceExpressionWithStatements(body);
|
|
} else {
|
|
path.replaceWith(path.scope.buildUndefinedNode());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var Alphabetic = {};
|
|
|
|
var regenerate$2 = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
(function (root) {
|
|
var freeExports = exports;
|
|
var freeModule = module && module.exports == freeExports && module;
|
|
var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal;
|
|
if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {
|
|
root = freeGlobal;
|
|
}
|
|
var ERRORS = {
|
|
'rangeOrder': "A range\u2019s `stop` value must be greater than or equal " + 'to the `start` value.',
|
|
'codePointRange': 'Invalid code point value. Code points range from ' + 'U+000000 to U+10FFFF.'
|
|
};
|
|
var HIGH_SURROGATE_MIN = 0xD800;
|
|
var HIGH_SURROGATE_MAX = 0xDBFF;
|
|
var LOW_SURROGATE_MIN = 0xDC00;
|
|
var LOW_SURROGATE_MAX = 0xDFFF;
|
|
var regexNull = /\\x00([^0123456789]|$)/g;
|
|
var object = {};
|
|
var hasOwnProperty = object.hasOwnProperty;
|
|
var extend = function extend(destination, source) {
|
|
var key;
|
|
for (key in source) {
|
|
if (hasOwnProperty.call(source, key)) {
|
|
destination[key] = source[key];
|
|
}
|
|
}
|
|
return destination;
|
|
};
|
|
var forEach = function forEach(array, callback) {
|
|
var index = -1;
|
|
var length = array.length;
|
|
while (++index < length) {
|
|
callback(array[index], index);
|
|
}
|
|
};
|
|
var toString = object.toString;
|
|
var isArray = function isArray(value) {
|
|
return toString.call(value) == '[object Array]';
|
|
};
|
|
var isNumber = function isNumber(value) {
|
|
return typeof value == 'number' || toString.call(value) == '[object Number]';
|
|
};
|
|
var zeroes = '0000';
|
|
var pad = function pad(number, totalCharacters) {
|
|
var string = String(number);
|
|
return string.length < totalCharacters ? (zeroes + string).slice(-totalCharacters) : string;
|
|
};
|
|
var hex = function hex(number) {
|
|
return Number(number).toString(16).toUpperCase();
|
|
};
|
|
var slice = [].slice;
|
|
var dataFromCodePoints = function dataFromCodePoints(codePoints) {
|
|
var index = -1;
|
|
var length = codePoints.length;
|
|
var max = length - 1;
|
|
var result = [];
|
|
var isStart = true;
|
|
var tmp;
|
|
var previous = 0;
|
|
while (++index < length) {
|
|
tmp = codePoints[index];
|
|
if (isStart) {
|
|
result.push(tmp);
|
|
previous = tmp;
|
|
isStart = false;
|
|
} else {
|
|
if (tmp == previous + 1) {
|
|
if (index != max) {
|
|
previous = tmp;
|
|
continue;
|
|
} else {
|
|
isStart = true;
|
|
result.push(tmp + 1);
|
|
}
|
|
} else {
|
|
result.push(previous + 1, tmp);
|
|
previous = tmp;
|
|
}
|
|
}
|
|
}
|
|
if (!isStart) {
|
|
result.push(tmp + 1);
|
|
}
|
|
return result;
|
|
};
|
|
var dataRemove = function dataRemove(data, codePoint) {
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
var length = data.length;
|
|
while (index < length) {
|
|
start = data[index];
|
|
end = data[index + 1];
|
|
if (codePoint >= start && codePoint < end) {
|
|
if (codePoint == start) {
|
|
if (end == start + 1) {
|
|
data.splice(index, 2);
|
|
return data;
|
|
} else {
|
|
data[index] = codePoint + 1;
|
|
return data;
|
|
}
|
|
} else if (codePoint == end - 1) {
|
|
data[index + 1] = codePoint;
|
|
return data;
|
|
} else {
|
|
data.splice(index, 2, start, codePoint, codePoint + 1, end);
|
|
return data;
|
|
}
|
|
}
|
|
index += 2;
|
|
}
|
|
return data;
|
|
};
|
|
var dataRemoveRange = function dataRemoveRange(data, rangeStart, rangeEnd) {
|
|
if (rangeEnd < rangeStart) {
|
|
throw Error(ERRORS.rangeOrder);
|
|
}
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
while (index < data.length) {
|
|
start = data[index];
|
|
end = data[index + 1] - 1;
|
|
if (start > rangeEnd) {
|
|
return data;
|
|
}
|
|
if (rangeStart <= start && rangeEnd >= end) {
|
|
data.splice(index, 2);
|
|
continue;
|
|
}
|
|
if (rangeStart >= start && rangeEnd < end) {
|
|
if (rangeStart == start) {
|
|
data[index] = rangeEnd + 1;
|
|
data[index + 1] = end + 1;
|
|
return data;
|
|
}
|
|
data.splice(index, 2, start, rangeStart, rangeEnd + 1, end + 1);
|
|
return data;
|
|
}
|
|
if (rangeStart >= start && rangeStart <= end) {
|
|
data[index + 1] = rangeStart;
|
|
} else if (rangeEnd >= start && rangeEnd <= end) {
|
|
data[index] = rangeEnd + 1;
|
|
return data;
|
|
}
|
|
index += 2;
|
|
}
|
|
return data;
|
|
};
|
|
var dataAdd = function dataAdd(data, codePoint) {
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
var lastIndex = null;
|
|
var length = data.length;
|
|
if (codePoint < 0x0 || codePoint > 0x10FFFF) {
|
|
throw RangeError(ERRORS.codePointRange);
|
|
}
|
|
while (index < length) {
|
|
start = data[index];
|
|
end = data[index + 1];
|
|
if (codePoint >= start && codePoint < end) {
|
|
return data;
|
|
}
|
|
if (codePoint == start - 1) {
|
|
data[index] = codePoint;
|
|
return data;
|
|
}
|
|
if (start > codePoint) {
|
|
data.splice(lastIndex != null ? lastIndex + 2 : 0, 0, codePoint, codePoint + 1);
|
|
return data;
|
|
}
|
|
if (codePoint == end) {
|
|
if (codePoint + 1 == data[index + 2]) {
|
|
data.splice(index, 4, start, data[index + 3]);
|
|
return data;
|
|
}
|
|
data[index + 1] = codePoint + 1;
|
|
return data;
|
|
}
|
|
lastIndex = index;
|
|
index += 2;
|
|
}
|
|
data.push(codePoint, codePoint + 1);
|
|
return data;
|
|
};
|
|
var dataAddData = function dataAddData(dataA, dataB) {
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
var data = dataA.slice();
|
|
var length = dataB.length;
|
|
while (index < length) {
|
|
start = dataB[index];
|
|
end = dataB[index + 1] - 1;
|
|
if (start == end) {
|
|
data = dataAdd(data, start);
|
|
} else {
|
|
data = dataAddRange(data, start, end);
|
|
}
|
|
index += 2;
|
|
}
|
|
return data;
|
|
};
|
|
var dataRemoveData = function dataRemoveData(dataA, dataB) {
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
var data = dataA.slice();
|
|
var length = dataB.length;
|
|
while (index < length) {
|
|
start = dataB[index];
|
|
end = dataB[index + 1] - 1;
|
|
if (start == end) {
|
|
data = dataRemove(data, start);
|
|
} else {
|
|
data = dataRemoveRange(data, start, end);
|
|
}
|
|
index += 2;
|
|
}
|
|
return data;
|
|
};
|
|
var dataAddRange = function dataAddRange(data, rangeStart, rangeEnd) {
|
|
if (rangeEnd < rangeStart) {
|
|
throw Error(ERRORS.rangeOrder);
|
|
}
|
|
if (rangeStart < 0x0 || rangeStart > 0x10FFFF || rangeEnd < 0x0 || rangeEnd > 0x10FFFF) {
|
|
throw RangeError(ERRORS.codePointRange);
|
|
}
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
var added = false;
|
|
var length = data.length;
|
|
while (index < length) {
|
|
start = data[index];
|
|
end = data[index + 1];
|
|
if (added) {
|
|
if (start == rangeEnd + 1) {
|
|
data.splice(index - 1, 2);
|
|
return data;
|
|
}
|
|
if (start > rangeEnd) {
|
|
return data;
|
|
}
|
|
if (start >= rangeStart && start <= rangeEnd) {
|
|
if (end > rangeStart && end - 1 <= rangeEnd) {
|
|
data.splice(index, 2);
|
|
index -= 2;
|
|
} else {
|
|
data.splice(index - 1, 2);
|
|
index -= 2;
|
|
}
|
|
}
|
|
} else if (start == rangeEnd + 1 || start == rangeEnd) {
|
|
data[index] = rangeStart;
|
|
return data;
|
|
} else if (start > rangeEnd) {
|
|
data.splice(index, 0, rangeStart, rangeEnd + 1);
|
|
return data;
|
|
} else if (rangeStart >= start && rangeStart < end && rangeEnd + 1 <= end) {
|
|
return data;
|
|
} else if (rangeStart >= start && rangeStart < end || end == rangeStart) {
|
|
data[index + 1] = rangeEnd + 1;
|
|
added = true;
|
|
} else if (rangeStart <= start && rangeEnd + 1 >= end) {
|
|
data[index] = rangeStart;
|
|
data[index + 1] = rangeEnd + 1;
|
|
added = true;
|
|
}
|
|
index += 2;
|
|
}
|
|
if (!added) {
|
|
data.push(rangeStart, rangeEnd + 1);
|
|
}
|
|
return data;
|
|
};
|
|
var dataContains = function dataContains(data, codePoint) {
|
|
var index = 0;
|
|
var length = data.length;
|
|
var start = data[index];
|
|
var end = data[length - 1];
|
|
if (length >= 2) {
|
|
if (codePoint < start || codePoint > end) {
|
|
return false;
|
|
}
|
|
}
|
|
while (index < length) {
|
|
start = data[index];
|
|
end = data[index + 1];
|
|
if (codePoint >= start && codePoint < end) {
|
|
return true;
|
|
}
|
|
index += 2;
|
|
}
|
|
return false;
|
|
};
|
|
var dataIntersection = function dataIntersection(data, codePoints) {
|
|
var index = 0;
|
|
var length = codePoints.length;
|
|
var codePoint;
|
|
var result = [];
|
|
while (index < length) {
|
|
codePoint = codePoints[index];
|
|
if (dataContains(data, codePoint)) {
|
|
result.push(codePoint);
|
|
}
|
|
++index;
|
|
}
|
|
return dataFromCodePoints(result);
|
|
};
|
|
var dataIsEmpty = function dataIsEmpty(data) {
|
|
return !data.length;
|
|
};
|
|
var dataIsSingleton = function dataIsSingleton(data) {
|
|
return data.length == 2 && data[0] + 1 == data[1];
|
|
};
|
|
var dataToArray = function dataToArray(data) {
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
var result = [];
|
|
var length = data.length;
|
|
while (index < length) {
|
|
start = data[index];
|
|
end = data[index + 1];
|
|
while (start < end) {
|
|
result.push(start);
|
|
++start;
|
|
}
|
|
index += 2;
|
|
}
|
|
return result;
|
|
};
|
|
var floor = Math.floor;
|
|
var highSurrogate = function highSurrogate(codePoint) {
|
|
return parseInt(floor((codePoint - 0x10000) / 0x400) + HIGH_SURROGATE_MIN, 10);
|
|
};
|
|
var lowSurrogate = function lowSurrogate(codePoint) {
|
|
return parseInt((codePoint - 0x10000) % 0x400 + LOW_SURROGATE_MIN, 10);
|
|
};
|
|
var stringFromCharCode = String.fromCharCode;
|
|
var codePointToString = function codePointToString(codePoint) {
|
|
var string;
|
|
if (codePoint == 0x09) {
|
|
string = '\\t';
|
|
} else if (codePoint == 0x0A) {
|
|
string = '\\n';
|
|
} else if (codePoint == 0x0C) {
|
|
string = '\\f';
|
|
} else if (codePoint == 0x0D) {
|
|
string = '\\r';
|
|
} else if (codePoint == 0x2D) {
|
|
string = '\\x2D';
|
|
} else if (codePoint == 0x5C) {
|
|
string = '\\\\';
|
|
} else if (codePoint == 0x24 || codePoint >= 0x28 && codePoint <= 0x2B || codePoint == 0x2E || codePoint == 0x2F || codePoint == 0x3F || codePoint >= 0x5B && codePoint <= 0x5E || codePoint >= 0x7B && codePoint <= 0x7D) {
|
|
string = '\\' + stringFromCharCode(codePoint);
|
|
} else if (codePoint >= 0x20 && codePoint <= 0x7E) {
|
|
string = stringFromCharCode(codePoint);
|
|
} else if (codePoint <= 0xFF) {
|
|
string = '\\x' + pad(hex(codePoint), 2);
|
|
} else {
|
|
string = "\\u" + pad(hex(codePoint), 4);
|
|
}
|
|
return string;
|
|
};
|
|
var codePointToStringUnicode = function codePointToStringUnicode(codePoint) {
|
|
if (codePoint <= 0xFFFF) {
|
|
return codePointToString(codePoint);
|
|
}
|
|
return "\\u{" + codePoint.toString(16).toUpperCase() + '}';
|
|
};
|
|
var symbolToCodePoint = function symbolToCodePoint(symbol) {
|
|
var length = symbol.length;
|
|
var first = symbol.charCodeAt(0);
|
|
var second;
|
|
if (first >= HIGH_SURROGATE_MIN && first <= HIGH_SURROGATE_MAX && length > 1) {
|
|
second = symbol.charCodeAt(1);
|
|
return (first - HIGH_SURROGATE_MIN) * 0x400 + second - LOW_SURROGATE_MIN + 0x10000;
|
|
}
|
|
return first;
|
|
};
|
|
var createBMPCharacterClasses = function createBMPCharacterClasses(data) {
|
|
var result = '';
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
var length = data.length;
|
|
if (dataIsSingleton(data)) {
|
|
return codePointToString(data[0]);
|
|
}
|
|
while (index < length) {
|
|
start = data[index];
|
|
end = data[index + 1] - 1;
|
|
if (start == end) {
|
|
result += codePointToString(start);
|
|
} else if (start + 1 == end) {
|
|
result += codePointToString(start) + codePointToString(end);
|
|
} else {
|
|
result += codePointToString(start) + '-' + codePointToString(end);
|
|
}
|
|
index += 2;
|
|
}
|
|
return '[' + result + ']';
|
|
};
|
|
var createUnicodeCharacterClasses = function createUnicodeCharacterClasses(data) {
|
|
var result = '';
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
var length = data.length;
|
|
if (dataIsSingleton(data)) {
|
|
return codePointToStringUnicode(data[0]);
|
|
}
|
|
while (index < length) {
|
|
start = data[index];
|
|
end = data[index + 1] - 1;
|
|
if (start == end) {
|
|
result += codePointToStringUnicode(start);
|
|
} else if (start + 1 == end) {
|
|
result += codePointToStringUnicode(start) + codePointToStringUnicode(end);
|
|
} else {
|
|
result += codePointToStringUnicode(start) + '-' + codePointToStringUnicode(end);
|
|
}
|
|
index += 2;
|
|
}
|
|
return '[' + result + ']';
|
|
};
|
|
var splitAtBMP = function splitAtBMP(data) {
|
|
var loneHighSurrogates = [];
|
|
var loneLowSurrogates = [];
|
|
var bmp = [];
|
|
var astral = [];
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
var length = data.length;
|
|
while (index < length) {
|
|
start = data[index];
|
|
end = data[index + 1] - 1;
|
|
if (start < HIGH_SURROGATE_MIN) {
|
|
if (end < HIGH_SURROGATE_MIN) {
|
|
bmp.push(start, end + 1);
|
|
}
|
|
if (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {
|
|
bmp.push(start, HIGH_SURROGATE_MIN);
|
|
loneHighSurrogates.push(HIGH_SURROGATE_MIN, end + 1);
|
|
}
|
|
if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {
|
|
bmp.push(start, HIGH_SURROGATE_MIN);
|
|
loneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);
|
|
loneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);
|
|
}
|
|
if (end > LOW_SURROGATE_MAX) {
|
|
bmp.push(start, HIGH_SURROGATE_MIN);
|
|
loneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);
|
|
loneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);
|
|
if (end <= 0xFFFF) {
|
|
bmp.push(LOW_SURROGATE_MAX + 1, end + 1);
|
|
} else {
|
|
bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);
|
|
astral.push(0xFFFF + 1, end + 1);
|
|
}
|
|
}
|
|
} else if (start >= HIGH_SURROGATE_MIN && start <= HIGH_SURROGATE_MAX) {
|
|
if (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {
|
|
loneHighSurrogates.push(start, end + 1);
|
|
}
|
|
if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {
|
|
loneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);
|
|
loneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);
|
|
}
|
|
if (end > LOW_SURROGATE_MAX) {
|
|
loneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);
|
|
loneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);
|
|
if (end <= 0xFFFF) {
|
|
bmp.push(LOW_SURROGATE_MAX + 1, end + 1);
|
|
} else {
|
|
bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);
|
|
astral.push(0xFFFF + 1, end + 1);
|
|
}
|
|
}
|
|
} else if (start >= LOW_SURROGATE_MIN && start <= LOW_SURROGATE_MAX) {
|
|
if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {
|
|
loneLowSurrogates.push(start, end + 1);
|
|
}
|
|
if (end > LOW_SURROGATE_MAX) {
|
|
loneLowSurrogates.push(start, LOW_SURROGATE_MAX + 1);
|
|
if (end <= 0xFFFF) {
|
|
bmp.push(LOW_SURROGATE_MAX + 1, end + 1);
|
|
} else {
|
|
bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);
|
|
astral.push(0xFFFF + 1, end + 1);
|
|
}
|
|
}
|
|
} else if (start > LOW_SURROGATE_MAX && start <= 0xFFFF) {
|
|
if (end <= 0xFFFF) {
|
|
bmp.push(start, end + 1);
|
|
} else {
|
|
bmp.push(start, 0xFFFF + 1);
|
|
astral.push(0xFFFF + 1, end + 1);
|
|
}
|
|
} else {
|
|
astral.push(start, end + 1);
|
|
}
|
|
index += 2;
|
|
}
|
|
return {
|
|
'loneHighSurrogates': loneHighSurrogates,
|
|
'loneLowSurrogates': loneLowSurrogates,
|
|
'bmp': bmp,
|
|
'astral': astral
|
|
};
|
|
};
|
|
var optimizeSurrogateMappings = function optimizeSurrogateMappings(surrogateMappings) {
|
|
var result = [];
|
|
var tmpLow = [];
|
|
var addLow = false;
|
|
var mapping;
|
|
var nextMapping;
|
|
var highSurrogates;
|
|
var lowSurrogates;
|
|
var nextHighSurrogates;
|
|
var nextLowSurrogates;
|
|
var index = -1;
|
|
var length = surrogateMappings.length;
|
|
while (++index < length) {
|
|
mapping = surrogateMappings[index];
|
|
nextMapping = surrogateMappings[index + 1];
|
|
if (!nextMapping) {
|
|
result.push(mapping);
|
|
continue;
|
|
}
|
|
highSurrogates = mapping[0];
|
|
lowSurrogates = mapping[1];
|
|
nextHighSurrogates = nextMapping[0];
|
|
nextLowSurrogates = nextMapping[1];
|
|
tmpLow = lowSurrogates;
|
|
while (nextHighSurrogates && highSurrogates[0] == nextHighSurrogates[0] && highSurrogates[1] == nextHighSurrogates[1]) {
|
|
if (dataIsSingleton(nextLowSurrogates)) {
|
|
tmpLow = dataAdd(tmpLow, nextLowSurrogates[0]);
|
|
} else {
|
|
tmpLow = dataAddRange(tmpLow, nextLowSurrogates[0], nextLowSurrogates[1] - 1);
|
|
}
|
|
++index;
|
|
mapping = surrogateMappings[index];
|
|
highSurrogates = mapping[0];
|
|
lowSurrogates = mapping[1];
|
|
nextMapping = surrogateMappings[index + 1];
|
|
nextHighSurrogates = nextMapping && nextMapping[0];
|
|
nextLowSurrogates = nextMapping && nextMapping[1];
|
|
addLow = true;
|
|
}
|
|
result.push([highSurrogates, addLow ? tmpLow : lowSurrogates]);
|
|
addLow = false;
|
|
}
|
|
return optimizeByLowSurrogates(result);
|
|
};
|
|
var optimizeByLowSurrogates = function optimizeByLowSurrogates(surrogateMappings) {
|
|
if (surrogateMappings.length == 1) {
|
|
return surrogateMappings;
|
|
}
|
|
var index = -1;
|
|
var innerIndex = -1;
|
|
while (++index < surrogateMappings.length) {
|
|
var mapping = surrogateMappings[index];
|
|
var lowSurrogates = mapping[1];
|
|
var lowSurrogateStart = lowSurrogates[0];
|
|
var lowSurrogateEnd = lowSurrogates[1];
|
|
innerIndex = index;
|
|
while (++innerIndex < surrogateMappings.length) {
|
|
var otherMapping = surrogateMappings[innerIndex];
|
|
var otherLowSurrogates = otherMapping[1];
|
|
var otherLowSurrogateStart = otherLowSurrogates[0];
|
|
var otherLowSurrogateEnd = otherLowSurrogates[1];
|
|
if (lowSurrogateStart == otherLowSurrogateStart && lowSurrogateEnd == otherLowSurrogateEnd && otherLowSurrogates.length === 2) {
|
|
if (dataIsSingleton(otherMapping[0])) {
|
|
mapping[0] = dataAdd(mapping[0], otherMapping[0][0]);
|
|
} else {
|
|
mapping[0] = dataAddRange(mapping[0], otherMapping[0][0], otherMapping[0][1] - 1);
|
|
}
|
|
surrogateMappings.splice(innerIndex, 1);
|
|
--innerIndex;
|
|
}
|
|
}
|
|
}
|
|
return surrogateMappings;
|
|
};
|
|
var surrogateSet = function surrogateSet(data) {
|
|
if (!data.length) {
|
|
return [];
|
|
}
|
|
var index = 0;
|
|
var start;
|
|
var end;
|
|
var startHigh;
|
|
var startLow;
|
|
var endHigh;
|
|
var endLow;
|
|
var surrogateMappings = [];
|
|
var length = data.length;
|
|
while (index < length) {
|
|
start = data[index];
|
|
end = data[index + 1] - 1;
|
|
startHigh = highSurrogate(start);
|
|
startLow = lowSurrogate(start);
|
|
endHigh = highSurrogate(end);
|
|
endLow = lowSurrogate(end);
|
|
var startsWithLowestLowSurrogate = startLow == LOW_SURROGATE_MIN;
|
|
var endsWithHighestLowSurrogate = endLow == LOW_SURROGATE_MAX;
|
|
var complete = false;
|
|
if (startHigh == endHigh || startsWithLowestLowSurrogate && endsWithHighestLowSurrogate) {
|
|
surrogateMappings.push([[startHigh, endHigh + 1], [startLow, endLow + 1]]);
|
|
complete = true;
|
|
} else {
|
|
surrogateMappings.push([[startHigh, startHigh + 1], [startLow, LOW_SURROGATE_MAX + 1]]);
|
|
}
|
|
if (!complete && startHigh + 1 < endHigh) {
|
|
if (endsWithHighestLowSurrogate) {
|
|
surrogateMappings.push([[startHigh + 1, endHigh + 1], [LOW_SURROGATE_MIN, endLow + 1]]);
|
|
complete = true;
|
|
} else {
|
|
surrogateMappings.push([[startHigh + 1, endHigh], [LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1]]);
|
|
}
|
|
}
|
|
if (!complete) {
|
|
surrogateMappings.push([[endHigh, endHigh + 1], [LOW_SURROGATE_MIN, endLow + 1]]);
|
|
}
|
|
index += 2;
|
|
}
|
|
return optimizeSurrogateMappings(surrogateMappings);
|
|
};
|
|
var createSurrogateCharacterClasses = function createSurrogateCharacterClasses(surrogateMappings) {
|
|
var result = [];
|
|
forEach(surrogateMappings, function (surrogateMapping) {
|
|
var highSurrogates = surrogateMapping[0];
|
|
var lowSurrogates = surrogateMapping[1];
|
|
result.push(createBMPCharacterClasses(highSurrogates) + createBMPCharacterClasses(lowSurrogates));
|
|
});
|
|
return result.join('|');
|
|
};
|
|
var createCharacterClassesFromData = function createCharacterClassesFromData(data, bmpOnly, hasUnicodeFlag) {
|
|
if (hasUnicodeFlag) {
|
|
return createUnicodeCharacterClasses(data);
|
|
}
|
|
var result = [];
|
|
var parts = splitAtBMP(data);
|
|
var loneHighSurrogates = parts.loneHighSurrogates;
|
|
var loneLowSurrogates = parts.loneLowSurrogates;
|
|
var bmp = parts.bmp;
|
|
var astral = parts.astral;
|
|
var hasLoneHighSurrogates = !dataIsEmpty(loneHighSurrogates);
|
|
var hasLoneLowSurrogates = !dataIsEmpty(loneLowSurrogates);
|
|
var surrogateMappings = surrogateSet(astral);
|
|
if (bmpOnly) {
|
|
bmp = dataAddData(bmp, loneHighSurrogates);
|
|
hasLoneHighSurrogates = false;
|
|
bmp = dataAddData(bmp, loneLowSurrogates);
|
|
hasLoneLowSurrogates = false;
|
|
}
|
|
if (!dataIsEmpty(bmp)) {
|
|
result.push(createBMPCharacterClasses(bmp));
|
|
}
|
|
if (surrogateMappings.length) {
|
|
result.push(createSurrogateCharacterClasses(surrogateMappings));
|
|
}
|
|
if (hasLoneHighSurrogates) {
|
|
result.push(createBMPCharacterClasses(loneHighSurrogates) + "(?![\\uDC00-\\uDFFF])");
|
|
}
|
|
if (hasLoneLowSurrogates) {
|
|
result.push("(?:[^\\uD800-\\uDBFF]|^)" + createBMPCharacterClasses(loneLowSurrogates));
|
|
}
|
|
return result.join('|');
|
|
};
|
|
var regenerate = function regenerate(value) {
|
|
if (arguments.length > 1) {
|
|
value = slice.call(arguments);
|
|
}
|
|
if (this instanceof regenerate) {
|
|
this.data = [];
|
|
return value ? this.add(value) : this;
|
|
}
|
|
return new regenerate().add(value);
|
|
};
|
|
regenerate.version = '1.4.2';
|
|
var proto = regenerate.prototype;
|
|
extend(proto, {
|
|
'add': function add(value) {
|
|
var $this = this;
|
|
if (value == null) {
|
|
return $this;
|
|
}
|
|
if (value instanceof regenerate) {
|
|
$this.data = dataAddData($this.data, value.data);
|
|
return $this;
|
|
}
|
|
if (arguments.length > 1) {
|
|
value = slice.call(arguments);
|
|
}
|
|
if (isArray(value)) {
|
|
forEach(value, function (item) {
|
|
$this.add(item);
|
|
});
|
|
return $this;
|
|
}
|
|
$this.data = dataAdd($this.data, isNumber(value) ? value : symbolToCodePoint(value));
|
|
return $this;
|
|
},
|
|
'remove': function remove(value) {
|
|
var $this = this;
|
|
if (value == null) {
|
|
return $this;
|
|
}
|
|
if (value instanceof regenerate) {
|
|
$this.data = dataRemoveData($this.data, value.data);
|
|
return $this;
|
|
}
|
|
if (arguments.length > 1) {
|
|
value = slice.call(arguments);
|
|
}
|
|
if (isArray(value)) {
|
|
forEach(value, function (item) {
|
|
$this.remove(item);
|
|
});
|
|
return $this;
|
|
}
|
|
$this.data = dataRemove($this.data, isNumber(value) ? value : symbolToCodePoint(value));
|
|
return $this;
|
|
},
|
|
'addRange': function addRange(start, end) {
|
|
var $this = this;
|
|
$this.data = dataAddRange($this.data, isNumber(start) ? start : symbolToCodePoint(start), isNumber(end) ? end : symbolToCodePoint(end));
|
|
return $this;
|
|
},
|
|
'removeRange': function removeRange(start, end) {
|
|
var $this = this;
|
|
var startCodePoint = isNumber(start) ? start : symbolToCodePoint(start);
|
|
var endCodePoint = isNumber(end) ? end : symbolToCodePoint(end);
|
|
$this.data = dataRemoveRange($this.data, startCodePoint, endCodePoint);
|
|
return $this;
|
|
},
|
|
'intersection': function intersection(argument) {
|
|
var $this = this;
|
|
var array = argument instanceof regenerate ? dataToArray(argument.data) : argument;
|
|
$this.data = dataIntersection($this.data, array);
|
|
return $this;
|
|
},
|
|
'contains': function contains(codePoint) {
|
|
return dataContains(this.data, isNumber(codePoint) ? codePoint : symbolToCodePoint(codePoint));
|
|
},
|
|
'clone': function clone() {
|
|
var set = new regenerate();
|
|
set.data = this.data.slice(0);
|
|
return set;
|
|
},
|
|
'toString': function toString(options) {
|
|
var result = createCharacterClassesFromData(this.data, options ? options.bmpOnly : false, options ? options.hasUnicodeFlag : false);
|
|
if (!result) {
|
|
return '[]';
|
|
}
|
|
return result.replace(regexNull, '\\0$1');
|
|
},
|
|
'toRegExp': function toRegExp(flags) {
|
|
var pattern = this.toString(flags && flags.indexOf('u') != -1 ? {
|
|
'hasUnicodeFlag': true
|
|
} : null);
|
|
return RegExp(pattern, flags || '');
|
|
},
|
|
'valueOf': function valueOf() {
|
|
return dataToArray(this.data);
|
|
}
|
|
});
|
|
proto.toArray = proto.valueOf;
|
|
if (freeExports && !freeExports.nodeType) {
|
|
if (freeModule) {
|
|
freeModule.exports = regenerate;
|
|
} else {
|
|
freeExports.regenerate = regenerate;
|
|
}
|
|
} else {
|
|
root.regenerate = regenerate;
|
|
}
|
|
})(commonjsGlobal);
|
|
})(regenerate$2, regenerate$2.exports);
|
|
|
|
var hasRequiredAlphabetic;
|
|
function requireAlphabetic() {
|
|
if (hasRequiredAlphabetic) return Alphabetic;
|
|
hasRequiredAlphabetic = 1;
|
|
var set = regenerate$2.exports(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x345, 0x37F, 0x386, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x9B2, 0x9CE, 0x9D7, 0x9FC, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xD4E, 0xDBD, 0xDD6, 0xE4D, 0xE84, 0xEA5, 0xEC6, 0xECD, 0xF00, 0x1038, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0x2E2F, 0xA7D3, 0xA8C5, 0xA8FB, 0xA9CF, 0xAAC0, 0xAAC2, 0xFB3E, 0x10808, 0x1083C, 0x10F27, 0x110C2, 0x11176, 0x111DA, 0x111DC, 0x11237, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11640, 0x11644, 0x116B8, 0x11909, 0x119E1, 0x11A9D, 0x11C40, 0x11D3A, 0x11D43, 0x11D98, 0x11FB0, 0x16FE3, 0x1B132, 0x1B155, 0x1BC9E, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E08F, 0x1E14E, 0x1E947, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);
|
|
set.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5B0, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x657).addRange(0x659, 0x65F).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6E1, 0x6E8).addRange(0x6ED, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x710, 0x73F).addRange(0x74D, 0x7B1).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x817).addRange(0x81A, 0x82C).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x8D4, 0x8DF).addRange(0x8E3, 0x8E9).addRange(0x8F0, 0x93B).addRange(0x93D, 0x94C).addRange(0x94E, 0x950).addRange(0x955, 0x963).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8);
|
|
set.addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BD, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9F0, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4C).addRange(0xA59, 0xA5C).addRange(0xA70, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABD, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACC).addRange(0xAE0, 0xAE3).addRange(0xAF9, 0xAFC).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3D, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xB56, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A);
|
|
set.addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3D, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4C).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBD, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCC).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCF1, 0xCF3).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD3D, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A);
|
|
set.addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB9).addRange(0xEBB, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF83).addRange(0xF88, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1036).addRange(0x103B, 0x103F).addRange(0x1050, 0x108F).addRange(0x109A, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1713).addRange(0x171F, 0x1733).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17B3).addRange(0x17B6, 0x17C8).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B);
|
|
set.addRange(0x1930, 0x1938).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A61, 0x1A74).addRange(0x1ABF, 0x1AC0).addRange(0x1ACC, 0x1ACE).addRange(0x1B00, 0x1B33).addRange(0x1B35, 0x1B43).addRange(0x1B45, 0x1B4C).addRange(0x1B80, 0x1BA9).addRange(0x1BAC, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1BE7, 0x1BF1).addRange(0x1C00, 0x1C36).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1DE7, 0x1DF4).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188);
|
|
set.addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA674, 0xA67B).addRange(0xA67F, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA805).addRange(0xA807, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FF).addRange(0xA90A, 0xA92A).addRange(0xA930, 0xA952).addRange(0xA960, 0xA97C);
|
|
set.addRange(0xA980, 0xA9B2).addRange(0xA9B4, 0xA9BF).addRange(0xA9E0, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAABE).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF5).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D);
|
|
set.addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4);
|
|
set.addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11045).addRange(0x11071, 0x11075).addRange(0x11080, 0x110B8).addRange(0x110D0, 0x110E8).addRange(0x11100, 0x11132).addRange(0x11144, 0x11147).addRange(0x11150, 0x11172).addRange(0x11180, 0x111BF).addRange(0x111C1, 0x111C4).addRange(0x111CE, 0x111CF).addRange(0x11200, 0x11211).addRange(0x11213, 0x11234).addRange(0x1123E, 0x11241).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112E8).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133D, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134C).addRange(0x1135D, 0x11363).addRange(0x11400, 0x11441).addRange(0x11443, 0x11445).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114C1).addRange(0x114C4, 0x114C5);
|
|
set.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115BE).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x1163E).addRange(0x11680, 0x116B5).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172A).addRange(0x11740, 0x11746).addRange(0x11800, 0x11838).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x1193C).addRange(0x1193F, 0x11942).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119DF).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A32).addRange(0x11A35, 0x11A3E).addRange(0x11A50, 0x11A97).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C3E).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D41).addRange(0x11D46, 0x11D47).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D96).addRange(0x11EE0, 0x11EF6).addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F40).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F);
|
|
set.addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734);
|
|
set.addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E4D0, 0x1E4EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D);
|
|
set.addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);
|
|
Alphabetic.characters = set;
|
|
return Alphabetic;
|
|
}
|
|
|
|
var Any = {};
|
|
|
|
var hasRequiredAny;
|
|
function requireAny() {
|
|
if (hasRequiredAny) return Any;
|
|
hasRequiredAny = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x0, 0x10FFFF);
|
|
Any.characters = set;
|
|
return Any;
|
|
}
|
|
|
|
var ASCII_Hex_Digit = {};
|
|
|
|
var hasRequiredASCII_Hex_Digit;
|
|
function requireASCII_Hex_Digit() {
|
|
if (hasRequiredASCII_Hex_Digit) return ASCII_Hex_Digit;
|
|
hasRequiredASCII_Hex_Digit = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x30, 0x39).addRange(0x41, 0x46).addRange(0x61, 0x66);
|
|
ASCII_Hex_Digit.characters = set;
|
|
return ASCII_Hex_Digit;
|
|
}
|
|
|
|
var ASCII = {};
|
|
|
|
var hasRequiredASCII;
|
|
function requireASCII() {
|
|
if (hasRequiredASCII) return ASCII;
|
|
hasRequiredASCII = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x0, 0x7F);
|
|
ASCII.characters = set;
|
|
return ASCII;
|
|
}
|
|
|
|
var Assigned = {};
|
|
|
|
var hasRequiredAssigned;
|
|
function requireAssigned() {
|
|
if (hasRequiredAssigned) return Assigned;
|
|
hasRequiredAssigned = 1;
|
|
var set = regenerate$2.exports(0x38C, 0x85E, 0x9B2, 0x9D7, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x1940, 0x1F59, 0x1F5B, 0x1F5D, 0x2D27, 0x2D2D, 0xA7D3, 0xFB3E, 0xFDCF, 0xFEFF, 0x101A0, 0x10808, 0x1083C, 0x1093F, 0x110CD, 0x11288, 0x11350, 0x11357, 0x11909, 0x11D3A, 0x11FB0, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E08F, 0x1E2FF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F7F0, 0xE0001);
|
|
set.addRange(0x0, 0x377).addRange(0x37A, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x52F).addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0x600, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x82D).addRange(0x830, 0x83E).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0);
|
|
set.addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9);
|
|
set.addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0xE01, 0xE3A).addRange(0xE3F, 0xE5B).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECE).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFDA).addRange(0x1000, 0x10C5).addRange(0x10D0, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5);
|
|
set.addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1400, 0x169C).addRange(0x16A0, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1736).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1800, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x1A1B).addRange(0x1A1E, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E).addRange(0x1B80, 0x1BF3).addRange(0x1BFC, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CC7).addRange(0x1CD0, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D);
|
|
set.addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x2000, 0x2064).addRange(0x2066, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x20A0, 0x20C0).addRange(0x20D0, 0x20F0).addRange(0x2100, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2CF3).addRange(0x2CF9, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2E5D).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x303F).addRange(0x3041, 0x3096).addRange(0x3099, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x3190, 0x31E3).addRange(0x31F0, 0x321E).addRange(0x3220, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xA4D0, 0xA62B).addRange(0xA640, 0xA6F7).addRange(0xA700, 0xA7CA).addRange(0xA7D0, 0xA7D1);
|
|
set.addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA82C).addRange(0xA830, 0xA839).addRange(0xA840, 0xA877).addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9).addRange(0xA8E0, 0xA953).addRange(0xA95F, 0xA97C).addRange(0xA980, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAAC2).addRange(0xAADB, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB6B).addRange(0xAB70, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xD800, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFE19).addRange(0xFE20, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE);
|
|
set.addRange(0xFFF9, 0xFFFD).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FD).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x102E0, 0x102FB).addRange(0x10300, 0x10323).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x1039F, 0x103C3).addRange(0x103C8, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x1056F, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10857, 0x1089E).addRange(0x108A7, 0x108AF).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x1091B);
|
|
set.addRange(0x1091F, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58).addRange(0x10A60, 0x10A9F).addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6).addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B55).addRange(0x10B58, 0x10B72).addRange(0x10B78, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1).addRange(0x10EFD, 0x10F27).addRange(0x10F30, 0x10F59).addRange(0x10F70, 0x10F89).addRange(0x10FB0, 0x10FCB).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075).addRange(0x1107F, 0x110C2).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x11147).addRange(0x11150, 0x11176).addRange(0x11180, 0x111DF).addRange(0x111E1, 0x111F4).addRange(0x11200, 0x11211).addRange(0x11213, 0x11241).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9).addRange(0x112B0, 0x112EA);
|
|
set.addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461).addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD).addRange(0x11600, 0x11644).addRange(0x11650, 0x11659).addRange(0x11660, 0x1166C).addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746).addRange(0x11800, 0x1183B).addRange(0x118A0, 0x118F2).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4).addRange(0x11A00, 0x11A47).addRange(0x11A50, 0x11AA2).addRange(0x11AB0, 0x11AF8).addRange(0x11B00, 0x11B09).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C).addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);
|
|
set.addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF8).addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F59).addRange(0x11FC0, 0x11FF1).addRange(0x11FFF, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF2).addRange(0x13000, 0x13455).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5).addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E9A).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167);
|
|
set.addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BCA3).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D1EA).addRange(0x1D200, 0x1D245).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9);
|
|
set.addRange(0x1E4D0, 0x1E4F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776).addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859);
|
|
set.addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF).addRange(0xF0000, 0xFFFFD).addRange(0x100000, 0x10FFFD);
|
|
Assigned.characters = set;
|
|
return Assigned;
|
|
}
|
|
|
|
var Bidi_Control = {};
|
|
|
|
var hasRequiredBidi_Control;
|
|
function requireBidi_Control() {
|
|
if (hasRequiredBidi_Control) return Bidi_Control;
|
|
hasRequiredBidi_Control = 1;
|
|
var set = regenerate$2.exports(0x61C);
|
|
set.addRange(0x200E, 0x200F).addRange(0x202A, 0x202E).addRange(0x2066, 0x2069);
|
|
Bidi_Control.characters = set;
|
|
return Bidi_Control;
|
|
}
|
|
|
|
var Bidi_Mirrored = {};
|
|
|
|
var hasRequiredBidi_Mirrored;
|
|
function requireBidi_Mirrored() {
|
|
if (hasRequiredBidi_Mirrored) return Bidi_Mirrored;
|
|
hasRequiredBidi_Mirrored = 1;
|
|
var set = regenerate$2.exports(0x3C, 0x3E, 0x5B, 0x5D, 0x7B, 0x7D, 0xAB, 0xBB, 0x2140, 0x2211, 0x2224, 0x2226, 0x2239, 0x2262, 0x2298, 0x27C0, 0x29B8, 0x29C9, 0x29E1, 0x2A24, 0x2A26, 0x2A29, 0x2ADC, 0x2ADE, 0x2AF3, 0x2AFD, 0x2BFE, 0xFF1C, 0xFF1E, 0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, 0x1D6DB, 0x1D715, 0x1D74F, 0x1D789, 0x1D7C3);
|
|
set.addRange(0x28, 0x29).addRange(0xF3A, 0xF3D).addRange(0x169B, 0x169C).addRange(0x2039, 0x203A).addRange(0x2045, 0x2046).addRange(0x207D, 0x207E).addRange(0x208D, 0x208E).addRange(0x2201, 0x2204).addRange(0x2208, 0x220D).addRange(0x2215, 0x2216).addRange(0x221A, 0x221D).addRange(0x221F, 0x2222).addRange(0x222B, 0x2233).addRange(0x223B, 0x224C).addRange(0x2252, 0x2255).addRange(0x225F, 0x2260).addRange(0x2264, 0x226B).addRange(0x226E, 0x228C).addRange(0x228F, 0x2292).addRange(0x22A2, 0x22A3).addRange(0x22A6, 0x22B8).addRange(0x22BE, 0x22BF).addRange(0x22C9, 0x22CD).addRange(0x22D0, 0x22D1).addRange(0x22D6, 0x22ED).addRange(0x22F0, 0x22FF).addRange(0x2308, 0x230B).addRange(0x2320, 0x2321).addRange(0x2329, 0x232A).addRange(0x2768, 0x2775).addRange(0x27C3, 0x27C6).addRange(0x27C8, 0x27C9).addRange(0x27CB, 0x27CD).addRange(0x27D3, 0x27D6).addRange(0x27DC, 0x27DE).addRange(0x27E2, 0x27EF).addRange(0x2983, 0x2998).addRange(0x299B, 0x29A0).addRange(0x29A2, 0x29AF).addRange(0x29C0, 0x29C5).addRange(0x29CE, 0x29D2).addRange(0x29D4, 0x29D5).addRange(0x29D8, 0x29DC).addRange(0x29E3, 0x29E5).addRange(0x29E8, 0x29E9).addRange(0x29F4, 0x29F9).addRange(0x29FC, 0x29FD).addRange(0x2A0A, 0x2A1C).addRange(0x2A1E, 0x2A21).addRange(0x2A2B, 0x2A2E).addRange(0x2A34, 0x2A35);
|
|
set.addRange(0x2A3C, 0x2A3E).addRange(0x2A57, 0x2A58).addRange(0x2A64, 0x2A65).addRange(0x2A6A, 0x2A6D).addRange(0x2A6F, 0x2A70).addRange(0x2A73, 0x2A74).addRange(0x2A79, 0x2AA3).addRange(0x2AA6, 0x2AAD).addRange(0x2AAF, 0x2AD6).addRange(0x2AE2, 0x2AE6).addRange(0x2AEC, 0x2AEE).addRange(0x2AF7, 0x2AFB).addRange(0x2E02, 0x2E05).addRange(0x2E09, 0x2E0A).addRange(0x2E0C, 0x2E0D).addRange(0x2E1C, 0x2E1D).addRange(0x2E20, 0x2E29).addRange(0x2E55, 0x2E5C).addRange(0x3008, 0x3011).addRange(0x3014, 0x301B).addRange(0xFE59, 0xFE5E).addRange(0xFE64, 0xFE65).addRange(0xFF08, 0xFF09).addRange(0xFF5F, 0xFF60).addRange(0xFF62, 0xFF63);
|
|
Bidi_Mirrored.characters = set;
|
|
return Bidi_Mirrored;
|
|
}
|
|
|
|
var Case_Ignorable = {};
|
|
|
|
var hasRequiredCase_Ignorable;
|
|
function requireCase_Ignorable() {
|
|
if (hasRequiredCase_Ignorable) return Case_Ignorable;
|
|
hasRequiredCase_Ignorable = 1;
|
|
var set = regenerate$2.exports(0x27, 0x2E, 0x3A, 0x5E, 0x60, 0xA8, 0xAD, 0xAF, 0xB4, 0x37A, 0x387, 0x559, 0x55F, 0x5BF, 0x5C7, 0x5F4, 0x61C, 0x640, 0x670, 0x70F, 0x711, 0x7FA, 0x7FD, 0x888, 0x93A, 0x93C, 0x94D, 0x971, 0x981, 0x9BC, 0x9CD, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB3F, 0xB4D, 0xB82, 0xBC0, 0xBCD, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC6, 0xD4D, 0xD81, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xEC6, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x10FC, 0x17C6, 0x17D7, 0x17DD, 0x1843, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1AA7, 0x1B34, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x1D78, 0x1FBD, 0x2024, 0x2027, 0x2071, 0x207F, 0x2D6F, 0x2D7F, 0x2E2F, 0x3005, 0x303B, 0xA015, 0xA60C, 0xA67F, 0xA770, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9CF, 0xAA43, 0xAA4C, 0xAA70, 0xAA7C, 0xAAB0, 0xAAC1, 0xAADD, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0xFE13, 0xFE52, 0xFE55, 0xFEFF, 0xFF07, 0xFF0E, 0xFF1A, 0xFF3E, 0xFF40, 0xFF70, 0xFFE3, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110BD, 0x110C2, 0x110CD, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x11241, 0x112DF, 0x11340, 0x11446, 0x1145E, 0x114BA, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x11F40, 0x11F42, 0x16F4F, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E2AE, 0xE0001);
|
|
set.addRange(0xB7, 0xB8).addRange(0x2B0, 0x36F).addRange(0x374, 0x375).addRange(0x384, 0x385).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x600, 0x605).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DD).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F5).addRange(0x816, 0x82D).addRange(0x859, 0x85B).addRange(0x890, 0x891).addRange(0x898, 0x89F).addRange(0x8C9, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB41, 0xB44).addRange(0xB55, 0xB56).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C).addRange(0xD41, 0xD44).addRange(0xD62, 0xD63);
|
|
set.addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE46, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECE).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180F).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B36, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1C78, 0x1C7D).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0);
|
|
set.addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1D2C, 0x1D6A).addRange(0x1D9B, 0x1DFF).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x200B, 0x200F).addRange(0x2018, 0x2019).addRange(0x202A, 0x202E).addRange(0x2060, 0x2064).addRange(0x2066, 0x206F).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20F0).addRange(0x2C7C, 0x2C7D).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302D).addRange(0x3031, 0x3035).addRange(0x3099, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xA4F8, 0xA4FD).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69C, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7F9).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xA9E5, 0xA9E6).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xAAF3, 0xAAF4).addRange(0xAB5B, 0xAB5F).addRange(0xAB69, 0xAB6B);
|
|
set.addRange(0xFBB2, 0xFBC2).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0xFFF9, 0xFFFB).addRange(0x10376, 0x1037A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10EFD, 0x10EFF).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725);
|
|
set.addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x11F00, 0x11F01).addRange(0x11F36, 0x11F3A).addRange(0x13430, 0x13440).addRange(0x13447, 0x13455).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1BC9D, 0x1BC9E).addRange(0x1BCA0, 0x1BCA3).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D173, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006);
|
|
set.addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E030, 0x1E06D).addRange(0x1E130, 0x1E13D).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E4EB, 0x1E4EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94B).addRange(0x1F3FB, 0x1F3FF).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF);
|
|
Case_Ignorable.characters = set;
|
|
return Case_Ignorable;
|
|
}
|
|
|
|
var Cased = {};
|
|
|
|
var hasRequiredCased;
|
|
function requireCased() {
|
|
if (hasRequiredCased) return Cased;
|
|
hasRequiredCased = 1;
|
|
var set = regenerate$2.exports(0xAA, 0xB5, 0xBA, 0x345, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214E, 0x2D27, 0x2D2D, 0xA7D3, 0x10780, 0x1D4A2, 0x1D4BB, 0x1D546);
|
|
set.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x1BA).addRange(0x1BC, 0x1BF).addRange(0x1C4, 0x293).addRange(0x295, 0x2B8).addRange(0x2C0, 0x2C1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2134).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149);
|
|
set.addRange(0x2160, 0x217F).addRange(0x2183, 0x2184).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69D).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA78E).addRange(0xA790, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7F6).addRange(0xA7F8, 0xA7FA).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10783, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514);
|
|
set.addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E900, 0x1E943).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189);
|
|
Cased.characters = set;
|
|
return Cased;
|
|
}
|
|
|
|
var Changes_When_Casefolded = {};
|
|
|
|
var hasRequiredChanges_When_Casefolded;
|
|
function requireChanges_When_Casefolded() {
|
|
if (hasRequiredChanges_When_Casefolded) return Changes_When_Casefolded;
|
|
hasRequiredChanges_When_Casefolded = 1;
|
|
var set = regenerate$2.exports(0xB5, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x17F, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x345, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3C2, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x587, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2126, 0x2132, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5);
|
|
set.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDF).addRange(0x149, 0x14A).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1C5).addRange(0x1C7, 0x1C8).addRange(0x1CA, 0x1CB).addRange(0x1F1, 0x1F2).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3CF, 0x3D1).addRange(0x3D5, 0x3D6).addRange(0x3F0, 0x3F1).addRange(0x3F4, 0x3F5).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1E9A, 0x1E9B).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F80, 0x1FAF).addRange(0x1FB2, 0x1FB4);
|
|
set.addRange(0x1FB7, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC7, 0x1FCC).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF7, 0x1FFC).addRange(0x212A, 0x212B).addRange(0x2160, 0x216F).addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1E900, 0x1E921);
|
|
Changes_When_Casefolded.characters = set;
|
|
return Changes_When_Casefolded;
|
|
}
|
|
|
|
var Changes_When_Casemapped = {};
|
|
|
|
var hasRequiredChanges_When_Casemapped;
|
|
function requireChanges_When_Casemapped() {
|
|
if (hasRequiredChanges_When_Casemapped) return Changes_When_Casemapped;
|
|
hasRequiredChanges_When_Casemapped = 1;
|
|
var set = regenerate$2.exports(0xB5, 0x1BF, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1D79, 0x1D7D, 0x1D8E, 0x1E9E, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2126, 0x2132, 0x214E, 0x2D27, 0x2D2D, 0xAB53);
|
|
set.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x137).addRange(0x139, 0x18C).addRange(0x18E, 0x19A).addRange(0x19C, 0x1A9).addRange(0x1AC, 0x1B9).addRange(0x1BC, 0x1BD).addRange(0x1C4, 0x220).addRange(0x222, 0x233).addRange(0x23A, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3D1).addRange(0x3D5, 0x3F5).addRange(0x3F7, 0x3FB).addRange(0x3FD, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x561, 0x587).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1E00, 0x1E9B).addRange(0x1EA0, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC);
|
|
set.addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x212A, 0x212B).addRange(0x2160, 0x217F).addRange(0x2183, 0x2184).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2C70).addRange(0x2C72, 0x2C73).addRange(0x2C75, 0x2C76).addRange(0x2C7E, 0x2CE3).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69B).addRange(0xA722, 0xA72F).addRange(0xA732, 0xA76F).addRange(0xA779, 0xA787).addRange(0xA78B, 0xA78D).addRange(0xA790, 0xA794).addRange(0xA796, 0xA7AE).addRange(0xA7B0, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D6, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1E900, 0x1E943);
|
|
Changes_When_Casemapped.characters = set;
|
|
return Changes_When_Casemapped;
|
|
}
|
|
|
|
var Changes_When_Lowercased = {};
|
|
|
|
var hasRequiredChanges_When_Lowercased;
|
|
function requireChanges_When_Lowercased() {
|
|
if (hasRequiredChanges_When_Lowercased) return Changes_When_Lowercased;
|
|
hasRequiredChanges_When_Lowercased = 1;
|
|
var set = regenerate$2.exports(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2126, 0x2132, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5);
|
|
set.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1C5).addRange(0x1C7, 0x1C8).addRange(0x1CA, 0x1CB).addRange(0x1F1, 0x1F2).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F88, 0x1F8F).addRange(0x1F98, 0x1F9F).addRange(0x1FA8, 0x1FAF).addRange(0x1FB8, 0x1FBC).addRange(0x1FC8, 0x1FCC).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFC).addRange(0x212A, 0x212B);
|
|
set.addRange(0x2160, 0x216F).addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1E900, 0x1E921);
|
|
Changes_When_Lowercased.characters = set;
|
|
return Changes_When_Lowercased;
|
|
}
|
|
|
|
var Changes_When_NFKC_Casefolded = {};
|
|
|
|
var hasRequiredChanges_When_NFKC_Casefolded;
|
|
function requireChanges_When_NFKC_Casefolded() {
|
|
if (hasRequiredChanges_When_NFKC_Casefolded) return Changes_When_NFKC_Casefolded;
|
|
hasRequiredChanges_When_NFKC_Casefolded = 1;
|
|
var set = regenerate$2.exports(0xA0, 0xA8, 0xAA, 0xAD, 0xAF, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x136, 0x139, 0x13B, 0x13D, 0x143, 0x145, 0x147, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x17F, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x34F, 0x370, 0x372, 0x374, 0x376, 0x37A, 0x38C, 0x3C2, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x587, 0x61C, 0x9DF, 0xA33, 0xA36, 0xA5E, 0xE33, 0xEB3, 0xF0C, 0xF43, 0xF4D, 0xF52, 0xF57, 0xF5C, 0xF69, 0xF73, 0xF81, 0xF93, 0xF9D, 0xFA2, 0xFA7, 0xFAC, 0xFB9, 0x10C7, 0x10CD, 0x10FC, 0x1D78, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x1F71, 0x1F73, 0x1F75, 0x1F77, 0x1F79, 0x1F7B, 0x1F7D, 0x1FD3, 0x1FE3, 0x2011, 0x2017, 0x203C, 0x203E, 0x2057, 0x20A8, 0x2124, 0x2126, 0x2128, 0x2183, 0x2189, 0x2A0C, 0x2ADC, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0x2D6F, 0x2E9F, 0x2EF3, 0x3000, 0x3036, 0x309F, 0x30FF, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA770, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xAB69, 0xFA10, 0xFA12, 0xFA20, 0xFA22, 0xFB1D, 0xFB3E, 0xFE74, 0xFEFF, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F190);
|
|
set.addRange(0x41, 0x5A).addRange(0xB2, 0xB5).addRange(0xB8, 0xBA).addRange(0xBC, 0xBE).addRange(0xC0, 0xD6).addRange(0xD8, 0xDF).addRange(0x132, 0x134).addRange(0x13F, 0x141).addRange(0x149, 0x14A).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1CD).addRange(0x1F1, 0x1F4).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x2B0, 0x2B8).addRange(0x2D8, 0x2DD).addRange(0x2E0, 0x2E4).addRange(0x340, 0x341).addRange(0x343, 0x345).addRange(0x37E, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3CF, 0x3D6).addRange(0x3F0, 0x3F2).addRange(0x3F4, 0x3F5).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x675, 0x678).addRange(0x958, 0x95F).addRange(0x9DC, 0x9DD).addRange(0xA59, 0xA5B).addRange(0xB5C, 0xB5D).addRange(0xEDC, 0xEDD);
|
|
set.addRange(0xF75, 0xF79).addRange(0x10A0, 0x10C5).addRange(0x115F, 0x1160).addRange(0x13F8, 0x13FD).addRange(0x17B4, 0x17B5).addRange(0x180B, 0x180F).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D2C, 0x1D2E).addRange(0x1D30, 0x1D3A).addRange(0x1D3C, 0x1D4D).addRange(0x1D4F, 0x1D6A).addRange(0x1D9B, 0x1DBF).addRange(0x1E9A, 0x1E9B).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F80, 0x1FAF).addRange(0x1FB2, 0x1FB4).addRange(0x1FB7, 0x1FC4).addRange(0x1FC7, 0x1FCF).addRange(0x1FD8, 0x1FDB).addRange(0x1FDD, 0x1FDF).addRange(0x1FE8, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF7, 0x1FFE).addRange(0x2000, 0x200F).addRange(0x2024, 0x2026).addRange(0x202A, 0x202F).addRange(0x2033, 0x2034).addRange(0x2036, 0x2037).addRange(0x2047, 0x2049).addRange(0x205F, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x2100, 0x2103).addRange(0x2105, 0x2107).addRange(0x2109, 0x2113).addRange(0x2115, 0x2116).addRange(0x2119, 0x211D).addRange(0x2120, 0x2122).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213B, 0x2140).addRange(0x2145, 0x2149).addRange(0x2150, 0x217F).addRange(0x222C, 0x222D);
|
|
set.addRange(0x222F, 0x2230).addRange(0x2329, 0x232A).addRange(0x2460, 0x24EA).addRange(0x2A74, 0x2A76).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7C, 0x2C80).addRange(0x2F00, 0x2FD5).addRange(0x3038, 0x303A).addRange(0x309B, 0x309C).addRange(0x3131, 0x318E).addRange(0x3192, 0x319F).addRange(0x3200, 0x321E).addRange(0x3220, 0x3247).addRange(0x3250, 0x327E).addRange(0x3280, 0x33FF).addRange(0xA69C, 0xA69D).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xA7F2, 0xA7F5).addRange(0xA7F8, 0xA7F9).addRange(0xAB5C, 0xAB5F).addRange(0xAB70, 0xABBF).addRange(0xF900, 0xFA0D).addRange(0xFA15, 0xFA1E).addRange(0xFA25, 0xFA26).addRange(0xFA2A, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFC).addRange(0xFE00, 0xFE19).addRange(0xFE30, 0xFE44).addRange(0xFE47, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE72).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFFBE).addRange(0xFFC2, 0xFFC7);
|
|
set.addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF0, 0xFFF8).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10781, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D15E, 0x1D164).addRange(0x1D173, 0x1D17A).addRange(0x1D1BB, 0x1D1C0).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E030, 0x1E06D).addRange(0x1E900, 0x1E921).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A);
|
|
set.addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1F100, 0x1F10A).addRange(0x1F110, 0x1F12E).addRange(0x1F130, 0x1F14F).addRange(0x1F16A, 0x1F16C).addRange(0x1F200, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1FBF0, 0x1FBF9).addRange(0x2F800, 0x2FA1D).addRange(0xE0000, 0xE0FFF);
|
|
Changes_When_NFKC_Casefolded.characters = set;
|
|
return Changes_When_NFKC_Casefolded;
|
|
}
|
|
|
|
var Changes_When_Titlecased = {};
|
|
|
|
var hasRequiredChanges_When_Titlecased;
|
|
function requireChanges_When_Titlecased() {
|
|
if (hasRequiredChanges_When_Titlecased) return Changes_When_Titlecased;
|
|
hasRequiredChanges_When_Titlecased = 1;
|
|
var set = regenerate$2.exports(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x18C, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1B9, 0x1BD, 0x1BF, 0x1C4, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x233, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x3FB, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1D79, 0x1D7D, 0x1D8E, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C73, 0x2C76, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CE3, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA72F, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D7, 0xA7D9, 0xA7F6, 0xAB53);
|
|
set.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x199, 0x19A).addRange(0x1C6, 0x1C7).addRange(0x1C9, 0x1CA).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F1).addRange(0x23F, 0x240).addRange(0x24F, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x561, 0x587).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1E95, 0x1E9B).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7).addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4);
|
|
set.addRange(0x1FF6, 0x1FF7).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2D00, 0x2D25).addRange(0xA793, 0xA794).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1E922, 0x1E943);
|
|
Changes_When_Titlecased.characters = set;
|
|
return Changes_When_Titlecased;
|
|
}
|
|
|
|
var Changes_When_Uppercased = {};
|
|
|
|
var hasRequiredChanges_When_Uppercased;
|
|
function requireChanges_When_Uppercased() {
|
|
if (hasRequiredChanges_When_Uppercased) return Changes_When_Uppercased;
|
|
hasRequiredChanges_When_Uppercased = 1;
|
|
var set = regenerate$2.exports(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x18C, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1B9, 0x1BD, 0x1BF, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x233, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x3FB, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1D79, 0x1D7D, 0x1D8E, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBC, 0x1FBE, 0x1FCC, 0x1FFC, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C73, 0x2C76, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CE3, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA72F, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D7, 0xA7D9, 0xA7F6, 0xAB53);
|
|
set.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x199, 0x19A).addRange(0x1C5, 0x1C6).addRange(0x1C8, 0x1C9).addRange(0x1CB, 0x1CC).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x1F2, 0x1F3).addRange(0x23F, 0x240).addRange(0x24F, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x561, 0x587).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1E95, 0x1E9B).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7).addRange(0x1FE0, 0x1FE7);
|
|
set.addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2D00, 0x2D25).addRange(0xA793, 0xA794).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1E922, 0x1E943);
|
|
Changes_When_Uppercased.characters = set;
|
|
return Changes_When_Uppercased;
|
|
}
|
|
|
|
var Dash = {};
|
|
|
|
var hasRequiredDash;
|
|
function requireDash() {
|
|
if (hasRequiredDash) return Dash;
|
|
hasRequiredDash = 1;
|
|
var set = regenerate$2.exports(0x2D, 0x58A, 0x5BE, 0x1400, 0x1806, 0x2053, 0x207B, 0x208B, 0x2212, 0x2E17, 0x2E1A, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD);
|
|
set.addRange(0x2010, 0x2015).addRange(0x2E3A, 0x2E3B).addRange(0xFE31, 0xFE32);
|
|
Dash.characters = set;
|
|
return Dash;
|
|
}
|
|
|
|
var Default_Ignorable_Code_Point = {};
|
|
|
|
var hasRequiredDefault_Ignorable_Code_Point;
|
|
function requireDefault_Ignorable_Code_Point() {
|
|
if (hasRequiredDefault_Ignorable_Code_Point) return Default_Ignorable_Code_Point;
|
|
hasRequiredDefault_Ignorable_Code_Point = 1;
|
|
var set = regenerate$2.exports(0xAD, 0x34F, 0x61C, 0x3164, 0xFEFF, 0xFFA0);
|
|
set.addRange(0x115F, 0x1160).addRange(0x17B4, 0x17B5).addRange(0x180B, 0x180F).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x206F).addRange(0xFE00, 0xFE0F).addRange(0xFFF0, 0xFFF8).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D173, 0x1D17A).addRange(0xE0000, 0xE0FFF);
|
|
Default_Ignorable_Code_Point.characters = set;
|
|
return Default_Ignorable_Code_Point;
|
|
}
|
|
|
|
var Deprecated = {};
|
|
|
|
var hasRequiredDeprecated;
|
|
function requireDeprecated() {
|
|
if (hasRequiredDeprecated) return Deprecated;
|
|
hasRequiredDeprecated = 1;
|
|
var set = regenerate$2.exports(0x149, 0x673, 0xF77, 0xF79, 0xE0001);
|
|
set.addRange(0x17A3, 0x17A4).addRange(0x206A, 0x206F).addRange(0x2329, 0x232A);
|
|
Deprecated.characters = set;
|
|
return Deprecated;
|
|
}
|
|
|
|
var Diacritic = {};
|
|
|
|
var hasRequiredDiacritic;
|
|
function requireDiacritic() {
|
|
if (hasRequiredDiacritic) return Diacritic;
|
|
hasRequiredDiacritic = 1;
|
|
var set = regenerate$2.exports(0x5E, 0x60, 0xA8, 0xAF, 0xB4, 0x37A, 0x559, 0x5BF, 0x5C4, 0x93C, 0x94D, 0x971, 0x9BC, 0x9CD, 0xA3C, 0xA4D, 0xABC, 0xACD, 0xB3C, 0xB4D, 0xB55, 0xBCD, 0xC3C, 0xC4D, 0xCBC, 0xCCD, 0xD4D, 0xDCA, 0xE4E, 0xEBA, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1037, 0x108F, 0x17DD, 0x1A7F, 0x1B34, 0x1B44, 0x1CED, 0x1CF4, 0x1FBD, 0x2E2F, 0x30FC, 0xA66F, 0xA67F, 0xA8C4, 0xA953, 0xA9B3, 0xA9C0, 0xA9E5, 0xAAF6, 0xFB1E, 0xFF3E, 0xFF40, 0xFF70, 0xFFE3, 0x102E0, 0x11046, 0x11070, 0x11173, 0x111C0, 0x1133C, 0x1134D, 0x11442, 0x11446, 0x1163F, 0x1172B, 0x11943, 0x119E0, 0x11A34, 0x11A47, 0x11A99, 0x11C3F, 0x11D42, 0x11D97, 0x1E2AE);
|
|
set.addRange(0xB7, 0xB8).addRange(0x2B0, 0x34E).addRange(0x350, 0x357).addRange(0x35D, 0x362).addRange(0x374, 0x375).addRange(0x384, 0x385).addRange(0x483, 0x487).addRange(0x591, 0x5A1).addRange(0x5A3, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x64B, 0x652).addRange(0x657, 0x658).addRange(0x6DF, 0x6E0).addRange(0x6E5, 0x6E6).addRange(0x6EA, 0x6EC).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F5).addRange(0x818, 0x819).addRange(0x898, 0x89F).addRange(0x8C9, 0x8D2).addRange(0x8E3, 0x8FE).addRange(0x951, 0x954).addRange(0xAFD, 0xAFF).addRange(0xD3B, 0xD3C).addRange(0xE47, 0xE4C).addRange(0xEC8, 0xECC).addRange(0xF18, 0xF19).addRange(0xF3E, 0xF3F).addRange(0xF82, 0xF84).addRange(0xF86, 0xF87).addRange(0x1039, 0x103A).addRange(0x1063, 0x1064).addRange(0x1069, 0x106D).addRange(0x1087, 0x108D).addRange(0x109A, 0x109B).addRange(0x135D, 0x135F).addRange(0x1714, 0x1715).addRange(0x17C9, 0x17D3).addRange(0x1939, 0x193B).addRange(0x1A75, 0x1A7C).addRange(0x1AB0, 0x1ABE).addRange(0x1AC1, 0x1ACB).addRange(0x1B6B, 0x1B73).addRange(0x1BAA, 0x1BAB).addRange(0x1C36, 0x1C37).addRange(0x1C78, 0x1C7D).addRange(0x1CD0, 0x1CE8).addRange(0x1CF7, 0x1CF9).addRange(0x1D2C, 0x1D6A).addRange(0x1DC4, 0x1DCF);
|
|
set.addRange(0x1DF5, 0x1DFF).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x2CEF, 0x2CF1).addRange(0x302A, 0x302F).addRange(0x3099, 0x309C).addRange(0xA67C, 0xA67D).addRange(0xA69C, 0xA69D).addRange(0xA6F0, 0xA6F1).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA7F8, 0xA7F9).addRange(0xA8E0, 0xA8F1).addRange(0xA92B, 0xA92E).addRange(0xAA7B, 0xAA7D).addRange(0xAABF, 0xAAC2).addRange(0xAB5B, 0xAB5F).addRange(0xAB69, 0xAB6B).addRange(0xABEC, 0xABED).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10AE5, 0x10AE6).addRange(0x10D22, 0x10D27).addRange(0x10EFD, 0x10EFF).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x110B9, 0x110BA).addRange(0x11133, 0x11134).addRange(0x111CA, 0x111CC).addRange(0x11235, 0x11236).addRange(0x112E9, 0x112EA).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x114C2, 0x114C3).addRange(0x115BF, 0x115C0).addRange(0x116B6, 0x116B7).addRange(0x11839, 0x1183A).addRange(0x1193D, 0x1193E).addRange(0x11D44, 0x11D45).addRange(0x13447, 0x13455).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F9F).addRange(0x16FF0, 0x16FF1).addRange(0x1AFF0, 0x1AFF3);
|
|
set.addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1E030, 0x1E06D).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E946).addRange(0x1E948, 0x1E94A);
|
|
Diacritic.characters = set;
|
|
return Diacritic;
|
|
}
|
|
|
|
var Emoji_Component = {};
|
|
|
|
var hasRequiredEmoji_Component;
|
|
function requireEmoji_Component() {
|
|
if (hasRequiredEmoji_Component) return Emoji_Component;
|
|
hasRequiredEmoji_Component = 1;
|
|
var set = regenerate$2.exports(0x23, 0x2A, 0x200D, 0x20E3, 0xFE0F);
|
|
set.addRange(0x30, 0x39).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F3FB, 0x1F3FF).addRange(0x1F9B0, 0x1F9B3).addRange(0xE0020, 0xE007F);
|
|
Emoji_Component.characters = set;
|
|
return Emoji_Component;
|
|
}
|
|
|
|
var Emoji_Modifier_Base = {};
|
|
|
|
var hasRequiredEmoji_Modifier_Base;
|
|
function requireEmoji_Modifier_Base() {
|
|
if (hasRequiredEmoji_Modifier_Base) return Emoji_Modifier_Base;
|
|
hasRequiredEmoji_Modifier_Base = 1;
|
|
var set = regenerate$2.exports(0x261D, 0x26F9, 0x1F385, 0x1F3C7, 0x1F47C, 0x1F48F, 0x1F491, 0x1F4AA, 0x1F57A, 0x1F590, 0x1F6A3, 0x1F6C0, 0x1F6CC, 0x1F90C, 0x1F90F, 0x1F926, 0x1F977, 0x1F9BB);
|
|
set.addRange(0x270A, 0x270D).addRange(0x1F3C2, 0x1F3C4).addRange(0x1F3CA, 0x1F3CC).addRange(0x1F442, 0x1F443).addRange(0x1F446, 0x1F450).addRange(0x1F466, 0x1F478).addRange(0x1F481, 0x1F483).addRange(0x1F485, 0x1F487).addRange(0x1F574, 0x1F575).addRange(0x1F595, 0x1F596).addRange(0x1F645, 0x1F647).addRange(0x1F64B, 0x1F64F).addRange(0x1F6B4, 0x1F6B6).addRange(0x1F918, 0x1F91F).addRange(0x1F930, 0x1F939).addRange(0x1F93C, 0x1F93E).addRange(0x1F9B5, 0x1F9B6).addRange(0x1F9B8, 0x1F9B9).addRange(0x1F9CD, 0x1F9CF).addRange(0x1F9D1, 0x1F9DD).addRange(0x1FAC3, 0x1FAC5).addRange(0x1FAF0, 0x1FAF8);
|
|
Emoji_Modifier_Base.characters = set;
|
|
return Emoji_Modifier_Base;
|
|
}
|
|
|
|
var Emoji_Modifier = {};
|
|
|
|
var hasRequiredEmoji_Modifier;
|
|
function requireEmoji_Modifier() {
|
|
if (hasRequiredEmoji_Modifier) return Emoji_Modifier;
|
|
hasRequiredEmoji_Modifier = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1F3FB, 0x1F3FF);
|
|
Emoji_Modifier.characters = set;
|
|
return Emoji_Modifier;
|
|
}
|
|
|
|
var Emoji_Presentation = {};
|
|
|
|
var hasRequiredEmoji_Presentation;
|
|
function requireEmoji_Presentation() {
|
|
if (hasRequiredEmoji_Presentation) return Emoji_Presentation;
|
|
hasRequiredEmoji_Presentation = 1;
|
|
var set = regenerate$2.exports(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);
|
|
set.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);
|
|
Emoji_Presentation.characters = set;
|
|
return Emoji_Presentation;
|
|
}
|
|
|
|
var Emoji = {};
|
|
|
|
var hasRequiredEmoji;
|
|
function requireEmoji() {
|
|
if (hasRequiredEmoji) return Emoji;
|
|
hasRequiredEmoji = 1;
|
|
var set = regenerate$2.exports(0x23, 0x2A, 0xA9, 0xAE, 0x203C, 0x2049, 0x2122, 0x2139, 0x2328, 0x23CF, 0x24C2, 0x25B6, 0x25C0, 0x260E, 0x2611, 0x2618, 0x261D, 0x2620, 0x2626, 0x262A, 0x2640, 0x2642, 0x2663, 0x2668, 0x267B, 0x2699, 0x26A7, 0x26C8, 0x26D1, 0x26FD, 0x2702, 0x2705, 0x270F, 0x2712, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728, 0x2744, 0x2747, 0x274C, 0x274E, 0x2757, 0x27A1, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x3030, 0x303D, 0x3297, 0x3299, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F21A, 0x1F22F, 0x1F587, 0x1F590, 0x1F5A8, 0x1F5BC, 0x1F5E1, 0x1F5E3, 0x1F5E8, 0x1F5EF, 0x1F5F3, 0x1F6E9, 0x1F6F0, 0x1F7F0);
|
|
set.addRange(0x30, 0x39).addRange(0x2194, 0x2199).addRange(0x21A9, 0x21AA).addRange(0x231A, 0x231B).addRange(0x23E9, 0x23F3).addRange(0x23F8, 0x23FA).addRange(0x25AA, 0x25AB).addRange(0x25FB, 0x25FE).addRange(0x2600, 0x2604).addRange(0x2614, 0x2615).addRange(0x2622, 0x2623).addRange(0x262E, 0x262F).addRange(0x2638, 0x263A).addRange(0x2648, 0x2653).addRange(0x265F, 0x2660).addRange(0x2665, 0x2666).addRange(0x267E, 0x267F).addRange(0x2692, 0x2697).addRange(0x269B, 0x269C).addRange(0x26A0, 0x26A1).addRange(0x26AA, 0x26AB).addRange(0x26B0, 0x26B1).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26CE, 0x26CF).addRange(0x26D3, 0x26D4).addRange(0x26E9, 0x26EA).addRange(0x26F0, 0x26F5).addRange(0x26F7, 0x26FA).addRange(0x2708, 0x270D).addRange(0x2733, 0x2734).addRange(0x2753, 0x2755).addRange(0x2763, 0x2764).addRange(0x2795, 0x2797).addRange(0x2934, 0x2935).addRange(0x2B05, 0x2B07).addRange(0x2B1B, 0x2B1C).addRange(0x1F170, 0x1F171).addRange(0x1F17E, 0x1F17F).addRange(0x1F191, 0x1F19A).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F232, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F321).addRange(0x1F324, 0x1F393).addRange(0x1F396, 0x1F397).addRange(0x1F399, 0x1F39B).addRange(0x1F39E, 0x1F3F0).addRange(0x1F3F3, 0x1F3F5).addRange(0x1F3F7, 0x1F4FD);
|
|
set.addRange(0x1F4FF, 0x1F53D).addRange(0x1F549, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F56F, 0x1F570).addRange(0x1F573, 0x1F57A).addRange(0x1F58A, 0x1F58D).addRange(0x1F595, 0x1F596).addRange(0x1F5A4, 0x1F5A5).addRange(0x1F5B1, 0x1F5B2).addRange(0x1F5C2, 0x1F5C4).addRange(0x1F5D1, 0x1F5D3).addRange(0x1F5DC, 0x1F5DE).addRange(0x1F5FA, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6CB, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6E5).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F3, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);
|
|
Emoji.characters = set;
|
|
return Emoji;
|
|
}
|
|
|
|
var Extended_Pictographic = {};
|
|
|
|
var hasRequiredExtended_Pictographic;
|
|
function requireExtended_Pictographic() {
|
|
if (hasRequiredExtended_Pictographic) return Extended_Pictographic;
|
|
hasRequiredExtended_Pictographic = 1;
|
|
var set = regenerate$2.exports(0xA9, 0xAE, 0x203C, 0x2049, 0x2122, 0x2139, 0x2328, 0x2388, 0x23CF, 0x24C2, 0x25B6, 0x25C0, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728, 0x2744, 0x2747, 0x274C, 0x274E, 0x2757, 0x27A1, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x3030, 0x303D, 0x3297, 0x3299, 0x1F12F, 0x1F18E, 0x1F21A, 0x1F22F);
|
|
set.addRange(0x2194, 0x2199).addRange(0x21A9, 0x21AA).addRange(0x231A, 0x231B).addRange(0x23E9, 0x23F3).addRange(0x23F8, 0x23FA).addRange(0x25AA, 0x25AB).addRange(0x25FB, 0x25FE).addRange(0x2600, 0x2605).addRange(0x2607, 0x2612).addRange(0x2614, 0x2685).addRange(0x2690, 0x2705).addRange(0x2708, 0x2712).addRange(0x2733, 0x2734).addRange(0x2753, 0x2755).addRange(0x2763, 0x2767).addRange(0x2795, 0x2797).addRange(0x2934, 0x2935).addRange(0x2B05, 0x2B07).addRange(0x2B1B, 0x2B1C).addRange(0x1F000, 0x1F0FF).addRange(0x1F10D, 0x1F10F).addRange(0x1F16C, 0x1F171).addRange(0x1F17E, 0x1F17F).addRange(0x1F191, 0x1F19A).addRange(0x1F1AD, 0x1F1E5).addRange(0x1F201, 0x1F20F).addRange(0x1F232, 0x1F23A).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F3FA).addRange(0x1F400, 0x1F53D).addRange(0x1F546, 0x1F64F).addRange(0x1F680, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D5, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8FF).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1FAFF).addRange(0x1FC00, 0x1FFFD);
|
|
Extended_Pictographic.characters = set;
|
|
return Extended_Pictographic;
|
|
}
|
|
|
|
var Extender = {};
|
|
|
|
var hasRequiredExtender;
|
|
function requireExtender() {
|
|
if (hasRequiredExtender) return Extender;
|
|
hasRequiredExtender = 1;
|
|
var set = regenerate$2.exports(0xB7, 0x640, 0x7FA, 0xB55, 0xE46, 0xEC6, 0x180A, 0x1843, 0x1AA7, 0x1C36, 0x1C7B, 0x3005, 0xA015, 0xA60C, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, 0xFF70, 0x1135D, 0x11A98, 0x16FE3);
|
|
set.addRange(0x2D0, 0x2D1).addRange(0x3031, 0x3035).addRange(0x309D, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xAAF3, 0xAAF4).addRange(0x10781, 0x10782).addRange(0x115C6, 0x115C8).addRange(0x16B42, 0x16B43).addRange(0x16FE0, 0x16FE1).addRange(0x1E13C, 0x1E13D).addRange(0x1E944, 0x1E946);
|
|
Extender.characters = set;
|
|
return Extender;
|
|
}
|
|
|
|
var Grapheme_Base = {};
|
|
|
|
var hasRequiredGrapheme_Base;
|
|
function requireGrapheme_Base() {
|
|
if (hasRequiredGrapheme_Base) return Grapheme_Base;
|
|
hasRequiredGrapheme_Base = 1;
|
|
var set = regenerate$2.exports(0x38C, 0x5BE, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6DE, 0x6E9, 0x710, 0x7B1, 0x81A, 0x824, 0x828, 0x85E, 0x93B, 0x9B2, 0x9BD, 0x9CE, 0xA03, 0xA5E, 0xA76, 0xA83, 0xAC9, 0xAD0, 0xAF9, 0xB3D, 0xB40, 0xB83, 0xB9C, 0xBBF, 0xBD0, 0xC3D, 0xC5D, 0xD3D, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF36, 0xF38, 0xF7F, 0xF85, 0x1031, 0x1038, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x1715, 0x17B6, 0x18AA, 0x1940, 0x1A57, 0x1A61, 0x1B3B, 0x1BAA, 0x1BE7, 0x1BEE, 0x1CD3, 0x1CE1, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x2D27, 0x2D2D, 0xA673, 0xA7D3, 0xAA4D, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0xFDCF, 0x101A0, 0x10808, 0x1083C, 0x1093F, 0x10EAD, 0x11000, 0x11075, 0x1112C, 0x11235, 0x11288, 0x1133D, 0x1133F, 0x11350, 0x11445, 0x1145D, 0x114B9, 0x114BE, 0x114C1, 0x115BE, 0x1163E, 0x116AC, 0x116B6, 0x11726, 0x11838, 0x1183B, 0x11909, 0x1193D, 0x11A00, 0x11A50, 0x11A97, 0x11C3E, 0x11CA9, 0x11CB1, 0x11CB4, 0x11D46, 0x11D96, 0x11D98, 0x11F41, 0x11FB0, 0x16AF5, 0x1B132, 0x1B155, 0x1BC9C, 0x1BC9F, 0x1D166, 0x1D245, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E2FF, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F7F0);
|
|
set.addRange(0x20, 0x7E).addRange(0xA0, 0xAC).addRange(0xAE, 0x2FF).addRange(0x370, 0x377).addRange(0x37A, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x482).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0x606, 0x60F).addRange(0x61D, 0x64A).addRange(0x660, 0x66F).addRange(0x671, 0x6D5).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x70D).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7C0, 0x7EA).addRange(0x7F4, 0x7FA).addRange(0x7FE, 0x815).addRange(0x830, 0x83E).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x903, 0x939).addRange(0x93D, 0x940).addRange(0x949, 0x94C).addRange(0x94E, 0x950).addRange(0x958, 0x961).addRange(0x964, 0x980).addRange(0x982, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BF, 0x9C0).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9E6, 0x9FD).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28);
|
|
set.addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA40).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA6F).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABD, 0xAC0).addRange(0xACB, 0xACC).addRange(0xAE0, 0xAE1).addRange(0xAE6, 0xAF1).addRange(0xB02, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB66, 0xB77).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBC1, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xBE6, 0xBFA).addRange(0xC01, 0xC03).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC41, 0xC44).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC66, 0xC6F);
|
|
set.addRange(0xC77, 0xC80).addRange(0xC82, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBD, 0xCBE).addRange(0xCC0, 0xCC1).addRange(0xCC3, 0xCC4).addRange(0xCC7, 0xCC8).addRange(0xCCA, 0xCCB).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3).addRange(0xD02, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD3F, 0xD40).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD4E, 0xD4F).addRange(0xD54, 0xD56).addRange(0xD58, 0xD61).addRange(0xD66, 0xD7F).addRange(0xD82, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDD0, 0xDD1).addRange(0xDD8, 0xDDE).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE3F, 0xE46).addRange(0xE4F, 0xE5B).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF00, 0xF17).addRange(0xF1A, 0xF34).addRange(0xF3A, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C);
|
|
set.addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFDA).addRange(0x1000, 0x102C).addRange(0x103B, 0x103C).addRange(0x103F, 0x1057).addRange(0x105A, 0x105D).addRange(0x1061, 0x1070).addRange(0x1075, 0x1081).addRange(0x1083, 0x1084).addRange(0x1087, 0x108C).addRange(0x108E, 0x109C).addRange(0x109E, 0x10C5).addRange(0x10D0, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1360, 0x137C).addRange(0x1380, 0x1399).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1400, 0x169C).addRange(0x16A0, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1734, 0x1736).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x17BE, 0x17C5).addRange(0x17C7, 0x17C8).addRange(0x17D4, 0x17DC).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1800, 0x180A).addRange(0x1810, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x1884).addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5);
|
|
set.addRange(0x1900, 0x191E).addRange(0x1923, 0x1926).addRange(0x1929, 0x192B).addRange(0x1930, 0x1931).addRange(0x1933, 0x1938).addRange(0x1944, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x1A16).addRange(0x1A19, 0x1A1A).addRange(0x1A1E, 0x1A55).addRange(0x1A63, 0x1A64).addRange(0x1A6D, 0x1A72).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD).addRange(0x1B04, 0x1B33).addRange(0x1B3D, 0x1B41).addRange(0x1B43, 0x1B4C).addRange(0x1B50, 0x1B6A).addRange(0x1B74, 0x1B7E).addRange(0x1B82, 0x1BA1).addRange(0x1BA6, 0x1BA7).addRange(0x1BAE, 0x1BE5).addRange(0x1BEA, 0x1BEC).addRange(0x1BF2, 0x1BF3).addRange(0x1BFC, 0x1C2B).addRange(0x1C34, 0x1C35).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CC7).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF7).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE);
|
|
set.addRange(0x2000, 0x200A).addRange(0x2010, 0x2027).addRange(0x202F, 0x205F).addRange(0x2070, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2CF9, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2E00, 0x2E5D).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x3029).addRange(0x3030, 0x303F).addRange(0x3041, 0x3096).addRange(0x309B, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x3190, 0x31E3).addRange(0x31F0, 0x321E).addRange(0x3220, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xA4D0, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67E, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA6F2, 0xA6F7).addRange(0xA700, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805);
|
|
set.addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA824).addRange(0xA827, 0xA82B).addRange(0xA830, 0xA839).addRange(0xA840, 0xA877).addRange(0xA880, 0xA8C3).addRange(0xA8CE, 0xA8D9).addRange(0xA8F2, 0xA8FE).addRange(0xA900, 0xA925).addRange(0xA92E, 0xA946).addRange(0xA952, 0xA953).addRange(0xA95F, 0xA97C).addRange(0xA983, 0xA9B2).addRange(0xA9B4, 0xA9B5).addRange(0xA9BA, 0xA9BB).addRange(0xA9BE, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9E4).addRange(0xA9E6, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA2F, 0xAA30).addRange(0xAA33, 0xAA34).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA7B).addRange(0xAA7D, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAAEB).addRange(0xAAEE, 0xAAF5).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB6B).addRange(0xAB70, 0xABE4).addRange(0xABE6, 0xABE7).addRange(0xABE9, 0xABEC).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41);
|
|
set.addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x102E1, 0x102FB).addRange(0x10300, 0x10323).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x1039F, 0x103C3).addRange(0x103C8, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x1056F, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595);
|
|
set.addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10857, 0x1089E).addRange(0x108A7, 0x108AF).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x1091B).addRange(0x1091F, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x10A00).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A40, 0x10A48).addRange(0x10A50, 0x10A58).addRange(0x10A60, 0x10A9F).addRange(0x10AC0, 0x10AE4).addRange(0x10AEB, 0x10AF6).addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B55).addRange(0x10B58, 0x10B72).addRange(0x10B78, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10D23).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F27).addRange(0x10F30, 0x10F45).addRange(0x10F51, 0x10F59).addRange(0x10F70, 0x10F81).addRange(0x10F86, 0x10F89).addRange(0x10FB0, 0x10FCB);
|
|
set.addRange(0x10FE0, 0x10FF6).addRange(0x11002, 0x11037).addRange(0x11047, 0x1104D).addRange(0x11052, 0x1106F).addRange(0x11071, 0x11072).addRange(0x11082, 0x110B2).addRange(0x110B7, 0x110B8).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11103, 0x11126).addRange(0x11136, 0x11147).addRange(0x11150, 0x11172).addRange(0x11174, 0x11176).addRange(0x11182, 0x111B5).addRange(0x111BF, 0x111C8).addRange(0x111CD, 0x111CE).addRange(0x111D0, 0x111DF).addRange(0x111E1, 0x111F4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122E).addRange(0x11232, 0x11233).addRange(0x11238, 0x1123D).addRange(0x1123F, 0x11240).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9).addRange(0x112B0, 0x112DE).addRange(0x112E0, 0x112E2).addRange(0x112F0, 0x112F9).addRange(0x11302, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x11341, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11400, 0x11437).addRange(0x11440, 0x11441).addRange(0x11447, 0x1145B).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114B1, 0x114B2).addRange(0x114BB, 0x114BC).addRange(0x114C4, 0x114C7);
|
|
set.addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115AE).addRange(0x115B0, 0x115B1).addRange(0x115B8, 0x115BB).addRange(0x115C1, 0x115DB).addRange(0x11600, 0x11632).addRange(0x1163B, 0x1163C).addRange(0x11641, 0x11644).addRange(0x11650, 0x11659).addRange(0x11660, 0x1166C).addRange(0x11680, 0x116AA).addRange(0x116AE, 0x116AF).addRange(0x116B8, 0x116B9).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x11720, 0x11721).addRange(0x11730, 0x11746).addRange(0x11800, 0x1182E).addRange(0x118A0, 0x118F2).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x11931, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193F, 0x11942).addRange(0x11944, 0x11946).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D3).addRange(0x119DC, 0x119DF).addRange(0x119E1, 0x119E4).addRange(0x11A0B, 0x11A32).addRange(0x11A39, 0x11A3A).addRange(0x11A3F, 0x11A46).addRange(0x11A57, 0x11A58).addRange(0x11A5C, 0x11A89).addRange(0x11A9A, 0x11AA2).addRange(0x11AB0, 0x11AF8).addRange(0x11B00, 0x11B09).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2F).addRange(0x11C40, 0x11C45).addRange(0x11C50, 0x11C6C).addRange(0x11C70, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68);
|
|
set.addRange(0x11D6A, 0x11D8E).addRange(0x11D93, 0x11D94).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF2).addRange(0x11EF5, 0x11EF8).addRange(0x11F02, 0x11F10).addRange(0x11F12, 0x11F35).addRange(0x11F3E, 0x11F3F).addRange(0x11F43, 0x11F59).addRange(0x11FC0, 0x11FF1).addRange(0x11FFF, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF2).addRange(0x13000, 0x1342F).addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B37, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E9A).addRange(0x16F00, 0x16F4A).addRange(0x16F50, 0x16F87).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1CF50, 0x1CFC3);
|
|
set.addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16D).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83).addRange(0x1DA85, 0x1DA8B).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E4D0, 0x1E4EB).addRange(0x1E4F0, 0x1E4F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4);
|
|
set.addRange(0x1E8C7, 0x1E8CF).addRange(0x1E900, 0x1E943).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776).addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C);
|
|
set.addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);
|
|
Grapheme_Base.characters = set;
|
|
return Grapheme_Base;
|
|
}
|
|
|
|
var Grapheme_Extend = {};
|
|
|
|
var hasRequiredGrapheme_Extend;
|
|
function requireGrapheme_Extend() {
|
|
if (hasRequiredGrapheme_Extend) return Grapheme_Extend;
|
|
hasRequiredGrapheme_Extend = 1;
|
|
var set = regenerate$2.exports(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x93A, 0x93C, 0x94D, 0x981, 0x9BC, 0x9BE, 0x9CD, 0x9D7, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB4D, 0xB82, 0xBBE, 0xBC0, 0xBCD, 0xBD7, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC2, 0xCC6, 0xD3E, 0xD4D, 0xD57, 0xD81, 0xDCA, 0xDCF, 0xDD6, 0xDDF, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x17C6, 0x17DD, 0x180F, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x200C, 0x2D7F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9E5, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAC1, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110C2, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x11241, 0x112DF, 0x1133E, 0x11340, 0x11357, 0x11446, 0x1145E, 0x114B0, 0x114BA, 0x114BD, 0x115AF, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x11930, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x11F40, 0x11F42, 0x13440, 0x16F4F, 0x16FE4, 0x1D165, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E2AE);
|
|
set.addRange(0x300, 0x36F).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB3E, 0xB3F).addRange(0xB41, 0xB44).addRange(0xB55, 0xB57).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C);
|
|
set.addRange(0xD41, 0xD44).addRange(0xD62, 0xD63).addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECE).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B34, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1CD0, 0x1CD2);
|
|
set.addRange(0x1CD4, 0x1CE0).addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302F).addRange(0x3099, 0x309A).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10EFD, 0x10EFF).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181);
|
|
set.addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x11F00, 0x11F01).addRange(0x11F36, 0x11F3A).addRange(0x13447, 0x13455).addRange(0x16AF0, 0x16AF4);
|
|
set.addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F92).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D16E, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E4EC, 0x1E4EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF);
|
|
Grapheme_Extend.characters = set;
|
|
return Grapheme_Extend;
|
|
}
|
|
|
|
var Hex_Digit = {};
|
|
|
|
var hasRequiredHex_Digit;
|
|
function requireHex_Digit() {
|
|
if (hasRequiredHex_Digit) return Hex_Digit;
|
|
hasRequiredHex_Digit = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x30, 0x39).addRange(0x41, 0x46).addRange(0x61, 0x66).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF26).addRange(0xFF41, 0xFF46);
|
|
Hex_Digit.characters = set;
|
|
return Hex_Digit;
|
|
}
|
|
|
|
var ID_Continue = {};
|
|
|
|
var hasRequiredID_Continue;
|
|
function requireID_Continue() {
|
|
if (hasRequiredID_Continue) return ID_Continue;
|
|
hasRequiredID_Continue = 1;
|
|
var set = regenerate$2.exports(0x5F, 0xAA, 0xB5, 0xB7, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x7FD, 0x9B2, 0x9D7, 0x9FC, 0x9FE, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0xF00, 0xF35, 0xF37, 0xF39, 0xFC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x1AA7, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2054, 0x2071, 0x207F, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA82C, 0xA8FB, 0xFB3E, 0xFF3F, 0x101FD, 0x102E0, 0x10808, 0x1083C, 0x10A3F, 0x10F27, 0x110C2, 0x11176, 0x111DC, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11644, 0x11909, 0x11A47, 0x11A9D, 0x11D3A, 0x11FB0, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);
|
|
set.addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x300, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x386, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x483, 0x487).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x669).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6FC).addRange(0x710, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7F5).addRange(0x800, 0x82D).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x898, 0x8E1).addRange(0x8E3, 0x963).addRange(0x966, 0x96F).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD);
|
|
set.addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAEF).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB6F).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9);
|
|
set.addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBEF).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4E).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD66, 0xD6F).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE4E).addRange(0xE50, 0xE59).addRange(0xE81, 0xE82);
|
|
set.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECE).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF18, 0xF19).addRange(0xF20, 0xF29).addRange(0xF3E, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF84).addRange(0xF86, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1049).addRange(0x1050, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x135F).addRange(0x1369, 0x1371).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1734).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17D3).addRange(0x17DC, 0x17DD).addRange(0x17E0, 0x17E9);
|
|
set.addRange(0x180B, 0x180D).addRange(0x180F, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1946, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B59).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1BF3).addRange(0x1C00, 0x1C37).addRange(0x1C40, 0x1C49).addRange(0x1C4D, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x203F, 0x2040).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0);
|
|
set.addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x302F).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x3099, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA62B).addRange(0xA640, 0xA66F).addRange(0xA674, 0xA67D).addRange(0xA67F, 0xA6F1).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C5).addRange(0xA8D0, 0xA8D9).addRange(0xA8E0, 0xA8F7).addRange(0xA8FD, 0xA92D);
|
|
set.addRange(0xA930, 0xA953).addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9C0).addRange(0xA9CF, 0xA9D9).addRange(0xA9E0, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAAC2).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7);
|
|
set.addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7);
|
|
set.addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE6).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10EFD, 0x10F1C).addRange(0x10F30, 0x10F50).addRange(0x10F70, 0x10F85).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11046).addRange(0x11066, 0x11075).addRange(0x1107F, 0x110BA).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x1113F).addRange(0x11144, 0x11147).addRange(0x11150, 0x11173).addRange(0x11180, 0x111C4).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111DA).addRange(0x11200, 0x11211).addRange(0x11213, 0x11237).addRange(0x1123E, 0x11241).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C);
|
|
set.addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1144A).addRange(0x11450, 0x11459).addRange(0x1145E, 0x11461).addRange(0x11480, 0x114C5).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x11640).addRange(0x11650, 0x11659).addRange(0x11680, 0x116B8).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11739).addRange(0x11740, 0x11746).addRange(0x11800, 0x1183A).addRange(0x118A0, 0x118E9).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11943).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E1).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A3E).addRange(0x11A50, 0x11A99).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C40).addRange(0x11C50, 0x11C59).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06);
|
|
set.addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF6).addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F42).addRange(0x11F50, 0x11F59).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13440, 0x13455).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF4).addRange(0x16B00, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16B50, 0x16B59).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167);
|
|
set.addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021);
|
|
set.addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9).addRange(0x1E4D0, 0x1E4F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF).addRange(0xE0100, 0xE01EF);
|
|
ID_Continue.characters = set;
|
|
return ID_Continue;
|
|
}
|
|
|
|
var ID_Start = {};
|
|
|
|
var hasRequiredID_Start;
|
|
function requireID_Start() {
|
|
if (hasRequiredID_Start) return ID_Start;
|
|
hasRequiredID_Start = 1;
|
|
var set = regenerate$2.exports(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11F02, 0x11FB0, 0x16F50, 0x16FE3, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);
|
|
set.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);
|
|
set.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);
|
|
set.addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x18A8);
|
|
set.addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96);
|
|
set.addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309B, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42);
|
|
set.addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C);
|
|
set.addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48);
|
|
set.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x1123F, 0x11240).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7);
|
|
set.addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x11F04, 0x11F10).addRange(0x11F12, 0x11F33).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C);
|
|
set.addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E4D0, 0x1E4EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C);
|
|
set.addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);
|
|
ID_Start.characters = set;
|
|
return ID_Start;
|
|
}
|
|
|
|
var Ideographic = {};
|
|
|
|
var hasRequiredIdeographic;
|
|
function requireIdeographic() {
|
|
if (hasRequiredIdeographic) return Ideographic;
|
|
hasRequiredIdeographic = 1;
|
|
var set = regenerate$2.exports(0x16FE4);
|
|
set.addRange(0x3006, 0x3007).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1B170, 0x1B2FB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);
|
|
Ideographic.characters = set;
|
|
return Ideographic;
|
|
}
|
|
|
|
var IDS_Binary_Operator = {};
|
|
|
|
var hasRequiredIDS_Binary_Operator;
|
|
function requireIDS_Binary_Operator() {
|
|
if (hasRequiredIDS_Binary_Operator) return IDS_Binary_Operator;
|
|
hasRequiredIDS_Binary_Operator = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x2FF0, 0x2FF1).addRange(0x2FF4, 0x2FFB);
|
|
IDS_Binary_Operator.characters = set;
|
|
return IDS_Binary_Operator;
|
|
}
|
|
|
|
var IDS_Trinary_Operator = {};
|
|
|
|
var hasRequiredIDS_Trinary_Operator;
|
|
function requireIDS_Trinary_Operator() {
|
|
if (hasRequiredIDS_Trinary_Operator) return IDS_Trinary_Operator;
|
|
hasRequiredIDS_Trinary_Operator = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x2FF2, 0x2FF3);
|
|
IDS_Trinary_Operator.characters = set;
|
|
return IDS_Trinary_Operator;
|
|
}
|
|
|
|
var Join_Control = {};
|
|
|
|
var hasRequiredJoin_Control;
|
|
function requireJoin_Control() {
|
|
if (hasRequiredJoin_Control) return Join_Control;
|
|
hasRequiredJoin_Control = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x200C, 0x200D);
|
|
Join_Control.characters = set;
|
|
return Join_Control;
|
|
}
|
|
|
|
var Logical_Order_Exception = {};
|
|
|
|
var hasRequiredLogical_Order_Exception;
|
|
function requireLogical_Order_Exception() {
|
|
if (hasRequiredLogical_Order_Exception) return Logical_Order_Exception;
|
|
hasRequiredLogical_Order_Exception = 1;
|
|
var set = regenerate$2.exports(0x19BA, 0xAAB9);
|
|
set.addRange(0xE40, 0xE44).addRange(0xEC0, 0xEC4).addRange(0x19B5, 0x19B7).addRange(0xAAB5, 0xAAB6).addRange(0xAABB, 0xAABC);
|
|
Logical_Order_Exception.characters = set;
|
|
return Logical_Order_Exception;
|
|
}
|
|
|
|
var Lowercase = {};
|
|
|
|
var hasRequiredLowercase;
|
|
function requireLowercase() {
|
|
if (hasRequiredLowercase) return Lowercase;
|
|
hasRequiredLowercase = 1;
|
|
var set = regenerate$2.exports(0xAA, 0xB5, 0xBA, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1C6, 0x1C9, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x221, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1E9F, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x2071, 0x207F, 0x210A, 0x2113, 0x212F, 0x2134, 0x2139, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C71, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA78E, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7AF, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D3, 0xA7D5, 0xA7D7, 0xA7D9, 0xA7F6, 0x10780, 0x1D4BB, 0x1D7CB);
|
|
set.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x137, 0x138).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x18C, 0x18D).addRange(0x199, 0x19B).addRange(0x1AA, 0x1AB).addRange(0x1B9, 0x1BA).addRange(0x1BD, 0x1BF).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x233, 0x239).addRange(0x23F, 0x240).addRange(0x24F, 0x293).addRange(0x295, 0x2B8).addRange(0x2C0, 0x2C1).addRange(0x2E0, 0x2E4).addRange(0x37A, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x3FB, 0x3FC).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x560, 0x588).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1D00, 0x1DBF).addRange(0x1E95, 0x1E9D).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7);
|
|
set.addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x2090, 0x209C).addRange(0x210E, 0x210F).addRange(0x213C, 0x213D).addRange(0x2146, 0x2149).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2C73, 0x2C74).addRange(0x2C76, 0x2C7D).addRange(0x2CE3, 0x2CE4).addRange(0x2D00, 0x2D25).addRange(0xA69B, 0xA69D).addRange(0xA72F, 0xA731).addRange(0xA76F, 0xA778).addRange(0xA793, 0xA795).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7FA).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10783, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1D41A, 0x1D433).addRange(0x1D44E, 0x1D454).addRange(0x1D456, 0x1D467).addRange(0x1D482, 0x1D49B).addRange(0x1D4B6, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D4CF).addRange(0x1D4EA, 0x1D503).addRange(0x1D51E, 0x1D537).addRange(0x1D552, 0x1D56B).addRange(0x1D586, 0x1D59F).addRange(0x1D5BA, 0x1D5D3);
|
|
set.addRange(0x1D5EE, 0x1D607).addRange(0x1D622, 0x1D63B).addRange(0x1D656, 0x1D66F).addRange(0x1D68A, 0x1D6A5).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6E1).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D71B).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D755).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D78F).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7C9).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E922, 0x1E943);
|
|
Lowercase.characters = set;
|
|
return Lowercase;
|
|
}
|
|
|
|
var _Math = {};
|
|
|
|
var hasRequired_Math;
|
|
function require_Math() {
|
|
if (hasRequired_Math) return _Math;
|
|
hasRequired_Math = 1;
|
|
var set = regenerate$2.exports(0x2B, 0x5E, 0x7C, 0x7E, 0xAC, 0xB1, 0xD7, 0xF7, 0x3D5, 0x2016, 0x2040, 0x2044, 0x2052, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x214B, 0x21DD, 0x237C, 0x23B7, 0x23D0, 0x25E2, 0x25E4, 0x2640, 0x2642, 0xFB29, 0xFE68, 0xFF0B, 0xFF3C, 0xFF3E, 0xFF5C, 0xFF5E, 0xFFE2, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);
|
|
set.addRange(0x3C, 0x3E).addRange(0x3D0, 0x3D2).addRange(0x3F0, 0x3F1).addRange(0x3F4, 0x3F6).addRange(0x606, 0x608).addRange(0x2032, 0x2034).addRange(0x2061, 0x2064).addRange(0x207A, 0x207E).addRange(0x208A, 0x208E).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20E6).addRange(0x20EB, 0x20EF).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x2128, 0x2129).addRange(0x212C, 0x212D).addRange(0x212F, 0x2131).addRange(0x2133, 0x2138).addRange(0x213C, 0x2149).addRange(0x2190, 0x21A7).addRange(0x21A9, 0x21AE).addRange(0x21B0, 0x21B1).addRange(0x21B6, 0x21B7).addRange(0x21BC, 0x21DB).addRange(0x21E4, 0x21E5).addRange(0x21F4, 0x22FF).addRange(0x2308, 0x230B).addRange(0x2320, 0x2321).addRange(0x239B, 0x23B5).addRange(0x23DC, 0x23E2).addRange(0x25A0, 0x25A1).addRange(0x25AE, 0x25B7).addRange(0x25BC, 0x25C1).addRange(0x25C6, 0x25C7).addRange(0x25CA, 0x25CB).addRange(0x25CF, 0x25D3).addRange(0x25E7, 0x25EC).addRange(0x25F8, 0x25FF).addRange(0x2605, 0x2606).addRange(0x2660, 0x2663).addRange(0x266D, 0x266F).addRange(0x27C0, 0x27FF).addRange(0x2900, 0x2AFF).addRange(0x2B30, 0x2B44).addRange(0x2B47, 0x2B4C).addRange(0xFE61, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE9, 0xFFEC).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F);
|
|
set.addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);
|
|
_Math.characters = set;
|
|
return _Math;
|
|
}
|
|
|
|
var Noncharacter_Code_Point = {};
|
|
|
|
var hasRequiredNoncharacter_Code_Point;
|
|
function requireNoncharacter_Code_Point() {
|
|
if (hasRequiredNoncharacter_Code_Point) return Noncharacter_Code_Point;
|
|
hasRequiredNoncharacter_Code_Point = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xFDD0, 0xFDEF).addRange(0xFFFE, 0xFFFF).addRange(0x1FFFE, 0x1FFFF).addRange(0x2FFFE, 0x2FFFF).addRange(0x3FFFE, 0x3FFFF).addRange(0x4FFFE, 0x4FFFF).addRange(0x5FFFE, 0x5FFFF).addRange(0x6FFFE, 0x6FFFF).addRange(0x7FFFE, 0x7FFFF).addRange(0x8FFFE, 0x8FFFF).addRange(0x9FFFE, 0x9FFFF).addRange(0xAFFFE, 0xAFFFF).addRange(0xBFFFE, 0xBFFFF).addRange(0xCFFFE, 0xCFFFF).addRange(0xDFFFE, 0xDFFFF).addRange(0xEFFFE, 0xEFFFF).addRange(0xFFFFE, 0xFFFFF).addRange(0x10FFFE, 0x10FFFF);
|
|
Noncharacter_Code_Point.characters = set;
|
|
return Noncharacter_Code_Point;
|
|
}
|
|
|
|
var Pattern_Syntax = {};
|
|
|
|
var hasRequiredPattern_Syntax;
|
|
function requirePattern_Syntax() {
|
|
if (hasRequiredPattern_Syntax) return Pattern_Syntax;
|
|
hasRequiredPattern_Syntax = 1;
|
|
var set = regenerate$2.exports(0x60, 0xA9, 0xAE, 0xB6, 0xBB, 0xBF, 0xD7, 0xF7, 0x3030);
|
|
set.addRange(0x21, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x7E).addRange(0xA1, 0xA7).addRange(0xAB, 0xAC).addRange(0xB0, 0xB1).addRange(0x2010, 0x2027).addRange(0x2030, 0x203E).addRange(0x2041, 0x2053).addRange(0x2055, 0x205E).addRange(0x2190, 0x245F).addRange(0x2500, 0x2775).addRange(0x2794, 0x2BFF).addRange(0x2E00, 0x2E7F).addRange(0x3001, 0x3003).addRange(0x3008, 0x3020).addRange(0xFD3E, 0xFD3F).addRange(0xFE45, 0xFE46);
|
|
Pattern_Syntax.characters = set;
|
|
return Pattern_Syntax;
|
|
}
|
|
|
|
var Pattern_White_Space = {};
|
|
|
|
var hasRequiredPattern_White_Space;
|
|
function requirePattern_White_Space() {
|
|
if (hasRequiredPattern_White_Space) return Pattern_White_Space;
|
|
hasRequiredPattern_White_Space = 1;
|
|
var set = regenerate$2.exports(0x20, 0x85);
|
|
set.addRange(0x9, 0xD).addRange(0x200E, 0x200F).addRange(0x2028, 0x2029);
|
|
Pattern_White_Space.characters = set;
|
|
return Pattern_White_Space;
|
|
}
|
|
|
|
var Quotation_Mark = {};
|
|
|
|
var hasRequiredQuotation_Mark;
|
|
function requireQuotation_Mark() {
|
|
if (hasRequiredQuotation_Mark) return Quotation_Mark;
|
|
hasRequiredQuotation_Mark = 1;
|
|
var set = regenerate$2.exports(0x22, 0x27, 0xAB, 0xBB, 0x2E42, 0xFF02, 0xFF07);
|
|
set.addRange(0x2018, 0x201F).addRange(0x2039, 0x203A).addRange(0x300C, 0x300F).addRange(0x301D, 0x301F).addRange(0xFE41, 0xFE44).addRange(0xFF62, 0xFF63);
|
|
Quotation_Mark.characters = set;
|
|
return Quotation_Mark;
|
|
}
|
|
|
|
var Radical = {};
|
|
|
|
var hasRequiredRadical;
|
|
function requireRadical() {
|
|
if (hasRequiredRadical) return Radical;
|
|
hasRequiredRadical = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5);
|
|
Radical.characters = set;
|
|
return Radical;
|
|
}
|
|
|
|
var Regional_Indicator = {};
|
|
|
|
var hasRequiredRegional_Indicator;
|
|
function requireRegional_Indicator() {
|
|
if (hasRequiredRegional_Indicator) return Regional_Indicator;
|
|
hasRequiredRegional_Indicator = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1F1E6, 0x1F1FF);
|
|
Regional_Indicator.characters = set;
|
|
return Regional_Indicator;
|
|
}
|
|
|
|
var Sentence_Terminal = {};
|
|
|
|
var hasRequiredSentence_Terminal;
|
|
function requireSentence_Terminal() {
|
|
if (hasRequiredSentence_Terminal) return Sentence_Terminal;
|
|
hasRequiredSentence_Terminal = 1;
|
|
var set = regenerate$2.exports(0x21, 0x2E, 0x3F, 0x589, 0x6D4, 0x7F9, 0x837, 0x839, 0x1362, 0x166E, 0x1803, 0x1809, 0x2E2E, 0x2E3C, 0x3002, 0xA4FF, 0xA6F3, 0xA6F7, 0xA92F, 0xABEB, 0xFE52, 0xFF01, 0xFF0E, 0xFF1F, 0xFF61, 0x111CD, 0x112A9, 0x11944, 0x11946, 0x16AF5, 0x16B44, 0x16E98, 0x1BC9F, 0x1DA88);
|
|
set.addRange(0x61D, 0x61F).addRange(0x700, 0x702).addRange(0x83D, 0x83E).addRange(0x964, 0x965).addRange(0x104A, 0x104B).addRange(0x1367, 0x1368).addRange(0x1735, 0x1736).addRange(0x1944, 0x1945).addRange(0x1AA8, 0x1AAB).addRange(0x1B5A, 0x1B5B).addRange(0x1B5E, 0x1B5F).addRange(0x1B7D, 0x1B7E).addRange(0x1C3B, 0x1C3C).addRange(0x1C7E, 0x1C7F).addRange(0x203C, 0x203D).addRange(0x2047, 0x2049).addRange(0x2E53, 0x2E54).addRange(0xA60E, 0xA60F).addRange(0xA876, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA9C8, 0xA9C9).addRange(0xAA5D, 0xAA5F).addRange(0xAAF0, 0xAAF1).addRange(0xFE56, 0xFE57).addRange(0x10A56, 0x10A57).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x11048).addRange(0x110BE, 0x110C1).addRange(0x11141, 0x11143).addRange(0x111C5, 0x111C6).addRange(0x111DE, 0x111DF).addRange(0x11238, 0x11239).addRange(0x1123B, 0x1123C).addRange(0x1144B, 0x1144C).addRange(0x115C2, 0x115C3).addRange(0x115C9, 0x115D7).addRange(0x11641, 0x11642).addRange(0x1173C, 0x1173E).addRange(0x11A42, 0x11A43).addRange(0x11A9B, 0x11A9C).addRange(0x11C41, 0x11C42).addRange(0x11EF7, 0x11EF8).addRange(0x11F43, 0x11F44).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B38);
|
|
Sentence_Terminal.characters = set;
|
|
return Sentence_Terminal;
|
|
}
|
|
|
|
var Soft_Dotted = {};
|
|
|
|
var hasRequiredSoft_Dotted;
|
|
function requireSoft_Dotted() {
|
|
if (hasRequiredSoft_Dotted) return Soft_Dotted;
|
|
hasRequiredSoft_Dotted = 1;
|
|
var set = regenerate$2.exports(0x12F, 0x249, 0x268, 0x29D, 0x2B2, 0x3F3, 0x456, 0x458, 0x1D62, 0x1D96, 0x1DA4, 0x1DA8, 0x1E2D, 0x1ECB, 0x2071, 0x2C7C, 0x1DF1A, 0x1E068);
|
|
set.addRange(0x69, 0x6A).addRange(0x2148, 0x2149).addRange(0x1D422, 0x1D423).addRange(0x1D456, 0x1D457).addRange(0x1D48A, 0x1D48B).addRange(0x1D4BE, 0x1D4BF).addRange(0x1D4F2, 0x1D4F3).addRange(0x1D526, 0x1D527).addRange(0x1D55A, 0x1D55B).addRange(0x1D58E, 0x1D58F).addRange(0x1D5C2, 0x1D5C3).addRange(0x1D5F6, 0x1D5F7).addRange(0x1D62A, 0x1D62B).addRange(0x1D65E, 0x1D65F).addRange(0x1D692, 0x1D693).addRange(0x1E04C, 0x1E04D);
|
|
Soft_Dotted.characters = set;
|
|
return Soft_Dotted;
|
|
}
|
|
|
|
var Terminal_Punctuation = {};
|
|
|
|
var hasRequiredTerminal_Punctuation;
|
|
function requireTerminal_Punctuation() {
|
|
if (hasRequiredTerminal_Punctuation) return Terminal_Punctuation;
|
|
hasRequiredTerminal_Punctuation = 1;
|
|
var set = regenerate$2.exports(0x21, 0x2C, 0x2E, 0x3F, 0x37E, 0x387, 0x589, 0x5C3, 0x60C, 0x61B, 0x6D4, 0x70C, 0x85E, 0xF08, 0x166E, 0x17DA, 0x2E2E, 0x2E3C, 0x2E41, 0x2E4C, 0xA92F, 0xAADF, 0xABEB, 0xFF01, 0xFF0C, 0xFF0E, 0xFF1F, 0xFF61, 0xFF64, 0x1039F, 0x103D0, 0x10857, 0x1091F, 0x111CD, 0x112A9, 0x11944, 0x11946, 0x11C71, 0x16AF5, 0x16B44, 0x1BC9F);
|
|
set.addRange(0x3A, 0x3B).addRange(0x61D, 0x61F).addRange(0x700, 0x70A).addRange(0x7F8, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF0D, 0xF12).addRange(0x104A, 0x104B).addRange(0x1361, 0x1368).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x1802, 0x1805).addRange(0x1808, 0x1809).addRange(0x1944, 0x1945).addRange(0x1AA8, 0x1AAB).addRange(0x1B5A, 0x1B5B).addRange(0x1B5D, 0x1B5F).addRange(0x1B7D, 0x1B7E).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x203C, 0x203D).addRange(0x2047, 0x2049).addRange(0x2E4E, 0x2E4F).addRange(0x2E53, 0x2E54).addRange(0x3001, 0x3002).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F3, 0xA6F7).addRange(0xA876, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA9C7, 0xA9C9).addRange(0xAA5D, 0xAA5F).addRange(0xAAF0, 0xAAF1).addRange(0xFE50, 0xFE52).addRange(0xFE54, 0xFE57).addRange(0xFF1A, 0xFF1B).addRange(0x10A56, 0x10A57).addRange(0x10AF0, 0x10AF5).addRange(0x10B3A, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BE, 0x110C1).addRange(0x11141, 0x11143).addRange(0x111C5, 0x111C6).addRange(0x111DE, 0x111DF).addRange(0x11238, 0x1123C).addRange(0x1144B, 0x1144D);
|
|
set.addRange(0x1145A, 0x1145B).addRange(0x115C2, 0x115C5).addRange(0x115C9, 0x115D7).addRange(0x11641, 0x11642).addRange(0x1173C, 0x1173E).addRange(0x11A42, 0x11A43).addRange(0x11A9B, 0x11A9C).addRange(0x11AA1, 0x11AA2).addRange(0x11C41, 0x11C43).addRange(0x11EF7, 0x11EF8).addRange(0x11F43, 0x11F44).addRange(0x12470, 0x12474).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B39).addRange(0x16E97, 0x16E98).addRange(0x1DA87, 0x1DA8A);
|
|
Terminal_Punctuation.characters = set;
|
|
return Terminal_Punctuation;
|
|
}
|
|
|
|
var Unified_Ideograph = {};
|
|
|
|
var hasRequiredUnified_Ideograph;
|
|
function requireUnified_Ideograph() {
|
|
if (hasRequiredUnified_Ideograph) return Unified_Ideograph;
|
|
hasRequiredUnified_Ideograph = 1;
|
|
var set = regenerate$2.exports(0xFA11, 0xFA1F, 0xFA21);
|
|
set.addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xFA0E, 0xFA0F).addRange(0xFA13, 0xFA14).addRange(0xFA23, 0xFA24).addRange(0xFA27, 0xFA29).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);
|
|
Unified_Ideograph.characters = set;
|
|
return Unified_Ideograph;
|
|
}
|
|
|
|
var Uppercase = {};
|
|
|
|
var hasRequiredUppercase;
|
|
function requireUppercase() {
|
|
if (hasRequiredUppercase) return Uppercase;
|
|
hasRequiredUppercase = 1;
|
|
var set = regenerate$2.exports(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1C4, 0x1C7, 0x1CA, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F1, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5, 0x1D49C, 0x1D4A2, 0x1D546, 0x1D7CA);
|
|
set.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3D2, 0x3D4).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1FB8, 0x1FBB).addRange(0x1FC8, 0x1FCB).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFB).addRange(0x210B, 0x210D).addRange(0x2110, 0x2112).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x2130, 0x2133).addRange(0x213E, 0x213F).addRange(0x2160, 0x216F);
|
|
set.addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1D400, 0x1D419).addRange(0x1D434, 0x1D44D).addRange(0x1D468, 0x1D481).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B5).addRange(0x1D4D0, 0x1D4E9).addRange(0x1D504, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D538, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D56C, 0x1D585).addRange(0x1D5A0, 0x1D5B9).addRange(0x1D5D4, 0x1D5ED).addRange(0x1D608, 0x1D621).addRange(0x1D63C, 0x1D655).addRange(0x1D670, 0x1D689).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6E2, 0x1D6FA).addRange(0x1D71C, 0x1D734).addRange(0x1D756, 0x1D76E).addRange(0x1D790, 0x1D7A8).addRange(0x1E900, 0x1E921).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189);
|
|
Uppercase.characters = set;
|
|
return Uppercase;
|
|
}
|
|
|
|
var Variation_Selector = {};
|
|
|
|
var hasRequiredVariation_Selector;
|
|
function requireVariation_Selector() {
|
|
if (hasRequiredVariation_Selector) return Variation_Selector;
|
|
hasRequiredVariation_Selector = 1;
|
|
var set = regenerate$2.exports(0x180F);
|
|
set.addRange(0x180B, 0x180D).addRange(0xFE00, 0xFE0F).addRange(0xE0100, 0xE01EF);
|
|
Variation_Selector.characters = set;
|
|
return Variation_Selector;
|
|
}
|
|
|
|
var White_Space = {};
|
|
|
|
var hasRequiredWhite_Space;
|
|
function requireWhite_Space() {
|
|
if (hasRequiredWhite_Space) return White_Space;
|
|
hasRequiredWhite_Space = 1;
|
|
var set = regenerate$2.exports(0x20, 0x85, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);
|
|
set.addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029);
|
|
White_Space.characters = set;
|
|
return White_Space;
|
|
}
|
|
|
|
var XID_Continue = {};
|
|
|
|
var hasRequiredXID_Continue;
|
|
function requireXID_Continue() {
|
|
if (hasRequiredXID_Continue) return XID_Continue;
|
|
hasRequiredXID_Continue = 1;
|
|
var set = regenerate$2.exports(0x5F, 0xAA, 0xB5, 0xB7, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x7FD, 0x9B2, 0x9D7, 0x9FC, 0x9FE, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0xF00, 0xF35, 0xF37, 0xF39, 0xFC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x1AA7, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2054, 0x2071, 0x207F, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA82C, 0xA8FB, 0xFB3E, 0xFE71, 0xFE73, 0xFE77, 0xFE79, 0xFE7B, 0xFE7D, 0xFF3F, 0x101FD, 0x102E0, 0x10808, 0x1083C, 0x10A3F, 0x10F27, 0x110C2, 0x11176, 0x111DC, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11644, 0x11909, 0x11A47, 0x11A9D, 0x11D3A, 0x11FB0, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);
|
|
set.addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x300, 0x374).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x386, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x483, 0x487).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x669).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6FC).addRange(0x710, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7F5).addRange(0x800, 0x82D).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x898, 0x8E1).addRange(0x8E3, 0x963).addRange(0x966, 0x96F).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD);
|
|
set.addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAEF).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB6F).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9);
|
|
set.addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBEF).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4E).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD66, 0xD6F).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE4E).addRange(0xE50, 0xE59).addRange(0xE81, 0xE82);
|
|
set.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECE).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF18, 0xF19).addRange(0xF20, 0xF29).addRange(0xF3E, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF84).addRange(0xF86, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1049).addRange(0x1050, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x135F).addRange(0x1369, 0x1371).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1734).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17D3).addRange(0x17DC, 0x17DD).addRange(0x17E0, 0x17E9);
|
|
set.addRange(0x180B, 0x180D).addRange(0x180F, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1946, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B59).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1BF3).addRange(0x1C00, 0x1C37).addRange(0x1C40, 0x1C49).addRange(0x1C4D, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x203F, 0x2040).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0);
|
|
set.addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x302F).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x3099, 0x309A).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA62B).addRange(0xA640, 0xA66F).addRange(0xA674, 0xA67D).addRange(0xA67F, 0xA6F1).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C5).addRange(0xA8D0, 0xA8D9).addRange(0xA8E0, 0xA8F7);
|
|
set.addRange(0xA8FD, 0xA92D).addRange(0xA930, 0xA953).addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9C0).addRange(0xA9CF, 0xA9D9).addRange(0xA9E0, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAAC2).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFC5D).addRange(0xFC64, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDF9).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F).addRange(0xFE7F, 0xFEFC).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE);
|
|
set.addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939);
|
|
set.addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE6).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10EFD, 0x10F1C).addRange(0x10F30, 0x10F50).addRange(0x10F70, 0x10F85).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11046).addRange(0x11066, 0x11075).addRange(0x1107F, 0x110BA).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x1113F).addRange(0x11144, 0x11147).addRange(0x11150, 0x11173).addRange(0x11180, 0x111C4).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111DA).addRange(0x11200, 0x11211).addRange(0x11213, 0x11237).addRange(0x1123E, 0x11241).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303);
|
|
set.addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1144A).addRange(0x11450, 0x11459).addRange(0x1145E, 0x11461).addRange(0x11480, 0x114C5).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x11640).addRange(0x11650, 0x11659).addRange(0x11680, 0x116B8).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11739).addRange(0x11740, 0x11746).addRange(0x11800, 0x1183A).addRange(0x118A0, 0x118E9).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11943).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E1).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A3E).addRange(0x11A50, 0x11A99).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C40).addRange(0x11C50, 0x11C59).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);
|
|
set.addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF6).addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F42).addRange(0x11F50, 0x11F59).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13440, 0x13455).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF4).addRange(0x16B00, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16B50, 0x16B59).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152);
|
|
set.addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018);
|
|
set.addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9).addRange(0x1E4D0, 0x1E4F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF).addRange(0xE0100, 0xE01EF);
|
|
XID_Continue.characters = set;
|
|
return XID_Continue;
|
|
}
|
|
|
|
var XID_Start = {};
|
|
|
|
var hasRequiredXID_Start;
|
|
function requireXID_Start() {
|
|
if (hasRequiredXID_Start) return XID_Start;
|
|
hasRequiredXID_Start = 1;
|
|
var set = regenerate$2.exports(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE32, 0xE84, 0xEA5, 0xEB2, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0xFE71, 0xFE73, 0xFE77, 0xFE79, 0xFE7B, 0xFE7D, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11F02, 0x11FB0, 0x16F50, 0x16FE3, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);
|
|
set.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);
|
|
set.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);
|
|
set.addRange(0xE01, 0xE30).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E);
|
|
set.addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE);
|
|
set.addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76);
|
|
set.addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFC5D).addRange(0xFC64, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDF9).addRange(0xFE7F, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0);
|
|
set.addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2);
|
|
set.addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x1123F, 0x11240).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0);
|
|
set.addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x11F04, 0x11F10).addRange(0x11F12, 0x11F33).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F);
|
|
set.addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E4D0, 0x1E4EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89);
|
|
set.addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);
|
|
XID_Start.characters = set;
|
|
return XID_Start;
|
|
}
|
|
|
|
var Cased_Letter = {};
|
|
|
|
var hasRequiredCased_Letter;
|
|
function requireCased_Letter() {
|
|
if (hasRequiredCased_Letter) return Cased_Letter;
|
|
hasRequiredCased_Letter = 1;
|
|
var set = regenerate$2.exports(0xB5, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214E, 0x2D27, 0x2D2D, 0xA7D3, 0xA7FA, 0x1D4A2, 0x1D4BB, 0x1D546);
|
|
set.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x1BA).addRange(0x1BC, 0x1BF).addRange(0x1C4, 0x293).addRange(0x295, 0x2AF).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D00, 0x1D2B).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1D9A).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2134).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2183, 0x2184);
|
|
set.addRange(0x2C00, 0x2C7B).addRange(0x2C7E, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69B).addRange(0xA722, 0xA76F).addRange(0xA771, 0xA787).addRange(0xA78B, 0xA78E).addRange(0xA790, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xAB30, 0xAB5A).addRange(0xAB60, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550);
|
|
set.addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E900, 0x1E943);
|
|
Cased_Letter.characters = set;
|
|
return Cased_Letter;
|
|
}
|
|
|
|
var Close_Punctuation = {};
|
|
|
|
var hasRequiredClose_Punctuation;
|
|
function requireClose_Punctuation() {
|
|
if (hasRequiredClose_Punctuation) return Close_Punctuation;
|
|
hasRequiredClose_Punctuation = 1;
|
|
var set = regenerate$2.exports(0x29, 0x5D, 0x7D, 0xF3B, 0xF3D, 0x169C, 0x2046, 0x207E, 0x208E, 0x2309, 0x230B, 0x232A, 0x2769, 0x276B, 0x276D, 0x276F, 0x2771, 0x2773, 0x2775, 0x27C6, 0x27E7, 0x27E9, 0x27EB, 0x27ED, 0x27EF, 0x2984, 0x2986, 0x2988, 0x298A, 0x298C, 0x298E, 0x2990, 0x2992, 0x2994, 0x2996, 0x2998, 0x29D9, 0x29DB, 0x29FD, 0x2E23, 0x2E25, 0x2E27, 0x2E29, 0x2E56, 0x2E58, 0x2E5A, 0x2E5C, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, 0x3017, 0x3019, 0x301B, 0xFD3E, 0xFE18, 0xFE36, 0xFE38, 0xFE3A, 0xFE3C, 0xFE3E, 0xFE40, 0xFE42, 0xFE44, 0xFE48, 0xFE5A, 0xFE5C, 0xFE5E, 0xFF09, 0xFF3D, 0xFF5D, 0xFF60, 0xFF63);
|
|
set.addRange(0x301E, 0x301F);
|
|
Close_Punctuation.characters = set;
|
|
return Close_Punctuation;
|
|
}
|
|
|
|
var Connector_Punctuation = {};
|
|
|
|
var hasRequiredConnector_Punctuation;
|
|
function requireConnector_Punctuation() {
|
|
if (hasRequiredConnector_Punctuation) return Connector_Punctuation;
|
|
hasRequiredConnector_Punctuation = 1;
|
|
var set = regenerate$2.exports(0x5F, 0x2054, 0xFF3F);
|
|
set.addRange(0x203F, 0x2040).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F);
|
|
Connector_Punctuation.characters = set;
|
|
return Connector_Punctuation;
|
|
}
|
|
|
|
var Control = {};
|
|
|
|
var hasRequiredControl;
|
|
function requireControl() {
|
|
if (hasRequiredControl) return Control;
|
|
hasRequiredControl = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x0, 0x1F).addRange(0x7F, 0x9F);
|
|
Control.characters = set;
|
|
return Control;
|
|
}
|
|
|
|
var Currency_Symbol = {};
|
|
|
|
var hasRequiredCurrency_Symbol;
|
|
function requireCurrency_Symbol() {
|
|
if (hasRequiredCurrency_Symbol) return Currency_Symbol;
|
|
hasRequiredCurrency_Symbol = 1;
|
|
var set = regenerate$2.exports(0x24, 0x58F, 0x60B, 0x9FB, 0xAF1, 0xBF9, 0xE3F, 0x17DB, 0xA838, 0xFDFC, 0xFE69, 0xFF04, 0x1E2FF, 0x1ECB0);
|
|
set.addRange(0xA2, 0xA5).addRange(0x7FE, 0x7FF).addRange(0x9F2, 0x9F3).addRange(0x20A0, 0x20C0).addRange(0xFFE0, 0xFFE1).addRange(0xFFE5, 0xFFE6).addRange(0x11FDD, 0x11FE0);
|
|
Currency_Symbol.characters = set;
|
|
return Currency_Symbol;
|
|
}
|
|
|
|
var Dash_Punctuation = {};
|
|
|
|
var hasRequiredDash_Punctuation;
|
|
function requireDash_Punctuation() {
|
|
if (hasRequiredDash_Punctuation) return Dash_Punctuation;
|
|
hasRequiredDash_Punctuation = 1;
|
|
var set = regenerate$2.exports(0x2D, 0x58A, 0x5BE, 0x1400, 0x1806, 0x2E17, 0x2E1A, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD);
|
|
set.addRange(0x2010, 0x2015).addRange(0x2E3A, 0x2E3B).addRange(0xFE31, 0xFE32);
|
|
Dash_Punctuation.characters = set;
|
|
return Dash_Punctuation;
|
|
}
|
|
|
|
var Decimal_Number = {};
|
|
|
|
var hasRequiredDecimal_Number;
|
|
function requireDecimal_Number() {
|
|
if (hasRequiredDecimal_Number) return Decimal_Number;
|
|
hasRequiredDecimal_Number = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x30, 0x39).addRange(0x660, 0x669).addRange(0x6F0, 0x6F9).addRange(0x7C0, 0x7C9).addRange(0x966, 0x96F).addRange(0x9E6, 0x9EF).addRange(0xA66, 0xA6F).addRange(0xAE6, 0xAEF).addRange(0xB66, 0xB6F).addRange(0xBE6, 0xBEF).addRange(0xC66, 0xC6F).addRange(0xCE6, 0xCEF).addRange(0xD66, 0xD6F).addRange(0xDE6, 0xDEF).addRange(0xE50, 0xE59).addRange(0xED0, 0xED9).addRange(0xF20, 0xF29).addRange(0x1040, 0x1049).addRange(0x1090, 0x1099).addRange(0x17E0, 0x17E9).addRange(0x1810, 0x1819).addRange(0x1946, 0x194F).addRange(0x19D0, 0x19D9).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1B50, 0x1B59).addRange(0x1BB0, 0x1BB9).addRange(0x1C40, 0x1C49).addRange(0x1C50, 0x1C59).addRange(0xA620, 0xA629).addRange(0xA8D0, 0xA8D9).addRange(0xA900, 0xA909).addRange(0xA9D0, 0xA9D9).addRange(0xA9F0, 0xA9F9).addRange(0xAA50, 0xAA59).addRange(0xABF0, 0xABF9).addRange(0xFF10, 0xFF19).addRange(0x104A0, 0x104A9).addRange(0x10D30, 0x10D39).addRange(0x11066, 0x1106F).addRange(0x110F0, 0x110F9).addRange(0x11136, 0x1113F).addRange(0x111D0, 0x111D9).addRange(0x112F0, 0x112F9).addRange(0x11450, 0x11459).addRange(0x114D0, 0x114D9).addRange(0x11650, 0x11659).addRange(0x116C0, 0x116C9).addRange(0x11730, 0x11739).addRange(0x118E0, 0x118E9).addRange(0x11950, 0x11959);
|
|
set.addRange(0x11C50, 0x11C59).addRange(0x11D50, 0x11D59).addRange(0x11DA0, 0x11DA9).addRange(0x11F50, 0x11F59).addRange(0x16A60, 0x16A69).addRange(0x16AC0, 0x16AC9).addRange(0x16B50, 0x16B59).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E140, 0x1E149).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E4F0, 0x1E4F9).addRange(0x1E950, 0x1E959).addRange(0x1FBF0, 0x1FBF9);
|
|
Decimal_Number.characters = set;
|
|
return Decimal_Number;
|
|
}
|
|
|
|
var Enclosing_Mark = {};
|
|
|
|
var hasRequiredEnclosing_Mark;
|
|
function requireEnclosing_Mark() {
|
|
if (hasRequiredEnclosing_Mark) return Enclosing_Mark;
|
|
hasRequiredEnclosing_Mark = 1;
|
|
var set = regenerate$2.exports(0x1ABE);
|
|
set.addRange(0x488, 0x489).addRange(0x20DD, 0x20E0).addRange(0x20E2, 0x20E4).addRange(0xA670, 0xA672);
|
|
Enclosing_Mark.characters = set;
|
|
return Enclosing_Mark;
|
|
}
|
|
|
|
var Final_Punctuation = {};
|
|
|
|
var hasRequiredFinal_Punctuation;
|
|
function requireFinal_Punctuation() {
|
|
if (hasRequiredFinal_Punctuation) return Final_Punctuation;
|
|
hasRequiredFinal_Punctuation = 1;
|
|
var set = regenerate$2.exports(0xBB, 0x2019, 0x201D, 0x203A, 0x2E03, 0x2E05, 0x2E0A, 0x2E0D, 0x2E1D, 0x2E21);
|
|
Final_Punctuation.characters = set;
|
|
return Final_Punctuation;
|
|
}
|
|
|
|
var Format = {};
|
|
|
|
var hasRequiredFormat;
|
|
function requireFormat() {
|
|
if (hasRequiredFormat) return Format;
|
|
hasRequiredFormat = 1;
|
|
var set = regenerate$2.exports(0xAD, 0x61C, 0x6DD, 0x70F, 0x8E2, 0x180E, 0xFEFF, 0x110BD, 0x110CD, 0xE0001);
|
|
set.addRange(0x600, 0x605).addRange(0x890, 0x891).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x2064).addRange(0x2066, 0x206F).addRange(0xFFF9, 0xFFFB).addRange(0x13430, 0x1343F).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D173, 0x1D17A).addRange(0xE0020, 0xE007F);
|
|
Format.characters = set;
|
|
return Format;
|
|
}
|
|
|
|
var Initial_Punctuation = {};
|
|
|
|
var hasRequiredInitial_Punctuation;
|
|
function requireInitial_Punctuation() {
|
|
if (hasRequiredInitial_Punctuation) return Initial_Punctuation;
|
|
hasRequiredInitial_Punctuation = 1;
|
|
var set = regenerate$2.exports(0xAB, 0x2018, 0x201F, 0x2039, 0x2E02, 0x2E04, 0x2E09, 0x2E0C, 0x2E1C, 0x2E20);
|
|
set.addRange(0x201B, 0x201C);
|
|
Initial_Punctuation.characters = set;
|
|
return Initial_Punctuation;
|
|
}
|
|
|
|
var Letter_Number = {};
|
|
|
|
var hasRequiredLetter_Number;
|
|
function requireLetter_Number() {
|
|
if (hasRequiredLetter_Number) return Letter_Number;
|
|
hasRequiredLetter_Number = 1;
|
|
var set = regenerate$2.exports(0x3007, 0x10341, 0x1034A);
|
|
set.addRange(0x16EE, 0x16F0).addRange(0x2160, 0x2182).addRange(0x2185, 0x2188).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0xA6E6, 0xA6EF).addRange(0x10140, 0x10174).addRange(0x103D1, 0x103D5).addRange(0x12400, 0x1246E);
|
|
Letter_Number.characters = set;
|
|
return Letter_Number;
|
|
}
|
|
|
|
var Letter = {};
|
|
|
|
var hasRequiredLetter;
|
|
function requireLetter() {
|
|
if (hasRequiredLetter) return Letter;
|
|
hasRequiredLetter = 1;
|
|
var set = regenerate$2.exports(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0x2E2F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11F02, 0x11FB0, 0x16F50, 0x16FE3, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);
|
|
set.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);
|
|
set.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);
|
|
set.addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16F1, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x1884);
|
|
set.addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2183, 0x2184).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25);
|
|
set.addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3006).addRange(0x3031, 0x3035).addRange(0x303B, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6E5).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28);
|
|
set.addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10280, 0x1029C);
|
|
set.addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x10340).addRange(0x10342, 0x10349).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48);
|
|
set.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x1123F, 0x11240).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7);
|
|
set.addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x11F04, 0x11F10).addRange(0x11F12, 0x11F33).addRange(0x12000, 0x12399).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F);
|
|
set.addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E4D0, 0x1E4EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89);
|
|
set.addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);
|
|
Letter.characters = set;
|
|
return Letter;
|
|
}
|
|
|
|
var Line_Separator = {};
|
|
|
|
var hasRequiredLine_Separator;
|
|
function requireLine_Separator() {
|
|
if (hasRequiredLine_Separator) return Line_Separator;
|
|
hasRequiredLine_Separator = 1;
|
|
var set = regenerate$2.exports(0x2028);
|
|
Line_Separator.characters = set;
|
|
return Line_Separator;
|
|
}
|
|
|
|
var Lowercase_Letter = {};
|
|
|
|
var hasRequiredLowercase_Letter;
|
|
function requireLowercase_Letter() {
|
|
if (hasRequiredLowercase_Letter) return Lowercase_Letter;
|
|
hasRequiredLowercase_Letter = 1;
|
|
var set = regenerate$2.exports(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1C6, 0x1C9, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x221, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1E9F, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x210A, 0x2113, 0x212F, 0x2134, 0x2139, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C71, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA78E, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7AF, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D3, 0xA7D5, 0xA7D7, 0xA7D9, 0xA7F6, 0xA7FA, 0x1D4BB, 0x1D7CB);
|
|
set.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x137, 0x138).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x18C, 0x18D).addRange(0x199, 0x19B).addRange(0x1AA, 0x1AB).addRange(0x1B9, 0x1BA).addRange(0x1BD, 0x1BF).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x233, 0x239).addRange(0x23F, 0x240).addRange(0x24F, 0x293).addRange(0x295, 0x2AF).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x3FB, 0x3FC).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x560, 0x588).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1D00, 0x1D2B).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1D9A).addRange(0x1E95, 0x1E9D).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7);
|
|
set.addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x210E, 0x210F).addRange(0x213C, 0x213D).addRange(0x2146, 0x2149).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2C73, 0x2C74).addRange(0x2C76, 0x2C7B).addRange(0x2CE3, 0x2CE4).addRange(0x2D00, 0x2D25).addRange(0xA72F, 0xA731).addRange(0xA771, 0xA778).addRange(0xA793, 0xA795).addRange(0xAB30, 0xAB5A).addRange(0xAB60, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1D41A, 0x1D433).addRange(0x1D44E, 0x1D454).addRange(0x1D456, 0x1D467).addRange(0x1D482, 0x1D49B).addRange(0x1D4B6, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D4CF).addRange(0x1D4EA, 0x1D503).addRange(0x1D51E, 0x1D537).addRange(0x1D552, 0x1D56B).addRange(0x1D586, 0x1D59F).addRange(0x1D5BA, 0x1D5D3).addRange(0x1D5EE, 0x1D607).addRange(0x1D622, 0x1D63B).addRange(0x1D656, 0x1D66F).addRange(0x1D68A, 0x1D6A5).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6E1).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D71B).addRange(0x1D736, 0x1D74E);
|
|
set.addRange(0x1D750, 0x1D755).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D78F).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7C9).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E922, 0x1E943);
|
|
Lowercase_Letter.characters = set;
|
|
return Lowercase_Letter;
|
|
}
|
|
|
|
var Mark = {};
|
|
|
|
var hasRequiredMark;
|
|
function requireMark() {
|
|
if (hasRequiredMark) return Mark;
|
|
hasRequiredMark = 1;
|
|
var set = regenerate$2.exports(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x9BC, 0x9D7, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xB3C, 0xB82, 0xBD7, 0xC3C, 0xCBC, 0xCF3, 0xD57, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x108F, 0x17DD, 0x180F, 0x18A9, 0x1A7F, 0x1CED, 0x1CF4, 0x2D7F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9E5, 0xAA43, 0xAAB0, 0xAAC1, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11070, 0x110C2, 0x11173, 0x1123E, 0x11241, 0x11357, 0x1145E, 0x11940, 0x119E4, 0x11A47, 0x11D3A, 0x11D47, 0x11F03, 0x13440, 0x16F4F, 0x16FE4, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E2AE);
|
|
set.addRange(0x300, 0x36F).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x903).addRange(0x93A, 0x93C).addRange(0x93E, 0x94F).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x981, 0x983).addRange(0x9BE, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CD).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA03).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA83).addRange(0xABE, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB3E, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB62, 0xB63).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD);
|
|
set.addRange(0xC00, 0xC04).addRange(0xC3E, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xC81, 0xC83).addRange(0xCBE, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD03).addRange(0xD3B, 0xD3C).addRange(0xD3E, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4D).addRange(0xD62, 0xD63).addRange(0xD81, 0xD83).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECE).addRange(0xF18, 0xF19).addRange(0xF3E, 0xF3F).addRange(0xF71, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102B, 0x103E).addRange(0x1056, 0x1059).addRange(0x105E, 0x1060).addRange(0x1062, 0x1064).addRange(0x1067, 0x106D).addRange(0x1071, 0x1074).addRange(0x1082, 0x108D).addRange(0x109A, 0x109D).addRange(0x135D, 0x135F).addRange(0x1712, 0x1715).addRange(0x1732, 0x1734).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1A17, 0x1A1B);
|
|
set.addRange(0x1A55, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B04).addRange(0x1B34, 0x1B44).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B82).addRange(0x1BA1, 0x1BAD).addRange(0x1BE6, 0x1BF3).addRange(0x1C24, 0x1C37).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE8).addRange(0x1CF7, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302F).addRange(0x3099, 0x309A).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA823, 0xA827).addRange(0xA880, 0xA881).addRange(0xA8B4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA953).addRange(0xA980, 0xA983).addRange(0xA9B3, 0xA9C0).addRange(0xAA29, 0xAA36).addRange(0xAA4C, 0xAA4D).addRange(0xAA7B, 0xAA7D).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEB, 0xAAEF).addRange(0xAAF5, 0xAAF6).addRange(0xABE3, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC);
|
|
set.addRange(0x10EFD, 0x10EFF).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11000, 0x11002).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11082).addRange(0x110B0, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x11134).addRange(0x11145, 0x11146).addRange(0x11180, 0x11182).addRange(0x111B3, 0x111C0).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111CF).addRange(0x1122C, 0x11237).addRange(0x112DF, 0x112EA).addRange(0x11300, 0x11303).addRange(0x1133B, 0x1133C).addRange(0x1133E, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x11362, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11435, 0x11446).addRange(0x114B0, 0x114C3).addRange(0x115AF, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11630, 0x11640).addRange(0x116AB, 0x116B7).addRange(0x1171D, 0x1172B).addRange(0x1182C, 0x1183A).addRange(0x11930, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x1193E).addRange(0x11942, 0x11943).addRange(0x119D1, 0x119D7).addRange(0x119DA, 0x119E0).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A39).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A5B).addRange(0x11A8A, 0x11A99).addRange(0x11C2F, 0x11C36).addRange(0x11C38, 0x11C3F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D);
|
|
set.addRange(0x11D3F, 0x11D45).addRange(0x11D8A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D97).addRange(0x11EF3, 0x11EF6).addRange(0x11F00, 0x11F01).addRange(0x11F34, 0x11F3A).addRange(0x11F3E, 0x11F42).addRange(0x13447, 0x13455).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F51, 0x16F87).addRange(0x16F8F, 0x16F92).addRange(0x16FF0, 0x16FF1).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E4EC, 0x1E4EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0100, 0xE01EF);
|
|
Mark.characters = set;
|
|
return Mark;
|
|
}
|
|
|
|
var Math_Symbol = {};
|
|
|
|
var hasRequiredMath_Symbol;
|
|
function requireMath_Symbol() {
|
|
if (hasRequiredMath_Symbol) return Math_Symbol;
|
|
hasRequiredMath_Symbol = 1;
|
|
var set = regenerate$2.exports(0x2B, 0x7C, 0x7E, 0xAC, 0xB1, 0xD7, 0xF7, 0x3F6, 0x2044, 0x2052, 0x2118, 0x214B, 0x21A0, 0x21A3, 0x21A6, 0x21AE, 0x21D2, 0x21D4, 0x237C, 0x25B7, 0x25C1, 0x266F, 0xFB29, 0xFE62, 0xFF0B, 0xFF5C, 0xFF5E, 0xFFE2, 0x1D6C1, 0x1D6DB, 0x1D6FB, 0x1D715, 0x1D735, 0x1D74F, 0x1D76F, 0x1D789, 0x1D7A9, 0x1D7C3);
|
|
set.addRange(0x3C, 0x3E).addRange(0x606, 0x608).addRange(0x207A, 0x207C).addRange(0x208A, 0x208C).addRange(0x2140, 0x2144).addRange(0x2190, 0x2194).addRange(0x219A, 0x219B).addRange(0x21CE, 0x21CF).addRange(0x21F4, 0x22FF).addRange(0x2320, 0x2321).addRange(0x239B, 0x23B3).addRange(0x23DC, 0x23E1).addRange(0x25F8, 0x25FF).addRange(0x27C0, 0x27C4).addRange(0x27C7, 0x27E5).addRange(0x27F0, 0x27FF).addRange(0x2900, 0x2982).addRange(0x2999, 0x29D7).addRange(0x29DC, 0x29FB).addRange(0x29FE, 0x2AFF).addRange(0x2B30, 0x2B44).addRange(0x2B47, 0x2B4C).addRange(0xFE64, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE9, 0xFFEC).addRange(0x1EEF0, 0x1EEF1);
|
|
Math_Symbol.characters = set;
|
|
return Math_Symbol;
|
|
}
|
|
|
|
var Modifier_Letter = {};
|
|
|
|
var hasRequiredModifier_Letter;
|
|
function requireModifier_Letter() {
|
|
if (hasRequiredModifier_Letter) return Modifier_Letter;
|
|
hasRequiredModifier_Letter = 1;
|
|
var set = regenerate$2.exports(0x2EC, 0x2EE, 0x374, 0x37A, 0x559, 0x640, 0x7FA, 0x81A, 0x824, 0x828, 0x8C9, 0x971, 0xE46, 0xEC6, 0x10FC, 0x17D7, 0x1843, 0x1AA7, 0x1D78, 0x2071, 0x207F, 0x2D6F, 0x2E2F, 0x3005, 0x303B, 0xA015, 0xA60C, 0xA67F, 0xA770, 0xA788, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, 0xAB69, 0xFF70, 0x16FE3, 0x1E4EB, 0x1E94B);
|
|
set.addRange(0x2B0, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x6E5, 0x6E6).addRange(0x7F4, 0x7F5).addRange(0x1C78, 0x1C7D).addRange(0x1D2C, 0x1D6A).addRange(0x1D9B, 0x1DBF).addRange(0x2090, 0x209C).addRange(0x2C7C, 0x2C7D).addRange(0x3031, 0x3035).addRange(0x309D, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xA4F8, 0xA4FD).addRange(0xA69C, 0xA69D).addRange(0xA717, 0xA71F).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7F9).addRange(0xAAF3, 0xAAF4).addRange(0xAB5C, 0xAB5F).addRange(0xFF9E, 0xFF9F).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x16B40, 0x16B43).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1E030, 0x1E06D).addRange(0x1E137, 0x1E13D);
|
|
Modifier_Letter.characters = set;
|
|
return Modifier_Letter;
|
|
}
|
|
|
|
var Modifier_Symbol = {};
|
|
|
|
var hasRequiredModifier_Symbol;
|
|
function requireModifier_Symbol() {
|
|
if (hasRequiredModifier_Symbol) return Modifier_Symbol;
|
|
hasRequiredModifier_Symbol = 1;
|
|
var set = regenerate$2.exports(0x5E, 0x60, 0xA8, 0xAF, 0xB4, 0xB8, 0x2ED, 0x375, 0x888, 0x1FBD, 0xAB5B, 0xFF3E, 0xFF40, 0xFFE3);
|
|
set.addRange(0x2C2, 0x2C5).addRange(0x2D2, 0x2DF).addRange(0x2E5, 0x2EB).addRange(0x2EF, 0x2FF).addRange(0x384, 0x385).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x309B, 0x309C).addRange(0xA700, 0xA716).addRange(0xA720, 0xA721).addRange(0xA789, 0xA78A).addRange(0xAB6A, 0xAB6B).addRange(0xFBB2, 0xFBC2).addRange(0x1F3FB, 0x1F3FF);
|
|
Modifier_Symbol.characters = set;
|
|
return Modifier_Symbol;
|
|
}
|
|
|
|
var Nonspacing_Mark = {};
|
|
|
|
var hasRequiredNonspacing_Mark;
|
|
function requireNonspacing_Mark() {
|
|
if (hasRequiredNonspacing_Mark) return Nonspacing_Mark;
|
|
hasRequiredNonspacing_Mark = 1;
|
|
var set = regenerate$2.exports(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x93A, 0x93C, 0x94D, 0x981, 0x9BC, 0x9CD, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB3F, 0xB4D, 0xB82, 0xBC0, 0xBCD, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC6, 0xD4D, 0xD81, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x17C6, 0x17DD, 0x180F, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1B34, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x20E1, 0x2D7F, 0xA66F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9E5, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAC1, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110C2, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x11241, 0x112DF, 0x11340, 0x11446, 0x1145E, 0x114BA, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x11F40, 0x11F42, 0x13440, 0x16F4F, 0x16FE4, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E2AE);
|
|
set.addRange(0x300, 0x36F).addRange(0x483, 0x487).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB41, 0xB44).addRange(0xB55, 0xB56).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C).addRange(0xD41, 0xD44).addRange(0xD62, 0xD63);
|
|
set.addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECE).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B36, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0);
|
|
set.addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302D).addRange(0x3099, 0x309A).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10EFD, 0x10EFF).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC);
|
|
set.addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x11F00, 0x11F01).addRange(0x11F36, 0x11F3A).addRange(0x13447, 0x13455).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F92);
|
|
set.addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E4EC, 0x1E4EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0100, 0xE01EF);
|
|
Nonspacing_Mark.characters = set;
|
|
return Nonspacing_Mark;
|
|
}
|
|
|
|
var _Number = {};
|
|
|
|
var hasRequired_Number;
|
|
function require_Number() {
|
|
if (hasRequired_Number) return _Number;
|
|
hasRequired_Number = 1;
|
|
var set = regenerate$2.exports(0xB9, 0x2070, 0x2CFD, 0x3007, 0x10341, 0x1034A);
|
|
set.addRange(0x30, 0x39).addRange(0xB2, 0xB3).addRange(0xBC, 0xBE).addRange(0x660, 0x669).addRange(0x6F0, 0x6F9).addRange(0x7C0, 0x7C9).addRange(0x966, 0x96F).addRange(0x9E6, 0x9EF).addRange(0x9F4, 0x9F9).addRange(0xA66, 0xA6F).addRange(0xAE6, 0xAEF).addRange(0xB66, 0xB6F).addRange(0xB72, 0xB77).addRange(0xBE6, 0xBF2).addRange(0xC66, 0xC6F).addRange(0xC78, 0xC7E).addRange(0xCE6, 0xCEF).addRange(0xD58, 0xD5E).addRange(0xD66, 0xD78).addRange(0xDE6, 0xDEF).addRange(0xE50, 0xE59).addRange(0xED0, 0xED9).addRange(0xF20, 0xF33).addRange(0x1040, 0x1049).addRange(0x1090, 0x1099).addRange(0x1369, 0x137C).addRange(0x16EE, 0x16F0).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1810, 0x1819).addRange(0x1946, 0x194F).addRange(0x19D0, 0x19DA).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1B50, 0x1B59).addRange(0x1BB0, 0x1BB9).addRange(0x1C40, 0x1C49).addRange(0x1C50, 0x1C59).addRange(0x2074, 0x2079).addRange(0x2080, 0x2089).addRange(0x2150, 0x2182).addRange(0x2185, 0x2189).addRange(0x2460, 0x249B).addRange(0x24EA, 0x24FF).addRange(0x2776, 0x2793).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0x3192, 0x3195).addRange(0x3220, 0x3229).addRange(0x3248, 0x324F).addRange(0x3251, 0x325F);
|
|
set.addRange(0x3280, 0x3289).addRange(0x32B1, 0x32BF).addRange(0xA620, 0xA629).addRange(0xA6E6, 0xA6EF).addRange(0xA830, 0xA835).addRange(0xA8D0, 0xA8D9).addRange(0xA900, 0xA909).addRange(0xA9D0, 0xA9D9).addRange(0xA9F0, 0xA9F9).addRange(0xAA50, 0xAA59).addRange(0xABF0, 0xABF9).addRange(0xFF10, 0xFF19).addRange(0x10107, 0x10133).addRange(0x10140, 0x10178).addRange(0x1018A, 0x1018B).addRange(0x102E1, 0x102FB).addRange(0x10320, 0x10323).addRange(0x103D1, 0x103D5).addRange(0x104A0, 0x104A9).addRange(0x10858, 0x1085F).addRange(0x10879, 0x1087F).addRange(0x108A7, 0x108AF).addRange(0x108FB, 0x108FF).addRange(0x10916, 0x1091B).addRange(0x109BC, 0x109BD).addRange(0x109C0, 0x109CF).addRange(0x109D2, 0x109FF).addRange(0x10A40, 0x10A48).addRange(0x10A7D, 0x10A7E).addRange(0x10A9D, 0x10A9F).addRange(0x10AEB, 0x10AEF).addRange(0x10B58, 0x10B5F).addRange(0x10B78, 0x10B7F).addRange(0x10BA9, 0x10BAF).addRange(0x10CFA, 0x10CFF).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10F1D, 0x10F26).addRange(0x10F51, 0x10F54).addRange(0x10FC5, 0x10FCB).addRange(0x11052, 0x1106F).addRange(0x110F0, 0x110F9).addRange(0x11136, 0x1113F).addRange(0x111D0, 0x111D9).addRange(0x111E1, 0x111F4).addRange(0x112F0, 0x112F9).addRange(0x11450, 0x11459).addRange(0x114D0, 0x114D9).addRange(0x11650, 0x11659).addRange(0x116C0, 0x116C9).addRange(0x11730, 0x1173B);
|
|
set.addRange(0x118E0, 0x118F2).addRange(0x11950, 0x11959).addRange(0x11C50, 0x11C6C).addRange(0x11D50, 0x11D59).addRange(0x11DA0, 0x11DA9).addRange(0x11F50, 0x11F59).addRange(0x11FC0, 0x11FD4).addRange(0x12400, 0x1246E).addRange(0x16A60, 0x16A69).addRange(0x16AC0, 0x16AC9).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16E80, 0x16E96).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D360, 0x1D378).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E140, 0x1E149).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E4F0, 0x1E4F9).addRange(0x1E8C7, 0x1E8CF).addRange(0x1E950, 0x1E959).addRange(0x1EC71, 0x1ECAB).addRange(0x1ECAD, 0x1ECAF).addRange(0x1ECB1, 0x1ECB4).addRange(0x1ED01, 0x1ED2D).addRange(0x1ED2F, 0x1ED3D).addRange(0x1F100, 0x1F10C).addRange(0x1FBF0, 0x1FBF9);
|
|
_Number.characters = set;
|
|
return _Number;
|
|
}
|
|
|
|
var Open_Punctuation = {};
|
|
|
|
var hasRequiredOpen_Punctuation;
|
|
function requireOpen_Punctuation() {
|
|
if (hasRequiredOpen_Punctuation) return Open_Punctuation;
|
|
hasRequiredOpen_Punctuation = 1;
|
|
var set = regenerate$2.exports(0x28, 0x5B, 0x7B, 0xF3A, 0xF3C, 0x169B, 0x201A, 0x201E, 0x2045, 0x207D, 0x208D, 0x2308, 0x230A, 0x2329, 0x2768, 0x276A, 0x276C, 0x276E, 0x2770, 0x2772, 0x2774, 0x27C5, 0x27E6, 0x27E8, 0x27EA, 0x27EC, 0x27EE, 0x2983, 0x2985, 0x2987, 0x2989, 0x298B, 0x298D, 0x298F, 0x2991, 0x2993, 0x2995, 0x2997, 0x29D8, 0x29DA, 0x29FC, 0x2E22, 0x2E24, 0x2E26, 0x2E28, 0x2E42, 0x2E55, 0x2E57, 0x2E59, 0x2E5B, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, 0x3018, 0x301A, 0x301D, 0xFD3F, 0xFE17, 0xFE35, 0xFE37, 0xFE39, 0xFE3B, 0xFE3D, 0xFE3F, 0xFE41, 0xFE43, 0xFE47, 0xFE59, 0xFE5B, 0xFE5D, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F, 0xFF62);
|
|
Open_Punctuation.characters = set;
|
|
return Open_Punctuation;
|
|
}
|
|
|
|
var Other_Letter = {};
|
|
|
|
var hasRequiredOther_Letter;
|
|
function requireOther_Letter() {
|
|
if (hasRequiredOther_Letter) return Other_Letter;
|
|
hasRequiredOther_Letter = 1;
|
|
var set = regenerate$2.exports(0xAA, 0xBA, 0x1BB, 0x294, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xF00, 0x103F, 0x1061, 0x108E, 0x1258, 0x12C0, 0x17DC, 0x18AA, 0x1CFA, 0x3006, 0x303C, 0x309F, 0x30FF, 0xA66E, 0xA78F, 0xA7F7, 0xA8FB, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xAAF2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11F02, 0x11FB0, 0x16F50, 0x1B132, 0x1B155, 0x1DF0A, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);
|
|
set.addRange(0x1C0, 0x1C3).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x63F).addRange(0x641, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C8).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x972, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39);
|
|
set.addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE45).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066);
|
|
set.addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x1100, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16F1, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1842).addRange(0x1844, 0x1878).addRange(0x1880, 0x1884).addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C77).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6);
|
|
set.addRange(0x2135, 0x2138).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3041, 0x3096).addRange(0x30A1, 0x30FA).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA014).addRange(0xA016, 0xA48C).addRange(0xA4D0, 0xA4F7).addRange(0xA500, 0xA60B).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA6A0, 0xA6E5).addRange(0xA7FB, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E7, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA6F).addRange(0xAA71, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADC).addRange(0xAAE0, 0xAAEA).addRange(0xAB01, 0xAB06);
|
|
set.addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xABC0, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF66, 0xFF6F).addRange(0xFF71, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x10340).addRange(0x10342, 0x10349).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x10450, 0x1049D).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);
|
|
set.addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x1123F, 0x11240).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328);
|
|
set.addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x11F04, 0x11F10).addRange(0x11F12, 0x11F33).addRange(0x12000, 0x12399).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16F00, 0x16F4A);
|
|
set.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1E100, 0x1E12C).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E4D0, 0x1E4EA).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);
|
|
Other_Letter.characters = set;
|
|
return Other_Letter;
|
|
}
|
|
|
|
var Other_Number = {};
|
|
|
|
var hasRequiredOther_Number;
|
|
function requireOther_Number() {
|
|
if (hasRequiredOther_Number) return Other_Number;
|
|
hasRequiredOther_Number = 1;
|
|
var set = regenerate$2.exports(0xB9, 0x19DA, 0x2070, 0x2189, 0x2CFD);
|
|
set.addRange(0xB2, 0xB3).addRange(0xBC, 0xBE).addRange(0x9F4, 0x9F9).addRange(0xB72, 0xB77).addRange(0xBF0, 0xBF2).addRange(0xC78, 0xC7E).addRange(0xD58, 0xD5E).addRange(0xD70, 0xD78).addRange(0xF2A, 0xF33).addRange(0x1369, 0x137C).addRange(0x17F0, 0x17F9).addRange(0x2074, 0x2079).addRange(0x2080, 0x2089).addRange(0x2150, 0x215F).addRange(0x2460, 0x249B).addRange(0x24EA, 0x24FF).addRange(0x2776, 0x2793).addRange(0x3192, 0x3195).addRange(0x3220, 0x3229).addRange(0x3248, 0x324F).addRange(0x3251, 0x325F).addRange(0x3280, 0x3289).addRange(0x32B1, 0x32BF).addRange(0xA830, 0xA835).addRange(0x10107, 0x10133).addRange(0x10175, 0x10178).addRange(0x1018A, 0x1018B).addRange(0x102E1, 0x102FB).addRange(0x10320, 0x10323).addRange(0x10858, 0x1085F).addRange(0x10879, 0x1087F).addRange(0x108A7, 0x108AF).addRange(0x108FB, 0x108FF).addRange(0x10916, 0x1091B).addRange(0x109BC, 0x109BD).addRange(0x109C0, 0x109CF).addRange(0x109D2, 0x109FF).addRange(0x10A40, 0x10A48).addRange(0x10A7D, 0x10A7E).addRange(0x10A9D, 0x10A9F).addRange(0x10AEB, 0x10AEF).addRange(0x10B58, 0x10B5F).addRange(0x10B78, 0x10B7F).addRange(0x10BA9, 0x10BAF).addRange(0x10CFA, 0x10CFF).addRange(0x10E60, 0x10E7E).addRange(0x10F1D, 0x10F26).addRange(0x10F51, 0x10F54).addRange(0x10FC5, 0x10FCB).addRange(0x11052, 0x11065).addRange(0x111E1, 0x111F4);
|
|
set.addRange(0x1173A, 0x1173B).addRange(0x118EA, 0x118F2).addRange(0x11C5A, 0x11C6C).addRange(0x11FC0, 0x11FD4).addRange(0x16B5B, 0x16B61).addRange(0x16E80, 0x16E96).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D360, 0x1D378).addRange(0x1E8C7, 0x1E8CF).addRange(0x1EC71, 0x1ECAB).addRange(0x1ECAD, 0x1ECAF).addRange(0x1ECB1, 0x1ECB4).addRange(0x1ED01, 0x1ED2D).addRange(0x1ED2F, 0x1ED3D).addRange(0x1F100, 0x1F10C);
|
|
Other_Number.characters = set;
|
|
return Other_Number;
|
|
}
|
|
|
|
var Other_Punctuation = {};
|
|
|
|
var hasRequiredOther_Punctuation;
|
|
function requireOther_Punctuation() {
|
|
if (hasRequiredOther_Punctuation) return Other_Punctuation;
|
|
hasRequiredOther_Punctuation = 1;
|
|
var set = regenerate$2.exports(0x2A, 0x2C, 0x5C, 0xA1, 0xA7, 0xBF, 0x37E, 0x387, 0x589, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6D4, 0x85E, 0x970, 0x9FD, 0xA76, 0xAF0, 0xC77, 0xC84, 0xDF4, 0xE4F, 0xF14, 0xF85, 0x10FB, 0x166E, 0x1CD3, 0x2053, 0x2D70, 0x2E0B, 0x2E1B, 0x2E41, 0x303D, 0x30FB, 0xA673, 0xA67E, 0xA8FC, 0xA95F, 0xABEB, 0xFE19, 0xFE30, 0xFE68, 0xFF0A, 0xFF0C, 0xFF3C, 0xFF61, 0x1039F, 0x103D0, 0x1056F, 0x10857, 0x1091F, 0x1093F, 0x10A7F, 0x111CD, 0x111DB, 0x112A9, 0x1145D, 0x114C6, 0x116B9, 0x1183B, 0x119E2, 0x11FFF, 0x16AF5, 0x16B44, 0x16FE2, 0x1BC9F);
|
|
set.addRange(0x21, 0x23).addRange(0x25, 0x27).addRange(0x2E, 0x2F).addRange(0x3A, 0x3B).addRange(0x3F, 0x40).addRange(0xB6, 0xB7).addRange(0x55A, 0x55F).addRange(0x5F3, 0x5F4).addRange(0x609, 0x60A).addRange(0x60C, 0x60D).addRange(0x61D, 0x61F).addRange(0x66A, 0x66D).addRange(0x700, 0x70D).addRange(0x7F7, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF04, 0xF12).addRange(0xFD0, 0xFD4).addRange(0xFD9, 0xFDA).addRange(0x104A, 0x104F).addRange(0x1360, 0x1368).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x17D8, 0x17DA).addRange(0x1800, 0x1805).addRange(0x1807, 0x180A).addRange(0x1944, 0x1945).addRange(0x1A1E, 0x1A1F).addRange(0x1AA0, 0x1AA6).addRange(0x1AA8, 0x1AAD).addRange(0x1B5A, 0x1B60).addRange(0x1B7D, 0x1B7E).addRange(0x1BFC, 0x1BFF).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x1CC0, 0x1CC7).addRange(0x2016, 0x2017).addRange(0x2020, 0x2027).addRange(0x2030, 0x2038).addRange(0x203B, 0x203E).addRange(0x2041, 0x2043).addRange(0x2047, 0x2051).addRange(0x2055, 0x205E).addRange(0x2CF9, 0x2CFC).addRange(0x2CFE, 0x2CFF).addRange(0x2E00, 0x2E01).addRange(0x2E06, 0x2E08).addRange(0x2E0E, 0x2E16).addRange(0x2E18, 0x2E19);
|
|
set.addRange(0x2E1E, 0x2E1F).addRange(0x2E2A, 0x2E2E).addRange(0x2E30, 0x2E39).addRange(0x2E3C, 0x2E3F).addRange(0x2E43, 0x2E4F).addRange(0x2E52, 0x2E54).addRange(0x3001, 0x3003).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F2, 0xA6F7).addRange(0xA874, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA8F8, 0xA8FA).addRange(0xA92E, 0xA92F).addRange(0xA9C1, 0xA9CD).addRange(0xA9DE, 0xA9DF).addRange(0xAA5C, 0xAA5F).addRange(0xAADE, 0xAADF).addRange(0xAAF0, 0xAAF1).addRange(0xFE10, 0xFE16).addRange(0xFE45, 0xFE46).addRange(0xFE49, 0xFE4C).addRange(0xFE50, 0xFE52).addRange(0xFE54, 0xFE57).addRange(0xFE5F, 0xFE61).addRange(0xFE6A, 0xFE6B).addRange(0xFF01, 0xFF03).addRange(0xFF05, 0xFF07).addRange(0xFF0E, 0xFF0F).addRange(0xFF1A, 0xFF1B).addRange(0xFF1F, 0xFF20).addRange(0xFF64, 0xFF65).addRange(0x10100, 0x10102).addRange(0x10A50, 0x10A58).addRange(0x10AF0, 0x10AF6).addRange(0x10B39, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x11140, 0x11143).addRange(0x11174, 0x11175).addRange(0x111C5, 0x111C8).addRange(0x111DD, 0x111DF).addRange(0x11238, 0x1123D).addRange(0x1144B, 0x1144F).addRange(0x1145A, 0x1145B).addRange(0x115C1, 0x115D7).addRange(0x11641, 0x11643);
|
|
set.addRange(0x11660, 0x1166C).addRange(0x1173C, 0x1173E).addRange(0x11944, 0x11946).addRange(0x11A3F, 0x11A46).addRange(0x11A9A, 0x11A9C).addRange(0x11A9E, 0x11AA2).addRange(0x11B00, 0x11B09).addRange(0x11C41, 0x11C45).addRange(0x11C70, 0x11C71).addRange(0x11EF7, 0x11EF8).addRange(0x11F43, 0x11F4F).addRange(0x12470, 0x12474).addRange(0x12FF1, 0x12FF2).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B3B).addRange(0x16E97, 0x16E9A).addRange(0x1DA87, 0x1DA8B).addRange(0x1E95E, 0x1E95F);
|
|
Other_Punctuation.characters = set;
|
|
return Other_Punctuation;
|
|
}
|
|
|
|
var Other_Symbol = {};
|
|
|
|
var hasRequiredOther_Symbol;
|
|
function requireOther_Symbol() {
|
|
if (hasRequiredOther_Symbol) return Other_Symbol;
|
|
hasRequiredOther_Symbol = 1;
|
|
var set = regenerate$2.exports(0xA6, 0xA9, 0xAE, 0xB0, 0x482, 0x6DE, 0x6E9, 0x7F6, 0x9FA, 0xB70, 0xBFA, 0xC7F, 0xD4F, 0xD79, 0xF13, 0xF34, 0xF36, 0xF38, 0x166D, 0x1940, 0x2114, 0x2125, 0x2127, 0x2129, 0x212E, 0x214A, 0x214F, 0x21D3, 0x3004, 0x3020, 0x3250, 0xA839, 0xFDCF, 0xFFE4, 0xFFE8, 0x101A0, 0x10AC8, 0x1173F, 0x16B45, 0x1BC9C, 0x1D245, 0x1E14F, 0x1ECAC, 0x1ED2E, 0x1F7F0);
|
|
set.addRange(0x58D, 0x58E).addRange(0x60E, 0x60F).addRange(0x6FD, 0x6FE).addRange(0xBF3, 0xBF8).addRange(0xF01, 0xF03).addRange(0xF15, 0xF17).addRange(0xF1A, 0xF1F).addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFCF).addRange(0xFD5, 0xFD8).addRange(0x109E, 0x109F).addRange(0x1390, 0x1399).addRange(0x19DE, 0x19FF).addRange(0x1B61, 0x1B6A).addRange(0x1B74, 0x1B7C).addRange(0x2100, 0x2101).addRange(0x2103, 0x2106).addRange(0x2108, 0x2109).addRange(0x2116, 0x2117).addRange(0x211E, 0x2123).addRange(0x213A, 0x213B).addRange(0x214C, 0x214D).addRange(0x218A, 0x218B).addRange(0x2195, 0x2199).addRange(0x219C, 0x219F).addRange(0x21A1, 0x21A2).addRange(0x21A4, 0x21A5).addRange(0x21A7, 0x21AD).addRange(0x21AF, 0x21CD).addRange(0x21D0, 0x21D1).addRange(0x21D5, 0x21F3).addRange(0x2300, 0x2307).addRange(0x230C, 0x231F).addRange(0x2322, 0x2328).addRange(0x232B, 0x237B).addRange(0x237D, 0x239A).addRange(0x23B4, 0x23DB).addRange(0x23E2, 0x2426).addRange(0x2440, 0x244A).addRange(0x249C, 0x24E9).addRange(0x2500, 0x25B6).addRange(0x25B8, 0x25C0).addRange(0x25C2, 0x25F7).addRange(0x2600, 0x266E).addRange(0x2670, 0x2767).addRange(0x2794, 0x27BF).addRange(0x2800, 0x28FF).addRange(0x2B00, 0x2B2F).addRange(0x2B45, 0x2B46).addRange(0x2B4D, 0x2B73);
|
|
set.addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2CE5, 0x2CEA).addRange(0x2E50, 0x2E51).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3012, 0x3013).addRange(0x3036, 0x3037).addRange(0x303E, 0x303F).addRange(0x3190, 0x3191).addRange(0x3196, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3200, 0x321E).addRange(0x322A, 0x3247).addRange(0x3260, 0x327F).addRange(0x328A, 0x32B0).addRange(0x32C0, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA490, 0xA4C6).addRange(0xA828, 0xA82B).addRange(0xA836, 0xA837).addRange(0xAA77, 0xAA79).addRange(0xFD40, 0xFD4F).addRange(0xFDFD, 0xFDFF).addRange(0xFFED, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10137, 0x1013F).addRange(0x10179, 0x10189).addRange(0x1018C, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10877, 0x10878).addRange(0x11FD5, 0x11FDC).addRange(0x11FE1, 0x11FF1).addRange(0x16B3C, 0x16B3F).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16C).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D300, 0x1D356).addRange(0x1D800, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83);
|
|
set.addRange(0x1DA85, 0x1DA86).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F10D, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F3FA).addRange(0x1F400, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776).addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA);
|
|
Other_Symbol.characters = set;
|
|
return Other_Symbol;
|
|
}
|
|
|
|
var Other = {};
|
|
|
|
var hasRequiredOther;
|
|
function requireOther() {
|
|
if (hasRequiredOther) return Other;
|
|
hasRequiredOther = 1;
|
|
var set = regenerate$2.exports(0xAD, 0x38B, 0x38D, 0x3A2, 0x530, 0x590, 0x61C, 0x6DD, 0x83F, 0x85F, 0x8E2, 0x984, 0x9A9, 0x9B1, 0x9DE, 0xA04, 0xA29, 0xA31, 0xA34, 0xA37, 0xA3D, 0xA5D, 0xA84, 0xA8E, 0xA92, 0xAA9, 0xAB1, 0xAB4, 0xAC6, 0xACA, 0xB00, 0xB04, 0xB29, 0xB31, 0xB34, 0xB5E, 0xB84, 0xB91, 0xB9B, 0xB9D, 0xBC9, 0xC0D, 0xC11, 0xC29, 0xC45, 0xC49, 0xC57, 0xC8D, 0xC91, 0xCA9, 0xCB4, 0xCC5, 0xCC9, 0xCDF, 0xCF0, 0xD0D, 0xD11, 0xD45, 0xD49, 0xD80, 0xD84, 0xDB2, 0xDBC, 0xDD5, 0xDD7, 0xE83, 0xE85, 0xE8B, 0xEA4, 0xEA6, 0xEC5, 0xEC7, 0xECF, 0xF48, 0xF98, 0xFBD, 0xFCD, 0x10C6, 0x1249, 0x1257, 0x1259, 0x1289, 0x12B1, 0x12BF, 0x12C1, 0x12D7, 0x1311, 0x176D, 0x1771, 0x180E, 0x191F, 0x1A5F, 0x1B7F, 0x1F58, 0x1F5A, 0x1F5C, 0x1F5E, 0x1FB5, 0x1FC5, 0x1FDC, 0x1FF5, 0x1FFF, 0x208F, 0x2B96, 0x2D26, 0x2DA7, 0x2DAF, 0x2DB7, 0x2DBF, 0x2DC7, 0x2DCF, 0x2DD7, 0x2DDF, 0x2E9A, 0x3040, 0x3130, 0x318F, 0x321F, 0xA7D2, 0xA7D4, 0xA9CE, 0xA9FF, 0xAB27, 0xAB2F, 0xFB37, 0xFB3D, 0xFB3F, 0xFB42, 0xFB45, 0xFE53, 0xFE67, 0xFE75, 0xFFE7, 0x1000C, 0x10027, 0x1003B, 0x1003E, 0x1018F, 0x1039E, 0x1057B, 0x1058B, 0x10593, 0x10596, 0x105A2, 0x105B2, 0x105BA, 0x10786, 0x107B1, 0x10809, 0x10836, 0x10856, 0x108F3, 0x10A04, 0x10A14, 0x10A18, 0x10E7F, 0x10EAA, 0x110BD, 0x11135, 0x111E0, 0x11212, 0x11287, 0x11289, 0x1128E, 0x1129E, 0x11304, 0x11329, 0x11331, 0x11334, 0x1133A, 0x1145C, 0x11914, 0x11917, 0x11936, 0x11C09, 0x11C37, 0x11CA8, 0x11D07, 0x11D0A, 0x11D3B, 0x11D3E, 0x11D66, 0x11D69, 0x11D8F, 0x11D92, 0x11F11, 0x1246F, 0x16A5F, 0x16ABF, 0x16B5A, 0x16B62, 0x1AFF4, 0x1AFFC, 0x1AFFF, 0x1D455, 0x1D49D, 0x1D4AD, 0x1D4BA, 0x1D4BC, 0x1D4C4, 0x1D506, 0x1D515, 0x1D51D, 0x1D53A, 0x1D53F, 0x1D545, 0x1D551, 0x1DAA0, 0x1E007, 0x1E022, 0x1E025, 0x1E7E7, 0x1E7EC, 0x1E7EF, 0x1E7FF, 0x1EE04, 0x1EE20, 0x1EE23, 0x1EE28, 0x1EE33, 0x1EE38, 0x1EE3A, 0x1EE48, 0x1EE4A, 0x1EE4C, 0x1EE50, 0x1EE53, 0x1EE58, 0x1EE5A, 0x1EE5C, 0x1EE5E, 0x1EE60, 0x1EE63, 0x1EE6B, 0x1EE73, 0x1EE78, 0x1EE7D, 0x1EE7F, 0x1EE8A, 0x1EEA4, 0x1EEAA, 0x1F0C0, 0x1F0D0, 0x1FABE, 0x1FB93);
|
|
set.addRange(0x0, 0x1F).addRange(0x7F, 0x9F).addRange(0x378, 0x379).addRange(0x380, 0x383).addRange(0x557, 0x558).addRange(0x58B, 0x58C).addRange(0x5C8, 0x5CF).addRange(0x5EB, 0x5EE).addRange(0x5F5, 0x605).addRange(0x70E, 0x70F).addRange(0x74B, 0x74C).addRange(0x7B2, 0x7BF).addRange(0x7FB, 0x7FC).addRange(0x82E, 0x82F).addRange(0x85C, 0x85D).addRange(0x86B, 0x86F).addRange(0x88F, 0x897).addRange(0x98D, 0x98E).addRange(0x991, 0x992).addRange(0x9B3, 0x9B5).addRange(0x9BA, 0x9BB).addRange(0x9C5, 0x9C6).addRange(0x9C9, 0x9CA).addRange(0x9CF, 0x9D6).addRange(0x9D8, 0x9DB).addRange(0x9E4, 0x9E5).addRange(0x9FF, 0xA00).addRange(0xA0B, 0xA0E).addRange(0xA11, 0xA12).addRange(0xA3A, 0xA3B).addRange(0xA43, 0xA46).addRange(0xA49, 0xA4A).addRange(0xA4E, 0xA50).addRange(0xA52, 0xA58).addRange(0xA5F, 0xA65).addRange(0xA77, 0xA80).addRange(0xABA, 0xABB).addRange(0xACE, 0xACF).addRange(0xAD1, 0xADF).addRange(0xAE4, 0xAE5).addRange(0xAF2, 0xAF8).addRange(0xB0D, 0xB0E).addRange(0xB11, 0xB12).addRange(0xB3A, 0xB3B).addRange(0xB45, 0xB46).addRange(0xB49, 0xB4A).addRange(0xB4E, 0xB54).addRange(0xB58, 0xB5B).addRange(0xB64, 0xB65).addRange(0xB78, 0xB81).addRange(0xB8B, 0xB8D);
|
|
set.addRange(0xB96, 0xB98).addRange(0xBA0, 0xBA2).addRange(0xBA5, 0xBA7).addRange(0xBAB, 0xBAD).addRange(0xBBA, 0xBBD).addRange(0xBC3, 0xBC5).addRange(0xBCE, 0xBCF).addRange(0xBD1, 0xBD6).addRange(0xBD8, 0xBE5).addRange(0xBFB, 0xBFF).addRange(0xC3A, 0xC3B).addRange(0xC4E, 0xC54).addRange(0xC5B, 0xC5C).addRange(0xC5E, 0xC5F).addRange(0xC64, 0xC65).addRange(0xC70, 0xC76).addRange(0xCBA, 0xCBB).addRange(0xCCE, 0xCD4).addRange(0xCD7, 0xCDC).addRange(0xCE4, 0xCE5).addRange(0xCF4, 0xCFF).addRange(0xD50, 0xD53).addRange(0xD64, 0xD65).addRange(0xD97, 0xD99).addRange(0xDBE, 0xDBF).addRange(0xDC7, 0xDC9).addRange(0xDCB, 0xDCE).addRange(0xDE0, 0xDE5).addRange(0xDF0, 0xDF1).addRange(0xDF5, 0xE00).addRange(0xE3B, 0xE3E).addRange(0xE5C, 0xE80).addRange(0xEBE, 0xEBF).addRange(0xEDA, 0xEDB).addRange(0xEE0, 0xEFF).addRange(0xF6D, 0xF70).addRange(0xFDB, 0xFFF).addRange(0x10C8, 0x10CC).addRange(0x10CE, 0x10CF).addRange(0x124E, 0x124F).addRange(0x125E, 0x125F).addRange(0x128E, 0x128F).addRange(0x12B6, 0x12B7).addRange(0x12C6, 0x12C7).addRange(0x1316, 0x1317).addRange(0x135B, 0x135C).addRange(0x137D, 0x137F).addRange(0x139A, 0x139F).addRange(0x13F6, 0x13F7).addRange(0x13FE, 0x13FF).addRange(0x169D, 0x169F);
|
|
set.addRange(0x16F9, 0x16FF).addRange(0x1716, 0x171E).addRange(0x1737, 0x173F).addRange(0x1754, 0x175F).addRange(0x1774, 0x177F).addRange(0x17DE, 0x17DF).addRange(0x17EA, 0x17EF).addRange(0x17FA, 0x17FF).addRange(0x181A, 0x181F).addRange(0x1879, 0x187F).addRange(0x18AB, 0x18AF).addRange(0x18F6, 0x18FF).addRange(0x192C, 0x192F).addRange(0x193C, 0x193F).addRange(0x1941, 0x1943).addRange(0x196E, 0x196F).addRange(0x1975, 0x197F).addRange(0x19AC, 0x19AF).addRange(0x19CA, 0x19CF).addRange(0x19DB, 0x19DD).addRange(0x1A1C, 0x1A1D).addRange(0x1A7D, 0x1A7E).addRange(0x1A8A, 0x1A8F).addRange(0x1A9A, 0x1A9F).addRange(0x1AAE, 0x1AAF).addRange(0x1ACF, 0x1AFF).addRange(0x1B4D, 0x1B4F).addRange(0x1BF4, 0x1BFB).addRange(0x1C38, 0x1C3A).addRange(0x1C4A, 0x1C4C).addRange(0x1C89, 0x1C8F).addRange(0x1CBB, 0x1CBC).addRange(0x1CC8, 0x1CCF).addRange(0x1CFB, 0x1CFF).addRange(0x1F16, 0x1F17).addRange(0x1F1E, 0x1F1F).addRange(0x1F46, 0x1F47).addRange(0x1F4E, 0x1F4F).addRange(0x1F7E, 0x1F7F).addRange(0x1FD4, 0x1FD5).addRange(0x1FF0, 0x1FF1).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x206F).addRange(0x2072, 0x2073).addRange(0x209D, 0x209F).addRange(0x20C1, 0x20CF).addRange(0x20F1, 0x20FF).addRange(0x218C, 0x218F).addRange(0x2427, 0x243F).addRange(0x244B, 0x245F);
|
|
set.addRange(0x2B74, 0x2B75).addRange(0x2CF4, 0x2CF8).addRange(0x2D28, 0x2D2C).addRange(0x2D2E, 0x2D2F).addRange(0x2D68, 0x2D6E).addRange(0x2D71, 0x2D7E).addRange(0x2D97, 0x2D9F).addRange(0x2E5E, 0x2E7F).addRange(0x2EF4, 0x2EFF).addRange(0x2FD6, 0x2FEF).addRange(0x2FFC, 0x2FFF).addRange(0x3097, 0x3098).addRange(0x3100, 0x3104).addRange(0x31E4, 0x31EF).addRange(0xA48D, 0xA48F).addRange(0xA4C7, 0xA4CF).addRange(0xA62C, 0xA63F).addRange(0xA6F8, 0xA6FF).addRange(0xA7CB, 0xA7CF).addRange(0xA7DA, 0xA7F1).addRange(0xA82D, 0xA82F).addRange(0xA83A, 0xA83F).addRange(0xA878, 0xA87F).addRange(0xA8C6, 0xA8CD).addRange(0xA8DA, 0xA8DF).addRange(0xA954, 0xA95E).addRange(0xA97D, 0xA97F).addRange(0xA9DA, 0xA9DD).addRange(0xAA37, 0xAA3F).addRange(0xAA4E, 0xAA4F).addRange(0xAA5A, 0xAA5B).addRange(0xAAC3, 0xAADA).addRange(0xAAF7, 0xAB00).addRange(0xAB07, 0xAB08).addRange(0xAB0F, 0xAB10).addRange(0xAB17, 0xAB1F).addRange(0xAB6C, 0xAB6F).addRange(0xABEE, 0xABEF).addRange(0xABFA, 0xABFF).addRange(0xD7A4, 0xD7AF).addRange(0xD7C7, 0xD7CA).addRange(0xD7FC, 0xF8FF).addRange(0xFA6E, 0xFA6F).addRange(0xFADA, 0xFAFF).addRange(0xFB07, 0xFB12).addRange(0xFB18, 0xFB1C).addRange(0xFBC3, 0xFBD2).addRange(0xFD90, 0xFD91).addRange(0xFDC8, 0xFDCE).addRange(0xFDD0, 0xFDEF).addRange(0xFE1A, 0xFE1F);
|
|
set.addRange(0xFE6C, 0xFE6F).addRange(0xFEFD, 0xFF00).addRange(0xFFBF, 0xFFC1).addRange(0xFFC8, 0xFFC9).addRange(0xFFD0, 0xFFD1).addRange(0xFFD8, 0xFFD9).addRange(0xFFDD, 0xFFDF).addRange(0xFFEF, 0xFFFB).addRange(0xFFFE, 0xFFFF).addRange(0x1004E, 0x1004F).addRange(0x1005E, 0x1007F).addRange(0x100FB, 0x100FF).addRange(0x10103, 0x10106).addRange(0x10134, 0x10136).addRange(0x1019D, 0x1019F).addRange(0x101A1, 0x101CF).addRange(0x101FE, 0x1027F).addRange(0x1029D, 0x1029F).addRange(0x102D1, 0x102DF).addRange(0x102FC, 0x102FF).addRange(0x10324, 0x1032C).addRange(0x1034B, 0x1034F).addRange(0x1037B, 0x1037F).addRange(0x103C4, 0x103C7).addRange(0x103D6, 0x103FF).addRange(0x1049E, 0x1049F).addRange(0x104AA, 0x104AF).addRange(0x104D4, 0x104D7).addRange(0x104FC, 0x104FF).addRange(0x10528, 0x1052F).addRange(0x10564, 0x1056E).addRange(0x105BD, 0x105FF).addRange(0x10737, 0x1073F).addRange(0x10756, 0x1075F).addRange(0x10768, 0x1077F).addRange(0x107BB, 0x107FF).addRange(0x10806, 0x10807).addRange(0x10839, 0x1083B).addRange(0x1083D, 0x1083E).addRange(0x1089F, 0x108A6).addRange(0x108B0, 0x108DF).addRange(0x108F6, 0x108FA).addRange(0x1091C, 0x1091E).addRange(0x1093A, 0x1093E).addRange(0x10940, 0x1097F).addRange(0x109B8, 0x109BB).addRange(0x109D0, 0x109D1).addRange(0x10A07, 0x10A0B).addRange(0x10A36, 0x10A37).addRange(0x10A3B, 0x10A3E).addRange(0x10A49, 0x10A4F);
|
|
set.addRange(0x10A59, 0x10A5F).addRange(0x10AA0, 0x10ABF).addRange(0x10AE7, 0x10AEA).addRange(0x10AF7, 0x10AFF).addRange(0x10B36, 0x10B38).addRange(0x10B56, 0x10B57).addRange(0x10B73, 0x10B77).addRange(0x10B92, 0x10B98).addRange(0x10B9D, 0x10BA8).addRange(0x10BB0, 0x10BFF).addRange(0x10C49, 0x10C7F).addRange(0x10CB3, 0x10CBF).addRange(0x10CF3, 0x10CF9).addRange(0x10D28, 0x10D2F).addRange(0x10D3A, 0x10E5F).addRange(0x10EAE, 0x10EAF).addRange(0x10EB2, 0x10EFC).addRange(0x10F28, 0x10F2F).addRange(0x10F5A, 0x10F6F).addRange(0x10F8A, 0x10FAF).addRange(0x10FCC, 0x10FDF).addRange(0x10FF7, 0x10FFF).addRange(0x1104E, 0x11051).addRange(0x11076, 0x1107E).addRange(0x110C3, 0x110CF).addRange(0x110E9, 0x110EF).addRange(0x110FA, 0x110FF).addRange(0x11148, 0x1114F).addRange(0x11177, 0x1117F).addRange(0x111F5, 0x111FF).addRange(0x11242, 0x1127F).addRange(0x112AA, 0x112AF).addRange(0x112EB, 0x112EF).addRange(0x112FA, 0x112FF).addRange(0x1130D, 0x1130E).addRange(0x11311, 0x11312).addRange(0x11345, 0x11346).addRange(0x11349, 0x1134A).addRange(0x1134E, 0x1134F).addRange(0x11351, 0x11356).addRange(0x11358, 0x1135C).addRange(0x11364, 0x11365).addRange(0x1136D, 0x1136F).addRange(0x11375, 0x113FF).addRange(0x11462, 0x1147F).addRange(0x114C8, 0x114CF).addRange(0x114DA, 0x1157F).addRange(0x115B6, 0x115B7).addRange(0x115DE, 0x115FF).addRange(0x11645, 0x1164F).addRange(0x1165A, 0x1165F);
|
|
set.addRange(0x1166D, 0x1167F).addRange(0x116BA, 0x116BF).addRange(0x116CA, 0x116FF).addRange(0x1171B, 0x1171C).addRange(0x1172C, 0x1172F).addRange(0x11747, 0x117FF).addRange(0x1183C, 0x1189F).addRange(0x118F3, 0x118FE).addRange(0x11907, 0x11908).addRange(0x1190A, 0x1190B).addRange(0x11939, 0x1193A).addRange(0x11947, 0x1194F).addRange(0x1195A, 0x1199F).addRange(0x119A8, 0x119A9).addRange(0x119D8, 0x119D9).addRange(0x119E5, 0x119FF).addRange(0x11A48, 0x11A4F).addRange(0x11AA3, 0x11AAF).addRange(0x11AF9, 0x11AFF).addRange(0x11B0A, 0x11BFF).addRange(0x11C46, 0x11C4F).addRange(0x11C6D, 0x11C6F).addRange(0x11C90, 0x11C91).addRange(0x11CB7, 0x11CFF).addRange(0x11D37, 0x11D39).addRange(0x11D48, 0x11D4F).addRange(0x11D5A, 0x11D5F).addRange(0x11D99, 0x11D9F).addRange(0x11DAA, 0x11EDF).addRange(0x11EF9, 0x11EFF).addRange(0x11F3B, 0x11F3D).addRange(0x11F5A, 0x11FAF).addRange(0x11FB1, 0x11FBF).addRange(0x11FF2, 0x11FFE).addRange(0x1239A, 0x123FF).addRange(0x12475, 0x1247F).addRange(0x12544, 0x12F8F).addRange(0x12FF3, 0x12FFF).addRange(0x13430, 0x1343F).addRange(0x13456, 0x143FF).addRange(0x14647, 0x167FF).addRange(0x16A39, 0x16A3F).addRange(0x16A6A, 0x16A6D).addRange(0x16ACA, 0x16ACF).addRange(0x16AEE, 0x16AEF).addRange(0x16AF6, 0x16AFF).addRange(0x16B46, 0x16B4F).addRange(0x16B78, 0x16B7C).addRange(0x16B90, 0x16E3F).addRange(0x16E9B, 0x16EFF).addRange(0x16F4B, 0x16F4E);
|
|
set.addRange(0x16F88, 0x16F8E).addRange(0x16FA0, 0x16FDF).addRange(0x16FE5, 0x16FEF).addRange(0x16FF2, 0x16FFF).addRange(0x187F8, 0x187FF).addRange(0x18CD6, 0x18CFF).addRange(0x18D09, 0x1AFEF).addRange(0x1B123, 0x1B131).addRange(0x1B133, 0x1B14F).addRange(0x1B153, 0x1B154).addRange(0x1B156, 0x1B163).addRange(0x1B168, 0x1B16F).addRange(0x1B2FC, 0x1BBFF).addRange(0x1BC6B, 0x1BC6F).addRange(0x1BC7D, 0x1BC7F).addRange(0x1BC89, 0x1BC8F).addRange(0x1BC9A, 0x1BC9B).addRange(0x1BCA0, 0x1CEFF).addRange(0x1CF2E, 0x1CF2F).addRange(0x1CF47, 0x1CF4F).addRange(0x1CFC4, 0x1CFFF).addRange(0x1D0F6, 0x1D0FF).addRange(0x1D127, 0x1D128).addRange(0x1D173, 0x1D17A).addRange(0x1D1EB, 0x1D1FF).addRange(0x1D246, 0x1D2BF).addRange(0x1D2D4, 0x1D2DF).addRange(0x1D2F4, 0x1D2FF).addRange(0x1D357, 0x1D35F).addRange(0x1D379, 0x1D3FF).addRange(0x1D4A0, 0x1D4A1).addRange(0x1D4A3, 0x1D4A4).addRange(0x1D4A7, 0x1D4A8).addRange(0x1D50B, 0x1D50C).addRange(0x1D547, 0x1D549).addRange(0x1D6A6, 0x1D6A7).addRange(0x1D7CC, 0x1D7CD).addRange(0x1DA8C, 0x1DA9A).addRange(0x1DAB0, 0x1DEFF).addRange(0x1DF1F, 0x1DF24).addRange(0x1DF2B, 0x1DFFF).addRange(0x1E019, 0x1E01A).addRange(0x1E02B, 0x1E02F).addRange(0x1E06E, 0x1E08E).addRange(0x1E090, 0x1E0FF).addRange(0x1E12D, 0x1E12F).addRange(0x1E13E, 0x1E13F).addRange(0x1E14A, 0x1E14D).addRange(0x1E150, 0x1E28F).addRange(0x1E2AF, 0x1E2BF).addRange(0x1E2FA, 0x1E2FE);
|
|
set.addRange(0x1E300, 0x1E4CF).addRange(0x1E4FA, 0x1E7DF).addRange(0x1E8C5, 0x1E8C6).addRange(0x1E8D7, 0x1E8FF).addRange(0x1E94C, 0x1E94F).addRange(0x1E95A, 0x1E95D).addRange(0x1E960, 0x1EC70).addRange(0x1ECB5, 0x1ED00).addRange(0x1ED3E, 0x1EDFF).addRange(0x1EE25, 0x1EE26).addRange(0x1EE3C, 0x1EE41).addRange(0x1EE43, 0x1EE46).addRange(0x1EE55, 0x1EE56).addRange(0x1EE65, 0x1EE66).addRange(0x1EE9C, 0x1EEA0).addRange(0x1EEBC, 0x1EEEF).addRange(0x1EEF2, 0x1EFFF).addRange(0x1F02C, 0x1F02F).addRange(0x1F094, 0x1F09F).addRange(0x1F0AF, 0x1F0B0).addRange(0x1F0F6, 0x1F0FF).addRange(0x1F1AE, 0x1F1E5).addRange(0x1F203, 0x1F20F).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F24F).addRange(0x1F252, 0x1F25F).addRange(0x1F266, 0x1F2FF).addRange(0x1F6D8, 0x1F6DB).addRange(0x1F6ED, 0x1F6EF).addRange(0x1F6FD, 0x1F6FF).addRange(0x1F777, 0x1F77A).addRange(0x1F7DA, 0x1F7DF).addRange(0x1F7EC, 0x1F7EF).addRange(0x1F7F1, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8AF).addRange(0x1F8B2, 0x1F8FF).addRange(0x1FA54, 0x1FA5F).addRange(0x1FA6E, 0x1FA6F).addRange(0x1FA7D, 0x1FA7F).addRange(0x1FA89, 0x1FA8F).addRange(0x1FAC6, 0x1FACD).addRange(0x1FADC, 0x1FADF).addRange(0x1FAE9, 0x1FAEF).addRange(0x1FAF9, 0x1FAFF).addRange(0x1FBCB, 0x1FBEF).addRange(0x1FBFA, 0x1FFFF).addRange(0x2A6E0, 0x2A6FF);
|
|
set.addRange(0x2B73A, 0x2B73F).addRange(0x2B81E, 0x2B81F).addRange(0x2CEA2, 0x2CEAF).addRange(0x2EBE1, 0x2F7FF).addRange(0x2FA1E, 0x2FFFF).addRange(0x3134B, 0x3134F).addRange(0x323B0, 0xE00FF).addRange(0xE01F0, 0x10FFFF);
|
|
Other.characters = set;
|
|
return Other;
|
|
}
|
|
|
|
var Paragraph_Separator = {};
|
|
|
|
var hasRequiredParagraph_Separator;
|
|
function requireParagraph_Separator() {
|
|
if (hasRequiredParagraph_Separator) return Paragraph_Separator;
|
|
hasRequiredParagraph_Separator = 1;
|
|
var set = regenerate$2.exports(0x2029);
|
|
Paragraph_Separator.characters = set;
|
|
return Paragraph_Separator;
|
|
}
|
|
|
|
var Private_Use = {};
|
|
|
|
var hasRequiredPrivate_Use;
|
|
function requirePrivate_Use() {
|
|
if (hasRequiredPrivate_Use) return Private_Use;
|
|
hasRequiredPrivate_Use = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xE000, 0xF8FF).addRange(0xF0000, 0xFFFFD).addRange(0x100000, 0x10FFFD);
|
|
Private_Use.characters = set;
|
|
return Private_Use;
|
|
}
|
|
|
|
var Punctuation = {};
|
|
|
|
var hasRequiredPunctuation;
|
|
function requirePunctuation() {
|
|
if (hasRequiredPunctuation) return Punctuation;
|
|
hasRequiredPunctuation = 1;
|
|
var set = regenerate$2.exports(0x5F, 0x7B, 0x7D, 0xA1, 0xA7, 0xAB, 0xBB, 0xBF, 0x37E, 0x387, 0x5BE, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6D4, 0x85E, 0x970, 0x9FD, 0xA76, 0xAF0, 0xC77, 0xC84, 0xDF4, 0xE4F, 0xF14, 0xF85, 0x10FB, 0x1400, 0x166E, 0x1CD3, 0x2D70, 0x3030, 0x303D, 0x30A0, 0x30FB, 0xA673, 0xA67E, 0xA8FC, 0xA95F, 0xABEB, 0xFE63, 0xFE68, 0xFF3F, 0xFF5B, 0xFF5D, 0x1039F, 0x103D0, 0x1056F, 0x10857, 0x1091F, 0x1093F, 0x10A7F, 0x10EAD, 0x111CD, 0x111DB, 0x112A9, 0x1145D, 0x114C6, 0x116B9, 0x1183B, 0x119E2, 0x11FFF, 0x16AF5, 0x16B44, 0x16FE2, 0x1BC9F);
|
|
set.addRange(0x21, 0x23).addRange(0x25, 0x2A).addRange(0x2C, 0x2F).addRange(0x3A, 0x3B).addRange(0x3F, 0x40).addRange(0x5B, 0x5D).addRange(0xB6, 0xB7).addRange(0x55A, 0x55F).addRange(0x589, 0x58A).addRange(0x5F3, 0x5F4).addRange(0x609, 0x60A).addRange(0x60C, 0x60D).addRange(0x61D, 0x61F).addRange(0x66A, 0x66D).addRange(0x700, 0x70D).addRange(0x7F7, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF04, 0xF12).addRange(0xF3A, 0xF3D).addRange(0xFD0, 0xFD4).addRange(0xFD9, 0xFDA).addRange(0x104A, 0x104F).addRange(0x1360, 0x1368).addRange(0x169B, 0x169C).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x17D8, 0x17DA).addRange(0x1800, 0x180A).addRange(0x1944, 0x1945).addRange(0x1A1E, 0x1A1F).addRange(0x1AA0, 0x1AA6).addRange(0x1AA8, 0x1AAD).addRange(0x1B5A, 0x1B60).addRange(0x1B7D, 0x1B7E).addRange(0x1BFC, 0x1BFF).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x1CC0, 0x1CC7).addRange(0x2010, 0x2027).addRange(0x2030, 0x2043).addRange(0x2045, 0x2051).addRange(0x2053, 0x205E).addRange(0x207D, 0x207E).addRange(0x208D, 0x208E).addRange(0x2308, 0x230B).addRange(0x2329, 0x232A).addRange(0x2768, 0x2775).addRange(0x27C5, 0x27C6);
|
|
set.addRange(0x27E6, 0x27EF).addRange(0x2983, 0x2998).addRange(0x29D8, 0x29DB).addRange(0x29FC, 0x29FD).addRange(0x2CF9, 0x2CFC).addRange(0x2CFE, 0x2CFF).addRange(0x2E00, 0x2E2E).addRange(0x2E30, 0x2E4F).addRange(0x2E52, 0x2E5D).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3014, 0x301F).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F2, 0xA6F7).addRange(0xA874, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA8F8, 0xA8FA).addRange(0xA92E, 0xA92F).addRange(0xA9C1, 0xA9CD).addRange(0xA9DE, 0xA9DF).addRange(0xAA5C, 0xAA5F).addRange(0xAADE, 0xAADF).addRange(0xAAF0, 0xAAF1).addRange(0xFD3E, 0xFD3F).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE61).addRange(0xFE6A, 0xFE6B).addRange(0xFF01, 0xFF03).addRange(0xFF05, 0xFF0A).addRange(0xFF0C, 0xFF0F).addRange(0xFF1A, 0xFF1B).addRange(0xFF1F, 0xFF20).addRange(0xFF3B, 0xFF3D).addRange(0xFF5F, 0xFF65).addRange(0x10100, 0x10102).addRange(0x10A50, 0x10A58).addRange(0x10AF0, 0x10AF6).addRange(0x10B39, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x11140, 0x11143).addRange(0x11174, 0x11175).addRange(0x111C5, 0x111C8).addRange(0x111DD, 0x111DF).addRange(0x11238, 0x1123D);
|
|
set.addRange(0x1144B, 0x1144F).addRange(0x1145A, 0x1145B).addRange(0x115C1, 0x115D7).addRange(0x11641, 0x11643).addRange(0x11660, 0x1166C).addRange(0x1173C, 0x1173E).addRange(0x11944, 0x11946).addRange(0x11A3F, 0x11A46).addRange(0x11A9A, 0x11A9C).addRange(0x11A9E, 0x11AA2).addRange(0x11B00, 0x11B09).addRange(0x11C41, 0x11C45).addRange(0x11C70, 0x11C71).addRange(0x11EF7, 0x11EF8).addRange(0x11F43, 0x11F4F).addRange(0x12470, 0x12474).addRange(0x12FF1, 0x12FF2).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B3B).addRange(0x16E97, 0x16E9A).addRange(0x1DA87, 0x1DA8B).addRange(0x1E95E, 0x1E95F);
|
|
Punctuation.characters = set;
|
|
return Punctuation;
|
|
}
|
|
|
|
var Separator = {};
|
|
|
|
var hasRequiredSeparator;
|
|
function requireSeparator() {
|
|
if (hasRequiredSeparator) return Separator;
|
|
hasRequiredSeparator = 1;
|
|
var set = regenerate$2.exports(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);
|
|
set.addRange(0x2000, 0x200A).addRange(0x2028, 0x2029);
|
|
Separator.characters = set;
|
|
return Separator;
|
|
}
|
|
|
|
var Space_Separator = {};
|
|
|
|
var hasRequiredSpace_Separator;
|
|
function requireSpace_Separator() {
|
|
if (hasRequiredSpace_Separator) return Space_Separator;
|
|
hasRequiredSpace_Separator = 1;
|
|
var set = regenerate$2.exports(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);
|
|
set.addRange(0x2000, 0x200A);
|
|
Space_Separator.characters = set;
|
|
return Space_Separator;
|
|
}
|
|
|
|
var Spacing_Mark = {};
|
|
|
|
var hasRequiredSpacing_Mark;
|
|
function requireSpacing_Mark() {
|
|
if (hasRequiredSpacing_Mark) return Spacing_Mark;
|
|
hasRequiredSpacing_Mark = 1;
|
|
var set = regenerate$2.exports(0x903, 0x93B, 0x9D7, 0xA03, 0xA83, 0xAC9, 0xB3E, 0xB40, 0xB57, 0xBD7, 0xCBE, 0xCF3, 0xD57, 0xF7F, 0x1031, 0x1038, 0x108F, 0x1715, 0x1734, 0x17B6, 0x1A55, 0x1A57, 0x1A61, 0x1B04, 0x1B35, 0x1B3B, 0x1B82, 0x1BA1, 0x1BAA, 0x1BE7, 0x1BEE, 0x1CE1, 0x1CF7, 0xA827, 0xA983, 0xAA4D, 0xAA7B, 0xAA7D, 0xAAEB, 0xAAF5, 0xABEC, 0x11000, 0x11002, 0x11082, 0x1112C, 0x11182, 0x111CE, 0x11235, 0x11357, 0x11445, 0x114B9, 0x114C1, 0x115BE, 0x1163E, 0x116AC, 0x116B6, 0x11726, 0x11838, 0x1193D, 0x11940, 0x11942, 0x119E4, 0x11A39, 0x11A97, 0x11C2F, 0x11C3E, 0x11CA9, 0x11CB1, 0x11CB4, 0x11D96, 0x11F03, 0x11F41);
|
|
set.addRange(0x93E, 0x940).addRange(0x949, 0x94C).addRange(0x94E, 0x94F).addRange(0x982, 0x983).addRange(0x9BE, 0x9C0).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0xA3E, 0xA40).addRange(0xABE, 0xAC0).addRange(0xACB, 0xACC).addRange(0xB02, 0xB03).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xBBE, 0xBBF).addRange(0xBC1, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xC01, 0xC03).addRange(0xC41, 0xC44).addRange(0xC82, 0xC83).addRange(0xCC0, 0xCC4).addRange(0xCC7, 0xCC8).addRange(0xCCA, 0xCCB).addRange(0xCD5, 0xCD6).addRange(0xD02, 0xD03).addRange(0xD3E, 0xD40).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD82, 0xD83).addRange(0xDCF, 0xDD1).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xF3E, 0xF3F).addRange(0x102B, 0x102C).addRange(0x103B, 0x103C).addRange(0x1056, 0x1057).addRange(0x1062, 0x1064).addRange(0x1067, 0x106D).addRange(0x1083, 0x1084).addRange(0x1087, 0x108C).addRange(0x109A, 0x109C).addRange(0x17BE, 0x17C5).addRange(0x17C7, 0x17C8).addRange(0x1923, 0x1926).addRange(0x1929, 0x192B).addRange(0x1930, 0x1931).addRange(0x1933, 0x1938).addRange(0x1A19, 0x1A1A).addRange(0x1A63, 0x1A64).addRange(0x1A6D, 0x1A72).addRange(0x1B3D, 0x1B41);
|
|
set.addRange(0x1B43, 0x1B44).addRange(0x1BA6, 0x1BA7).addRange(0x1BEA, 0x1BEC).addRange(0x1BF2, 0x1BF3).addRange(0x1C24, 0x1C2B).addRange(0x1C34, 0x1C35).addRange(0x302E, 0x302F).addRange(0xA823, 0xA824).addRange(0xA880, 0xA881).addRange(0xA8B4, 0xA8C3).addRange(0xA952, 0xA953).addRange(0xA9B4, 0xA9B5).addRange(0xA9BA, 0xA9BB).addRange(0xA9BE, 0xA9C0).addRange(0xAA2F, 0xAA30).addRange(0xAA33, 0xAA34).addRange(0xAAEE, 0xAAEF).addRange(0xABE3, 0xABE4).addRange(0xABE6, 0xABE7).addRange(0xABE9, 0xABEA).addRange(0x110B0, 0x110B2).addRange(0x110B7, 0x110B8).addRange(0x11145, 0x11146).addRange(0x111B3, 0x111B5).addRange(0x111BF, 0x111C0).addRange(0x1122C, 0x1122E).addRange(0x11232, 0x11233).addRange(0x112E0, 0x112E2).addRange(0x11302, 0x11303).addRange(0x1133E, 0x1133F).addRange(0x11341, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x11362, 0x11363).addRange(0x11435, 0x11437).addRange(0x11440, 0x11441).addRange(0x114B0, 0x114B2).addRange(0x114BB, 0x114BE).addRange(0x115AF, 0x115B1).addRange(0x115B8, 0x115BB).addRange(0x11630, 0x11632).addRange(0x1163B, 0x1163C).addRange(0x116AE, 0x116AF).addRange(0x11720, 0x11721).addRange(0x1182C, 0x1182E).addRange(0x11930, 0x11935).addRange(0x11937, 0x11938).addRange(0x119D1, 0x119D3).addRange(0x119DC, 0x119DF).addRange(0x11A57, 0x11A58).addRange(0x11D8A, 0x11D8E);
|
|
set.addRange(0x11D93, 0x11D94).addRange(0x11EF5, 0x11EF6).addRange(0x11F34, 0x11F35).addRange(0x11F3E, 0x11F3F).addRange(0x16F51, 0x16F87).addRange(0x16FF0, 0x16FF1).addRange(0x1D165, 0x1D166).addRange(0x1D16D, 0x1D172);
|
|
Spacing_Mark.characters = set;
|
|
return Spacing_Mark;
|
|
}
|
|
|
|
var Surrogate = {};
|
|
|
|
var hasRequiredSurrogate;
|
|
function requireSurrogate() {
|
|
if (hasRequiredSurrogate) return Surrogate;
|
|
hasRequiredSurrogate = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xD800, 0xDFFF);
|
|
Surrogate.characters = set;
|
|
return Surrogate;
|
|
}
|
|
|
|
var _Symbol = {};
|
|
|
|
var hasRequired_Symbol;
|
|
function require_Symbol() {
|
|
if (hasRequired_Symbol) return _Symbol;
|
|
hasRequired_Symbol = 1;
|
|
var set = regenerate$2.exports(0x24, 0x2B, 0x5E, 0x60, 0x7C, 0x7E, 0xAC, 0xB4, 0xB8, 0xD7, 0xF7, 0x2ED, 0x375, 0x3F6, 0x482, 0x60B, 0x6DE, 0x6E9, 0x7F6, 0x888, 0xAF1, 0xB70, 0xC7F, 0xD4F, 0xD79, 0xE3F, 0xF13, 0xF34, 0xF36, 0xF38, 0x166D, 0x17DB, 0x1940, 0x1FBD, 0x2044, 0x2052, 0x2114, 0x2125, 0x2127, 0x2129, 0x212E, 0x214F, 0x3004, 0x3020, 0x3250, 0xAB5B, 0xFB29, 0xFDCF, 0xFE62, 0xFE69, 0xFF04, 0xFF0B, 0xFF3E, 0xFF40, 0xFF5C, 0xFF5E, 0x101A0, 0x10AC8, 0x1173F, 0x16B45, 0x1BC9C, 0x1D245, 0x1D6C1, 0x1D6DB, 0x1D6FB, 0x1D715, 0x1D735, 0x1D74F, 0x1D76F, 0x1D789, 0x1D7A9, 0x1D7C3, 0x1E14F, 0x1E2FF, 0x1ECAC, 0x1ECB0, 0x1ED2E, 0x1F7F0);
|
|
set.addRange(0x3C, 0x3E).addRange(0xA2, 0xA6).addRange(0xA8, 0xA9).addRange(0xAE, 0xB1).addRange(0x2C2, 0x2C5).addRange(0x2D2, 0x2DF).addRange(0x2E5, 0x2EB).addRange(0x2EF, 0x2FF).addRange(0x384, 0x385).addRange(0x58D, 0x58F).addRange(0x606, 0x608).addRange(0x60E, 0x60F).addRange(0x6FD, 0x6FE).addRange(0x7FE, 0x7FF).addRange(0x9F2, 0x9F3).addRange(0x9FA, 0x9FB).addRange(0xBF3, 0xBFA).addRange(0xF01, 0xF03).addRange(0xF15, 0xF17).addRange(0xF1A, 0xF1F).addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFCF).addRange(0xFD5, 0xFD8).addRange(0x109E, 0x109F).addRange(0x1390, 0x1399).addRange(0x19DE, 0x19FF).addRange(0x1B61, 0x1B6A).addRange(0x1B74, 0x1B7C).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x207A, 0x207C).addRange(0x208A, 0x208C).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2101).addRange(0x2103, 0x2106).addRange(0x2108, 0x2109).addRange(0x2116, 0x2118).addRange(0x211E, 0x2123).addRange(0x213A, 0x213B).addRange(0x2140, 0x2144).addRange(0x214A, 0x214D).addRange(0x218A, 0x218B).addRange(0x2190, 0x2307).addRange(0x230C, 0x2328).addRange(0x232B, 0x2426).addRange(0x2440, 0x244A).addRange(0x249C, 0x24E9);
|
|
set.addRange(0x2500, 0x2767).addRange(0x2794, 0x27C4).addRange(0x27C7, 0x27E5).addRange(0x27F0, 0x2982).addRange(0x2999, 0x29D7).addRange(0x29DC, 0x29FB).addRange(0x29FE, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2CE5, 0x2CEA).addRange(0x2E50, 0x2E51).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3012, 0x3013).addRange(0x3036, 0x3037).addRange(0x303E, 0x303F).addRange(0x309B, 0x309C).addRange(0x3190, 0x3191).addRange(0x3196, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3200, 0x321E).addRange(0x322A, 0x3247).addRange(0x3260, 0x327F).addRange(0x328A, 0x32B0).addRange(0x32C0, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA490, 0xA4C6).addRange(0xA700, 0xA716).addRange(0xA720, 0xA721).addRange(0xA789, 0xA78A).addRange(0xA828, 0xA82B).addRange(0xA836, 0xA839).addRange(0xAA77, 0xAA79).addRange(0xAB6A, 0xAB6B).addRange(0xFBB2, 0xFBC2).addRange(0xFD40, 0xFD4F).addRange(0xFDFC, 0xFDFF).addRange(0xFE64, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10137, 0x1013F).addRange(0x10179, 0x10189).addRange(0x1018C, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10877, 0x10878).addRange(0x11FD5, 0x11FF1);
|
|
set.addRange(0x16B3C, 0x16B3F).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16C).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D300, 0x1D356).addRange(0x1D800, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83).addRange(0x1DA85, 0x1DA86).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F10D, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776).addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92);
|
|
set.addRange(0x1FB94, 0x1FBCA);
|
|
_Symbol.characters = set;
|
|
return _Symbol;
|
|
}
|
|
|
|
var Titlecase_Letter = {};
|
|
|
|
var hasRequiredTitlecase_Letter;
|
|
function requireTitlecase_Letter() {
|
|
if (hasRequiredTitlecase_Letter) return Titlecase_Letter;
|
|
hasRequiredTitlecase_Letter = 1;
|
|
var set = regenerate$2.exports(0x1C5, 0x1C8, 0x1CB, 0x1F2, 0x1FBC, 0x1FCC, 0x1FFC);
|
|
set.addRange(0x1F88, 0x1F8F).addRange(0x1F98, 0x1F9F).addRange(0x1FA8, 0x1FAF);
|
|
Titlecase_Letter.characters = set;
|
|
return Titlecase_Letter;
|
|
}
|
|
|
|
var Unassigned = {};
|
|
|
|
var hasRequiredUnassigned;
|
|
function requireUnassigned() {
|
|
if (hasRequiredUnassigned) return Unassigned;
|
|
hasRequiredUnassigned = 1;
|
|
var set = regenerate$2.exports(0x38B, 0x38D, 0x3A2, 0x530, 0x590, 0x70E, 0x83F, 0x85F, 0x88F, 0x984, 0x9A9, 0x9B1, 0x9DE, 0xA04, 0xA29, 0xA31, 0xA34, 0xA37, 0xA3D, 0xA5D, 0xA84, 0xA8E, 0xA92, 0xAA9, 0xAB1, 0xAB4, 0xAC6, 0xACA, 0xB00, 0xB04, 0xB29, 0xB31, 0xB34, 0xB5E, 0xB84, 0xB91, 0xB9B, 0xB9D, 0xBC9, 0xC0D, 0xC11, 0xC29, 0xC45, 0xC49, 0xC57, 0xC8D, 0xC91, 0xCA9, 0xCB4, 0xCC5, 0xCC9, 0xCDF, 0xCF0, 0xD0D, 0xD11, 0xD45, 0xD49, 0xD80, 0xD84, 0xDB2, 0xDBC, 0xDD5, 0xDD7, 0xE83, 0xE85, 0xE8B, 0xEA4, 0xEA6, 0xEC5, 0xEC7, 0xECF, 0xF48, 0xF98, 0xFBD, 0xFCD, 0x10C6, 0x1249, 0x1257, 0x1259, 0x1289, 0x12B1, 0x12BF, 0x12C1, 0x12D7, 0x1311, 0x176D, 0x1771, 0x191F, 0x1A5F, 0x1B7F, 0x1F58, 0x1F5A, 0x1F5C, 0x1F5E, 0x1FB5, 0x1FC5, 0x1FDC, 0x1FF5, 0x1FFF, 0x2065, 0x208F, 0x2B96, 0x2D26, 0x2DA7, 0x2DAF, 0x2DB7, 0x2DBF, 0x2DC7, 0x2DCF, 0x2DD7, 0x2DDF, 0x2E9A, 0x3040, 0x3130, 0x318F, 0x321F, 0xA7D2, 0xA7D4, 0xA9CE, 0xA9FF, 0xAB27, 0xAB2F, 0xFB37, 0xFB3D, 0xFB3F, 0xFB42, 0xFB45, 0xFE53, 0xFE67, 0xFE75, 0xFF00, 0xFFE7, 0x1000C, 0x10027, 0x1003B, 0x1003E, 0x1018F, 0x1039E, 0x1057B, 0x1058B, 0x10593, 0x10596, 0x105A2, 0x105B2, 0x105BA, 0x10786, 0x107B1, 0x10809, 0x10836, 0x10856, 0x108F3, 0x10A04, 0x10A14, 0x10A18, 0x10E7F, 0x10EAA, 0x11135, 0x111E0, 0x11212, 0x11287, 0x11289, 0x1128E, 0x1129E, 0x11304, 0x11329, 0x11331, 0x11334, 0x1133A, 0x1145C, 0x11914, 0x11917, 0x11936, 0x11C09, 0x11C37, 0x11CA8, 0x11D07, 0x11D0A, 0x11D3B, 0x11D3E, 0x11D66, 0x11D69, 0x11D8F, 0x11D92, 0x11F11, 0x1246F, 0x16A5F, 0x16ABF, 0x16B5A, 0x16B62, 0x1AFF4, 0x1AFFC, 0x1AFFF, 0x1D455, 0x1D49D, 0x1D4AD, 0x1D4BA, 0x1D4BC, 0x1D4C4, 0x1D506, 0x1D515, 0x1D51D, 0x1D53A, 0x1D53F, 0x1D545, 0x1D551, 0x1DAA0, 0x1E007, 0x1E022, 0x1E025, 0x1E7E7, 0x1E7EC, 0x1E7EF, 0x1E7FF, 0x1EE04, 0x1EE20, 0x1EE23, 0x1EE28, 0x1EE33, 0x1EE38, 0x1EE3A, 0x1EE48, 0x1EE4A, 0x1EE4C, 0x1EE50, 0x1EE53, 0x1EE58, 0x1EE5A, 0x1EE5C, 0x1EE5E, 0x1EE60, 0x1EE63, 0x1EE6B, 0x1EE73, 0x1EE78, 0x1EE7D, 0x1EE7F, 0x1EE8A, 0x1EEA4, 0x1EEAA, 0x1F0C0, 0x1F0D0, 0x1FABE, 0x1FB93);
|
|
set.addRange(0x378, 0x379).addRange(0x380, 0x383).addRange(0x557, 0x558).addRange(0x58B, 0x58C).addRange(0x5C8, 0x5CF).addRange(0x5EB, 0x5EE).addRange(0x5F5, 0x5FF).addRange(0x74B, 0x74C).addRange(0x7B2, 0x7BF).addRange(0x7FB, 0x7FC).addRange(0x82E, 0x82F).addRange(0x85C, 0x85D).addRange(0x86B, 0x86F).addRange(0x892, 0x897).addRange(0x98D, 0x98E).addRange(0x991, 0x992).addRange(0x9B3, 0x9B5).addRange(0x9BA, 0x9BB).addRange(0x9C5, 0x9C6).addRange(0x9C9, 0x9CA).addRange(0x9CF, 0x9D6).addRange(0x9D8, 0x9DB).addRange(0x9E4, 0x9E5).addRange(0x9FF, 0xA00).addRange(0xA0B, 0xA0E).addRange(0xA11, 0xA12).addRange(0xA3A, 0xA3B).addRange(0xA43, 0xA46).addRange(0xA49, 0xA4A).addRange(0xA4E, 0xA50).addRange(0xA52, 0xA58).addRange(0xA5F, 0xA65).addRange(0xA77, 0xA80).addRange(0xABA, 0xABB).addRange(0xACE, 0xACF).addRange(0xAD1, 0xADF).addRange(0xAE4, 0xAE5).addRange(0xAF2, 0xAF8).addRange(0xB0D, 0xB0E).addRange(0xB11, 0xB12).addRange(0xB3A, 0xB3B).addRange(0xB45, 0xB46).addRange(0xB49, 0xB4A).addRange(0xB4E, 0xB54).addRange(0xB58, 0xB5B).addRange(0xB64, 0xB65).addRange(0xB78, 0xB81).addRange(0xB8B, 0xB8D).addRange(0xB96, 0xB98).addRange(0xBA0, 0xBA2).addRange(0xBA5, 0xBA7);
|
|
set.addRange(0xBAB, 0xBAD).addRange(0xBBA, 0xBBD).addRange(0xBC3, 0xBC5).addRange(0xBCE, 0xBCF).addRange(0xBD1, 0xBD6).addRange(0xBD8, 0xBE5).addRange(0xBFB, 0xBFF).addRange(0xC3A, 0xC3B).addRange(0xC4E, 0xC54).addRange(0xC5B, 0xC5C).addRange(0xC5E, 0xC5F).addRange(0xC64, 0xC65).addRange(0xC70, 0xC76).addRange(0xCBA, 0xCBB).addRange(0xCCE, 0xCD4).addRange(0xCD7, 0xCDC).addRange(0xCE4, 0xCE5).addRange(0xCF4, 0xCFF).addRange(0xD50, 0xD53).addRange(0xD64, 0xD65).addRange(0xD97, 0xD99).addRange(0xDBE, 0xDBF).addRange(0xDC7, 0xDC9).addRange(0xDCB, 0xDCE).addRange(0xDE0, 0xDE5).addRange(0xDF0, 0xDF1).addRange(0xDF5, 0xE00).addRange(0xE3B, 0xE3E).addRange(0xE5C, 0xE80).addRange(0xEBE, 0xEBF).addRange(0xEDA, 0xEDB).addRange(0xEE0, 0xEFF).addRange(0xF6D, 0xF70).addRange(0xFDB, 0xFFF).addRange(0x10C8, 0x10CC).addRange(0x10CE, 0x10CF).addRange(0x124E, 0x124F).addRange(0x125E, 0x125F).addRange(0x128E, 0x128F).addRange(0x12B6, 0x12B7).addRange(0x12C6, 0x12C7).addRange(0x1316, 0x1317).addRange(0x135B, 0x135C).addRange(0x137D, 0x137F).addRange(0x139A, 0x139F).addRange(0x13F6, 0x13F7).addRange(0x13FE, 0x13FF).addRange(0x169D, 0x169F).addRange(0x16F9, 0x16FF).addRange(0x1716, 0x171E).addRange(0x1737, 0x173F);
|
|
set.addRange(0x1754, 0x175F).addRange(0x1774, 0x177F).addRange(0x17DE, 0x17DF).addRange(0x17EA, 0x17EF).addRange(0x17FA, 0x17FF).addRange(0x181A, 0x181F).addRange(0x1879, 0x187F).addRange(0x18AB, 0x18AF).addRange(0x18F6, 0x18FF).addRange(0x192C, 0x192F).addRange(0x193C, 0x193F).addRange(0x1941, 0x1943).addRange(0x196E, 0x196F).addRange(0x1975, 0x197F).addRange(0x19AC, 0x19AF).addRange(0x19CA, 0x19CF).addRange(0x19DB, 0x19DD).addRange(0x1A1C, 0x1A1D).addRange(0x1A7D, 0x1A7E).addRange(0x1A8A, 0x1A8F).addRange(0x1A9A, 0x1A9F).addRange(0x1AAE, 0x1AAF).addRange(0x1ACF, 0x1AFF).addRange(0x1B4D, 0x1B4F).addRange(0x1BF4, 0x1BFB).addRange(0x1C38, 0x1C3A).addRange(0x1C4A, 0x1C4C).addRange(0x1C89, 0x1C8F).addRange(0x1CBB, 0x1CBC).addRange(0x1CC8, 0x1CCF).addRange(0x1CFB, 0x1CFF).addRange(0x1F16, 0x1F17).addRange(0x1F1E, 0x1F1F).addRange(0x1F46, 0x1F47).addRange(0x1F4E, 0x1F4F).addRange(0x1F7E, 0x1F7F).addRange(0x1FD4, 0x1FD5).addRange(0x1FF0, 0x1FF1).addRange(0x2072, 0x2073).addRange(0x209D, 0x209F).addRange(0x20C1, 0x20CF).addRange(0x20F1, 0x20FF).addRange(0x218C, 0x218F).addRange(0x2427, 0x243F).addRange(0x244B, 0x245F).addRange(0x2B74, 0x2B75).addRange(0x2CF4, 0x2CF8).addRange(0x2D28, 0x2D2C).addRange(0x2D2E, 0x2D2F).addRange(0x2D68, 0x2D6E).addRange(0x2D71, 0x2D7E);
|
|
set.addRange(0x2D97, 0x2D9F).addRange(0x2E5E, 0x2E7F).addRange(0x2EF4, 0x2EFF).addRange(0x2FD6, 0x2FEF).addRange(0x2FFC, 0x2FFF).addRange(0x3097, 0x3098).addRange(0x3100, 0x3104).addRange(0x31E4, 0x31EF).addRange(0xA48D, 0xA48F).addRange(0xA4C7, 0xA4CF).addRange(0xA62C, 0xA63F).addRange(0xA6F8, 0xA6FF).addRange(0xA7CB, 0xA7CF).addRange(0xA7DA, 0xA7F1).addRange(0xA82D, 0xA82F).addRange(0xA83A, 0xA83F).addRange(0xA878, 0xA87F).addRange(0xA8C6, 0xA8CD).addRange(0xA8DA, 0xA8DF).addRange(0xA954, 0xA95E).addRange(0xA97D, 0xA97F).addRange(0xA9DA, 0xA9DD).addRange(0xAA37, 0xAA3F).addRange(0xAA4E, 0xAA4F).addRange(0xAA5A, 0xAA5B).addRange(0xAAC3, 0xAADA).addRange(0xAAF7, 0xAB00).addRange(0xAB07, 0xAB08).addRange(0xAB0F, 0xAB10).addRange(0xAB17, 0xAB1F).addRange(0xAB6C, 0xAB6F).addRange(0xABEE, 0xABEF).addRange(0xABFA, 0xABFF).addRange(0xD7A4, 0xD7AF).addRange(0xD7C7, 0xD7CA).addRange(0xD7FC, 0xD7FF).addRange(0xFA6E, 0xFA6F).addRange(0xFADA, 0xFAFF).addRange(0xFB07, 0xFB12).addRange(0xFB18, 0xFB1C).addRange(0xFBC3, 0xFBD2).addRange(0xFD90, 0xFD91).addRange(0xFDC8, 0xFDCE).addRange(0xFDD0, 0xFDEF).addRange(0xFE1A, 0xFE1F).addRange(0xFE6C, 0xFE6F).addRange(0xFEFD, 0xFEFE).addRange(0xFFBF, 0xFFC1).addRange(0xFFC8, 0xFFC9).addRange(0xFFD0, 0xFFD1).addRange(0xFFD8, 0xFFD9);
|
|
set.addRange(0xFFDD, 0xFFDF).addRange(0xFFEF, 0xFFF8).addRange(0xFFFE, 0xFFFF).addRange(0x1004E, 0x1004F).addRange(0x1005E, 0x1007F).addRange(0x100FB, 0x100FF).addRange(0x10103, 0x10106).addRange(0x10134, 0x10136).addRange(0x1019D, 0x1019F).addRange(0x101A1, 0x101CF).addRange(0x101FE, 0x1027F).addRange(0x1029D, 0x1029F).addRange(0x102D1, 0x102DF).addRange(0x102FC, 0x102FF).addRange(0x10324, 0x1032C).addRange(0x1034B, 0x1034F).addRange(0x1037B, 0x1037F).addRange(0x103C4, 0x103C7).addRange(0x103D6, 0x103FF).addRange(0x1049E, 0x1049F).addRange(0x104AA, 0x104AF).addRange(0x104D4, 0x104D7).addRange(0x104FC, 0x104FF).addRange(0x10528, 0x1052F).addRange(0x10564, 0x1056E).addRange(0x105BD, 0x105FF).addRange(0x10737, 0x1073F).addRange(0x10756, 0x1075F).addRange(0x10768, 0x1077F).addRange(0x107BB, 0x107FF).addRange(0x10806, 0x10807).addRange(0x10839, 0x1083B).addRange(0x1083D, 0x1083E).addRange(0x1089F, 0x108A6).addRange(0x108B0, 0x108DF).addRange(0x108F6, 0x108FA).addRange(0x1091C, 0x1091E).addRange(0x1093A, 0x1093E).addRange(0x10940, 0x1097F).addRange(0x109B8, 0x109BB).addRange(0x109D0, 0x109D1).addRange(0x10A07, 0x10A0B).addRange(0x10A36, 0x10A37).addRange(0x10A3B, 0x10A3E).addRange(0x10A49, 0x10A4F).addRange(0x10A59, 0x10A5F).addRange(0x10AA0, 0x10ABF).addRange(0x10AE7, 0x10AEA).addRange(0x10AF7, 0x10AFF).addRange(0x10B36, 0x10B38).addRange(0x10B56, 0x10B57);
|
|
set.addRange(0x10B73, 0x10B77).addRange(0x10B92, 0x10B98).addRange(0x10B9D, 0x10BA8).addRange(0x10BB0, 0x10BFF).addRange(0x10C49, 0x10C7F).addRange(0x10CB3, 0x10CBF).addRange(0x10CF3, 0x10CF9).addRange(0x10D28, 0x10D2F).addRange(0x10D3A, 0x10E5F).addRange(0x10EAE, 0x10EAF).addRange(0x10EB2, 0x10EFC).addRange(0x10F28, 0x10F2F).addRange(0x10F5A, 0x10F6F).addRange(0x10F8A, 0x10FAF).addRange(0x10FCC, 0x10FDF).addRange(0x10FF7, 0x10FFF).addRange(0x1104E, 0x11051).addRange(0x11076, 0x1107E).addRange(0x110C3, 0x110CC).addRange(0x110CE, 0x110CF).addRange(0x110E9, 0x110EF).addRange(0x110FA, 0x110FF).addRange(0x11148, 0x1114F).addRange(0x11177, 0x1117F).addRange(0x111F5, 0x111FF).addRange(0x11242, 0x1127F).addRange(0x112AA, 0x112AF).addRange(0x112EB, 0x112EF).addRange(0x112FA, 0x112FF).addRange(0x1130D, 0x1130E).addRange(0x11311, 0x11312).addRange(0x11345, 0x11346).addRange(0x11349, 0x1134A).addRange(0x1134E, 0x1134F).addRange(0x11351, 0x11356).addRange(0x11358, 0x1135C).addRange(0x11364, 0x11365).addRange(0x1136D, 0x1136F).addRange(0x11375, 0x113FF).addRange(0x11462, 0x1147F).addRange(0x114C8, 0x114CF).addRange(0x114DA, 0x1157F).addRange(0x115B6, 0x115B7).addRange(0x115DE, 0x115FF).addRange(0x11645, 0x1164F).addRange(0x1165A, 0x1165F).addRange(0x1166D, 0x1167F).addRange(0x116BA, 0x116BF).addRange(0x116CA, 0x116FF).addRange(0x1171B, 0x1171C).addRange(0x1172C, 0x1172F);
|
|
set.addRange(0x11747, 0x117FF).addRange(0x1183C, 0x1189F).addRange(0x118F3, 0x118FE).addRange(0x11907, 0x11908).addRange(0x1190A, 0x1190B).addRange(0x11939, 0x1193A).addRange(0x11947, 0x1194F).addRange(0x1195A, 0x1199F).addRange(0x119A8, 0x119A9).addRange(0x119D8, 0x119D9).addRange(0x119E5, 0x119FF).addRange(0x11A48, 0x11A4F).addRange(0x11AA3, 0x11AAF).addRange(0x11AF9, 0x11AFF).addRange(0x11B0A, 0x11BFF).addRange(0x11C46, 0x11C4F).addRange(0x11C6D, 0x11C6F).addRange(0x11C90, 0x11C91).addRange(0x11CB7, 0x11CFF).addRange(0x11D37, 0x11D39).addRange(0x11D48, 0x11D4F).addRange(0x11D5A, 0x11D5F).addRange(0x11D99, 0x11D9F).addRange(0x11DAA, 0x11EDF).addRange(0x11EF9, 0x11EFF).addRange(0x11F3B, 0x11F3D).addRange(0x11F5A, 0x11FAF).addRange(0x11FB1, 0x11FBF).addRange(0x11FF2, 0x11FFE).addRange(0x1239A, 0x123FF).addRange(0x12475, 0x1247F).addRange(0x12544, 0x12F8F).addRange(0x12FF3, 0x12FFF).addRange(0x13456, 0x143FF).addRange(0x14647, 0x167FF).addRange(0x16A39, 0x16A3F).addRange(0x16A6A, 0x16A6D).addRange(0x16ACA, 0x16ACF).addRange(0x16AEE, 0x16AEF).addRange(0x16AF6, 0x16AFF).addRange(0x16B46, 0x16B4F).addRange(0x16B78, 0x16B7C).addRange(0x16B90, 0x16E3F).addRange(0x16E9B, 0x16EFF).addRange(0x16F4B, 0x16F4E).addRange(0x16F88, 0x16F8E).addRange(0x16FA0, 0x16FDF).addRange(0x16FE5, 0x16FEF).addRange(0x16FF2, 0x16FFF).addRange(0x187F8, 0x187FF).addRange(0x18CD6, 0x18CFF);
|
|
set.addRange(0x18D09, 0x1AFEF).addRange(0x1B123, 0x1B131).addRange(0x1B133, 0x1B14F).addRange(0x1B153, 0x1B154).addRange(0x1B156, 0x1B163).addRange(0x1B168, 0x1B16F).addRange(0x1B2FC, 0x1BBFF).addRange(0x1BC6B, 0x1BC6F).addRange(0x1BC7D, 0x1BC7F).addRange(0x1BC89, 0x1BC8F).addRange(0x1BC9A, 0x1BC9B).addRange(0x1BCA4, 0x1CEFF).addRange(0x1CF2E, 0x1CF2F).addRange(0x1CF47, 0x1CF4F).addRange(0x1CFC4, 0x1CFFF).addRange(0x1D0F6, 0x1D0FF).addRange(0x1D127, 0x1D128).addRange(0x1D1EB, 0x1D1FF).addRange(0x1D246, 0x1D2BF).addRange(0x1D2D4, 0x1D2DF).addRange(0x1D2F4, 0x1D2FF).addRange(0x1D357, 0x1D35F).addRange(0x1D379, 0x1D3FF).addRange(0x1D4A0, 0x1D4A1).addRange(0x1D4A3, 0x1D4A4).addRange(0x1D4A7, 0x1D4A8).addRange(0x1D50B, 0x1D50C).addRange(0x1D547, 0x1D549).addRange(0x1D6A6, 0x1D6A7).addRange(0x1D7CC, 0x1D7CD).addRange(0x1DA8C, 0x1DA9A).addRange(0x1DAB0, 0x1DEFF).addRange(0x1DF1F, 0x1DF24).addRange(0x1DF2B, 0x1DFFF).addRange(0x1E019, 0x1E01A).addRange(0x1E02B, 0x1E02F).addRange(0x1E06E, 0x1E08E).addRange(0x1E090, 0x1E0FF).addRange(0x1E12D, 0x1E12F).addRange(0x1E13E, 0x1E13F).addRange(0x1E14A, 0x1E14D).addRange(0x1E150, 0x1E28F).addRange(0x1E2AF, 0x1E2BF).addRange(0x1E2FA, 0x1E2FE).addRange(0x1E300, 0x1E4CF).addRange(0x1E4FA, 0x1E7DF).addRange(0x1E8C5, 0x1E8C6).addRange(0x1E8D7, 0x1E8FF).addRange(0x1E94C, 0x1E94F).addRange(0x1E95A, 0x1E95D).addRange(0x1E960, 0x1EC70);
|
|
set.addRange(0x1ECB5, 0x1ED00).addRange(0x1ED3E, 0x1EDFF).addRange(0x1EE25, 0x1EE26).addRange(0x1EE3C, 0x1EE41).addRange(0x1EE43, 0x1EE46).addRange(0x1EE55, 0x1EE56).addRange(0x1EE65, 0x1EE66).addRange(0x1EE9C, 0x1EEA0).addRange(0x1EEBC, 0x1EEEF).addRange(0x1EEF2, 0x1EFFF).addRange(0x1F02C, 0x1F02F).addRange(0x1F094, 0x1F09F).addRange(0x1F0AF, 0x1F0B0).addRange(0x1F0F6, 0x1F0FF).addRange(0x1F1AE, 0x1F1E5).addRange(0x1F203, 0x1F20F).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F24F).addRange(0x1F252, 0x1F25F).addRange(0x1F266, 0x1F2FF).addRange(0x1F6D8, 0x1F6DB).addRange(0x1F6ED, 0x1F6EF).addRange(0x1F6FD, 0x1F6FF).addRange(0x1F777, 0x1F77A).addRange(0x1F7DA, 0x1F7DF).addRange(0x1F7EC, 0x1F7EF).addRange(0x1F7F1, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8AF).addRange(0x1F8B2, 0x1F8FF).addRange(0x1FA54, 0x1FA5F).addRange(0x1FA6E, 0x1FA6F).addRange(0x1FA7D, 0x1FA7F).addRange(0x1FA89, 0x1FA8F).addRange(0x1FAC6, 0x1FACD).addRange(0x1FADC, 0x1FADF).addRange(0x1FAE9, 0x1FAEF).addRange(0x1FAF9, 0x1FAFF).addRange(0x1FBCB, 0x1FBEF).addRange(0x1FBFA, 0x1FFFF).addRange(0x2A6E0, 0x2A6FF).addRange(0x2B73A, 0x2B73F).addRange(0x2B81E, 0x2B81F).addRange(0x2CEA2, 0x2CEAF).addRange(0x2EBE1, 0x2F7FF).addRange(0x2FA1E, 0x2FFFF).addRange(0x3134B, 0x3134F).addRange(0x323B0, 0xE0000);
|
|
set.addRange(0xE0002, 0xE001F).addRange(0xE0080, 0xE00FF).addRange(0xE01F0, 0xEFFFF).addRange(0xFFFFE, 0xFFFFF).addRange(0x10FFFE, 0x10FFFF);
|
|
Unassigned.characters = set;
|
|
return Unassigned;
|
|
}
|
|
|
|
var Uppercase_Letter = {};
|
|
|
|
var hasRequiredUppercase_Letter;
|
|
function requireUppercase_Letter() {
|
|
if (hasRequiredUppercase_Letter) return Uppercase_Letter;
|
|
hasRequiredUppercase_Letter = 1;
|
|
var set = regenerate$2.exports(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1C4, 0x1C7, 0x1CA, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F1, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5, 0x1D49C, 0x1D4A2, 0x1D546, 0x1D7CA);
|
|
set.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3D2, 0x3D4).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1FB8, 0x1FBB).addRange(0x1FC8, 0x1FCB).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFB).addRange(0x210B, 0x210D).addRange(0x2110, 0x2112).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x2130, 0x2133).addRange(0x213E, 0x213F).addRange(0x2C00, 0x2C2F);
|
|
set.addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1D400, 0x1D419).addRange(0x1D434, 0x1D44D).addRange(0x1D468, 0x1D481).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B5).addRange(0x1D4D0, 0x1D4E9).addRange(0x1D504, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D538, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D56C, 0x1D585).addRange(0x1D5A0, 0x1D5B9).addRange(0x1D5D4, 0x1D5ED).addRange(0x1D608, 0x1D621).addRange(0x1D63C, 0x1D655).addRange(0x1D670, 0x1D689).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6E2, 0x1D6FA).addRange(0x1D71C, 0x1D734).addRange(0x1D756, 0x1D76E).addRange(0x1D790, 0x1D7A8).addRange(0x1E900, 0x1E921);
|
|
Uppercase_Letter.characters = set;
|
|
return Uppercase_Letter;
|
|
}
|
|
|
|
var regenerateUnicodeProperties;
|
|
var hasRequiredRegenerateUnicodeProperties;
|
|
function requireRegenerateUnicodeProperties() {
|
|
if (hasRequiredRegenerateUnicodeProperties) return regenerateUnicodeProperties;
|
|
hasRequiredRegenerateUnicodeProperties = 1;
|
|
regenerateUnicodeProperties = new Map([['General_Category', ['Cased_Letter', 'Close_Punctuation', 'Connector_Punctuation', 'Control', 'Currency_Symbol', 'Dash_Punctuation', 'Decimal_Number', 'Enclosing_Mark', 'Final_Punctuation', 'Format', 'Initial_Punctuation', 'Letter', 'Letter_Number', 'Line_Separator', 'Lowercase_Letter', 'Mark', 'Math_Symbol', 'Modifier_Letter', 'Modifier_Symbol', 'Nonspacing_Mark', 'Number', 'Open_Punctuation', 'Other', 'Other_Letter', 'Other_Number', 'Other_Punctuation', 'Other_Symbol', 'Paragraph_Separator', 'Private_Use', 'Punctuation', 'Separator', 'Space_Separator', 'Spacing_Mark', 'Surrogate', 'Symbol', 'Titlecase_Letter', 'Unassigned', 'Uppercase_Letter']], ['Script', ['Adlam', 'Ahom', 'Anatolian_Hieroglyphs', 'Arabic', 'Armenian', 'Avestan', 'Balinese', 'Bamum', 'Bassa_Vah', 'Batak', 'Bengali', 'Bhaiksuki', 'Bopomofo', 'Brahmi', 'Braille', 'Buginese', 'Buhid', 'Canadian_Aboriginal', 'Carian', 'Caucasian_Albanian', 'Chakma', 'Cham', 'Cherokee', 'Chorasmian', 'Common', 'Coptic', 'Cuneiform', 'Cypriot', 'Cypro_Minoan', 'Cyrillic', 'Deseret', 'Devanagari', 'Dives_Akuru', 'Dogra', 'Duployan', 'Egyptian_Hieroglyphs', 'Elbasan', 'Elymaic', 'Ethiopic', 'Georgian', 'Glagolitic', 'Gothic', 'Grantha', 'Greek', 'Gujarati', 'Gunjala_Gondi', 'Gurmukhi', 'Han', 'Hangul', 'Hanifi_Rohingya', 'Hanunoo', 'Hatran', 'Hebrew', 'Hiragana', 'Imperial_Aramaic', 'Inherited', 'Inscriptional_Pahlavi', 'Inscriptional_Parthian', 'Javanese', 'Kaithi', 'Kannada', 'Katakana', 'Kawi', 'Kayah_Li', 'Kharoshthi', 'Khitan_Small_Script', 'Khmer', 'Khojki', 'Khudawadi', 'Lao', 'Latin', 'Lepcha', 'Limbu', 'Linear_A', 'Linear_B', 'Lisu', 'Lycian', 'Lydian', 'Mahajani', 'Makasar', 'Malayalam', 'Mandaic', 'Manichaean', 'Marchen', 'Masaram_Gondi', 'Medefaidrin', 'Meetei_Mayek', 'Mende_Kikakui', 'Meroitic_Cursive', 'Meroitic_Hieroglyphs', 'Miao', 'Modi', 'Mongolian', 'Mro', 'Multani', 'Myanmar', 'Nabataean', 'Nag_Mundari', 'Nandinagari', 'New_Tai_Lue', 'Newa', 'Nko', 'Nushu', 'Nyiakeng_Puachue_Hmong', 'Ogham', 'Ol_Chiki', 'Old_Hungarian', 'Old_Italic', 'Old_North_Arabian', 'Old_Permic', 'Old_Persian', 'Old_Sogdian', 'Old_South_Arabian', 'Old_Turkic', 'Old_Uyghur', 'Oriya', 'Osage', 'Osmanya', 'Pahawh_Hmong', 'Palmyrene', 'Pau_Cin_Hau', 'Phags_Pa', 'Phoenician', 'Psalter_Pahlavi', 'Rejang', 'Runic', 'Samaritan', 'Saurashtra', 'Sharada', 'Shavian', 'Siddham', 'SignWriting', 'Sinhala', 'Sogdian', 'Sora_Sompeng', 'Soyombo', 'Sundanese', 'Syloti_Nagri', 'Syriac', 'Tagalog', 'Tagbanwa', 'Tai_Le', 'Tai_Tham', 'Tai_Viet', 'Takri', 'Tamil', 'Tangsa', 'Tangut', 'Telugu', 'Thaana', 'Thai', 'Tibetan', 'Tifinagh', 'Tirhuta', 'Toto', 'Ugaritic', 'Vai', 'Vithkuqi', 'Wancho', 'Warang_Citi', 'Yezidi', 'Yi', 'Zanabazar_Square']], ['Script_Extensions', ['Adlam', 'Ahom', 'Anatolian_Hieroglyphs', 'Arabic', 'Armenian', 'Avestan', 'Balinese', 'Bamum', 'Bassa_Vah', 'Batak', 'Bengali', 'Bhaiksuki', 'Bopomofo', 'Brahmi', 'Braille', 'Buginese', 'Buhid', 'Canadian_Aboriginal', 'Carian', 'Caucasian_Albanian', 'Chakma', 'Cham', 'Cherokee', 'Chorasmian', 'Common', 'Coptic', 'Cuneiform', 'Cypriot', 'Cypro_Minoan', 'Cyrillic', 'Deseret', 'Devanagari', 'Dives_Akuru', 'Dogra', 'Duployan', 'Egyptian_Hieroglyphs', 'Elbasan', 'Elymaic', 'Ethiopic', 'Georgian', 'Glagolitic', 'Gothic', 'Grantha', 'Greek', 'Gujarati', 'Gunjala_Gondi', 'Gurmukhi', 'Han', 'Hangul', 'Hanifi_Rohingya', 'Hanunoo', 'Hatran', 'Hebrew', 'Hiragana', 'Imperial_Aramaic', 'Inherited', 'Inscriptional_Pahlavi', 'Inscriptional_Parthian', 'Javanese', 'Kaithi', 'Kannada', 'Katakana', 'Kawi', 'Kayah_Li', 'Kharoshthi', 'Khitan_Small_Script', 'Khmer', 'Khojki', 'Khudawadi', 'Lao', 'Latin', 'Lepcha', 'Limbu', 'Linear_A', 'Linear_B', 'Lisu', 'Lycian', 'Lydian', 'Mahajani', 'Makasar', 'Malayalam', 'Mandaic', 'Manichaean', 'Marchen', 'Masaram_Gondi', 'Medefaidrin', 'Meetei_Mayek', 'Mende_Kikakui', 'Meroitic_Cursive', 'Meroitic_Hieroglyphs', 'Miao', 'Modi', 'Mongolian', 'Mro', 'Multani', 'Myanmar', 'Nabataean', 'Nag_Mundari', 'Nandinagari', 'New_Tai_Lue', 'Newa', 'Nko', 'Nushu', 'Nyiakeng_Puachue_Hmong', 'Ogham', 'Ol_Chiki', 'Old_Hungarian', 'Old_Italic', 'Old_North_Arabian', 'Old_Permic', 'Old_Persian', 'Old_Sogdian', 'Old_South_Arabian', 'Old_Turkic', 'Old_Uyghur', 'Oriya', 'Osage', 'Osmanya', 'Pahawh_Hmong', 'Palmyrene', 'Pau_Cin_Hau', 'Phags_Pa', 'Phoenician', 'Psalter_Pahlavi', 'Rejang', 'Runic', 'Samaritan', 'Saurashtra', 'Sharada', 'Shavian', 'Siddham', 'SignWriting', 'Sinhala', 'Sogdian', 'Sora_Sompeng', 'Soyombo', 'Sundanese', 'Syloti_Nagri', 'Syriac', 'Tagalog', 'Tagbanwa', 'Tai_Le', 'Tai_Tham', 'Tai_Viet', 'Takri', 'Tamil', 'Tangsa', 'Tangut', 'Telugu', 'Thaana', 'Thai', 'Tibetan', 'Tifinagh', 'Tirhuta', 'Toto', 'Ugaritic', 'Vai', 'Vithkuqi', 'Wancho', 'Warang_Citi', 'Yezidi', 'Yi', 'Zanabazar_Square']], ['Binary_Property', ['ASCII', 'ASCII_Hex_Digit', 'Alphabetic', 'Any', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'ID_Continue', 'ID_Start', 'Ideographic', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']], ['Property_of_Strings', ['Basic_Emoji', 'Emoji_Keycap_Sequence', 'RGI_Emoji', 'RGI_Emoji_Flag_Sequence', 'RGI_Emoji_Modifier_Sequence', 'RGI_Emoji_Tag_Sequence', 'RGI_Emoji_ZWJ_Sequence']]]);
|
|
return regenerateUnicodeProperties;
|
|
}
|
|
|
|
var Basic_Emoji = {};
|
|
|
|
var hasRequiredBasic_Emoji;
|
|
function requireBasic_Emoji() {
|
|
if (hasRequiredBasic_Emoji) return Basic_Emoji;
|
|
hasRequiredBasic_Emoji = 1;
|
|
var set = regenerate$2.exports(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);
|
|
set.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);
|
|
Basic_Emoji.characters = set;
|
|
Basic_Emoji.strings = ["\xA9\uFE0F", "\xAE\uFE0F", "\u203C\uFE0F", "\u2049\uFE0F", "\u2122\uFE0F", "\u2139\uFE0F", "\u2194\uFE0F", "\u2195\uFE0F", "\u2196\uFE0F", "\u2197\uFE0F", "\u2198\uFE0F", "\u2199\uFE0F", "\u21A9\uFE0F", "\u21AA\uFE0F", "\u2328\uFE0F", "\u23CF\uFE0F", "\u23ED\uFE0F", "\u23EE\uFE0F", "\u23EF\uFE0F", "\u23F1\uFE0F", "\u23F2\uFE0F", "\u23F8\uFE0F", "\u23F9\uFE0F", "\u23FA\uFE0F", "\u24C2\uFE0F", "\u25AA\uFE0F", "\u25AB\uFE0F", "\u25B6\uFE0F", "\u25C0\uFE0F", "\u25FB\uFE0F", "\u25FC\uFE0F", "\u2600\uFE0F", "\u2601\uFE0F", "\u2602\uFE0F", "\u2603\uFE0F", "\u2604\uFE0F", "\u260E\uFE0F", "\u2611\uFE0F", "\u2618\uFE0F", "\u261D\uFE0F", "\u2620\uFE0F", "\u2622\uFE0F", "\u2623\uFE0F", "\u2626\uFE0F", "\u262A\uFE0F", "\u262E\uFE0F", "\u262F\uFE0F", "\u2638\uFE0F", "\u2639\uFE0F", "\u263A\uFE0F", "\u2640\uFE0F", "\u2642\uFE0F", "\u265F\uFE0F", "\u2660\uFE0F", "\u2663\uFE0F", "\u2665\uFE0F", "\u2666\uFE0F", "\u2668\uFE0F", "\u267B\uFE0F", "\u267E\uFE0F", "\u2692\uFE0F", "\u2694\uFE0F", "\u2695\uFE0F", "\u2696\uFE0F", "\u2697\uFE0F", "\u2699\uFE0F", "\u269B\uFE0F", "\u269C\uFE0F", "\u26A0\uFE0F", "\u26A7\uFE0F", "\u26B0\uFE0F", "\u26B1\uFE0F", "\u26C8\uFE0F", "\u26CF\uFE0F", "\u26D1\uFE0F", "\u26D3\uFE0F", "\u26E9\uFE0F", "\u26F0\uFE0F", "\u26F1\uFE0F", "\u26F4\uFE0F", "\u26F7\uFE0F", "\u26F8\uFE0F", "\u26F9\uFE0F", "\u2702\uFE0F", "\u2708\uFE0F", "\u2709\uFE0F", "\u270C\uFE0F", "\u270D\uFE0F", "\u270F\uFE0F", "\u2712\uFE0F", "\u2714\uFE0F", "\u2716\uFE0F", "\u271D\uFE0F", "\u2721\uFE0F", "\u2733\uFE0F", "\u2734\uFE0F", "\u2744\uFE0F", "\u2747\uFE0F", "\u2763\uFE0F", "\u2764\uFE0F", "\u27A1\uFE0F", "\u2934\uFE0F", "\u2935\uFE0F", "\u2B05\uFE0F", "\u2B06\uFE0F", "\u2B07\uFE0F", "\u3030\uFE0F", "\u303D\uFE0F", "\u3297\uFE0F", "\u3299\uFE0F", "\uD83C\uDD70\uFE0F", "\uD83C\uDD71\uFE0F", "\uD83C\uDD7E\uFE0F", "\uD83C\uDD7F\uFE0F", "\uD83C\uDE02\uFE0F", "\uD83C\uDE37\uFE0F", "\uD83C\uDF21\uFE0F", "\uD83C\uDF24\uFE0F", "\uD83C\uDF25\uFE0F", "\uD83C\uDF26\uFE0F", "\uD83C\uDF27\uFE0F", "\uD83C\uDF28\uFE0F", "\uD83C\uDF29\uFE0F", "\uD83C\uDF2A\uFE0F", "\uD83C\uDF2B\uFE0F", "\uD83C\uDF2C\uFE0F", "\uD83C\uDF36\uFE0F", "\uD83C\uDF7D\uFE0F", "\uD83C\uDF96\uFE0F", "\uD83C\uDF97\uFE0F", "\uD83C\uDF99\uFE0F", "\uD83C\uDF9A\uFE0F", "\uD83C\uDF9B\uFE0F", "\uD83C\uDF9E\uFE0F", "\uD83C\uDF9F\uFE0F", "\uD83C\uDFCB\uFE0F", "\uD83C\uDFCC\uFE0F", "\uD83C\uDFCD\uFE0F", "\uD83C\uDFCE\uFE0F", "\uD83C\uDFD4\uFE0F", "\uD83C\uDFD5\uFE0F", "\uD83C\uDFD6\uFE0F", "\uD83C\uDFD7\uFE0F", "\uD83C\uDFD8\uFE0F", "\uD83C\uDFD9\uFE0F", "\uD83C\uDFDA\uFE0F", "\uD83C\uDFDB\uFE0F", "\uD83C\uDFDC\uFE0F", "\uD83C\uDFDD\uFE0F", "\uD83C\uDFDE\uFE0F", "\uD83C\uDFDF\uFE0F", "\uD83C\uDFF3\uFE0F", "\uD83C\uDFF5\uFE0F", "\uD83C\uDFF7\uFE0F", "\uD83D\uDC3F\uFE0F", "\uD83D\uDC41\uFE0F", "\uD83D\uDCFD\uFE0F", "\uD83D\uDD49\uFE0F", "\uD83D\uDD4A\uFE0F", "\uD83D\uDD6F\uFE0F", "\uD83D\uDD70\uFE0F", "\uD83D\uDD73\uFE0F", "\uD83D\uDD74\uFE0F", "\uD83D\uDD75\uFE0F", "\uD83D\uDD76\uFE0F", "\uD83D\uDD77\uFE0F", "\uD83D\uDD78\uFE0F", "\uD83D\uDD79\uFE0F", "\uD83D\uDD87\uFE0F", "\uD83D\uDD8A\uFE0F", "\uD83D\uDD8B\uFE0F", "\uD83D\uDD8C\uFE0F", "\uD83D\uDD8D\uFE0F", "\uD83D\uDD90\uFE0F", "\uD83D\uDDA5\uFE0F", "\uD83D\uDDA8\uFE0F", "\uD83D\uDDB1\uFE0F", "\uD83D\uDDB2\uFE0F", "\uD83D\uDDBC\uFE0F", "\uD83D\uDDC2\uFE0F", "\uD83D\uDDC3\uFE0F", "\uD83D\uDDC4\uFE0F", "\uD83D\uDDD1\uFE0F", "\uD83D\uDDD2\uFE0F", "\uD83D\uDDD3\uFE0F", "\uD83D\uDDDC\uFE0F", "\uD83D\uDDDD\uFE0F", "\uD83D\uDDDE\uFE0F", "\uD83D\uDDE1\uFE0F", "\uD83D\uDDE3\uFE0F", "\uD83D\uDDE8\uFE0F", "\uD83D\uDDEF\uFE0F", "\uD83D\uDDF3\uFE0F", "\uD83D\uDDFA\uFE0F", "\uD83D\uDECB\uFE0F", "\uD83D\uDECD\uFE0F", "\uD83D\uDECE\uFE0F", "\uD83D\uDECF\uFE0F", "\uD83D\uDEE0\uFE0F", "\uD83D\uDEE1\uFE0F", "\uD83D\uDEE2\uFE0F", "\uD83D\uDEE3\uFE0F", "\uD83D\uDEE4\uFE0F", "\uD83D\uDEE5\uFE0F", "\uD83D\uDEE9\uFE0F", "\uD83D\uDEF0\uFE0F", "\uD83D\uDEF3\uFE0F"];
|
|
return Basic_Emoji;
|
|
}
|
|
|
|
var Emoji_Keycap_Sequence = {};
|
|
|
|
var hasRequiredEmoji_Keycap_Sequence;
|
|
function requireEmoji_Keycap_Sequence() {
|
|
if (hasRequiredEmoji_Keycap_Sequence) return Emoji_Keycap_Sequence;
|
|
hasRequiredEmoji_Keycap_Sequence = 1;
|
|
var set = regenerate$2.exports();
|
|
Emoji_Keycap_Sequence.characters = set;
|
|
Emoji_Keycap_Sequence.strings = ["#\uFE0F\u20E3", "*\uFE0F\u20E3", "0\uFE0F\u20E3", "1\uFE0F\u20E3", "2\uFE0F\u20E3", "3\uFE0F\u20E3", "4\uFE0F\u20E3", "5\uFE0F\u20E3", "6\uFE0F\u20E3", "7\uFE0F\u20E3", "8\uFE0F\u20E3", "9\uFE0F\u20E3"];
|
|
return Emoji_Keycap_Sequence;
|
|
}
|
|
|
|
var RGI_Emoji_Flag_Sequence = {};
|
|
|
|
var hasRequiredRGI_Emoji_Flag_Sequence;
|
|
function requireRGI_Emoji_Flag_Sequence() {
|
|
if (hasRequiredRGI_Emoji_Flag_Sequence) return RGI_Emoji_Flag_Sequence;
|
|
hasRequiredRGI_Emoji_Flag_Sequence = 1;
|
|
var set = regenerate$2.exports();
|
|
RGI_Emoji_Flag_Sequence.characters = set;
|
|
RGI_Emoji_Flag_Sequence.strings = ["\uD83C\uDDE6\uD83C\uDDE8", "\uD83C\uDDE6\uD83C\uDDE9", "\uD83C\uDDE6\uD83C\uDDEA", "\uD83C\uDDE6\uD83C\uDDEB", "\uD83C\uDDE6\uD83C\uDDEC", "\uD83C\uDDE6\uD83C\uDDEE", "\uD83C\uDDE6\uD83C\uDDF1", "\uD83C\uDDE6\uD83C\uDDF2", "\uD83C\uDDE6\uD83C\uDDF4", "\uD83C\uDDE6\uD83C\uDDF6", "\uD83C\uDDE6\uD83C\uDDF7", "\uD83C\uDDE6\uD83C\uDDF8", "\uD83C\uDDE6\uD83C\uDDF9", "\uD83C\uDDE6\uD83C\uDDFA", "\uD83C\uDDE6\uD83C\uDDFC", "\uD83C\uDDE6\uD83C\uDDFD", "\uD83C\uDDE6\uD83C\uDDFF", "\uD83C\uDDE7\uD83C\uDDE6", "\uD83C\uDDE7\uD83C\uDDE7", "\uD83C\uDDE7\uD83C\uDDE9", "\uD83C\uDDE7\uD83C\uDDEA", "\uD83C\uDDE7\uD83C\uDDEB", "\uD83C\uDDE7\uD83C\uDDEC", "\uD83C\uDDE7\uD83C\uDDED", "\uD83C\uDDE7\uD83C\uDDEE", "\uD83C\uDDE7\uD83C\uDDEF", "\uD83C\uDDE7\uD83C\uDDF1", "\uD83C\uDDE7\uD83C\uDDF2", "\uD83C\uDDE7\uD83C\uDDF3", "\uD83C\uDDE7\uD83C\uDDF4", "\uD83C\uDDE7\uD83C\uDDF6", "\uD83C\uDDE7\uD83C\uDDF7", "\uD83C\uDDE7\uD83C\uDDF8", "\uD83C\uDDE7\uD83C\uDDF9", "\uD83C\uDDE7\uD83C\uDDFB", "\uD83C\uDDE7\uD83C\uDDFC", "\uD83C\uDDE7\uD83C\uDDFE", "\uD83C\uDDE7\uD83C\uDDFF", "\uD83C\uDDE8\uD83C\uDDE6", "\uD83C\uDDE8\uD83C\uDDE8", "\uD83C\uDDE8\uD83C\uDDE9", "\uD83C\uDDE8\uD83C\uDDEB", "\uD83C\uDDE8\uD83C\uDDEC", "\uD83C\uDDE8\uD83C\uDDED", "\uD83C\uDDE8\uD83C\uDDEE", "\uD83C\uDDE8\uD83C\uDDF0", "\uD83C\uDDE8\uD83C\uDDF1", "\uD83C\uDDE8\uD83C\uDDF2", "\uD83C\uDDE8\uD83C\uDDF3", "\uD83C\uDDE8\uD83C\uDDF4", "\uD83C\uDDE8\uD83C\uDDF5", "\uD83C\uDDE8\uD83C\uDDF7", "\uD83C\uDDE8\uD83C\uDDFA", "\uD83C\uDDE8\uD83C\uDDFB", "\uD83C\uDDE8\uD83C\uDDFC", "\uD83C\uDDE8\uD83C\uDDFD", "\uD83C\uDDE8\uD83C\uDDFE", "\uD83C\uDDE8\uD83C\uDDFF", "\uD83C\uDDE9\uD83C\uDDEA", "\uD83C\uDDE9\uD83C\uDDEC", "\uD83C\uDDE9\uD83C\uDDEF", "\uD83C\uDDE9\uD83C\uDDF0", "\uD83C\uDDE9\uD83C\uDDF2", "\uD83C\uDDE9\uD83C\uDDF4", "\uD83C\uDDE9\uD83C\uDDFF", "\uD83C\uDDEA\uD83C\uDDE6", "\uD83C\uDDEA\uD83C\uDDE8", "\uD83C\uDDEA\uD83C\uDDEA", "\uD83C\uDDEA\uD83C\uDDEC", "\uD83C\uDDEA\uD83C\uDDED", "\uD83C\uDDEA\uD83C\uDDF7", "\uD83C\uDDEA\uD83C\uDDF8", "\uD83C\uDDEA\uD83C\uDDF9", "\uD83C\uDDEA\uD83C\uDDFA", "\uD83C\uDDEB\uD83C\uDDEE", "\uD83C\uDDEB\uD83C\uDDEF", "\uD83C\uDDEB\uD83C\uDDF0", "\uD83C\uDDEB\uD83C\uDDF2", "\uD83C\uDDEB\uD83C\uDDF4", "\uD83C\uDDEB\uD83C\uDDF7", "\uD83C\uDDEC\uD83C\uDDE6", "\uD83C\uDDEC\uD83C\uDDE7", "\uD83C\uDDEC\uD83C\uDDE9", "\uD83C\uDDEC\uD83C\uDDEA", "\uD83C\uDDEC\uD83C\uDDEB", "\uD83C\uDDEC\uD83C\uDDEC", "\uD83C\uDDEC\uD83C\uDDED", "\uD83C\uDDEC\uD83C\uDDEE", "\uD83C\uDDEC\uD83C\uDDF1", "\uD83C\uDDEC\uD83C\uDDF2", "\uD83C\uDDEC\uD83C\uDDF3", "\uD83C\uDDEC\uD83C\uDDF5", "\uD83C\uDDEC\uD83C\uDDF6", "\uD83C\uDDEC\uD83C\uDDF7", "\uD83C\uDDEC\uD83C\uDDF8", "\uD83C\uDDEC\uD83C\uDDF9", "\uD83C\uDDEC\uD83C\uDDFA", "\uD83C\uDDEC\uD83C\uDDFC", "\uD83C\uDDEC\uD83C\uDDFE", "\uD83C\uDDED\uD83C\uDDF0", "\uD83C\uDDED\uD83C\uDDF2", "\uD83C\uDDED\uD83C\uDDF3", "\uD83C\uDDED\uD83C\uDDF7", "\uD83C\uDDED\uD83C\uDDF9", "\uD83C\uDDED\uD83C\uDDFA", "\uD83C\uDDEE\uD83C\uDDE8", "\uD83C\uDDEE\uD83C\uDDE9", "\uD83C\uDDEE\uD83C\uDDEA", "\uD83C\uDDEE\uD83C\uDDF1", "\uD83C\uDDEE\uD83C\uDDF2", "\uD83C\uDDEE\uD83C\uDDF3", "\uD83C\uDDEE\uD83C\uDDF4", "\uD83C\uDDEE\uD83C\uDDF6", "\uD83C\uDDEE\uD83C\uDDF7", "\uD83C\uDDEE\uD83C\uDDF8", "\uD83C\uDDEE\uD83C\uDDF9", "\uD83C\uDDEF\uD83C\uDDEA", "\uD83C\uDDEF\uD83C\uDDF2", "\uD83C\uDDEF\uD83C\uDDF4", "\uD83C\uDDEF\uD83C\uDDF5", "\uD83C\uDDF0\uD83C\uDDEA", "\uD83C\uDDF0\uD83C\uDDEC", "\uD83C\uDDF0\uD83C\uDDED", "\uD83C\uDDF0\uD83C\uDDEE", "\uD83C\uDDF0\uD83C\uDDF2", "\uD83C\uDDF0\uD83C\uDDF3", "\uD83C\uDDF0\uD83C\uDDF5", "\uD83C\uDDF0\uD83C\uDDF7", "\uD83C\uDDF0\uD83C\uDDFC", "\uD83C\uDDF0\uD83C\uDDFE", "\uD83C\uDDF0\uD83C\uDDFF", "\uD83C\uDDF1\uD83C\uDDE6", "\uD83C\uDDF1\uD83C\uDDE7", "\uD83C\uDDF1\uD83C\uDDE8", "\uD83C\uDDF1\uD83C\uDDEE", "\uD83C\uDDF1\uD83C\uDDF0", "\uD83C\uDDF1\uD83C\uDDF7", "\uD83C\uDDF1\uD83C\uDDF8", "\uD83C\uDDF1\uD83C\uDDF9", "\uD83C\uDDF1\uD83C\uDDFA", "\uD83C\uDDF1\uD83C\uDDFB", "\uD83C\uDDF1\uD83C\uDDFE", "\uD83C\uDDF2\uD83C\uDDE6", "\uD83C\uDDF2\uD83C\uDDE8", "\uD83C\uDDF2\uD83C\uDDE9", "\uD83C\uDDF2\uD83C\uDDEA", "\uD83C\uDDF2\uD83C\uDDEB", "\uD83C\uDDF2\uD83C\uDDEC", "\uD83C\uDDF2\uD83C\uDDED", "\uD83C\uDDF2\uD83C\uDDF0", "\uD83C\uDDF2\uD83C\uDDF1", "\uD83C\uDDF2\uD83C\uDDF2", "\uD83C\uDDF2\uD83C\uDDF3", "\uD83C\uDDF2\uD83C\uDDF4", "\uD83C\uDDF2\uD83C\uDDF5", "\uD83C\uDDF2\uD83C\uDDF6", "\uD83C\uDDF2\uD83C\uDDF7", "\uD83C\uDDF2\uD83C\uDDF8", "\uD83C\uDDF2\uD83C\uDDF9", "\uD83C\uDDF2\uD83C\uDDFA", "\uD83C\uDDF2\uD83C\uDDFB", "\uD83C\uDDF2\uD83C\uDDFC", "\uD83C\uDDF2\uD83C\uDDFD", "\uD83C\uDDF2\uD83C\uDDFE", "\uD83C\uDDF2\uD83C\uDDFF", "\uD83C\uDDF3\uD83C\uDDE6", "\uD83C\uDDF3\uD83C\uDDE8", "\uD83C\uDDF3\uD83C\uDDEA", "\uD83C\uDDF3\uD83C\uDDEB", "\uD83C\uDDF3\uD83C\uDDEC", "\uD83C\uDDF3\uD83C\uDDEE", "\uD83C\uDDF3\uD83C\uDDF1", "\uD83C\uDDF3\uD83C\uDDF4", "\uD83C\uDDF3\uD83C\uDDF5", "\uD83C\uDDF3\uD83C\uDDF7", "\uD83C\uDDF3\uD83C\uDDFA", "\uD83C\uDDF3\uD83C\uDDFF", "\uD83C\uDDF4\uD83C\uDDF2", "\uD83C\uDDF5\uD83C\uDDE6", "\uD83C\uDDF5\uD83C\uDDEA", "\uD83C\uDDF5\uD83C\uDDEB", "\uD83C\uDDF5\uD83C\uDDEC", "\uD83C\uDDF5\uD83C\uDDED", "\uD83C\uDDF5\uD83C\uDDF0", "\uD83C\uDDF5\uD83C\uDDF1", "\uD83C\uDDF5\uD83C\uDDF2", "\uD83C\uDDF5\uD83C\uDDF3", "\uD83C\uDDF5\uD83C\uDDF7", "\uD83C\uDDF5\uD83C\uDDF8", "\uD83C\uDDF5\uD83C\uDDF9", "\uD83C\uDDF5\uD83C\uDDFC", "\uD83C\uDDF5\uD83C\uDDFE", "\uD83C\uDDF6\uD83C\uDDE6", "\uD83C\uDDF7\uD83C\uDDEA", "\uD83C\uDDF7\uD83C\uDDF4", "\uD83C\uDDF7\uD83C\uDDF8", "\uD83C\uDDF7\uD83C\uDDFA", "\uD83C\uDDF7\uD83C\uDDFC", "\uD83C\uDDF8\uD83C\uDDE6", "\uD83C\uDDF8\uD83C\uDDE7", "\uD83C\uDDF8\uD83C\uDDE8", "\uD83C\uDDF8\uD83C\uDDE9", "\uD83C\uDDF8\uD83C\uDDEA", "\uD83C\uDDF8\uD83C\uDDEC", "\uD83C\uDDF8\uD83C\uDDED", "\uD83C\uDDF8\uD83C\uDDEE", "\uD83C\uDDF8\uD83C\uDDEF", "\uD83C\uDDF8\uD83C\uDDF0", "\uD83C\uDDF8\uD83C\uDDF1", "\uD83C\uDDF8\uD83C\uDDF2", "\uD83C\uDDF8\uD83C\uDDF3", "\uD83C\uDDF8\uD83C\uDDF4", "\uD83C\uDDF8\uD83C\uDDF7", "\uD83C\uDDF8\uD83C\uDDF8", "\uD83C\uDDF8\uD83C\uDDF9", "\uD83C\uDDF8\uD83C\uDDFB", "\uD83C\uDDF8\uD83C\uDDFD", "\uD83C\uDDF8\uD83C\uDDFE", "\uD83C\uDDF8\uD83C\uDDFF", "\uD83C\uDDF9\uD83C\uDDE6", "\uD83C\uDDF9\uD83C\uDDE8", "\uD83C\uDDF9\uD83C\uDDE9", "\uD83C\uDDF9\uD83C\uDDEB", "\uD83C\uDDF9\uD83C\uDDEC", "\uD83C\uDDF9\uD83C\uDDED", "\uD83C\uDDF9\uD83C\uDDEF", "\uD83C\uDDF9\uD83C\uDDF0", "\uD83C\uDDF9\uD83C\uDDF1", "\uD83C\uDDF9\uD83C\uDDF2", "\uD83C\uDDF9\uD83C\uDDF3", "\uD83C\uDDF9\uD83C\uDDF4", "\uD83C\uDDF9\uD83C\uDDF7", "\uD83C\uDDF9\uD83C\uDDF9", "\uD83C\uDDF9\uD83C\uDDFB", "\uD83C\uDDF9\uD83C\uDDFC", "\uD83C\uDDF9\uD83C\uDDFF", "\uD83C\uDDFA\uD83C\uDDE6", "\uD83C\uDDFA\uD83C\uDDEC", "\uD83C\uDDFA\uD83C\uDDF2", "\uD83C\uDDFA\uD83C\uDDF3", "\uD83C\uDDFA\uD83C\uDDF8", "\uD83C\uDDFA\uD83C\uDDFE", "\uD83C\uDDFA\uD83C\uDDFF", "\uD83C\uDDFB\uD83C\uDDE6", "\uD83C\uDDFB\uD83C\uDDE8", "\uD83C\uDDFB\uD83C\uDDEA", "\uD83C\uDDFB\uD83C\uDDEC", "\uD83C\uDDFB\uD83C\uDDEE", "\uD83C\uDDFB\uD83C\uDDF3", "\uD83C\uDDFB\uD83C\uDDFA", "\uD83C\uDDFC\uD83C\uDDEB", "\uD83C\uDDFC\uD83C\uDDF8", "\uD83C\uDDFD\uD83C\uDDF0", "\uD83C\uDDFE\uD83C\uDDEA", "\uD83C\uDDFE\uD83C\uDDF9", "\uD83C\uDDFF\uD83C\uDDE6", "\uD83C\uDDFF\uD83C\uDDF2", "\uD83C\uDDFF\uD83C\uDDFC"];
|
|
return RGI_Emoji_Flag_Sequence;
|
|
}
|
|
|
|
var RGI_Emoji_Modifier_Sequence = {};
|
|
|
|
var hasRequiredRGI_Emoji_Modifier_Sequence;
|
|
function requireRGI_Emoji_Modifier_Sequence() {
|
|
if (hasRequiredRGI_Emoji_Modifier_Sequence) return RGI_Emoji_Modifier_Sequence;
|
|
hasRequiredRGI_Emoji_Modifier_Sequence = 1;
|
|
var set = regenerate$2.exports();
|
|
RGI_Emoji_Modifier_Sequence.characters = set;
|
|
RGI_Emoji_Modifier_Sequence.strings = ["\u261D\uD83C\uDFFB", "\u261D\uD83C\uDFFC", "\u261D\uD83C\uDFFD", "\u261D\uD83C\uDFFE", "\u261D\uD83C\uDFFF", "\u26F9\uD83C\uDFFB", "\u26F9\uD83C\uDFFC", "\u26F9\uD83C\uDFFD", "\u26F9\uD83C\uDFFE", "\u26F9\uD83C\uDFFF", "\u270A\uD83C\uDFFB", "\u270A\uD83C\uDFFC", "\u270A\uD83C\uDFFD", "\u270A\uD83C\uDFFE", "\u270A\uD83C\uDFFF", "\u270B\uD83C\uDFFB", "\u270B\uD83C\uDFFC", "\u270B\uD83C\uDFFD", "\u270B\uD83C\uDFFE", "\u270B\uD83C\uDFFF", "\u270C\uD83C\uDFFB", "\u270C\uD83C\uDFFC", "\u270C\uD83C\uDFFD", "\u270C\uD83C\uDFFE", "\u270C\uD83C\uDFFF", "\u270D\uD83C\uDFFB", "\u270D\uD83C\uDFFC", "\u270D\uD83C\uDFFD", "\u270D\uD83C\uDFFE", "\u270D\uD83C\uDFFF", "\uD83C\uDF85\uD83C\uDFFB", "\uD83C\uDF85\uD83C\uDFFC", "\uD83C\uDF85\uD83C\uDFFD", "\uD83C\uDF85\uD83C\uDFFE", "\uD83C\uDF85\uD83C\uDFFF", "\uD83C\uDFC2\uD83C\uDFFB", "\uD83C\uDFC2\uD83C\uDFFC", "\uD83C\uDFC2\uD83C\uDFFD", "\uD83C\uDFC2\uD83C\uDFFE", "\uD83C\uDFC2\uD83C\uDFFF", "\uD83C\uDFC3\uD83C\uDFFB", "\uD83C\uDFC3\uD83C\uDFFC", "\uD83C\uDFC3\uD83C\uDFFD", "\uD83C\uDFC3\uD83C\uDFFE", "\uD83C\uDFC3\uD83C\uDFFF", "\uD83C\uDFC4\uD83C\uDFFB", "\uD83C\uDFC4\uD83C\uDFFC", "\uD83C\uDFC4\uD83C\uDFFD", "\uD83C\uDFC4\uD83C\uDFFE", "\uD83C\uDFC4\uD83C\uDFFF", "\uD83C\uDFC7\uD83C\uDFFB", "\uD83C\uDFC7\uD83C\uDFFC", "\uD83C\uDFC7\uD83C\uDFFD", "\uD83C\uDFC7\uD83C\uDFFE", "\uD83C\uDFC7\uD83C\uDFFF", "\uD83C\uDFCA\uD83C\uDFFB", "\uD83C\uDFCA\uD83C\uDFFC", "\uD83C\uDFCA\uD83C\uDFFD", "\uD83C\uDFCA\uD83C\uDFFE", "\uD83C\uDFCA\uD83C\uDFFF", "\uD83C\uDFCB\uD83C\uDFFB", "\uD83C\uDFCB\uD83C\uDFFC", "\uD83C\uDFCB\uD83C\uDFFD", "\uD83C\uDFCB\uD83C\uDFFE", "\uD83C\uDFCB\uD83C\uDFFF", "\uD83C\uDFCC\uD83C\uDFFB", "\uD83C\uDFCC\uD83C\uDFFC", "\uD83C\uDFCC\uD83C\uDFFD", "\uD83C\uDFCC\uD83C\uDFFE", "\uD83C\uDFCC\uD83C\uDFFF", "\uD83D\uDC42\uD83C\uDFFB", "\uD83D\uDC42\uD83C\uDFFC", "\uD83D\uDC42\uD83C\uDFFD", "\uD83D\uDC42\uD83C\uDFFE", "\uD83D\uDC42\uD83C\uDFFF", "\uD83D\uDC43\uD83C\uDFFB", "\uD83D\uDC43\uD83C\uDFFC", "\uD83D\uDC43\uD83C\uDFFD", "\uD83D\uDC43\uD83C\uDFFE", "\uD83D\uDC43\uD83C\uDFFF", "\uD83D\uDC46\uD83C\uDFFB", "\uD83D\uDC46\uD83C\uDFFC", "\uD83D\uDC46\uD83C\uDFFD", "\uD83D\uDC46\uD83C\uDFFE", "\uD83D\uDC46\uD83C\uDFFF", "\uD83D\uDC47\uD83C\uDFFB", "\uD83D\uDC47\uD83C\uDFFC", "\uD83D\uDC47\uD83C\uDFFD", "\uD83D\uDC47\uD83C\uDFFE", "\uD83D\uDC47\uD83C\uDFFF", "\uD83D\uDC48\uD83C\uDFFB", "\uD83D\uDC48\uD83C\uDFFC", "\uD83D\uDC48\uD83C\uDFFD", "\uD83D\uDC48\uD83C\uDFFE", "\uD83D\uDC48\uD83C\uDFFF", "\uD83D\uDC49\uD83C\uDFFB", "\uD83D\uDC49\uD83C\uDFFC", "\uD83D\uDC49\uD83C\uDFFD", "\uD83D\uDC49\uD83C\uDFFE", "\uD83D\uDC49\uD83C\uDFFF", "\uD83D\uDC4A\uD83C\uDFFB", "\uD83D\uDC4A\uD83C\uDFFC", "\uD83D\uDC4A\uD83C\uDFFD", "\uD83D\uDC4A\uD83C\uDFFE", "\uD83D\uDC4A\uD83C\uDFFF", "\uD83D\uDC4B\uD83C\uDFFB", "\uD83D\uDC4B\uD83C\uDFFC", "\uD83D\uDC4B\uD83C\uDFFD", "\uD83D\uDC4B\uD83C\uDFFE", "\uD83D\uDC4B\uD83C\uDFFF", "\uD83D\uDC4C\uD83C\uDFFB", "\uD83D\uDC4C\uD83C\uDFFC", "\uD83D\uDC4C\uD83C\uDFFD", "\uD83D\uDC4C\uD83C\uDFFE", "\uD83D\uDC4C\uD83C\uDFFF", "\uD83D\uDC4D\uD83C\uDFFB", "\uD83D\uDC4D\uD83C\uDFFC", "\uD83D\uDC4D\uD83C\uDFFD", "\uD83D\uDC4D\uD83C\uDFFE", "\uD83D\uDC4D\uD83C\uDFFF", "\uD83D\uDC4E\uD83C\uDFFB", "\uD83D\uDC4E\uD83C\uDFFC", "\uD83D\uDC4E\uD83C\uDFFD", "\uD83D\uDC4E\uD83C\uDFFE", "\uD83D\uDC4E\uD83C\uDFFF", "\uD83D\uDC4F\uD83C\uDFFB", "\uD83D\uDC4F\uD83C\uDFFC", "\uD83D\uDC4F\uD83C\uDFFD", "\uD83D\uDC4F\uD83C\uDFFE", "\uD83D\uDC4F\uD83C\uDFFF", "\uD83D\uDC50\uD83C\uDFFB", "\uD83D\uDC50\uD83C\uDFFC", "\uD83D\uDC50\uD83C\uDFFD", "\uD83D\uDC50\uD83C\uDFFE", "\uD83D\uDC50\uD83C\uDFFF", "\uD83D\uDC66\uD83C\uDFFB", "\uD83D\uDC66\uD83C\uDFFC", "\uD83D\uDC66\uD83C\uDFFD", "\uD83D\uDC66\uD83C\uDFFE", "\uD83D\uDC66\uD83C\uDFFF", "\uD83D\uDC67\uD83C\uDFFB", "\uD83D\uDC67\uD83C\uDFFC", "\uD83D\uDC67\uD83C\uDFFD", "\uD83D\uDC67\uD83C\uDFFE", "\uD83D\uDC67\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC6B\uD83C\uDFFB", "\uD83D\uDC6B\uD83C\uDFFC", "\uD83D\uDC6B\uD83C\uDFFD", "\uD83D\uDC6B\uD83C\uDFFE", "\uD83D\uDC6B\uD83C\uDFFF", "\uD83D\uDC6C\uD83C\uDFFB", "\uD83D\uDC6C\uD83C\uDFFC", "\uD83D\uDC6C\uD83C\uDFFD", "\uD83D\uDC6C\uD83C\uDFFE", "\uD83D\uDC6C\uD83C\uDFFF", "\uD83D\uDC6D\uD83C\uDFFB", "\uD83D\uDC6D\uD83C\uDFFC", "\uD83D\uDC6D\uD83C\uDFFD", "\uD83D\uDC6D\uD83C\uDFFE", "\uD83D\uDC6D\uD83C\uDFFF", "\uD83D\uDC6E\uD83C\uDFFB", "\uD83D\uDC6E\uD83C\uDFFC", "\uD83D\uDC6E\uD83C\uDFFD", "\uD83D\uDC6E\uD83C\uDFFE", "\uD83D\uDC6E\uD83C\uDFFF", "\uD83D\uDC70\uD83C\uDFFB", "\uD83D\uDC70\uD83C\uDFFC", "\uD83D\uDC70\uD83C\uDFFD", "\uD83D\uDC70\uD83C\uDFFE", "\uD83D\uDC70\uD83C\uDFFF", "\uD83D\uDC71\uD83C\uDFFB", "\uD83D\uDC71\uD83C\uDFFC", "\uD83D\uDC71\uD83C\uDFFD", "\uD83D\uDC71\uD83C\uDFFE", "\uD83D\uDC71\uD83C\uDFFF", "\uD83D\uDC72\uD83C\uDFFB", "\uD83D\uDC72\uD83C\uDFFC", "\uD83D\uDC72\uD83C\uDFFD", "\uD83D\uDC72\uD83C\uDFFE", "\uD83D\uDC72\uD83C\uDFFF", "\uD83D\uDC73\uD83C\uDFFB", "\uD83D\uDC73\uD83C\uDFFC", "\uD83D\uDC73\uD83C\uDFFD", "\uD83D\uDC73\uD83C\uDFFE", "\uD83D\uDC73\uD83C\uDFFF", "\uD83D\uDC74\uD83C\uDFFB", "\uD83D\uDC74\uD83C\uDFFC", "\uD83D\uDC74\uD83C\uDFFD", "\uD83D\uDC74\uD83C\uDFFE", "\uD83D\uDC74\uD83C\uDFFF", "\uD83D\uDC75\uD83C\uDFFB", "\uD83D\uDC75\uD83C\uDFFC", "\uD83D\uDC75\uD83C\uDFFD", "\uD83D\uDC75\uD83C\uDFFE", "\uD83D\uDC75\uD83C\uDFFF", "\uD83D\uDC76\uD83C\uDFFB", "\uD83D\uDC76\uD83C\uDFFC", "\uD83D\uDC76\uD83C\uDFFD", "\uD83D\uDC76\uD83C\uDFFE", "\uD83D\uDC76\uD83C\uDFFF", "\uD83D\uDC77\uD83C\uDFFB", "\uD83D\uDC77\uD83C\uDFFC", "\uD83D\uDC77\uD83C\uDFFD", "\uD83D\uDC77\uD83C\uDFFE", "\uD83D\uDC77\uD83C\uDFFF", "\uD83D\uDC78\uD83C\uDFFB", "\uD83D\uDC78\uD83C\uDFFC", "\uD83D\uDC78\uD83C\uDFFD", "\uD83D\uDC78\uD83C\uDFFE", "\uD83D\uDC78\uD83C\uDFFF", "\uD83D\uDC7C\uD83C\uDFFB", "\uD83D\uDC7C\uD83C\uDFFC", "\uD83D\uDC7C\uD83C\uDFFD", "\uD83D\uDC7C\uD83C\uDFFE", "\uD83D\uDC7C\uD83C\uDFFF", "\uD83D\uDC81\uD83C\uDFFB", "\uD83D\uDC81\uD83C\uDFFC", "\uD83D\uDC81\uD83C\uDFFD", "\uD83D\uDC81\uD83C\uDFFE", "\uD83D\uDC81\uD83C\uDFFF", "\uD83D\uDC82\uD83C\uDFFB", "\uD83D\uDC82\uD83C\uDFFC", "\uD83D\uDC82\uD83C\uDFFD", "\uD83D\uDC82\uD83C\uDFFE", "\uD83D\uDC82\uD83C\uDFFF", "\uD83D\uDC83\uD83C\uDFFB", "\uD83D\uDC83\uD83C\uDFFC", "\uD83D\uDC83\uD83C\uDFFD", "\uD83D\uDC83\uD83C\uDFFE", "\uD83D\uDC83\uD83C\uDFFF", "\uD83D\uDC85\uD83C\uDFFB", "\uD83D\uDC85\uD83C\uDFFC", "\uD83D\uDC85\uD83C\uDFFD", "\uD83D\uDC85\uD83C\uDFFE", "\uD83D\uDC85\uD83C\uDFFF", "\uD83D\uDC86\uD83C\uDFFB", "\uD83D\uDC86\uD83C\uDFFC", "\uD83D\uDC86\uD83C\uDFFD", "\uD83D\uDC86\uD83C\uDFFE", "\uD83D\uDC86\uD83C\uDFFF", "\uD83D\uDC87\uD83C\uDFFB", "\uD83D\uDC87\uD83C\uDFFC", "\uD83D\uDC87\uD83C\uDFFD", "\uD83D\uDC87\uD83C\uDFFE", "\uD83D\uDC87\uD83C\uDFFF", "\uD83D\uDC8F\uD83C\uDFFB", "\uD83D\uDC8F\uD83C\uDFFC", "\uD83D\uDC8F\uD83C\uDFFD", "\uD83D\uDC8F\uD83C\uDFFE", "\uD83D\uDC8F\uD83C\uDFFF", "\uD83D\uDC91\uD83C\uDFFB", "\uD83D\uDC91\uD83C\uDFFC", "\uD83D\uDC91\uD83C\uDFFD", "\uD83D\uDC91\uD83C\uDFFE", "\uD83D\uDC91\uD83C\uDFFF", "\uD83D\uDCAA\uD83C\uDFFB", "\uD83D\uDCAA\uD83C\uDFFC", "\uD83D\uDCAA\uD83C\uDFFD", "\uD83D\uDCAA\uD83C\uDFFE", "\uD83D\uDCAA\uD83C\uDFFF", "\uD83D\uDD74\uD83C\uDFFB", "\uD83D\uDD74\uD83C\uDFFC", "\uD83D\uDD74\uD83C\uDFFD", "\uD83D\uDD74\uD83C\uDFFE", "\uD83D\uDD74\uD83C\uDFFF", "\uD83D\uDD75\uD83C\uDFFB", "\uD83D\uDD75\uD83C\uDFFC", "\uD83D\uDD75\uD83C\uDFFD", "\uD83D\uDD75\uD83C\uDFFE", "\uD83D\uDD75\uD83C\uDFFF", "\uD83D\uDD7A\uD83C\uDFFB", "\uD83D\uDD7A\uD83C\uDFFC", "\uD83D\uDD7A\uD83C\uDFFD", "\uD83D\uDD7A\uD83C\uDFFE", "\uD83D\uDD7A\uD83C\uDFFF", "\uD83D\uDD90\uD83C\uDFFB", "\uD83D\uDD90\uD83C\uDFFC", "\uD83D\uDD90\uD83C\uDFFD", "\uD83D\uDD90\uD83C\uDFFE", "\uD83D\uDD90\uD83C\uDFFF", "\uD83D\uDD95\uD83C\uDFFB", "\uD83D\uDD95\uD83C\uDFFC", "\uD83D\uDD95\uD83C\uDFFD", "\uD83D\uDD95\uD83C\uDFFE", "\uD83D\uDD95\uD83C\uDFFF", "\uD83D\uDD96\uD83C\uDFFB", "\uD83D\uDD96\uD83C\uDFFC", "\uD83D\uDD96\uD83C\uDFFD", "\uD83D\uDD96\uD83C\uDFFE", "\uD83D\uDD96\uD83C\uDFFF", "\uD83D\uDE45\uD83C\uDFFB", "\uD83D\uDE45\uD83C\uDFFC", "\uD83D\uDE45\uD83C\uDFFD", "\uD83D\uDE45\uD83C\uDFFE", "\uD83D\uDE45\uD83C\uDFFF", "\uD83D\uDE46\uD83C\uDFFB", "\uD83D\uDE46\uD83C\uDFFC", "\uD83D\uDE46\uD83C\uDFFD", "\uD83D\uDE46\uD83C\uDFFE", "\uD83D\uDE46\uD83C\uDFFF", "\uD83D\uDE47\uD83C\uDFFB", "\uD83D\uDE47\uD83C\uDFFC", "\uD83D\uDE47\uD83C\uDFFD", "\uD83D\uDE47\uD83C\uDFFE", "\uD83D\uDE47\uD83C\uDFFF", "\uD83D\uDE4B\uD83C\uDFFB", "\uD83D\uDE4B\uD83C\uDFFC", "\uD83D\uDE4B\uD83C\uDFFD", "\uD83D\uDE4B\uD83C\uDFFE", "\uD83D\uDE4B\uD83C\uDFFF", "\uD83D\uDE4C\uD83C\uDFFB", "\uD83D\uDE4C\uD83C\uDFFC", "\uD83D\uDE4C\uD83C\uDFFD", "\uD83D\uDE4C\uD83C\uDFFE", "\uD83D\uDE4C\uD83C\uDFFF", "\uD83D\uDE4D\uD83C\uDFFB", "\uD83D\uDE4D\uD83C\uDFFC", "\uD83D\uDE4D\uD83C\uDFFD", "\uD83D\uDE4D\uD83C\uDFFE", "\uD83D\uDE4D\uD83C\uDFFF", "\uD83D\uDE4E\uD83C\uDFFB", "\uD83D\uDE4E\uD83C\uDFFC", "\uD83D\uDE4E\uD83C\uDFFD", "\uD83D\uDE4E\uD83C\uDFFE", "\uD83D\uDE4E\uD83C\uDFFF", "\uD83D\uDE4F\uD83C\uDFFB", "\uD83D\uDE4F\uD83C\uDFFC", "\uD83D\uDE4F\uD83C\uDFFD", "\uD83D\uDE4F\uD83C\uDFFE", "\uD83D\uDE4F\uD83C\uDFFF", "\uD83D\uDEA3\uD83C\uDFFB", "\uD83D\uDEA3\uD83C\uDFFC", "\uD83D\uDEA3\uD83C\uDFFD", "\uD83D\uDEA3\uD83C\uDFFE", "\uD83D\uDEA3\uD83C\uDFFF", "\uD83D\uDEB4\uD83C\uDFFB", "\uD83D\uDEB4\uD83C\uDFFC", "\uD83D\uDEB4\uD83C\uDFFD", "\uD83D\uDEB4\uD83C\uDFFE", "\uD83D\uDEB4\uD83C\uDFFF", "\uD83D\uDEB5\uD83C\uDFFB", "\uD83D\uDEB5\uD83C\uDFFC", "\uD83D\uDEB5\uD83C\uDFFD", "\uD83D\uDEB5\uD83C\uDFFE", "\uD83D\uDEB5\uD83C\uDFFF", "\uD83D\uDEB6\uD83C\uDFFB", "\uD83D\uDEB6\uD83C\uDFFC", "\uD83D\uDEB6\uD83C\uDFFD", "\uD83D\uDEB6\uD83C\uDFFE", "\uD83D\uDEB6\uD83C\uDFFF", "\uD83D\uDEC0\uD83C\uDFFB", "\uD83D\uDEC0\uD83C\uDFFC", "\uD83D\uDEC0\uD83C\uDFFD", "\uD83D\uDEC0\uD83C\uDFFE", "\uD83D\uDEC0\uD83C\uDFFF", "\uD83D\uDECC\uD83C\uDFFB", "\uD83D\uDECC\uD83C\uDFFC", "\uD83D\uDECC\uD83C\uDFFD", "\uD83D\uDECC\uD83C\uDFFE", "\uD83D\uDECC\uD83C\uDFFF", "\uD83E\uDD0C\uD83C\uDFFB", "\uD83E\uDD0C\uD83C\uDFFC", "\uD83E\uDD0C\uD83C\uDFFD", "\uD83E\uDD0C\uD83C\uDFFE", "\uD83E\uDD0C\uD83C\uDFFF", "\uD83E\uDD0F\uD83C\uDFFB", "\uD83E\uDD0F\uD83C\uDFFC", "\uD83E\uDD0F\uD83C\uDFFD", "\uD83E\uDD0F\uD83C\uDFFE", "\uD83E\uDD0F\uD83C\uDFFF", "\uD83E\uDD18\uD83C\uDFFB", "\uD83E\uDD18\uD83C\uDFFC", "\uD83E\uDD18\uD83C\uDFFD", "\uD83E\uDD18\uD83C\uDFFE", "\uD83E\uDD18\uD83C\uDFFF", "\uD83E\uDD19\uD83C\uDFFB", "\uD83E\uDD19\uD83C\uDFFC", "\uD83E\uDD19\uD83C\uDFFD", "\uD83E\uDD19\uD83C\uDFFE", "\uD83E\uDD19\uD83C\uDFFF", "\uD83E\uDD1A\uD83C\uDFFB", "\uD83E\uDD1A\uD83C\uDFFC", "\uD83E\uDD1A\uD83C\uDFFD", "\uD83E\uDD1A\uD83C\uDFFE", "\uD83E\uDD1A\uD83C\uDFFF", "\uD83E\uDD1B\uD83C\uDFFB", "\uD83E\uDD1B\uD83C\uDFFC", "\uD83E\uDD1B\uD83C\uDFFD", "\uD83E\uDD1B\uD83C\uDFFE", "\uD83E\uDD1B\uD83C\uDFFF", "\uD83E\uDD1C\uD83C\uDFFB", "\uD83E\uDD1C\uD83C\uDFFC", "\uD83E\uDD1C\uD83C\uDFFD", "\uD83E\uDD1C\uD83C\uDFFE", "\uD83E\uDD1C\uD83C\uDFFF", "\uD83E\uDD1D\uD83C\uDFFB", "\uD83E\uDD1D\uD83C\uDFFC", "\uD83E\uDD1D\uD83C\uDFFD", "\uD83E\uDD1D\uD83C\uDFFE", "\uD83E\uDD1D\uD83C\uDFFF", "\uD83E\uDD1E\uD83C\uDFFB", "\uD83E\uDD1E\uD83C\uDFFC", "\uD83E\uDD1E\uD83C\uDFFD", "\uD83E\uDD1E\uD83C\uDFFE", "\uD83E\uDD1E\uD83C\uDFFF", "\uD83E\uDD1F\uD83C\uDFFB", "\uD83E\uDD1F\uD83C\uDFFC", "\uD83E\uDD1F\uD83C\uDFFD", "\uD83E\uDD1F\uD83C\uDFFE", "\uD83E\uDD1F\uD83C\uDFFF", "\uD83E\uDD26\uD83C\uDFFB", "\uD83E\uDD26\uD83C\uDFFC", "\uD83E\uDD26\uD83C\uDFFD", "\uD83E\uDD26\uD83C\uDFFE", "\uD83E\uDD26\uD83C\uDFFF", "\uD83E\uDD30\uD83C\uDFFB", "\uD83E\uDD30\uD83C\uDFFC", "\uD83E\uDD30\uD83C\uDFFD", "\uD83E\uDD30\uD83C\uDFFE", "\uD83E\uDD30\uD83C\uDFFF", "\uD83E\uDD31\uD83C\uDFFB", "\uD83E\uDD31\uD83C\uDFFC", "\uD83E\uDD31\uD83C\uDFFD", "\uD83E\uDD31\uD83C\uDFFE", "\uD83E\uDD31\uD83C\uDFFF", "\uD83E\uDD32\uD83C\uDFFB", "\uD83E\uDD32\uD83C\uDFFC", "\uD83E\uDD32\uD83C\uDFFD", "\uD83E\uDD32\uD83C\uDFFE", "\uD83E\uDD32\uD83C\uDFFF", "\uD83E\uDD33\uD83C\uDFFB", "\uD83E\uDD33\uD83C\uDFFC", "\uD83E\uDD33\uD83C\uDFFD", "\uD83E\uDD33\uD83C\uDFFE", "\uD83E\uDD33\uD83C\uDFFF", "\uD83E\uDD34\uD83C\uDFFB", "\uD83E\uDD34\uD83C\uDFFC", "\uD83E\uDD34\uD83C\uDFFD", "\uD83E\uDD34\uD83C\uDFFE", "\uD83E\uDD34\uD83C\uDFFF", "\uD83E\uDD35\uD83C\uDFFB", "\uD83E\uDD35\uD83C\uDFFC", "\uD83E\uDD35\uD83C\uDFFD", "\uD83E\uDD35\uD83C\uDFFE", "\uD83E\uDD35\uD83C\uDFFF", "\uD83E\uDD36\uD83C\uDFFB", "\uD83E\uDD36\uD83C\uDFFC", "\uD83E\uDD36\uD83C\uDFFD", "\uD83E\uDD36\uD83C\uDFFE", "\uD83E\uDD36\uD83C\uDFFF", "\uD83E\uDD37\uD83C\uDFFB", "\uD83E\uDD37\uD83C\uDFFC", "\uD83E\uDD37\uD83C\uDFFD", "\uD83E\uDD37\uD83C\uDFFE", "\uD83E\uDD37\uD83C\uDFFF", "\uD83E\uDD38\uD83C\uDFFB", "\uD83E\uDD38\uD83C\uDFFC", "\uD83E\uDD38\uD83C\uDFFD", "\uD83E\uDD38\uD83C\uDFFE", "\uD83E\uDD38\uD83C\uDFFF", "\uD83E\uDD39\uD83C\uDFFB", "\uD83E\uDD39\uD83C\uDFFC", "\uD83E\uDD39\uD83C\uDFFD", "\uD83E\uDD39\uD83C\uDFFE", "\uD83E\uDD39\uD83C\uDFFF", "\uD83E\uDD3D\uD83C\uDFFB", "\uD83E\uDD3D\uD83C\uDFFC", "\uD83E\uDD3D\uD83C\uDFFD", "\uD83E\uDD3D\uD83C\uDFFE", "\uD83E\uDD3D\uD83C\uDFFF", "\uD83E\uDD3E\uD83C\uDFFB", "\uD83E\uDD3E\uD83C\uDFFC", "\uD83E\uDD3E\uD83C\uDFFD", "\uD83E\uDD3E\uD83C\uDFFE", "\uD83E\uDD3E\uD83C\uDFFF", "\uD83E\uDD77\uD83C\uDFFB", "\uD83E\uDD77\uD83C\uDFFC", "\uD83E\uDD77\uD83C\uDFFD", "\uD83E\uDD77\uD83C\uDFFE", "\uD83E\uDD77\uD83C\uDFFF", "\uD83E\uDDB5\uD83C\uDFFB", "\uD83E\uDDB5\uD83C\uDFFC", "\uD83E\uDDB5\uD83C\uDFFD", "\uD83E\uDDB5\uD83C\uDFFE", "\uD83E\uDDB5\uD83C\uDFFF", "\uD83E\uDDB6\uD83C\uDFFB", "\uD83E\uDDB6\uD83C\uDFFC", "\uD83E\uDDB6\uD83C\uDFFD", "\uD83E\uDDB6\uD83C\uDFFE", "\uD83E\uDDB6\uD83C\uDFFF", "\uD83E\uDDB8\uD83C\uDFFB", "\uD83E\uDDB8\uD83C\uDFFC", "\uD83E\uDDB8\uD83C\uDFFD", "\uD83E\uDDB8\uD83C\uDFFE", "\uD83E\uDDB8\uD83C\uDFFF", "\uD83E\uDDB9\uD83C\uDFFB", "\uD83E\uDDB9\uD83C\uDFFC", "\uD83E\uDDB9\uD83C\uDFFD", "\uD83E\uDDB9\uD83C\uDFFE", "\uD83E\uDDB9\uD83C\uDFFF", "\uD83E\uDDBB\uD83C\uDFFB", "\uD83E\uDDBB\uD83C\uDFFC", "\uD83E\uDDBB\uD83C\uDFFD", "\uD83E\uDDBB\uD83C\uDFFE", "\uD83E\uDDBB\uD83C\uDFFF", "\uD83E\uDDCD\uD83C\uDFFB", "\uD83E\uDDCD\uD83C\uDFFC", "\uD83E\uDDCD\uD83C\uDFFD", "\uD83E\uDDCD\uD83C\uDFFE", "\uD83E\uDDCD\uD83C\uDFFF", "\uD83E\uDDCE\uD83C\uDFFB", "\uD83E\uDDCE\uD83C\uDFFC", "\uD83E\uDDCE\uD83C\uDFFD", "\uD83E\uDDCE\uD83C\uDFFE", "\uD83E\uDDCE\uD83C\uDFFF", "\uD83E\uDDCF\uD83C\uDFFB", "\uD83E\uDDCF\uD83C\uDFFC", "\uD83E\uDDCF\uD83C\uDFFD", "\uD83E\uDDCF\uD83C\uDFFE", "\uD83E\uDDCF\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD2\uD83C\uDFFB", "\uD83E\uDDD2\uD83C\uDFFC", "\uD83E\uDDD2\uD83C\uDFFD", "\uD83E\uDDD2\uD83C\uDFFE", "\uD83E\uDDD2\uD83C\uDFFF", "\uD83E\uDDD3\uD83C\uDFFB", "\uD83E\uDDD3\uD83C\uDFFC", "\uD83E\uDDD3\uD83C\uDFFD", "\uD83E\uDDD3\uD83C\uDFFE", "\uD83E\uDDD3\uD83C\uDFFF", "\uD83E\uDDD4\uD83C\uDFFB", "\uD83E\uDDD4\uD83C\uDFFC", "\uD83E\uDDD4\uD83C\uDFFD", "\uD83E\uDDD4\uD83C\uDFFE", "\uD83E\uDDD4\uD83C\uDFFF", "\uD83E\uDDD5\uD83C\uDFFB", "\uD83E\uDDD5\uD83C\uDFFC", "\uD83E\uDDD5\uD83C\uDFFD", "\uD83E\uDDD5\uD83C\uDFFE", "\uD83E\uDDD5\uD83C\uDFFF", "\uD83E\uDDD6\uD83C\uDFFB", "\uD83E\uDDD6\uD83C\uDFFC", "\uD83E\uDDD6\uD83C\uDFFD", "\uD83E\uDDD6\uD83C\uDFFE", "\uD83E\uDDD6\uD83C\uDFFF", "\uD83E\uDDD7\uD83C\uDFFB", "\uD83E\uDDD7\uD83C\uDFFC", "\uD83E\uDDD7\uD83C\uDFFD", "\uD83E\uDDD7\uD83C\uDFFE", "\uD83E\uDDD7\uD83C\uDFFF", "\uD83E\uDDD8\uD83C\uDFFB", "\uD83E\uDDD8\uD83C\uDFFC", "\uD83E\uDDD8\uD83C\uDFFD", "\uD83E\uDDD8\uD83C\uDFFE", "\uD83E\uDDD8\uD83C\uDFFF", "\uD83E\uDDD9\uD83C\uDFFB", "\uD83E\uDDD9\uD83C\uDFFC", "\uD83E\uDDD9\uD83C\uDFFD", "\uD83E\uDDD9\uD83C\uDFFE", "\uD83E\uDDD9\uD83C\uDFFF", "\uD83E\uDDDA\uD83C\uDFFB", "\uD83E\uDDDA\uD83C\uDFFC", "\uD83E\uDDDA\uD83C\uDFFD", "\uD83E\uDDDA\uD83C\uDFFE", "\uD83E\uDDDA\uD83C\uDFFF", "\uD83E\uDDDB\uD83C\uDFFB", "\uD83E\uDDDB\uD83C\uDFFC", "\uD83E\uDDDB\uD83C\uDFFD", "\uD83E\uDDDB\uD83C\uDFFE", "\uD83E\uDDDB\uD83C\uDFFF", "\uD83E\uDDDC\uD83C\uDFFB", "\uD83E\uDDDC\uD83C\uDFFC", "\uD83E\uDDDC\uD83C\uDFFD", "\uD83E\uDDDC\uD83C\uDFFE", "\uD83E\uDDDC\uD83C\uDFFF", "\uD83E\uDDDD\uD83C\uDFFB", "\uD83E\uDDDD\uD83C\uDFFC", "\uD83E\uDDDD\uD83C\uDFFD", "\uD83E\uDDDD\uD83C\uDFFE", "\uD83E\uDDDD\uD83C\uDFFF", "\uD83E\uDEC3\uD83C\uDFFB", "\uD83E\uDEC3\uD83C\uDFFC", "\uD83E\uDEC3\uD83C\uDFFD", "\uD83E\uDEC3\uD83C\uDFFE", "\uD83E\uDEC3\uD83C\uDFFF", "\uD83E\uDEC4\uD83C\uDFFB", "\uD83E\uDEC4\uD83C\uDFFC", "\uD83E\uDEC4\uD83C\uDFFD", "\uD83E\uDEC4\uD83C\uDFFE", "\uD83E\uDEC4\uD83C\uDFFF", "\uD83E\uDEC5\uD83C\uDFFB", "\uD83E\uDEC5\uD83C\uDFFC", "\uD83E\uDEC5\uD83C\uDFFD", "\uD83E\uDEC5\uD83C\uDFFE", "\uD83E\uDEC5\uD83C\uDFFF", "\uD83E\uDEF0\uD83C\uDFFB", "\uD83E\uDEF0\uD83C\uDFFC", "\uD83E\uDEF0\uD83C\uDFFD", "\uD83E\uDEF0\uD83C\uDFFE", "\uD83E\uDEF0\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFB", "\uD83E\uDEF1\uD83C\uDFFC", "\uD83E\uDEF1\uD83C\uDFFD", "\uD83E\uDEF1\uD83C\uDFFE", "\uD83E\uDEF1\uD83C\uDFFF", "\uD83E\uDEF2\uD83C\uDFFB", "\uD83E\uDEF2\uD83C\uDFFC", "\uD83E\uDEF2\uD83C\uDFFD", "\uD83E\uDEF2\uD83C\uDFFE", "\uD83E\uDEF2\uD83C\uDFFF", "\uD83E\uDEF3\uD83C\uDFFB", "\uD83E\uDEF3\uD83C\uDFFC", "\uD83E\uDEF3\uD83C\uDFFD", "\uD83E\uDEF3\uD83C\uDFFE", "\uD83E\uDEF3\uD83C\uDFFF", "\uD83E\uDEF4\uD83C\uDFFB", "\uD83E\uDEF4\uD83C\uDFFC", "\uD83E\uDEF4\uD83C\uDFFD", "\uD83E\uDEF4\uD83C\uDFFE", "\uD83E\uDEF4\uD83C\uDFFF", "\uD83E\uDEF5\uD83C\uDFFB", "\uD83E\uDEF5\uD83C\uDFFC", "\uD83E\uDEF5\uD83C\uDFFD", "\uD83E\uDEF5\uD83C\uDFFE", "\uD83E\uDEF5\uD83C\uDFFF", "\uD83E\uDEF6\uD83C\uDFFB", "\uD83E\uDEF6\uD83C\uDFFC", "\uD83E\uDEF6\uD83C\uDFFD", "\uD83E\uDEF6\uD83C\uDFFE", "\uD83E\uDEF6\uD83C\uDFFF", "\uD83E\uDEF7\uD83C\uDFFB", "\uD83E\uDEF7\uD83C\uDFFC", "\uD83E\uDEF7\uD83C\uDFFD", "\uD83E\uDEF7\uD83C\uDFFE", "\uD83E\uDEF7\uD83C\uDFFF", "\uD83E\uDEF8\uD83C\uDFFB", "\uD83E\uDEF8\uD83C\uDFFC", "\uD83E\uDEF8\uD83C\uDFFD", "\uD83E\uDEF8\uD83C\uDFFE", "\uD83E\uDEF8\uD83C\uDFFF"];
|
|
return RGI_Emoji_Modifier_Sequence;
|
|
}
|
|
|
|
var RGI_Emoji_Tag_Sequence = {};
|
|
|
|
var hasRequiredRGI_Emoji_Tag_Sequence;
|
|
function requireRGI_Emoji_Tag_Sequence() {
|
|
if (hasRequiredRGI_Emoji_Tag_Sequence) return RGI_Emoji_Tag_Sequence;
|
|
hasRequiredRGI_Emoji_Tag_Sequence = 1;
|
|
var set = regenerate$2.exports();
|
|
RGI_Emoji_Tag_Sequence.characters = set;
|
|
RGI_Emoji_Tag_Sequence.strings = ["\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F", "\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74\uDB40\uDC7F", "\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73\uDB40\uDC7F"];
|
|
return RGI_Emoji_Tag_Sequence;
|
|
}
|
|
|
|
var RGI_Emoji_ZWJ_Sequence = {};
|
|
|
|
var hasRequiredRGI_Emoji_ZWJ_Sequence;
|
|
function requireRGI_Emoji_ZWJ_Sequence() {
|
|
if (hasRequiredRGI_Emoji_ZWJ_Sequence) return RGI_Emoji_ZWJ_Sequence;
|
|
hasRequiredRGI_Emoji_ZWJ_Sequence = 1;
|
|
var set = regenerate$2.exports();
|
|
RGI_Emoji_ZWJ_Sequence.characters = set;
|
|
RGI_Emoji_ZWJ_Sequence.strings = ["\uD83D\uDC68\u200D\u2764\uFE0F\u200D\uD83D\uDC68", "\uD83D\uDC68\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68", "\uD83D\uDC68\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC66\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC66\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC68", "\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC69", "\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68", "\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69", "\uD83D\uDC69\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC67", "\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67", "\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67", "\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83E\uDDD1\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF84", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF84", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF84", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF84", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF84", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFC", "\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFD", "\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFE", "\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFB", "\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFD", "\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFE", "\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFB", "\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFC", "\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFE", "\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFB", "\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFC", "\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFD", "\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFB", "\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFC", "\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFD", "\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFE", "\uD83D\uDC68\u200D\u2695\uFE0F", "\uD83D\uDC68\u200D\u2696\uFE0F", "\uD83D\uDC68\u200D\u2708\uFE0F", "\uD83D\uDC68\u200D\uD83C\uDF3E", "\uD83D\uDC68\u200D\uD83C\uDF73", "\uD83D\uDC68\u200D\uD83C\uDF7C", "\uD83D\uDC68\u200D\uD83C\uDF93", "\uD83D\uDC68\u200D\uD83C\uDFA4", "\uD83D\uDC68\u200D\uD83C\uDFA8", "\uD83D\uDC68\u200D\uD83C\uDFEB", "\uD83D\uDC68\u200D\uD83C\uDFED", "\uD83D\uDC68\u200D\uD83D\uDCBB", "\uD83D\uDC68\u200D\uD83D\uDCBC", "\uD83D\uDC68\u200D\uD83D\uDD27", "\uD83D\uDC68\u200D\uD83D\uDD2C", "\uD83D\uDC68\u200D\uD83D\uDE80", "\uD83D\uDC68\u200D\uD83D\uDE92", "\uD83D\uDC68\u200D\uD83E\uDDAF", "\uD83D\uDC68\u200D\uD83E\uDDBC", "\uD83D\uDC68\u200D\uD83E\uDDBD", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2695\uFE0F", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2696\uFE0F", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2708\uFE0F", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF3E", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF73", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF7C", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF93", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFA4", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFA8", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFEB", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFED", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDCBB", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDCBC", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDD27", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDD2C", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDE80", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDE92", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDAF", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBC", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBD", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2695\uFE0F", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2696\uFE0F", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2708\uFE0F", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF3E", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF73", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF7C", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF93", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFA4", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFA8", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFEB", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFED", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDCBB", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDCBC", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDD27", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDD2C", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDE80", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDE92", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDAF", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBC", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBD", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2695\uFE0F", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2696\uFE0F", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2708\uFE0F", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF3E", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF73", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF7C", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF93", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFA4", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFA8", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFEB", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFED", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDCBB", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDCBC", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDD27", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDD2C", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDE80", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDE92", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDAF", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBC", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBD", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2695\uFE0F", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2696\uFE0F", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2708\uFE0F", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF3E", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF73", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF7C", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF93", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFA4", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFA8", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFEB", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFED", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDCBB", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDCBC", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDD27", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDD2C", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDE80", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDE92", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDAF", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBC", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBD", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2695\uFE0F", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2696\uFE0F", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2708\uFE0F", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF3E", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF73", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF7C", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF93", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFA4", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFA8", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFEB", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFED", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDCBB", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDCBC", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDD27", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDD2C", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDE80", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDE92", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDAF", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBC", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBD", "\uD83D\uDC69\u200D\u2695\uFE0F", "\uD83D\uDC69\u200D\u2696\uFE0F", "\uD83D\uDC69\u200D\u2708\uFE0F", "\uD83D\uDC69\u200D\uD83C\uDF3E", "\uD83D\uDC69\u200D\uD83C\uDF73", "\uD83D\uDC69\u200D\uD83C\uDF7C", "\uD83D\uDC69\u200D\uD83C\uDF93", "\uD83D\uDC69\u200D\uD83C\uDFA4", "\uD83D\uDC69\u200D\uD83C\uDFA8", "\uD83D\uDC69\u200D\uD83C\uDFEB", "\uD83D\uDC69\u200D\uD83C\uDFED", "\uD83D\uDC69\u200D\uD83D\uDCBB", "\uD83D\uDC69\u200D\uD83D\uDCBC", "\uD83D\uDC69\u200D\uD83D\uDD27", "\uD83D\uDC69\u200D\uD83D\uDD2C", "\uD83D\uDC69\u200D\uD83D\uDE80", "\uD83D\uDC69\u200D\uD83D\uDE92", "\uD83D\uDC69\u200D\uD83E\uDDAF", "\uD83D\uDC69\u200D\uD83E\uDDBC", "\uD83D\uDC69\u200D\uD83E\uDDBD", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2695\uFE0F", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2696\uFE0F", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2708\uFE0F", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF3E", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF73", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF7C", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF93", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFA4", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFA8", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFEB", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFED", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDCBB", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDCBC", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDD27", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDD2C", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDE80", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDE92", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDAF", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBC", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBD", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2695\uFE0F", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2696\uFE0F", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2708\uFE0F", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF3E", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF73", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF7C", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF93", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFA4", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFA8", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFEB", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFED", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDCBB", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDCBC", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDD27", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDD2C", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDE80", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDE92", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDAF", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBC", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBD", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2695\uFE0F", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2696\uFE0F", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2708\uFE0F", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF3E", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF73", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF7C", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF93", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFA4", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFA8", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFEB", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFED", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDCBB", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDCBC", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDD27", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDD2C", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDE80", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDE92", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDAF", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBC", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBD", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2695\uFE0F", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2696\uFE0F", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2708\uFE0F", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF3E", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF73", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF7C", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF93", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFA4", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFA8", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFEB", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFED", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDCBB", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDCBC", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDD27", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDD2C", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDE80", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDE92", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDAF", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBC", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBD", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2695\uFE0F", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2696\uFE0F", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2708\uFE0F", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF3E", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF73", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF7C", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF93", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFA4", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFA8", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFEB", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFED", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDCBB", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDCBC", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDD27", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDD2C", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDE80", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDE92", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDAF", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBC", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBD", "\uD83E\uDDD1\u200D\u2695\uFE0F", "\uD83E\uDDD1\u200D\u2696\uFE0F", "\uD83E\uDDD1\u200D\u2708\uFE0F", "\uD83E\uDDD1\u200D\uD83C\uDF3E", "\uD83E\uDDD1\u200D\uD83C\uDF73", "\uD83E\uDDD1\u200D\uD83C\uDF7C", "\uD83E\uDDD1\u200D\uD83C\uDF93", "\uD83E\uDDD1\u200D\uD83C\uDFA4", "\uD83E\uDDD1\u200D\uD83C\uDFA8", "\uD83E\uDDD1\u200D\uD83C\uDFEB", "\uD83E\uDDD1\u200D\uD83C\uDFED", "\uD83E\uDDD1\u200D\uD83D\uDCBB", "\uD83E\uDDD1\u200D\uD83D\uDCBC", "\uD83E\uDDD1\u200D\uD83D\uDD27", "\uD83E\uDDD1\u200D\uD83D\uDD2C", "\uD83E\uDDD1\u200D\uD83D\uDE80", "\uD83E\uDDD1\u200D\uD83D\uDE92", "\uD83E\uDDD1\u200D\uD83E\uDDAF", "\uD83E\uDDD1\u200D\uD83E\uDDBC", "\uD83E\uDDD1\u200D\uD83E\uDDBD", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2695\uFE0F", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2696\uFE0F", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2708\uFE0F", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF3E", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF73", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF7C", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF93", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFA4", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFA8", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFEB", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFED", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDCBB", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDCBC", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDD27", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDD2C", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDE80", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDE92", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDAF", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBC", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBD", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2695\uFE0F", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2696\uFE0F", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2708\uFE0F", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF3E", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF73", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF7C", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF93", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFA4", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFA8", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFEB", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFED", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDCBB", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDCBC", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDD27", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDD2C", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDE80", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDE92", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDAF", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBC", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBD", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2695\uFE0F", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2696\uFE0F", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2708\uFE0F", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF3E", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF73", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF7C", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF93", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFA4", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFA8", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFEB", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFED", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDCBB", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDCBC", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDD27", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDD2C", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDE80", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDE92", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDAF", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBC", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBD", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2695\uFE0F", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2696\uFE0F", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2708\uFE0F", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF3E", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF73", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF7C", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF93", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFA4", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFA8", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFEB", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFED", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDCBB", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDCBC", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDD27", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDD2C", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDE80", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDE92", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDAF", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBC", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBD", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2695\uFE0F", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2696\uFE0F", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2708\uFE0F", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF3E", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF73", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF7C", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF93", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFA4", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFA8", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFEB", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFED", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDCBB", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDCBC", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDD27", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDD2C", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDE80", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDE92", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDAF", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBC", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBD", "\u26F9\uD83C\uDFFB\u200D\u2640\uFE0F", "\u26F9\uD83C\uDFFB\u200D\u2642\uFE0F", "\u26F9\uD83C\uDFFC\u200D\u2640\uFE0F", "\u26F9\uD83C\uDFFC\u200D\u2642\uFE0F", "\u26F9\uD83C\uDFFD\u200D\u2640\uFE0F", "\u26F9\uD83C\uDFFD\u200D\u2642\uFE0F", "\u26F9\uD83C\uDFFE\u200D\u2640\uFE0F", "\u26F9\uD83C\uDFFE\u200D\u2642\uFE0F", "\u26F9\uD83C\uDFFF\u200D\u2640\uFE0F", "\u26F9\uD83C\uDFFF\u200D\u2642\uFE0F", "\u26F9\uFE0F\u200D\u2640\uFE0F", "\u26F9\uFE0F\u200D\u2642\uFE0F", "\uD83C\uDFC3\u200D\u2640\uFE0F", "\uD83C\uDFC3\u200D\u2642\uFE0F", "\uD83C\uDFC3\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83C\uDFC3\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83C\uDFC3\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83C\uDFC3\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83C\uDFC3\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83C\uDFC3\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83C\uDFC3\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83C\uDFC3\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83C\uDFC3\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83C\uDFC3\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83C\uDFC4\u200D\u2640\uFE0F", "\uD83C\uDFC4\u200D\u2642\uFE0F", "\uD83C\uDFC4\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83C\uDFC4\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83C\uDFC4\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83C\uDFC4\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83C\uDFC4\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83C\uDFC4\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83C\uDFC4\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83C\uDFC4\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83C\uDFC4\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83C\uDFC4\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83C\uDFCA\u200D\u2640\uFE0F", "\uD83C\uDFCA\u200D\u2642\uFE0F", "\uD83C\uDFCA\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83C\uDFCA\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83C\uDFCA\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83C\uDFCA\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83C\uDFCA\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83C\uDFCA\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83C\uDFCA\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83C\uDFCA\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83C\uDFCA\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83C\uDFCA\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83C\uDFCB\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83C\uDFCB\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83C\uDFCB\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83C\uDFCB\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83C\uDFCB\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83C\uDFCB\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83C\uDFCB\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83C\uDFCB\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83C\uDFCB\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83C\uDFCB\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83C\uDFCB\uFE0F\u200D\u2640\uFE0F", "\uD83C\uDFCB\uFE0F\u200D\u2642\uFE0F", "\uD83C\uDFCC\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83C\uDFCC\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83C\uDFCC\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83C\uDFCC\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83C\uDFCC\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83C\uDFCC\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83C\uDFCC\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83C\uDFCC\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83C\uDFCC\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83C\uDFCC\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83C\uDFCC\uFE0F\u200D\u2640\uFE0F", "\uD83C\uDFCC\uFE0F\u200D\u2642\uFE0F", "\uD83D\uDC6E\u200D\u2640\uFE0F", "\uD83D\uDC6E\u200D\u2642\uFE0F", "\uD83D\uDC6E\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC6E\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC6E\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC6E\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC6E\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC6E\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC6E\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC6E\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC6E\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC6E\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC6F\u200D\u2640\uFE0F", "\uD83D\uDC6F\u200D\u2642\uFE0F", "\uD83D\uDC70\u200D\u2640\uFE0F", "\uD83D\uDC70\u200D\u2642\uFE0F", "\uD83D\uDC70\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC70\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC70\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC70\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC70\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC70\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC70\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC70\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC70\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC70\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC71\u200D\u2640\uFE0F", "\uD83D\uDC71\u200D\u2642\uFE0F", "\uD83D\uDC71\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC71\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC71\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC71\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC71\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC71\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC71\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC71\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC71\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC71\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC73\u200D\u2640\uFE0F", "\uD83D\uDC73\u200D\u2642\uFE0F", "\uD83D\uDC73\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC73\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC73\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC73\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC73\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC73\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC73\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC73\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC73\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC73\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC77\u200D\u2640\uFE0F", "\uD83D\uDC77\u200D\u2642\uFE0F", "\uD83D\uDC77\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC77\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC77\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC77\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC77\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC77\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC77\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC77\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC77\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC77\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC81\u200D\u2640\uFE0F", "\uD83D\uDC81\u200D\u2642\uFE0F", "\uD83D\uDC81\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC81\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC81\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC81\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC81\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC81\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC81\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC81\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC81\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC81\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC82\u200D\u2640\uFE0F", "\uD83D\uDC82\u200D\u2642\uFE0F", "\uD83D\uDC82\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC82\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC82\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC82\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC82\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC82\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC82\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC82\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC82\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC82\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC86\u200D\u2640\uFE0F", "\uD83D\uDC86\u200D\u2642\uFE0F", "\uD83D\uDC86\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC86\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC86\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC86\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC86\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC86\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC86\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC86\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC86\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC86\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC87\u200D\u2640\uFE0F", "\uD83D\uDC87\u200D\u2642\uFE0F", "\uD83D\uDC87\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC87\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC87\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC87\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC87\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC87\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC87\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC87\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC87\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC87\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDD75\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDD75\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDD75\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDD75\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDD75\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDD75\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDD75\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDD75\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDD75\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDD75\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDD75\uFE0F\u200D\u2640\uFE0F", "\uD83D\uDD75\uFE0F\u200D\u2642\uFE0F", "\uD83D\uDE45\u200D\u2640\uFE0F", "\uD83D\uDE45\u200D\u2642\uFE0F", "\uD83D\uDE45\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE45\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE45\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE45\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE45\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE45\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE45\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE45\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE45\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE45\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE46\u200D\u2640\uFE0F", "\uD83D\uDE46\u200D\u2642\uFE0F", "\uD83D\uDE46\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE46\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE46\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE46\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE46\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE46\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE46\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE46\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE46\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE46\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE47\u200D\u2640\uFE0F", "\uD83D\uDE47\u200D\u2642\uFE0F", "\uD83D\uDE47\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE47\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE47\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE47\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE47\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE47\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE47\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE47\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE47\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE47\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE4B\u200D\u2640\uFE0F", "\uD83D\uDE4B\u200D\u2642\uFE0F", "\uD83D\uDE4B\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE4B\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE4B\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE4B\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE4B\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE4B\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE4B\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE4B\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE4B\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE4B\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE4D\u200D\u2640\uFE0F", "\uD83D\uDE4D\u200D\u2642\uFE0F", "\uD83D\uDE4D\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE4D\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE4D\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE4D\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE4D\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE4D\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE4D\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE4D\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE4D\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE4D\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE4E\u200D\u2640\uFE0F", "\uD83D\uDE4E\u200D\u2642\uFE0F", "\uD83D\uDE4E\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE4E\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE4E\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE4E\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE4E\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE4E\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE4E\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE4E\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE4E\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE4E\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDEA3\u200D\u2640\uFE0F", "\uD83D\uDEA3\u200D\u2642\uFE0F", "\uD83D\uDEA3\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDEA3\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDEA3\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDEA3\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDEA3\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDEA3\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDEA3\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDEA3\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDEA3\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDEA3\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDEB4\u200D\u2640\uFE0F", "\uD83D\uDEB4\u200D\u2642\uFE0F", "\uD83D\uDEB4\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDEB4\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDEB4\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDEB4\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDEB4\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDEB4\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDEB4\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDEB4\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDEB4\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDEB4\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDEB5\u200D\u2640\uFE0F", "\uD83D\uDEB5\u200D\u2642\uFE0F", "\uD83D\uDEB5\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDEB5\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDEB5\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDEB5\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDEB5\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDEB5\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDEB5\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDEB5\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDEB5\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDEB5\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDEB6\u200D\u2640\uFE0F", "\uD83D\uDEB6\u200D\u2642\uFE0F", "\uD83D\uDEB6\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDEB6\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDEB6\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDEB6\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDEB6\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDEB6\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDEB6\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDEB6\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDEB6\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDEB6\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD26\u200D\u2640\uFE0F", "\uD83E\uDD26\u200D\u2642\uFE0F", "\uD83E\uDD26\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD26\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD26\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD26\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD26\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD26\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD26\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD26\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD26\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD26\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD35\u200D\u2640\uFE0F", "\uD83E\uDD35\u200D\u2642\uFE0F", "\uD83E\uDD35\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD35\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD35\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD35\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD35\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD35\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD35\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD35\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD35\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD35\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD37\u200D\u2640\uFE0F", "\uD83E\uDD37\u200D\u2642\uFE0F", "\uD83E\uDD37\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD37\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD37\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD37\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD37\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD37\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD37\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD37\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD37\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD37\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD38\u200D\u2640\uFE0F", "\uD83E\uDD38\u200D\u2642\uFE0F", "\uD83E\uDD38\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD38\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD38\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD38\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD38\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD38\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD38\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD38\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD38\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD38\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD39\u200D\u2640\uFE0F", "\uD83E\uDD39\u200D\u2642\uFE0F", "\uD83E\uDD39\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD39\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD39\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD39\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD39\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD39\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD39\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD39\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD39\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD39\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD3C\u200D\u2640\uFE0F", "\uD83E\uDD3C\u200D\u2642\uFE0F", "\uD83E\uDD3D\u200D\u2640\uFE0F", "\uD83E\uDD3D\u200D\u2642\uFE0F", "\uD83E\uDD3D\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD3D\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD3D\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD3D\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD3D\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD3D\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD3D\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD3D\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD3D\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD3D\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD3E\u200D\u2640\uFE0F", "\uD83E\uDD3E\u200D\u2642\uFE0F", "\uD83E\uDD3E\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD3E\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD3E\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD3E\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD3E\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD3E\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD3E\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD3E\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD3E\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD3E\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDB8\u200D\u2640\uFE0F", "\uD83E\uDDB8\u200D\u2642\uFE0F", "\uD83E\uDDB8\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDB8\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDB8\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDB8\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDB8\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDB8\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDB8\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDB8\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDB8\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDB8\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDB9\u200D\u2640\uFE0F", "\uD83E\uDDB9\u200D\u2642\uFE0F", "\uD83E\uDDB9\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDB9\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDB9\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDB9\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDB9\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDB9\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDB9\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDB9\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDB9\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDB9\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDCD\u200D\u2640\uFE0F", "\uD83E\uDDCD\u200D\u2642\uFE0F", "\uD83E\uDDCD\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDCD\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDCD\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDCD\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDCD\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDCD\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDCD\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDCD\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDCD\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDCD\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDCE\u200D\u2640\uFE0F", "\uD83E\uDDCE\u200D\u2642\uFE0F", "\uD83E\uDDCE\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDCE\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDCE\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDCE\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDCE\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDCE\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDCE\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDCE\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDCE\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDCE\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDCF\u200D\u2640\uFE0F", "\uD83E\uDDCF\u200D\u2642\uFE0F", "\uD83E\uDDCF\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDCF\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDCF\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDCF\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDCF\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDCF\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDCF\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDCF\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDCF\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDCF\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDD4\u200D\u2640\uFE0F", "\uD83E\uDDD4\u200D\u2642\uFE0F", "\uD83E\uDDD4\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDD4\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDD4\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDD4\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDD4\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDD4\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDD4\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDD4\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDD4\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDD4\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDD6\u200D\u2640\uFE0F", "\uD83E\uDDD6\u200D\u2642\uFE0F", "\uD83E\uDDD6\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDD6\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDD6\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDD6\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDD6\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDD6\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDD6\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDD6\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDD6\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDD6\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDD7\u200D\u2640\uFE0F", "\uD83E\uDDD7\u200D\u2642\uFE0F", "\uD83E\uDDD7\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDD7\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDD7\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDD7\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDD7\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDD7\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDD7\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDD7\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDD7\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDD7\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDD8\u200D\u2640\uFE0F", "\uD83E\uDDD8\u200D\u2642\uFE0F", "\uD83E\uDDD8\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDD8\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDD8\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDD8\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDD8\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDD8\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDD8\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDD8\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDD8\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDD8\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDD9\u200D\u2640\uFE0F", "\uD83E\uDDD9\u200D\u2642\uFE0F", "\uD83E\uDDD9\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDD9\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDD9\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDD9\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDD9\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDD9\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDD9\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDD9\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDD9\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDD9\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDDA\u200D\u2640\uFE0F", "\uD83E\uDDDA\u200D\u2642\uFE0F", "\uD83E\uDDDA\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDDA\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDDA\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDDA\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDDA\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDDA\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDDA\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDDA\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDDA\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDDA\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDDB\u200D\u2640\uFE0F", "\uD83E\uDDDB\u200D\u2642\uFE0F", "\uD83E\uDDDB\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDDB\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDDB\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDDB\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDDB\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDDB\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDDB\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDDB\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDDB\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDDB\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDDC\u200D\u2640\uFE0F", "\uD83E\uDDDC\u200D\u2642\uFE0F", "\uD83E\uDDDC\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDDC\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDDC\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDDC\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDDC\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDDC\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDDC\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDDC\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDDC\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDDC\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDDD\u200D\u2640\uFE0F", "\uD83E\uDDDD\u200D\u2642\uFE0F", "\uD83E\uDDDD\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDDD\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDDD\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDDD\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDDD\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDDD\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDDD\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDDD\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDDD\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDDD\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDDE\u200D\u2640\uFE0F", "\uD83E\uDDDE\u200D\u2642\uFE0F", "\uD83E\uDDDF\u200D\u2640\uFE0F", "\uD83E\uDDDF\u200D\u2642\uFE0F", "\uD83D\uDC68\u200D\uD83E\uDDB0", "\uD83D\uDC68\u200D\uD83E\uDDB1", "\uD83D\uDC68\u200D\uD83E\uDDB2", "\uD83D\uDC68\u200D\uD83E\uDDB3", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB0", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB1", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB2", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB3", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB0", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB1", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB2", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB3", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB0", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB1", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB2", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB3", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB0", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB1", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB2", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB3", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB0", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB1", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB2", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB3", "\uD83D\uDC69\u200D\uD83E\uDDB0", "\uD83D\uDC69\u200D\uD83E\uDDB1", "\uD83D\uDC69\u200D\uD83E\uDDB2", "\uD83D\uDC69\u200D\uD83E\uDDB3", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB0", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB1", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB2", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB3", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB0", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB1", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB2", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB3", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB0", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB1", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB2", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB3", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB0", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB1", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB2", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB3", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB0", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB1", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB2", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB3", "\uD83E\uDDD1\u200D\uD83E\uDDB0", "\uD83E\uDDD1\u200D\uD83E\uDDB1", "\uD83E\uDDD1\u200D\uD83E\uDDB2", "\uD83E\uDDD1\u200D\uD83E\uDDB3", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB0", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB1", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB2", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB3", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB0", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB1", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB2", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB3", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB0", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB1", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB2", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB3", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB0", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB1", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB2", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB3", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB0", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB1", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB2", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB3", "\u2764\uFE0F\u200D\uD83D\uDD25", "\u2764\uFE0F\u200D\uD83E\uDE79", "\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F", "\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08", "\uD83C\uDFF4\u200D\u2620\uFE0F", "\uD83D\uDC08\u200D\u2B1B", "\uD83D\uDC15\u200D\uD83E\uDDBA", "\uD83D\uDC26\u200D\u2B1B", "\uD83D\uDC3B\u200D\u2744\uFE0F", "\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8\uFE0F", "\uD83D\uDE2E\u200D\uD83D\uDCA8", "\uD83D\uDE35\u200D\uD83D\uDCAB", "\uD83D\uDE36\u200D\uD83C\uDF2B\uFE0F", "\uD83E\uDDD1\u200D\uD83C\uDF84"];
|
|
return RGI_Emoji_ZWJ_Sequence;
|
|
}
|
|
|
|
var RGI_Emoji = {};
|
|
|
|
var hasRequiredRGI_Emoji;
|
|
function requireRGI_Emoji() {
|
|
if (hasRequiredRGI_Emoji) return RGI_Emoji;
|
|
hasRequiredRGI_Emoji = 1;
|
|
var set = regenerate$2.exports(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);
|
|
set.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);
|
|
RGI_Emoji.characters = set;
|
|
RGI_Emoji.strings = ["#\uFE0F\u20E3", "*\uFE0F\u20E3", "0\uFE0F\u20E3", "1\uFE0F\u20E3", "2\uFE0F\u20E3", "3\uFE0F\u20E3", "4\uFE0F\u20E3", "5\uFE0F\u20E3", "6\uFE0F\u20E3", "7\uFE0F\u20E3", "8\uFE0F\u20E3", "9\uFE0F\u20E3", "\xA9\uFE0F", "\xAE\uFE0F", "\u203C\uFE0F", "\u2049\uFE0F", "\u2122\uFE0F", "\u2139\uFE0F", "\u2194\uFE0F", "\u2195\uFE0F", "\u2196\uFE0F", "\u2197\uFE0F", "\u2198\uFE0F", "\u2199\uFE0F", "\u21A9\uFE0F", "\u21AA\uFE0F", "\u2328\uFE0F", "\u23CF\uFE0F", "\u23ED\uFE0F", "\u23EE\uFE0F", "\u23EF\uFE0F", "\u23F1\uFE0F", "\u23F2\uFE0F", "\u23F8\uFE0F", "\u23F9\uFE0F", "\u23FA\uFE0F", "\u24C2\uFE0F", "\u25AA\uFE0F", "\u25AB\uFE0F", "\u25B6\uFE0F", "\u25C0\uFE0F", "\u25FB\uFE0F", "\u25FC\uFE0F", "\u2600\uFE0F", "\u2601\uFE0F", "\u2602\uFE0F", "\u2603\uFE0F", "\u2604\uFE0F", "\u260E\uFE0F", "\u2611\uFE0F", "\u2618\uFE0F", "\u261D\uD83C\uDFFB", "\u261D\uD83C\uDFFC", "\u261D\uD83C\uDFFD", "\u261D\uD83C\uDFFE", "\u261D\uD83C\uDFFF", "\u261D\uFE0F", "\u2620\uFE0F", "\u2622\uFE0F", "\u2623\uFE0F", "\u2626\uFE0F", "\u262A\uFE0F", "\u262E\uFE0F", "\u262F\uFE0F", "\u2638\uFE0F", "\u2639\uFE0F", "\u263A\uFE0F", "\u2640\uFE0F", "\u2642\uFE0F", "\u265F\uFE0F", "\u2660\uFE0F", "\u2663\uFE0F", "\u2665\uFE0F", "\u2666\uFE0F", "\u2668\uFE0F", "\u267B\uFE0F", "\u267E\uFE0F", "\u2692\uFE0F", "\u2694\uFE0F", "\u2695\uFE0F", "\u2696\uFE0F", "\u2697\uFE0F", "\u2699\uFE0F", "\u269B\uFE0F", "\u269C\uFE0F", "\u26A0\uFE0F", "\u26A7\uFE0F", "\u26B0\uFE0F", "\u26B1\uFE0F", "\u26C8\uFE0F", "\u26CF\uFE0F", "\u26D1\uFE0F", "\u26D3\uFE0F", "\u26E9\uFE0F", "\u26F0\uFE0F", "\u26F1\uFE0F", "\u26F4\uFE0F", "\u26F7\uFE0F", "\u26F8\uFE0F", "\u26F9\uD83C\uDFFB", "\u26F9\uD83C\uDFFB\u200D\u2640\uFE0F", "\u26F9\uD83C\uDFFB\u200D\u2642\uFE0F", "\u26F9\uD83C\uDFFC", "\u26F9\uD83C\uDFFC\u200D\u2640\uFE0F", "\u26F9\uD83C\uDFFC\u200D\u2642\uFE0F", "\u26F9\uD83C\uDFFD", "\u26F9\uD83C\uDFFD\u200D\u2640\uFE0F", "\u26F9\uD83C\uDFFD\u200D\u2642\uFE0F", "\u26F9\uD83C\uDFFE", "\u26F9\uD83C\uDFFE\u200D\u2640\uFE0F", "\u26F9\uD83C\uDFFE\u200D\u2642\uFE0F", "\u26F9\uD83C\uDFFF", "\u26F9\uD83C\uDFFF\u200D\u2640\uFE0F", "\u26F9\uD83C\uDFFF\u200D\u2642\uFE0F", "\u26F9\uFE0F", "\u26F9\uFE0F\u200D\u2640\uFE0F", "\u26F9\uFE0F\u200D\u2642\uFE0F", "\u2702\uFE0F", "\u2708\uFE0F", "\u2709\uFE0F", "\u270A\uD83C\uDFFB", "\u270A\uD83C\uDFFC", "\u270A\uD83C\uDFFD", "\u270A\uD83C\uDFFE", "\u270A\uD83C\uDFFF", "\u270B\uD83C\uDFFB", "\u270B\uD83C\uDFFC", "\u270B\uD83C\uDFFD", "\u270B\uD83C\uDFFE", "\u270B\uD83C\uDFFF", "\u270C\uD83C\uDFFB", "\u270C\uD83C\uDFFC", "\u270C\uD83C\uDFFD", "\u270C\uD83C\uDFFE", "\u270C\uD83C\uDFFF", "\u270C\uFE0F", "\u270D\uD83C\uDFFB", "\u270D\uD83C\uDFFC", "\u270D\uD83C\uDFFD", "\u270D\uD83C\uDFFE", "\u270D\uD83C\uDFFF", "\u270D\uFE0F", "\u270F\uFE0F", "\u2712\uFE0F", "\u2714\uFE0F", "\u2716\uFE0F", "\u271D\uFE0F", "\u2721\uFE0F", "\u2733\uFE0F", "\u2734\uFE0F", "\u2744\uFE0F", "\u2747\uFE0F", "\u2763\uFE0F", "\u2764\uFE0F", "\u2764\uFE0F\u200D\uD83D\uDD25", "\u2764\uFE0F\u200D\uD83E\uDE79", "\u27A1\uFE0F", "\u2934\uFE0F", "\u2935\uFE0F", "\u2B05\uFE0F", "\u2B06\uFE0F", "\u2B07\uFE0F", "\u3030\uFE0F", "\u303D\uFE0F", "\u3297\uFE0F", "\u3299\uFE0F", "\uD83C\uDD70\uFE0F", "\uD83C\uDD71\uFE0F", "\uD83C\uDD7E\uFE0F", "\uD83C\uDD7F\uFE0F", "\uD83C\uDDE6\uD83C\uDDE8", "\uD83C\uDDE6\uD83C\uDDE9", "\uD83C\uDDE6\uD83C\uDDEA", "\uD83C\uDDE6\uD83C\uDDEB", "\uD83C\uDDE6\uD83C\uDDEC", "\uD83C\uDDE6\uD83C\uDDEE", "\uD83C\uDDE6\uD83C\uDDF1", "\uD83C\uDDE6\uD83C\uDDF2", "\uD83C\uDDE6\uD83C\uDDF4", "\uD83C\uDDE6\uD83C\uDDF6", "\uD83C\uDDE6\uD83C\uDDF7", "\uD83C\uDDE6\uD83C\uDDF8", "\uD83C\uDDE6\uD83C\uDDF9", "\uD83C\uDDE6\uD83C\uDDFA", "\uD83C\uDDE6\uD83C\uDDFC", "\uD83C\uDDE6\uD83C\uDDFD", "\uD83C\uDDE6\uD83C\uDDFF", "\uD83C\uDDE7\uD83C\uDDE6", "\uD83C\uDDE7\uD83C\uDDE7", "\uD83C\uDDE7\uD83C\uDDE9", "\uD83C\uDDE7\uD83C\uDDEA", "\uD83C\uDDE7\uD83C\uDDEB", "\uD83C\uDDE7\uD83C\uDDEC", "\uD83C\uDDE7\uD83C\uDDED", "\uD83C\uDDE7\uD83C\uDDEE", "\uD83C\uDDE7\uD83C\uDDEF", "\uD83C\uDDE7\uD83C\uDDF1", "\uD83C\uDDE7\uD83C\uDDF2", "\uD83C\uDDE7\uD83C\uDDF3", "\uD83C\uDDE7\uD83C\uDDF4", "\uD83C\uDDE7\uD83C\uDDF6", "\uD83C\uDDE7\uD83C\uDDF7", "\uD83C\uDDE7\uD83C\uDDF8", "\uD83C\uDDE7\uD83C\uDDF9", "\uD83C\uDDE7\uD83C\uDDFB", "\uD83C\uDDE7\uD83C\uDDFC", "\uD83C\uDDE7\uD83C\uDDFE", "\uD83C\uDDE7\uD83C\uDDFF", "\uD83C\uDDE8\uD83C\uDDE6", "\uD83C\uDDE8\uD83C\uDDE8", "\uD83C\uDDE8\uD83C\uDDE9", "\uD83C\uDDE8\uD83C\uDDEB", "\uD83C\uDDE8\uD83C\uDDEC", "\uD83C\uDDE8\uD83C\uDDED", "\uD83C\uDDE8\uD83C\uDDEE", "\uD83C\uDDE8\uD83C\uDDF0", "\uD83C\uDDE8\uD83C\uDDF1", "\uD83C\uDDE8\uD83C\uDDF2", "\uD83C\uDDE8\uD83C\uDDF3", "\uD83C\uDDE8\uD83C\uDDF4", "\uD83C\uDDE8\uD83C\uDDF5", "\uD83C\uDDE8\uD83C\uDDF7", "\uD83C\uDDE8\uD83C\uDDFA", "\uD83C\uDDE8\uD83C\uDDFB", "\uD83C\uDDE8\uD83C\uDDFC", "\uD83C\uDDE8\uD83C\uDDFD", "\uD83C\uDDE8\uD83C\uDDFE", "\uD83C\uDDE8\uD83C\uDDFF", "\uD83C\uDDE9\uD83C\uDDEA", "\uD83C\uDDE9\uD83C\uDDEC", "\uD83C\uDDE9\uD83C\uDDEF", "\uD83C\uDDE9\uD83C\uDDF0", "\uD83C\uDDE9\uD83C\uDDF2", "\uD83C\uDDE9\uD83C\uDDF4", "\uD83C\uDDE9\uD83C\uDDFF", "\uD83C\uDDEA\uD83C\uDDE6", "\uD83C\uDDEA\uD83C\uDDE8", "\uD83C\uDDEA\uD83C\uDDEA", "\uD83C\uDDEA\uD83C\uDDEC", "\uD83C\uDDEA\uD83C\uDDED", "\uD83C\uDDEA\uD83C\uDDF7", "\uD83C\uDDEA\uD83C\uDDF8", "\uD83C\uDDEA\uD83C\uDDF9", "\uD83C\uDDEA\uD83C\uDDFA", "\uD83C\uDDEB\uD83C\uDDEE", "\uD83C\uDDEB\uD83C\uDDEF", "\uD83C\uDDEB\uD83C\uDDF0", "\uD83C\uDDEB\uD83C\uDDF2", "\uD83C\uDDEB\uD83C\uDDF4", "\uD83C\uDDEB\uD83C\uDDF7", "\uD83C\uDDEC\uD83C\uDDE6", "\uD83C\uDDEC\uD83C\uDDE7", "\uD83C\uDDEC\uD83C\uDDE9", "\uD83C\uDDEC\uD83C\uDDEA", "\uD83C\uDDEC\uD83C\uDDEB", "\uD83C\uDDEC\uD83C\uDDEC", "\uD83C\uDDEC\uD83C\uDDED", "\uD83C\uDDEC\uD83C\uDDEE", "\uD83C\uDDEC\uD83C\uDDF1", "\uD83C\uDDEC\uD83C\uDDF2", "\uD83C\uDDEC\uD83C\uDDF3", "\uD83C\uDDEC\uD83C\uDDF5", "\uD83C\uDDEC\uD83C\uDDF6", "\uD83C\uDDEC\uD83C\uDDF7", "\uD83C\uDDEC\uD83C\uDDF8", "\uD83C\uDDEC\uD83C\uDDF9", "\uD83C\uDDEC\uD83C\uDDFA", "\uD83C\uDDEC\uD83C\uDDFC", "\uD83C\uDDEC\uD83C\uDDFE", "\uD83C\uDDED\uD83C\uDDF0", "\uD83C\uDDED\uD83C\uDDF2", "\uD83C\uDDED\uD83C\uDDF3", "\uD83C\uDDED\uD83C\uDDF7", "\uD83C\uDDED\uD83C\uDDF9", "\uD83C\uDDED\uD83C\uDDFA", "\uD83C\uDDEE\uD83C\uDDE8", "\uD83C\uDDEE\uD83C\uDDE9", "\uD83C\uDDEE\uD83C\uDDEA", "\uD83C\uDDEE\uD83C\uDDF1", "\uD83C\uDDEE\uD83C\uDDF2", "\uD83C\uDDEE\uD83C\uDDF3", "\uD83C\uDDEE\uD83C\uDDF4", "\uD83C\uDDEE\uD83C\uDDF6", "\uD83C\uDDEE\uD83C\uDDF7", "\uD83C\uDDEE\uD83C\uDDF8", "\uD83C\uDDEE\uD83C\uDDF9", "\uD83C\uDDEF\uD83C\uDDEA", "\uD83C\uDDEF\uD83C\uDDF2", "\uD83C\uDDEF\uD83C\uDDF4", "\uD83C\uDDEF\uD83C\uDDF5", "\uD83C\uDDF0\uD83C\uDDEA", "\uD83C\uDDF0\uD83C\uDDEC", "\uD83C\uDDF0\uD83C\uDDED", "\uD83C\uDDF0\uD83C\uDDEE", "\uD83C\uDDF0\uD83C\uDDF2", "\uD83C\uDDF0\uD83C\uDDF3", "\uD83C\uDDF0\uD83C\uDDF5", "\uD83C\uDDF0\uD83C\uDDF7", "\uD83C\uDDF0\uD83C\uDDFC", "\uD83C\uDDF0\uD83C\uDDFE", "\uD83C\uDDF0\uD83C\uDDFF", "\uD83C\uDDF1\uD83C\uDDE6", "\uD83C\uDDF1\uD83C\uDDE7", "\uD83C\uDDF1\uD83C\uDDE8", "\uD83C\uDDF1\uD83C\uDDEE", "\uD83C\uDDF1\uD83C\uDDF0", "\uD83C\uDDF1\uD83C\uDDF7", "\uD83C\uDDF1\uD83C\uDDF8", "\uD83C\uDDF1\uD83C\uDDF9", "\uD83C\uDDF1\uD83C\uDDFA", "\uD83C\uDDF1\uD83C\uDDFB", "\uD83C\uDDF1\uD83C\uDDFE", "\uD83C\uDDF2\uD83C\uDDE6", "\uD83C\uDDF2\uD83C\uDDE8", "\uD83C\uDDF2\uD83C\uDDE9", "\uD83C\uDDF2\uD83C\uDDEA", "\uD83C\uDDF2\uD83C\uDDEB", "\uD83C\uDDF2\uD83C\uDDEC", "\uD83C\uDDF2\uD83C\uDDED", "\uD83C\uDDF2\uD83C\uDDF0", "\uD83C\uDDF2\uD83C\uDDF1", "\uD83C\uDDF2\uD83C\uDDF2", "\uD83C\uDDF2\uD83C\uDDF3", "\uD83C\uDDF2\uD83C\uDDF4", "\uD83C\uDDF2\uD83C\uDDF5", "\uD83C\uDDF2\uD83C\uDDF6", "\uD83C\uDDF2\uD83C\uDDF7", "\uD83C\uDDF2\uD83C\uDDF8", "\uD83C\uDDF2\uD83C\uDDF9", "\uD83C\uDDF2\uD83C\uDDFA", "\uD83C\uDDF2\uD83C\uDDFB", "\uD83C\uDDF2\uD83C\uDDFC", "\uD83C\uDDF2\uD83C\uDDFD", "\uD83C\uDDF2\uD83C\uDDFE", "\uD83C\uDDF2\uD83C\uDDFF", "\uD83C\uDDF3\uD83C\uDDE6", "\uD83C\uDDF3\uD83C\uDDE8", "\uD83C\uDDF3\uD83C\uDDEA", "\uD83C\uDDF3\uD83C\uDDEB", "\uD83C\uDDF3\uD83C\uDDEC", "\uD83C\uDDF3\uD83C\uDDEE", "\uD83C\uDDF3\uD83C\uDDF1", "\uD83C\uDDF3\uD83C\uDDF4", "\uD83C\uDDF3\uD83C\uDDF5", "\uD83C\uDDF3\uD83C\uDDF7", "\uD83C\uDDF3\uD83C\uDDFA", "\uD83C\uDDF3\uD83C\uDDFF", "\uD83C\uDDF4\uD83C\uDDF2", "\uD83C\uDDF5\uD83C\uDDE6", "\uD83C\uDDF5\uD83C\uDDEA", "\uD83C\uDDF5\uD83C\uDDEB", "\uD83C\uDDF5\uD83C\uDDEC", "\uD83C\uDDF5\uD83C\uDDED", "\uD83C\uDDF5\uD83C\uDDF0", "\uD83C\uDDF5\uD83C\uDDF1", "\uD83C\uDDF5\uD83C\uDDF2", "\uD83C\uDDF5\uD83C\uDDF3", "\uD83C\uDDF5\uD83C\uDDF7", "\uD83C\uDDF5\uD83C\uDDF8", "\uD83C\uDDF5\uD83C\uDDF9", "\uD83C\uDDF5\uD83C\uDDFC", "\uD83C\uDDF5\uD83C\uDDFE", "\uD83C\uDDF6\uD83C\uDDE6", "\uD83C\uDDF7\uD83C\uDDEA", "\uD83C\uDDF7\uD83C\uDDF4", "\uD83C\uDDF7\uD83C\uDDF8", "\uD83C\uDDF7\uD83C\uDDFA", "\uD83C\uDDF7\uD83C\uDDFC", "\uD83C\uDDF8\uD83C\uDDE6", "\uD83C\uDDF8\uD83C\uDDE7", "\uD83C\uDDF8\uD83C\uDDE8", "\uD83C\uDDF8\uD83C\uDDE9", "\uD83C\uDDF8\uD83C\uDDEA", "\uD83C\uDDF8\uD83C\uDDEC", "\uD83C\uDDF8\uD83C\uDDED", "\uD83C\uDDF8\uD83C\uDDEE", "\uD83C\uDDF8\uD83C\uDDEF", "\uD83C\uDDF8\uD83C\uDDF0", "\uD83C\uDDF8\uD83C\uDDF1", "\uD83C\uDDF8\uD83C\uDDF2", "\uD83C\uDDF8\uD83C\uDDF3", "\uD83C\uDDF8\uD83C\uDDF4", "\uD83C\uDDF8\uD83C\uDDF7", "\uD83C\uDDF8\uD83C\uDDF8", "\uD83C\uDDF8\uD83C\uDDF9", "\uD83C\uDDF8\uD83C\uDDFB", "\uD83C\uDDF8\uD83C\uDDFD", "\uD83C\uDDF8\uD83C\uDDFE", "\uD83C\uDDF8\uD83C\uDDFF", "\uD83C\uDDF9\uD83C\uDDE6", "\uD83C\uDDF9\uD83C\uDDE8", "\uD83C\uDDF9\uD83C\uDDE9", "\uD83C\uDDF9\uD83C\uDDEB", "\uD83C\uDDF9\uD83C\uDDEC", "\uD83C\uDDF9\uD83C\uDDED", "\uD83C\uDDF9\uD83C\uDDEF", "\uD83C\uDDF9\uD83C\uDDF0", "\uD83C\uDDF9\uD83C\uDDF1", "\uD83C\uDDF9\uD83C\uDDF2", "\uD83C\uDDF9\uD83C\uDDF3", "\uD83C\uDDF9\uD83C\uDDF4", "\uD83C\uDDF9\uD83C\uDDF7", "\uD83C\uDDF9\uD83C\uDDF9", "\uD83C\uDDF9\uD83C\uDDFB", "\uD83C\uDDF9\uD83C\uDDFC", "\uD83C\uDDF9\uD83C\uDDFF", "\uD83C\uDDFA\uD83C\uDDE6", "\uD83C\uDDFA\uD83C\uDDEC", "\uD83C\uDDFA\uD83C\uDDF2", "\uD83C\uDDFA\uD83C\uDDF3", "\uD83C\uDDFA\uD83C\uDDF8", "\uD83C\uDDFA\uD83C\uDDFE", "\uD83C\uDDFA\uD83C\uDDFF", "\uD83C\uDDFB\uD83C\uDDE6", "\uD83C\uDDFB\uD83C\uDDE8", "\uD83C\uDDFB\uD83C\uDDEA", "\uD83C\uDDFB\uD83C\uDDEC", "\uD83C\uDDFB\uD83C\uDDEE", "\uD83C\uDDFB\uD83C\uDDF3", "\uD83C\uDDFB\uD83C\uDDFA", "\uD83C\uDDFC\uD83C\uDDEB", "\uD83C\uDDFC\uD83C\uDDF8", "\uD83C\uDDFD\uD83C\uDDF0", "\uD83C\uDDFE\uD83C\uDDEA", "\uD83C\uDDFE\uD83C\uDDF9", "\uD83C\uDDFF\uD83C\uDDE6", "\uD83C\uDDFF\uD83C\uDDF2", "\uD83C\uDDFF\uD83C\uDDFC", "\uD83C\uDE02\uFE0F", "\uD83C\uDE37\uFE0F", "\uD83C\uDF21\uFE0F", "\uD83C\uDF24\uFE0F", "\uD83C\uDF25\uFE0F", "\uD83C\uDF26\uFE0F", "\uD83C\uDF27\uFE0F", "\uD83C\uDF28\uFE0F", "\uD83C\uDF29\uFE0F", "\uD83C\uDF2A\uFE0F", "\uD83C\uDF2B\uFE0F", "\uD83C\uDF2C\uFE0F", "\uD83C\uDF36\uFE0F", "\uD83C\uDF7D\uFE0F", "\uD83C\uDF85\uD83C\uDFFB", "\uD83C\uDF85\uD83C\uDFFC", "\uD83C\uDF85\uD83C\uDFFD", "\uD83C\uDF85\uD83C\uDFFE", "\uD83C\uDF85\uD83C\uDFFF", "\uD83C\uDF96\uFE0F", "\uD83C\uDF97\uFE0F", "\uD83C\uDF99\uFE0F", "\uD83C\uDF9A\uFE0F", "\uD83C\uDF9B\uFE0F", "\uD83C\uDF9E\uFE0F", "\uD83C\uDF9F\uFE0F", "\uD83C\uDFC2\uD83C\uDFFB", "\uD83C\uDFC2\uD83C\uDFFC", "\uD83C\uDFC2\uD83C\uDFFD", "\uD83C\uDFC2\uD83C\uDFFE", "\uD83C\uDFC2\uD83C\uDFFF", "\uD83C\uDFC3\u200D\u2640\uFE0F", "\uD83C\uDFC3\u200D\u2642\uFE0F", "\uD83C\uDFC3\uD83C\uDFFB", "\uD83C\uDFC3\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83C\uDFC3\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83C\uDFC3\uD83C\uDFFC", "\uD83C\uDFC3\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83C\uDFC3\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83C\uDFC3\uD83C\uDFFD", "\uD83C\uDFC3\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83C\uDFC3\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83C\uDFC3\uD83C\uDFFE", "\uD83C\uDFC3\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83C\uDFC3\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83C\uDFC3\uD83C\uDFFF", "\uD83C\uDFC3\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83C\uDFC3\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83C\uDFC4\u200D\u2640\uFE0F", "\uD83C\uDFC4\u200D\u2642\uFE0F", "\uD83C\uDFC4\uD83C\uDFFB", "\uD83C\uDFC4\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83C\uDFC4\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83C\uDFC4\uD83C\uDFFC", "\uD83C\uDFC4\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83C\uDFC4\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83C\uDFC4\uD83C\uDFFD", "\uD83C\uDFC4\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83C\uDFC4\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83C\uDFC4\uD83C\uDFFE", "\uD83C\uDFC4\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83C\uDFC4\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83C\uDFC4\uD83C\uDFFF", "\uD83C\uDFC4\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83C\uDFC4\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83C\uDFC7\uD83C\uDFFB", "\uD83C\uDFC7\uD83C\uDFFC", "\uD83C\uDFC7\uD83C\uDFFD", "\uD83C\uDFC7\uD83C\uDFFE", "\uD83C\uDFC7\uD83C\uDFFF", "\uD83C\uDFCA\u200D\u2640\uFE0F", "\uD83C\uDFCA\u200D\u2642\uFE0F", "\uD83C\uDFCA\uD83C\uDFFB", "\uD83C\uDFCA\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83C\uDFCA\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83C\uDFCA\uD83C\uDFFC", "\uD83C\uDFCA\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83C\uDFCA\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83C\uDFCA\uD83C\uDFFD", "\uD83C\uDFCA\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83C\uDFCA\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83C\uDFCA\uD83C\uDFFE", "\uD83C\uDFCA\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83C\uDFCA\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83C\uDFCA\uD83C\uDFFF", "\uD83C\uDFCA\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83C\uDFCA\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83C\uDFCB\uD83C\uDFFB", "\uD83C\uDFCB\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83C\uDFCB\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83C\uDFCB\uD83C\uDFFC", "\uD83C\uDFCB\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83C\uDFCB\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83C\uDFCB\uD83C\uDFFD", "\uD83C\uDFCB\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83C\uDFCB\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83C\uDFCB\uD83C\uDFFE", "\uD83C\uDFCB\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83C\uDFCB\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83C\uDFCB\uD83C\uDFFF", "\uD83C\uDFCB\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83C\uDFCB\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83C\uDFCB\uFE0F", "\uD83C\uDFCB\uFE0F\u200D\u2640\uFE0F", "\uD83C\uDFCB\uFE0F\u200D\u2642\uFE0F", "\uD83C\uDFCC\uD83C\uDFFB", "\uD83C\uDFCC\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83C\uDFCC\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83C\uDFCC\uD83C\uDFFC", "\uD83C\uDFCC\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83C\uDFCC\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83C\uDFCC\uD83C\uDFFD", "\uD83C\uDFCC\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83C\uDFCC\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83C\uDFCC\uD83C\uDFFE", "\uD83C\uDFCC\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83C\uDFCC\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83C\uDFCC\uD83C\uDFFF", "\uD83C\uDFCC\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83C\uDFCC\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83C\uDFCC\uFE0F", "\uD83C\uDFCC\uFE0F\u200D\u2640\uFE0F", "\uD83C\uDFCC\uFE0F\u200D\u2642\uFE0F", "\uD83C\uDFCD\uFE0F", "\uD83C\uDFCE\uFE0F", "\uD83C\uDFD4\uFE0F", "\uD83C\uDFD5\uFE0F", "\uD83C\uDFD6\uFE0F", "\uD83C\uDFD7\uFE0F", "\uD83C\uDFD8\uFE0F", "\uD83C\uDFD9\uFE0F", "\uD83C\uDFDA\uFE0F", "\uD83C\uDFDB\uFE0F", "\uD83C\uDFDC\uFE0F", "\uD83C\uDFDD\uFE0F", "\uD83C\uDFDE\uFE0F", "\uD83C\uDFDF\uFE0F", "\uD83C\uDFF3\uFE0F", "\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F", "\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08", "\uD83C\uDFF4\u200D\u2620\uFE0F", "\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F", "\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74\uDB40\uDC7F", "\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73\uDB40\uDC7F", "\uD83C\uDFF5\uFE0F", "\uD83C\uDFF7\uFE0F", "\uD83D\uDC08\u200D\u2B1B", "\uD83D\uDC15\u200D\uD83E\uDDBA", "\uD83D\uDC26\u200D\u2B1B", "\uD83D\uDC3B\u200D\u2744\uFE0F", "\uD83D\uDC3F\uFE0F", "\uD83D\uDC41\uFE0F", "\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8\uFE0F", "\uD83D\uDC42\uD83C\uDFFB", "\uD83D\uDC42\uD83C\uDFFC", "\uD83D\uDC42\uD83C\uDFFD", "\uD83D\uDC42\uD83C\uDFFE", "\uD83D\uDC42\uD83C\uDFFF", "\uD83D\uDC43\uD83C\uDFFB", "\uD83D\uDC43\uD83C\uDFFC", "\uD83D\uDC43\uD83C\uDFFD", "\uD83D\uDC43\uD83C\uDFFE", "\uD83D\uDC43\uD83C\uDFFF", "\uD83D\uDC46\uD83C\uDFFB", "\uD83D\uDC46\uD83C\uDFFC", "\uD83D\uDC46\uD83C\uDFFD", "\uD83D\uDC46\uD83C\uDFFE", "\uD83D\uDC46\uD83C\uDFFF", "\uD83D\uDC47\uD83C\uDFFB", "\uD83D\uDC47\uD83C\uDFFC", "\uD83D\uDC47\uD83C\uDFFD", "\uD83D\uDC47\uD83C\uDFFE", "\uD83D\uDC47\uD83C\uDFFF", "\uD83D\uDC48\uD83C\uDFFB", "\uD83D\uDC48\uD83C\uDFFC", "\uD83D\uDC48\uD83C\uDFFD", "\uD83D\uDC48\uD83C\uDFFE", "\uD83D\uDC48\uD83C\uDFFF", "\uD83D\uDC49\uD83C\uDFFB", "\uD83D\uDC49\uD83C\uDFFC", "\uD83D\uDC49\uD83C\uDFFD", "\uD83D\uDC49\uD83C\uDFFE", "\uD83D\uDC49\uD83C\uDFFF", "\uD83D\uDC4A\uD83C\uDFFB", "\uD83D\uDC4A\uD83C\uDFFC", "\uD83D\uDC4A\uD83C\uDFFD", "\uD83D\uDC4A\uD83C\uDFFE", "\uD83D\uDC4A\uD83C\uDFFF", "\uD83D\uDC4B\uD83C\uDFFB", "\uD83D\uDC4B\uD83C\uDFFC", "\uD83D\uDC4B\uD83C\uDFFD", "\uD83D\uDC4B\uD83C\uDFFE", "\uD83D\uDC4B\uD83C\uDFFF", "\uD83D\uDC4C\uD83C\uDFFB", "\uD83D\uDC4C\uD83C\uDFFC", "\uD83D\uDC4C\uD83C\uDFFD", "\uD83D\uDC4C\uD83C\uDFFE", "\uD83D\uDC4C\uD83C\uDFFF", "\uD83D\uDC4D\uD83C\uDFFB", "\uD83D\uDC4D\uD83C\uDFFC", "\uD83D\uDC4D\uD83C\uDFFD", "\uD83D\uDC4D\uD83C\uDFFE", "\uD83D\uDC4D\uD83C\uDFFF", "\uD83D\uDC4E\uD83C\uDFFB", "\uD83D\uDC4E\uD83C\uDFFC", "\uD83D\uDC4E\uD83C\uDFFD", "\uD83D\uDC4E\uD83C\uDFFE", "\uD83D\uDC4E\uD83C\uDFFF", "\uD83D\uDC4F\uD83C\uDFFB", "\uD83D\uDC4F\uD83C\uDFFC", "\uD83D\uDC4F\uD83C\uDFFD", "\uD83D\uDC4F\uD83C\uDFFE", "\uD83D\uDC4F\uD83C\uDFFF", "\uD83D\uDC50\uD83C\uDFFB", "\uD83D\uDC50\uD83C\uDFFC", "\uD83D\uDC50\uD83C\uDFFD", "\uD83D\uDC50\uD83C\uDFFE", "\uD83D\uDC50\uD83C\uDFFF", "\uD83D\uDC66\uD83C\uDFFB", "\uD83D\uDC66\uD83C\uDFFC", "\uD83D\uDC66\uD83C\uDFFD", "\uD83D\uDC66\uD83C\uDFFE", "\uD83D\uDC66\uD83C\uDFFF", "\uD83D\uDC67\uD83C\uDFFB", "\uD83D\uDC67\uD83C\uDFFC", "\uD83D\uDC67\uD83C\uDFFD", "\uD83D\uDC67\uD83C\uDFFE", "\uD83D\uDC67\uD83C\uDFFF", "\uD83D\uDC68\u200D\u2695\uFE0F", "\uD83D\uDC68\u200D\u2696\uFE0F", "\uD83D\uDC68\u200D\u2708\uFE0F", "\uD83D\uDC68\u200D\u2764\uFE0F\u200D\uD83D\uDC68", "\uD83D\uDC68\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68", "\uD83D\uDC68\u200D\uD83C\uDF3E", "\uD83D\uDC68\u200D\uD83C\uDF73", "\uD83D\uDC68\u200D\uD83C\uDF7C", "\uD83D\uDC68\u200D\uD83C\uDF93", "\uD83D\uDC68\u200D\uD83C\uDFA4", "\uD83D\uDC68\u200D\uD83C\uDFA8", "\uD83D\uDC68\u200D\uD83C\uDFEB", "\uD83D\uDC68\u200D\uD83C\uDFED", "\uD83D\uDC68\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC66\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC66\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66", "\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67", "\uD83D\uDC68\u200D\uD83D\uDCBB", "\uD83D\uDC68\u200D\uD83D\uDCBC", "\uD83D\uDC68\u200D\uD83D\uDD27", "\uD83D\uDC68\u200D\uD83D\uDD2C", "\uD83D\uDC68\u200D\uD83D\uDE80", "\uD83D\uDC68\u200D\uD83D\uDE92", "\uD83D\uDC68\u200D\uD83E\uDDAF", "\uD83D\uDC68\u200D\uD83E\uDDB0", "\uD83D\uDC68\u200D\uD83E\uDDB1", "\uD83D\uDC68\u200D\uD83E\uDDB2", "\uD83D\uDC68\u200D\uD83E\uDDB3", "\uD83D\uDC68\u200D\uD83E\uDDBC", "\uD83D\uDC68\u200D\uD83E\uDDBD", "\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2695\uFE0F", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2696\uFE0F", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2708\uFE0F", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF3E", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF73", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF7C", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF93", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFA4", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFA8", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFEB", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFED", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDCBB", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDCBC", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDD27", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDD2C", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDE80", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDE92", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDAF", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB0", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB1", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB2", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB3", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBC", "\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBD", "\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2695\uFE0F", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2696\uFE0F", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2708\uFE0F", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF3E", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF73", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF7C", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF93", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFA4", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFA8", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFEB", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFED", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDCBB", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDCBC", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDD27", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDD2C", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDE80", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDE92", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDAF", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB0", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB1", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB2", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB3", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBC", "\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBD", "\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2695\uFE0F", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2696\uFE0F", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2708\uFE0F", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF3E", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF73", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF7C", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF93", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFA4", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFA8", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFEB", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFED", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDCBB", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDCBC", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDD27", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDD2C", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDE80", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDE92", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDAF", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB0", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB1", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB2", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB3", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBC", "\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBD", "\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2695\uFE0F", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2696\uFE0F", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2708\uFE0F", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF3E", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF73", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF7C", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF93", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFA4", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFA8", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFEB", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFED", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDCBB", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDCBC", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDD27", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDD2C", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDE80", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDE92", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDAF", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB0", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB1", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB2", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB3", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBC", "\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBD", "\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2695\uFE0F", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2696\uFE0F", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2708\uFE0F", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF3E", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF73", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF7C", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF93", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFA4", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFA8", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFEB", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFED", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDCBB", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDCBC", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDD27", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDD2C", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDE80", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDE92", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDAF", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB0", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB1", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB2", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB3", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBC", "\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBD", "\uD83D\uDC69\u200D\u2695\uFE0F", "\uD83D\uDC69\u200D\u2696\uFE0F", "\uD83D\uDC69\u200D\u2708\uFE0F", "\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC68", "\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC69", "\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68", "\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69", "\uD83D\uDC69\u200D\uD83C\uDF3E", "\uD83D\uDC69\u200D\uD83C\uDF73", "\uD83D\uDC69\u200D\uD83C\uDF7C", "\uD83D\uDC69\u200D\uD83C\uDF93", "\uD83D\uDC69\u200D\uD83C\uDFA4", "\uD83D\uDC69\u200D\uD83C\uDFA8", "\uD83D\uDC69\u200D\uD83C\uDFEB", "\uD83D\uDC69\u200D\uD83C\uDFED", "\uD83D\uDC69\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC67", "\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67", "\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67", "\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66", "\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67", "\uD83D\uDC69\u200D\uD83D\uDCBB", "\uD83D\uDC69\u200D\uD83D\uDCBC", "\uD83D\uDC69\u200D\uD83D\uDD27", "\uD83D\uDC69\u200D\uD83D\uDD2C", "\uD83D\uDC69\u200D\uD83D\uDE80", "\uD83D\uDC69\u200D\uD83D\uDE92", "\uD83D\uDC69\u200D\uD83E\uDDAF", "\uD83D\uDC69\u200D\uD83E\uDDB0", "\uD83D\uDC69\u200D\uD83E\uDDB1", "\uD83D\uDC69\u200D\uD83E\uDDB2", "\uD83D\uDC69\u200D\uD83E\uDDB3", "\uD83D\uDC69\u200D\uD83E\uDDBC", "\uD83D\uDC69\u200D\uD83E\uDDBD", "\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2695\uFE0F", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2696\uFE0F", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2708\uFE0F", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF3E", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF73", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF7C", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF93", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFA4", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFA8", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFEB", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFED", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDCBB", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDCBC", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDD27", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDD2C", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDE80", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDE92", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDAF", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB0", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB1", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB2", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB3", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBC", "\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBD", "\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2695\uFE0F", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2696\uFE0F", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2708\uFE0F", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF3E", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF73", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF7C", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF93", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFA4", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFA8", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFEB", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFED", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDCBB", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDCBC", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDD27", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDD2C", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDE80", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDE92", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDAF", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB0", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB1", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB2", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB3", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBC", "\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBD", "\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2695\uFE0F", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2696\uFE0F", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2708\uFE0F", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF3E", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF73", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF7C", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF93", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFA4", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFA8", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFEB", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFED", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDCBB", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDCBC", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDD27", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDD2C", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDE80", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDE92", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDAF", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB0", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB1", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB2", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB3", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBC", "\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBD", "\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2695\uFE0F", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2696\uFE0F", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2708\uFE0F", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF3E", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF73", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF7C", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF93", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFA4", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFA8", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFEB", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFED", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDCBB", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDCBC", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDD27", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDD2C", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDE80", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDE92", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDAF", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB0", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB1", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB2", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB3", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBC", "\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBD", "\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2695\uFE0F", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2696\uFE0F", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2708\uFE0F", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF3E", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF73", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF7C", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF93", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFA4", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFA8", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFEB", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFED", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDCBB", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDCBC", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDD27", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDD2C", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDE80", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDE92", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDAF", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB0", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB1", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB2", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB3", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBC", "\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBD", "\uD83D\uDC6B\uD83C\uDFFB", "\uD83D\uDC6B\uD83C\uDFFC", "\uD83D\uDC6B\uD83C\uDFFD", "\uD83D\uDC6B\uD83C\uDFFE", "\uD83D\uDC6B\uD83C\uDFFF", "\uD83D\uDC6C\uD83C\uDFFB", "\uD83D\uDC6C\uD83C\uDFFC", "\uD83D\uDC6C\uD83C\uDFFD", "\uD83D\uDC6C\uD83C\uDFFE", "\uD83D\uDC6C\uD83C\uDFFF", "\uD83D\uDC6D\uD83C\uDFFB", "\uD83D\uDC6D\uD83C\uDFFC", "\uD83D\uDC6D\uD83C\uDFFD", "\uD83D\uDC6D\uD83C\uDFFE", "\uD83D\uDC6D\uD83C\uDFFF", "\uD83D\uDC6E\u200D\u2640\uFE0F", "\uD83D\uDC6E\u200D\u2642\uFE0F", "\uD83D\uDC6E\uD83C\uDFFB", "\uD83D\uDC6E\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC6E\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC6E\uD83C\uDFFC", "\uD83D\uDC6E\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC6E\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC6E\uD83C\uDFFD", "\uD83D\uDC6E\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC6E\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC6E\uD83C\uDFFE", "\uD83D\uDC6E\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC6E\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC6E\uD83C\uDFFF", "\uD83D\uDC6E\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC6E\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC6F\u200D\u2640\uFE0F", "\uD83D\uDC6F\u200D\u2642\uFE0F", "\uD83D\uDC70\u200D\u2640\uFE0F", "\uD83D\uDC70\u200D\u2642\uFE0F", "\uD83D\uDC70\uD83C\uDFFB", "\uD83D\uDC70\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC70\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC70\uD83C\uDFFC", "\uD83D\uDC70\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC70\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC70\uD83C\uDFFD", "\uD83D\uDC70\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC70\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC70\uD83C\uDFFE", "\uD83D\uDC70\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC70\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC70\uD83C\uDFFF", "\uD83D\uDC70\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC70\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC71\u200D\u2640\uFE0F", "\uD83D\uDC71\u200D\u2642\uFE0F", "\uD83D\uDC71\uD83C\uDFFB", "\uD83D\uDC71\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC71\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC71\uD83C\uDFFC", "\uD83D\uDC71\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC71\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC71\uD83C\uDFFD", "\uD83D\uDC71\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC71\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC71\uD83C\uDFFE", "\uD83D\uDC71\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC71\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC71\uD83C\uDFFF", "\uD83D\uDC71\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC71\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC72\uD83C\uDFFB", "\uD83D\uDC72\uD83C\uDFFC", "\uD83D\uDC72\uD83C\uDFFD", "\uD83D\uDC72\uD83C\uDFFE", "\uD83D\uDC72\uD83C\uDFFF", "\uD83D\uDC73\u200D\u2640\uFE0F", "\uD83D\uDC73\u200D\u2642\uFE0F", "\uD83D\uDC73\uD83C\uDFFB", "\uD83D\uDC73\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC73\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC73\uD83C\uDFFC", "\uD83D\uDC73\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC73\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC73\uD83C\uDFFD", "\uD83D\uDC73\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC73\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC73\uD83C\uDFFE", "\uD83D\uDC73\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC73\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC73\uD83C\uDFFF", "\uD83D\uDC73\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC73\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC74\uD83C\uDFFB", "\uD83D\uDC74\uD83C\uDFFC", "\uD83D\uDC74\uD83C\uDFFD", "\uD83D\uDC74\uD83C\uDFFE", "\uD83D\uDC74\uD83C\uDFFF", "\uD83D\uDC75\uD83C\uDFFB", "\uD83D\uDC75\uD83C\uDFFC", "\uD83D\uDC75\uD83C\uDFFD", "\uD83D\uDC75\uD83C\uDFFE", "\uD83D\uDC75\uD83C\uDFFF", "\uD83D\uDC76\uD83C\uDFFB", "\uD83D\uDC76\uD83C\uDFFC", "\uD83D\uDC76\uD83C\uDFFD", "\uD83D\uDC76\uD83C\uDFFE", "\uD83D\uDC76\uD83C\uDFFF", "\uD83D\uDC77\u200D\u2640\uFE0F", "\uD83D\uDC77\u200D\u2642\uFE0F", "\uD83D\uDC77\uD83C\uDFFB", "\uD83D\uDC77\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC77\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC77\uD83C\uDFFC", "\uD83D\uDC77\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC77\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC77\uD83C\uDFFD", "\uD83D\uDC77\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC77\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC77\uD83C\uDFFE", "\uD83D\uDC77\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC77\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC77\uD83C\uDFFF", "\uD83D\uDC77\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC77\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC78\uD83C\uDFFB", "\uD83D\uDC78\uD83C\uDFFC", "\uD83D\uDC78\uD83C\uDFFD", "\uD83D\uDC78\uD83C\uDFFE", "\uD83D\uDC78\uD83C\uDFFF", "\uD83D\uDC7C\uD83C\uDFFB", "\uD83D\uDC7C\uD83C\uDFFC", "\uD83D\uDC7C\uD83C\uDFFD", "\uD83D\uDC7C\uD83C\uDFFE", "\uD83D\uDC7C\uD83C\uDFFF", "\uD83D\uDC81\u200D\u2640\uFE0F", "\uD83D\uDC81\u200D\u2642\uFE0F", "\uD83D\uDC81\uD83C\uDFFB", "\uD83D\uDC81\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC81\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC81\uD83C\uDFFC", "\uD83D\uDC81\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC81\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC81\uD83C\uDFFD", "\uD83D\uDC81\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC81\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC81\uD83C\uDFFE", "\uD83D\uDC81\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC81\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC81\uD83C\uDFFF", "\uD83D\uDC81\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC81\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC82\u200D\u2640\uFE0F", "\uD83D\uDC82\u200D\u2642\uFE0F", "\uD83D\uDC82\uD83C\uDFFB", "\uD83D\uDC82\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC82\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC82\uD83C\uDFFC", "\uD83D\uDC82\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC82\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC82\uD83C\uDFFD", "\uD83D\uDC82\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC82\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC82\uD83C\uDFFE", "\uD83D\uDC82\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC82\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC82\uD83C\uDFFF", "\uD83D\uDC82\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC82\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC83\uD83C\uDFFB", "\uD83D\uDC83\uD83C\uDFFC", "\uD83D\uDC83\uD83C\uDFFD", "\uD83D\uDC83\uD83C\uDFFE", "\uD83D\uDC83\uD83C\uDFFF", "\uD83D\uDC85\uD83C\uDFFB", "\uD83D\uDC85\uD83C\uDFFC", "\uD83D\uDC85\uD83C\uDFFD", "\uD83D\uDC85\uD83C\uDFFE", "\uD83D\uDC85\uD83C\uDFFF", "\uD83D\uDC86\u200D\u2640\uFE0F", "\uD83D\uDC86\u200D\u2642\uFE0F", "\uD83D\uDC86\uD83C\uDFFB", "\uD83D\uDC86\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC86\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC86\uD83C\uDFFC", "\uD83D\uDC86\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC86\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC86\uD83C\uDFFD", "\uD83D\uDC86\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC86\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC86\uD83C\uDFFE", "\uD83D\uDC86\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC86\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC86\uD83C\uDFFF", "\uD83D\uDC86\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC86\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC87\u200D\u2640\uFE0F", "\uD83D\uDC87\u200D\u2642\uFE0F", "\uD83D\uDC87\uD83C\uDFFB", "\uD83D\uDC87\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDC87\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDC87\uD83C\uDFFC", "\uD83D\uDC87\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDC87\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDC87\uD83C\uDFFD", "\uD83D\uDC87\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDC87\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDC87\uD83C\uDFFE", "\uD83D\uDC87\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDC87\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDC87\uD83C\uDFFF", "\uD83D\uDC87\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDC87\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDC8F\uD83C\uDFFB", "\uD83D\uDC8F\uD83C\uDFFC", "\uD83D\uDC8F\uD83C\uDFFD", "\uD83D\uDC8F\uD83C\uDFFE", "\uD83D\uDC8F\uD83C\uDFFF", "\uD83D\uDC91\uD83C\uDFFB", "\uD83D\uDC91\uD83C\uDFFC", "\uD83D\uDC91\uD83C\uDFFD", "\uD83D\uDC91\uD83C\uDFFE", "\uD83D\uDC91\uD83C\uDFFF", "\uD83D\uDCAA\uD83C\uDFFB", "\uD83D\uDCAA\uD83C\uDFFC", "\uD83D\uDCAA\uD83C\uDFFD", "\uD83D\uDCAA\uD83C\uDFFE", "\uD83D\uDCAA\uD83C\uDFFF", "\uD83D\uDCFD\uFE0F", "\uD83D\uDD49\uFE0F", "\uD83D\uDD4A\uFE0F", "\uD83D\uDD6F\uFE0F", "\uD83D\uDD70\uFE0F", "\uD83D\uDD73\uFE0F", "\uD83D\uDD74\uD83C\uDFFB", "\uD83D\uDD74\uD83C\uDFFC", "\uD83D\uDD74\uD83C\uDFFD", "\uD83D\uDD74\uD83C\uDFFE", "\uD83D\uDD74\uD83C\uDFFF", "\uD83D\uDD74\uFE0F", "\uD83D\uDD75\uD83C\uDFFB", "\uD83D\uDD75\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDD75\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDD75\uD83C\uDFFC", "\uD83D\uDD75\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDD75\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDD75\uD83C\uDFFD", "\uD83D\uDD75\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDD75\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDD75\uD83C\uDFFE", "\uD83D\uDD75\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDD75\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDD75\uD83C\uDFFF", "\uD83D\uDD75\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDD75\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDD75\uFE0F", "\uD83D\uDD75\uFE0F\u200D\u2640\uFE0F", "\uD83D\uDD75\uFE0F\u200D\u2642\uFE0F", "\uD83D\uDD76\uFE0F", "\uD83D\uDD77\uFE0F", "\uD83D\uDD78\uFE0F", "\uD83D\uDD79\uFE0F", "\uD83D\uDD7A\uD83C\uDFFB", "\uD83D\uDD7A\uD83C\uDFFC", "\uD83D\uDD7A\uD83C\uDFFD", "\uD83D\uDD7A\uD83C\uDFFE", "\uD83D\uDD7A\uD83C\uDFFF", "\uD83D\uDD87\uFE0F", "\uD83D\uDD8A\uFE0F", "\uD83D\uDD8B\uFE0F", "\uD83D\uDD8C\uFE0F", "\uD83D\uDD8D\uFE0F", "\uD83D\uDD90\uD83C\uDFFB", "\uD83D\uDD90\uD83C\uDFFC", "\uD83D\uDD90\uD83C\uDFFD", "\uD83D\uDD90\uD83C\uDFFE", "\uD83D\uDD90\uD83C\uDFFF", "\uD83D\uDD90\uFE0F", "\uD83D\uDD95\uD83C\uDFFB", "\uD83D\uDD95\uD83C\uDFFC", "\uD83D\uDD95\uD83C\uDFFD", "\uD83D\uDD95\uD83C\uDFFE", "\uD83D\uDD95\uD83C\uDFFF", "\uD83D\uDD96\uD83C\uDFFB", "\uD83D\uDD96\uD83C\uDFFC", "\uD83D\uDD96\uD83C\uDFFD", "\uD83D\uDD96\uD83C\uDFFE", "\uD83D\uDD96\uD83C\uDFFF", "\uD83D\uDDA5\uFE0F", "\uD83D\uDDA8\uFE0F", "\uD83D\uDDB1\uFE0F", "\uD83D\uDDB2\uFE0F", "\uD83D\uDDBC\uFE0F", "\uD83D\uDDC2\uFE0F", "\uD83D\uDDC3\uFE0F", "\uD83D\uDDC4\uFE0F", "\uD83D\uDDD1\uFE0F", "\uD83D\uDDD2\uFE0F", "\uD83D\uDDD3\uFE0F", "\uD83D\uDDDC\uFE0F", "\uD83D\uDDDD\uFE0F", "\uD83D\uDDDE\uFE0F", "\uD83D\uDDE1\uFE0F", "\uD83D\uDDE3\uFE0F", "\uD83D\uDDE8\uFE0F", "\uD83D\uDDEF\uFE0F", "\uD83D\uDDF3\uFE0F", "\uD83D\uDDFA\uFE0F", "\uD83D\uDE2E\u200D\uD83D\uDCA8", "\uD83D\uDE35\u200D\uD83D\uDCAB", "\uD83D\uDE36\u200D\uD83C\uDF2B\uFE0F", "\uD83D\uDE45\u200D\u2640\uFE0F", "\uD83D\uDE45\u200D\u2642\uFE0F", "\uD83D\uDE45\uD83C\uDFFB", "\uD83D\uDE45\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE45\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE45\uD83C\uDFFC", "\uD83D\uDE45\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE45\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE45\uD83C\uDFFD", "\uD83D\uDE45\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE45\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE45\uD83C\uDFFE", "\uD83D\uDE45\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE45\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE45\uD83C\uDFFF", "\uD83D\uDE45\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE45\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE46\u200D\u2640\uFE0F", "\uD83D\uDE46\u200D\u2642\uFE0F", "\uD83D\uDE46\uD83C\uDFFB", "\uD83D\uDE46\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE46\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE46\uD83C\uDFFC", "\uD83D\uDE46\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE46\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE46\uD83C\uDFFD", "\uD83D\uDE46\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE46\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE46\uD83C\uDFFE", "\uD83D\uDE46\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE46\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE46\uD83C\uDFFF", "\uD83D\uDE46\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE46\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE47\u200D\u2640\uFE0F", "\uD83D\uDE47\u200D\u2642\uFE0F", "\uD83D\uDE47\uD83C\uDFFB", "\uD83D\uDE47\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE47\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE47\uD83C\uDFFC", "\uD83D\uDE47\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE47\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE47\uD83C\uDFFD", "\uD83D\uDE47\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE47\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE47\uD83C\uDFFE", "\uD83D\uDE47\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE47\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE47\uD83C\uDFFF", "\uD83D\uDE47\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE47\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE4B\u200D\u2640\uFE0F", "\uD83D\uDE4B\u200D\u2642\uFE0F", "\uD83D\uDE4B\uD83C\uDFFB", "\uD83D\uDE4B\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE4B\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE4B\uD83C\uDFFC", "\uD83D\uDE4B\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE4B\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE4B\uD83C\uDFFD", "\uD83D\uDE4B\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE4B\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE4B\uD83C\uDFFE", "\uD83D\uDE4B\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE4B\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE4B\uD83C\uDFFF", "\uD83D\uDE4B\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE4B\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE4C\uD83C\uDFFB", "\uD83D\uDE4C\uD83C\uDFFC", "\uD83D\uDE4C\uD83C\uDFFD", "\uD83D\uDE4C\uD83C\uDFFE", "\uD83D\uDE4C\uD83C\uDFFF", "\uD83D\uDE4D\u200D\u2640\uFE0F", "\uD83D\uDE4D\u200D\u2642\uFE0F", "\uD83D\uDE4D\uD83C\uDFFB", "\uD83D\uDE4D\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE4D\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE4D\uD83C\uDFFC", "\uD83D\uDE4D\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE4D\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE4D\uD83C\uDFFD", "\uD83D\uDE4D\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE4D\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE4D\uD83C\uDFFE", "\uD83D\uDE4D\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE4D\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE4D\uD83C\uDFFF", "\uD83D\uDE4D\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE4D\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE4E\u200D\u2640\uFE0F", "\uD83D\uDE4E\u200D\u2642\uFE0F", "\uD83D\uDE4E\uD83C\uDFFB", "\uD83D\uDE4E\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDE4E\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDE4E\uD83C\uDFFC", "\uD83D\uDE4E\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDE4E\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDE4E\uD83C\uDFFD", "\uD83D\uDE4E\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDE4E\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDE4E\uD83C\uDFFE", "\uD83D\uDE4E\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDE4E\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDE4E\uD83C\uDFFF", "\uD83D\uDE4E\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDE4E\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDE4F\uD83C\uDFFB", "\uD83D\uDE4F\uD83C\uDFFC", "\uD83D\uDE4F\uD83C\uDFFD", "\uD83D\uDE4F\uD83C\uDFFE", "\uD83D\uDE4F\uD83C\uDFFF", "\uD83D\uDEA3\u200D\u2640\uFE0F", "\uD83D\uDEA3\u200D\u2642\uFE0F", "\uD83D\uDEA3\uD83C\uDFFB", "\uD83D\uDEA3\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDEA3\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDEA3\uD83C\uDFFC", "\uD83D\uDEA3\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDEA3\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDEA3\uD83C\uDFFD", "\uD83D\uDEA3\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDEA3\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDEA3\uD83C\uDFFE", "\uD83D\uDEA3\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDEA3\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDEA3\uD83C\uDFFF", "\uD83D\uDEA3\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDEA3\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDEB4\u200D\u2640\uFE0F", "\uD83D\uDEB4\u200D\u2642\uFE0F", "\uD83D\uDEB4\uD83C\uDFFB", "\uD83D\uDEB4\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDEB4\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDEB4\uD83C\uDFFC", "\uD83D\uDEB4\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDEB4\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDEB4\uD83C\uDFFD", "\uD83D\uDEB4\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDEB4\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDEB4\uD83C\uDFFE", "\uD83D\uDEB4\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDEB4\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDEB4\uD83C\uDFFF", "\uD83D\uDEB4\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDEB4\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDEB5\u200D\u2640\uFE0F", "\uD83D\uDEB5\u200D\u2642\uFE0F", "\uD83D\uDEB5\uD83C\uDFFB", "\uD83D\uDEB5\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDEB5\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDEB5\uD83C\uDFFC", "\uD83D\uDEB5\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDEB5\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDEB5\uD83C\uDFFD", "\uD83D\uDEB5\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDEB5\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDEB5\uD83C\uDFFE", "\uD83D\uDEB5\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDEB5\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDEB5\uD83C\uDFFF", "\uD83D\uDEB5\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDEB5\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDEB6\u200D\u2640\uFE0F", "\uD83D\uDEB6\u200D\u2642\uFE0F", "\uD83D\uDEB6\uD83C\uDFFB", "\uD83D\uDEB6\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83D\uDEB6\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83D\uDEB6\uD83C\uDFFC", "\uD83D\uDEB6\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83D\uDEB6\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83D\uDEB6\uD83C\uDFFD", "\uD83D\uDEB6\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83D\uDEB6\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83D\uDEB6\uD83C\uDFFE", "\uD83D\uDEB6\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83D\uDEB6\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83D\uDEB6\uD83C\uDFFF", "\uD83D\uDEB6\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83D\uDEB6\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83D\uDEC0\uD83C\uDFFB", "\uD83D\uDEC0\uD83C\uDFFC", "\uD83D\uDEC0\uD83C\uDFFD", "\uD83D\uDEC0\uD83C\uDFFE", "\uD83D\uDEC0\uD83C\uDFFF", "\uD83D\uDECB\uFE0F", "\uD83D\uDECC\uD83C\uDFFB", "\uD83D\uDECC\uD83C\uDFFC", "\uD83D\uDECC\uD83C\uDFFD", "\uD83D\uDECC\uD83C\uDFFE", "\uD83D\uDECC\uD83C\uDFFF", "\uD83D\uDECD\uFE0F", "\uD83D\uDECE\uFE0F", "\uD83D\uDECF\uFE0F", "\uD83D\uDEE0\uFE0F", "\uD83D\uDEE1\uFE0F", "\uD83D\uDEE2\uFE0F", "\uD83D\uDEE3\uFE0F", "\uD83D\uDEE4\uFE0F", "\uD83D\uDEE5\uFE0F", "\uD83D\uDEE9\uFE0F", "\uD83D\uDEF0\uFE0F", "\uD83D\uDEF3\uFE0F", "\uD83E\uDD0C\uD83C\uDFFB", "\uD83E\uDD0C\uD83C\uDFFC", "\uD83E\uDD0C\uD83C\uDFFD", "\uD83E\uDD0C\uD83C\uDFFE", "\uD83E\uDD0C\uD83C\uDFFF", "\uD83E\uDD0F\uD83C\uDFFB", "\uD83E\uDD0F\uD83C\uDFFC", "\uD83E\uDD0F\uD83C\uDFFD", "\uD83E\uDD0F\uD83C\uDFFE", "\uD83E\uDD0F\uD83C\uDFFF", "\uD83E\uDD18\uD83C\uDFFB", "\uD83E\uDD18\uD83C\uDFFC", "\uD83E\uDD18\uD83C\uDFFD", "\uD83E\uDD18\uD83C\uDFFE", "\uD83E\uDD18\uD83C\uDFFF", "\uD83E\uDD19\uD83C\uDFFB", "\uD83E\uDD19\uD83C\uDFFC", "\uD83E\uDD19\uD83C\uDFFD", "\uD83E\uDD19\uD83C\uDFFE", "\uD83E\uDD19\uD83C\uDFFF", "\uD83E\uDD1A\uD83C\uDFFB", "\uD83E\uDD1A\uD83C\uDFFC", "\uD83E\uDD1A\uD83C\uDFFD", "\uD83E\uDD1A\uD83C\uDFFE", "\uD83E\uDD1A\uD83C\uDFFF", "\uD83E\uDD1B\uD83C\uDFFB", "\uD83E\uDD1B\uD83C\uDFFC", "\uD83E\uDD1B\uD83C\uDFFD", "\uD83E\uDD1B\uD83C\uDFFE", "\uD83E\uDD1B\uD83C\uDFFF", "\uD83E\uDD1C\uD83C\uDFFB", "\uD83E\uDD1C\uD83C\uDFFC", "\uD83E\uDD1C\uD83C\uDFFD", "\uD83E\uDD1C\uD83C\uDFFE", "\uD83E\uDD1C\uD83C\uDFFF", "\uD83E\uDD1D\uD83C\uDFFB", "\uD83E\uDD1D\uD83C\uDFFC", "\uD83E\uDD1D\uD83C\uDFFD", "\uD83E\uDD1D\uD83C\uDFFE", "\uD83E\uDD1D\uD83C\uDFFF", "\uD83E\uDD1E\uD83C\uDFFB", "\uD83E\uDD1E\uD83C\uDFFC", "\uD83E\uDD1E\uD83C\uDFFD", "\uD83E\uDD1E\uD83C\uDFFE", "\uD83E\uDD1E\uD83C\uDFFF", "\uD83E\uDD1F\uD83C\uDFFB", "\uD83E\uDD1F\uD83C\uDFFC", "\uD83E\uDD1F\uD83C\uDFFD", "\uD83E\uDD1F\uD83C\uDFFE", "\uD83E\uDD1F\uD83C\uDFFF", "\uD83E\uDD26\u200D\u2640\uFE0F", "\uD83E\uDD26\u200D\u2642\uFE0F", "\uD83E\uDD26\uD83C\uDFFB", "\uD83E\uDD26\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD26\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD26\uD83C\uDFFC", "\uD83E\uDD26\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD26\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD26\uD83C\uDFFD", "\uD83E\uDD26\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD26\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD26\uD83C\uDFFE", "\uD83E\uDD26\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD26\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD26\uD83C\uDFFF", "\uD83E\uDD26\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD26\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD30\uD83C\uDFFB", "\uD83E\uDD30\uD83C\uDFFC", "\uD83E\uDD30\uD83C\uDFFD", "\uD83E\uDD30\uD83C\uDFFE", "\uD83E\uDD30\uD83C\uDFFF", "\uD83E\uDD31\uD83C\uDFFB", "\uD83E\uDD31\uD83C\uDFFC", "\uD83E\uDD31\uD83C\uDFFD", "\uD83E\uDD31\uD83C\uDFFE", "\uD83E\uDD31\uD83C\uDFFF", "\uD83E\uDD32\uD83C\uDFFB", "\uD83E\uDD32\uD83C\uDFFC", "\uD83E\uDD32\uD83C\uDFFD", "\uD83E\uDD32\uD83C\uDFFE", "\uD83E\uDD32\uD83C\uDFFF", "\uD83E\uDD33\uD83C\uDFFB", "\uD83E\uDD33\uD83C\uDFFC", "\uD83E\uDD33\uD83C\uDFFD", "\uD83E\uDD33\uD83C\uDFFE", "\uD83E\uDD33\uD83C\uDFFF", "\uD83E\uDD34\uD83C\uDFFB", "\uD83E\uDD34\uD83C\uDFFC", "\uD83E\uDD34\uD83C\uDFFD", "\uD83E\uDD34\uD83C\uDFFE", "\uD83E\uDD34\uD83C\uDFFF", "\uD83E\uDD35\u200D\u2640\uFE0F", "\uD83E\uDD35\u200D\u2642\uFE0F", "\uD83E\uDD35\uD83C\uDFFB", "\uD83E\uDD35\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD35\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD35\uD83C\uDFFC", "\uD83E\uDD35\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD35\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD35\uD83C\uDFFD", "\uD83E\uDD35\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD35\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD35\uD83C\uDFFE", "\uD83E\uDD35\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD35\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD35\uD83C\uDFFF", "\uD83E\uDD35\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD35\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD36\uD83C\uDFFB", "\uD83E\uDD36\uD83C\uDFFC", "\uD83E\uDD36\uD83C\uDFFD", "\uD83E\uDD36\uD83C\uDFFE", "\uD83E\uDD36\uD83C\uDFFF", "\uD83E\uDD37\u200D\u2640\uFE0F", "\uD83E\uDD37\u200D\u2642\uFE0F", "\uD83E\uDD37\uD83C\uDFFB", "\uD83E\uDD37\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD37\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD37\uD83C\uDFFC", "\uD83E\uDD37\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD37\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD37\uD83C\uDFFD", "\uD83E\uDD37\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD37\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD37\uD83C\uDFFE", "\uD83E\uDD37\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD37\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD37\uD83C\uDFFF", "\uD83E\uDD37\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD37\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD38\u200D\u2640\uFE0F", "\uD83E\uDD38\u200D\u2642\uFE0F", "\uD83E\uDD38\uD83C\uDFFB", "\uD83E\uDD38\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD38\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD38\uD83C\uDFFC", "\uD83E\uDD38\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD38\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD38\uD83C\uDFFD", "\uD83E\uDD38\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD38\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD38\uD83C\uDFFE", "\uD83E\uDD38\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD38\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD38\uD83C\uDFFF", "\uD83E\uDD38\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD38\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD39\u200D\u2640\uFE0F", "\uD83E\uDD39\u200D\u2642\uFE0F", "\uD83E\uDD39\uD83C\uDFFB", "\uD83E\uDD39\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD39\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD39\uD83C\uDFFC", "\uD83E\uDD39\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD39\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD39\uD83C\uDFFD", "\uD83E\uDD39\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD39\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD39\uD83C\uDFFE", "\uD83E\uDD39\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD39\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD39\uD83C\uDFFF", "\uD83E\uDD39\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD39\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD3C\u200D\u2640\uFE0F", "\uD83E\uDD3C\u200D\u2642\uFE0F", "\uD83E\uDD3D\u200D\u2640\uFE0F", "\uD83E\uDD3D\u200D\u2642\uFE0F", "\uD83E\uDD3D\uD83C\uDFFB", "\uD83E\uDD3D\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD3D\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD3D\uD83C\uDFFC", "\uD83E\uDD3D\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD3D\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD3D\uD83C\uDFFD", "\uD83E\uDD3D\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD3D\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD3D\uD83C\uDFFE", "\uD83E\uDD3D\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD3D\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD3D\uD83C\uDFFF", "\uD83E\uDD3D\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD3D\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD3E\u200D\u2640\uFE0F", "\uD83E\uDD3E\u200D\u2642\uFE0F", "\uD83E\uDD3E\uD83C\uDFFB", "\uD83E\uDD3E\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDD3E\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDD3E\uD83C\uDFFC", "\uD83E\uDD3E\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDD3E\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDD3E\uD83C\uDFFD", "\uD83E\uDD3E\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDD3E\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDD3E\uD83C\uDFFE", "\uD83E\uDD3E\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDD3E\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDD3E\uD83C\uDFFF", "\uD83E\uDD3E\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDD3E\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDD77\uD83C\uDFFB", "\uD83E\uDD77\uD83C\uDFFC", "\uD83E\uDD77\uD83C\uDFFD", "\uD83E\uDD77\uD83C\uDFFE", "\uD83E\uDD77\uD83C\uDFFF", "\uD83E\uDDB5\uD83C\uDFFB", "\uD83E\uDDB5\uD83C\uDFFC", "\uD83E\uDDB5\uD83C\uDFFD", "\uD83E\uDDB5\uD83C\uDFFE", "\uD83E\uDDB5\uD83C\uDFFF", "\uD83E\uDDB6\uD83C\uDFFB", "\uD83E\uDDB6\uD83C\uDFFC", "\uD83E\uDDB6\uD83C\uDFFD", "\uD83E\uDDB6\uD83C\uDFFE", "\uD83E\uDDB6\uD83C\uDFFF", "\uD83E\uDDB8\u200D\u2640\uFE0F", "\uD83E\uDDB8\u200D\u2642\uFE0F", "\uD83E\uDDB8\uD83C\uDFFB", "\uD83E\uDDB8\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDB8\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDB8\uD83C\uDFFC", "\uD83E\uDDB8\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDB8\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDB8\uD83C\uDFFD", "\uD83E\uDDB8\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDB8\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDB8\uD83C\uDFFE", "\uD83E\uDDB8\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDB8\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDB8\uD83C\uDFFF", "\uD83E\uDDB8\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDB8\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDB9\u200D\u2640\uFE0F", "\uD83E\uDDB9\u200D\u2642\uFE0F", "\uD83E\uDDB9\uD83C\uDFFB", "\uD83E\uDDB9\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDB9\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDB9\uD83C\uDFFC", "\uD83E\uDDB9\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDB9\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDB9\uD83C\uDFFD", "\uD83E\uDDB9\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDB9\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDB9\uD83C\uDFFE", "\uD83E\uDDB9\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDB9\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDB9\uD83C\uDFFF", "\uD83E\uDDB9\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDB9\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDBB\uD83C\uDFFB", "\uD83E\uDDBB\uD83C\uDFFC", "\uD83E\uDDBB\uD83C\uDFFD", "\uD83E\uDDBB\uD83C\uDFFE", "\uD83E\uDDBB\uD83C\uDFFF", "\uD83E\uDDCD\u200D\u2640\uFE0F", "\uD83E\uDDCD\u200D\u2642\uFE0F", "\uD83E\uDDCD\uD83C\uDFFB", "\uD83E\uDDCD\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDCD\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDCD\uD83C\uDFFC", "\uD83E\uDDCD\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDCD\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDCD\uD83C\uDFFD", "\uD83E\uDDCD\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDCD\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDCD\uD83C\uDFFE", "\uD83E\uDDCD\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDCD\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDCD\uD83C\uDFFF", "\uD83E\uDDCD\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDCD\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDCE\u200D\u2640\uFE0F", "\uD83E\uDDCE\u200D\u2642\uFE0F", "\uD83E\uDDCE\uD83C\uDFFB", "\uD83E\uDDCE\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDCE\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDCE\uD83C\uDFFC", "\uD83E\uDDCE\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDCE\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDCE\uD83C\uDFFD", "\uD83E\uDDCE\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDCE\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDCE\uD83C\uDFFE", "\uD83E\uDDCE\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDCE\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDCE\uD83C\uDFFF", "\uD83E\uDDCE\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDCE\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDCF\u200D\u2640\uFE0F", "\uD83E\uDDCF\u200D\u2642\uFE0F", "\uD83E\uDDCF\uD83C\uDFFB", "\uD83E\uDDCF\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDCF\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDCF\uD83C\uDFFC", "\uD83E\uDDCF\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDCF\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDCF\uD83C\uDFFD", "\uD83E\uDDCF\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDCF\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDCF\uD83C\uDFFE", "\uD83E\uDDCF\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDCF\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDCF\uD83C\uDFFF", "\uD83E\uDDCF\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDCF\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDD1\u200D\u2695\uFE0F", "\uD83E\uDDD1\u200D\u2696\uFE0F", "\uD83E\uDDD1\u200D\u2708\uFE0F", "\uD83E\uDDD1\u200D\uD83C\uDF3E", "\uD83E\uDDD1\u200D\uD83C\uDF73", "\uD83E\uDDD1\u200D\uD83C\uDF7C", "\uD83E\uDDD1\u200D\uD83C\uDF84", "\uD83E\uDDD1\u200D\uD83C\uDF93", "\uD83E\uDDD1\u200D\uD83C\uDFA4", "\uD83E\uDDD1\u200D\uD83C\uDFA8", "\uD83E\uDDD1\u200D\uD83C\uDFEB", "\uD83E\uDDD1\u200D\uD83C\uDFED", "\uD83E\uDDD1\u200D\uD83D\uDCBB", "\uD83E\uDDD1\u200D\uD83D\uDCBC", "\uD83E\uDDD1\u200D\uD83D\uDD27", "\uD83E\uDDD1\u200D\uD83D\uDD2C", "\uD83E\uDDD1\u200D\uD83D\uDE80", "\uD83E\uDDD1\u200D\uD83D\uDE92", "\uD83E\uDDD1\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1", "\uD83E\uDDD1\u200D\uD83E\uDDAF", "\uD83E\uDDD1\u200D\uD83E\uDDB0", "\uD83E\uDDD1\u200D\uD83E\uDDB1", "\uD83E\uDDD1\u200D\uD83E\uDDB2", "\uD83E\uDDD1\u200D\uD83E\uDDB3", "\uD83E\uDDD1\u200D\uD83E\uDDBC", "\uD83E\uDDD1\u200D\uD83E\uDDBD", "\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2695\uFE0F", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2696\uFE0F", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2708\uFE0F", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF3E", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF73", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF7C", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF84", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF93", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFA4", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFA8", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFEB", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFED", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDCBB", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDCBC", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDD27", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDD2C", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDE80", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDE92", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDAF", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB0", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB1", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB2", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB3", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBC", "\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBD", "\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2695\uFE0F", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2696\uFE0F", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2708\uFE0F", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF3E", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF73", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF7C", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF84", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF93", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFA4", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFA8", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFEB", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFED", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDCBB", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDCBC", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDD27", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDD2C", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDE80", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDE92", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDAF", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB0", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB1", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB2", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB3", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBC", "\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBD", "\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2695\uFE0F", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2696\uFE0F", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2708\uFE0F", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF3E", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF73", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF7C", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF84", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF93", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFA4", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFA8", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFEB", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFED", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDCBB", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDCBC", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDD27", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDD2C", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDE80", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDE92", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDAF", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB0", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB1", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB2", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB3", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBC", "\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBD", "\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2695\uFE0F", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2696\uFE0F", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2708\uFE0F", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF3E", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF73", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF7C", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF84", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF93", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFA4", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFA8", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFEB", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFED", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDCBB", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDCBC", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDD27", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDD2C", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDE80", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDE92", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDAF", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB0", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB1", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB2", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB3", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBC", "\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBD", "\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2695\uFE0F", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2696\uFE0F", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2708\uFE0F", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF3E", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF73", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF7C", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF84", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF93", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFA4", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFA8", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFEB", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFED", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDCBB", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDCBC", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDD27", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDD2C", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDE80", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDE92", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDAF", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB0", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB1", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB2", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB3", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBC", "\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBD", "\uD83E\uDDD2\uD83C\uDFFB", "\uD83E\uDDD2\uD83C\uDFFC", "\uD83E\uDDD2\uD83C\uDFFD", "\uD83E\uDDD2\uD83C\uDFFE", "\uD83E\uDDD2\uD83C\uDFFF", "\uD83E\uDDD3\uD83C\uDFFB", "\uD83E\uDDD3\uD83C\uDFFC", "\uD83E\uDDD3\uD83C\uDFFD", "\uD83E\uDDD3\uD83C\uDFFE", "\uD83E\uDDD3\uD83C\uDFFF", "\uD83E\uDDD4\u200D\u2640\uFE0F", "\uD83E\uDDD4\u200D\u2642\uFE0F", "\uD83E\uDDD4\uD83C\uDFFB", "\uD83E\uDDD4\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDD4\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDD4\uD83C\uDFFC", "\uD83E\uDDD4\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDD4\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDD4\uD83C\uDFFD", "\uD83E\uDDD4\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDD4\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDD4\uD83C\uDFFE", "\uD83E\uDDD4\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDD4\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDD4\uD83C\uDFFF", "\uD83E\uDDD4\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDD4\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDD5\uD83C\uDFFB", "\uD83E\uDDD5\uD83C\uDFFC", "\uD83E\uDDD5\uD83C\uDFFD", "\uD83E\uDDD5\uD83C\uDFFE", "\uD83E\uDDD5\uD83C\uDFFF", "\uD83E\uDDD6\u200D\u2640\uFE0F", "\uD83E\uDDD6\u200D\u2642\uFE0F", "\uD83E\uDDD6\uD83C\uDFFB", "\uD83E\uDDD6\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDD6\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDD6\uD83C\uDFFC", "\uD83E\uDDD6\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDD6\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDD6\uD83C\uDFFD", "\uD83E\uDDD6\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDD6\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDD6\uD83C\uDFFE", "\uD83E\uDDD6\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDD6\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDD6\uD83C\uDFFF", "\uD83E\uDDD6\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDD6\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDD7\u200D\u2640\uFE0F", "\uD83E\uDDD7\u200D\u2642\uFE0F", "\uD83E\uDDD7\uD83C\uDFFB", "\uD83E\uDDD7\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDD7\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDD7\uD83C\uDFFC", "\uD83E\uDDD7\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDD7\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDD7\uD83C\uDFFD", "\uD83E\uDDD7\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDD7\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDD7\uD83C\uDFFE", "\uD83E\uDDD7\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDD7\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDD7\uD83C\uDFFF", "\uD83E\uDDD7\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDD7\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDD8\u200D\u2640\uFE0F", "\uD83E\uDDD8\u200D\u2642\uFE0F", "\uD83E\uDDD8\uD83C\uDFFB", "\uD83E\uDDD8\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDD8\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDD8\uD83C\uDFFC", "\uD83E\uDDD8\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDD8\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDD8\uD83C\uDFFD", "\uD83E\uDDD8\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDD8\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDD8\uD83C\uDFFE", "\uD83E\uDDD8\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDD8\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDD8\uD83C\uDFFF", "\uD83E\uDDD8\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDD8\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDD9\u200D\u2640\uFE0F", "\uD83E\uDDD9\u200D\u2642\uFE0F", "\uD83E\uDDD9\uD83C\uDFFB", "\uD83E\uDDD9\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDD9\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDD9\uD83C\uDFFC", "\uD83E\uDDD9\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDD9\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDD9\uD83C\uDFFD", "\uD83E\uDDD9\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDD9\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDD9\uD83C\uDFFE", "\uD83E\uDDD9\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDD9\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDD9\uD83C\uDFFF", "\uD83E\uDDD9\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDD9\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDDA\u200D\u2640\uFE0F", "\uD83E\uDDDA\u200D\u2642\uFE0F", "\uD83E\uDDDA\uD83C\uDFFB", "\uD83E\uDDDA\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDDA\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDDA\uD83C\uDFFC", "\uD83E\uDDDA\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDDA\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDDA\uD83C\uDFFD", "\uD83E\uDDDA\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDDA\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDDA\uD83C\uDFFE", "\uD83E\uDDDA\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDDA\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDDA\uD83C\uDFFF", "\uD83E\uDDDA\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDDA\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDDB\u200D\u2640\uFE0F", "\uD83E\uDDDB\u200D\u2642\uFE0F", "\uD83E\uDDDB\uD83C\uDFFB", "\uD83E\uDDDB\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDDB\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDDB\uD83C\uDFFC", "\uD83E\uDDDB\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDDB\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDDB\uD83C\uDFFD", "\uD83E\uDDDB\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDDB\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDDB\uD83C\uDFFE", "\uD83E\uDDDB\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDDB\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDDB\uD83C\uDFFF", "\uD83E\uDDDB\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDDB\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDDC\u200D\u2640\uFE0F", "\uD83E\uDDDC\u200D\u2642\uFE0F", "\uD83E\uDDDC\uD83C\uDFFB", "\uD83E\uDDDC\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDDC\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDDC\uD83C\uDFFC", "\uD83E\uDDDC\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDDC\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDDC\uD83C\uDFFD", "\uD83E\uDDDC\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDDC\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDDC\uD83C\uDFFE", "\uD83E\uDDDC\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDDC\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDDC\uD83C\uDFFF", "\uD83E\uDDDC\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDDC\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDDD\u200D\u2640\uFE0F", "\uD83E\uDDDD\u200D\u2642\uFE0F", "\uD83E\uDDDD\uD83C\uDFFB", "\uD83E\uDDDD\uD83C\uDFFB\u200D\u2640\uFE0F", "\uD83E\uDDDD\uD83C\uDFFB\u200D\u2642\uFE0F", "\uD83E\uDDDD\uD83C\uDFFC", "\uD83E\uDDDD\uD83C\uDFFC\u200D\u2640\uFE0F", "\uD83E\uDDDD\uD83C\uDFFC\u200D\u2642\uFE0F", "\uD83E\uDDDD\uD83C\uDFFD", "\uD83E\uDDDD\uD83C\uDFFD\u200D\u2640\uFE0F", "\uD83E\uDDDD\uD83C\uDFFD\u200D\u2642\uFE0F", "\uD83E\uDDDD\uD83C\uDFFE", "\uD83E\uDDDD\uD83C\uDFFE\u200D\u2640\uFE0F", "\uD83E\uDDDD\uD83C\uDFFE\u200D\u2642\uFE0F", "\uD83E\uDDDD\uD83C\uDFFF", "\uD83E\uDDDD\uD83C\uDFFF\u200D\u2640\uFE0F", "\uD83E\uDDDD\uD83C\uDFFF\u200D\u2642\uFE0F", "\uD83E\uDDDE\u200D\u2640\uFE0F", "\uD83E\uDDDE\u200D\u2642\uFE0F", "\uD83E\uDDDF\u200D\u2640\uFE0F", "\uD83E\uDDDF\u200D\u2642\uFE0F", "\uD83E\uDEC3\uD83C\uDFFB", "\uD83E\uDEC3\uD83C\uDFFC", "\uD83E\uDEC3\uD83C\uDFFD", "\uD83E\uDEC3\uD83C\uDFFE", "\uD83E\uDEC3\uD83C\uDFFF", "\uD83E\uDEC4\uD83C\uDFFB", "\uD83E\uDEC4\uD83C\uDFFC", "\uD83E\uDEC4\uD83C\uDFFD", "\uD83E\uDEC4\uD83C\uDFFE", "\uD83E\uDEC4\uD83C\uDFFF", "\uD83E\uDEC5\uD83C\uDFFB", "\uD83E\uDEC5\uD83C\uDFFC", "\uD83E\uDEC5\uD83C\uDFFD", "\uD83E\uDEC5\uD83C\uDFFE", "\uD83E\uDEC5\uD83C\uDFFF", "\uD83E\uDEF0\uD83C\uDFFB", "\uD83E\uDEF0\uD83C\uDFFC", "\uD83E\uDEF0\uD83C\uDFFD", "\uD83E\uDEF0\uD83C\uDFFE", "\uD83E\uDEF0\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFB", "\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFC", "\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFD", "\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFE", "\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFC", "\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFB", "\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFD", "\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFE", "\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFD", "\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFB", "\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFC", "\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFE", "\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFE", "\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFB", "\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFC", "\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFD", "\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFF", "\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFB", "\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFC", "\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFD", "\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFE", "\uD83E\uDEF2\uD83C\uDFFB", "\uD83E\uDEF2\uD83C\uDFFC", "\uD83E\uDEF2\uD83C\uDFFD", "\uD83E\uDEF2\uD83C\uDFFE", "\uD83E\uDEF2\uD83C\uDFFF", "\uD83E\uDEF3\uD83C\uDFFB", "\uD83E\uDEF3\uD83C\uDFFC", "\uD83E\uDEF3\uD83C\uDFFD", "\uD83E\uDEF3\uD83C\uDFFE", "\uD83E\uDEF3\uD83C\uDFFF", "\uD83E\uDEF4\uD83C\uDFFB", "\uD83E\uDEF4\uD83C\uDFFC", "\uD83E\uDEF4\uD83C\uDFFD", "\uD83E\uDEF4\uD83C\uDFFE", "\uD83E\uDEF4\uD83C\uDFFF", "\uD83E\uDEF5\uD83C\uDFFB", "\uD83E\uDEF5\uD83C\uDFFC", "\uD83E\uDEF5\uD83C\uDFFD", "\uD83E\uDEF5\uD83C\uDFFE", "\uD83E\uDEF5\uD83C\uDFFF", "\uD83E\uDEF6\uD83C\uDFFB", "\uD83E\uDEF6\uD83C\uDFFC", "\uD83E\uDEF6\uD83C\uDFFD", "\uD83E\uDEF6\uD83C\uDFFE", "\uD83E\uDEF6\uD83C\uDFFF", "\uD83E\uDEF7\uD83C\uDFFB", "\uD83E\uDEF7\uD83C\uDFFC", "\uD83E\uDEF7\uD83C\uDFFD", "\uD83E\uDEF7\uD83C\uDFFE", "\uD83E\uDEF7\uD83C\uDFFF", "\uD83E\uDEF8\uD83C\uDFFB", "\uD83E\uDEF8\uD83C\uDFFC", "\uD83E\uDEF8\uD83C\uDFFD", "\uD83E\uDEF8\uD83C\uDFFE", "\uD83E\uDEF8\uD83C\uDFFF"];
|
|
return RGI_Emoji;
|
|
}
|
|
|
|
var Adlam$1 = {};
|
|
|
|
var hasRequiredAdlam$1;
|
|
function requireAdlam$1() {
|
|
if (hasRequiredAdlam$1) return Adlam$1;
|
|
hasRequiredAdlam$1 = 1;
|
|
var set = regenerate$2.exports(0x61F, 0x640);
|
|
set.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F);
|
|
Adlam$1.characters = set;
|
|
return Adlam$1;
|
|
}
|
|
|
|
var Ahom$1 = {};
|
|
|
|
var hasRequiredAhom$1;
|
|
function requireAhom$1() {
|
|
if (hasRequiredAhom$1) return Ahom$1;
|
|
hasRequiredAhom$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746);
|
|
Ahom$1.characters = set;
|
|
return Ahom$1;
|
|
}
|
|
|
|
var Anatolian_Hieroglyphs$1 = {};
|
|
|
|
var hasRequiredAnatolian_Hieroglyphs$1;
|
|
function requireAnatolian_Hieroglyphs$1() {
|
|
if (hasRequiredAnatolian_Hieroglyphs$1) return Anatolian_Hieroglyphs$1;
|
|
hasRequiredAnatolian_Hieroglyphs$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x14400, 0x14646);
|
|
Anatolian_Hieroglyphs$1.characters = set;
|
|
return Anatolian_Hieroglyphs$1;
|
|
}
|
|
|
|
var Arabic$1 = {};
|
|
|
|
var hasRequiredArabic$1;
|
|
function requireArabic$1() {
|
|
if (hasRequiredArabic$1) return Arabic$1;
|
|
hasRequiredArabic$1 = 1;
|
|
var set = regenerate$2.exports(0xFDCF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);
|
|
set.addRange(0x600, 0x604).addRange(0x606, 0x6DC).addRange(0x6DE, 0x6FF).addRange(0x750, 0x77F).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x8E1).addRange(0x8E3, 0x8FF).addRange(0xFB50, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0x102E0, 0x102FB).addRange(0x10E60, 0x10E7E).addRange(0x10EFD, 0x10EFF).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);
|
|
Arabic$1.characters = set;
|
|
return Arabic$1;
|
|
}
|
|
|
|
var Armenian$1 = {};
|
|
|
|
var hasRequiredArmenian$1;
|
|
function requireArmenian$1() {
|
|
if (hasRequiredArmenian$1) return Armenian$1;
|
|
hasRequiredArmenian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0xFB13, 0xFB17);
|
|
Armenian$1.characters = set;
|
|
return Armenian$1;
|
|
}
|
|
|
|
var Avestan$1 = {};
|
|
|
|
var hasRequiredAvestan$1;
|
|
function requireAvestan$1() {
|
|
if (hasRequiredAvestan$1) return Avestan$1;
|
|
hasRequiredAvestan$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B3F);
|
|
Avestan$1.characters = set;
|
|
return Avestan$1;
|
|
}
|
|
|
|
var Balinese$1 = {};
|
|
|
|
var hasRequiredBalinese$1;
|
|
function requireBalinese$1() {
|
|
if (hasRequiredBalinese$1) return Balinese$1;
|
|
hasRequiredBalinese$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E);
|
|
Balinese$1.characters = set;
|
|
return Balinese$1;
|
|
}
|
|
|
|
var Bamum$1 = {};
|
|
|
|
var hasRequiredBamum$1;
|
|
function requireBamum$1() {
|
|
if (hasRequiredBamum$1) return Bamum$1;
|
|
hasRequiredBamum$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA6A0, 0xA6F7).addRange(0x16800, 0x16A38);
|
|
Bamum$1.characters = set;
|
|
return Bamum$1;
|
|
}
|
|
|
|
var Bassa_Vah$1 = {};
|
|
|
|
var hasRequiredBassa_Vah$1;
|
|
function requireBassa_Vah$1() {
|
|
if (hasRequiredBassa_Vah$1) return Bassa_Vah$1;
|
|
hasRequiredBassa_Vah$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5);
|
|
Bassa_Vah$1.characters = set;
|
|
return Bassa_Vah$1;
|
|
}
|
|
|
|
var Batak$1 = {};
|
|
|
|
var hasRequiredBatak$1;
|
|
function requireBatak$1() {
|
|
if (hasRequiredBatak$1) return Batak$1;
|
|
hasRequiredBatak$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1BC0, 0x1BF3).addRange(0x1BFC, 0x1BFF);
|
|
Batak$1.characters = set;
|
|
return Batak$1;
|
|
}
|
|
|
|
var Bengali$1 = {};
|
|
|
|
var hasRequiredBengali$1;
|
|
function requireBengali$1() {
|
|
if (hasRequiredBengali$1) return Bengali$1;
|
|
hasRequiredBengali$1 = 1;
|
|
var set = regenerate$2.exports(0x9B2, 0x9D7, 0x1CD0, 0x1CD2, 0x1CD8, 0x1CE1, 0x1CEA, 0x1CED, 0x1CF2, 0xA8F1);
|
|
set.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0x980, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE).addRange(0x1CD5, 0x1CD6).addRange(0x1CF5, 0x1CF7);
|
|
Bengali$1.characters = set;
|
|
return Bengali$1;
|
|
}
|
|
|
|
var Bhaiksuki$1 = {};
|
|
|
|
var hasRequiredBhaiksuki$1;
|
|
function requireBhaiksuki$1() {
|
|
if (hasRequiredBhaiksuki$1) return Bhaiksuki$1;
|
|
hasRequiredBhaiksuki$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C);
|
|
Bhaiksuki$1.characters = set;
|
|
return Bhaiksuki$1;
|
|
}
|
|
|
|
var Bopomofo$1 = {};
|
|
|
|
var hasRequiredBopomofo$1;
|
|
function requireBopomofo$1() {
|
|
if (hasRequiredBopomofo$1) return Bopomofo$1;
|
|
hasRequiredBopomofo$1 = 1;
|
|
var set = regenerate$2.exports(0x3030, 0x3037, 0x30FB);
|
|
set.addRange(0x2EA, 0x2EB).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x302A, 0x302D).addRange(0x3105, 0x312F).addRange(0x31A0, 0x31BF).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65);
|
|
Bopomofo$1.characters = set;
|
|
return Bopomofo$1;
|
|
}
|
|
|
|
var Brahmi$1 = {};
|
|
|
|
var hasRequiredBrahmi$1;
|
|
function requireBrahmi$1() {
|
|
if (hasRequiredBrahmi$1) return Brahmi$1;
|
|
hasRequiredBrahmi$1 = 1;
|
|
var set = regenerate$2.exports(0x1107F);
|
|
set.addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075);
|
|
Brahmi$1.characters = set;
|
|
return Brahmi$1;
|
|
}
|
|
|
|
var Braille$1 = {};
|
|
|
|
var hasRequiredBraille$1;
|
|
function requireBraille$1() {
|
|
if (hasRequiredBraille$1) return Braille$1;
|
|
hasRequiredBraille$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x2800, 0x28FF);
|
|
Braille$1.characters = set;
|
|
return Braille$1;
|
|
}
|
|
|
|
var Buginese$1 = {};
|
|
|
|
var hasRequiredBuginese$1;
|
|
function requireBuginese$1() {
|
|
if (hasRequiredBuginese$1) return Buginese$1;
|
|
hasRequiredBuginese$1 = 1;
|
|
var set = regenerate$2.exports(0xA9CF);
|
|
set.addRange(0x1A00, 0x1A1B).addRange(0x1A1E, 0x1A1F);
|
|
Buginese$1.characters = set;
|
|
return Buginese$1;
|
|
}
|
|
|
|
var Buhid$1 = {};
|
|
|
|
var hasRequiredBuhid$1;
|
|
function requireBuhid$1() {
|
|
if (hasRequiredBuhid$1) return Buhid$1;
|
|
hasRequiredBuhid$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1735, 0x1736).addRange(0x1740, 0x1753);
|
|
Buhid$1.characters = set;
|
|
return Buhid$1;
|
|
}
|
|
|
|
var Canadian_Aboriginal$1 = {};
|
|
|
|
var hasRequiredCanadian_Aboriginal$1;
|
|
function requireCanadian_Aboriginal$1() {
|
|
if (hasRequiredCanadian_Aboriginal$1) return Canadian_Aboriginal$1;
|
|
hasRequiredCanadian_Aboriginal$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1400, 0x167F).addRange(0x18B0, 0x18F5).addRange(0x11AB0, 0x11ABF);
|
|
Canadian_Aboriginal$1.characters = set;
|
|
return Canadian_Aboriginal$1;
|
|
}
|
|
|
|
var Carian$1 = {};
|
|
|
|
var hasRequiredCarian$1;
|
|
function requireCarian$1() {
|
|
if (hasRequiredCarian$1) return Carian$1;
|
|
hasRequiredCarian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x102A0, 0x102D0);
|
|
Carian$1.characters = set;
|
|
return Carian$1;
|
|
}
|
|
|
|
var Caucasian_Albanian$1 = {};
|
|
|
|
var hasRequiredCaucasian_Albanian$1;
|
|
function requireCaucasian_Albanian$1() {
|
|
if (hasRequiredCaucasian_Albanian$1) return Caucasian_Albanian$1;
|
|
hasRequiredCaucasian_Albanian$1 = 1;
|
|
var set = regenerate$2.exports(0x1056F);
|
|
set.addRange(0x10530, 0x10563);
|
|
Caucasian_Albanian$1.characters = set;
|
|
return Caucasian_Albanian$1;
|
|
}
|
|
|
|
var Chakma$1 = {};
|
|
|
|
var hasRequiredChakma$1;
|
|
function requireChakma$1() {
|
|
if (hasRequiredChakma$1) return Chakma$1;
|
|
hasRequiredChakma$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x9E6, 0x9EF).addRange(0x1040, 0x1049).addRange(0x11100, 0x11134).addRange(0x11136, 0x11147);
|
|
Chakma$1.characters = set;
|
|
return Chakma$1;
|
|
}
|
|
|
|
var Cham$1 = {};
|
|
|
|
var hasRequiredCham$1;
|
|
function requireCham$1() {
|
|
if (hasRequiredCham$1) return Cham$1;
|
|
hasRequiredCham$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA5F);
|
|
Cham$1.characters = set;
|
|
return Cham$1;
|
|
}
|
|
|
|
var Cherokee$1 = {};
|
|
|
|
var hasRequiredCherokee$1;
|
|
function requireCherokee$1() {
|
|
if (hasRequiredCherokee$1) return Cherokee$1;
|
|
hasRequiredCherokee$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0xAB70, 0xABBF);
|
|
Cherokee$1.characters = set;
|
|
return Cherokee$1;
|
|
}
|
|
|
|
var Chorasmian$1 = {};
|
|
|
|
var hasRequiredChorasmian$1;
|
|
function requireChorasmian$1() {
|
|
if (hasRequiredChorasmian$1) return Chorasmian$1;
|
|
hasRequiredChorasmian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10FB0, 0x10FCB);
|
|
Chorasmian$1.characters = set;
|
|
return Chorasmian$1;
|
|
}
|
|
|
|
var Common$1 = {};
|
|
|
|
var hasRequiredCommon$1;
|
|
function requireCommon$1() {
|
|
if (hasRequiredCommon$1) return Common$1;
|
|
hasRequiredCommon$1 = 1;
|
|
var set = regenerate$2.exports(0xD7, 0xF7, 0x374, 0x37E, 0x385, 0x387, 0x605, 0x6DD, 0x8E2, 0xE3F, 0x3000, 0x3004, 0x3012, 0x3020, 0x3036, 0x327F, 0x33FF, 0xAB5B, 0xFEFF, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1F7F0, 0xE0001);
|
|
set.addRange(0x0, 0x40).addRange(0x5B, 0x60).addRange(0x7B, 0xA9).addRange(0xAB, 0xB9).addRange(0xBB, 0xBF).addRange(0x2B9, 0x2DF).addRange(0x2E5, 0x2E9).addRange(0x2EC, 0x2FF).addRange(0xFD5, 0xFD8).addRange(0x16EB, 0x16ED).addRange(0x2000, 0x200B).addRange(0x200E, 0x202E).addRange(0x2030, 0x2064).addRange(0x2066, 0x2070).addRange(0x2074, 0x207E).addRange(0x2080, 0x208E).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2125).addRange(0x2127, 0x2129).addRange(0x212C, 0x2131).addRange(0x2133, 0x214D).addRange(0x214F, 0x215F).addRange(0x2189, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x27FF).addRange(0x2900, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2E00, 0x2E42).addRange(0x2E44, 0x2E5D).addRange(0x2FF0, 0x2FFB).addRange(0x3248, 0x325F).addRange(0x32B1, 0x32BF).addRange(0x32CC, 0x32CF).addRange(0x3371, 0x337A).addRange(0x3380, 0x33DF).addRange(0x4DC0, 0x4DFF).addRange(0xA708, 0xA721).addRange(0xA788, 0xA78A).addRange(0xAB6A, 0xAB6B).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE44).addRange(0xFE47, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFF01, 0xFF20).addRange(0xFF3B, 0xFF40).addRange(0xFF5B, 0xFF60).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE);
|
|
set.addRange(0xFFF9, 0xFFFD).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D166).addRange(0x1D16A, 0x1D17A).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D372, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776);
|
|
set.addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0xE0020, 0xE007F);
|
|
Common$1.characters = set;
|
|
return Common$1;
|
|
}
|
|
|
|
var Coptic$1 = {};
|
|
|
|
var hasRequiredCoptic$1;
|
|
function requireCoptic$1() {
|
|
if (hasRequiredCoptic$1) return Coptic$1;
|
|
hasRequiredCoptic$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x3E2, 0x3EF).addRange(0x2C80, 0x2CF3).addRange(0x2CF9, 0x2CFF).addRange(0x102E0, 0x102FB);
|
|
Coptic$1.characters = set;
|
|
return Coptic$1;
|
|
}
|
|
|
|
var Cuneiform$1 = {};
|
|
|
|
var hasRequiredCuneiform$1;
|
|
function requireCuneiform$1() {
|
|
if (hasRequiredCuneiform$1) return Cuneiform$1;
|
|
hasRequiredCuneiform$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543);
|
|
Cuneiform$1.characters = set;
|
|
return Cuneiform$1;
|
|
}
|
|
|
|
var Cypriot$1 = {};
|
|
|
|
var hasRequiredCypriot$1;
|
|
function requireCypriot$1() {
|
|
if (hasRequiredCypriot$1) return Cypriot$1;
|
|
hasRequiredCypriot$1 = 1;
|
|
var set = regenerate$2.exports(0x10808, 0x1083C, 0x1083F);
|
|
set.addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838);
|
|
Cypriot$1.characters = set;
|
|
return Cypriot$1;
|
|
}
|
|
|
|
var Cypro_Minoan$1 = {};
|
|
|
|
var hasRequiredCypro_Minoan$1;
|
|
function requireCypro_Minoan$1() {
|
|
if (hasRequiredCypro_Minoan$1) return Cypro_Minoan$1;
|
|
hasRequiredCypro_Minoan$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10100, 0x10101).addRange(0x12F90, 0x12FF2);
|
|
Cypro_Minoan$1.characters = set;
|
|
return Cypro_Minoan$1;
|
|
}
|
|
|
|
var Cyrillic$1 = {};
|
|
|
|
var hasRequiredCyrillic$1;
|
|
function requireCyrillic$1() {
|
|
if (hasRequiredCyrillic$1) return Cyrillic$1;
|
|
hasRequiredCyrillic$1 = 1;
|
|
var set = regenerate$2.exports(0x1D2B, 0x1D78, 0x1DF8, 0x2E43, 0x1E08F);
|
|
set.addRange(0x400, 0x52F).addRange(0x1C80, 0x1C88).addRange(0x2DE0, 0x2DFF).addRange(0xA640, 0xA69F).addRange(0xFE2E, 0xFE2F).addRange(0x1E030, 0x1E06D);
|
|
Cyrillic$1.characters = set;
|
|
return Cyrillic$1;
|
|
}
|
|
|
|
var Deseret$1 = {};
|
|
|
|
var hasRequiredDeseret$1;
|
|
function requireDeseret$1() {
|
|
if (hasRequiredDeseret$1) return Deseret$1;
|
|
hasRequiredDeseret$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10400, 0x1044F);
|
|
Deseret$1.characters = set;
|
|
return Deseret$1;
|
|
}
|
|
|
|
var Devanagari$1 = {};
|
|
|
|
var hasRequiredDevanagari$1;
|
|
function requireDevanagari$1() {
|
|
if (hasRequiredDevanagari$1) return Devanagari$1;
|
|
hasRequiredDevanagari$1 = 1;
|
|
var set = regenerate$2.exports(0x20F0);
|
|
set.addRange(0x900, 0x952).addRange(0x955, 0x97F).addRange(0x1CD0, 0x1CF6).addRange(0x1CF8, 0x1CF9).addRange(0xA830, 0xA839).addRange(0xA8E0, 0xA8FF).addRange(0x11B00, 0x11B09);
|
|
Devanagari$1.characters = set;
|
|
return Devanagari$1;
|
|
}
|
|
|
|
var Dives_Akuru$1 = {};
|
|
|
|
var hasRequiredDives_Akuru$1;
|
|
function requireDives_Akuru$1() {
|
|
if (hasRequiredDives_Akuru$1) return Dives_Akuru$1;
|
|
hasRequiredDives_Akuru$1 = 1;
|
|
var set = regenerate$2.exports(0x11909);
|
|
set.addRange(0x11900, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959);
|
|
Dives_Akuru$1.characters = set;
|
|
return Dives_Akuru$1;
|
|
}
|
|
|
|
var Dogra$1 = {};
|
|
|
|
var hasRequiredDogra$1;
|
|
function requireDogra$1() {
|
|
if (hasRequiredDogra$1) return Dogra$1;
|
|
hasRequiredDogra$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x964, 0x96F).addRange(0xA830, 0xA839).addRange(0x11800, 0x1183B);
|
|
Dogra$1.characters = set;
|
|
return Dogra$1;
|
|
}
|
|
|
|
var Duployan$1 = {};
|
|
|
|
var hasRequiredDuployan$1;
|
|
function requireDuployan$1() {
|
|
if (hasRequiredDuployan$1) return Duployan$1;
|
|
hasRequiredDuployan$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BCA3);
|
|
Duployan$1.characters = set;
|
|
return Duployan$1;
|
|
}
|
|
|
|
var Egyptian_Hieroglyphs$1 = {};
|
|
|
|
var hasRequiredEgyptian_Hieroglyphs$1;
|
|
function requireEgyptian_Hieroglyphs$1() {
|
|
if (hasRequiredEgyptian_Hieroglyphs$1) return Egyptian_Hieroglyphs$1;
|
|
hasRequiredEgyptian_Hieroglyphs$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x13000, 0x13455);
|
|
Egyptian_Hieroglyphs$1.characters = set;
|
|
return Egyptian_Hieroglyphs$1;
|
|
}
|
|
|
|
var Elbasan$1 = {};
|
|
|
|
var hasRequiredElbasan$1;
|
|
function requireElbasan$1() {
|
|
if (hasRequiredElbasan$1) return Elbasan$1;
|
|
hasRequiredElbasan$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10500, 0x10527);
|
|
Elbasan$1.characters = set;
|
|
return Elbasan$1;
|
|
}
|
|
|
|
var Elymaic$1 = {};
|
|
|
|
var hasRequiredElymaic$1;
|
|
function requireElymaic$1() {
|
|
if (hasRequiredElymaic$1) return Elymaic$1;
|
|
hasRequiredElymaic$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10FE0, 0x10FF6);
|
|
Elymaic$1.characters = set;
|
|
return Elymaic$1;
|
|
}
|
|
|
|
var Ethiopic$1 = {};
|
|
|
|
var hasRequiredEthiopic$1;
|
|
function requireEthiopic$1() {
|
|
if (hasRequiredEthiopic$1) return Ethiopic$1;
|
|
hasRequiredEthiopic$1 = 1;
|
|
var set = regenerate$2.exports(0x1258, 0x12C0);
|
|
set.addRange(0x1200, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE);
|
|
Ethiopic$1.characters = set;
|
|
return Ethiopic$1;
|
|
}
|
|
|
|
var Georgian$1 = {};
|
|
|
|
var hasRequiredGeorgian$1;
|
|
function requireGeorgian$1() {
|
|
if (hasRequiredGeorgian$1) return Georgian$1;
|
|
hasRequiredGeorgian$1 = 1;
|
|
var set = regenerate$2.exports(0x10C7, 0x10CD, 0x2D27, 0x2D2D);
|
|
set.addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FF).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x2D00, 0x2D25);
|
|
Georgian$1.characters = set;
|
|
return Georgian$1;
|
|
}
|
|
|
|
var Glagolitic$1 = {};
|
|
|
|
var hasRequiredGlagolitic$1;
|
|
function requireGlagolitic$1() {
|
|
if (hasRequiredGlagolitic$1) return Glagolitic$1;
|
|
hasRequiredGlagolitic$1 = 1;
|
|
var set = regenerate$2.exports(0x484, 0x487, 0x2E43, 0xA66F);
|
|
set.addRange(0x2C00, 0x2C5F).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);
|
|
Glagolitic$1.characters = set;
|
|
return Glagolitic$1;
|
|
}
|
|
|
|
var Gothic$1 = {};
|
|
|
|
var hasRequiredGothic$1;
|
|
function requireGothic$1() {
|
|
if (hasRequiredGothic$1) return Gothic$1;
|
|
hasRequiredGothic$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10330, 0x1034A);
|
|
Gothic$1.characters = set;
|
|
return Gothic$1;
|
|
}
|
|
|
|
var Grantha$1 = {};
|
|
|
|
var hasRequiredGrantha$1;
|
|
function requireGrantha$1() {
|
|
if (hasRequiredGrantha$1) return Grantha$1;
|
|
hasRequiredGrantha$1 = 1;
|
|
var set = regenerate$2.exports(0x1CD0, 0x20F0, 0x11350, 0x11357, 0x11FD3);
|
|
set.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xBE6, 0xBF3).addRange(0x1CD2, 0x1CD3).addRange(0x1CF2, 0x1CF4).addRange(0x1CF8, 0x1CF9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11FD0, 0x11FD1);
|
|
Grantha$1.characters = set;
|
|
return Grantha$1;
|
|
}
|
|
|
|
var Greek$1 = {};
|
|
|
|
var hasRequiredGreek$1;
|
|
function requireGreek$1() {
|
|
if (hasRequiredGreek$1) return Greek$1;
|
|
hasRequiredGreek$1 = 1;
|
|
var set = regenerate$2.exports(0x342, 0x345, 0x37F, 0x384, 0x386, 0x38C, 0x1F59, 0x1F5B, 0x1F5D, 0x2126, 0xAB65, 0x101A0);
|
|
set.addRange(0x370, 0x373).addRange(0x375, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3E1).addRange(0x3F0, 0x3FF).addRange(0x1D26, 0x1D2A).addRange(0x1D5D, 0x1D61).addRange(0x1D66, 0x1D6A).addRange(0x1DBF, 0x1DC1).addRange(0x1F00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x10140, 0x1018E).addRange(0x1D200, 0x1D245);
|
|
Greek$1.characters = set;
|
|
return Greek$1;
|
|
}
|
|
|
|
var Gujarati$1 = {};
|
|
|
|
var hasRequiredGujarati$1;
|
|
function requireGujarati$1() {
|
|
if (hasRequiredGujarati$1) return Gujarati$1;
|
|
hasRequiredGujarati$1 = 1;
|
|
var set = regenerate$2.exports(0xAD0);
|
|
set.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF).addRange(0xA830, 0xA839);
|
|
Gujarati$1.characters = set;
|
|
return Gujarati$1;
|
|
}
|
|
|
|
var Gunjala_Gondi$1 = {};
|
|
|
|
var hasRequiredGunjala_Gondi$1;
|
|
function requireGunjala_Gondi$1() {
|
|
if (hasRequiredGunjala_Gondi$1) return Gunjala_Gondi$1;
|
|
hasRequiredGunjala_Gondi$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x964, 0x965).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9);
|
|
Gunjala_Gondi$1.characters = set;
|
|
return Gunjala_Gondi$1;
|
|
}
|
|
|
|
var Gurmukhi$1 = {};
|
|
|
|
var hasRequiredGurmukhi$1;
|
|
function requireGurmukhi$1() {
|
|
if (hasRequiredGurmukhi$1) return Gurmukhi$1;
|
|
hasRequiredGurmukhi$1 = 1;
|
|
var set = regenerate$2.exports(0xA3C, 0xA51, 0xA5E);
|
|
set.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76).addRange(0xA830, 0xA839);
|
|
Gurmukhi$1.characters = set;
|
|
return Gurmukhi$1;
|
|
}
|
|
|
|
var Han$1 = {};
|
|
|
|
var hasRequiredHan$1;
|
|
function requireHan$1() {
|
|
if (hasRequiredHan$1) return Han$1;
|
|
hasRequiredHan$1 = 1;
|
|
var set = regenerate$2.exports(0x3030, 0x30FB, 0x32FF);
|
|
set.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x3001, 0x3003).addRange(0x3005, 0x3011).addRange(0x3013, 0x301F).addRange(0x3021, 0x302D).addRange(0x3037, 0x303F).addRange(0x3190, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3220, 0x3247).addRange(0x3280, 0x32B0).addRange(0x32C0, 0x32CB).addRange(0x3358, 0x3370).addRange(0x337B, 0x337F).addRange(0x33E0, 0x33FE).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xA700, 0xA707).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0x16FE2, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x1D360, 0x1D371).addRange(0x1F250, 0x1F251).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);
|
|
Han$1.characters = set;
|
|
return Han$1;
|
|
}
|
|
|
|
var Hangul$1 = {};
|
|
|
|
var hasRequiredHangul$1;
|
|
function requireHangul$1() {
|
|
if (hasRequiredHangul$1) return Hangul$1;
|
|
hasRequiredHangul$1 = 1;
|
|
var set = regenerate$2.exports(0x3037, 0x30FB);
|
|
set.addRange(0x1100, 0x11FF).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x302E, 0x3030).addRange(0x3131, 0x318E).addRange(0x3200, 0x321E).addRange(0x3260, 0x327E).addRange(0xA960, 0xA97C).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC);
|
|
Hangul$1.characters = set;
|
|
return Hangul$1;
|
|
}
|
|
|
|
var Hanifi_Rohingya$1 = {};
|
|
|
|
var hasRequiredHanifi_Rohingya$1;
|
|
function requireHanifi_Rohingya$1() {
|
|
if (hasRequiredHanifi_Rohingya$1) return Hanifi_Rohingya$1;
|
|
hasRequiredHanifi_Rohingya$1 = 1;
|
|
var set = regenerate$2.exports(0x60C, 0x61B, 0x61F, 0x640, 0x6D4);
|
|
set.addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39);
|
|
Hanifi_Rohingya$1.characters = set;
|
|
return Hanifi_Rohingya$1;
|
|
}
|
|
|
|
var Hanunoo$1 = {};
|
|
|
|
var hasRequiredHanunoo$1;
|
|
function requireHanunoo$1() {
|
|
if (hasRequiredHanunoo$1) return Hanunoo$1;
|
|
hasRequiredHanunoo$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1720, 0x1736);
|
|
Hanunoo$1.characters = set;
|
|
return Hanunoo$1;
|
|
}
|
|
|
|
var Hatran$1 = {};
|
|
|
|
var hasRequiredHatran$1;
|
|
function requireHatran$1() {
|
|
if (hasRequiredHatran$1) return Hatran$1;
|
|
hasRequiredHatran$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x108FF);
|
|
Hatran$1.characters = set;
|
|
return Hatran$1;
|
|
}
|
|
|
|
var Hebrew$1 = {};
|
|
|
|
var hasRequiredHebrew$1;
|
|
function requireHebrew$1() {
|
|
if (hasRequiredHebrew$1) return Hebrew$1;
|
|
hasRequiredHebrew$1 = 1;
|
|
var set = regenerate$2.exports(0xFB3E);
|
|
set.addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFB4F);
|
|
Hebrew$1.characters = set;
|
|
return Hebrew$1;
|
|
}
|
|
|
|
var Hiragana$1 = {};
|
|
|
|
var hasRequiredHiragana$1;
|
|
function requireHiragana$1() {
|
|
if (hasRequiredHiragana$1) return Hiragana$1;
|
|
hasRequiredHiragana$1 = 1;
|
|
var set = regenerate$2.exports(0x3037, 0xFF70, 0x1B132, 0x1F200);
|
|
set.addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x3030, 0x3035).addRange(0x303C, 0x303D).addRange(0x3041, 0x3096).addRange(0x3099, 0x30A0).addRange(0x30FB, 0x30FC).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0xFF9E, 0xFF9F).addRange(0x1B001, 0x1B11F).addRange(0x1B150, 0x1B152);
|
|
Hiragana$1.characters = set;
|
|
return Hiragana$1;
|
|
}
|
|
|
|
var Imperial_Aramaic$1 = {};
|
|
|
|
var hasRequiredImperial_Aramaic$1;
|
|
function requireImperial_Aramaic$1() {
|
|
if (hasRequiredImperial_Aramaic$1) return Imperial_Aramaic$1;
|
|
hasRequiredImperial_Aramaic$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10840, 0x10855).addRange(0x10857, 0x1085F);
|
|
Imperial_Aramaic$1.characters = set;
|
|
return Imperial_Aramaic$1;
|
|
}
|
|
|
|
var Inherited$1 = {};
|
|
|
|
var hasRequiredInherited$1;
|
|
function requireInherited$1() {
|
|
if (hasRequiredInherited$1) return Inherited$1;
|
|
hasRequiredInherited$1 = 1;
|
|
var set = regenerate$2.exports(0x1DF9, 0x101FD);
|
|
set.addRange(0x300, 0x341).addRange(0x343, 0x344).addRange(0x346, 0x362).addRange(0x953, 0x954).addRange(0x1AB0, 0x1ACE).addRange(0x1DC2, 0x1DF7).addRange(0x1DFB, 0x1DFF).addRange(0x200C, 0x200D).addRange(0x20D0, 0x20EF).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2D).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0xE0100, 0xE01EF);
|
|
Inherited$1.characters = set;
|
|
return Inherited$1;
|
|
}
|
|
|
|
var Inscriptional_Pahlavi$1 = {};
|
|
|
|
var hasRequiredInscriptional_Pahlavi$1;
|
|
function requireInscriptional_Pahlavi$1() {
|
|
if (hasRequiredInscriptional_Pahlavi$1) return Inscriptional_Pahlavi$1;
|
|
hasRequiredInscriptional_Pahlavi$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10B60, 0x10B72).addRange(0x10B78, 0x10B7F);
|
|
Inscriptional_Pahlavi$1.characters = set;
|
|
return Inscriptional_Pahlavi$1;
|
|
}
|
|
|
|
var Inscriptional_Parthian$1 = {};
|
|
|
|
var hasRequiredInscriptional_Parthian$1;
|
|
function requireInscriptional_Parthian$1() {
|
|
if (hasRequiredInscriptional_Parthian$1) return Inscriptional_Parthian$1;
|
|
hasRequiredInscriptional_Parthian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10B40, 0x10B55).addRange(0x10B58, 0x10B5F);
|
|
Inscriptional_Parthian$1.characters = set;
|
|
return Inscriptional_Parthian$1;
|
|
}
|
|
|
|
var Javanese$1 = {};
|
|
|
|
var hasRequiredJavanese$1;
|
|
function requireJavanese$1() {
|
|
if (hasRequiredJavanese$1) return Javanese$1;
|
|
hasRequiredJavanese$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA980, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9DF);
|
|
Javanese$1.characters = set;
|
|
return Javanese$1;
|
|
}
|
|
|
|
var Kaithi$1 = {};
|
|
|
|
var hasRequiredKaithi$1;
|
|
function requireKaithi$1() {
|
|
if (hasRequiredKaithi$1) return Kaithi$1;
|
|
hasRequiredKaithi$1 = 1;
|
|
var set = regenerate$2.exports(0x110CD);
|
|
set.addRange(0x966, 0x96F).addRange(0xA830, 0xA839).addRange(0x11080, 0x110C2);
|
|
Kaithi$1.characters = set;
|
|
return Kaithi$1;
|
|
}
|
|
|
|
var Kannada$1 = {};
|
|
|
|
var hasRequiredKannada$1;
|
|
function requireKannada$1() {
|
|
if (hasRequiredKannada$1) return Kannada$1;
|
|
hasRequiredKannada$1 = 1;
|
|
var set = regenerate$2.exports(0x1CD0, 0x1CD2, 0x1CDA, 0x1CF2, 0x1CF4);
|
|
set.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xC80, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3).addRange(0xA830, 0xA835);
|
|
Kannada$1.characters = set;
|
|
return Kannada$1;
|
|
}
|
|
|
|
var Katakana$1 = {};
|
|
|
|
var hasRequiredKatakana$1;
|
|
function requireKatakana$1() {
|
|
if (hasRequiredKatakana$1) return Katakana$1;
|
|
hasRequiredKatakana$1 = 1;
|
|
var set = regenerate$2.exports(0x3037, 0x1B000, 0x1B155);
|
|
set.addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x3030, 0x3035).addRange(0x303C, 0x303D).addRange(0x3099, 0x309C).addRange(0x30A0, 0x30FF).addRange(0x31F0, 0x31FF).addRange(0x32D0, 0x32FE).addRange(0x3300, 0x3357).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF9F).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B120, 0x1B122).addRange(0x1B164, 0x1B167);
|
|
Katakana$1.characters = set;
|
|
return Katakana$1;
|
|
}
|
|
|
|
var Kawi$1 = {};
|
|
|
|
var hasRequiredKawi$1;
|
|
function requireKawi$1() {
|
|
if (hasRequiredKawi$1) return Kawi$1;
|
|
hasRequiredKawi$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F59);
|
|
Kawi$1.characters = set;
|
|
return Kawi$1;
|
|
}
|
|
|
|
var Kayah_Li$1 = {};
|
|
|
|
var hasRequiredKayah_Li$1;
|
|
function requireKayah_Li$1() {
|
|
if (hasRequiredKayah_Li$1) return Kayah_Li$1;
|
|
hasRequiredKayah_Li$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA900, 0xA92F);
|
|
Kayah_Li$1.characters = set;
|
|
return Kayah_Li$1;
|
|
}
|
|
|
|
var Kharoshthi$1 = {};
|
|
|
|
var hasRequiredKharoshthi$1;
|
|
function requireKharoshthi$1() {
|
|
if (hasRequiredKharoshthi$1) return Kharoshthi$1;
|
|
hasRequiredKharoshthi$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58);
|
|
Kharoshthi$1.characters = set;
|
|
return Kharoshthi$1;
|
|
}
|
|
|
|
var Khitan_Small_Script$1 = {};
|
|
|
|
var hasRequiredKhitan_Small_Script$1;
|
|
function requireKhitan_Small_Script$1() {
|
|
if (hasRequiredKhitan_Small_Script$1) return Khitan_Small_Script$1;
|
|
hasRequiredKhitan_Small_Script$1 = 1;
|
|
var set = regenerate$2.exports(0x16FE4);
|
|
set.addRange(0x18B00, 0x18CD5);
|
|
Khitan_Small_Script$1.characters = set;
|
|
return Khitan_Small_Script$1;
|
|
}
|
|
|
|
var Khmer$1 = {};
|
|
|
|
var hasRequiredKhmer$1;
|
|
function requireKhmer$1() {
|
|
if (hasRequiredKhmer$1) return Khmer$1;
|
|
hasRequiredKhmer$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x19E0, 0x19FF);
|
|
Khmer$1.characters = set;
|
|
return Khmer$1;
|
|
}
|
|
|
|
var Khojki$1 = {};
|
|
|
|
var hasRequiredKhojki$1;
|
|
function requireKhojki$1() {
|
|
if (hasRequiredKhojki$1) return Khojki$1;
|
|
hasRequiredKhojki$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xAE6, 0xAEF).addRange(0xA830, 0xA839).addRange(0x11200, 0x11211).addRange(0x11213, 0x11241);
|
|
Khojki$1.characters = set;
|
|
return Khojki$1;
|
|
}
|
|
|
|
var Khudawadi$1 = {};
|
|
|
|
var hasRequiredKhudawadi$1;
|
|
function requireKhudawadi$1() {
|
|
if (hasRequiredKhudawadi$1) return Khudawadi$1;
|
|
hasRequiredKhudawadi$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);
|
|
Khudawadi$1.characters = set;
|
|
return Khudawadi$1;
|
|
}
|
|
|
|
var Lao$1 = {};
|
|
|
|
var hasRequiredLao$1;
|
|
function requireLao$1() {
|
|
if (hasRequiredLao$1) return Lao$1;
|
|
hasRequiredLao$1 = 1;
|
|
var set = regenerate$2.exports(0xE84, 0xEA5, 0xEC6);
|
|
set.addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECE).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF);
|
|
Lao$1.characters = set;
|
|
return Lao$1;
|
|
}
|
|
|
|
var Latin$1 = {};
|
|
|
|
var hasRequiredLatin$1;
|
|
function requireLatin$1() {
|
|
if (hasRequiredLatin$1) return Latin$1;
|
|
hasRequiredLatin$1 = 1;
|
|
var set = regenerate$2.exports(0xAA, 0xBA, 0x10FB, 0x202F, 0x2071, 0x207F, 0x20F0, 0x2132, 0x214E, 0xA7D3, 0xA92E);
|
|
set.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2B8).addRange(0x2E0, 0x2E4).addRange(0x363, 0x36F).addRange(0x485, 0x486).addRange(0x951, 0x952).addRange(0x1D00, 0x1D25).addRange(0x1D2C, 0x1D5C).addRange(0x1D62, 0x1D65).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1DBE).addRange(0x1E00, 0x1EFF).addRange(0x2090, 0x209C).addRange(0x212A, 0x212B).addRange(0x2160, 0x2188).addRange(0x2C60, 0x2C7F).addRange(0xA700, 0xA707).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7FF).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB64).addRange(0xAB66, 0xAB69).addRange(0xFB00, 0xFB06).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A);
|
|
Latin$1.characters = set;
|
|
return Latin$1;
|
|
}
|
|
|
|
var Lepcha$1 = {};
|
|
|
|
var hasRequiredLepcha$1;
|
|
function requireLepcha$1() {
|
|
if (hasRequiredLepcha$1) return Lepcha$1;
|
|
hasRequiredLepcha$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1C00, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C4F);
|
|
Lepcha$1.characters = set;
|
|
return Lepcha$1;
|
|
}
|
|
|
|
var Limbu$1 = {};
|
|
|
|
var hasRequiredLimbu$1;
|
|
function requireLimbu$1() {
|
|
if (hasRequiredLimbu$1) return Limbu$1;
|
|
hasRequiredLimbu$1 = 1;
|
|
var set = regenerate$2.exports(0x965, 0x1940);
|
|
set.addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x194F);
|
|
Limbu$1.characters = set;
|
|
return Limbu$1;
|
|
}
|
|
|
|
var Linear_A$1 = {};
|
|
|
|
var hasRequiredLinear_A$1;
|
|
function requireLinear_A$1() {
|
|
if (hasRequiredLinear_A$1) return Linear_A$1;
|
|
hasRequiredLinear_A$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10107, 0x10133).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);
|
|
Linear_A$1.characters = set;
|
|
return Linear_A$1;
|
|
}
|
|
|
|
var Linear_B$1 = {};
|
|
|
|
var hasRequiredLinear_B$1;
|
|
function requireLinear_B$1() {
|
|
if (hasRequiredLinear_B$1) return Linear_B$1;
|
|
hasRequiredLinear_B$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F);
|
|
Linear_B$1.characters = set;
|
|
return Linear_B$1;
|
|
}
|
|
|
|
var Lisu$1 = {};
|
|
|
|
var hasRequiredLisu$1;
|
|
function requireLisu$1() {
|
|
if (hasRequiredLisu$1) return Lisu$1;
|
|
hasRequiredLisu$1 = 1;
|
|
var set = regenerate$2.exports(0x11FB0);
|
|
set.addRange(0xA4D0, 0xA4FF);
|
|
Lisu$1.characters = set;
|
|
return Lisu$1;
|
|
}
|
|
|
|
var Lycian$1 = {};
|
|
|
|
var hasRequiredLycian$1;
|
|
function requireLycian$1() {
|
|
if (hasRequiredLycian$1) return Lycian$1;
|
|
hasRequiredLycian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10280, 0x1029C);
|
|
Lycian$1.characters = set;
|
|
return Lycian$1;
|
|
}
|
|
|
|
var Lydian$1 = {};
|
|
|
|
var hasRequiredLydian$1;
|
|
function requireLydian$1() {
|
|
if (hasRequiredLydian$1) return Lydian$1;
|
|
hasRequiredLydian$1 = 1;
|
|
var set = regenerate$2.exports(0x1093F);
|
|
set.addRange(0x10920, 0x10939);
|
|
Lydian$1.characters = set;
|
|
return Lydian$1;
|
|
}
|
|
|
|
var Mahajani$1 = {};
|
|
|
|
var hasRequiredMahajani$1;
|
|
function requireMahajani$1() {
|
|
if (hasRequiredMahajani$1) return Mahajani$1;
|
|
hasRequiredMahajani$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x964, 0x96F).addRange(0xA830, 0xA839).addRange(0x11150, 0x11176);
|
|
Mahajani$1.characters = set;
|
|
return Mahajani$1;
|
|
}
|
|
|
|
var Makasar$1 = {};
|
|
|
|
var hasRequiredMakasar$1;
|
|
function requireMakasar$1() {
|
|
if (hasRequiredMakasar$1) return Makasar$1;
|
|
hasRequiredMakasar$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11EE0, 0x11EF8);
|
|
Makasar$1.characters = set;
|
|
return Makasar$1;
|
|
}
|
|
|
|
var Malayalam$1 = {};
|
|
|
|
var hasRequiredMalayalam$1;
|
|
function requireMalayalam$1() {
|
|
if (hasRequiredMalayalam$1) return Malayalam$1;
|
|
hasRequiredMalayalam$1 = 1;
|
|
var set = regenerate$2.exports(0x1CDA);
|
|
set.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F).addRange(0xA830, 0xA832);
|
|
Malayalam$1.characters = set;
|
|
return Malayalam$1;
|
|
}
|
|
|
|
var Mandaic$1 = {};
|
|
|
|
var hasRequiredMandaic$1;
|
|
function requireMandaic$1() {
|
|
if (hasRequiredMandaic$1) return Mandaic$1;
|
|
hasRequiredMandaic$1 = 1;
|
|
var set = regenerate$2.exports(0x640, 0x85E);
|
|
set.addRange(0x840, 0x85B);
|
|
Mandaic$1.characters = set;
|
|
return Mandaic$1;
|
|
}
|
|
|
|
var Manichaean$1 = {};
|
|
|
|
var hasRequiredManichaean$1;
|
|
function requireManichaean$1() {
|
|
if (hasRequiredManichaean$1) return Manichaean$1;
|
|
hasRequiredManichaean$1 = 1;
|
|
var set = regenerate$2.exports(0x640);
|
|
set.addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6);
|
|
Manichaean$1.characters = set;
|
|
return Manichaean$1;
|
|
}
|
|
|
|
var Marchen$1 = {};
|
|
|
|
var hasRequiredMarchen$1;
|
|
function requireMarchen$1() {
|
|
if (hasRequiredMarchen$1) return Marchen$1;
|
|
hasRequiredMarchen$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);
|
|
Marchen$1.characters = set;
|
|
return Marchen$1;
|
|
}
|
|
|
|
var Masaram_Gondi$1 = {};
|
|
|
|
var hasRequiredMasaram_Gondi$1;
|
|
function requireMasaram_Gondi$1() {
|
|
if (hasRequiredMasaram_Gondi$1) return Masaram_Gondi$1;
|
|
hasRequiredMasaram_Gondi$1 = 1;
|
|
var set = regenerate$2.exports(0x11D3A);
|
|
set.addRange(0x964, 0x965).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59);
|
|
Masaram_Gondi$1.characters = set;
|
|
return Masaram_Gondi$1;
|
|
}
|
|
|
|
var Medefaidrin$1 = {};
|
|
|
|
var hasRequiredMedefaidrin$1;
|
|
function requireMedefaidrin$1() {
|
|
if (hasRequiredMedefaidrin$1) return Medefaidrin$1;
|
|
hasRequiredMedefaidrin$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16E40, 0x16E9A);
|
|
Medefaidrin$1.characters = set;
|
|
return Medefaidrin$1;
|
|
}
|
|
|
|
var Meetei_Mayek$1 = {};
|
|
|
|
var hasRequiredMeetei_Mayek$1;
|
|
function requireMeetei_Mayek$1() {
|
|
if (hasRequiredMeetei_Mayek$1) return Meetei_Mayek$1;
|
|
hasRequiredMeetei_Mayek$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xAAE0, 0xAAF6).addRange(0xABC0, 0xABED).addRange(0xABF0, 0xABF9);
|
|
Meetei_Mayek$1.characters = set;
|
|
return Meetei_Mayek$1;
|
|
}
|
|
|
|
var Mende_Kikakui$1 = {};
|
|
|
|
var hasRequiredMende_Kikakui$1;
|
|
function requireMende_Kikakui$1() {
|
|
if (hasRequiredMende_Kikakui$1) return Mende_Kikakui$1;
|
|
hasRequiredMende_Kikakui$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);
|
|
Mende_Kikakui$1.characters = set;
|
|
return Mende_Kikakui$1;
|
|
}
|
|
|
|
var Meroitic_Cursive$1 = {};
|
|
|
|
var hasRequiredMeroitic_Cursive$1;
|
|
function requireMeroitic_Cursive$1() {
|
|
if (hasRequiredMeroitic_Cursive$1) return Meroitic_Cursive$1;
|
|
hasRequiredMeroitic_Cursive$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x109A0, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x109FF);
|
|
Meroitic_Cursive$1.characters = set;
|
|
return Meroitic_Cursive$1;
|
|
}
|
|
|
|
var Meroitic_Hieroglyphs$1 = {};
|
|
|
|
var hasRequiredMeroitic_Hieroglyphs$1;
|
|
function requireMeroitic_Hieroglyphs$1() {
|
|
if (hasRequiredMeroitic_Hieroglyphs$1) return Meroitic_Hieroglyphs$1;
|
|
hasRequiredMeroitic_Hieroglyphs$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10980, 0x1099F);
|
|
Meroitic_Hieroglyphs$1.characters = set;
|
|
return Meroitic_Hieroglyphs$1;
|
|
}
|
|
|
|
var Miao$1 = {};
|
|
|
|
var hasRequiredMiao$1;
|
|
function requireMiao$1() {
|
|
if (hasRequiredMiao$1) return Miao$1;
|
|
hasRequiredMiao$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F);
|
|
Miao$1.characters = set;
|
|
return Miao$1;
|
|
}
|
|
|
|
var Modi$1 = {};
|
|
|
|
var hasRequiredModi$1;
|
|
function requireModi$1() {
|
|
if (hasRequiredModi$1) return Modi$1;
|
|
hasRequiredModi$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA830, 0xA839).addRange(0x11600, 0x11644).addRange(0x11650, 0x11659);
|
|
Modi$1.characters = set;
|
|
return Modi$1;
|
|
}
|
|
|
|
var Mongolian$1 = {};
|
|
|
|
var hasRequiredMongolian$1;
|
|
function requireMongolian$1() {
|
|
if (hasRequiredMongolian$1) return Mongolian$1;
|
|
hasRequiredMongolian$1 = 1;
|
|
var set = regenerate$2.exports(0x202F);
|
|
set.addRange(0x1800, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x11660, 0x1166C);
|
|
Mongolian$1.characters = set;
|
|
return Mongolian$1;
|
|
}
|
|
|
|
var Mro$1 = {};
|
|
|
|
var hasRequiredMro$1;
|
|
function requireMro$1() {
|
|
if (hasRequiredMro$1) return Mro$1;
|
|
hasRequiredMro$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16A6F);
|
|
Mro$1.characters = set;
|
|
return Mro$1;
|
|
}
|
|
|
|
var Multani$1 = {};
|
|
|
|
var hasRequiredMultani$1;
|
|
function requireMultani$1() {
|
|
if (hasRequiredMultani$1) return Multani$1;
|
|
hasRequiredMultani$1 = 1;
|
|
var set = regenerate$2.exports(0x11288);
|
|
set.addRange(0xA66, 0xA6F).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9);
|
|
Multani$1.characters = set;
|
|
return Multani$1;
|
|
}
|
|
|
|
var Myanmar$1 = {};
|
|
|
|
var hasRequiredMyanmar$1;
|
|
function requireMyanmar$1() {
|
|
if (hasRequiredMyanmar$1) return Myanmar$1;
|
|
hasRequiredMyanmar$1 = 1;
|
|
var set = regenerate$2.exports(0xA92E);
|
|
set.addRange(0x1000, 0x109F).addRange(0xA9E0, 0xA9FE).addRange(0xAA60, 0xAA7F);
|
|
Myanmar$1.characters = set;
|
|
return Myanmar$1;
|
|
}
|
|
|
|
var Nabataean$1 = {};
|
|
|
|
var hasRequiredNabataean$1;
|
|
function requireNabataean$1() {
|
|
if (hasRequiredNabataean$1) return Nabataean$1;
|
|
hasRequiredNabataean$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10880, 0x1089E).addRange(0x108A7, 0x108AF);
|
|
Nabataean$1.characters = set;
|
|
return Nabataean$1;
|
|
}
|
|
|
|
var Nag_Mundari$1 = {};
|
|
|
|
var hasRequiredNag_Mundari$1;
|
|
function requireNag_Mundari$1() {
|
|
if (hasRequiredNag_Mundari$1) return Nag_Mundari$1;
|
|
hasRequiredNag_Mundari$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1E4D0, 0x1E4F9);
|
|
Nag_Mundari$1.characters = set;
|
|
return Nag_Mundari$1;
|
|
}
|
|
|
|
var Nandinagari$1 = {};
|
|
|
|
var hasRequiredNandinagari$1;
|
|
function requireNandinagari$1() {
|
|
if (hasRequiredNandinagari$1) return Nandinagari$1;
|
|
hasRequiredNandinagari$1 = 1;
|
|
var set = regenerate$2.exports(0x1CE9, 0x1CF2, 0x1CFA);
|
|
set.addRange(0x964, 0x965).addRange(0xCE6, 0xCEF).addRange(0xA830, 0xA835).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4);
|
|
Nandinagari$1.characters = set;
|
|
return Nandinagari$1;
|
|
}
|
|
|
|
var New_Tai_Lue$1 = {};
|
|
|
|
var hasRequiredNew_Tai_Lue$1;
|
|
function requireNew_Tai_Lue$1() {
|
|
if (hasRequiredNew_Tai_Lue$1) return New_Tai_Lue$1;
|
|
hasRequiredNew_Tai_Lue$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x19DF);
|
|
New_Tai_Lue$1.characters = set;
|
|
return New_Tai_Lue$1;
|
|
}
|
|
|
|
var Newa$1 = {};
|
|
|
|
var hasRequiredNewa$1;
|
|
function requireNewa$1() {
|
|
if (hasRequiredNewa$1) return Newa$1;
|
|
hasRequiredNewa$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461);
|
|
Newa$1.characters = set;
|
|
return Newa$1;
|
|
}
|
|
|
|
var Nko$1 = {};
|
|
|
|
var hasRequiredNko$1;
|
|
function requireNko$1() {
|
|
if (hasRequiredNko$1) return Nko$1;
|
|
hasRequiredNko$1 = 1;
|
|
var set = regenerate$2.exports(0x60C, 0x61B, 0x61F);
|
|
set.addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x7FF).addRange(0xFD3E, 0xFD3F);
|
|
Nko$1.characters = set;
|
|
return Nko$1;
|
|
}
|
|
|
|
var Nushu$1 = {};
|
|
|
|
var hasRequiredNushu$1;
|
|
function requireNushu$1() {
|
|
if (hasRequiredNushu$1) return Nushu$1;
|
|
hasRequiredNushu$1 = 1;
|
|
var set = regenerate$2.exports(0x16FE1);
|
|
set.addRange(0x1B170, 0x1B2FB);
|
|
Nushu$1.characters = set;
|
|
return Nushu$1;
|
|
}
|
|
|
|
var Nyiakeng_Puachue_Hmong$1 = {};
|
|
|
|
var hasRequiredNyiakeng_Puachue_Hmong$1;
|
|
function requireNyiakeng_Puachue_Hmong$1() {
|
|
if (hasRequiredNyiakeng_Puachue_Hmong$1) return Nyiakeng_Puachue_Hmong$1;
|
|
hasRequiredNyiakeng_Puachue_Hmong$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F);
|
|
Nyiakeng_Puachue_Hmong$1.characters = set;
|
|
return Nyiakeng_Puachue_Hmong$1;
|
|
}
|
|
|
|
var Ogham$1 = {};
|
|
|
|
var hasRequiredOgham$1;
|
|
function requireOgham$1() {
|
|
if (hasRequiredOgham$1) return Ogham$1;
|
|
hasRequiredOgham$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1680, 0x169C);
|
|
Ogham$1.characters = set;
|
|
return Ogham$1;
|
|
}
|
|
|
|
var Ol_Chiki$1 = {};
|
|
|
|
var hasRequiredOl_Chiki$1;
|
|
function requireOl_Chiki$1() {
|
|
if (hasRequiredOl_Chiki$1) return Ol_Chiki$1;
|
|
hasRequiredOl_Chiki$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1C50, 0x1C7F);
|
|
Ol_Chiki$1.characters = set;
|
|
return Ol_Chiki$1;
|
|
}
|
|
|
|
var Old_Hungarian$1 = {};
|
|
|
|
var hasRequiredOld_Hungarian$1;
|
|
function requireOld_Hungarian$1() {
|
|
if (hasRequiredOld_Hungarian$1) return Old_Hungarian$1;
|
|
hasRequiredOld_Hungarian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10CFF);
|
|
Old_Hungarian$1.characters = set;
|
|
return Old_Hungarian$1;
|
|
}
|
|
|
|
var Old_Italic$1 = {};
|
|
|
|
var hasRequiredOld_Italic$1;
|
|
function requireOld_Italic$1() {
|
|
if (hasRequiredOld_Italic$1) return Old_Italic$1;
|
|
hasRequiredOld_Italic$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10300, 0x10323).addRange(0x1032D, 0x1032F);
|
|
Old_Italic$1.characters = set;
|
|
return Old_Italic$1;
|
|
}
|
|
|
|
var Old_North_Arabian$1 = {};
|
|
|
|
var hasRequiredOld_North_Arabian$1;
|
|
function requireOld_North_Arabian$1() {
|
|
if (hasRequiredOld_North_Arabian$1) return Old_North_Arabian$1;
|
|
hasRequiredOld_North_Arabian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10A80, 0x10A9F);
|
|
Old_North_Arabian$1.characters = set;
|
|
return Old_North_Arabian$1;
|
|
}
|
|
|
|
var Old_Permic$1 = {};
|
|
|
|
var hasRequiredOld_Permic$1;
|
|
function requireOld_Permic$1() {
|
|
if (hasRequiredOld_Permic$1) return Old_Permic$1;
|
|
hasRequiredOld_Permic$1 = 1;
|
|
var set = regenerate$2.exports(0x483);
|
|
set.addRange(0x10350, 0x1037A);
|
|
Old_Permic$1.characters = set;
|
|
return Old_Permic$1;
|
|
}
|
|
|
|
var Old_Persian$1 = {};
|
|
|
|
var hasRequiredOld_Persian$1;
|
|
function requireOld_Persian$1() {
|
|
if (hasRequiredOld_Persian$1) return Old_Persian$1;
|
|
hasRequiredOld_Persian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103D5);
|
|
Old_Persian$1.characters = set;
|
|
return Old_Persian$1;
|
|
}
|
|
|
|
var Old_Sogdian$1 = {};
|
|
|
|
var hasRequiredOld_Sogdian$1;
|
|
function requireOld_Sogdian$1() {
|
|
if (hasRequiredOld_Sogdian$1) return Old_Sogdian$1;
|
|
hasRequiredOld_Sogdian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10F00, 0x10F27);
|
|
Old_Sogdian$1.characters = set;
|
|
return Old_Sogdian$1;
|
|
}
|
|
|
|
var Old_South_Arabian$1 = {};
|
|
|
|
var hasRequiredOld_South_Arabian$1;
|
|
function requireOld_South_Arabian$1() {
|
|
if (hasRequiredOld_South_Arabian$1) return Old_South_Arabian$1;
|
|
hasRequiredOld_South_Arabian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10A60, 0x10A7F);
|
|
Old_South_Arabian$1.characters = set;
|
|
return Old_South_Arabian$1;
|
|
}
|
|
|
|
var Old_Turkic$1 = {};
|
|
|
|
var hasRequiredOld_Turkic$1;
|
|
function requireOld_Turkic$1() {
|
|
if (hasRequiredOld_Turkic$1) return Old_Turkic$1;
|
|
hasRequiredOld_Turkic$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10C00, 0x10C48);
|
|
Old_Turkic$1.characters = set;
|
|
return Old_Turkic$1;
|
|
}
|
|
|
|
var Old_Uyghur$1 = {};
|
|
|
|
var hasRequiredOld_Uyghur$1;
|
|
function requireOld_Uyghur$1() {
|
|
if (hasRequiredOld_Uyghur$1) return Old_Uyghur$1;
|
|
hasRequiredOld_Uyghur$1 = 1;
|
|
var set = regenerate$2.exports(0x640, 0x10AF2);
|
|
set.addRange(0x10F70, 0x10F89);
|
|
Old_Uyghur$1.characters = set;
|
|
return Old_Uyghur$1;
|
|
}
|
|
|
|
var Oriya$1 = {};
|
|
|
|
var hasRequiredOriya$1;
|
|
function requireOriya$1() {
|
|
if (hasRequiredOriya$1) return Oriya$1;
|
|
hasRequiredOriya$1 = 1;
|
|
var set = regenerate$2.exports(0x1CDA, 0x1CF2);
|
|
set.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77);
|
|
Oriya$1.characters = set;
|
|
return Oriya$1;
|
|
}
|
|
|
|
var Osage$1 = {};
|
|
|
|
var hasRequiredOsage$1;
|
|
function requireOsage$1() {
|
|
if (hasRequiredOsage$1) return Osage$1;
|
|
hasRequiredOsage$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB);
|
|
Osage$1.characters = set;
|
|
return Osage$1;
|
|
}
|
|
|
|
var Osmanya$1 = {};
|
|
|
|
var hasRequiredOsmanya$1;
|
|
function requireOsmanya$1() {
|
|
if (hasRequiredOsmanya$1) return Osmanya$1;
|
|
hasRequiredOsmanya$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10480, 0x1049D).addRange(0x104A0, 0x104A9);
|
|
Osmanya$1.characters = set;
|
|
return Osmanya$1;
|
|
}
|
|
|
|
var Pahawh_Hmong$1 = {};
|
|
|
|
var hasRequiredPahawh_Hmong$1;
|
|
function requirePahawh_Hmong$1() {
|
|
if (hasRequiredPahawh_Hmong$1) return Pahawh_Hmong$1;
|
|
hasRequiredPahawh_Hmong$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F);
|
|
Pahawh_Hmong$1.characters = set;
|
|
return Pahawh_Hmong$1;
|
|
}
|
|
|
|
var Palmyrene$1 = {};
|
|
|
|
var hasRequiredPalmyrene$1;
|
|
function requirePalmyrene$1() {
|
|
if (hasRequiredPalmyrene$1) return Palmyrene$1;
|
|
hasRequiredPalmyrene$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10860, 0x1087F);
|
|
Palmyrene$1.characters = set;
|
|
return Palmyrene$1;
|
|
}
|
|
|
|
var Pau_Cin_Hau$1 = {};
|
|
|
|
var hasRequiredPau_Cin_Hau$1;
|
|
function requirePau_Cin_Hau$1() {
|
|
if (hasRequiredPau_Cin_Hau$1) return Pau_Cin_Hau$1;
|
|
hasRequiredPau_Cin_Hau$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11AC0, 0x11AF8);
|
|
Pau_Cin_Hau$1.characters = set;
|
|
return Pau_Cin_Hau$1;
|
|
}
|
|
|
|
var Phags_Pa$1 = {};
|
|
|
|
var hasRequiredPhags_Pa$1;
|
|
function requirePhags_Pa$1() {
|
|
if (hasRequiredPhags_Pa$1) return Phags_Pa$1;
|
|
hasRequiredPhags_Pa$1 = 1;
|
|
var set = regenerate$2.exports(0x1805);
|
|
set.addRange(0x1802, 0x1803).addRange(0xA840, 0xA877);
|
|
Phags_Pa$1.characters = set;
|
|
return Phags_Pa$1;
|
|
}
|
|
|
|
var Phoenician$1 = {};
|
|
|
|
var hasRequiredPhoenician$1;
|
|
function requirePhoenician$1() {
|
|
if (hasRequiredPhoenician$1) return Phoenician$1;
|
|
hasRequiredPhoenician$1 = 1;
|
|
var set = regenerate$2.exports(0x1091F);
|
|
set.addRange(0x10900, 0x1091B);
|
|
Phoenician$1.characters = set;
|
|
return Phoenician$1;
|
|
}
|
|
|
|
var Psalter_Pahlavi$1 = {};
|
|
|
|
var hasRequiredPsalter_Pahlavi$1;
|
|
function requirePsalter_Pahlavi$1() {
|
|
if (hasRequiredPsalter_Pahlavi$1) return Psalter_Pahlavi$1;
|
|
hasRequiredPsalter_Pahlavi$1 = 1;
|
|
var set = regenerate$2.exports(0x640);
|
|
set.addRange(0x10B80, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF);
|
|
Psalter_Pahlavi$1.characters = set;
|
|
return Psalter_Pahlavi$1;
|
|
}
|
|
|
|
var Rejang$1 = {};
|
|
|
|
var hasRequiredRejang$1;
|
|
function requireRejang$1() {
|
|
if (hasRequiredRejang$1) return Rejang$1;
|
|
hasRequiredRejang$1 = 1;
|
|
var set = regenerate$2.exports(0xA95F);
|
|
set.addRange(0xA930, 0xA953);
|
|
Rejang$1.characters = set;
|
|
return Rejang$1;
|
|
}
|
|
|
|
var Runic$1 = {};
|
|
|
|
var hasRequiredRunic$1;
|
|
function requireRunic$1() {
|
|
if (hasRequiredRunic$1) return Runic$1;
|
|
hasRequiredRunic$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8);
|
|
Runic$1.characters = set;
|
|
return Runic$1;
|
|
}
|
|
|
|
var Samaritan$1 = {};
|
|
|
|
var hasRequiredSamaritan$1;
|
|
function requireSamaritan$1() {
|
|
if (hasRequiredSamaritan$1) return Samaritan$1;
|
|
hasRequiredSamaritan$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x800, 0x82D).addRange(0x830, 0x83E);
|
|
Samaritan$1.characters = set;
|
|
return Samaritan$1;
|
|
}
|
|
|
|
var Saurashtra$1 = {};
|
|
|
|
var hasRequiredSaurashtra$1;
|
|
function requireSaurashtra$1() {
|
|
if (hasRequiredSaurashtra$1) return Saurashtra$1;
|
|
hasRequiredSaurashtra$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9);
|
|
Saurashtra$1.characters = set;
|
|
return Saurashtra$1;
|
|
}
|
|
|
|
var Sharada$1 = {};
|
|
|
|
var hasRequiredSharada$1;
|
|
function requireSharada$1() {
|
|
if (hasRequiredSharada$1) return Sharada$1;
|
|
hasRequiredSharada$1 = 1;
|
|
var set = regenerate$2.exports(0x951, 0x1CD7, 0x1CD9, 0x1CE0);
|
|
set.addRange(0x1CDC, 0x1CDD).addRange(0x11180, 0x111DF);
|
|
Sharada$1.characters = set;
|
|
return Sharada$1;
|
|
}
|
|
|
|
var Shavian$1 = {};
|
|
|
|
var hasRequiredShavian$1;
|
|
function requireShavian$1() {
|
|
if (hasRequiredShavian$1) return Shavian$1;
|
|
hasRequiredShavian$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10450, 0x1047F);
|
|
Shavian$1.characters = set;
|
|
return Shavian$1;
|
|
}
|
|
|
|
var Siddham$1 = {};
|
|
|
|
var hasRequiredSiddham$1;
|
|
function requireSiddham$1() {
|
|
if (hasRequiredSiddham$1) return Siddham$1;
|
|
hasRequiredSiddham$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD);
|
|
Siddham$1.characters = set;
|
|
return Siddham$1;
|
|
}
|
|
|
|
var SignWriting$1 = {};
|
|
|
|
var hasRequiredSignWriting$1;
|
|
function requireSignWriting$1() {
|
|
if (hasRequiredSignWriting$1) return SignWriting$1;
|
|
hasRequiredSignWriting$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1D800, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF);
|
|
SignWriting$1.characters = set;
|
|
return SignWriting$1;
|
|
}
|
|
|
|
var Sinhala$1 = {};
|
|
|
|
var hasRequiredSinhala$1;
|
|
function requireSinhala$1() {
|
|
if (hasRequiredSinhala$1) return Sinhala$1;
|
|
hasRequiredSinhala$1 = 1;
|
|
var set = regenerate$2.exports(0xDBD, 0xDCA, 0xDD6);
|
|
set.addRange(0x964, 0x965).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0x111E1, 0x111F4);
|
|
Sinhala$1.characters = set;
|
|
return Sinhala$1;
|
|
}
|
|
|
|
var Sogdian$1 = {};
|
|
|
|
var hasRequiredSogdian$1;
|
|
function requireSogdian$1() {
|
|
if (hasRequiredSogdian$1) return Sogdian$1;
|
|
hasRequiredSogdian$1 = 1;
|
|
var set = regenerate$2.exports(0x640);
|
|
set.addRange(0x10F30, 0x10F59);
|
|
Sogdian$1.characters = set;
|
|
return Sogdian$1;
|
|
}
|
|
|
|
var Sora_Sompeng$1 = {};
|
|
|
|
var hasRequiredSora_Sompeng$1;
|
|
function requireSora_Sompeng$1() {
|
|
if (hasRequiredSora_Sompeng$1) return Sora_Sompeng$1;
|
|
hasRequiredSora_Sompeng$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9);
|
|
Sora_Sompeng$1.characters = set;
|
|
return Sora_Sompeng$1;
|
|
}
|
|
|
|
var Soyombo$1 = {};
|
|
|
|
var hasRequiredSoyombo$1;
|
|
function requireSoyombo$1() {
|
|
if (hasRequiredSoyombo$1) return Soyombo$1;
|
|
hasRequiredSoyombo$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11A50, 0x11AA2);
|
|
Soyombo$1.characters = set;
|
|
return Soyombo$1;
|
|
}
|
|
|
|
var Sundanese$1 = {};
|
|
|
|
var hasRequiredSundanese$1;
|
|
function requireSundanese$1() {
|
|
if (hasRequiredSundanese$1) return Sundanese$1;
|
|
hasRequiredSundanese$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1B80, 0x1BBF).addRange(0x1CC0, 0x1CC7);
|
|
Sundanese$1.characters = set;
|
|
return Sundanese$1;
|
|
}
|
|
|
|
var Syloti_Nagri$1 = {};
|
|
|
|
var hasRequiredSyloti_Nagri$1;
|
|
function requireSyloti_Nagri$1() {
|
|
if (hasRequiredSyloti_Nagri$1) return Syloti_Nagri$1;
|
|
hasRequiredSyloti_Nagri$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x964, 0x965).addRange(0x9E6, 0x9EF).addRange(0xA800, 0xA82C);
|
|
Syloti_Nagri$1.characters = set;
|
|
return Syloti_Nagri$1;
|
|
}
|
|
|
|
var Syriac$1 = {};
|
|
|
|
var hasRequiredSyriac$1;
|
|
function requireSyriac$1() {
|
|
if (hasRequiredSyriac$1) return Syriac$1;
|
|
hasRequiredSyriac$1 = 1;
|
|
var set = regenerate$2.exports(0x60C, 0x61F, 0x640, 0x670, 0x1DF8, 0x1DFA);
|
|
set.addRange(0x61B, 0x61C).addRange(0x64B, 0x655).addRange(0x700, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x74F).addRange(0x860, 0x86A);
|
|
Syriac$1.characters = set;
|
|
return Syriac$1;
|
|
}
|
|
|
|
var Tagalog$1 = {};
|
|
|
|
var hasRequiredTagalog$1;
|
|
function requireTagalog$1() {
|
|
if (hasRequiredTagalog$1) return Tagalog$1;
|
|
hasRequiredTagalog$1 = 1;
|
|
var set = regenerate$2.exports(0x171F);
|
|
set.addRange(0x1700, 0x1715).addRange(0x1735, 0x1736);
|
|
Tagalog$1.characters = set;
|
|
return Tagalog$1;
|
|
}
|
|
|
|
var Tagbanwa$1 = {};
|
|
|
|
var hasRequiredTagbanwa$1;
|
|
function requireTagbanwa$1() {
|
|
if (hasRequiredTagbanwa$1) return Tagbanwa$1;
|
|
hasRequiredTagbanwa$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1735, 0x1736).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773);
|
|
Tagbanwa$1.characters = set;
|
|
return Tagbanwa$1;
|
|
}
|
|
|
|
var Tai_Le$1 = {};
|
|
|
|
var hasRequiredTai_Le$1;
|
|
function requireTai_Le$1() {
|
|
if (hasRequiredTai_Le$1) return Tai_Le$1;
|
|
hasRequiredTai_Le$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1040, 0x1049).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974);
|
|
Tai_Le$1.characters = set;
|
|
return Tai_Le$1;
|
|
}
|
|
|
|
var Tai_Tham$1 = {};
|
|
|
|
var hasRequiredTai_Tham$1;
|
|
function requireTai_Tham$1() {
|
|
if (hasRequiredTai_Tham$1) return Tai_Tham$1;
|
|
hasRequiredTai_Tham$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD);
|
|
Tai_Tham$1.characters = set;
|
|
return Tai_Tham$1;
|
|
}
|
|
|
|
var Tai_Viet$1 = {};
|
|
|
|
var hasRequiredTai_Viet$1;
|
|
function requireTai_Viet$1() {
|
|
if (hasRequiredTai_Viet$1) return Tai_Viet$1;
|
|
hasRequiredTai_Viet$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xAA80, 0xAAC2).addRange(0xAADB, 0xAADF);
|
|
Tai_Viet$1.characters = set;
|
|
return Tai_Viet$1;
|
|
}
|
|
|
|
var Takri$1 = {};
|
|
|
|
var hasRequiredTakri$1;
|
|
function requireTakri$1() {
|
|
if (hasRequiredTakri$1) return Takri$1;
|
|
hasRequiredTakri$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9);
|
|
Takri$1.characters = set;
|
|
return Takri$1;
|
|
}
|
|
|
|
var Tamil$1 = {};
|
|
|
|
var hasRequiredTamil$1;
|
|
function requireTamil$1() {
|
|
if (hasRequiredTamil$1) return Tamil$1;
|
|
hasRequiredTamil$1 = 1;
|
|
var set = regenerate$2.exports(0xB9C, 0xBD0, 0xBD7, 0x1CDA, 0xA8F3, 0x11301, 0x11303, 0x11FFF);
|
|
set.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0x1133B, 0x1133C).addRange(0x11FC0, 0x11FF1);
|
|
Tamil$1.characters = set;
|
|
return Tamil$1;
|
|
}
|
|
|
|
var Tangsa$1 = {};
|
|
|
|
var hasRequiredTangsa$1;
|
|
function requireTangsa$1() {
|
|
if (hasRequiredTangsa$1) return Tangsa$1;
|
|
hasRequiredTangsa$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9);
|
|
Tangsa$1.characters = set;
|
|
return Tangsa$1;
|
|
}
|
|
|
|
var Tangut$1 = {};
|
|
|
|
var hasRequiredTangut$1;
|
|
function requireTangut$1() {
|
|
if (hasRequiredTangut$1) return Tangut$1;
|
|
hasRequiredTangut$1 = 1;
|
|
var set = regenerate$2.exports(0x16FE0);
|
|
set.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18AFF).addRange(0x18D00, 0x18D08);
|
|
Tangut$1.characters = set;
|
|
return Tangut$1;
|
|
}
|
|
|
|
var Telugu$1 = {};
|
|
|
|
var hasRequiredTelugu$1;
|
|
function requireTelugu$1() {
|
|
if (hasRequiredTelugu$1) return Telugu$1;
|
|
hasRequiredTelugu$1 = 1;
|
|
var set = regenerate$2.exports(0xC5D, 0x1CDA, 0x1CF2);
|
|
set.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC7F);
|
|
Telugu$1.characters = set;
|
|
return Telugu$1;
|
|
}
|
|
|
|
var Thaana$1 = {};
|
|
|
|
var hasRequiredThaana$1;
|
|
function requireThaana$1() {
|
|
if (hasRequiredThaana$1) return Thaana$1;
|
|
hasRequiredThaana$1 = 1;
|
|
var set = regenerate$2.exports(0x60C, 0x61F, 0xFDF2, 0xFDFD);
|
|
set.addRange(0x61B, 0x61C).addRange(0x660, 0x669).addRange(0x780, 0x7B1);
|
|
Thaana$1.characters = set;
|
|
return Thaana$1;
|
|
}
|
|
|
|
var Thai$1 = {};
|
|
|
|
var hasRequiredThai$1;
|
|
function requireThai$1() {
|
|
if (hasRequiredThai$1) return Thai$1;
|
|
hasRequiredThai$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xE01, 0xE3A).addRange(0xE40, 0xE5B);
|
|
Thai$1.characters = set;
|
|
return Thai$1;
|
|
}
|
|
|
|
var Tibetan$1 = {};
|
|
|
|
var hasRequiredTibetan$1;
|
|
function requireTibetan$1() {
|
|
if (hasRequiredTibetan$1) return Tibetan$1;
|
|
hasRequiredTibetan$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFD4).addRange(0xFD9, 0xFDA);
|
|
Tibetan$1.characters = set;
|
|
return Tibetan$1;
|
|
}
|
|
|
|
var Tifinagh$1 = {};
|
|
|
|
var hasRequiredTifinagh$1;
|
|
function requireTifinagh$1() {
|
|
if (hasRequiredTifinagh$1) return Tifinagh$1;
|
|
hasRequiredTifinagh$1 = 1;
|
|
var set = regenerate$2.exports(0x2D7F);
|
|
set.addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70);
|
|
Tifinagh$1.characters = set;
|
|
return Tifinagh$1;
|
|
}
|
|
|
|
var Tirhuta$1 = {};
|
|
|
|
var hasRequiredTirhuta$1;
|
|
function requireTirhuta$1() {
|
|
if (hasRequiredTirhuta$1) return Tirhuta$1;
|
|
hasRequiredTirhuta$1 = 1;
|
|
var set = regenerate$2.exports(0x1CF2);
|
|
set.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9);
|
|
Tirhuta$1.characters = set;
|
|
return Tirhuta$1;
|
|
}
|
|
|
|
var Toto$1 = {};
|
|
|
|
var hasRequiredToto$1;
|
|
function requireToto$1() {
|
|
if (hasRequiredToto$1) return Toto$1;
|
|
hasRequiredToto$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1E290, 0x1E2AE);
|
|
Toto$1.characters = set;
|
|
return Toto$1;
|
|
}
|
|
|
|
var Ugaritic$1 = {};
|
|
|
|
var hasRequiredUgaritic$1;
|
|
function requireUgaritic$1() {
|
|
if (hasRequiredUgaritic$1) return Ugaritic$1;
|
|
hasRequiredUgaritic$1 = 1;
|
|
var set = regenerate$2.exports(0x1039F);
|
|
set.addRange(0x10380, 0x1039D);
|
|
Ugaritic$1.characters = set;
|
|
return Ugaritic$1;
|
|
}
|
|
|
|
var Vai$1 = {};
|
|
|
|
var hasRequiredVai$1;
|
|
function requireVai$1() {
|
|
if (hasRequiredVai$1) return Vai$1;
|
|
hasRequiredVai$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA500, 0xA62B);
|
|
Vai$1.characters = set;
|
|
return Vai$1;
|
|
}
|
|
|
|
var Vithkuqi$1 = {};
|
|
|
|
var hasRequiredVithkuqi$1;
|
|
function requireVithkuqi$1() {
|
|
if (hasRequiredVithkuqi$1) return Vithkuqi$1;
|
|
hasRequiredVithkuqi$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC);
|
|
Vithkuqi$1.characters = set;
|
|
return Vithkuqi$1;
|
|
}
|
|
|
|
var Wancho$1 = {};
|
|
|
|
var hasRequiredWancho$1;
|
|
function requireWancho$1() {
|
|
if (hasRequiredWancho$1) return Wancho$1;
|
|
hasRequiredWancho$1 = 1;
|
|
var set = regenerate$2.exports(0x1E2FF);
|
|
set.addRange(0x1E2C0, 0x1E2F9);
|
|
Wancho$1.characters = set;
|
|
return Wancho$1;
|
|
}
|
|
|
|
var Warang_Citi$1 = {};
|
|
|
|
var hasRequiredWarang_Citi$1;
|
|
function requireWarang_Citi$1() {
|
|
if (hasRequiredWarang_Citi$1) return Warang_Citi$1;
|
|
hasRequiredWarang_Citi$1 = 1;
|
|
var set = regenerate$2.exports(0x118FF);
|
|
set.addRange(0x118A0, 0x118F2);
|
|
Warang_Citi$1.characters = set;
|
|
return Warang_Citi$1;
|
|
}
|
|
|
|
var Yezidi$1 = {};
|
|
|
|
var hasRequiredYezidi$1;
|
|
function requireYezidi$1() {
|
|
if (hasRequiredYezidi$1) return Yezidi$1;
|
|
hasRequiredYezidi$1 = 1;
|
|
var set = regenerate$2.exports(0x60C, 0x61B, 0x61F);
|
|
set.addRange(0x660, 0x669).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1);
|
|
Yezidi$1.characters = set;
|
|
return Yezidi$1;
|
|
}
|
|
|
|
var Yi$1 = {};
|
|
|
|
var hasRequiredYi$1;
|
|
function requireYi$1() {
|
|
if (hasRequiredYi$1) return Yi$1;
|
|
hasRequiredYi$1 = 1;
|
|
var set = regenerate$2.exports(0x30FB);
|
|
set.addRange(0x3001, 0x3002).addRange(0x3008, 0x3011).addRange(0x3014, 0x301B).addRange(0xA000, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xFF61, 0xFF65);
|
|
Yi$1.characters = set;
|
|
return Yi$1;
|
|
}
|
|
|
|
var Zanabazar_Square$1 = {};
|
|
|
|
var hasRequiredZanabazar_Square$1;
|
|
function requireZanabazar_Square$1() {
|
|
if (hasRequiredZanabazar_Square$1) return Zanabazar_Square$1;
|
|
hasRequiredZanabazar_Square$1 = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11A00, 0x11A47);
|
|
Zanabazar_Square$1.characters = set;
|
|
return Zanabazar_Square$1;
|
|
}
|
|
|
|
var Adlam = {};
|
|
|
|
var hasRequiredAdlam;
|
|
function requireAdlam() {
|
|
if (hasRequiredAdlam) return Adlam;
|
|
hasRequiredAdlam = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F);
|
|
Adlam.characters = set;
|
|
return Adlam;
|
|
}
|
|
|
|
var Ahom = {};
|
|
|
|
var hasRequiredAhom;
|
|
function requireAhom() {
|
|
if (hasRequiredAhom) return Ahom;
|
|
hasRequiredAhom = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746);
|
|
Ahom.characters = set;
|
|
return Ahom;
|
|
}
|
|
|
|
var Anatolian_Hieroglyphs = {};
|
|
|
|
var hasRequiredAnatolian_Hieroglyphs;
|
|
function requireAnatolian_Hieroglyphs() {
|
|
if (hasRequiredAnatolian_Hieroglyphs) return Anatolian_Hieroglyphs;
|
|
hasRequiredAnatolian_Hieroglyphs = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x14400, 0x14646);
|
|
Anatolian_Hieroglyphs.characters = set;
|
|
return Anatolian_Hieroglyphs;
|
|
}
|
|
|
|
var Arabic = {};
|
|
|
|
var hasRequiredArabic;
|
|
function requireArabic() {
|
|
if (hasRequiredArabic) return Arabic;
|
|
hasRequiredArabic = 1;
|
|
var set = regenerate$2.exports(0xFDCF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);
|
|
set.addRange(0x600, 0x604).addRange(0x606, 0x60B).addRange(0x60D, 0x61A).addRange(0x61C, 0x61E).addRange(0x620, 0x63F).addRange(0x641, 0x64A).addRange(0x656, 0x66F).addRange(0x671, 0x6DC).addRange(0x6DE, 0x6FF).addRange(0x750, 0x77F).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x8E1).addRange(0x8E3, 0x8FF).addRange(0xFB50, 0xFBC2).addRange(0xFBD3, 0xFD3D).addRange(0xFD40, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0x10E60, 0x10E7E).addRange(0x10EFD, 0x10EFF).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);
|
|
Arabic.characters = set;
|
|
return Arabic;
|
|
}
|
|
|
|
var Armenian = {};
|
|
|
|
var hasRequiredArmenian;
|
|
function requireArmenian() {
|
|
if (hasRequiredArmenian) return Armenian;
|
|
hasRequiredArmenian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0xFB13, 0xFB17);
|
|
Armenian.characters = set;
|
|
return Armenian;
|
|
}
|
|
|
|
var Avestan = {};
|
|
|
|
var hasRequiredAvestan;
|
|
function requireAvestan() {
|
|
if (hasRequiredAvestan) return Avestan;
|
|
hasRequiredAvestan = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B3F);
|
|
Avestan.characters = set;
|
|
return Avestan;
|
|
}
|
|
|
|
var Balinese = {};
|
|
|
|
var hasRequiredBalinese;
|
|
function requireBalinese() {
|
|
if (hasRequiredBalinese) return Balinese;
|
|
hasRequiredBalinese = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E);
|
|
Balinese.characters = set;
|
|
return Balinese;
|
|
}
|
|
|
|
var Bamum = {};
|
|
|
|
var hasRequiredBamum;
|
|
function requireBamum() {
|
|
if (hasRequiredBamum) return Bamum;
|
|
hasRequiredBamum = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA6A0, 0xA6F7).addRange(0x16800, 0x16A38);
|
|
Bamum.characters = set;
|
|
return Bamum;
|
|
}
|
|
|
|
var Bassa_Vah = {};
|
|
|
|
var hasRequiredBassa_Vah;
|
|
function requireBassa_Vah() {
|
|
if (hasRequiredBassa_Vah) return Bassa_Vah;
|
|
hasRequiredBassa_Vah = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5);
|
|
Bassa_Vah.characters = set;
|
|
return Bassa_Vah;
|
|
}
|
|
|
|
var Batak = {};
|
|
|
|
var hasRequiredBatak;
|
|
function requireBatak() {
|
|
if (hasRequiredBatak) return Batak;
|
|
hasRequiredBatak = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1BC0, 0x1BF3).addRange(0x1BFC, 0x1BFF);
|
|
Batak.characters = set;
|
|
return Batak;
|
|
}
|
|
|
|
var Bengali = {};
|
|
|
|
var hasRequiredBengali;
|
|
function requireBengali() {
|
|
if (hasRequiredBengali) return Bengali;
|
|
hasRequiredBengali = 1;
|
|
var set = regenerate$2.exports(0x9B2, 0x9D7);
|
|
set.addRange(0x980, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE);
|
|
Bengali.characters = set;
|
|
return Bengali;
|
|
}
|
|
|
|
var Bhaiksuki = {};
|
|
|
|
var hasRequiredBhaiksuki;
|
|
function requireBhaiksuki() {
|
|
if (hasRequiredBhaiksuki) return Bhaiksuki;
|
|
hasRequiredBhaiksuki = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C);
|
|
Bhaiksuki.characters = set;
|
|
return Bhaiksuki;
|
|
}
|
|
|
|
var Bopomofo = {};
|
|
|
|
var hasRequiredBopomofo;
|
|
function requireBopomofo() {
|
|
if (hasRequiredBopomofo) return Bopomofo;
|
|
hasRequiredBopomofo = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x2EA, 0x2EB).addRange(0x3105, 0x312F).addRange(0x31A0, 0x31BF);
|
|
Bopomofo.characters = set;
|
|
return Bopomofo;
|
|
}
|
|
|
|
var Brahmi = {};
|
|
|
|
var hasRequiredBrahmi;
|
|
function requireBrahmi() {
|
|
if (hasRequiredBrahmi) return Brahmi;
|
|
hasRequiredBrahmi = 1;
|
|
var set = regenerate$2.exports(0x1107F);
|
|
set.addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075);
|
|
Brahmi.characters = set;
|
|
return Brahmi;
|
|
}
|
|
|
|
var Braille = {};
|
|
|
|
var hasRequiredBraille;
|
|
function requireBraille() {
|
|
if (hasRequiredBraille) return Braille;
|
|
hasRequiredBraille = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x2800, 0x28FF);
|
|
Braille.characters = set;
|
|
return Braille;
|
|
}
|
|
|
|
var Buginese = {};
|
|
|
|
var hasRequiredBuginese;
|
|
function requireBuginese() {
|
|
if (hasRequiredBuginese) return Buginese;
|
|
hasRequiredBuginese = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1A00, 0x1A1B).addRange(0x1A1E, 0x1A1F);
|
|
Buginese.characters = set;
|
|
return Buginese;
|
|
}
|
|
|
|
var Buhid = {};
|
|
|
|
var hasRequiredBuhid;
|
|
function requireBuhid() {
|
|
if (hasRequiredBuhid) return Buhid;
|
|
hasRequiredBuhid = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1740, 0x1753);
|
|
Buhid.characters = set;
|
|
return Buhid;
|
|
}
|
|
|
|
var Canadian_Aboriginal = {};
|
|
|
|
var hasRequiredCanadian_Aboriginal;
|
|
function requireCanadian_Aboriginal() {
|
|
if (hasRequiredCanadian_Aboriginal) return Canadian_Aboriginal;
|
|
hasRequiredCanadian_Aboriginal = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1400, 0x167F).addRange(0x18B0, 0x18F5).addRange(0x11AB0, 0x11ABF);
|
|
Canadian_Aboriginal.characters = set;
|
|
return Canadian_Aboriginal;
|
|
}
|
|
|
|
var Carian = {};
|
|
|
|
var hasRequiredCarian;
|
|
function requireCarian() {
|
|
if (hasRequiredCarian) return Carian;
|
|
hasRequiredCarian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x102A0, 0x102D0);
|
|
Carian.characters = set;
|
|
return Carian;
|
|
}
|
|
|
|
var Caucasian_Albanian = {};
|
|
|
|
var hasRequiredCaucasian_Albanian;
|
|
function requireCaucasian_Albanian() {
|
|
if (hasRequiredCaucasian_Albanian) return Caucasian_Albanian;
|
|
hasRequiredCaucasian_Albanian = 1;
|
|
var set = regenerate$2.exports(0x1056F);
|
|
set.addRange(0x10530, 0x10563);
|
|
Caucasian_Albanian.characters = set;
|
|
return Caucasian_Albanian;
|
|
}
|
|
|
|
var Chakma = {};
|
|
|
|
var hasRequiredChakma;
|
|
function requireChakma() {
|
|
if (hasRequiredChakma) return Chakma;
|
|
hasRequiredChakma = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11100, 0x11134).addRange(0x11136, 0x11147);
|
|
Chakma.characters = set;
|
|
return Chakma;
|
|
}
|
|
|
|
var Cham = {};
|
|
|
|
var hasRequiredCham;
|
|
function requireCham() {
|
|
if (hasRequiredCham) return Cham;
|
|
hasRequiredCham = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA5F);
|
|
Cham.characters = set;
|
|
return Cham;
|
|
}
|
|
|
|
var Cherokee = {};
|
|
|
|
var hasRequiredCherokee;
|
|
function requireCherokee() {
|
|
if (hasRequiredCherokee) return Cherokee;
|
|
hasRequiredCherokee = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0xAB70, 0xABBF);
|
|
Cherokee.characters = set;
|
|
return Cherokee;
|
|
}
|
|
|
|
var Chorasmian = {};
|
|
|
|
var hasRequiredChorasmian;
|
|
function requireChorasmian() {
|
|
if (hasRequiredChorasmian) return Chorasmian;
|
|
hasRequiredChorasmian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10FB0, 0x10FCB);
|
|
Chorasmian.characters = set;
|
|
return Chorasmian;
|
|
}
|
|
|
|
var Common = {};
|
|
|
|
var hasRequiredCommon;
|
|
function requireCommon() {
|
|
if (hasRequiredCommon) return Common;
|
|
hasRequiredCommon = 1;
|
|
var set = regenerate$2.exports(0xD7, 0xF7, 0x374, 0x37E, 0x385, 0x387, 0x605, 0x60C, 0x61B, 0x61F, 0x640, 0x6DD, 0x8E2, 0xE3F, 0x10FB, 0x1805, 0x1CD3, 0x1CE1, 0x1CFA, 0x3006, 0x30A0, 0x32FF, 0xA92E, 0xA9CF, 0xAB5B, 0xFEFF, 0xFF70, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1F7F0, 0xE0001);
|
|
set.addRange(0x0, 0x40).addRange(0x5B, 0x60).addRange(0x7B, 0xA9).addRange(0xAB, 0xB9).addRange(0xBB, 0xBF).addRange(0x2B9, 0x2DF).addRange(0x2E5, 0x2E9).addRange(0x2EC, 0x2FF).addRange(0x964, 0x965).addRange(0xFD5, 0xFD8).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x1802, 0x1803).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF7).addRange(0x2000, 0x200B).addRange(0x200E, 0x2064).addRange(0x2066, 0x2070).addRange(0x2074, 0x207E).addRange(0x2080, 0x208E).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2125).addRange(0x2127, 0x2129).addRange(0x212C, 0x2131).addRange(0x2133, 0x214D).addRange(0x214F, 0x215F).addRange(0x2189, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x27FF).addRange(0x2900, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2E00, 0x2E5D).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x3004).addRange(0x3008, 0x3020).addRange(0x3030, 0x3037).addRange(0x303C, 0x303F).addRange(0x309B, 0x309C).addRange(0x30FB, 0x30FC).addRange(0x3190, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3220, 0x325F).addRange(0x327F, 0x32CF).addRange(0x3358, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA830, 0xA839);
|
|
set.addRange(0xAB6A, 0xAB6B).addRange(0xFD3E, 0xFD3F).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFF01, 0xFF20).addRange(0xFF3B, 0xFF40).addRange(0xFF5B, 0xFF65).addRange(0xFF9E, 0xFF9F).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF9, 0xFFFD).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x102E1, 0x102FB).addRange(0x1BCA0, 0x1BCA3).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D166).addRange(0x1D16A, 0x1D17A).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EC71, 0x1ECB4);
|
|
set.addRange(0x1ED01, 0x1ED3D).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776).addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0xE0020, 0xE007F);
|
|
Common.characters = set;
|
|
return Common;
|
|
}
|
|
|
|
var Coptic = {};
|
|
|
|
var hasRequiredCoptic;
|
|
function requireCoptic() {
|
|
if (hasRequiredCoptic) return Coptic;
|
|
hasRequiredCoptic = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x3E2, 0x3EF).addRange(0x2C80, 0x2CF3).addRange(0x2CF9, 0x2CFF);
|
|
Coptic.characters = set;
|
|
return Coptic;
|
|
}
|
|
|
|
var Cuneiform = {};
|
|
|
|
var hasRequiredCuneiform;
|
|
function requireCuneiform() {
|
|
if (hasRequiredCuneiform) return Cuneiform;
|
|
hasRequiredCuneiform = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543);
|
|
Cuneiform.characters = set;
|
|
return Cuneiform;
|
|
}
|
|
|
|
var Cypriot = {};
|
|
|
|
var hasRequiredCypriot;
|
|
function requireCypriot() {
|
|
if (hasRequiredCypriot) return Cypriot;
|
|
hasRequiredCypriot = 1;
|
|
var set = regenerate$2.exports(0x10808, 0x1083C, 0x1083F);
|
|
set.addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838);
|
|
Cypriot.characters = set;
|
|
return Cypriot;
|
|
}
|
|
|
|
var Cypro_Minoan = {};
|
|
|
|
var hasRequiredCypro_Minoan;
|
|
function requireCypro_Minoan() {
|
|
if (hasRequiredCypro_Minoan) return Cypro_Minoan;
|
|
hasRequiredCypro_Minoan = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x12F90, 0x12FF2);
|
|
Cypro_Minoan.characters = set;
|
|
return Cypro_Minoan;
|
|
}
|
|
|
|
var Cyrillic = {};
|
|
|
|
var hasRequiredCyrillic;
|
|
function requireCyrillic() {
|
|
if (hasRequiredCyrillic) return Cyrillic;
|
|
hasRequiredCyrillic = 1;
|
|
var set = regenerate$2.exports(0x1D2B, 0x1D78, 0x1E08F);
|
|
set.addRange(0x400, 0x484).addRange(0x487, 0x52F).addRange(0x1C80, 0x1C88).addRange(0x2DE0, 0x2DFF).addRange(0xA640, 0xA69F).addRange(0xFE2E, 0xFE2F).addRange(0x1E030, 0x1E06D);
|
|
Cyrillic.characters = set;
|
|
return Cyrillic;
|
|
}
|
|
|
|
var Deseret = {};
|
|
|
|
var hasRequiredDeseret;
|
|
function requireDeseret() {
|
|
if (hasRequiredDeseret) return Deseret;
|
|
hasRequiredDeseret = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10400, 0x1044F);
|
|
Deseret.characters = set;
|
|
return Deseret;
|
|
}
|
|
|
|
var Devanagari = {};
|
|
|
|
var hasRequiredDevanagari;
|
|
function requireDevanagari() {
|
|
if (hasRequiredDevanagari) return Devanagari;
|
|
hasRequiredDevanagari = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x900, 0x950).addRange(0x955, 0x963).addRange(0x966, 0x97F).addRange(0xA8E0, 0xA8FF).addRange(0x11B00, 0x11B09);
|
|
Devanagari.characters = set;
|
|
return Devanagari;
|
|
}
|
|
|
|
var Dives_Akuru = {};
|
|
|
|
var hasRequiredDives_Akuru;
|
|
function requireDives_Akuru() {
|
|
if (hasRequiredDives_Akuru) return Dives_Akuru;
|
|
hasRequiredDives_Akuru = 1;
|
|
var set = regenerate$2.exports(0x11909);
|
|
set.addRange(0x11900, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959);
|
|
Dives_Akuru.characters = set;
|
|
return Dives_Akuru;
|
|
}
|
|
|
|
var Dogra = {};
|
|
|
|
var hasRequiredDogra;
|
|
function requireDogra() {
|
|
if (hasRequiredDogra) return Dogra;
|
|
hasRequiredDogra = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11800, 0x1183B);
|
|
Dogra.characters = set;
|
|
return Dogra;
|
|
}
|
|
|
|
var Duployan = {};
|
|
|
|
var hasRequiredDuployan;
|
|
function requireDuployan() {
|
|
if (hasRequiredDuployan) return Duployan;
|
|
hasRequiredDuployan = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BC9F);
|
|
Duployan.characters = set;
|
|
return Duployan;
|
|
}
|
|
|
|
var Egyptian_Hieroglyphs = {};
|
|
|
|
var hasRequiredEgyptian_Hieroglyphs;
|
|
function requireEgyptian_Hieroglyphs() {
|
|
if (hasRequiredEgyptian_Hieroglyphs) return Egyptian_Hieroglyphs;
|
|
hasRequiredEgyptian_Hieroglyphs = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x13000, 0x13455);
|
|
Egyptian_Hieroglyphs.characters = set;
|
|
return Egyptian_Hieroglyphs;
|
|
}
|
|
|
|
var Elbasan = {};
|
|
|
|
var hasRequiredElbasan;
|
|
function requireElbasan() {
|
|
if (hasRequiredElbasan) return Elbasan;
|
|
hasRequiredElbasan = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10500, 0x10527);
|
|
Elbasan.characters = set;
|
|
return Elbasan;
|
|
}
|
|
|
|
var Elymaic = {};
|
|
|
|
var hasRequiredElymaic;
|
|
function requireElymaic() {
|
|
if (hasRequiredElymaic) return Elymaic;
|
|
hasRequiredElymaic = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10FE0, 0x10FF6);
|
|
Elymaic.characters = set;
|
|
return Elymaic;
|
|
}
|
|
|
|
var Ethiopic = {};
|
|
|
|
var hasRequiredEthiopic;
|
|
function requireEthiopic() {
|
|
if (hasRequiredEthiopic) return Ethiopic;
|
|
hasRequiredEthiopic = 1;
|
|
var set = regenerate$2.exports(0x1258, 0x12C0);
|
|
set.addRange(0x1200, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE);
|
|
Ethiopic.characters = set;
|
|
return Ethiopic;
|
|
}
|
|
|
|
var Georgian = {};
|
|
|
|
var hasRequiredGeorgian;
|
|
function requireGeorgian() {
|
|
if (hasRequiredGeorgian) return Georgian;
|
|
hasRequiredGeorgian = 1;
|
|
var set = regenerate$2.exports(0x10C7, 0x10CD, 0x2D27, 0x2D2D);
|
|
set.addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x10FF).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x2D00, 0x2D25);
|
|
Georgian.characters = set;
|
|
return Georgian;
|
|
}
|
|
|
|
var Glagolitic = {};
|
|
|
|
var hasRequiredGlagolitic;
|
|
function requireGlagolitic() {
|
|
if (hasRequiredGlagolitic) return Glagolitic;
|
|
hasRequiredGlagolitic = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x2C00, 0x2C5F).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);
|
|
Glagolitic.characters = set;
|
|
return Glagolitic;
|
|
}
|
|
|
|
var Gothic = {};
|
|
|
|
var hasRequiredGothic;
|
|
function requireGothic() {
|
|
if (hasRequiredGothic) return Gothic;
|
|
hasRequiredGothic = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10330, 0x1034A);
|
|
Gothic.characters = set;
|
|
return Gothic;
|
|
}
|
|
|
|
var Grantha = {};
|
|
|
|
var hasRequiredGrantha;
|
|
function requireGrantha() {
|
|
if (hasRequiredGrantha) return Grantha;
|
|
hasRequiredGrantha = 1;
|
|
var set = regenerate$2.exports(0x11350, 0x11357);
|
|
set.addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133C, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374);
|
|
Grantha.characters = set;
|
|
return Grantha;
|
|
}
|
|
|
|
var Greek = {};
|
|
|
|
var hasRequiredGreek;
|
|
function requireGreek() {
|
|
if (hasRequiredGreek) return Greek;
|
|
hasRequiredGreek = 1;
|
|
var set = regenerate$2.exports(0x37F, 0x384, 0x386, 0x38C, 0x1DBF, 0x1F59, 0x1F5B, 0x1F5D, 0x2126, 0xAB65, 0x101A0);
|
|
set.addRange(0x370, 0x373).addRange(0x375, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3E1).addRange(0x3F0, 0x3FF).addRange(0x1D26, 0x1D2A).addRange(0x1D5D, 0x1D61).addRange(0x1D66, 0x1D6A).addRange(0x1F00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x10140, 0x1018E).addRange(0x1D200, 0x1D245);
|
|
Greek.characters = set;
|
|
return Greek;
|
|
}
|
|
|
|
var Gujarati = {};
|
|
|
|
var hasRequiredGujarati;
|
|
function requireGujarati() {
|
|
if (hasRequiredGujarati) return Gujarati;
|
|
hasRequiredGujarati = 1;
|
|
var set = regenerate$2.exports(0xAD0);
|
|
set.addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF);
|
|
Gujarati.characters = set;
|
|
return Gujarati;
|
|
}
|
|
|
|
var Gunjala_Gondi = {};
|
|
|
|
var hasRequiredGunjala_Gondi;
|
|
function requireGunjala_Gondi() {
|
|
if (hasRequiredGunjala_Gondi) return Gunjala_Gondi;
|
|
hasRequiredGunjala_Gondi = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9);
|
|
Gunjala_Gondi.characters = set;
|
|
return Gunjala_Gondi;
|
|
}
|
|
|
|
var Gurmukhi = {};
|
|
|
|
var hasRequiredGurmukhi;
|
|
function requireGurmukhi() {
|
|
if (hasRequiredGurmukhi) return Gurmukhi;
|
|
hasRequiredGurmukhi = 1;
|
|
var set = regenerate$2.exports(0xA3C, 0xA51, 0xA5E);
|
|
set.addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76);
|
|
Gurmukhi.characters = set;
|
|
return Gurmukhi;
|
|
}
|
|
|
|
var Han = {};
|
|
|
|
var hasRequiredHan;
|
|
function requireHan() {
|
|
if (hasRequiredHan) return Han;
|
|
hasRequiredHan = 1;
|
|
var set = regenerate$2.exports(0x3005, 0x3007);
|
|
set.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x3021, 0x3029).addRange(0x3038, 0x303B).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0x16FE2, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);
|
|
Han.characters = set;
|
|
return Han;
|
|
}
|
|
|
|
var Hangul = {};
|
|
|
|
var hasRequiredHangul;
|
|
function requireHangul() {
|
|
if (hasRequiredHangul) return Hangul;
|
|
hasRequiredHangul = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1100, 0x11FF).addRange(0x302E, 0x302F).addRange(0x3131, 0x318E).addRange(0x3200, 0x321E).addRange(0x3260, 0x327E).addRange(0xA960, 0xA97C).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC);
|
|
Hangul.characters = set;
|
|
return Hangul;
|
|
}
|
|
|
|
var Hanifi_Rohingya = {};
|
|
|
|
var hasRequiredHanifi_Rohingya;
|
|
function requireHanifi_Rohingya() {
|
|
if (hasRequiredHanifi_Rohingya) return Hanifi_Rohingya;
|
|
hasRequiredHanifi_Rohingya = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39);
|
|
Hanifi_Rohingya.characters = set;
|
|
return Hanifi_Rohingya;
|
|
}
|
|
|
|
var Hanunoo = {};
|
|
|
|
var hasRequiredHanunoo;
|
|
function requireHanunoo() {
|
|
if (hasRequiredHanunoo) return Hanunoo;
|
|
hasRequiredHanunoo = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1720, 0x1734);
|
|
Hanunoo.characters = set;
|
|
return Hanunoo;
|
|
}
|
|
|
|
var Hatran = {};
|
|
|
|
var hasRequiredHatran;
|
|
function requireHatran() {
|
|
if (hasRequiredHatran) return Hatran;
|
|
hasRequiredHatran = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x108FF);
|
|
Hatran.characters = set;
|
|
return Hatran;
|
|
}
|
|
|
|
var Hebrew = {};
|
|
|
|
var hasRequiredHebrew;
|
|
function requireHebrew() {
|
|
if (hasRequiredHebrew) return Hebrew;
|
|
hasRequiredHebrew = 1;
|
|
var set = regenerate$2.exports(0xFB3E);
|
|
set.addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFB4F);
|
|
Hebrew.characters = set;
|
|
return Hebrew;
|
|
}
|
|
|
|
var Hiragana = {};
|
|
|
|
var hasRequiredHiragana;
|
|
function requireHiragana() {
|
|
if (hasRequiredHiragana) return Hiragana;
|
|
hasRequiredHiragana = 1;
|
|
var set = regenerate$2.exports(0x1B132, 0x1F200);
|
|
set.addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x1B001, 0x1B11F).addRange(0x1B150, 0x1B152);
|
|
Hiragana.characters = set;
|
|
return Hiragana;
|
|
}
|
|
|
|
var Imperial_Aramaic = {};
|
|
|
|
var hasRequiredImperial_Aramaic;
|
|
function requireImperial_Aramaic() {
|
|
if (hasRequiredImperial_Aramaic) return Imperial_Aramaic;
|
|
hasRequiredImperial_Aramaic = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10840, 0x10855).addRange(0x10857, 0x1085F);
|
|
Imperial_Aramaic.characters = set;
|
|
return Imperial_Aramaic;
|
|
}
|
|
|
|
var Inherited = {};
|
|
|
|
var hasRequiredInherited;
|
|
function requireInherited() {
|
|
if (hasRequiredInherited) return Inherited;
|
|
hasRequiredInherited = 1;
|
|
var set = regenerate$2.exports(0x670, 0x1CED, 0x1CF4, 0x101FD, 0x102E0, 0x1133B);
|
|
set.addRange(0x300, 0x36F).addRange(0x485, 0x486).addRange(0x64B, 0x655).addRange(0x951, 0x954).addRange(0x1AB0, 0x1ACE).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0).addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x200C, 0x200D).addRange(0x20D0, 0x20F0).addRange(0x302A, 0x302D).addRange(0x3099, 0x309A).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2D).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0xE0100, 0xE01EF);
|
|
Inherited.characters = set;
|
|
return Inherited;
|
|
}
|
|
|
|
var Inscriptional_Pahlavi = {};
|
|
|
|
var hasRequiredInscriptional_Pahlavi;
|
|
function requireInscriptional_Pahlavi() {
|
|
if (hasRequiredInscriptional_Pahlavi) return Inscriptional_Pahlavi;
|
|
hasRequiredInscriptional_Pahlavi = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10B60, 0x10B72).addRange(0x10B78, 0x10B7F);
|
|
Inscriptional_Pahlavi.characters = set;
|
|
return Inscriptional_Pahlavi;
|
|
}
|
|
|
|
var Inscriptional_Parthian = {};
|
|
|
|
var hasRequiredInscriptional_Parthian;
|
|
function requireInscriptional_Parthian() {
|
|
if (hasRequiredInscriptional_Parthian) return Inscriptional_Parthian;
|
|
hasRequiredInscriptional_Parthian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10B40, 0x10B55).addRange(0x10B58, 0x10B5F);
|
|
Inscriptional_Parthian.characters = set;
|
|
return Inscriptional_Parthian;
|
|
}
|
|
|
|
var Javanese = {};
|
|
|
|
var hasRequiredJavanese;
|
|
function requireJavanese() {
|
|
if (hasRequiredJavanese) return Javanese;
|
|
hasRequiredJavanese = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA980, 0xA9CD).addRange(0xA9D0, 0xA9D9).addRange(0xA9DE, 0xA9DF);
|
|
Javanese.characters = set;
|
|
return Javanese;
|
|
}
|
|
|
|
var Kaithi = {};
|
|
|
|
var hasRequiredKaithi;
|
|
function requireKaithi() {
|
|
if (hasRequiredKaithi) return Kaithi;
|
|
hasRequiredKaithi = 1;
|
|
var set = regenerate$2.exports(0x110CD);
|
|
set.addRange(0x11080, 0x110C2);
|
|
Kaithi.characters = set;
|
|
return Kaithi;
|
|
}
|
|
|
|
var Kannada = {};
|
|
|
|
var hasRequiredKannada;
|
|
function requireKannada() {
|
|
if (hasRequiredKannada) return Kannada;
|
|
hasRequiredKannada = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xC80, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3);
|
|
Kannada.characters = set;
|
|
return Kannada;
|
|
}
|
|
|
|
var Katakana = {};
|
|
|
|
var hasRequiredKatakana;
|
|
function requireKatakana() {
|
|
if (hasRequiredKatakana) return Katakana;
|
|
hasRequiredKatakana = 1;
|
|
var set = regenerate$2.exports(0x1B000, 0x1B155);
|
|
set.addRange(0x30A1, 0x30FA).addRange(0x30FD, 0x30FF).addRange(0x31F0, 0x31FF).addRange(0x32D0, 0x32FE).addRange(0x3300, 0x3357).addRange(0xFF66, 0xFF6F).addRange(0xFF71, 0xFF9D).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B120, 0x1B122).addRange(0x1B164, 0x1B167);
|
|
Katakana.characters = set;
|
|
return Katakana;
|
|
}
|
|
|
|
var Kawi = {};
|
|
|
|
var hasRequiredKawi;
|
|
function requireKawi() {
|
|
if (hasRequiredKawi) return Kawi;
|
|
hasRequiredKawi = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F59);
|
|
Kawi.characters = set;
|
|
return Kawi;
|
|
}
|
|
|
|
var Kayah_Li = {};
|
|
|
|
var hasRequiredKayah_Li;
|
|
function requireKayah_Li() {
|
|
if (hasRequiredKayah_Li) return Kayah_Li;
|
|
hasRequiredKayah_Li = 1;
|
|
var set = regenerate$2.exports(0xA92F);
|
|
set.addRange(0xA900, 0xA92D);
|
|
Kayah_Li.characters = set;
|
|
return Kayah_Li;
|
|
}
|
|
|
|
var Kharoshthi = {};
|
|
|
|
var hasRequiredKharoshthi;
|
|
function requireKharoshthi() {
|
|
if (hasRequiredKharoshthi) return Kharoshthi;
|
|
hasRequiredKharoshthi = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58);
|
|
Kharoshthi.characters = set;
|
|
return Kharoshthi;
|
|
}
|
|
|
|
var Khitan_Small_Script = {};
|
|
|
|
var hasRequiredKhitan_Small_Script;
|
|
function requireKhitan_Small_Script() {
|
|
if (hasRequiredKhitan_Small_Script) return Khitan_Small_Script;
|
|
hasRequiredKhitan_Small_Script = 1;
|
|
var set = regenerate$2.exports(0x16FE4);
|
|
set.addRange(0x18B00, 0x18CD5);
|
|
Khitan_Small_Script.characters = set;
|
|
return Khitan_Small_Script;
|
|
}
|
|
|
|
var Khmer = {};
|
|
|
|
var hasRequiredKhmer;
|
|
function requireKhmer() {
|
|
if (hasRequiredKhmer) return Khmer;
|
|
hasRequiredKhmer = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x19E0, 0x19FF);
|
|
Khmer.characters = set;
|
|
return Khmer;
|
|
}
|
|
|
|
var Khojki = {};
|
|
|
|
var hasRequiredKhojki;
|
|
function requireKhojki() {
|
|
if (hasRequiredKhojki) return Khojki;
|
|
hasRequiredKhojki = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11200, 0x11211).addRange(0x11213, 0x11241);
|
|
Khojki.characters = set;
|
|
return Khojki;
|
|
}
|
|
|
|
var Khudawadi = {};
|
|
|
|
var hasRequiredKhudawadi;
|
|
function requireKhudawadi() {
|
|
if (hasRequiredKhudawadi) return Khudawadi;
|
|
hasRequiredKhudawadi = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);
|
|
Khudawadi.characters = set;
|
|
return Khudawadi;
|
|
}
|
|
|
|
var Lao = {};
|
|
|
|
var hasRequiredLao;
|
|
function requireLao() {
|
|
if (hasRequiredLao) return Lao;
|
|
hasRequiredLao = 1;
|
|
var set = regenerate$2.exports(0xE84, 0xEA5, 0xEC6);
|
|
set.addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECE).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF);
|
|
Lao.characters = set;
|
|
return Lao;
|
|
}
|
|
|
|
var Latin = {};
|
|
|
|
var hasRequiredLatin;
|
|
function requireLatin() {
|
|
if (hasRequiredLatin) return Latin;
|
|
hasRequiredLatin = 1;
|
|
var set = regenerate$2.exports(0xAA, 0xBA, 0x2071, 0x207F, 0x2132, 0x214E, 0xA7D3);
|
|
set.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2B8).addRange(0x2E0, 0x2E4).addRange(0x1D00, 0x1D25).addRange(0x1D2C, 0x1D5C).addRange(0x1D62, 0x1D65).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1DBE).addRange(0x1E00, 0x1EFF).addRange(0x2090, 0x209C).addRange(0x212A, 0x212B).addRange(0x2160, 0x2188).addRange(0x2C60, 0x2C7F).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7FF).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB64).addRange(0xAB66, 0xAB69).addRange(0xFB00, 0xFB06).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A);
|
|
Latin.characters = set;
|
|
return Latin;
|
|
}
|
|
|
|
var Lepcha = {};
|
|
|
|
var hasRequiredLepcha;
|
|
function requireLepcha() {
|
|
if (hasRequiredLepcha) return Lepcha;
|
|
hasRequiredLepcha = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1C00, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C4F);
|
|
Lepcha.characters = set;
|
|
return Lepcha;
|
|
}
|
|
|
|
var Limbu = {};
|
|
|
|
var hasRequiredLimbu;
|
|
function requireLimbu() {
|
|
if (hasRequiredLimbu) return Limbu;
|
|
hasRequiredLimbu = 1;
|
|
var set = regenerate$2.exports(0x1940);
|
|
set.addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x194F);
|
|
Limbu.characters = set;
|
|
return Limbu;
|
|
}
|
|
|
|
var Linear_A = {};
|
|
|
|
var hasRequiredLinear_A;
|
|
function requireLinear_A() {
|
|
if (hasRequiredLinear_A) return Linear_A;
|
|
hasRequiredLinear_A = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);
|
|
Linear_A.characters = set;
|
|
return Linear_A;
|
|
}
|
|
|
|
var Linear_B = {};
|
|
|
|
var hasRequiredLinear_B;
|
|
function requireLinear_B() {
|
|
if (hasRequiredLinear_B) return Linear_B;
|
|
hasRequiredLinear_B = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA);
|
|
Linear_B.characters = set;
|
|
return Linear_B;
|
|
}
|
|
|
|
var Lisu = {};
|
|
|
|
var hasRequiredLisu;
|
|
function requireLisu() {
|
|
if (hasRequiredLisu) return Lisu;
|
|
hasRequiredLisu = 1;
|
|
var set = regenerate$2.exports(0x11FB0);
|
|
set.addRange(0xA4D0, 0xA4FF);
|
|
Lisu.characters = set;
|
|
return Lisu;
|
|
}
|
|
|
|
var Lycian = {};
|
|
|
|
var hasRequiredLycian;
|
|
function requireLycian() {
|
|
if (hasRequiredLycian) return Lycian;
|
|
hasRequiredLycian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10280, 0x1029C);
|
|
Lycian.characters = set;
|
|
return Lycian;
|
|
}
|
|
|
|
var Lydian = {};
|
|
|
|
var hasRequiredLydian;
|
|
function requireLydian() {
|
|
if (hasRequiredLydian) return Lydian;
|
|
hasRequiredLydian = 1;
|
|
var set = regenerate$2.exports(0x1093F);
|
|
set.addRange(0x10920, 0x10939);
|
|
Lydian.characters = set;
|
|
return Lydian;
|
|
}
|
|
|
|
var Mahajani = {};
|
|
|
|
var hasRequiredMahajani;
|
|
function requireMahajani() {
|
|
if (hasRequiredMahajani) return Mahajani;
|
|
hasRequiredMahajani = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11150, 0x11176);
|
|
Mahajani.characters = set;
|
|
return Mahajani;
|
|
}
|
|
|
|
var Makasar = {};
|
|
|
|
var hasRequiredMakasar;
|
|
function requireMakasar() {
|
|
if (hasRequiredMakasar) return Makasar;
|
|
hasRequiredMakasar = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11EE0, 0x11EF8);
|
|
Makasar.characters = set;
|
|
return Makasar;
|
|
}
|
|
|
|
var Malayalam = {};
|
|
|
|
var hasRequiredMalayalam;
|
|
function requireMalayalam() {
|
|
if (hasRequiredMalayalam) return Malayalam;
|
|
hasRequiredMalayalam = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F);
|
|
Malayalam.characters = set;
|
|
return Malayalam;
|
|
}
|
|
|
|
var Mandaic = {};
|
|
|
|
var hasRequiredMandaic;
|
|
function requireMandaic() {
|
|
if (hasRequiredMandaic) return Mandaic;
|
|
hasRequiredMandaic = 1;
|
|
var set = regenerate$2.exports(0x85E);
|
|
set.addRange(0x840, 0x85B);
|
|
Mandaic.characters = set;
|
|
return Mandaic;
|
|
}
|
|
|
|
var Manichaean = {};
|
|
|
|
var hasRequiredManichaean;
|
|
function requireManichaean() {
|
|
if (hasRequiredManichaean) return Manichaean;
|
|
hasRequiredManichaean = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6);
|
|
Manichaean.characters = set;
|
|
return Manichaean;
|
|
}
|
|
|
|
var Marchen = {};
|
|
|
|
var hasRequiredMarchen;
|
|
function requireMarchen() {
|
|
if (hasRequiredMarchen) return Marchen;
|
|
hasRequiredMarchen = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);
|
|
Marchen.characters = set;
|
|
return Marchen;
|
|
}
|
|
|
|
var Masaram_Gondi = {};
|
|
|
|
var hasRequiredMasaram_Gondi;
|
|
function requireMasaram_Gondi() {
|
|
if (hasRequiredMasaram_Gondi) return Masaram_Gondi;
|
|
hasRequiredMasaram_Gondi = 1;
|
|
var set = regenerate$2.exports(0x11D3A);
|
|
set.addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59);
|
|
Masaram_Gondi.characters = set;
|
|
return Masaram_Gondi;
|
|
}
|
|
|
|
var Medefaidrin = {};
|
|
|
|
var hasRequiredMedefaidrin;
|
|
function requireMedefaidrin() {
|
|
if (hasRequiredMedefaidrin) return Medefaidrin;
|
|
hasRequiredMedefaidrin = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16E40, 0x16E9A);
|
|
Medefaidrin.characters = set;
|
|
return Medefaidrin;
|
|
}
|
|
|
|
var Meetei_Mayek = {};
|
|
|
|
var hasRequiredMeetei_Mayek;
|
|
function requireMeetei_Mayek() {
|
|
if (hasRequiredMeetei_Mayek) return Meetei_Mayek;
|
|
hasRequiredMeetei_Mayek = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xAAE0, 0xAAF6).addRange(0xABC0, 0xABED).addRange(0xABF0, 0xABF9);
|
|
Meetei_Mayek.characters = set;
|
|
return Meetei_Mayek;
|
|
}
|
|
|
|
var Mende_Kikakui = {};
|
|
|
|
var hasRequiredMende_Kikakui;
|
|
function requireMende_Kikakui() {
|
|
if (hasRequiredMende_Kikakui) return Mende_Kikakui;
|
|
hasRequiredMende_Kikakui = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);
|
|
Mende_Kikakui.characters = set;
|
|
return Mende_Kikakui;
|
|
}
|
|
|
|
var Meroitic_Cursive = {};
|
|
|
|
var hasRequiredMeroitic_Cursive;
|
|
function requireMeroitic_Cursive() {
|
|
if (hasRequiredMeroitic_Cursive) return Meroitic_Cursive;
|
|
hasRequiredMeroitic_Cursive = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x109A0, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x109FF);
|
|
Meroitic_Cursive.characters = set;
|
|
return Meroitic_Cursive;
|
|
}
|
|
|
|
var Meroitic_Hieroglyphs = {};
|
|
|
|
var hasRequiredMeroitic_Hieroglyphs;
|
|
function requireMeroitic_Hieroglyphs() {
|
|
if (hasRequiredMeroitic_Hieroglyphs) return Meroitic_Hieroglyphs;
|
|
hasRequiredMeroitic_Hieroglyphs = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10980, 0x1099F);
|
|
Meroitic_Hieroglyphs.characters = set;
|
|
return Meroitic_Hieroglyphs;
|
|
}
|
|
|
|
var Miao = {};
|
|
|
|
var hasRequiredMiao;
|
|
function requireMiao() {
|
|
if (hasRequiredMiao) return Miao;
|
|
hasRequiredMiao = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F);
|
|
Miao.characters = set;
|
|
return Miao;
|
|
}
|
|
|
|
var Modi = {};
|
|
|
|
var hasRequiredModi;
|
|
function requireModi() {
|
|
if (hasRequiredModi) return Modi;
|
|
hasRequiredModi = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11600, 0x11644).addRange(0x11650, 0x11659);
|
|
Modi.characters = set;
|
|
return Modi;
|
|
}
|
|
|
|
var Mongolian = {};
|
|
|
|
var hasRequiredMongolian;
|
|
function requireMongolian() {
|
|
if (hasRequiredMongolian) return Mongolian;
|
|
hasRequiredMongolian = 1;
|
|
var set = regenerate$2.exports(0x1804);
|
|
set.addRange(0x1800, 0x1801).addRange(0x1806, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x11660, 0x1166C);
|
|
Mongolian.characters = set;
|
|
return Mongolian;
|
|
}
|
|
|
|
var Mro = {};
|
|
|
|
var hasRequiredMro;
|
|
function requireMro() {
|
|
if (hasRequiredMro) return Mro;
|
|
hasRequiredMro = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16A6F);
|
|
Mro.characters = set;
|
|
return Mro;
|
|
}
|
|
|
|
var Multani = {};
|
|
|
|
var hasRequiredMultani;
|
|
function requireMultani() {
|
|
if (hasRequiredMultani) return Multani;
|
|
hasRequiredMultani = 1;
|
|
var set = regenerate$2.exports(0x11288);
|
|
set.addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9);
|
|
Multani.characters = set;
|
|
return Multani;
|
|
}
|
|
|
|
var Myanmar = {};
|
|
|
|
var hasRequiredMyanmar;
|
|
function requireMyanmar() {
|
|
if (hasRequiredMyanmar) return Myanmar;
|
|
hasRequiredMyanmar = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1000, 0x109F).addRange(0xA9E0, 0xA9FE).addRange(0xAA60, 0xAA7F);
|
|
Myanmar.characters = set;
|
|
return Myanmar;
|
|
}
|
|
|
|
var Nabataean = {};
|
|
|
|
var hasRequiredNabataean;
|
|
function requireNabataean() {
|
|
if (hasRequiredNabataean) return Nabataean;
|
|
hasRequiredNabataean = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10880, 0x1089E).addRange(0x108A7, 0x108AF);
|
|
Nabataean.characters = set;
|
|
return Nabataean;
|
|
}
|
|
|
|
var Nag_Mundari = {};
|
|
|
|
var hasRequiredNag_Mundari;
|
|
function requireNag_Mundari() {
|
|
if (hasRequiredNag_Mundari) return Nag_Mundari;
|
|
hasRequiredNag_Mundari = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1E4D0, 0x1E4F9);
|
|
Nag_Mundari.characters = set;
|
|
return Nag_Mundari;
|
|
}
|
|
|
|
var Nandinagari = {};
|
|
|
|
var hasRequiredNandinagari;
|
|
function requireNandinagari() {
|
|
if (hasRequiredNandinagari) return Nandinagari;
|
|
hasRequiredNandinagari = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4);
|
|
Nandinagari.characters = set;
|
|
return Nandinagari;
|
|
}
|
|
|
|
var New_Tai_Lue = {};
|
|
|
|
var hasRequiredNew_Tai_Lue;
|
|
function requireNew_Tai_Lue() {
|
|
if (hasRequiredNew_Tai_Lue) return New_Tai_Lue;
|
|
hasRequiredNew_Tai_Lue = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x19DF);
|
|
New_Tai_Lue.characters = set;
|
|
return New_Tai_Lue;
|
|
}
|
|
|
|
var Newa = {};
|
|
|
|
var hasRequiredNewa;
|
|
function requireNewa() {
|
|
if (hasRequiredNewa) return Newa;
|
|
hasRequiredNewa = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461);
|
|
Newa.characters = set;
|
|
return Newa;
|
|
}
|
|
|
|
var Nko = {};
|
|
|
|
var hasRequiredNko;
|
|
function requireNko() {
|
|
if (hasRequiredNko) return Nko;
|
|
hasRequiredNko = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x7FF);
|
|
Nko.characters = set;
|
|
return Nko;
|
|
}
|
|
|
|
var Nushu = {};
|
|
|
|
var hasRequiredNushu;
|
|
function requireNushu() {
|
|
if (hasRequiredNushu) return Nushu;
|
|
hasRequiredNushu = 1;
|
|
var set = regenerate$2.exports(0x16FE1);
|
|
set.addRange(0x1B170, 0x1B2FB);
|
|
Nushu.characters = set;
|
|
return Nushu;
|
|
}
|
|
|
|
var Nyiakeng_Puachue_Hmong = {};
|
|
|
|
var hasRequiredNyiakeng_Puachue_Hmong;
|
|
function requireNyiakeng_Puachue_Hmong() {
|
|
if (hasRequiredNyiakeng_Puachue_Hmong) return Nyiakeng_Puachue_Hmong;
|
|
hasRequiredNyiakeng_Puachue_Hmong = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F);
|
|
Nyiakeng_Puachue_Hmong.characters = set;
|
|
return Nyiakeng_Puachue_Hmong;
|
|
}
|
|
|
|
var Ogham = {};
|
|
|
|
var hasRequiredOgham;
|
|
function requireOgham() {
|
|
if (hasRequiredOgham) return Ogham;
|
|
hasRequiredOgham = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1680, 0x169C);
|
|
Ogham.characters = set;
|
|
return Ogham;
|
|
}
|
|
|
|
var Ol_Chiki = {};
|
|
|
|
var hasRequiredOl_Chiki;
|
|
function requireOl_Chiki() {
|
|
if (hasRequiredOl_Chiki) return Ol_Chiki;
|
|
hasRequiredOl_Chiki = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1C50, 0x1C7F);
|
|
Ol_Chiki.characters = set;
|
|
return Ol_Chiki;
|
|
}
|
|
|
|
var Old_Hungarian = {};
|
|
|
|
var hasRequiredOld_Hungarian;
|
|
function requireOld_Hungarian() {
|
|
if (hasRequiredOld_Hungarian) return Old_Hungarian;
|
|
hasRequiredOld_Hungarian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10CFF);
|
|
Old_Hungarian.characters = set;
|
|
return Old_Hungarian;
|
|
}
|
|
|
|
var Old_Italic = {};
|
|
|
|
var hasRequiredOld_Italic;
|
|
function requireOld_Italic() {
|
|
if (hasRequiredOld_Italic) return Old_Italic;
|
|
hasRequiredOld_Italic = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10300, 0x10323).addRange(0x1032D, 0x1032F);
|
|
Old_Italic.characters = set;
|
|
return Old_Italic;
|
|
}
|
|
|
|
var Old_North_Arabian = {};
|
|
|
|
var hasRequiredOld_North_Arabian;
|
|
function requireOld_North_Arabian() {
|
|
if (hasRequiredOld_North_Arabian) return Old_North_Arabian;
|
|
hasRequiredOld_North_Arabian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10A80, 0x10A9F);
|
|
Old_North_Arabian.characters = set;
|
|
return Old_North_Arabian;
|
|
}
|
|
|
|
var Old_Permic = {};
|
|
|
|
var hasRequiredOld_Permic;
|
|
function requireOld_Permic() {
|
|
if (hasRequiredOld_Permic) return Old_Permic;
|
|
hasRequiredOld_Permic = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10350, 0x1037A);
|
|
Old_Permic.characters = set;
|
|
return Old_Permic;
|
|
}
|
|
|
|
var Old_Persian = {};
|
|
|
|
var hasRequiredOld_Persian;
|
|
function requireOld_Persian() {
|
|
if (hasRequiredOld_Persian) return Old_Persian;
|
|
hasRequiredOld_Persian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103D5);
|
|
Old_Persian.characters = set;
|
|
return Old_Persian;
|
|
}
|
|
|
|
var Old_Sogdian = {};
|
|
|
|
var hasRequiredOld_Sogdian;
|
|
function requireOld_Sogdian() {
|
|
if (hasRequiredOld_Sogdian) return Old_Sogdian;
|
|
hasRequiredOld_Sogdian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10F00, 0x10F27);
|
|
Old_Sogdian.characters = set;
|
|
return Old_Sogdian;
|
|
}
|
|
|
|
var Old_South_Arabian = {};
|
|
|
|
var hasRequiredOld_South_Arabian;
|
|
function requireOld_South_Arabian() {
|
|
if (hasRequiredOld_South_Arabian) return Old_South_Arabian;
|
|
hasRequiredOld_South_Arabian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10A60, 0x10A7F);
|
|
Old_South_Arabian.characters = set;
|
|
return Old_South_Arabian;
|
|
}
|
|
|
|
var Old_Turkic = {};
|
|
|
|
var hasRequiredOld_Turkic;
|
|
function requireOld_Turkic() {
|
|
if (hasRequiredOld_Turkic) return Old_Turkic;
|
|
hasRequiredOld_Turkic = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10C00, 0x10C48);
|
|
Old_Turkic.characters = set;
|
|
return Old_Turkic;
|
|
}
|
|
|
|
var Old_Uyghur = {};
|
|
|
|
var hasRequiredOld_Uyghur;
|
|
function requireOld_Uyghur() {
|
|
if (hasRequiredOld_Uyghur) return Old_Uyghur;
|
|
hasRequiredOld_Uyghur = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10F70, 0x10F89);
|
|
Old_Uyghur.characters = set;
|
|
return Old_Uyghur;
|
|
}
|
|
|
|
var Oriya = {};
|
|
|
|
var hasRequiredOriya;
|
|
function requireOriya() {
|
|
if (hasRequiredOriya) return Oriya;
|
|
hasRequiredOriya = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77);
|
|
Oriya.characters = set;
|
|
return Oriya;
|
|
}
|
|
|
|
var Osage = {};
|
|
|
|
var hasRequiredOsage;
|
|
function requireOsage() {
|
|
if (hasRequiredOsage) return Osage;
|
|
hasRequiredOsage = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB);
|
|
Osage.characters = set;
|
|
return Osage;
|
|
}
|
|
|
|
var Osmanya = {};
|
|
|
|
var hasRequiredOsmanya;
|
|
function requireOsmanya() {
|
|
if (hasRequiredOsmanya) return Osmanya;
|
|
hasRequiredOsmanya = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10480, 0x1049D).addRange(0x104A0, 0x104A9);
|
|
Osmanya.characters = set;
|
|
return Osmanya;
|
|
}
|
|
|
|
var Pahawh_Hmong = {};
|
|
|
|
var hasRequiredPahawh_Hmong;
|
|
function requirePahawh_Hmong() {
|
|
if (hasRequiredPahawh_Hmong) return Pahawh_Hmong;
|
|
hasRequiredPahawh_Hmong = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F);
|
|
Pahawh_Hmong.characters = set;
|
|
return Pahawh_Hmong;
|
|
}
|
|
|
|
var Palmyrene = {};
|
|
|
|
var hasRequiredPalmyrene;
|
|
function requirePalmyrene() {
|
|
if (hasRequiredPalmyrene) return Palmyrene;
|
|
hasRequiredPalmyrene = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10860, 0x1087F);
|
|
Palmyrene.characters = set;
|
|
return Palmyrene;
|
|
}
|
|
|
|
var Pau_Cin_Hau = {};
|
|
|
|
var hasRequiredPau_Cin_Hau;
|
|
function requirePau_Cin_Hau() {
|
|
if (hasRequiredPau_Cin_Hau) return Pau_Cin_Hau;
|
|
hasRequiredPau_Cin_Hau = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11AC0, 0x11AF8);
|
|
Pau_Cin_Hau.characters = set;
|
|
return Pau_Cin_Hau;
|
|
}
|
|
|
|
var Phags_Pa = {};
|
|
|
|
var hasRequiredPhags_Pa;
|
|
function requirePhags_Pa() {
|
|
if (hasRequiredPhags_Pa) return Phags_Pa;
|
|
hasRequiredPhags_Pa = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA840, 0xA877);
|
|
Phags_Pa.characters = set;
|
|
return Phags_Pa;
|
|
}
|
|
|
|
var Phoenician = {};
|
|
|
|
var hasRequiredPhoenician;
|
|
function requirePhoenician() {
|
|
if (hasRequiredPhoenician) return Phoenician;
|
|
hasRequiredPhoenician = 1;
|
|
var set = regenerate$2.exports(0x1091F);
|
|
set.addRange(0x10900, 0x1091B);
|
|
Phoenician.characters = set;
|
|
return Phoenician;
|
|
}
|
|
|
|
var Psalter_Pahlavi = {};
|
|
|
|
var hasRequiredPsalter_Pahlavi;
|
|
function requirePsalter_Pahlavi() {
|
|
if (hasRequiredPsalter_Pahlavi) return Psalter_Pahlavi;
|
|
hasRequiredPsalter_Pahlavi = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10B80, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF);
|
|
Psalter_Pahlavi.characters = set;
|
|
return Psalter_Pahlavi;
|
|
}
|
|
|
|
var Rejang = {};
|
|
|
|
var hasRequiredRejang;
|
|
function requireRejang() {
|
|
if (hasRequiredRejang) return Rejang;
|
|
hasRequiredRejang = 1;
|
|
var set = regenerate$2.exports(0xA95F);
|
|
set.addRange(0xA930, 0xA953);
|
|
Rejang.characters = set;
|
|
return Rejang;
|
|
}
|
|
|
|
var Runic = {};
|
|
|
|
var hasRequiredRunic;
|
|
function requireRunic() {
|
|
if (hasRequiredRunic) return Runic;
|
|
hasRequiredRunic = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8);
|
|
Runic.characters = set;
|
|
return Runic;
|
|
}
|
|
|
|
var Samaritan = {};
|
|
|
|
var hasRequiredSamaritan;
|
|
function requireSamaritan() {
|
|
if (hasRequiredSamaritan) return Samaritan;
|
|
hasRequiredSamaritan = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x800, 0x82D).addRange(0x830, 0x83E);
|
|
Samaritan.characters = set;
|
|
return Samaritan;
|
|
}
|
|
|
|
var Saurashtra = {};
|
|
|
|
var hasRequiredSaurashtra;
|
|
function requireSaurashtra() {
|
|
if (hasRequiredSaurashtra) return Saurashtra;
|
|
hasRequiredSaurashtra = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9);
|
|
Saurashtra.characters = set;
|
|
return Saurashtra;
|
|
}
|
|
|
|
var Sharada = {};
|
|
|
|
var hasRequiredSharada;
|
|
function requireSharada() {
|
|
if (hasRequiredSharada) return Sharada;
|
|
hasRequiredSharada = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11180, 0x111DF);
|
|
Sharada.characters = set;
|
|
return Sharada;
|
|
}
|
|
|
|
var Shavian = {};
|
|
|
|
var hasRequiredShavian;
|
|
function requireShavian() {
|
|
if (hasRequiredShavian) return Shavian;
|
|
hasRequiredShavian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10450, 0x1047F);
|
|
Shavian.characters = set;
|
|
return Shavian;
|
|
}
|
|
|
|
var Siddham = {};
|
|
|
|
var hasRequiredSiddham;
|
|
function requireSiddham() {
|
|
if (hasRequiredSiddham) return Siddham;
|
|
hasRequiredSiddham = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD);
|
|
Siddham.characters = set;
|
|
return Siddham;
|
|
}
|
|
|
|
var SignWriting = {};
|
|
|
|
var hasRequiredSignWriting;
|
|
function requireSignWriting() {
|
|
if (hasRequiredSignWriting) return SignWriting;
|
|
hasRequiredSignWriting = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1D800, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF);
|
|
SignWriting.characters = set;
|
|
return SignWriting;
|
|
}
|
|
|
|
var Sinhala = {};
|
|
|
|
var hasRequiredSinhala;
|
|
function requireSinhala() {
|
|
if (hasRequiredSinhala) return Sinhala;
|
|
hasRequiredSinhala = 1;
|
|
var set = regenerate$2.exports(0xDBD, 0xDCA, 0xDD6);
|
|
set.addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0x111E1, 0x111F4);
|
|
Sinhala.characters = set;
|
|
return Sinhala;
|
|
}
|
|
|
|
var Sogdian = {};
|
|
|
|
var hasRequiredSogdian;
|
|
function requireSogdian() {
|
|
if (hasRequiredSogdian) return Sogdian;
|
|
hasRequiredSogdian = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10F30, 0x10F59);
|
|
Sogdian.characters = set;
|
|
return Sogdian;
|
|
}
|
|
|
|
var Sora_Sompeng = {};
|
|
|
|
var hasRequiredSora_Sompeng;
|
|
function requireSora_Sompeng() {
|
|
if (hasRequiredSora_Sompeng) return Sora_Sompeng;
|
|
hasRequiredSora_Sompeng = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9);
|
|
Sora_Sompeng.characters = set;
|
|
return Sora_Sompeng;
|
|
}
|
|
|
|
var Soyombo = {};
|
|
|
|
var hasRequiredSoyombo;
|
|
function requireSoyombo() {
|
|
if (hasRequiredSoyombo) return Soyombo;
|
|
hasRequiredSoyombo = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11A50, 0x11AA2);
|
|
Soyombo.characters = set;
|
|
return Soyombo;
|
|
}
|
|
|
|
var Sundanese = {};
|
|
|
|
var hasRequiredSundanese;
|
|
function requireSundanese() {
|
|
if (hasRequiredSundanese) return Sundanese;
|
|
hasRequiredSundanese = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1B80, 0x1BBF).addRange(0x1CC0, 0x1CC7);
|
|
Sundanese.characters = set;
|
|
return Sundanese;
|
|
}
|
|
|
|
var Syloti_Nagri = {};
|
|
|
|
var hasRequiredSyloti_Nagri;
|
|
function requireSyloti_Nagri() {
|
|
if (hasRequiredSyloti_Nagri) return Syloti_Nagri;
|
|
hasRequiredSyloti_Nagri = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA800, 0xA82C);
|
|
Syloti_Nagri.characters = set;
|
|
return Syloti_Nagri;
|
|
}
|
|
|
|
var Syriac = {};
|
|
|
|
var hasRequiredSyriac;
|
|
function requireSyriac() {
|
|
if (hasRequiredSyriac) return Syriac;
|
|
hasRequiredSyriac = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x700, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x74F).addRange(0x860, 0x86A);
|
|
Syriac.characters = set;
|
|
return Syriac;
|
|
}
|
|
|
|
var Tagalog = {};
|
|
|
|
var hasRequiredTagalog;
|
|
function requireTagalog() {
|
|
if (hasRequiredTagalog) return Tagalog;
|
|
hasRequiredTagalog = 1;
|
|
var set = regenerate$2.exports(0x171F);
|
|
set.addRange(0x1700, 0x1715);
|
|
Tagalog.characters = set;
|
|
return Tagalog;
|
|
}
|
|
|
|
var Tagbanwa = {};
|
|
|
|
var hasRequiredTagbanwa;
|
|
function requireTagbanwa() {
|
|
if (hasRequiredTagbanwa) return Tagbanwa;
|
|
hasRequiredTagbanwa = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773);
|
|
Tagbanwa.characters = set;
|
|
return Tagbanwa;
|
|
}
|
|
|
|
var Tai_Le = {};
|
|
|
|
var hasRequiredTai_Le;
|
|
function requireTai_Le() {
|
|
if (hasRequiredTai_Le) return Tai_Le;
|
|
hasRequiredTai_Le = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1950, 0x196D).addRange(0x1970, 0x1974);
|
|
Tai_Le.characters = set;
|
|
return Tai_Le;
|
|
}
|
|
|
|
var Tai_Tham = {};
|
|
|
|
var hasRequiredTai_Tham;
|
|
function requireTai_Tham() {
|
|
if (hasRequiredTai_Tham) return Tai_Tham;
|
|
hasRequiredTai_Tham = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD);
|
|
Tai_Tham.characters = set;
|
|
return Tai_Tham;
|
|
}
|
|
|
|
var Tai_Viet = {};
|
|
|
|
var hasRequiredTai_Viet;
|
|
function requireTai_Viet() {
|
|
if (hasRequiredTai_Viet) return Tai_Viet;
|
|
hasRequiredTai_Viet = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xAA80, 0xAAC2).addRange(0xAADB, 0xAADF);
|
|
Tai_Viet.characters = set;
|
|
return Tai_Viet;
|
|
}
|
|
|
|
var Takri = {};
|
|
|
|
var hasRequiredTakri;
|
|
function requireTakri() {
|
|
if (hasRequiredTakri) return Takri;
|
|
hasRequiredTakri = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9);
|
|
Takri.characters = set;
|
|
return Takri;
|
|
}
|
|
|
|
var Tamil = {};
|
|
|
|
var hasRequiredTamil;
|
|
function requireTamil() {
|
|
if (hasRequiredTamil) return Tamil;
|
|
hasRequiredTamil = 1;
|
|
var set = regenerate$2.exports(0xB9C, 0xBD0, 0xBD7, 0x11FFF);
|
|
set.addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0x11FC0, 0x11FF1);
|
|
Tamil.characters = set;
|
|
return Tamil;
|
|
}
|
|
|
|
var Tangsa = {};
|
|
|
|
var hasRequiredTangsa;
|
|
function requireTangsa() {
|
|
if (hasRequiredTangsa) return Tangsa;
|
|
hasRequiredTangsa = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9);
|
|
Tangsa.characters = set;
|
|
return Tangsa;
|
|
}
|
|
|
|
var Tangut = {};
|
|
|
|
var hasRequiredTangut;
|
|
function requireTangut() {
|
|
if (hasRequiredTangut) return Tangut;
|
|
hasRequiredTangut = 1;
|
|
var set = regenerate$2.exports(0x16FE0);
|
|
set.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18AFF).addRange(0x18D00, 0x18D08);
|
|
Tangut.characters = set;
|
|
return Tangut;
|
|
}
|
|
|
|
var Telugu = {};
|
|
|
|
var hasRequiredTelugu;
|
|
function requireTelugu() {
|
|
if (hasRequiredTelugu) return Telugu;
|
|
hasRequiredTelugu = 1;
|
|
var set = regenerate$2.exports(0xC5D);
|
|
set.addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC7F);
|
|
Telugu.characters = set;
|
|
return Telugu;
|
|
}
|
|
|
|
var Thaana = {};
|
|
|
|
var hasRequiredThaana;
|
|
function requireThaana() {
|
|
if (hasRequiredThaana) return Thaana;
|
|
hasRequiredThaana = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x780, 0x7B1);
|
|
Thaana.characters = set;
|
|
return Thaana;
|
|
}
|
|
|
|
var Thai = {};
|
|
|
|
var hasRequiredThai;
|
|
function requireThai() {
|
|
if (hasRequiredThai) return Thai;
|
|
hasRequiredThai = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xE01, 0xE3A).addRange(0xE40, 0xE5B);
|
|
Thai.characters = set;
|
|
return Thai;
|
|
}
|
|
|
|
var Tibetan = {};
|
|
|
|
var hasRequiredTibetan;
|
|
function requireTibetan() {
|
|
if (hasRequiredTibetan) return Tibetan;
|
|
hasRequiredTibetan = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFD4).addRange(0xFD9, 0xFDA);
|
|
Tibetan.characters = set;
|
|
return Tibetan;
|
|
}
|
|
|
|
var Tifinagh = {};
|
|
|
|
var hasRequiredTifinagh;
|
|
function requireTifinagh() {
|
|
if (hasRequiredTifinagh) return Tifinagh;
|
|
hasRequiredTifinagh = 1;
|
|
var set = regenerate$2.exports(0x2D7F);
|
|
set.addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70);
|
|
Tifinagh.characters = set;
|
|
return Tifinagh;
|
|
}
|
|
|
|
var Tirhuta = {};
|
|
|
|
var hasRequiredTirhuta;
|
|
function requireTirhuta() {
|
|
if (hasRequiredTirhuta) return Tirhuta;
|
|
hasRequiredTirhuta = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9);
|
|
Tirhuta.characters = set;
|
|
return Tirhuta;
|
|
}
|
|
|
|
var Toto = {};
|
|
|
|
var hasRequiredToto;
|
|
function requireToto() {
|
|
if (hasRequiredToto) return Toto;
|
|
hasRequiredToto = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x1E290, 0x1E2AE);
|
|
Toto.characters = set;
|
|
return Toto;
|
|
}
|
|
|
|
var Ugaritic = {};
|
|
|
|
var hasRequiredUgaritic;
|
|
function requireUgaritic() {
|
|
if (hasRequiredUgaritic) return Ugaritic;
|
|
hasRequiredUgaritic = 1;
|
|
var set = regenerate$2.exports(0x1039F);
|
|
set.addRange(0x10380, 0x1039D);
|
|
Ugaritic.characters = set;
|
|
return Ugaritic;
|
|
}
|
|
|
|
var Vai = {};
|
|
|
|
var hasRequiredVai;
|
|
function requireVai() {
|
|
if (hasRequiredVai) return Vai;
|
|
hasRequiredVai = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA500, 0xA62B);
|
|
Vai.characters = set;
|
|
return Vai;
|
|
}
|
|
|
|
var Vithkuqi = {};
|
|
|
|
var hasRequiredVithkuqi;
|
|
function requireVithkuqi() {
|
|
if (hasRequiredVithkuqi) return Vithkuqi;
|
|
hasRequiredVithkuqi = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC);
|
|
Vithkuqi.characters = set;
|
|
return Vithkuqi;
|
|
}
|
|
|
|
var Wancho = {};
|
|
|
|
var hasRequiredWancho;
|
|
function requireWancho() {
|
|
if (hasRequiredWancho) return Wancho;
|
|
hasRequiredWancho = 1;
|
|
var set = regenerate$2.exports(0x1E2FF);
|
|
set.addRange(0x1E2C0, 0x1E2F9);
|
|
Wancho.characters = set;
|
|
return Wancho;
|
|
}
|
|
|
|
var Warang_Citi = {};
|
|
|
|
var hasRequiredWarang_Citi;
|
|
function requireWarang_Citi() {
|
|
if (hasRequiredWarang_Citi) return Warang_Citi;
|
|
hasRequiredWarang_Citi = 1;
|
|
var set = regenerate$2.exports(0x118FF);
|
|
set.addRange(0x118A0, 0x118F2);
|
|
Warang_Citi.characters = set;
|
|
return Warang_Citi;
|
|
}
|
|
|
|
var Yezidi = {};
|
|
|
|
var hasRequiredYezidi;
|
|
function requireYezidi() {
|
|
if (hasRequiredYezidi) return Yezidi;
|
|
hasRequiredYezidi = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1);
|
|
Yezidi.characters = set;
|
|
return Yezidi;
|
|
}
|
|
|
|
var Yi = {};
|
|
|
|
var hasRequiredYi;
|
|
function requireYi() {
|
|
if (hasRequiredYi) return Yi;
|
|
hasRequiredYi = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0xA000, 0xA48C).addRange(0xA490, 0xA4C6);
|
|
Yi.characters = set;
|
|
return Yi;
|
|
}
|
|
|
|
var Zanabazar_Square = {};
|
|
|
|
var hasRequiredZanabazar_Square;
|
|
function requireZanabazar_Square() {
|
|
if (hasRequiredZanabazar_Square) return Zanabazar_Square;
|
|
hasRequiredZanabazar_Square = 1;
|
|
var set = regenerate$2.exports();
|
|
set.addRange(0x11A00, 0x11A47);
|
|
Zanabazar_Square.characters = set;
|
|
return Zanabazar_Square;
|
|
}
|
|
|
|
var unicodeVersion;
|
|
var hasRequiredUnicodeVersion;
|
|
function requireUnicodeVersion() {
|
|
if (hasRequiredUnicodeVersion) return unicodeVersion;
|
|
hasRequiredUnicodeVersion = 1;
|
|
unicodeVersion = '15.0.0';
|
|
return unicodeVersion;
|
|
}
|
|
|
|
var dynamicModules;
|
|
|
|
function getDynamicModules() {
|
|
return dynamicModules || (dynamicModules = {
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Alphabetic.js": requireAlphabetic,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Any.js": requireAny,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/ASCII_Hex_Digit.js": requireASCII_Hex_Digit,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/ASCII.js": requireASCII,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Assigned.js": requireAssigned,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Bidi_Control.js": requireBidi_Control,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Bidi_Mirrored.js": requireBidi_Mirrored,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Case_Ignorable.js": requireCase_Ignorable,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Cased.js": requireCased,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Casefolded.js": requireChanges_When_Casefolded,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Casemapped.js": requireChanges_When_Casemapped,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Lowercased.js": requireChanges_When_Lowercased,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_NFKC_Casefolded.js": requireChanges_When_NFKC_Casefolded,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Titlecased.js": requireChanges_When_Titlecased,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Uppercased.js": requireChanges_When_Uppercased,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Dash.js": requireDash,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Default_Ignorable_Code_Point.js": requireDefault_Ignorable_Code_Point,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Deprecated.js": requireDeprecated,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Diacritic.js": requireDiacritic,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Component.js": requireEmoji_Component,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Modifier_Base.js": requireEmoji_Modifier_Base,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Modifier.js": requireEmoji_Modifier,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Presentation.js": requireEmoji_Presentation,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Emoji.js": requireEmoji,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Extended_Pictographic.js": requireExtended_Pictographic,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Extender.js": requireExtender,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Grapheme_Base.js": requireGrapheme_Base,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Grapheme_Extend.js": requireGrapheme_Extend,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Hex_Digit.js": requireHex_Digit,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/ID_Continue.js": requireID_Continue,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/ID_Start.js": requireID_Start,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Ideographic.js": requireIdeographic,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/IDS_Binary_Operator.js": requireIDS_Binary_Operator,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/IDS_Trinary_Operator.js": requireIDS_Trinary_Operator,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Join_Control.js": requireJoin_Control,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Logical_Order_Exception.js": requireLogical_Order_Exception,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Lowercase.js": requireLowercase,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Math.js": require_Math,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Noncharacter_Code_Point.js": requireNoncharacter_Code_Point,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Pattern_Syntax.js": requirePattern_Syntax,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Pattern_White_Space.js": requirePattern_White_Space,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Quotation_Mark.js": requireQuotation_Mark,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Radical.js": requireRadical,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Regional_Indicator.js": requireRegional_Indicator,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Sentence_Terminal.js": requireSentence_Terminal,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Soft_Dotted.js": requireSoft_Dotted,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Terminal_Punctuation.js": requireTerminal_Punctuation,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Unified_Ideograph.js": requireUnified_Ideograph,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Uppercase.js": requireUppercase,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/Variation_Selector.js": requireVariation_Selector,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/White_Space.js": requireWhite_Space,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/XID_Continue.js": requireXID_Continue,
|
|
"/node_modules/regenerate-unicode-properties/Binary_Property/XID_Start.js": requireXID_Start,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Cased_Letter.js": requireCased_Letter,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Close_Punctuation.js": requireClose_Punctuation,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Connector_Punctuation.js": requireConnector_Punctuation,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Control.js": requireControl,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Currency_Symbol.js": requireCurrency_Symbol,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Dash_Punctuation.js": requireDash_Punctuation,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Decimal_Number.js": requireDecimal_Number,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Enclosing_Mark.js": requireEnclosing_Mark,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Final_Punctuation.js": requireFinal_Punctuation,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Format.js": requireFormat,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Initial_Punctuation.js": requireInitial_Punctuation,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Letter_Number.js": requireLetter_Number,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Letter.js": requireLetter,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Line_Separator.js": requireLine_Separator,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Lowercase_Letter.js": requireLowercase_Letter,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Mark.js": requireMark,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Math_Symbol.js": requireMath_Symbol,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Modifier_Letter.js": requireModifier_Letter,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Modifier_Symbol.js": requireModifier_Symbol,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Nonspacing_Mark.js": requireNonspacing_Mark,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Number.js": require_Number,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Open_Punctuation.js": requireOpen_Punctuation,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Other_Letter.js": requireOther_Letter,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Other_Number.js": requireOther_Number,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Other_Punctuation.js": requireOther_Punctuation,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Other_Symbol.js": requireOther_Symbol,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Other.js": requireOther,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Paragraph_Separator.js": requireParagraph_Separator,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Private_Use.js": requirePrivate_Use,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Punctuation.js": requirePunctuation,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Separator.js": requireSeparator,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Space_Separator.js": requireSpace_Separator,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Spacing_Mark.js": requireSpacing_Mark,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Surrogate.js": requireSurrogate,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Symbol.js": require_Symbol,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Titlecase_Letter.js": requireTitlecase_Letter,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Unassigned.js": requireUnassigned,
|
|
"/node_modules/regenerate-unicode-properties/General_Category/Uppercase_Letter.js": requireUppercase_Letter,
|
|
"/node_modules/regenerate-unicode-properties/index.js": requireRegenerateUnicodeProperties,
|
|
"/node_modules/regenerate-unicode-properties/Property_of_Strings/Basic_Emoji.js": requireBasic_Emoji,
|
|
"/node_modules/regenerate-unicode-properties/Property_of_Strings/Emoji_Keycap_Sequence.js": requireEmoji_Keycap_Sequence,
|
|
"/node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_Flag_Sequence.js": requireRGI_Emoji_Flag_Sequence,
|
|
"/node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_Modifier_Sequence.js": requireRGI_Emoji_Modifier_Sequence,
|
|
"/node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_Tag_Sequence.js": requireRGI_Emoji_Tag_Sequence,
|
|
"/node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_ZWJ_Sequence.js": requireRGI_Emoji_ZWJ_Sequence,
|
|
"/node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji.js": requireRGI_Emoji,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Adlam.js": requireAdlam$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Ahom.js": requireAhom$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Anatolian_Hieroglyphs.js": requireAnatolian_Hieroglyphs$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Arabic.js": requireArabic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Armenian.js": requireArmenian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Avestan.js": requireAvestan$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Balinese.js": requireBalinese$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Bamum.js": requireBamum$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Bassa_Vah.js": requireBassa_Vah$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Batak.js": requireBatak$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Bengali.js": requireBengali$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Bhaiksuki.js": requireBhaiksuki$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Bopomofo.js": requireBopomofo$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Brahmi.js": requireBrahmi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Braille.js": requireBraille$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Buginese.js": requireBuginese$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Buhid.js": requireBuhid$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Canadian_Aboriginal.js": requireCanadian_Aboriginal$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Carian.js": requireCarian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Caucasian_Albanian.js": requireCaucasian_Albanian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Chakma.js": requireChakma$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Cham.js": requireCham$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Cherokee.js": requireCherokee$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Chorasmian.js": requireChorasmian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Common.js": requireCommon$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Coptic.js": requireCoptic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Cuneiform.js": requireCuneiform$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Cypriot.js": requireCypriot$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Cypro_Minoan.js": requireCypro_Minoan$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Cyrillic.js": requireCyrillic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Deseret.js": requireDeseret$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Devanagari.js": requireDevanagari$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Dives_Akuru.js": requireDives_Akuru$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Dogra.js": requireDogra$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Duployan.js": requireDuployan$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Egyptian_Hieroglyphs.js": requireEgyptian_Hieroglyphs$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Elbasan.js": requireElbasan$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Elymaic.js": requireElymaic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Ethiopic.js": requireEthiopic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Georgian.js": requireGeorgian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Glagolitic.js": requireGlagolitic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Gothic.js": requireGothic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Grantha.js": requireGrantha$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Greek.js": requireGreek$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Gujarati.js": requireGujarati$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Gunjala_Gondi.js": requireGunjala_Gondi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Gurmukhi.js": requireGurmukhi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Han.js": requireHan$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Hangul.js": requireHangul$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Hanifi_Rohingya.js": requireHanifi_Rohingya$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Hanunoo.js": requireHanunoo$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Hatran.js": requireHatran$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Hebrew.js": requireHebrew$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Hiragana.js": requireHiragana$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Imperial_Aramaic.js": requireImperial_Aramaic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Inherited.js": requireInherited$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Inscriptional_Pahlavi.js": requireInscriptional_Pahlavi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Inscriptional_Parthian.js": requireInscriptional_Parthian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Javanese.js": requireJavanese$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Kaithi.js": requireKaithi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Kannada.js": requireKannada$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Katakana.js": requireKatakana$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Kawi.js": requireKawi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Kayah_Li.js": requireKayah_Li$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Kharoshthi.js": requireKharoshthi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Khitan_Small_Script.js": requireKhitan_Small_Script$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Khmer.js": requireKhmer$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Khojki.js": requireKhojki$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Khudawadi.js": requireKhudawadi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Lao.js": requireLao$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Latin.js": requireLatin$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Lepcha.js": requireLepcha$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Limbu.js": requireLimbu$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Linear_A.js": requireLinear_A$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Linear_B.js": requireLinear_B$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Lisu.js": requireLisu$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Lycian.js": requireLycian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Lydian.js": requireLydian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Mahajani.js": requireMahajani$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Makasar.js": requireMakasar$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Malayalam.js": requireMalayalam$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Mandaic.js": requireMandaic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Manichaean.js": requireManichaean$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Marchen.js": requireMarchen$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Masaram_Gondi.js": requireMasaram_Gondi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Medefaidrin.js": requireMedefaidrin$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Meetei_Mayek.js": requireMeetei_Mayek$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Mende_Kikakui.js": requireMende_Kikakui$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Meroitic_Cursive.js": requireMeroitic_Cursive$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Meroitic_Hieroglyphs.js": requireMeroitic_Hieroglyphs$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Miao.js": requireMiao$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Modi.js": requireModi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Mongolian.js": requireMongolian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Mro.js": requireMro$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Multani.js": requireMultani$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Myanmar.js": requireMyanmar$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Nabataean.js": requireNabataean$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Nag_Mundari.js": requireNag_Mundari$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Nandinagari.js": requireNandinagari$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/New_Tai_Lue.js": requireNew_Tai_Lue$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Newa.js": requireNewa$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Nko.js": requireNko$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Nushu.js": requireNushu$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Nyiakeng_Puachue_Hmong.js": requireNyiakeng_Puachue_Hmong$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Ogham.js": requireOgham$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Ol_Chiki.js": requireOl_Chiki$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Hungarian.js": requireOld_Hungarian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Italic.js": requireOld_Italic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_North_Arabian.js": requireOld_North_Arabian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Permic.js": requireOld_Permic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Persian.js": requireOld_Persian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Sogdian.js": requireOld_Sogdian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_South_Arabian.js": requireOld_South_Arabian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Turkic.js": requireOld_Turkic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Uyghur.js": requireOld_Uyghur$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Oriya.js": requireOriya$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Osage.js": requireOsage$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Osmanya.js": requireOsmanya$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Pahawh_Hmong.js": requirePahawh_Hmong$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Palmyrene.js": requirePalmyrene$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Pau_Cin_Hau.js": requirePau_Cin_Hau$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Phags_Pa.js": requirePhags_Pa$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Phoenician.js": requirePhoenician$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Psalter_Pahlavi.js": requirePsalter_Pahlavi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Rejang.js": requireRejang$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Runic.js": requireRunic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Samaritan.js": requireSamaritan$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Saurashtra.js": requireSaurashtra$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Sharada.js": requireSharada$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Shavian.js": requireShavian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Siddham.js": requireSiddham$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/SignWriting.js": requireSignWriting$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Sinhala.js": requireSinhala$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Sogdian.js": requireSogdian$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Sora_Sompeng.js": requireSora_Sompeng$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Soyombo.js": requireSoyombo$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Sundanese.js": requireSundanese$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Syloti_Nagri.js": requireSyloti_Nagri$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Syriac.js": requireSyriac$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tagalog.js": requireTagalog$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tagbanwa.js": requireTagbanwa$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Le.js": requireTai_Le$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Tham.js": requireTai_Tham$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Viet.js": requireTai_Viet$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Takri.js": requireTakri$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tamil.js": requireTamil$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tangsa.js": requireTangsa$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tangut.js": requireTangut$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Telugu.js": requireTelugu$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Thaana.js": requireThaana$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Thai.js": requireThai$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tibetan.js": requireTibetan$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tifinagh.js": requireTifinagh$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Tirhuta.js": requireTirhuta$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Toto.js": requireToto$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Ugaritic.js": requireUgaritic$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Vai.js": requireVai$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Vithkuqi.js": requireVithkuqi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Wancho.js": requireWancho$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Warang_Citi.js": requireWarang_Citi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Yezidi.js": requireYezidi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Yi.js": requireYi$1,
|
|
"/node_modules/regenerate-unicode-properties/Script_Extensions/Zanabazar_Square.js": requireZanabazar_Square$1,
|
|
"/node_modules/regenerate-unicode-properties/Script/Adlam.js": requireAdlam,
|
|
"/node_modules/regenerate-unicode-properties/Script/Ahom.js": requireAhom,
|
|
"/node_modules/regenerate-unicode-properties/Script/Anatolian_Hieroglyphs.js": requireAnatolian_Hieroglyphs,
|
|
"/node_modules/regenerate-unicode-properties/Script/Arabic.js": requireArabic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Armenian.js": requireArmenian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Avestan.js": requireAvestan,
|
|
"/node_modules/regenerate-unicode-properties/Script/Balinese.js": requireBalinese,
|
|
"/node_modules/regenerate-unicode-properties/Script/Bamum.js": requireBamum,
|
|
"/node_modules/regenerate-unicode-properties/Script/Bassa_Vah.js": requireBassa_Vah,
|
|
"/node_modules/regenerate-unicode-properties/Script/Batak.js": requireBatak,
|
|
"/node_modules/regenerate-unicode-properties/Script/Bengali.js": requireBengali,
|
|
"/node_modules/regenerate-unicode-properties/Script/Bhaiksuki.js": requireBhaiksuki,
|
|
"/node_modules/regenerate-unicode-properties/Script/Bopomofo.js": requireBopomofo,
|
|
"/node_modules/regenerate-unicode-properties/Script/Brahmi.js": requireBrahmi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Braille.js": requireBraille,
|
|
"/node_modules/regenerate-unicode-properties/Script/Buginese.js": requireBuginese,
|
|
"/node_modules/regenerate-unicode-properties/Script/Buhid.js": requireBuhid,
|
|
"/node_modules/regenerate-unicode-properties/Script/Canadian_Aboriginal.js": requireCanadian_Aboriginal,
|
|
"/node_modules/regenerate-unicode-properties/Script/Carian.js": requireCarian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Caucasian_Albanian.js": requireCaucasian_Albanian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Chakma.js": requireChakma,
|
|
"/node_modules/regenerate-unicode-properties/Script/Cham.js": requireCham,
|
|
"/node_modules/regenerate-unicode-properties/Script/Cherokee.js": requireCherokee,
|
|
"/node_modules/regenerate-unicode-properties/Script/Chorasmian.js": requireChorasmian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Common.js": requireCommon,
|
|
"/node_modules/regenerate-unicode-properties/Script/Coptic.js": requireCoptic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Cuneiform.js": requireCuneiform,
|
|
"/node_modules/regenerate-unicode-properties/Script/Cypriot.js": requireCypriot,
|
|
"/node_modules/regenerate-unicode-properties/Script/Cypro_Minoan.js": requireCypro_Minoan,
|
|
"/node_modules/regenerate-unicode-properties/Script/Cyrillic.js": requireCyrillic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Deseret.js": requireDeseret,
|
|
"/node_modules/regenerate-unicode-properties/Script/Devanagari.js": requireDevanagari,
|
|
"/node_modules/regenerate-unicode-properties/Script/Dives_Akuru.js": requireDives_Akuru,
|
|
"/node_modules/regenerate-unicode-properties/Script/Dogra.js": requireDogra,
|
|
"/node_modules/regenerate-unicode-properties/Script/Duployan.js": requireDuployan,
|
|
"/node_modules/regenerate-unicode-properties/Script/Egyptian_Hieroglyphs.js": requireEgyptian_Hieroglyphs,
|
|
"/node_modules/regenerate-unicode-properties/Script/Elbasan.js": requireElbasan,
|
|
"/node_modules/regenerate-unicode-properties/Script/Elymaic.js": requireElymaic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Ethiopic.js": requireEthiopic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Georgian.js": requireGeorgian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Glagolitic.js": requireGlagolitic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Gothic.js": requireGothic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Grantha.js": requireGrantha,
|
|
"/node_modules/regenerate-unicode-properties/Script/Greek.js": requireGreek,
|
|
"/node_modules/regenerate-unicode-properties/Script/Gujarati.js": requireGujarati,
|
|
"/node_modules/regenerate-unicode-properties/Script/Gunjala_Gondi.js": requireGunjala_Gondi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Gurmukhi.js": requireGurmukhi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Han.js": requireHan,
|
|
"/node_modules/regenerate-unicode-properties/Script/Hangul.js": requireHangul,
|
|
"/node_modules/regenerate-unicode-properties/Script/Hanifi_Rohingya.js": requireHanifi_Rohingya,
|
|
"/node_modules/regenerate-unicode-properties/Script/Hanunoo.js": requireHanunoo,
|
|
"/node_modules/regenerate-unicode-properties/Script/Hatran.js": requireHatran,
|
|
"/node_modules/regenerate-unicode-properties/Script/Hebrew.js": requireHebrew,
|
|
"/node_modules/regenerate-unicode-properties/Script/Hiragana.js": requireHiragana,
|
|
"/node_modules/regenerate-unicode-properties/Script/Imperial_Aramaic.js": requireImperial_Aramaic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Inherited.js": requireInherited,
|
|
"/node_modules/regenerate-unicode-properties/Script/Inscriptional_Pahlavi.js": requireInscriptional_Pahlavi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Inscriptional_Parthian.js": requireInscriptional_Parthian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Javanese.js": requireJavanese,
|
|
"/node_modules/regenerate-unicode-properties/Script/Kaithi.js": requireKaithi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Kannada.js": requireKannada,
|
|
"/node_modules/regenerate-unicode-properties/Script/Katakana.js": requireKatakana,
|
|
"/node_modules/regenerate-unicode-properties/Script/Kawi.js": requireKawi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Kayah_Li.js": requireKayah_Li,
|
|
"/node_modules/regenerate-unicode-properties/Script/Kharoshthi.js": requireKharoshthi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Khitan_Small_Script.js": requireKhitan_Small_Script,
|
|
"/node_modules/regenerate-unicode-properties/Script/Khmer.js": requireKhmer,
|
|
"/node_modules/regenerate-unicode-properties/Script/Khojki.js": requireKhojki,
|
|
"/node_modules/regenerate-unicode-properties/Script/Khudawadi.js": requireKhudawadi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Lao.js": requireLao,
|
|
"/node_modules/regenerate-unicode-properties/Script/Latin.js": requireLatin,
|
|
"/node_modules/regenerate-unicode-properties/Script/Lepcha.js": requireLepcha,
|
|
"/node_modules/regenerate-unicode-properties/Script/Limbu.js": requireLimbu,
|
|
"/node_modules/regenerate-unicode-properties/Script/Linear_A.js": requireLinear_A,
|
|
"/node_modules/regenerate-unicode-properties/Script/Linear_B.js": requireLinear_B,
|
|
"/node_modules/regenerate-unicode-properties/Script/Lisu.js": requireLisu,
|
|
"/node_modules/regenerate-unicode-properties/Script/Lycian.js": requireLycian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Lydian.js": requireLydian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Mahajani.js": requireMahajani,
|
|
"/node_modules/regenerate-unicode-properties/Script/Makasar.js": requireMakasar,
|
|
"/node_modules/regenerate-unicode-properties/Script/Malayalam.js": requireMalayalam,
|
|
"/node_modules/regenerate-unicode-properties/Script/Mandaic.js": requireMandaic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Manichaean.js": requireManichaean,
|
|
"/node_modules/regenerate-unicode-properties/Script/Marchen.js": requireMarchen,
|
|
"/node_modules/regenerate-unicode-properties/Script/Masaram_Gondi.js": requireMasaram_Gondi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Medefaidrin.js": requireMedefaidrin,
|
|
"/node_modules/regenerate-unicode-properties/Script/Meetei_Mayek.js": requireMeetei_Mayek,
|
|
"/node_modules/regenerate-unicode-properties/Script/Mende_Kikakui.js": requireMende_Kikakui,
|
|
"/node_modules/regenerate-unicode-properties/Script/Meroitic_Cursive.js": requireMeroitic_Cursive,
|
|
"/node_modules/regenerate-unicode-properties/Script/Meroitic_Hieroglyphs.js": requireMeroitic_Hieroglyphs,
|
|
"/node_modules/regenerate-unicode-properties/Script/Miao.js": requireMiao,
|
|
"/node_modules/regenerate-unicode-properties/Script/Modi.js": requireModi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Mongolian.js": requireMongolian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Mro.js": requireMro,
|
|
"/node_modules/regenerate-unicode-properties/Script/Multani.js": requireMultani,
|
|
"/node_modules/regenerate-unicode-properties/Script/Myanmar.js": requireMyanmar,
|
|
"/node_modules/regenerate-unicode-properties/Script/Nabataean.js": requireNabataean,
|
|
"/node_modules/regenerate-unicode-properties/Script/Nag_Mundari.js": requireNag_Mundari,
|
|
"/node_modules/regenerate-unicode-properties/Script/Nandinagari.js": requireNandinagari,
|
|
"/node_modules/regenerate-unicode-properties/Script/New_Tai_Lue.js": requireNew_Tai_Lue,
|
|
"/node_modules/regenerate-unicode-properties/Script/Newa.js": requireNewa,
|
|
"/node_modules/regenerate-unicode-properties/Script/Nko.js": requireNko,
|
|
"/node_modules/regenerate-unicode-properties/Script/Nushu.js": requireNushu,
|
|
"/node_modules/regenerate-unicode-properties/Script/Nyiakeng_Puachue_Hmong.js": requireNyiakeng_Puachue_Hmong,
|
|
"/node_modules/regenerate-unicode-properties/Script/Ogham.js": requireOgham,
|
|
"/node_modules/regenerate-unicode-properties/Script/Ol_Chiki.js": requireOl_Chiki,
|
|
"/node_modules/regenerate-unicode-properties/Script/Old_Hungarian.js": requireOld_Hungarian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Old_Italic.js": requireOld_Italic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Old_North_Arabian.js": requireOld_North_Arabian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Old_Permic.js": requireOld_Permic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Old_Persian.js": requireOld_Persian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Old_Sogdian.js": requireOld_Sogdian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Old_South_Arabian.js": requireOld_South_Arabian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Old_Turkic.js": requireOld_Turkic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Old_Uyghur.js": requireOld_Uyghur,
|
|
"/node_modules/regenerate-unicode-properties/Script/Oriya.js": requireOriya,
|
|
"/node_modules/regenerate-unicode-properties/Script/Osage.js": requireOsage,
|
|
"/node_modules/regenerate-unicode-properties/Script/Osmanya.js": requireOsmanya,
|
|
"/node_modules/regenerate-unicode-properties/Script/Pahawh_Hmong.js": requirePahawh_Hmong,
|
|
"/node_modules/regenerate-unicode-properties/Script/Palmyrene.js": requirePalmyrene,
|
|
"/node_modules/regenerate-unicode-properties/Script/Pau_Cin_Hau.js": requirePau_Cin_Hau,
|
|
"/node_modules/regenerate-unicode-properties/Script/Phags_Pa.js": requirePhags_Pa,
|
|
"/node_modules/regenerate-unicode-properties/Script/Phoenician.js": requirePhoenician,
|
|
"/node_modules/regenerate-unicode-properties/Script/Psalter_Pahlavi.js": requirePsalter_Pahlavi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Rejang.js": requireRejang,
|
|
"/node_modules/regenerate-unicode-properties/Script/Runic.js": requireRunic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Samaritan.js": requireSamaritan,
|
|
"/node_modules/regenerate-unicode-properties/Script/Saurashtra.js": requireSaurashtra,
|
|
"/node_modules/regenerate-unicode-properties/Script/Sharada.js": requireSharada,
|
|
"/node_modules/regenerate-unicode-properties/Script/Shavian.js": requireShavian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Siddham.js": requireSiddham,
|
|
"/node_modules/regenerate-unicode-properties/Script/SignWriting.js": requireSignWriting,
|
|
"/node_modules/regenerate-unicode-properties/Script/Sinhala.js": requireSinhala,
|
|
"/node_modules/regenerate-unicode-properties/Script/Sogdian.js": requireSogdian,
|
|
"/node_modules/regenerate-unicode-properties/Script/Sora_Sompeng.js": requireSora_Sompeng,
|
|
"/node_modules/regenerate-unicode-properties/Script/Soyombo.js": requireSoyombo,
|
|
"/node_modules/regenerate-unicode-properties/Script/Sundanese.js": requireSundanese,
|
|
"/node_modules/regenerate-unicode-properties/Script/Syloti_Nagri.js": requireSyloti_Nagri,
|
|
"/node_modules/regenerate-unicode-properties/Script/Syriac.js": requireSyriac,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tagalog.js": requireTagalog,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tagbanwa.js": requireTagbanwa,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tai_Le.js": requireTai_Le,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tai_Tham.js": requireTai_Tham,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tai_Viet.js": requireTai_Viet,
|
|
"/node_modules/regenerate-unicode-properties/Script/Takri.js": requireTakri,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tamil.js": requireTamil,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tangsa.js": requireTangsa,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tangut.js": requireTangut,
|
|
"/node_modules/regenerate-unicode-properties/Script/Telugu.js": requireTelugu,
|
|
"/node_modules/regenerate-unicode-properties/Script/Thaana.js": requireThaana,
|
|
"/node_modules/regenerate-unicode-properties/Script/Thai.js": requireThai,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tibetan.js": requireTibetan,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tifinagh.js": requireTifinagh,
|
|
"/node_modules/regenerate-unicode-properties/Script/Tirhuta.js": requireTirhuta,
|
|
"/node_modules/regenerate-unicode-properties/Script/Toto.js": requireToto,
|
|
"/node_modules/regenerate-unicode-properties/Script/Ugaritic.js": requireUgaritic,
|
|
"/node_modules/regenerate-unicode-properties/Script/Vai.js": requireVai,
|
|
"/node_modules/regenerate-unicode-properties/Script/Vithkuqi.js": requireVithkuqi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Wancho.js": requireWancho,
|
|
"/node_modules/regenerate-unicode-properties/Script/Warang_Citi.js": requireWarang_Citi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Yezidi.js": requireYezidi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Yi.js": requireYi,
|
|
"/node_modules/regenerate-unicode-properties/Script/Zanabazar_Square.js": requireZanabazar_Square,
|
|
"/node_modules/regenerate-unicode-properties/unicode-version.js": requireUnicodeVersion
|
|
});
|
|
}
|
|
|
|
function createCommonjsRequire(originalModuleDir) {
|
|
function handleRequire(path) {
|
|
var resolvedPath = commonjsResolve(path, originalModuleDir);
|
|
if (resolvedPath !== null) {
|
|
return getDynamicModules()[resolvedPath]();
|
|
}
|
|
throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
}
|
|
handleRequire.resolve = function (path) {
|
|
var resolvedPath = commonjsResolve(path, originalModuleDir);
|
|
if (resolvedPath !== null) {
|
|
return resolvedPath;
|
|
}
|
|
return require.resolve(path);
|
|
};
|
|
return handleRequire;
|
|
}
|
|
|
|
function commonjsResolve (path, originalModuleDir) {
|
|
var shouldTryNodeModules = isPossibleNodeModulesPath(path);
|
|
path = normalize(path);
|
|
var relPath;
|
|
if (path[0] === '/') {
|
|
originalModuleDir = '';
|
|
}
|
|
var modules = getDynamicModules();
|
|
var checkedExtensions = ['', '.js', '.json'];
|
|
while (true) {
|
|
if (!shouldTryNodeModules) {
|
|
relPath = normalize(originalModuleDir + '/' + path);
|
|
} else {
|
|
relPath = normalize(originalModuleDir + '/node_modules/' + path);
|
|
}
|
|
|
|
if (relPath.endsWith('/..')) {
|
|
break; // Travelled too far up, avoid infinite loop
|
|
}
|
|
|
|
for (var extensionIndex = 0; extensionIndex < checkedExtensions.length; extensionIndex++) {
|
|
var resolvedPath = relPath + checkedExtensions[extensionIndex];
|
|
if (modules[resolvedPath]) {
|
|
return resolvedPath;
|
|
}
|
|
}
|
|
if (!shouldTryNodeModules) break;
|
|
var nextDir = normalize(originalModuleDir + '/..');
|
|
if (nextDir === originalModuleDir) break;
|
|
originalModuleDir = nextDir;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
function isPossibleNodeModulesPath (modulePath) {
|
|
var c0 = modulePath[0];
|
|
if (c0 === '/' || c0 === '\\') return false;
|
|
var c1 = modulePath[1], c2 = modulePath[2];
|
|
if ((c0 === '.' && (!c1 || c1 === '/' || c1 === '\\')) ||
|
|
(c0 === '.' && c1 === '.' && (!c2 || c2 === '/' || c2 === '\\'))) return false;
|
|
if (c1 === ':' && (c2 === '/' || c2 === '\\')) return false;
|
|
return true;
|
|
}
|
|
|
|
function normalize (path) {
|
|
path = path.replace(/\\/g, '/');
|
|
var parts = path.split('/');
|
|
var slashed = parts[0] === '';
|
|
for (var i = 1; i < parts.length; i++) {
|
|
if (parts[i] === '.' || parts[i] === '') {
|
|
parts.splice(i--, 1);
|
|
}
|
|
}
|
|
for (var i = 1; i < parts.length; i++) {
|
|
if (parts[i] !== '..') continue;
|
|
if (i > 0 && parts[i - 1] !== '..' && parts[i - 1] !== '.') {
|
|
parts.splice(--i, 2);
|
|
i--;
|
|
}
|
|
}
|
|
path = parts.join('/');
|
|
if (slashed && path[0] !== '/') path = '/' + path;
|
|
else if (path.length === 0) path = '.';
|
|
return path;
|
|
}
|
|
|
|
var regjsgen = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
(function () {
|
|
var objectTypes = {
|
|
'function': true,
|
|
'object': true
|
|
};
|
|
var root = objectTypes[typeof window] && window || this;
|
|
var freeExports = exports && !exports.nodeType && exports;
|
|
var hasFreeModule = module && !module.nodeType;
|
|
var freeGlobal = freeExports && hasFreeModule && typeof commonjsGlobal == 'object' && commonjsGlobal;
|
|
if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {
|
|
root = freeGlobal;
|
|
}
|
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
function fromCodePoint() {
|
|
var codePoint = Number(arguments[0]);
|
|
if (!isFinite(codePoint) || codePoint < 0 || codePoint > 0x10FFFF || Math.floor(codePoint) != codePoint) {
|
|
throw RangeError('Invalid code point: ' + codePoint);
|
|
}
|
|
if (codePoint <= 0xFFFF) {
|
|
return String.fromCharCode(codePoint);
|
|
} else {
|
|
codePoint -= 0x10000;
|
|
var highSurrogate = (codePoint >> 10) + 0xD800;
|
|
var lowSurrogate = codePoint % 0x400 + 0xDC00;
|
|
return String.fromCharCode(highSurrogate, lowSurrogate);
|
|
}
|
|
}
|
|
var assertTypeRegexMap = {};
|
|
function assertType(type, expected) {
|
|
if (expected.indexOf('|') == -1) {
|
|
if (type == expected) {
|
|
return;
|
|
}
|
|
throw Error('Invalid node type: ' + type + '; expected type: ' + expected);
|
|
}
|
|
expected = hasOwnProperty.call(assertTypeRegexMap, expected) ? assertTypeRegexMap[expected] : assertTypeRegexMap[expected] = RegExp('^(?:' + expected + ')$');
|
|
if (expected.test(type)) {
|
|
return;
|
|
}
|
|
throw Error('Invalid node type: ' + type + '; expected types: ' + expected);
|
|
}
|
|
function generate(node) {
|
|
var type = node.type;
|
|
if (hasOwnProperty.call(generators, type)) {
|
|
return generators[type](node);
|
|
}
|
|
throw Error('Invalid node type: ' + type);
|
|
}
|
|
function generateSequence(generator, terms, separator) {
|
|
var i = -1,
|
|
length = terms.length,
|
|
result = '',
|
|
term;
|
|
while (++i < length) {
|
|
term = terms[i];
|
|
if (separator && i > 0) result += separator;
|
|
if (i + 1 < length && terms[i].type == 'value' && terms[i].kind == 'null' && terms[i + 1].type == 'value' && terms[i + 1].kind == 'symbol' && terms[i + 1].codePoint >= 48 && terms[i + 1].codePoint <= 57) {
|
|
result += '\\000';
|
|
continue;
|
|
}
|
|
result += generator(term);
|
|
}
|
|
return result;
|
|
}
|
|
function generateAlternative(node) {
|
|
assertType(node.type, 'alternative');
|
|
return generateSequence(generateTerm, node.body);
|
|
}
|
|
function generateAnchor(node) {
|
|
assertType(node.type, 'anchor');
|
|
switch (node.kind) {
|
|
case 'start':
|
|
return '^';
|
|
case 'end':
|
|
return '$';
|
|
case 'boundary':
|
|
return '\\b';
|
|
case 'not-boundary':
|
|
return '\\B';
|
|
default:
|
|
throw Error('Invalid assertion');
|
|
}
|
|
}
|
|
var atomType = 'anchor|characterClass|characterClassEscape|dot|group|reference|unicodePropertyEscape|value';
|
|
function generateAtom(node) {
|
|
assertType(node.type, atomType);
|
|
return generate(node);
|
|
}
|
|
function generateCharacterClass(node) {
|
|
assertType(node.type, 'characterClass');
|
|
var kind = node.kind;
|
|
var separator = kind === 'intersection' ? '&&' : kind === 'subtraction' ? '--' : '';
|
|
return '[' + (node.negative ? '^' : '') + generateSequence(generateClassAtom, node.body, separator) + ']';
|
|
}
|
|
function generateCharacterClassEscape(node) {
|
|
assertType(node.type, 'characterClassEscape');
|
|
return '\\' + node.value;
|
|
}
|
|
function generateCharacterClassRange(node) {
|
|
assertType(node.type, 'characterClassRange');
|
|
var min = node.min,
|
|
max = node.max;
|
|
if (min.type == 'characterClassRange' || max.type == 'characterClassRange') {
|
|
throw Error('Invalid character class range');
|
|
}
|
|
return generateClassAtom(min) + '-' + generateClassAtom(max);
|
|
}
|
|
function generateClassAtom(node) {
|
|
assertType(node.type, 'anchor|characterClass|characterClassEscape|characterClassRange|dot|value|unicodePropertyEscape|classStrings');
|
|
return generate(node);
|
|
}
|
|
function generateClassStrings(node) {
|
|
assertType(node.type, 'classStrings');
|
|
return '\\q{' + generateSequence(generateClassString, node.strings, '|') + '}';
|
|
}
|
|
function generateClassString(node) {
|
|
assertType(node.type, 'classString');
|
|
return generateSequence(generate, node.characters);
|
|
}
|
|
function generateDisjunction(node) {
|
|
assertType(node.type, 'disjunction');
|
|
return generateSequence(generate, node.body, '|');
|
|
}
|
|
function generateDot(node) {
|
|
assertType(node.type, 'dot');
|
|
return '.';
|
|
}
|
|
function generateGroup(node) {
|
|
assertType(node.type, 'group');
|
|
var result = '';
|
|
switch (node.behavior) {
|
|
case 'normal':
|
|
if (node.name) {
|
|
result += '?<' + generateIdentifier(node.name) + '>';
|
|
}
|
|
break;
|
|
case 'ignore':
|
|
if (node.modifierFlags) {
|
|
result += '?';
|
|
if (node.modifierFlags.enabling) result += node.modifierFlags.enabling;
|
|
if (node.modifierFlags.disabling) result += "-" + node.modifierFlags.disabling;
|
|
result += ':';
|
|
} else {
|
|
result += '?:';
|
|
}
|
|
break;
|
|
case 'lookahead':
|
|
result += '?=';
|
|
break;
|
|
case 'negativeLookahead':
|
|
result += '?!';
|
|
break;
|
|
case 'lookbehind':
|
|
result += '?<=';
|
|
break;
|
|
case 'negativeLookbehind':
|
|
result += '?<!';
|
|
break;
|
|
default:
|
|
throw Error('Invalid behaviour: ' + node.behaviour);
|
|
}
|
|
result += generateSequence(generate, node.body);
|
|
return '(' + result + ')';
|
|
}
|
|
function generateIdentifier(node) {
|
|
assertType(node.type, 'identifier');
|
|
return node.value;
|
|
}
|
|
function generateQuantifier(node) {
|
|
assertType(node.type, 'quantifier');
|
|
var quantifier = '',
|
|
min = node.min,
|
|
max = node.max;
|
|
if (max == null) {
|
|
if (min == 0) {
|
|
quantifier = '*';
|
|
} else if (min == 1) {
|
|
quantifier = '+';
|
|
} else {
|
|
quantifier = '{' + min + ',}';
|
|
}
|
|
} else if (min == max) {
|
|
quantifier = '{' + min + '}';
|
|
} else if (min == 0 && max == 1) {
|
|
quantifier = '?';
|
|
} else {
|
|
quantifier = '{' + min + ',' + max + '}';
|
|
}
|
|
if (!node.greedy) {
|
|
quantifier += '?';
|
|
}
|
|
return generateAtom(node.body[0]) + quantifier;
|
|
}
|
|
function generateReference(node) {
|
|
assertType(node.type, 'reference');
|
|
if (node.matchIndex) {
|
|
return '\\' + node.matchIndex;
|
|
}
|
|
if (node.name) {
|
|
return '\\k<' + generateIdentifier(node.name) + '>';
|
|
}
|
|
throw new Error('Unknown reference type');
|
|
}
|
|
function generateTerm(node) {
|
|
assertType(node.type, atomType + '|empty|quantifier');
|
|
return generate(node);
|
|
}
|
|
function generateUnicodePropertyEscape(node) {
|
|
assertType(node.type, 'unicodePropertyEscape');
|
|
return '\\' + (node.negative ? 'P' : 'p') + '{' + node.value + '}';
|
|
}
|
|
function generateValue(node) {
|
|
assertType(node.type, 'value');
|
|
var kind = node.kind,
|
|
codePoint = node.codePoint;
|
|
if (typeof codePoint != 'number') {
|
|
throw new Error('Invalid code point: ' + codePoint);
|
|
}
|
|
switch (kind) {
|
|
case 'controlLetter':
|
|
return '\\c' + fromCodePoint(codePoint + 64);
|
|
case 'hexadecimalEscape':
|
|
return '\\x' + ('00' + codePoint.toString(16).toUpperCase()).slice(-2);
|
|
case 'identifier':
|
|
return '\\' + fromCodePoint(codePoint);
|
|
case 'null':
|
|
return '\\' + codePoint;
|
|
case 'octal':
|
|
return '\\' + ('000' + codePoint.toString(8)).slice(-3);
|
|
case 'singleEscape':
|
|
switch (codePoint) {
|
|
case 0x0008:
|
|
return '\\b';
|
|
case 0x0009:
|
|
return '\\t';
|
|
case 0x000A:
|
|
return '\\n';
|
|
case 0x000B:
|
|
return '\\v';
|
|
case 0x000C:
|
|
return '\\f';
|
|
case 0x000D:
|
|
return '\\r';
|
|
case 0x002D:
|
|
return '\\-';
|
|
default:
|
|
throw Error('Invalid code point: ' + codePoint);
|
|
}
|
|
case 'symbol':
|
|
return fromCodePoint(codePoint);
|
|
case 'unicodeEscape':
|
|
return "\\u" + ('0000' + codePoint.toString(16).toUpperCase()).slice(-4);
|
|
case 'unicodeCodePointEscape':
|
|
return "\\u{" + codePoint.toString(16).toUpperCase() + '}';
|
|
default:
|
|
throw Error('Unsupported node kind: ' + kind);
|
|
}
|
|
}
|
|
var generators = {
|
|
'alternative': generateAlternative,
|
|
'anchor': generateAnchor,
|
|
'characterClass': generateCharacterClass,
|
|
'characterClassEscape': generateCharacterClassEscape,
|
|
'characterClassRange': generateCharacterClassRange,
|
|
'classStrings': generateClassStrings,
|
|
'disjunction': generateDisjunction,
|
|
'dot': generateDot,
|
|
'group': generateGroup,
|
|
'quantifier': generateQuantifier,
|
|
'reference': generateReference,
|
|
'unicodePropertyEscape': generateUnicodePropertyEscape,
|
|
'value': generateValue
|
|
};
|
|
var regjsgen = {
|
|
'generate': generate
|
|
};
|
|
if (freeExports && hasFreeModule) {
|
|
freeExports.generate = generate;
|
|
} else {
|
|
root.regjsgen = regjsgen;
|
|
}
|
|
}).call(commonjsGlobal);
|
|
})(regjsgen, regjsgen.exports);
|
|
|
|
var parser = {exports: {}};
|
|
|
|
(function (module) {
|
|
|
|
(function () {
|
|
var fromCodePoint = String.fromCodePoint || function () {
|
|
var stringFromCharCode = String.fromCharCode;
|
|
var floor = Math.floor;
|
|
return function fromCodePoint() {
|
|
var MAX_SIZE = 0x4000;
|
|
var codeUnits = [];
|
|
var highSurrogate;
|
|
var lowSurrogate;
|
|
var index = -1;
|
|
var length = arguments.length;
|
|
if (!length) {
|
|
return '';
|
|
}
|
|
var result = '';
|
|
while (++index < length) {
|
|
var codePoint = Number(arguments[index]);
|
|
if (!isFinite(codePoint) || codePoint < 0 || codePoint > 0x10FFFF || floor(codePoint) != codePoint) {
|
|
throw RangeError('Invalid code point: ' + codePoint);
|
|
}
|
|
if (codePoint <= 0xFFFF) {
|
|
codeUnits.push(codePoint);
|
|
} else {
|
|
codePoint -= 0x10000;
|
|
highSurrogate = (codePoint >> 10) + 0xD800;
|
|
lowSurrogate = codePoint % 0x400 + 0xDC00;
|
|
codeUnits.push(highSurrogate, lowSurrogate);
|
|
}
|
|
if (index + 1 == length || codeUnits.length > MAX_SIZE) {
|
|
result += stringFromCharCode.apply(null, codeUnits);
|
|
codeUnits.length = 0;
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
}();
|
|
function parse(str, flags, features) {
|
|
if (!features) {
|
|
features = {};
|
|
}
|
|
function addRaw(node) {
|
|
node.raw = str.substring(node.range[0], node.range[1]);
|
|
return node;
|
|
}
|
|
function updateRawStart(node, start) {
|
|
node.range[0] = start;
|
|
return addRaw(node);
|
|
}
|
|
function createAnchor(kind, rawLength) {
|
|
return addRaw({
|
|
type: 'anchor',
|
|
kind: kind,
|
|
range: [pos - rawLength, pos]
|
|
});
|
|
}
|
|
function createValue(kind, codePoint, from, to) {
|
|
return addRaw({
|
|
type: 'value',
|
|
kind: kind,
|
|
codePoint: codePoint,
|
|
range: [from, to]
|
|
});
|
|
}
|
|
function createEscaped(kind, codePoint, value, fromOffset) {
|
|
fromOffset = fromOffset || 0;
|
|
return createValue(kind, codePoint, pos - (value.length + fromOffset), pos);
|
|
}
|
|
function createCharacter(matches) {
|
|
var _char = matches[0];
|
|
var first = _char.charCodeAt(0);
|
|
if (isUnicodeMode) {
|
|
var second;
|
|
if (_char.length === 1 && first >= 0xD800 && first <= 0xDBFF) {
|
|
second = lookahead().charCodeAt(0);
|
|
if (second >= 0xDC00 && second <= 0xDFFF) {
|
|
pos++;
|
|
return createValue('symbol', (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000, pos - 2, pos);
|
|
}
|
|
}
|
|
}
|
|
return createValue('symbol', first, pos - 1, pos);
|
|
}
|
|
function createDisjunction(alternatives, from, to) {
|
|
return addRaw({
|
|
type: 'disjunction',
|
|
body: alternatives,
|
|
range: [from, to]
|
|
});
|
|
}
|
|
function createDot() {
|
|
return addRaw({
|
|
type: 'dot',
|
|
range: [pos - 1, pos]
|
|
});
|
|
}
|
|
function createCharacterClassEscape(value) {
|
|
return addRaw({
|
|
type: 'characterClassEscape',
|
|
value: value,
|
|
range: [pos - 2, pos]
|
|
});
|
|
}
|
|
function createReference(matchIndex) {
|
|
return addRaw({
|
|
type: 'reference',
|
|
matchIndex: parseInt(matchIndex, 10),
|
|
range: [pos - 1 - matchIndex.length, pos]
|
|
});
|
|
}
|
|
function createNamedReference(name) {
|
|
return addRaw({
|
|
type: 'reference',
|
|
name: name,
|
|
range: [name.range[0] - 3, pos]
|
|
});
|
|
}
|
|
function createGroup(behavior, disjunction, from, to) {
|
|
return addRaw({
|
|
type: 'group',
|
|
behavior: behavior,
|
|
body: disjunction,
|
|
range: [from, to]
|
|
});
|
|
}
|
|
function createQuantifier(min, max, from, to, symbol) {
|
|
if (to == null) {
|
|
from = pos - 1;
|
|
to = pos;
|
|
}
|
|
return addRaw({
|
|
type: 'quantifier',
|
|
min: min,
|
|
max: max,
|
|
greedy: true,
|
|
body: null,
|
|
symbol: symbol,
|
|
range: [from, to]
|
|
});
|
|
}
|
|
function createAlternative(terms, from, to) {
|
|
return addRaw({
|
|
type: 'alternative',
|
|
body: terms,
|
|
range: [from, to]
|
|
});
|
|
}
|
|
function createCharacterClass(contents, negative, from, to) {
|
|
return addRaw({
|
|
type: 'characterClass',
|
|
kind: contents.kind,
|
|
body: contents.body,
|
|
negative: negative,
|
|
range: [from, to]
|
|
});
|
|
}
|
|
function createClassRange(min, max, from, to) {
|
|
if (min.codePoint > max.codePoint) {
|
|
bail('invalid range in character class', min.raw + '-' + max.raw, from, to);
|
|
}
|
|
return addRaw({
|
|
type: 'characterClassRange',
|
|
min: min,
|
|
max: max,
|
|
range: [from, to]
|
|
});
|
|
}
|
|
function createClassStrings(strings, from, to) {
|
|
return addRaw({
|
|
type: 'classStrings',
|
|
strings: strings,
|
|
range: [from, to]
|
|
});
|
|
}
|
|
function createClassString(characters, from, to) {
|
|
return addRaw({
|
|
type: 'classString',
|
|
characters: characters,
|
|
range: [from, to]
|
|
});
|
|
}
|
|
function flattenBody(body) {
|
|
if (body.type === 'alternative') {
|
|
return body.body;
|
|
} else {
|
|
return [body];
|
|
}
|
|
}
|
|
function incr(amount) {
|
|
amount = amount || 1;
|
|
var res = str.substring(pos, pos + amount);
|
|
pos += amount || 1;
|
|
return res;
|
|
}
|
|
function skip(value) {
|
|
if (!match(value)) {
|
|
bail('character', value);
|
|
}
|
|
}
|
|
function match(value) {
|
|
if (str.indexOf(value, pos) === pos) {
|
|
return incr(value.length);
|
|
}
|
|
}
|
|
function lookahead() {
|
|
return str[pos];
|
|
}
|
|
function current(value) {
|
|
return str.indexOf(value, pos) === pos;
|
|
}
|
|
function next(value) {
|
|
return str[pos + 1] === value;
|
|
}
|
|
function matchReg(regExp) {
|
|
var subStr = str.substring(pos);
|
|
var res = subStr.match(regExp);
|
|
if (res) {
|
|
res.range = [];
|
|
res.range[0] = pos;
|
|
incr(res[0].length);
|
|
res.range[1] = pos;
|
|
}
|
|
return res;
|
|
}
|
|
function parseDisjunction() {
|
|
var res = [],
|
|
from = pos;
|
|
res.push(parseAlternative());
|
|
while (match('|')) {
|
|
res.push(parseAlternative());
|
|
}
|
|
if (res.length === 1) {
|
|
return res[0];
|
|
}
|
|
return createDisjunction(res, from, pos);
|
|
}
|
|
function parseAlternative() {
|
|
var res = [],
|
|
from = pos;
|
|
var term;
|
|
while (term = parseTerm()) {
|
|
res.push(term);
|
|
}
|
|
if (res.length === 1) {
|
|
return res[0];
|
|
}
|
|
return createAlternative(res, from, pos);
|
|
}
|
|
function parseTerm() {
|
|
if (pos >= str.length || current('|') || current(')')) {
|
|
return null;
|
|
}
|
|
var anchor = parseAnchor();
|
|
if (anchor) {
|
|
return anchor;
|
|
}
|
|
var atom = parseAtomAndExtendedAtom();
|
|
var quantifier;
|
|
if (!atom) {
|
|
var pos_backup = pos;
|
|
quantifier = parseQuantifier() || false;
|
|
if (quantifier) {
|
|
pos = pos_backup;
|
|
bail('Expected atom');
|
|
}
|
|
var res;
|
|
if (!isUnicodeMode && (res = matchReg(/^{/))) {
|
|
atom = createCharacter(res);
|
|
} else {
|
|
bail('Expected atom');
|
|
}
|
|
}
|
|
quantifier = parseQuantifier() || false;
|
|
if (quantifier) {
|
|
quantifier.body = flattenBody(atom);
|
|
updateRawStart(quantifier, atom.range[0]);
|
|
return quantifier;
|
|
}
|
|
return atom;
|
|
}
|
|
function parseGroup(matchA, typeA, matchB, typeB) {
|
|
var type = null,
|
|
from = pos;
|
|
if (match(matchA)) {
|
|
type = typeA;
|
|
} else if (match(matchB)) {
|
|
type = typeB;
|
|
} else {
|
|
return false;
|
|
}
|
|
return finishGroup(type, from);
|
|
}
|
|
function finishGroup(type, from) {
|
|
var body = parseDisjunction();
|
|
if (!body) {
|
|
bail('Expected disjunction');
|
|
}
|
|
skip(')');
|
|
var group = createGroup(type, flattenBody(body), from, pos);
|
|
if (type == 'normal') {
|
|
if (firstIteration) {
|
|
closedCaptureCounter++;
|
|
}
|
|
}
|
|
return group;
|
|
}
|
|
function parseAnchor() {
|
|
if (match('^')) {
|
|
return createAnchor('start', 1);
|
|
} else if (match('$')) {
|
|
return createAnchor('end', 1);
|
|
} else if (match('\\b')) {
|
|
return createAnchor('boundary', 2);
|
|
} else if (match('\\B')) {
|
|
return createAnchor('not-boundary', 2);
|
|
} else {
|
|
return parseGroup('(?=', 'lookahead', '(?!', 'negativeLookahead');
|
|
}
|
|
}
|
|
function parseQuantifier() {
|
|
var res,
|
|
from = pos;
|
|
var quantifier;
|
|
var min, max;
|
|
if (match('*')) {
|
|
quantifier = createQuantifier(0, undefined, undefined, undefined, '*');
|
|
} else if (match('+')) {
|
|
quantifier = createQuantifier(1, undefined, undefined, undefined, "+");
|
|
} else if (match('?')) {
|
|
quantifier = createQuantifier(0, 1, undefined, undefined, "?");
|
|
} else if (res = matchReg(/^\{([0-9]+)\}/)) {
|
|
min = parseInt(res[1], 10);
|
|
quantifier = createQuantifier(min, min, res.range[0], res.range[1]);
|
|
} else if (res = matchReg(/^\{([0-9]+),\}/)) {
|
|
min = parseInt(res[1], 10);
|
|
quantifier = createQuantifier(min, undefined, res.range[0], res.range[1]);
|
|
} else if (res = matchReg(/^\{([0-9]+),([0-9]+)\}/)) {
|
|
min = parseInt(res[1], 10);
|
|
max = parseInt(res[2], 10);
|
|
if (min > max) {
|
|
bail('numbers out of order in {} quantifier', '', from, pos);
|
|
}
|
|
quantifier = createQuantifier(min, max, res.range[0], res.range[1]);
|
|
}
|
|
if (min && !Number.isSafeInteger(min) || max && !Number.isSafeInteger(max)) {
|
|
bail("iterations outside JS safe integer range in quantifier", "", from, pos);
|
|
}
|
|
if (quantifier) {
|
|
if (match('?')) {
|
|
quantifier.greedy = false;
|
|
quantifier.range[1] += 1;
|
|
}
|
|
}
|
|
return quantifier;
|
|
}
|
|
function parseAtomAndExtendedAtom() {
|
|
var res;
|
|
if (res = matchReg(/^[^^$\\.*+?()[\]{}|]/)) {
|
|
return createCharacter(res);
|
|
} else if (!isUnicodeMode && (res = matchReg(/^(?:]|})/))) {
|
|
return createCharacter(res);
|
|
} else if (match('.')) {
|
|
return createDot();
|
|
} else if (match('\\')) {
|
|
res = parseAtomEscape();
|
|
if (!res) {
|
|
if (!isUnicodeMode && lookahead() == 'c') {
|
|
return createValue('symbol', 92, pos - 1, pos);
|
|
}
|
|
bail('atomEscape');
|
|
}
|
|
return res;
|
|
} else if (res = parseCharacterClass()) {
|
|
return res;
|
|
} else if (features.lookbehind && (res = parseGroup('(?<=', 'lookbehind', '(?<!', 'negativeLookbehind'))) {
|
|
return res;
|
|
} else if (features.namedGroups && match("(?<")) {
|
|
var name = parseIdentifier();
|
|
skip(">");
|
|
var group = finishGroup("normal", name.range[0] - 3);
|
|
group.name = name;
|
|
return group;
|
|
} else if (features.modifiers && str.indexOf("(?") == pos && str[pos + 2] != ":") {
|
|
return parseModifiersGroup();
|
|
} else {
|
|
return parseGroup('(?:', 'ignore', '(', 'normal');
|
|
}
|
|
}
|
|
function parseModifiersGroup() {
|
|
function hasDupChar(str) {
|
|
var i = 0;
|
|
while (i < str.length) {
|
|
if (str.indexOf(str[i], i + 1) != -1) {
|
|
return true;
|
|
}
|
|
i++;
|
|
}
|
|
return false;
|
|
}
|
|
var from = pos;
|
|
incr(2);
|
|
var enablingFlags = matchReg(/^[sim]+/);
|
|
var disablingFlags;
|
|
if (match("-")) {
|
|
disablingFlags = matchReg(/^[sim]+/);
|
|
if (!disablingFlags) {
|
|
bail('Invalid flags for modifiers group');
|
|
}
|
|
} else if (!enablingFlags) {
|
|
bail('Invalid flags for modifiers group');
|
|
}
|
|
enablingFlags = enablingFlags ? enablingFlags[0] : "";
|
|
disablingFlags = disablingFlags ? disablingFlags[0] : "";
|
|
var flags = enablingFlags + disablingFlags;
|
|
if (flags.length > 3 || hasDupChar(flags)) {
|
|
bail('flags cannot be duplicated for modifiers group');
|
|
}
|
|
skip(":");
|
|
var modifiersGroup = finishGroup("ignore", from);
|
|
modifiersGroup.modifierFlags = {
|
|
enabling: enablingFlags,
|
|
disabling: disablingFlags
|
|
};
|
|
return modifiersGroup;
|
|
}
|
|
function parseUnicodeSurrogatePairEscape(firstEscape) {
|
|
if (isUnicodeMode) {
|
|
var first, second;
|
|
if (firstEscape.kind == 'unicodeEscape' && (first = firstEscape.codePoint) >= 0xD800 && first <= 0xDBFF && current('\\') && next('u')) {
|
|
var prevPos = pos;
|
|
pos++;
|
|
var secondEscape = parseClassEscape();
|
|
if (secondEscape.kind == 'unicodeEscape' && (second = secondEscape.codePoint) >= 0xDC00 && second <= 0xDFFF) {
|
|
firstEscape.range[1] = secondEscape.range[1];
|
|
firstEscape.codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
|
|
firstEscape.type = 'value';
|
|
firstEscape.kind = 'unicodeCodePointEscape';
|
|
addRaw(firstEscape);
|
|
} else {
|
|
pos = prevPos;
|
|
}
|
|
}
|
|
}
|
|
return firstEscape;
|
|
}
|
|
function parseClassEscape() {
|
|
return parseAtomEscape(true);
|
|
}
|
|
function parseAtomEscape(insideCharacterClass) {
|
|
var res,
|
|
from = pos;
|
|
res = parseDecimalEscape(insideCharacterClass) || parseNamedReference();
|
|
if (res) {
|
|
return res;
|
|
}
|
|
if (insideCharacterClass) {
|
|
if (match('b')) {
|
|
return createEscaped('singleEscape', 0x0008, '\\b');
|
|
} else if (match('B')) {
|
|
bail('\\B not possible inside of CharacterClass', '', from);
|
|
} else if (!isUnicodeMode && (res = matchReg(/^c([0-9])/))) {
|
|
return createEscaped('controlLetter', res[1] + 16, res[1], 2);
|
|
} else if (!isUnicodeMode && (res = matchReg(/^c_/))) {
|
|
return createEscaped('controlLetter', 31, '_', 2);
|
|
}
|
|
if (isUnicodeMode && match('-')) {
|
|
return createEscaped('singleEscape', 0x002d, '\\-');
|
|
}
|
|
}
|
|
res = parseCharacterClassEscape() || parseCharacterEscape();
|
|
return res;
|
|
}
|
|
function parseDecimalEscape(insideCharacterClass) {
|
|
var res,
|
|
match,
|
|
from = pos;
|
|
if (res = matchReg(/^(?!0)\d+/)) {
|
|
match = res[0];
|
|
var refIdx = parseInt(res[0], 10);
|
|
if (refIdx <= closedCaptureCounter && !insideCharacterClass) {
|
|
return createReference(res[0]);
|
|
} else {
|
|
backrefDenied.push(refIdx);
|
|
if (firstIteration) {
|
|
shouldReparse = true;
|
|
} else {
|
|
bailOctalEscapeIfUnicode(from, pos);
|
|
}
|
|
incr(-res[0].length);
|
|
if (res = matchReg(/^[0-7]{1,3}/)) {
|
|
return createEscaped('octal', parseInt(res[0], 8), res[0], 1);
|
|
} else {
|
|
res = createCharacter(matchReg(/^[89]/));
|
|
return updateRawStart(res, res.range[0] - 1);
|
|
}
|
|
}
|
|
} else if (res = matchReg(/^[0-7]{1,3}/)) {
|
|
match = res[0];
|
|
if (match !== '0') {
|
|
bailOctalEscapeIfUnicode(from, pos);
|
|
}
|
|
if (/^0{1,3}$/.test(match)) {
|
|
return createEscaped('null', 0x0000, '0', match.length);
|
|
} else {
|
|
return createEscaped('octal', parseInt(match, 8), match, 1);
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function bailOctalEscapeIfUnicode(from, pos) {
|
|
if (isUnicodeMode) {
|
|
bail("Invalid decimal escape in unicode mode", null, from, pos);
|
|
}
|
|
}
|
|
function parseCharacterClassEscape() {
|
|
var res;
|
|
if (res = matchReg(/^[dDsSwW]/)) {
|
|
return createCharacterClassEscape(res[0]);
|
|
} else if (features.unicodePropertyEscape && isUnicodeMode && (res = matchReg(/^([pP])\{([^\}]+)\}/))) {
|
|
return addRaw({
|
|
type: 'unicodePropertyEscape',
|
|
negative: res[1] === 'P',
|
|
value: res[2],
|
|
range: [res.range[0] - 1, res.range[1]],
|
|
raw: res[0]
|
|
});
|
|
} else if (features.unicodeSet && hasUnicodeSetFlag && match('q{')) {
|
|
return parseClassStrings();
|
|
}
|
|
return false;
|
|
}
|
|
function parseNamedReference() {
|
|
if (features.namedGroups && matchReg(/^k<(?=.*?>)/)) {
|
|
var name = parseIdentifier();
|
|
skip('>');
|
|
return createNamedReference(name);
|
|
}
|
|
}
|
|
function parseRegExpUnicodeEscapeSequence() {
|
|
var res;
|
|
if (res = matchReg(/^u([0-9a-fA-F]{4})/)) {
|
|
return parseUnicodeSurrogatePairEscape(createEscaped('unicodeEscape', parseInt(res[1], 16), res[1], 2));
|
|
} else if (isUnicodeMode && (res = matchReg(/^u\{([0-9a-fA-F]+)\}/))) {
|
|
return createEscaped('unicodeCodePointEscape', parseInt(res[1], 16), res[1], 4);
|
|
}
|
|
}
|
|
function parseCharacterEscape() {
|
|
var res;
|
|
var from = pos;
|
|
if (res = matchReg(/^[fnrtv]/)) {
|
|
var codePoint = 0;
|
|
switch (res[0]) {
|
|
case 't':
|
|
codePoint = 0x009;
|
|
break;
|
|
case 'n':
|
|
codePoint = 0x00A;
|
|
break;
|
|
case 'v':
|
|
codePoint = 0x00B;
|
|
break;
|
|
case 'f':
|
|
codePoint = 0x00C;
|
|
break;
|
|
case 'r':
|
|
codePoint = 0x00D;
|
|
break;
|
|
}
|
|
return createEscaped('singleEscape', codePoint, '\\' + res[0]);
|
|
} else if (res = matchReg(/^c([a-zA-Z])/)) {
|
|
return createEscaped('controlLetter', res[1].charCodeAt(0) % 32, res[1], 2);
|
|
} else if (res = matchReg(/^x([0-9a-fA-F]{2})/)) {
|
|
return createEscaped('hexadecimalEscape', parseInt(res[1], 16), res[1], 2);
|
|
} else if (res = parseRegExpUnicodeEscapeSequence()) {
|
|
if (!res || res.codePoint > 0x10FFFF) {
|
|
bail('Invalid escape sequence', null, from, pos);
|
|
}
|
|
return res;
|
|
} else {
|
|
return parseIdentityEscape();
|
|
}
|
|
}
|
|
function parseIdentifierAtom(check) {
|
|
var ch = lookahead();
|
|
var from = pos;
|
|
if (ch === '\\') {
|
|
incr();
|
|
var esc = parseRegExpUnicodeEscapeSequence();
|
|
if (!esc || !check(esc.codePoint)) {
|
|
bail('Invalid escape sequence', null, from, pos);
|
|
}
|
|
return fromCodePoint(esc.codePoint);
|
|
}
|
|
var code = ch.charCodeAt(0);
|
|
if (code >= 0xD800 && code <= 0xDBFF) {
|
|
ch += str[pos + 1];
|
|
var second = ch.charCodeAt(1);
|
|
if (second >= 0xDC00 && second <= 0xDFFF) {
|
|
code = (code - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
|
|
}
|
|
}
|
|
if (!check(code)) return;
|
|
incr();
|
|
if (code > 0xFFFF) incr();
|
|
return ch;
|
|
}
|
|
function parseIdentifier() {
|
|
var start = pos;
|
|
var res = parseIdentifierAtom(isIdentifierStart);
|
|
if (!res) {
|
|
bail('Invalid identifier');
|
|
}
|
|
var ch;
|
|
while (ch = parseIdentifierAtom(isIdentifierPart)) {
|
|
res += ch;
|
|
}
|
|
return addRaw({
|
|
type: 'identifier',
|
|
value: res,
|
|
range: [start, pos]
|
|
});
|
|
}
|
|
function isIdentifierStart(ch) {
|
|
var NonAsciiIdentifierStart = /[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFF1]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
|
|
return ch === 36 || ch === 95 || ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 0x80 && NonAsciiIdentifierStart.test(fromCodePoint(ch));
|
|
}
|
|
function isIdentifierPart(ch) {
|
|
var NonAsciiIdentifierPartOnly = /[0-9_\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD30-\uDD39\uDF46-\uDF50]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC66-\uDC6F\uDC7F-\uDC82\uDCB0-\uDCBA\uDCF0-\uDCF9\uDD00-\uDD02\uDD27-\uDD34\uDD36-\uDD3F\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDD0-\uDDD9\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC50-\uDC59\uDC5E\uDCB0-\uDCC3\uDCD0-\uDCD9\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDE50-\uDE59\uDEAB-\uDEB7\uDEC0-\uDEC9\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC2C-\uDC3A\uDCE0-\uDCE9\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC50-\uDC59\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD50-\uDD59\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDDA0-\uDDA9\uDEF3-\uDEF6]|\uD81A[\uDE60-\uDE69\uDEF0-\uDEF4\uDF30-\uDF36\uDF50-\uDF59]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A\uDD50-\uDD59]|\uDB40[\uDD00-\uDDEF]/;
|
|
return isIdentifierStart(ch) || ch >= 48 && ch <= 57 || ch >= 0x80 && NonAsciiIdentifierPartOnly.test(fromCodePoint(ch));
|
|
}
|
|
function parseIdentityEscape() {
|
|
var tmp;
|
|
var l = lookahead();
|
|
if (isUnicodeMode && /[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/.test(l) || !isUnicodeMode && l !== "c") {
|
|
if (l === "k" && features.lookbehind) {
|
|
return null;
|
|
}
|
|
tmp = incr();
|
|
return createEscaped('identifier', tmp.charCodeAt(0), tmp, 1);
|
|
}
|
|
return null;
|
|
}
|
|
function parseCharacterClass() {
|
|
var res,
|
|
from = pos;
|
|
if (res = matchReg(/^\[\^/)) {
|
|
res = parseClassRanges();
|
|
skip(']');
|
|
return createCharacterClass(res, true, from, pos);
|
|
} else if (match('[')) {
|
|
res = parseClassRanges();
|
|
skip(']');
|
|
return createCharacterClass(res, false, from, pos);
|
|
}
|
|
return null;
|
|
}
|
|
function parseClassRanges() {
|
|
var res;
|
|
if (current(']')) {
|
|
return {
|
|
kind: 'union',
|
|
body: []
|
|
};
|
|
} else if (hasUnicodeSetFlag) {
|
|
return parseClassContents();
|
|
} else {
|
|
res = parseNonemptyClassRanges();
|
|
if (!res) {
|
|
bail('nonEmptyClassRanges');
|
|
}
|
|
return {
|
|
kind: 'union',
|
|
body: res
|
|
};
|
|
}
|
|
}
|
|
function parseHelperClassRanges(atom) {
|
|
var from, to, res, atomTo, dash;
|
|
if (current('-') && !next(']')) {
|
|
from = atom.range[0];
|
|
dash = createCharacter(match('-'));
|
|
atomTo = parseClassAtom();
|
|
if (!atomTo) {
|
|
bail('classAtom');
|
|
}
|
|
to = pos;
|
|
var classRanges = parseClassRanges();
|
|
if (!classRanges) {
|
|
bail('classRanges');
|
|
}
|
|
if (!('codePoint' in atom) || !('codePoint' in atomTo)) {
|
|
if (!isUnicodeMode) {
|
|
res = [atom, dash, atomTo];
|
|
} else {
|
|
bail('invalid character class');
|
|
}
|
|
} else {
|
|
res = [createClassRange(atom, atomTo, from, to)];
|
|
}
|
|
if (classRanges.type === 'empty') {
|
|
return res;
|
|
}
|
|
return res.concat(classRanges.body);
|
|
}
|
|
res = parseNonemptyClassRangesNoDash();
|
|
if (!res) {
|
|
bail('nonEmptyClassRangesNoDash');
|
|
}
|
|
return [atom].concat(res);
|
|
}
|
|
function parseNonemptyClassRanges() {
|
|
var atom = parseClassAtom();
|
|
if (!atom) {
|
|
bail('classAtom');
|
|
}
|
|
if (current(']')) {
|
|
return [atom];
|
|
}
|
|
return parseHelperClassRanges(atom);
|
|
}
|
|
function parseNonemptyClassRangesNoDash() {
|
|
var res = parseClassAtom();
|
|
if (!res) {
|
|
bail('classAtom');
|
|
}
|
|
if (current(']')) {
|
|
return res;
|
|
}
|
|
return parseHelperClassRanges(res);
|
|
}
|
|
function parseClassAtom() {
|
|
if (match('-')) {
|
|
return createCharacter('-');
|
|
} else {
|
|
return parseClassAtomNoDash();
|
|
}
|
|
}
|
|
function parseClassAtomNoDash() {
|
|
var res;
|
|
if (res = matchReg(/^[^\\\]-]/)) {
|
|
return createCharacter(res[0]);
|
|
} else if (match('\\')) {
|
|
res = parseClassEscape();
|
|
if (!res) {
|
|
bail('classEscape');
|
|
}
|
|
return parseUnicodeSurrogatePairEscape(res);
|
|
}
|
|
}
|
|
function parseClassContents() {
|
|
var body = [];
|
|
var kind;
|
|
var operand = parseClassOperand(true);
|
|
body.push(operand);
|
|
if (operand.type === 'classRange') {
|
|
kind = 'union';
|
|
} else if (current('&')) {
|
|
kind = 'intersection';
|
|
} else if (current('-')) {
|
|
kind = 'subtraction';
|
|
} else {
|
|
kind = 'union';
|
|
}
|
|
while (!current(']')) {
|
|
if (kind === 'intersection') {
|
|
skip('&');
|
|
skip('&');
|
|
if (current('&')) {
|
|
bail('&& cannot be followed by &. Wrap it in brackets: &&[&].');
|
|
}
|
|
} else if (kind === 'subtraction') {
|
|
skip('-');
|
|
skip('-');
|
|
}
|
|
operand = parseClassOperand(kind === 'union');
|
|
body.push(operand);
|
|
}
|
|
return {
|
|
kind: kind,
|
|
body: body
|
|
};
|
|
}
|
|
function parseClassOperand(allowRanges) {
|
|
var from = pos;
|
|
var start, res;
|
|
if (match('\\')) {
|
|
if (res = parseClassEscape()) {
|
|
start = res;
|
|
} else if (res = parseClassCharacterEscapedHelper()) {
|
|
return res;
|
|
} else {
|
|
bail('Invalid escape', '\\' + lookahead(), from);
|
|
}
|
|
} else if (res = parseClassCharacterUnescapedHelper()) {
|
|
start = res;
|
|
} else if (res = parseCharacterClass()) {
|
|
return res;
|
|
} else {
|
|
bail('Invalid character', lookahead());
|
|
}
|
|
if (allowRanges && current('-') && !next('-')) {
|
|
skip('-');
|
|
if (res = parseClassCharacter()) {
|
|
return createClassRange(start, res, from, pos);
|
|
}
|
|
bail('Invalid range end', lookahead());
|
|
}
|
|
return start;
|
|
}
|
|
function parseClassCharacter() {
|
|
if (match('\\')) {
|
|
var res,
|
|
from = pos;
|
|
if (res = parseClassCharacterEscapedHelper()) {
|
|
return res;
|
|
} else {
|
|
bail('Invalid escape', '\\' + lookahead(), from);
|
|
}
|
|
}
|
|
return parseClassCharacterUnescapedHelper();
|
|
}
|
|
function parseClassCharacterUnescapedHelper() {
|
|
var res;
|
|
if (res = matchReg(/^[^()[\]{}/\-\\|]/)) {
|
|
return createCharacter(res);
|
|
}
|
|
}
|
|
function parseClassCharacterEscapedHelper() {
|
|
var res;
|
|
if (match('b')) {
|
|
return createEscaped('singleEscape', 0x0008, '\\b');
|
|
} else if (match('B')) {
|
|
bail('\\B not possible inside of ClassContents', '', pos - 2);
|
|
} else if (res = matchReg(/^[&\-!#%,:;<=>@_`~]/)) {
|
|
return createEscaped('identifier', res[0].codePointAt(0), res[0]);
|
|
} else if (res = parseCharacterEscape()) {
|
|
return res;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
function parseClassStrings() {
|
|
var from = pos - 3;
|
|
var res = [];
|
|
do {
|
|
res.push(parseClassString());
|
|
} while (match('|'));
|
|
skip('}');
|
|
return createClassStrings(res, from, pos);
|
|
}
|
|
function parseClassString() {
|
|
var res = [],
|
|
from = pos;
|
|
var _char2;
|
|
while (_char2 = parseClassCharacter()) {
|
|
res.push(_char2);
|
|
}
|
|
return createClassString(res, from, pos);
|
|
}
|
|
function bail(message, details, from, to) {
|
|
from = from == null ? pos : from;
|
|
to = to == null ? from : to;
|
|
var contextStart = Math.max(0, from - 10);
|
|
var contextEnd = Math.min(to + 10, str.length);
|
|
var context = ' ' + str.substring(contextStart, contextEnd);
|
|
var pointer = ' ' + new Array(from - contextStart + 1).join(' ') + '^';
|
|
throw SyntaxError(message + ' at position ' + from + (details ? ': ' + details : '') + '\n' + context + '\n' + pointer);
|
|
}
|
|
var backrefDenied = [];
|
|
var closedCaptureCounter = 0;
|
|
var firstIteration = true;
|
|
var shouldReparse = false;
|
|
var hasUnicodeFlag = (flags || "").indexOf("u") !== -1;
|
|
var hasUnicodeSetFlag = (flags || "").indexOf("v") !== -1;
|
|
var isUnicodeMode = hasUnicodeFlag || hasUnicodeSetFlag;
|
|
var pos = 0;
|
|
if (hasUnicodeSetFlag && !features.unicodeSet) {
|
|
throw new Error('The "v" flag is only supported when the .unicodeSet option is enabled.');
|
|
}
|
|
if (hasUnicodeFlag && hasUnicodeSetFlag) {
|
|
throw new Error('The "u" and "v" flags are mutually exclusive.');
|
|
}
|
|
str = String(str);
|
|
if (str === '') {
|
|
str = '(?:)';
|
|
}
|
|
var result = parseDisjunction();
|
|
if (result.range[1] !== str.length) {
|
|
bail('Could not parse entire input - got stuck', '', result.range[1]);
|
|
}
|
|
shouldReparse = shouldReparse || backrefDenied.some(function (ref) {
|
|
return ref <= closedCaptureCounter;
|
|
});
|
|
if (shouldReparse) {
|
|
pos = 0;
|
|
firstIteration = false;
|
|
return parseDisjunction();
|
|
}
|
|
return result;
|
|
}
|
|
var regjsparser = {
|
|
parse: parse
|
|
};
|
|
if (module.exports) {
|
|
module.exports = regjsparser;
|
|
} else {
|
|
window.regjsparser = regjsparser;
|
|
}
|
|
})();
|
|
})(parser);
|
|
|
|
var unicodeCanonicalPropertyNamesEcmascript = new Set(['General_Category', 'Script', 'Script_Extensions', 'Alphabetic', 'Any', 'ASCII', 'ASCII_Hex_Digit', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'ID_Continue', 'ID_Start', 'Ideographic', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']);
|
|
|
|
var unicodePropertyAliasesEcmascript = new Map([['scx', 'Script_Extensions'], ['sc', 'Script'], ['gc', 'General_Category'], ['AHex', 'ASCII_Hex_Digit'], ['Alpha', 'Alphabetic'], ['Bidi_C', 'Bidi_Control'], ['Bidi_M', 'Bidi_Mirrored'], ['Cased', 'Cased'], ['CI', 'Case_Ignorable'], ['CWCF', 'Changes_When_Casefolded'], ['CWCM', 'Changes_When_Casemapped'], ['CWKCF', 'Changes_When_NFKC_Casefolded'], ['CWL', 'Changes_When_Lowercased'], ['CWT', 'Changes_When_Titlecased'], ['CWU', 'Changes_When_Uppercased'], ['Dash', 'Dash'], ['Dep', 'Deprecated'], ['DI', 'Default_Ignorable_Code_Point'], ['Dia', 'Diacritic'], ['EBase', 'Emoji_Modifier_Base'], ['EComp', 'Emoji_Component'], ['EMod', 'Emoji_Modifier'], ['Emoji', 'Emoji'], ['EPres', 'Emoji_Presentation'], ['Ext', 'Extender'], ['ExtPict', 'Extended_Pictographic'], ['Gr_Base', 'Grapheme_Base'], ['Gr_Ext', 'Grapheme_Extend'], ['Hex', 'Hex_Digit'], ['IDC', 'ID_Continue'], ['Ideo', 'Ideographic'], ['IDS', 'ID_Start'], ['IDSB', 'IDS_Binary_Operator'], ['IDST', 'IDS_Trinary_Operator'], ['Join_C', 'Join_Control'], ['LOE', 'Logical_Order_Exception'], ['Lower', 'Lowercase'], ['Math', 'Math'], ['NChar', 'Noncharacter_Code_Point'], ['Pat_Syn', 'Pattern_Syntax'], ['Pat_WS', 'Pattern_White_Space'], ['QMark', 'Quotation_Mark'], ['Radical', 'Radical'], ['RI', 'Regional_Indicator'], ['SD', 'Soft_Dotted'], ['STerm', 'Sentence_Terminal'], ['Term', 'Terminal_Punctuation'], ['UIdeo', 'Unified_Ideograph'], ['Upper', 'Uppercase'], ['VS', 'Variation_Selector'], ['WSpace', 'White_Space'], ['space', 'White_Space'], ['XIDC', 'XID_Continue'], ['XIDS', 'XID_Start']]);
|
|
|
|
var canonicalProperties = unicodeCanonicalPropertyNamesEcmascript;
|
|
var propertyAliases = unicodePropertyAliasesEcmascript;
|
|
var matchProperty = function matchProperty(property) {
|
|
if (canonicalProperties.has(property)) {
|
|
return property;
|
|
}
|
|
if (propertyAliases.has(property)) {
|
|
return propertyAliases.get(property);
|
|
}
|
|
throw new Error("Unknown property: " + property);
|
|
};
|
|
var unicodeMatchPropertyEcmascript = matchProperty;
|
|
|
|
var mappings = new Map([['General_Category', new Map([['C', 'Other'], ['Cc', 'Control'], ['cntrl', 'Control'], ['Cf', 'Format'], ['Cn', 'Unassigned'], ['Co', 'Private_Use'], ['Cs', 'Surrogate'], ['L', 'Letter'], ['LC', 'Cased_Letter'], ['Ll', 'Lowercase_Letter'], ['Lm', 'Modifier_Letter'], ['Lo', 'Other_Letter'], ['Lt', 'Titlecase_Letter'], ['Lu', 'Uppercase_Letter'], ['M', 'Mark'], ['Combining_Mark', 'Mark'], ['Mc', 'Spacing_Mark'], ['Me', 'Enclosing_Mark'], ['Mn', 'Nonspacing_Mark'], ['N', 'Number'], ['Nd', 'Decimal_Number'], ['digit', 'Decimal_Number'], ['Nl', 'Letter_Number'], ['No', 'Other_Number'], ['P', 'Punctuation'], ['punct', 'Punctuation'], ['Pc', 'Connector_Punctuation'], ['Pd', 'Dash_Punctuation'], ['Pe', 'Close_Punctuation'], ['Pf', 'Final_Punctuation'], ['Pi', 'Initial_Punctuation'], ['Po', 'Other_Punctuation'], ['Ps', 'Open_Punctuation'], ['S', 'Symbol'], ['Sc', 'Currency_Symbol'], ['Sk', 'Modifier_Symbol'], ['Sm', 'Math_Symbol'], ['So', 'Other_Symbol'], ['Z', 'Separator'], ['Zl', 'Line_Separator'], ['Zp', 'Paragraph_Separator'], ['Zs', 'Space_Separator'], ['Other', 'Other'], ['Control', 'Control'], ['Format', 'Format'], ['Unassigned', 'Unassigned'], ['Private_Use', 'Private_Use'], ['Surrogate', 'Surrogate'], ['Letter', 'Letter'], ['Cased_Letter', 'Cased_Letter'], ['Lowercase_Letter', 'Lowercase_Letter'], ['Modifier_Letter', 'Modifier_Letter'], ['Other_Letter', 'Other_Letter'], ['Titlecase_Letter', 'Titlecase_Letter'], ['Uppercase_Letter', 'Uppercase_Letter'], ['Mark', 'Mark'], ['Spacing_Mark', 'Spacing_Mark'], ['Enclosing_Mark', 'Enclosing_Mark'], ['Nonspacing_Mark', 'Nonspacing_Mark'], ['Number', 'Number'], ['Decimal_Number', 'Decimal_Number'], ['Letter_Number', 'Letter_Number'], ['Other_Number', 'Other_Number'], ['Punctuation', 'Punctuation'], ['Connector_Punctuation', 'Connector_Punctuation'], ['Dash_Punctuation', 'Dash_Punctuation'], ['Close_Punctuation', 'Close_Punctuation'], ['Final_Punctuation', 'Final_Punctuation'], ['Initial_Punctuation', 'Initial_Punctuation'], ['Other_Punctuation', 'Other_Punctuation'], ['Open_Punctuation', 'Open_Punctuation'], ['Symbol', 'Symbol'], ['Currency_Symbol', 'Currency_Symbol'], ['Modifier_Symbol', 'Modifier_Symbol'], ['Math_Symbol', 'Math_Symbol'], ['Other_Symbol', 'Other_Symbol'], ['Separator', 'Separator'], ['Line_Separator', 'Line_Separator'], ['Paragraph_Separator', 'Paragraph_Separator'], ['Space_Separator', 'Space_Separator']])], ['Script', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Chrs', 'Chorasmian'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cpmn', 'Cypro_Minoan'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Diak', 'Dives_Akuru'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Kawi', 'Kawi'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Kits', 'Khitan_Small_Script'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nagm', 'Nag_Mundari'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Ougr', 'Old_Uyghur'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Tnsa', 'Tangsa'], ['Toto', 'Toto'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Vith', 'Vithkuqi'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yezi', 'Yezidi'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Chorasmian', 'Chorasmian'], ['Coptic', 'Coptic'], ['Cypro_Minoan', 'Cypro_Minoan'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dives_Akuru', 'Dives_Akuru'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Khitan_Small_Script', 'Khitan_Small_Script'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nag_Mundari', 'Nag_Mundari'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Old_Uyghur', 'Old_Uyghur'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Tangsa', 'Tangsa'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Vithkuqi', 'Vithkuqi'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yezidi', 'Yezidi'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])], ['Script_Extensions', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Chrs', 'Chorasmian'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cpmn', 'Cypro_Minoan'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Diak', 'Dives_Akuru'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Kawi', 'Kawi'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Kits', 'Khitan_Small_Script'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nagm', 'Nag_Mundari'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Ougr', 'Old_Uyghur'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Tnsa', 'Tangsa'], ['Toto', 'Toto'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Vith', 'Vithkuqi'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yezi', 'Yezidi'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Chorasmian', 'Chorasmian'], ['Coptic', 'Coptic'], ['Cypro_Minoan', 'Cypro_Minoan'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dives_Akuru', 'Dives_Akuru'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Khitan_Small_Script', 'Khitan_Small_Script'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nag_Mundari', 'Nag_Mundari'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Old_Uyghur', 'Old_Uyghur'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Tangsa', 'Tangsa'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Vithkuqi', 'Vithkuqi'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yezidi', 'Yezidi'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])]]);
|
|
|
|
var propertyToValueAliases = mappings;
|
|
var matchPropertyValue = function matchPropertyValue(property, value) {
|
|
var aliasToValue = propertyToValueAliases.get(property);
|
|
if (!aliasToValue) {
|
|
throw new Error("Unknown property `" + property + "`.");
|
|
}
|
|
var canonicalValue = aliasToValue.get(value);
|
|
if (canonicalValue) {
|
|
return canonicalValue;
|
|
}
|
|
throw new Error("Unknown value `" + value + "` for property `" + property + "`.");
|
|
};
|
|
var unicodeMatchPropertyValueEcmascript = matchPropertyValue;
|
|
|
|
var iuMappings$1 = new Map([[0x4B, 0x212A], [0x53, 0x17F], [0x6B, 0x212A], [0x73, 0x17F], [0xB5, 0x39C], [0xC5, 0x212B], [0xDF, 0x1E9E], [0xE5, 0x212B], [0x17F, 0x53], [0x1C4, 0x1C5], [0x1C5, 0x1C4], [0x1C7, 0x1C8], [0x1C8, 0x1C7], [0x1CA, 0x1CB], [0x1CB, 0x1CA], [0x1F1, 0x1F2], [0x1F2, 0x1F1], [0x345, 0x1FBE], [0x392, 0x3D0], [0x395, 0x3F5], [0x398, 0x3F4], [0x399, 0x1FBE], [0x39A, 0x3F0], [0x39C, 0xB5], [0x3A0, 0x3D6], [0x3A1, 0x3F1], [0x3A3, 0x3C2], [0x3A6, 0x3D5], [0x3A9, 0x2126], [0x3B8, 0x3F4], [0x3C2, 0x3A3], [0x3C9, 0x2126], [0x3D0, 0x392], [0x3D1, 0x3F4], [0x3D5, 0x3A6], [0x3D6, 0x3A0], [0x3F0, 0x39A], [0x3F1, 0x3A1], [0x3F4, [0x398, 0x3D1, 0x3B8]], [0x3F5, 0x395], [0x412, 0x1C80], [0x414, 0x1C81], [0x41E, 0x1C82], [0x421, 0x1C83], [0x422, 0x1C85], [0x42A, 0x1C86], [0x462, 0x1C87], [0x1C80, 0x412], [0x1C81, 0x414], [0x1C82, 0x41E], [0x1C83, 0x421], [0x1C84, 0x1C85], [0x1C85, [0x422, 0x1C84]], [0x1C86, 0x42A], [0x1C87, 0x462], [0x1C88, 0xA64A], [0x1E60, 0x1E9B], [0x1E9B, 0x1E60], [0x1E9E, 0xDF], [0x1F80, 0x1F88], [0x1F81, 0x1F89], [0x1F82, 0x1F8A], [0x1F83, 0x1F8B], [0x1F84, 0x1F8C], [0x1F85, 0x1F8D], [0x1F86, 0x1F8E], [0x1F87, 0x1F8F], [0x1F88, 0x1F80], [0x1F89, 0x1F81], [0x1F8A, 0x1F82], [0x1F8B, 0x1F83], [0x1F8C, 0x1F84], [0x1F8D, 0x1F85], [0x1F8E, 0x1F86], [0x1F8F, 0x1F87], [0x1F90, 0x1F98], [0x1F91, 0x1F99], [0x1F92, 0x1F9A], [0x1F93, 0x1F9B], [0x1F94, 0x1F9C], [0x1F95, 0x1F9D], [0x1F96, 0x1F9E], [0x1F97, 0x1F9F], [0x1F98, 0x1F90], [0x1F99, 0x1F91], [0x1F9A, 0x1F92], [0x1F9B, 0x1F93], [0x1F9C, 0x1F94], [0x1F9D, 0x1F95], [0x1F9E, 0x1F96], [0x1F9F, 0x1F97], [0x1FA0, 0x1FA8], [0x1FA1, 0x1FA9], [0x1FA2, 0x1FAA], [0x1FA3, 0x1FAB], [0x1FA4, 0x1FAC], [0x1FA5, 0x1FAD], [0x1FA6, 0x1FAE], [0x1FA7, 0x1FAF], [0x1FA8, 0x1FA0], [0x1FA9, 0x1FA1], [0x1FAA, 0x1FA2], [0x1FAB, 0x1FA3], [0x1FAC, 0x1FA4], [0x1FAD, 0x1FA5], [0x1FAE, 0x1FA6], [0x1FAF, 0x1FA7], [0x1FB3, 0x1FBC], [0x1FBC, 0x1FB3], [0x1FBE, [0x345, 0x399]], [0x1FC3, 0x1FCC], [0x1FCC, 0x1FC3], [0x1FF3, 0x1FFC], [0x1FFC, 0x1FF3], [0x2126, [0x3A9, 0x3C9]], [0x212A, 0x4B], [0x212B, [0xC5, 0xE5]], [0xA64A, 0x1C88], [0x10400, 0x10428], [0x10401, 0x10429], [0x10402, 0x1042A], [0x10403, 0x1042B], [0x10404, 0x1042C], [0x10405, 0x1042D], [0x10406, 0x1042E], [0x10407, 0x1042F], [0x10408, 0x10430], [0x10409, 0x10431], [0x1040A, 0x10432], [0x1040B, 0x10433], [0x1040C, 0x10434], [0x1040D, 0x10435], [0x1040E, 0x10436], [0x1040F, 0x10437], [0x10410, 0x10438], [0x10411, 0x10439], [0x10412, 0x1043A], [0x10413, 0x1043B], [0x10414, 0x1043C], [0x10415, 0x1043D], [0x10416, 0x1043E], [0x10417, 0x1043F], [0x10418, 0x10440], [0x10419, 0x10441], [0x1041A, 0x10442], [0x1041B, 0x10443], [0x1041C, 0x10444], [0x1041D, 0x10445], [0x1041E, 0x10446], [0x1041F, 0x10447], [0x10420, 0x10448], [0x10421, 0x10449], [0x10422, 0x1044A], [0x10423, 0x1044B], [0x10424, 0x1044C], [0x10425, 0x1044D], [0x10426, 0x1044E], [0x10427, 0x1044F], [0x10428, 0x10400], [0x10429, 0x10401], [0x1042A, 0x10402], [0x1042B, 0x10403], [0x1042C, 0x10404], [0x1042D, 0x10405], [0x1042E, 0x10406], [0x1042F, 0x10407], [0x10430, 0x10408], [0x10431, 0x10409], [0x10432, 0x1040A], [0x10433, 0x1040B], [0x10434, 0x1040C], [0x10435, 0x1040D], [0x10436, 0x1040E], [0x10437, 0x1040F], [0x10438, 0x10410], [0x10439, 0x10411], [0x1043A, 0x10412], [0x1043B, 0x10413], [0x1043C, 0x10414], [0x1043D, 0x10415], [0x1043E, 0x10416], [0x1043F, 0x10417], [0x10440, 0x10418], [0x10441, 0x10419], [0x10442, 0x1041A], [0x10443, 0x1041B], [0x10444, 0x1041C], [0x10445, 0x1041D], [0x10446, 0x1041E], [0x10447, 0x1041F], [0x10448, 0x10420], [0x10449, 0x10421], [0x1044A, 0x10422], [0x1044B, 0x10423], [0x1044C, 0x10424], [0x1044D, 0x10425], [0x1044E, 0x10426], [0x1044F, 0x10427], [0x104B0, 0x104D8], [0x104B1, 0x104D9], [0x104B2, 0x104DA], [0x104B3, 0x104DB], [0x104B4, 0x104DC], [0x104B5, 0x104DD], [0x104B6, 0x104DE], [0x104B7, 0x104DF], [0x104B8, 0x104E0], [0x104B9, 0x104E1], [0x104BA, 0x104E2], [0x104BB, 0x104E3], [0x104BC, 0x104E4], [0x104BD, 0x104E5], [0x104BE, 0x104E6], [0x104BF, 0x104E7], [0x104C0, 0x104E8], [0x104C1, 0x104E9], [0x104C2, 0x104EA], [0x104C3, 0x104EB], [0x104C4, 0x104EC], [0x104C5, 0x104ED], [0x104C6, 0x104EE], [0x104C7, 0x104EF], [0x104C8, 0x104F0], [0x104C9, 0x104F1], [0x104CA, 0x104F2], [0x104CB, 0x104F3], [0x104CC, 0x104F4], [0x104CD, 0x104F5], [0x104CE, 0x104F6], [0x104CF, 0x104F7], [0x104D0, 0x104F8], [0x104D1, 0x104F9], [0x104D2, 0x104FA], [0x104D3, 0x104FB], [0x104D8, 0x104B0], [0x104D9, 0x104B1], [0x104DA, 0x104B2], [0x104DB, 0x104B3], [0x104DC, 0x104B4], [0x104DD, 0x104B5], [0x104DE, 0x104B6], [0x104DF, 0x104B7], [0x104E0, 0x104B8], [0x104E1, 0x104B9], [0x104E2, 0x104BA], [0x104E3, 0x104BB], [0x104E4, 0x104BC], [0x104E5, 0x104BD], [0x104E6, 0x104BE], [0x104E7, 0x104BF], [0x104E8, 0x104C0], [0x104E9, 0x104C1], [0x104EA, 0x104C2], [0x104EB, 0x104C3], [0x104EC, 0x104C4], [0x104ED, 0x104C5], [0x104EE, 0x104C6], [0x104EF, 0x104C7], [0x104F0, 0x104C8], [0x104F1, 0x104C9], [0x104F2, 0x104CA], [0x104F3, 0x104CB], [0x104F4, 0x104CC], [0x104F5, 0x104CD], [0x104F6, 0x104CE], [0x104F7, 0x104CF], [0x104F8, 0x104D0], [0x104F9, 0x104D1], [0x104FA, 0x104D2], [0x104FB, 0x104D3], [0x10570, 0x10597], [0x10571, 0x10598], [0x10572, 0x10599], [0x10573, 0x1059A], [0x10574, 0x1059B], [0x10575, 0x1059C], [0x10576, 0x1059D], [0x10577, 0x1059E], [0x10578, 0x1059F], [0x10579, 0x105A0], [0x1057A, 0x105A1], [0x1057C, 0x105A3], [0x1057D, 0x105A4], [0x1057E, 0x105A5], [0x1057F, 0x105A6], [0x10580, 0x105A7], [0x10581, 0x105A8], [0x10582, 0x105A9], [0x10583, 0x105AA], [0x10584, 0x105AB], [0x10585, 0x105AC], [0x10586, 0x105AD], [0x10587, 0x105AE], [0x10588, 0x105AF], [0x10589, 0x105B0], [0x1058A, 0x105B1], [0x1058C, 0x105B3], [0x1058D, 0x105B4], [0x1058E, 0x105B5], [0x1058F, 0x105B6], [0x10590, 0x105B7], [0x10591, 0x105B8], [0x10592, 0x105B9], [0x10594, 0x105BB], [0x10595, 0x105BC], [0x10597, 0x10570], [0x10598, 0x10571], [0x10599, 0x10572], [0x1059A, 0x10573], [0x1059B, 0x10574], [0x1059C, 0x10575], [0x1059D, 0x10576], [0x1059E, 0x10577], [0x1059F, 0x10578], [0x105A0, 0x10579], [0x105A1, 0x1057A], [0x105A3, 0x1057C], [0x105A4, 0x1057D], [0x105A5, 0x1057E], [0x105A6, 0x1057F], [0x105A7, 0x10580], [0x105A8, 0x10581], [0x105A9, 0x10582], [0x105AA, 0x10583], [0x105AB, 0x10584], [0x105AC, 0x10585], [0x105AD, 0x10586], [0x105AE, 0x10587], [0x105AF, 0x10588], [0x105B0, 0x10589], [0x105B1, 0x1058A], [0x105B3, 0x1058C], [0x105B4, 0x1058D], [0x105B5, 0x1058E], [0x105B6, 0x1058F], [0x105B7, 0x10590], [0x105B8, 0x10591], [0x105B9, 0x10592], [0x105BB, 0x10594], [0x105BC, 0x10595], [0x10C80, 0x10CC0], [0x10C81, 0x10CC1], [0x10C82, 0x10CC2], [0x10C83, 0x10CC3], [0x10C84, 0x10CC4], [0x10C85, 0x10CC5], [0x10C86, 0x10CC6], [0x10C87, 0x10CC7], [0x10C88, 0x10CC8], [0x10C89, 0x10CC9], [0x10C8A, 0x10CCA], [0x10C8B, 0x10CCB], [0x10C8C, 0x10CCC], [0x10C8D, 0x10CCD], [0x10C8E, 0x10CCE], [0x10C8F, 0x10CCF], [0x10C90, 0x10CD0], [0x10C91, 0x10CD1], [0x10C92, 0x10CD2], [0x10C93, 0x10CD3], [0x10C94, 0x10CD4], [0x10C95, 0x10CD5], [0x10C96, 0x10CD6], [0x10C97, 0x10CD7], [0x10C98, 0x10CD8], [0x10C99, 0x10CD9], [0x10C9A, 0x10CDA], [0x10C9B, 0x10CDB], [0x10C9C, 0x10CDC], [0x10C9D, 0x10CDD], [0x10C9E, 0x10CDE], [0x10C9F, 0x10CDF], [0x10CA0, 0x10CE0], [0x10CA1, 0x10CE1], [0x10CA2, 0x10CE2], [0x10CA3, 0x10CE3], [0x10CA4, 0x10CE4], [0x10CA5, 0x10CE5], [0x10CA6, 0x10CE6], [0x10CA7, 0x10CE7], [0x10CA8, 0x10CE8], [0x10CA9, 0x10CE9], [0x10CAA, 0x10CEA], [0x10CAB, 0x10CEB], [0x10CAC, 0x10CEC], [0x10CAD, 0x10CED], [0x10CAE, 0x10CEE], [0x10CAF, 0x10CEF], [0x10CB0, 0x10CF0], [0x10CB1, 0x10CF1], [0x10CB2, 0x10CF2], [0x10CC0, 0x10C80], [0x10CC1, 0x10C81], [0x10CC2, 0x10C82], [0x10CC3, 0x10C83], [0x10CC4, 0x10C84], [0x10CC5, 0x10C85], [0x10CC6, 0x10C86], [0x10CC7, 0x10C87], [0x10CC8, 0x10C88], [0x10CC9, 0x10C89], [0x10CCA, 0x10C8A], [0x10CCB, 0x10C8B], [0x10CCC, 0x10C8C], [0x10CCD, 0x10C8D], [0x10CCE, 0x10C8E], [0x10CCF, 0x10C8F], [0x10CD0, 0x10C90], [0x10CD1, 0x10C91], [0x10CD2, 0x10C92], [0x10CD3, 0x10C93], [0x10CD4, 0x10C94], [0x10CD5, 0x10C95], [0x10CD6, 0x10C96], [0x10CD7, 0x10C97], [0x10CD8, 0x10C98], [0x10CD9, 0x10C99], [0x10CDA, 0x10C9A], [0x10CDB, 0x10C9B], [0x10CDC, 0x10C9C], [0x10CDD, 0x10C9D], [0x10CDE, 0x10C9E], [0x10CDF, 0x10C9F], [0x10CE0, 0x10CA0], [0x10CE1, 0x10CA1], [0x10CE2, 0x10CA2], [0x10CE3, 0x10CA3], [0x10CE4, 0x10CA4], [0x10CE5, 0x10CA5], [0x10CE6, 0x10CA6], [0x10CE7, 0x10CA7], [0x10CE8, 0x10CA8], [0x10CE9, 0x10CA9], [0x10CEA, 0x10CAA], [0x10CEB, 0x10CAB], [0x10CEC, 0x10CAC], [0x10CED, 0x10CAD], [0x10CEE, 0x10CAE], [0x10CEF, 0x10CAF], [0x10CF0, 0x10CB0], [0x10CF1, 0x10CB1], [0x10CF2, 0x10CB2], [0x118A0, 0x118C0], [0x118A1, 0x118C1], [0x118A2, 0x118C2], [0x118A3, 0x118C3], [0x118A4, 0x118C4], [0x118A5, 0x118C5], [0x118A6, 0x118C6], [0x118A7, 0x118C7], [0x118A8, 0x118C8], [0x118A9, 0x118C9], [0x118AA, 0x118CA], [0x118AB, 0x118CB], [0x118AC, 0x118CC], [0x118AD, 0x118CD], [0x118AE, 0x118CE], [0x118AF, 0x118CF], [0x118B0, 0x118D0], [0x118B1, 0x118D1], [0x118B2, 0x118D2], [0x118B3, 0x118D3], [0x118B4, 0x118D4], [0x118B5, 0x118D5], [0x118B6, 0x118D6], [0x118B7, 0x118D7], [0x118B8, 0x118D8], [0x118B9, 0x118D9], [0x118BA, 0x118DA], [0x118BB, 0x118DB], [0x118BC, 0x118DC], [0x118BD, 0x118DD], [0x118BE, 0x118DE], [0x118BF, 0x118DF], [0x118C0, 0x118A0], [0x118C1, 0x118A1], [0x118C2, 0x118A2], [0x118C3, 0x118A3], [0x118C4, 0x118A4], [0x118C5, 0x118A5], [0x118C6, 0x118A6], [0x118C7, 0x118A7], [0x118C8, 0x118A8], [0x118C9, 0x118A9], [0x118CA, 0x118AA], [0x118CB, 0x118AB], [0x118CC, 0x118AC], [0x118CD, 0x118AD], [0x118CE, 0x118AE], [0x118CF, 0x118AF], [0x118D0, 0x118B0], [0x118D1, 0x118B1], [0x118D2, 0x118B2], [0x118D3, 0x118B3], [0x118D4, 0x118B4], [0x118D5, 0x118B5], [0x118D6, 0x118B6], [0x118D7, 0x118B7], [0x118D8, 0x118B8], [0x118D9, 0x118B9], [0x118DA, 0x118BA], [0x118DB, 0x118BB], [0x118DC, 0x118BC], [0x118DD, 0x118BD], [0x118DE, 0x118BE], [0x118DF, 0x118BF], [0x16E40, 0x16E60], [0x16E41, 0x16E61], [0x16E42, 0x16E62], [0x16E43, 0x16E63], [0x16E44, 0x16E64], [0x16E45, 0x16E65], [0x16E46, 0x16E66], [0x16E47, 0x16E67], [0x16E48, 0x16E68], [0x16E49, 0x16E69], [0x16E4A, 0x16E6A], [0x16E4B, 0x16E6B], [0x16E4C, 0x16E6C], [0x16E4D, 0x16E6D], [0x16E4E, 0x16E6E], [0x16E4F, 0x16E6F], [0x16E50, 0x16E70], [0x16E51, 0x16E71], [0x16E52, 0x16E72], [0x16E53, 0x16E73], [0x16E54, 0x16E74], [0x16E55, 0x16E75], [0x16E56, 0x16E76], [0x16E57, 0x16E77], [0x16E58, 0x16E78], [0x16E59, 0x16E79], [0x16E5A, 0x16E7A], [0x16E5B, 0x16E7B], [0x16E5C, 0x16E7C], [0x16E5D, 0x16E7D], [0x16E5E, 0x16E7E], [0x16E5F, 0x16E7F], [0x16E60, 0x16E40], [0x16E61, 0x16E41], [0x16E62, 0x16E42], [0x16E63, 0x16E43], [0x16E64, 0x16E44], [0x16E65, 0x16E45], [0x16E66, 0x16E46], [0x16E67, 0x16E47], [0x16E68, 0x16E48], [0x16E69, 0x16E49], [0x16E6A, 0x16E4A], [0x16E6B, 0x16E4B], [0x16E6C, 0x16E4C], [0x16E6D, 0x16E4D], [0x16E6E, 0x16E4E], [0x16E6F, 0x16E4F], [0x16E70, 0x16E50], [0x16E71, 0x16E51], [0x16E72, 0x16E52], [0x16E73, 0x16E53], [0x16E74, 0x16E54], [0x16E75, 0x16E55], [0x16E76, 0x16E56], [0x16E77, 0x16E57], [0x16E78, 0x16E58], [0x16E79, 0x16E59], [0x16E7A, 0x16E5A], [0x16E7B, 0x16E5B], [0x16E7C, 0x16E5C], [0x16E7D, 0x16E5D], [0x16E7E, 0x16E5E], [0x16E7F, 0x16E5F], [0x1E900, 0x1E922], [0x1E901, 0x1E923], [0x1E902, 0x1E924], [0x1E903, 0x1E925], [0x1E904, 0x1E926], [0x1E905, 0x1E927], [0x1E906, 0x1E928], [0x1E907, 0x1E929], [0x1E908, 0x1E92A], [0x1E909, 0x1E92B], [0x1E90A, 0x1E92C], [0x1E90B, 0x1E92D], [0x1E90C, 0x1E92E], [0x1E90D, 0x1E92F], [0x1E90E, 0x1E930], [0x1E90F, 0x1E931], [0x1E910, 0x1E932], [0x1E911, 0x1E933], [0x1E912, 0x1E934], [0x1E913, 0x1E935], [0x1E914, 0x1E936], [0x1E915, 0x1E937], [0x1E916, 0x1E938], [0x1E917, 0x1E939], [0x1E918, 0x1E93A], [0x1E919, 0x1E93B], [0x1E91A, 0x1E93C], [0x1E91B, 0x1E93D], [0x1E91C, 0x1E93E], [0x1E91D, 0x1E93F], [0x1E91E, 0x1E940], [0x1E91F, 0x1E941], [0x1E920, 0x1E942], [0x1E921, 0x1E943], [0x1E922, 0x1E900], [0x1E923, 0x1E901], [0x1E924, 0x1E902], [0x1E925, 0x1E903], [0x1E926, 0x1E904], [0x1E927, 0x1E905], [0x1E928, 0x1E906], [0x1E929, 0x1E907], [0x1E92A, 0x1E908], [0x1E92B, 0x1E909], [0x1E92C, 0x1E90A], [0x1E92D, 0x1E90B], [0x1E92E, 0x1E90C], [0x1E92F, 0x1E90D], [0x1E930, 0x1E90E], [0x1E931, 0x1E90F], [0x1E932, 0x1E910], [0x1E933, 0x1E911], [0x1E934, 0x1E912], [0x1E935, 0x1E913], [0x1E936, 0x1E914], [0x1E937, 0x1E915], [0x1E938, 0x1E916], [0x1E939, 0x1E917], [0x1E93A, 0x1E918], [0x1E93B, 0x1E919], [0x1E93C, 0x1E91A], [0x1E93D, 0x1E91B], [0x1E93E, 0x1E91C], [0x1E93F, 0x1E91D], [0x1E940, 0x1E91E], [0x1E941, 0x1E91F], [0x1E942, 0x1E920], [0x1E943, 0x1E921]]);
|
|
|
|
var characterClassEscapeSets = {};
|
|
|
|
var regenerate$1 = regenerate$2.exports;
|
|
characterClassEscapeSets.REGULAR = new Map([['d', regenerate$1().addRange(0x30, 0x39)], ['D', regenerate$1().addRange(0x0, 0x2F).addRange(0x3A, 0xFFFF)], ['s', regenerate$1(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate$1().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0xFFFF)], ['w', regenerate$1(0x5F).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate$1(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0xFFFF)]]);
|
|
characterClassEscapeSets.UNICODE = new Map([['d', regenerate$1().addRange(0x30, 0x39)], ['D', regenerate$1().addRange(0x0, 0x2F).addRange(0x3A, 0x10FFFF)], ['s', regenerate$1(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate$1().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0x10FFFF)], ['w', regenerate$1(0x5F).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate$1(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x10FFFF)]]);
|
|
characterClassEscapeSets.UNICODE_IGNORE_CASE = new Map([['d', regenerate$1().addRange(0x30, 0x39)], ['D', regenerate$1().addRange(0x0, 0x2F).addRange(0x3A, 0x10FFFF)], ['s', regenerate$1(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate$1().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0x10FFFF)], ['w', regenerate$1(0x5F, 0x17F, 0x212A).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate$1(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x17E).addRange(0x180, 0x2129).addRange(0x212B, 0x10FFFF)]]);
|
|
|
|
var generate = regjsgen.exports.generate;
|
|
var parse = parser.exports.parse;
|
|
var regenerate = regenerate$2.exports;
|
|
var unicodeMatchProperty = unicodeMatchPropertyEcmascript;
|
|
var unicodeMatchPropertyValue = unicodeMatchPropertyValueEcmascript;
|
|
var iuMappings = iuMappings$1;
|
|
var ESCAPE_SETS = characterClassEscapeSets;
|
|
function flatMap$1(array, callback) {
|
|
var result = [];
|
|
array.forEach(function (item) {
|
|
var res = callback(item);
|
|
if (Array.isArray(res)) {
|
|
result.push.apply(result, res);
|
|
} else {
|
|
result.push(res);
|
|
}
|
|
});
|
|
return result;
|
|
}
|
|
var SPECIAL_CHARS = /([\\^$.*+?()[\]{}|])/g;
|
|
var UNICODE_SET = regenerate().addRange(0x0, 0x10FFFF);
|
|
var ASTRAL_SET = regenerate().addRange(0x10000, 0x10FFFF);
|
|
var NEWLINE_SET = regenerate().add(0x000A, 0x000D, 0x2028, 0x2029);
|
|
var DOT_SET_UNICODE = UNICODE_SET.clone().remove(NEWLINE_SET);
|
|
var getCharacterClassEscapeSet = function getCharacterClassEscapeSet(character, unicode, ignoreCase) {
|
|
if (unicode) {
|
|
if (ignoreCase) {
|
|
return ESCAPE_SETS.UNICODE_IGNORE_CASE.get(character);
|
|
}
|
|
return ESCAPE_SETS.UNICODE.get(character);
|
|
}
|
|
return ESCAPE_SETS.REGULAR.get(character);
|
|
};
|
|
var getUnicodeDotSet = function getUnicodeDotSet(dotAll) {
|
|
return dotAll ? UNICODE_SET : DOT_SET_UNICODE;
|
|
};
|
|
var getUnicodePropertyValueSet = function getUnicodePropertyValueSet(property, value) {
|
|
var path = value ? property + "/" + value : "Binary_Property/" + property;
|
|
try {
|
|
return createCommonjsRequire("/node_modules/regexpu-core")("regenerate-unicode-properties/" + path + ".js");
|
|
} catch (exception) {
|
|
throw new Error("Failed to recognize value `" + value + "` for property " + ("`" + property + "`."));
|
|
}
|
|
};
|
|
var handleLoneUnicodePropertyNameOrValue = function handleLoneUnicodePropertyNameOrValue(value) {
|
|
try {
|
|
var _property = 'General_Category';
|
|
var category = unicodeMatchPropertyValue(_property, value);
|
|
return getUnicodePropertyValueSet(_property, category);
|
|
} catch (exception) {}
|
|
try {
|
|
return getUnicodePropertyValueSet('Property_of_Strings', value);
|
|
} catch (exception) {}
|
|
var property = unicodeMatchProperty(value);
|
|
return getUnicodePropertyValueSet(property);
|
|
};
|
|
var getUnicodePropertyEscapeSet = function getUnicodePropertyEscapeSet(value, isNegative) {
|
|
var parts = value.split('=');
|
|
var firstPart = parts[0];
|
|
var set;
|
|
if (parts.length == 1) {
|
|
set = handleLoneUnicodePropertyNameOrValue(firstPart);
|
|
} else {
|
|
var property = unicodeMatchProperty(firstPart);
|
|
var _value = unicodeMatchPropertyValue(property, parts[1]);
|
|
set = getUnicodePropertyValueSet(property, _value);
|
|
}
|
|
if (isNegative) {
|
|
if (set.strings) {
|
|
throw new Error('Cannot negate Unicode property of strings');
|
|
}
|
|
return {
|
|
characters: UNICODE_SET.clone().remove(set.characters),
|
|
strings: new Set()
|
|
};
|
|
}
|
|
return {
|
|
characters: set.characters.clone(),
|
|
strings: set.strings ? new Set(set.strings.map(function (str) {
|
|
return str.replace(SPECIAL_CHARS, '\\$1');
|
|
})) : new Set()
|
|
};
|
|
};
|
|
var getUnicodePropertyEscapeCharacterClassData = function getUnicodePropertyEscapeCharacterClassData(property, isNegative) {
|
|
var set = getUnicodePropertyEscapeSet(property, isNegative);
|
|
var data = getCharacterClassEmptyData();
|
|
data.singleChars = set.characters;
|
|
if (set.strings.size > 0) {
|
|
data.longStrings = set.strings;
|
|
data.maybeIncludesStrings = true;
|
|
}
|
|
return data;
|
|
};
|
|
function configNeedCaseFoldAscii() {
|
|
return !!config.modifiersData.i;
|
|
}
|
|
function configNeedCaseFoldUnicode() {
|
|
if (config.modifiersData.i === false) return false;
|
|
if (!config.transform.unicodeFlag) return false;
|
|
return Boolean(config.modifiersData.i || config.flags.ignoreCase);
|
|
}
|
|
regenerate.prototype.iuAddRange = function (min, max) {
|
|
var $this = this;
|
|
do {
|
|
var folded = caseFold(min, configNeedCaseFoldAscii(), configNeedCaseFoldUnicode());
|
|
if (folded) {
|
|
$this.add(folded);
|
|
}
|
|
} while (++min <= max);
|
|
return $this;
|
|
};
|
|
regenerate.prototype.iuRemoveRange = function (min, max) {
|
|
var $this = this;
|
|
do {
|
|
var folded = caseFold(min, configNeedCaseFoldAscii(), configNeedCaseFoldUnicode());
|
|
if (folded) {
|
|
$this.remove(folded);
|
|
}
|
|
} while (++min <= max);
|
|
return $this;
|
|
};
|
|
var update = function update(item, pattern) {
|
|
var tree = parse(pattern, config.useUnicodeFlag ? 'u' : '', {
|
|
lookbehind: true,
|
|
namedGroups: true,
|
|
unicodePropertyEscape: true,
|
|
unicodeSet: true,
|
|
modifiers: true
|
|
});
|
|
switch (tree.type) {
|
|
case 'characterClass':
|
|
case 'group':
|
|
case 'value':
|
|
break;
|
|
default:
|
|
tree = wrap(tree, pattern);
|
|
}
|
|
Object.assign(item, tree);
|
|
};
|
|
var wrap = function wrap(tree, pattern) {
|
|
return {
|
|
'type': 'group',
|
|
'behavior': 'ignore',
|
|
'body': [tree],
|
|
'raw': "(?:" + pattern + ")"
|
|
};
|
|
};
|
|
var caseFold = function caseFold(codePoint, includeAscii, includeUnicode) {
|
|
var folded = (includeUnicode ? iuMappings.get(codePoint) : undefined) || [];
|
|
if (typeof folded === 'number') folded = [folded];
|
|
if (includeAscii) {
|
|
if (codePoint >= 0x41 && codePoint <= 0x5A) {
|
|
folded.push(codePoint + 0x20);
|
|
} else if (codePoint >= 0x61 && codePoint <= 0x7A) {
|
|
folded.push(codePoint - 0x20);
|
|
}
|
|
}
|
|
return folded.length == 0 ? false : folded;
|
|
};
|
|
var buildHandler = function buildHandler(action) {
|
|
switch (action) {
|
|
case 'union':
|
|
return {
|
|
single: function single(data, cp) {
|
|
data.singleChars.add(cp);
|
|
},
|
|
regSet: function regSet(data, set2) {
|
|
data.singleChars.add(set2);
|
|
},
|
|
range: function range(data, start, end) {
|
|
data.singleChars.addRange(start, end);
|
|
},
|
|
iuRange: function iuRange(data, start, end) {
|
|
data.singleChars.iuAddRange(start, end);
|
|
},
|
|
nested: function nested(data, nestedData) {
|
|
data.singleChars.add(nestedData.singleChars);
|
|
for (var _iterator = _createForOfIteratorHelperLoose(nestedData.longStrings), _step; !(_step = _iterator()).done;) {
|
|
var str = _step.value;
|
|
data.longStrings.add(str);
|
|
}
|
|
if (nestedData.maybeIncludesStrings) data.maybeIncludesStrings = true;
|
|
}
|
|
};
|
|
case 'union-negative':
|
|
{
|
|
var regSet = function regSet(data, set2) {
|
|
data.singleChars = UNICODE_SET.clone().remove(set2).add(data.singleChars);
|
|
};
|
|
return {
|
|
single: function single(data, cp) {
|
|
var unicode = UNICODE_SET.clone();
|
|
data.singleChars = data.singleChars.contains(cp) ? unicode : unicode.remove(cp);
|
|
},
|
|
regSet: regSet,
|
|
range: function range(data, start, end) {
|
|
data.singleChars = UNICODE_SET.clone().removeRange(start, end).add(data.singleChars);
|
|
},
|
|
iuRange: function iuRange(data, start, end) {
|
|
data.singleChars = UNICODE_SET.clone().iuRemoveRange(start, end).add(data.singleChars);
|
|
},
|
|
nested: function nested(data, nestedData) {
|
|
regSet(data, nestedData.singleChars);
|
|
if (nestedData.maybeIncludesStrings) throw new Error('ASSERTION ERROR');
|
|
}
|
|
};
|
|
}
|
|
case 'intersection':
|
|
{
|
|
var _regSet = function _regSet(data, set2) {
|
|
if (data.first) data.singleChars = set2;else data.singleChars.intersection(set2);
|
|
};
|
|
return {
|
|
single: function single(data, cp) {
|
|
data.singleChars = data.first || data.singleChars.contains(cp) ? regenerate(cp) : regenerate();
|
|
data.longStrings.clear();
|
|
data.maybeIncludesStrings = false;
|
|
},
|
|
regSet: function regSet(data, set) {
|
|
_regSet(data, set);
|
|
data.longStrings.clear();
|
|
data.maybeIncludesStrings = false;
|
|
},
|
|
range: function range(data, start, end) {
|
|
if (data.first) data.singleChars.addRange(start, end);else data.singleChars.intersection(regenerate().addRange(start, end));
|
|
data.longStrings.clear();
|
|
data.maybeIncludesStrings = false;
|
|
},
|
|
iuRange: function iuRange(data, start, end) {
|
|
if (data.first) data.singleChars.iuAddRange(start, end);else data.singleChars.intersection(regenerate().iuAddRange(start, end));
|
|
data.longStrings.clear();
|
|
data.maybeIncludesStrings = false;
|
|
},
|
|
nested: function nested(data, nestedData) {
|
|
_regSet(data, nestedData.singleChars);
|
|
if (data.first) {
|
|
data.longStrings = nestedData.longStrings;
|
|
data.maybeIncludesStrings = nestedData.maybeIncludesStrings;
|
|
} else {
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(data.longStrings), _step2; !(_step2 = _iterator2()).done;) {
|
|
var str = _step2.value;
|
|
if (!nestedData.longStrings.has(str)) data.longStrings["delete"](str);
|
|
}
|
|
if (!nestedData.maybeIncludesStrings) data.maybeIncludesStrings = false;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
case 'subtraction':
|
|
{
|
|
var _regSet2 = function _regSet2(data, set2) {
|
|
if (data.first) data.singleChars.add(set2);else data.singleChars.remove(set2);
|
|
};
|
|
return {
|
|
single: function single(data, cp) {
|
|
if (data.first) data.singleChars.add(cp);else data.singleChars.remove(cp);
|
|
},
|
|
regSet: _regSet2,
|
|
range: function range(data, start, end) {
|
|
if (data.first) data.singleChars.addRange(start, end);else data.singleChars.removeRange(start, end);
|
|
},
|
|
iuRange: function iuRange(data, start, end) {
|
|
if (data.first) data.singleChars.iuAddRange(start, end);else data.singleChars.iuRemoveRange(start, end);
|
|
},
|
|
nested: function nested(data, nestedData) {
|
|
_regSet2(data, nestedData.singleChars);
|
|
if (data.first) {
|
|
data.longStrings = nestedData.longStrings;
|
|
data.maybeIncludesStrings = nestedData.maybeIncludesStrings;
|
|
} else {
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(data.longStrings), _step3; !(_step3 = _iterator3()).done;) {
|
|
var str = _step3.value;
|
|
if (nestedData.longStrings.has(str)) data.longStrings["delete"](str);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
default:
|
|
throw new Error("Unknown set action: " + characterClassItem.kind);
|
|
}
|
|
};
|
|
var getCharacterClassEmptyData = function getCharacterClassEmptyData() {
|
|
return {
|
|
transformed: config.transform.unicodeFlag,
|
|
singleChars: regenerate(),
|
|
longStrings: new Set(),
|
|
hasEmptyString: false,
|
|
first: true,
|
|
maybeIncludesStrings: false
|
|
};
|
|
};
|
|
var maybeFold = function maybeFold(codePoint) {
|
|
var caseFoldAscii = configNeedCaseFoldAscii();
|
|
var caseFoldUnicode = configNeedCaseFoldUnicode();
|
|
if (caseFoldAscii || caseFoldUnicode) {
|
|
var folded = caseFold(codePoint, caseFoldAscii, caseFoldUnicode);
|
|
if (folded) {
|
|
return [codePoint, folded];
|
|
}
|
|
}
|
|
return [codePoint];
|
|
};
|
|
var computeClassStrings = function computeClassStrings(classStrings, regenerateOptions) {
|
|
var data = getCharacterClassEmptyData();
|
|
var caseFoldAscii = configNeedCaseFoldAscii();
|
|
var caseFoldUnicode = configNeedCaseFoldUnicode();
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(classStrings.strings), _step4; !(_step4 = _iterator4()).done;) {
|
|
var string = _step4.value;
|
|
if (string.characters.length === 1) {
|
|
maybeFold(string.characters[0].codePoint).forEach(function (cp) {
|
|
data.singleChars.add(cp);
|
|
});
|
|
} else {
|
|
var stringifiedString = void 0;
|
|
if (caseFoldUnicode || caseFoldAscii) {
|
|
stringifiedString = '';
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(string.characters), _step5; !(_step5 = _iterator5()).done;) {
|
|
var ch = _step5.value;
|
|
var set = regenerate(ch.codePoint);
|
|
var folded = maybeFold(ch.codePoint);
|
|
if (folded) set.add(folded);
|
|
stringifiedString += set.toString(regenerateOptions);
|
|
}
|
|
} else {
|
|
stringifiedString = string.characters.map(function (ch) {
|
|
return generate(ch);
|
|
}).join('');
|
|
}
|
|
data.longStrings.add(stringifiedString);
|
|
data.maybeIncludesStrings = true;
|
|
}
|
|
}
|
|
return data;
|
|
};
|
|
var computeCharacterClass = function computeCharacterClass(characterClassItem, regenerateOptions) {
|
|
var data = getCharacterClassEmptyData();
|
|
var handlePositive;
|
|
var handleNegative;
|
|
switch (characterClassItem.kind) {
|
|
case 'union':
|
|
handlePositive = buildHandler('union');
|
|
handleNegative = buildHandler('union-negative');
|
|
break;
|
|
case 'intersection':
|
|
handlePositive = buildHandler('intersection');
|
|
handleNegative = buildHandler('subtraction');
|
|
break;
|
|
case 'subtraction':
|
|
handlePositive = buildHandler('subtraction');
|
|
handleNegative = buildHandler('intersection');
|
|
break;
|
|
default:
|
|
throw new Error("Unknown character class kind: " + characterClassItem.kind);
|
|
}
|
|
var caseFoldAscii = configNeedCaseFoldAscii();
|
|
var caseFoldUnicode = configNeedCaseFoldUnicode();
|
|
for (var _iterator6 = _createForOfIteratorHelperLoose(characterClassItem.body), _step6; !(_step6 = _iterator6()).done;) {
|
|
var item = _step6.value;
|
|
switch (item.type) {
|
|
case 'value':
|
|
maybeFold(item.codePoint).forEach(function (cp) {
|
|
handlePositive.single(data, cp);
|
|
});
|
|
break;
|
|
case 'characterClassRange':
|
|
var min = item.min.codePoint;
|
|
var max = item.max.codePoint;
|
|
handlePositive.range(data, min, max);
|
|
if (caseFoldAscii || caseFoldUnicode) {
|
|
handlePositive.iuRange(data, min, max);
|
|
data.transformed = true;
|
|
}
|
|
break;
|
|
case 'characterClassEscape':
|
|
handlePositive.regSet(data, getCharacterClassEscapeSet(item.value, config.flags.unicode, config.flags.ignoreCase));
|
|
break;
|
|
case 'unicodePropertyEscape':
|
|
var nestedData = getUnicodePropertyEscapeCharacterClassData(item.value, item.negative);
|
|
handlePositive.nested(data, nestedData);
|
|
data.transformed = data.transformed || config.transform.unicodePropertyEscapes || config.transform.unicodeSetsFlag && nestedData.maybeIncludesStrings;
|
|
break;
|
|
case 'characterClass':
|
|
var handler = item.negative ? handleNegative : handlePositive;
|
|
var res = computeCharacterClass(item, regenerateOptions);
|
|
handler.nested(data, res);
|
|
data.transformed = true;
|
|
break;
|
|
case 'classStrings':
|
|
handlePositive.nested(data, computeClassStrings(item, regenerateOptions));
|
|
data.transformed = true;
|
|
break;
|
|
default:
|
|
throw new Error("Unknown term type: " + item.type);
|
|
}
|
|
data.first = false;
|
|
}
|
|
if (characterClassItem.negative && data.maybeIncludesStrings) {
|
|
throw new SyntaxError('Cannot negate set containing strings');
|
|
}
|
|
return data;
|
|
};
|
|
var processCharacterClass = function processCharacterClass(characterClassItem, regenerateOptions, computed) {
|
|
if (computed === void 0) {
|
|
computed = computeCharacterClass(characterClassItem, regenerateOptions);
|
|
}
|
|
var negative = characterClassItem.negative;
|
|
var _computed = computed,
|
|
singleChars = _computed.singleChars,
|
|
transformed = _computed.transformed,
|
|
longStrings = _computed.longStrings;
|
|
if (transformed) {
|
|
var setStr = singleChars.toString(regenerateOptions);
|
|
if (negative) {
|
|
if (config.useUnicodeFlag) {
|
|
update(characterClassItem, "[^" + (setStr[0] === '[' ? setStr.slice(1, -1) : setStr) + "]");
|
|
} else {
|
|
if (config.flags.unicode) {
|
|
if (config.flags.ignoreCase) {
|
|
var astralCharsSet = singleChars.clone().intersection(ASTRAL_SET);
|
|
var surrogateOrBMPSetStr = singleChars.clone().remove(astralCharsSet).addRange(0xd800, 0xdfff).toString({
|
|
bmpOnly: true
|
|
});
|
|
var astralNegativeSetStr = ASTRAL_SET.clone().remove(astralCharsSet).toString(regenerateOptions);
|
|
update(characterClassItem, "(?!" + surrogateOrBMPSetStr + ")[\\s\\S]|" + astralNegativeSetStr);
|
|
} else {
|
|
update(characterClassItem, UNICODE_SET.clone().remove(singleChars).toString(regenerateOptions));
|
|
}
|
|
} else {
|
|
update(characterClassItem, "(?!" + setStr + ")[\\s\\S]");
|
|
}
|
|
}
|
|
} else {
|
|
var hasEmptyString = longStrings.has('');
|
|
var pieces = Array.from(longStrings).sort(function (a, b) {
|
|
return b.length - a.length;
|
|
});
|
|
if (setStr !== '[]' || longStrings.size === 0) {
|
|
pieces.splice(pieces.length - (hasEmptyString ? 1 : 0), 0, setStr);
|
|
}
|
|
update(characterClassItem, pieces.join('|'));
|
|
}
|
|
}
|
|
return characterClassItem;
|
|
};
|
|
var assertNoUnmatchedReferences = function assertNoUnmatchedReferences(groups) {
|
|
var unmatchedReferencesNames = Object.keys(groups.unmatchedReferences);
|
|
if (unmatchedReferencesNames.length > 0) {
|
|
throw new Error("Unknown group names: " + unmatchedReferencesNames);
|
|
}
|
|
};
|
|
var processModifiers = function processModifiers(item, regenerateOptions, groups) {
|
|
var enabling = item.modifierFlags.enabling;
|
|
var disabling = item.modifierFlags.disabling;
|
|
delete item.modifierFlags;
|
|
item.behavior = 'ignore';
|
|
var oldData = Object.assign({}, config.modifiersData);
|
|
enabling.split('').forEach(function (flag) {
|
|
config.modifiersData[flag] = true;
|
|
});
|
|
disabling.split('').forEach(function (flag) {
|
|
config.modifiersData[flag] = false;
|
|
});
|
|
item.body = item.body.map(function (term) {
|
|
return processTerm(term, regenerateOptions, groups);
|
|
});
|
|
config.modifiersData = oldData;
|
|
return item;
|
|
};
|
|
var processTerm = function processTerm(item, regenerateOptions, groups) {
|
|
switch (item.type) {
|
|
case 'dot':
|
|
if (config.transform.unicodeFlag) {
|
|
update(item, getUnicodeDotSet(config.flags.dotAll || config.modifiersData.s).toString(regenerateOptions));
|
|
} else if (config.transform.dotAllFlag || config.modifiersData.s) {
|
|
update(item, '[\\s\\S]');
|
|
}
|
|
break;
|
|
case 'characterClass':
|
|
item = processCharacterClass(item, regenerateOptions);
|
|
break;
|
|
case 'unicodePropertyEscape':
|
|
var data = getUnicodePropertyEscapeCharacterClassData(item.value, item.negative);
|
|
if (data.maybeIncludesStrings) {
|
|
if (!config.flags.unicodeSets) {
|
|
throw new Error('Properties of strings are only supported when using the unicodeSets (v) flag.');
|
|
}
|
|
if (config.transform.unicodeSetsFlag) {
|
|
data.transformed = true;
|
|
item = processCharacterClass(item, regenerateOptions, data);
|
|
}
|
|
} else if (config.transform.unicodePropertyEscapes) {
|
|
update(item, data.singleChars.toString(regenerateOptions));
|
|
}
|
|
break;
|
|
case 'characterClassEscape':
|
|
if (config.transform.unicodeFlag) {
|
|
update(item, getCharacterClassEscapeSet(item.value, true, config.flags.ignoreCase).toString(regenerateOptions));
|
|
}
|
|
break;
|
|
case 'group':
|
|
if (item.behavior == 'normal') {
|
|
groups.lastIndex++;
|
|
}
|
|
if (item.name) {
|
|
var name = item.name.value;
|
|
if (groups.namesConflicts[name]) {
|
|
throw new Error("Group '" + name + "' has already been defined in this context.");
|
|
}
|
|
groups.namesConflicts[name] = true;
|
|
if (config.transform.namedGroups) {
|
|
delete item.name;
|
|
}
|
|
var index = groups.lastIndex;
|
|
if (!groups.names[name]) {
|
|
groups.names[name] = [];
|
|
}
|
|
groups.names[name].push(index);
|
|
if (groups.onNamedGroup) {
|
|
groups.onNamedGroup.call(null, name, index);
|
|
}
|
|
if (groups.unmatchedReferences[name]) {
|
|
delete groups.unmatchedReferences[name];
|
|
}
|
|
}
|
|
if (item.modifierFlags && config.transform.modifiers) {
|
|
return processModifiers(item, regenerateOptions, groups);
|
|
}
|
|
case 'quantifier':
|
|
item.body = item.body.map(function (term) {
|
|
return processTerm(term, regenerateOptions, groups);
|
|
});
|
|
break;
|
|
case 'disjunction':
|
|
var outerNamesConflicts = groups.namesConflicts;
|
|
item.body = item.body.map(function (term) {
|
|
groups.namesConflicts = Object.create(outerNamesConflicts);
|
|
return processTerm(term, regenerateOptions, groups);
|
|
});
|
|
break;
|
|
case 'alternative':
|
|
item.body = flatMap$1(item.body, function (term) {
|
|
var res = processTerm(term, regenerateOptions, groups);
|
|
return res.type === 'alternative' ? res.body : res;
|
|
});
|
|
break;
|
|
case 'value':
|
|
var codePoint = item.codePoint;
|
|
var set = regenerate(codePoint);
|
|
var folded = maybeFold(codePoint);
|
|
set.add(folded);
|
|
update(item, set.toString(regenerateOptions));
|
|
break;
|
|
case 'reference':
|
|
if (item.name) {
|
|
var _name = item.name.value;
|
|
var indexes = groups.names[_name];
|
|
if (!indexes) {
|
|
groups.unmatchedReferences[_name] = true;
|
|
}
|
|
if (config.transform.namedGroups) {
|
|
if (indexes) {
|
|
var body = indexes.map(function (index) {
|
|
return {
|
|
'type': 'reference',
|
|
'matchIndex': index,
|
|
'raw': '\\' + index
|
|
};
|
|
});
|
|
if (body.length === 1) {
|
|
return body[0];
|
|
}
|
|
return {
|
|
'type': 'alternative',
|
|
'body': body,
|
|
'raw': body.map(function (term) {
|
|
return term.raw;
|
|
}).join('')
|
|
};
|
|
}
|
|
return {
|
|
'type': 'group',
|
|
'behavior': 'ignore',
|
|
'body': [],
|
|
'raw': '(?:)'
|
|
};
|
|
}
|
|
}
|
|
break;
|
|
case 'anchor':
|
|
if (config.modifiersData.m) {
|
|
if (item.kind == 'start') {
|
|
update(item, "(?:^|(?<=" + NEWLINE_SET.toString() + "))");
|
|
} else if (item.kind == 'end') {
|
|
update(item, "(?:$|(?=" + NEWLINE_SET.toString() + "))");
|
|
}
|
|
}
|
|
case 'empty':
|
|
break;
|
|
default:
|
|
throw new Error("Unknown term type: " + item.type);
|
|
}
|
|
return item;
|
|
};
|
|
var config = {
|
|
'flags': {
|
|
'ignoreCase': false,
|
|
'unicode': false,
|
|
'unicodeSets': false,
|
|
'dotAll': false,
|
|
'multiline': false
|
|
},
|
|
'transform': {
|
|
'dotAllFlag': false,
|
|
'unicodeFlag': false,
|
|
'unicodeSetsFlag': false,
|
|
'unicodePropertyEscapes': false,
|
|
'namedGroups': false,
|
|
'modifiers': false
|
|
},
|
|
'modifiersData': {
|
|
'i': undefined,
|
|
's': undefined,
|
|
'm': undefined
|
|
},
|
|
get useUnicodeFlag() {
|
|
return (this.flags.unicode || this.flags.unicodeSets) && !this.transform.unicodeFlag;
|
|
}
|
|
};
|
|
var validateOptions = function validateOptions(options) {
|
|
if (!options) return;
|
|
for (var _i = 0, _Object$keys = Object.keys(options); _i < _Object$keys.length; _i++) {
|
|
var key = _Object$keys[_i];
|
|
var value = options[key];
|
|
switch (key) {
|
|
case 'dotAllFlag':
|
|
case 'unicodeFlag':
|
|
case 'unicodePropertyEscapes':
|
|
case 'namedGroups':
|
|
if (value != null && value !== false && value !== 'transform') {
|
|
throw new Error("." + key + " must be false (default) or 'transform'.");
|
|
}
|
|
break;
|
|
case 'modifiers':
|
|
case 'unicodeSetsFlag':
|
|
if (value != null && value !== false && value !== 'parse' && value !== 'transform') {
|
|
throw new Error("." + key + " must be false (default), 'parse' or 'transform'.");
|
|
}
|
|
break;
|
|
case 'onNamedGroup':
|
|
case 'onNewFlags':
|
|
if (value != null && typeof value !== 'function') {
|
|
throw new Error("." + key + " must be a function.");
|
|
}
|
|
break;
|
|
default:
|
|
throw new Error("." + key + " is not a valid regexpu-core option.");
|
|
}
|
|
}
|
|
};
|
|
var hasFlag = function hasFlag(flags, flag) {
|
|
return flags ? flags.includes(flag) : false;
|
|
};
|
|
var transform$2 = function transform(options, name) {
|
|
return options ? options[name] === 'transform' : false;
|
|
};
|
|
var rewritePattern = function rewritePattern(pattern, flags, options) {
|
|
validateOptions(options);
|
|
config.flags.unicode = hasFlag(flags, 'u');
|
|
config.flags.unicodeSets = hasFlag(flags, 'v');
|
|
config.flags.ignoreCase = hasFlag(flags, 'i');
|
|
config.flags.dotAll = hasFlag(flags, 's');
|
|
config.flags.multiline = hasFlag(flags, 'm');
|
|
config.transform.dotAllFlag = config.flags.dotAll && transform$2(options, 'dotAllFlag');
|
|
config.transform.unicodeFlag = (config.flags.unicode || config.flags.unicodeSets) && transform$2(options, 'unicodeFlag');
|
|
config.transform.unicodeSetsFlag = config.flags.unicodeSets && transform$2(options, 'unicodeSetsFlag');
|
|
config.transform.unicodePropertyEscapes = config.flags.unicode && (transform$2(options, 'unicodeFlag') || transform$2(options, 'unicodePropertyEscapes'));
|
|
config.transform.namedGroups = transform$2(options, 'namedGroups');
|
|
config.transform.modifiers = transform$2(options, 'modifiers');
|
|
config.modifiersData.i = undefined;
|
|
config.modifiersData.s = undefined;
|
|
config.modifiersData.m = undefined;
|
|
var regjsparserFeatures = {
|
|
'unicodeSet': Boolean(options && options.unicodeSetsFlag),
|
|
'modifiers': Boolean(options && options.modifiers),
|
|
'unicodePropertyEscape': true,
|
|
'namedGroups': true,
|
|
'lookbehind': true
|
|
};
|
|
var regenerateOptions = {
|
|
'hasUnicodeFlag': config.useUnicodeFlag,
|
|
'bmpOnly': !config.flags.unicode
|
|
};
|
|
var groups = {
|
|
'onNamedGroup': options && options.onNamedGroup,
|
|
'lastIndex': 0,
|
|
'names': Object.create(null),
|
|
'namesConflicts': Object.create(null),
|
|
'unmatchedReferences': Object.create(null)
|
|
};
|
|
var tree = parse(pattern, flags, regjsparserFeatures);
|
|
if (config.transform.modifiers) {
|
|
if (/\(\?[a-z]*-[a-z]+:/.test(pattern)) {
|
|
var allDisabledModifiers = Object.create(null);
|
|
var itemStack = [tree];
|
|
var node;
|
|
while (node = itemStack.pop(), node != undefined) {
|
|
if (Array.isArray(node)) {
|
|
Array.prototype.push.apply(itemStack, node);
|
|
} else if (typeof node == 'object' && node != null) {
|
|
for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {
|
|
var key = _Object$keys2[_i2];
|
|
var value = node[key];
|
|
if (key == 'modifierFlags') {
|
|
if (value.disabling.length > 0) {
|
|
value.disabling.split('').forEach(function (flag) {
|
|
allDisabledModifiers[flag] = true;
|
|
});
|
|
}
|
|
} else if (typeof value == 'object' && value != null) {
|
|
itemStack.push(value);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
for (var _i3 = 0, _Object$keys3 = Object.keys(allDisabledModifiers); _i3 < _Object$keys3.length; _i3++) {
|
|
var flag = _Object$keys3[_i3];
|
|
config.modifiersData[flag] = true;
|
|
}
|
|
}
|
|
}
|
|
processTerm(tree, regenerateOptions, groups);
|
|
assertNoUnmatchedReferences(groups);
|
|
var onNewFlags = options && options.onNewFlags;
|
|
if (onNewFlags) {
|
|
var newFlags = flags.split('').filter(function (flag) {
|
|
return !config.modifiersData[flag];
|
|
}).join('');
|
|
if (config.transform.unicodeSetsFlag) {
|
|
newFlags = newFlags.replace('v', 'u');
|
|
}
|
|
if (config.transform.unicodeFlag) {
|
|
newFlags = newFlags.replace('u', '');
|
|
}
|
|
if (config.transform.dotAllFlag === 'transform') {
|
|
newFlags = newFlags.replace('s', '');
|
|
}
|
|
onNewFlags(newFlags);
|
|
}
|
|
return generate(tree);
|
|
};
|
|
var rewritePattern_1 = rewritePattern;
|
|
|
|
function bool$2(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var semver$8 = bool$2(browser$1$1.env["BABEL_8_BREAKING"]) ? requireSemverBABEL_8_BREAKINGTrue() : requireSemver();
|
|
|
|
var FEATURES = Object.freeze({
|
|
unicodeFlag: 1 << 0,
|
|
dotAllFlag: 1 << 1,
|
|
unicodePropertyEscape: 1 << 2,
|
|
namedCaptureGroups: 1 << 3,
|
|
unicodeSetsFlag_syntax: 1 << 4,
|
|
unicodeSetsFlag: 1 << 5,
|
|
duplicateNamedCaptureGroups: 1 << 6,
|
|
modifiers: 1 << 7
|
|
});
|
|
var featuresKey = "@babel/plugin-regexp-features/featuresKey";
|
|
var runtimeKey = "@babel/plugin-regexp-features/runtimeKey";
|
|
function enableFeature(features, feature) {
|
|
return features | feature;
|
|
}
|
|
function hasFeature(features, feature) {
|
|
return !!(features & feature);
|
|
}
|
|
|
|
function generateRegexpuOptions(pattern, toTransform) {
|
|
var feat = function feat(name, ok) {
|
|
if (ok === void 0) {
|
|
ok = "transform";
|
|
}
|
|
return hasFeature(toTransform, FEATURES[name]) ? ok : false;
|
|
};
|
|
var featDuplicateNamedGroups = function featDuplicateNamedGroups() {
|
|
if (!feat("duplicateNamedCaptureGroups")) return false;
|
|
var regex = /\(\?<([^>]+)>/g;
|
|
var seen = new Set();
|
|
for (var match; match = regex.exec(pattern); seen.add(match[1])) {
|
|
if (seen.has(match[1])) return "transform";
|
|
}
|
|
return false;
|
|
};
|
|
return {
|
|
unicodeFlag: feat("unicodeFlag"),
|
|
unicodeSetsFlag: feat("unicodeSetsFlag") || feat("unicodeSetsFlag_syntax", "parse"),
|
|
dotAllFlag: feat("dotAllFlag"),
|
|
unicodePropertyEscapes: feat("unicodePropertyEscape"),
|
|
namedGroups: feat("namedCaptureGroups") || featDuplicateNamedGroups(),
|
|
onNamedGroup: function onNamedGroup() {},
|
|
modifiers: feat("modifiers")
|
|
};
|
|
}
|
|
function canSkipRegexpu(node, options) {
|
|
var flags = node.flags,
|
|
pattern = node.pattern;
|
|
if (flags.includes("v")) {
|
|
if (options.unicodeSetsFlag === "transform") return false;
|
|
}
|
|
if (flags.includes("u")) {
|
|
if (options.unicodeFlag === "transform") return false;
|
|
if (options.unicodePropertyEscapes === "transform" && /\\[pP]{/.test(pattern)) {
|
|
return false;
|
|
}
|
|
}
|
|
if (flags.includes("s")) {
|
|
if (options.dotAllFlag === "transform") return false;
|
|
}
|
|
if (options.namedGroups === "transform" && /\(\?<(?![=!])/.test(pattern)) {
|
|
return false;
|
|
}
|
|
if (options.modifiers === "transform" && /\(\?[\w-]+:/.test(pattern)) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
function transformFlags(regexpuOptions, flags) {
|
|
if (regexpuOptions.unicodeSetsFlag === "transform") {
|
|
flags = flags.replace("v", "u");
|
|
}
|
|
if (regexpuOptions.unicodeFlag === "transform") {
|
|
flags = flags.replace("u", "");
|
|
}
|
|
if (regexpuOptions.dotAllFlag === "transform") {
|
|
flags = flags.replace("s", "");
|
|
}
|
|
return flags;
|
|
}
|
|
|
|
var versionKey = "@babel/plugin-regexp-features/version";
|
|
function createRegExpFeaturePlugin(_ref) {
|
|
var name = _ref.name,
|
|
feature = _ref.feature,
|
|
_ref$options = _ref.options,
|
|
options = _ref$options === void 0 ? {} : _ref$options,
|
|
_ref$manipulateOption = _ref.manipulateOptions,
|
|
manipulateOptions = _ref$manipulateOption === void 0 ? function () {} : _ref$manipulateOption;
|
|
return {
|
|
name: name,
|
|
manipulateOptions: manipulateOptions,
|
|
pre: function pre() {
|
|
var _file$get;
|
|
var file = this.file;
|
|
var features = (_file$get = file.get(featuresKey)) != null ? _file$get : 0;
|
|
var newFeatures = enableFeature(features, FEATURES[feature]);
|
|
var useUnicodeFlag = options.useUnicodeFlag,
|
|
runtime = options.runtime;
|
|
if (useUnicodeFlag === false) {
|
|
newFeatures = enableFeature(newFeatures, FEATURES.unicodeFlag);
|
|
}
|
|
if (newFeatures !== features) {
|
|
file.set(featuresKey, newFeatures);
|
|
}
|
|
if (runtime !== undefined) {
|
|
if (file.has(runtimeKey) && file.get(runtimeKey) !== runtime && hasFeature(newFeatures, FEATURES.duplicateNamedCaptureGroups)) {
|
|
throw new Error("The 'runtime' option must be the same for " + "'@babel/plugin-transform-named-capturing-groups-regex' and " + "'@babel/plugin-proposal-duplicate-named-capturing-groups-regex'.");
|
|
}
|
|
if (feature === "namedCaptureGroups") {
|
|
if (!runtime || !file.has(runtimeKey)) file.set(runtimeKey, runtime);
|
|
} else {
|
|
file.set(runtimeKey, runtime);
|
|
}
|
|
}
|
|
{
|
|
if (typeof file.get(versionKey) === "number") {
|
|
file.set(versionKey, "7.21.8");
|
|
return;
|
|
}
|
|
}
|
|
if (!file.get(versionKey) || semver$8.lt(file.get(versionKey), "7.21.8")) {
|
|
file.set(versionKey, "7.21.8");
|
|
}
|
|
},
|
|
visitor: {
|
|
RegExpLiteral: function RegExpLiteral(path) {
|
|
var _file$get2, _newFlags;
|
|
var node = path.node;
|
|
var file = this.file;
|
|
var features = file.get(featuresKey);
|
|
var runtime = (_file$get2 = file.get(runtimeKey)) != null ? _file$get2 : true;
|
|
var regexpuOptions = generateRegexpuOptions(node.pattern, features);
|
|
if (canSkipRegexpu(node, regexpuOptions)) {
|
|
return;
|
|
}
|
|
var namedCaptureGroups = {
|
|
__proto__: null
|
|
};
|
|
if (regexpuOptions.namedGroups === "transform") {
|
|
regexpuOptions.onNamedGroup = function (name, index) {
|
|
var prev = namedCaptureGroups[name];
|
|
if (typeof prev === "number") {
|
|
namedCaptureGroups[name] = [prev, index];
|
|
} else if (Array.isArray(prev)) {
|
|
prev.push(index);
|
|
} else {
|
|
namedCaptureGroups[name] = index;
|
|
}
|
|
};
|
|
}
|
|
var newFlags;
|
|
if (regexpuOptions.modifiers === "transform") {
|
|
regexpuOptions.onNewFlags = function (flags) {
|
|
newFlags = flags;
|
|
};
|
|
}
|
|
node.pattern = rewritePattern_1(node.pattern, node.flags, regexpuOptions);
|
|
if (regexpuOptions.namedGroups === "transform" && Object.keys(namedCaptureGroups).length > 0 && runtime && !isRegExpTest(path)) {
|
|
var call = callExpression$e(this.addHelper("wrapRegExp"), [node, valueToNode$1(namedCaptureGroups)]);
|
|
annotateAsPure(call);
|
|
path.replaceWith(call);
|
|
}
|
|
node.flags = transformFlags(regexpuOptions, (_newFlags = newFlags) != null ? _newFlags : node.flags);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function isRegExpTest(path) {
|
|
return path.parentPath.isMemberExpression({
|
|
object: path.node,
|
|
computed: false
|
|
}) && path.parentPath.get("property").isIdentifier({
|
|
name: "test"
|
|
});
|
|
}
|
|
|
|
var proposalDuplicateNamedCapturingGroupsRegex = declare(function (api, options) {
|
|
api.assertVersion("^7.19.0");
|
|
var runtime = options.runtime;
|
|
if (runtime !== undefined && typeof runtime !== "boolean") {
|
|
throw new Error("The 'runtime' option must be boolean");
|
|
}
|
|
return createRegExpFeaturePlugin({
|
|
name: "proposal-duplicate-named-capturing-groups-regex",
|
|
feature: "duplicateNamedCaptureGroups",
|
|
options: {
|
|
runtime: runtime
|
|
}
|
|
});
|
|
});
|
|
|
|
var _syntaxDynamicImport = makeNoopPlugin();
|
|
|
|
var SUPPORTED_MODULES = ["commonjs", "amd", "systemjs"];
|
|
var MODULES_NOT_FOUND = "@babel/plugin-proposal-dynamic-import depends on a modules\ntransform plugin. Supported plugins are:\n - @babel/plugin-transform-modules-commonjs ^7.4.0\n - @babel/plugin-transform-modules-amd ^7.4.0\n - @babel/plugin-transform-modules-systemjs ^7.4.0\n\nIf you are using Webpack or Rollup and thus don't want\nBabel to transpile your imports and exports, you can use\nthe @babel/plugin-syntax-dynamic-import plugin and let your\nbundler handle dynamic imports.\n";
|
|
var proposalDynamicImport = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "proposal-dynamic-import",
|
|
inherits: _syntaxDynamicImport["default"],
|
|
pre: function pre() {
|
|
this.file.set("@babel/plugin-proposal-dynamic-import", "7.18.6");
|
|
},
|
|
visitor: {
|
|
Program: function Program() {
|
|
var modules = this.file.get("@babel/plugin-transform-modules-*");
|
|
if (!SUPPORTED_MODULES.includes(modules)) {
|
|
throw new Error(MODULES_NOT_FOUND);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var proposalExportDefaultFrom = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "proposal-export-default-from",
|
|
inherits: syntaxExportDefaultFrom,
|
|
visitor: {
|
|
ExportNamedDeclaration: function ExportNamedDeclaration(path) {
|
|
var node = path.node;
|
|
var specifiers = node.specifiers,
|
|
source = node.source;
|
|
if (!isExportDefaultSpecifier$1(specifiers[0])) return;
|
|
var _specifiers$shift = specifiers.shift(),
|
|
exported = _specifiers$shift.exported;
|
|
if (specifiers.every(function (s) {
|
|
return isExportSpecifier(s);
|
|
})) {
|
|
specifiers.unshift(exportSpecifier$2(identifier$i("default"), exported));
|
|
return;
|
|
}
|
|
var nodes = [exportNamedDeclaration$2(null, [exportSpecifier$2(identifier$i("default"), exported)], cloneNode$j(source))];
|
|
if (specifiers.length >= 1) {
|
|
nodes.push(node);
|
|
}
|
|
path.replaceWithMultiple(nodes);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _syntaxExportNamespaceFrom = makeNoopPlugin();
|
|
|
|
var proposalExportNamespaceFrom = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "proposal-export-namespace-from",
|
|
inherits: _syntaxExportNamespaceFrom["default"],
|
|
visitor: {
|
|
ExportNamedDeclaration: function ExportNamedDeclaration(path) {
|
|
var _exported$name;
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var specifiers = node.specifiers;
|
|
var index = isExportDefaultSpecifier$1(specifiers[0]) ? 1 : 0;
|
|
if (!isExportNamespaceSpecifier$1(specifiers[index])) return;
|
|
var nodes = [];
|
|
if (index === 1) {
|
|
nodes.push(exportNamedDeclaration$2(null, [specifiers.shift()], node.source));
|
|
}
|
|
var specifier = specifiers.shift();
|
|
var exported = specifier.exported;
|
|
var uid = scope.generateUidIdentifier((_exported$name = exported.name) != null ? _exported$name : exported.value);
|
|
nodes.push(importDeclaration$1([importNamespaceSpecifier$1(uid)], cloneNode$j(node.source)), exportNamedDeclaration$2(null, [exportSpecifier$2(cloneNode$j(uid), exported)]));
|
|
if (node.specifiers.length >= 1) {
|
|
nodes.push(node);
|
|
}
|
|
var _path$replaceWithMult = path.replaceWithMultiple(nodes),
|
|
_path$replaceWithMult2 = _slicedToArray(_path$replaceWithMult, 1),
|
|
importDeclaration = _path$replaceWithMult2[0];
|
|
path.scope.registerDeclaration(importDeclaration);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var proposalFunctionBind = declare(function (api) {
|
|
api.assertVersion(7);
|
|
function getTempId(scope) {
|
|
var id = scope.path.getData("functionBind");
|
|
if (id) return cloneNode$j(id);
|
|
id = scope.generateDeclaredUidIdentifier("context");
|
|
return scope.path.setData("functionBind", id);
|
|
}
|
|
function getObject(bind) {
|
|
if (isExpression$4(bind.object)) {
|
|
return bind.object;
|
|
}
|
|
return bind.callee.object;
|
|
}
|
|
function getStaticContext(bind, scope) {
|
|
var object = getObject(bind);
|
|
return scope.isStatic(object) && (isSuper$3(object) ? thisExpression$4() : object);
|
|
}
|
|
function inferBindContext(bind, scope) {
|
|
var staticContext = getStaticContext(bind, scope);
|
|
if (staticContext) return cloneNode$j(staticContext);
|
|
var tempId = getTempId(scope);
|
|
if (bind.object) {
|
|
bind.callee = sequenceExpression$7([assignmentExpression$d("=", tempId, bind.object), bind.callee]);
|
|
} else if (isMemberExpression$8(bind.callee)) {
|
|
bind.callee.object = assignmentExpression$d("=", tempId, bind.callee.object);
|
|
}
|
|
return cloneNode$j(tempId);
|
|
}
|
|
return {
|
|
name: "proposal-function-bind",
|
|
inherits: syntaxFunctionBind,
|
|
visitor: {
|
|
CallExpression: function CallExpression(_ref) {
|
|
var node = _ref.node,
|
|
scope = _ref.scope;
|
|
var bind = node.callee;
|
|
if (!isBindExpression(bind)) return;
|
|
var context = inferBindContext(bind, scope);
|
|
node.callee = memberExpression$c(bind.callee, identifier$i("call"));
|
|
node.arguments.unshift(context);
|
|
},
|
|
BindExpression: function BindExpression(path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var context = inferBindContext(node, scope);
|
|
path.replaceWith(callExpression$e(memberExpression$c(node.callee, identifier$i("bind")), [context]));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var proposalFunctionSent = declare(function (api) {
|
|
api.assertVersion(7);
|
|
var isFunctionSent = function isFunctionSent(node) {
|
|
return isIdentifier$j(node.meta, {
|
|
name: "function"
|
|
}) && isIdentifier$j(node.property, {
|
|
name: "sent"
|
|
});
|
|
};
|
|
var hasBeenReplaced = function hasBeenReplaced(node, sentId) {
|
|
return isAssignmentExpression$4(node) && isIdentifier$j(node.left, {
|
|
name: sentId
|
|
});
|
|
};
|
|
var yieldVisitor = {
|
|
Function: function Function(path) {
|
|
path.skip();
|
|
},
|
|
YieldExpression: function YieldExpression(path) {
|
|
if (!hasBeenReplaced(path.parent, this.sentId)) {
|
|
path.replaceWith(assignmentExpression$d("=", identifier$i(this.sentId), path.node));
|
|
}
|
|
},
|
|
MetaProperty: function MetaProperty(path) {
|
|
if (isFunctionSent(path.node)) {
|
|
path.replaceWith(identifier$i(this.sentId));
|
|
}
|
|
}
|
|
};
|
|
return {
|
|
name: "proposal-function-sent",
|
|
inherits: syntaxFunctionSent,
|
|
visitor: {
|
|
MetaProperty: function MetaProperty(path, state) {
|
|
if (!isFunctionSent(path.node)) return;
|
|
var fnPath = path.getFunctionParent();
|
|
if (!fnPath.node.generator) {
|
|
throw new Error("Parent generator function not found");
|
|
}
|
|
var sentId = path.scope.generateUid("function.sent");
|
|
fnPath.traverse(yieldVisitor, {
|
|
sentId: sentId
|
|
});
|
|
fnPath.node.body.body.unshift(variableDeclaration$8("let", [variableDeclarator$8(identifier$i(sentId), yieldExpression$2())]));
|
|
wrapFunction(fnPath, state.addHelper("skipFirstGeneratorNext"));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var lib$2 = {};
|
|
|
|
var require$$0$5 = /*@__PURE__*/getAugmentedNamespace(pluginUtilsShim);
|
|
|
|
Object.defineProperty(lib$2, "__esModule", {
|
|
value: true
|
|
});
|
|
lib$2["default"] = void 0;
|
|
var _helperPluginUtils$1 = require$$0$5;
|
|
var _default$1 = (0, _helperPluginUtils$1.declare)(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-json-strings",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("jsonStrings");
|
|
}
|
|
};
|
|
});
|
|
lib$2["default"] = _default$1;
|
|
|
|
var proposalJsonStrings = declare(function (api) {
|
|
api.assertVersion(7);
|
|
var regex = /(\\*)([\u2028\u2029])/g;
|
|
function replace(match, escapes, separator) {
|
|
var isEscaped = escapes.length % 2 === 1;
|
|
if (isEscaped) return match;
|
|
return escapes + "\\u" + separator.charCodeAt(0).toString(16);
|
|
}
|
|
return {
|
|
name: "proposal-json-strings",
|
|
inherits: lib$2["default"],
|
|
visitor: {
|
|
"DirectiveLiteral|StringLiteral": function DirectiveLiteralStringLiteral(_ref) {
|
|
var node = _ref.node;
|
|
var extra = node.extra;
|
|
if (!(extra != null && extra.raw)) return;
|
|
extra.raw = extra.raw.replace(regex, replace);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _syntaxLogicalAssignmentOperators = makeNoopPlugin();
|
|
|
|
var proposalLogicalAssignmentOperators = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "proposal-logical-assignment-operators",
|
|
inherits: _syntaxLogicalAssignmentOperators["default"],
|
|
visitor: {
|
|
AssignmentExpression: function AssignmentExpression(path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var operator = node.operator,
|
|
left = node.left,
|
|
right = node.right;
|
|
var operatorTrunc = operator.slice(0, -1);
|
|
if (!LOGICAL_OPERATORS$3.includes(operatorTrunc)) {
|
|
return;
|
|
}
|
|
var lhs = cloneNode$j(left);
|
|
if (isMemberExpression$8(left)) {
|
|
var object = left.object,
|
|
property = left.property,
|
|
computed = left.computed;
|
|
var memo = scope.maybeGenerateMemoised(object);
|
|
if (memo) {
|
|
left.object = memo;
|
|
lhs.object = assignmentExpression$d("=", cloneNode$j(memo), object);
|
|
}
|
|
if (computed) {
|
|
var _memo = scope.maybeGenerateMemoised(property);
|
|
if (_memo) {
|
|
left.property = _memo;
|
|
lhs.property = assignmentExpression$d("=", cloneNode$j(_memo), property);
|
|
}
|
|
}
|
|
}
|
|
path.replaceWith(logicalExpression$3(operatorTrunc, lhs, assignmentExpression$d("=", left, right)));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _syntaxNullishCoalescingOperator = makeNoopPlugin();
|
|
|
|
var _templateObject$j;
|
|
var proposalNullishCoalescingOperator = declare(function (api, _ref) {
|
|
var _api$assumption;
|
|
var _ref$loose = _ref.loose,
|
|
loose = _ref$loose === void 0 ? false : _ref$loose;
|
|
api.assertVersion(7);
|
|
var noDocumentAll = (_api$assumption = api.assumption("noDocumentAll")) != null ? _api$assumption : loose;
|
|
return {
|
|
name: "proposal-nullish-coalescing-operator",
|
|
inherits: _syntaxNullishCoalescingOperator["default"],
|
|
visitor: {
|
|
LogicalExpression: function LogicalExpression(path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
if (node.operator !== "??") {
|
|
return;
|
|
}
|
|
var ref;
|
|
var assignment;
|
|
if (scope.isStatic(node.left)) {
|
|
ref = node.left;
|
|
assignment = cloneNode$j(node.left);
|
|
} else if (scope.path.isPattern()) {
|
|
path.replaceWith(template$2.statement.ast(_templateObject$j || (_templateObject$j = _taggedTemplateLiteralLoose(["(() => ", ")()"])), path.node));
|
|
return;
|
|
} else {
|
|
ref = scope.generateUidIdentifierBasedOnNode(node.left);
|
|
scope.push({
|
|
id: cloneNode$j(ref)
|
|
});
|
|
assignment = assignmentExpression$d("=", ref, node.left);
|
|
}
|
|
path.replaceWith(conditionalExpression$4(noDocumentAll ? binaryExpression$5("!=", assignment, nullLiteral$2()) : logicalExpression$3("&&", binaryExpression$5("!==", assignment, nullLiteral$2()), binaryExpression$5("!==", cloneNode$j(ref), scope.buildUndefinedNode())), cloneNode$j(ref), node.right));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _syntaxNumericSeparator = makeNoopPlugin();
|
|
|
|
function remover(_ref) {
|
|
var _extra$raw;
|
|
var node = _ref.node;
|
|
var extra = node.extra;
|
|
if (extra != null && (_extra$raw = extra.raw) != null && _extra$raw.includes("_")) {
|
|
extra.raw = extra.raw.replace(/_/g, "");
|
|
}
|
|
}
|
|
var proposalNumericSeparator = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "proposal-numeric-separator",
|
|
inherits: _syntaxNumericSeparator["default"],
|
|
visitor: {
|
|
NumericLiteral: remover,
|
|
BigIntLiteral: remover
|
|
}
|
|
};
|
|
});
|
|
|
|
var require$$0$4 = {
|
|
"es6.array.copy-within": {
|
|
chrome: "45",
|
|
opera: "32",
|
|
edge: "12",
|
|
firefox: "32",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "5",
|
|
rhino: "1.7.13",
|
|
electron: "0.31"
|
|
},
|
|
"es6.array.every": {
|
|
chrome: "5",
|
|
opera: "10.10",
|
|
edge: "12",
|
|
firefox: "2",
|
|
safari: "3.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.array.fill": {
|
|
chrome: "45",
|
|
opera: "32",
|
|
edge: "12",
|
|
firefox: "31",
|
|
safari: "7.1",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "5",
|
|
rhino: "1.7.13",
|
|
electron: "0.31"
|
|
},
|
|
"es6.array.filter": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.array.find": {
|
|
chrome: "45",
|
|
opera: "32",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "5",
|
|
rhino: "1.7.13",
|
|
electron: "0.31"
|
|
},
|
|
"es6.array.find-index": {
|
|
chrome: "45",
|
|
opera: "32",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "5",
|
|
rhino: "1.7.13",
|
|
electron: "0.31"
|
|
},
|
|
"es7.array.flat-map": {
|
|
chrome: "69",
|
|
opera: "56",
|
|
edge: "79",
|
|
firefox: "62",
|
|
safari: "12",
|
|
node: "11",
|
|
deno: "1",
|
|
ios: "12",
|
|
samsung: "10",
|
|
electron: "4.0"
|
|
},
|
|
"es6.array.for-each": {
|
|
chrome: "5",
|
|
opera: "10.10",
|
|
edge: "12",
|
|
firefox: "2",
|
|
safari: "3.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.array.from": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "15",
|
|
firefox: "36",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es7.array.includes": {
|
|
chrome: "47",
|
|
opera: "34",
|
|
edge: "14",
|
|
firefox: "102",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.36"
|
|
},
|
|
"es6.array.index-of": {
|
|
chrome: "5",
|
|
opera: "10.10",
|
|
edge: "12",
|
|
firefox: "2",
|
|
safari: "3.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.array.is-array": {
|
|
chrome: "5",
|
|
opera: "10.50",
|
|
edge: "12",
|
|
firefox: "4",
|
|
safari: "4",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.array.iterator": {
|
|
chrome: "66",
|
|
opera: "53",
|
|
edge: "12",
|
|
firefox: "60",
|
|
safari: "9",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "9",
|
|
rhino: "1.7.13",
|
|
electron: "3.0"
|
|
},
|
|
"es6.array.last-index-of": {
|
|
chrome: "5",
|
|
opera: "10.10",
|
|
edge: "12",
|
|
firefox: "2",
|
|
safari: "3.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.array.map": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.array.of": {
|
|
chrome: "45",
|
|
opera: "32",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "5",
|
|
rhino: "1.7.13",
|
|
electron: "0.31"
|
|
},
|
|
"es6.array.reduce": {
|
|
chrome: "5",
|
|
opera: "10.50",
|
|
edge: "12",
|
|
firefox: "3",
|
|
safari: "4",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.array.reduce-right": {
|
|
chrome: "5",
|
|
opera: "10.50",
|
|
edge: "12",
|
|
firefox: "3",
|
|
safari: "4",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.array.slice": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.array.some": {
|
|
chrome: "5",
|
|
opera: "10.10",
|
|
edge: "12",
|
|
firefox: "2",
|
|
safari: "3.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.array.sort": {
|
|
chrome: "63",
|
|
opera: "50",
|
|
edge: "12",
|
|
firefox: "5",
|
|
safari: "12",
|
|
node: "10",
|
|
deno: "1",
|
|
ie: "9",
|
|
ios: "12",
|
|
samsung: "8",
|
|
rhino: "1.7.13",
|
|
electron: "3.0"
|
|
},
|
|
"es6.array.species": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.date.now": {
|
|
chrome: "5",
|
|
opera: "10.50",
|
|
edge: "12",
|
|
firefox: "2",
|
|
safari: "4",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.date.to-iso-string": {
|
|
chrome: "5",
|
|
opera: "10.50",
|
|
edge: "12",
|
|
firefox: "3.5",
|
|
safari: "4",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.date.to-json": {
|
|
chrome: "5",
|
|
opera: "12.10",
|
|
edge: "12",
|
|
firefox: "4",
|
|
safari: "10",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "10",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.date.to-primitive": {
|
|
chrome: "47",
|
|
opera: "34",
|
|
edge: "15",
|
|
firefox: "44",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.36"
|
|
},
|
|
"es6.date.to-string": {
|
|
chrome: "5",
|
|
opera: "10.50",
|
|
edge: "12",
|
|
firefox: "2",
|
|
safari: "3.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "10",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.function.bind": {
|
|
chrome: "7",
|
|
opera: "12",
|
|
edge: "12",
|
|
firefox: "4",
|
|
safari: "5.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.function.has-instance": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "15",
|
|
firefox: "50",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.function.name": {
|
|
chrome: "5",
|
|
opera: "10.50",
|
|
edge: "14",
|
|
firefox: "2",
|
|
safari: "4",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.map": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "15",
|
|
firefox: "53",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.math.acosh": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.asinh": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.atanh": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.cbrt": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.clz32": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "31",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.cosh": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.expm1": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.fround": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "26",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.hypot": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "27",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.imul": {
|
|
chrome: "30",
|
|
opera: "17",
|
|
edge: "12",
|
|
firefox: "23",
|
|
safari: "7",
|
|
node: "0.12",
|
|
deno: "1",
|
|
android: "4.4",
|
|
ios: "7",
|
|
samsung: "2",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.log1p": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.log10": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.log2": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.sign": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.sinh": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.tanh": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.math.trunc": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "7.1",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "8",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.number.constructor": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "12",
|
|
firefox: "36",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
rhino: "1.7.13",
|
|
electron: "0.21"
|
|
},
|
|
"es6.number.epsilon": {
|
|
chrome: "34",
|
|
opera: "21",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "2",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.number.is-finite": {
|
|
chrome: "19",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "16",
|
|
safari: "9",
|
|
node: "0.8",
|
|
deno: "1",
|
|
android: "4.1",
|
|
ios: "9",
|
|
samsung: "1.5",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.number.is-integer": {
|
|
chrome: "34",
|
|
opera: "21",
|
|
edge: "12",
|
|
firefox: "16",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "2",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.number.is-nan": {
|
|
chrome: "19",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "15",
|
|
safari: "9",
|
|
node: "0.8",
|
|
deno: "1",
|
|
android: "4.1",
|
|
ios: "9",
|
|
samsung: "1.5",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.number.is-safe-integer": {
|
|
chrome: "34",
|
|
opera: "21",
|
|
edge: "12",
|
|
firefox: "32",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "2",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.number.max-safe-integer": {
|
|
chrome: "34",
|
|
opera: "21",
|
|
edge: "12",
|
|
firefox: "31",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "2",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.number.min-safe-integer": {
|
|
chrome: "34",
|
|
opera: "21",
|
|
edge: "12",
|
|
firefox: "31",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "2",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.number.parse-float": {
|
|
chrome: "34",
|
|
opera: "21",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "2",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.number.parse-int": {
|
|
chrome: "34",
|
|
opera: "21",
|
|
edge: "12",
|
|
firefox: "25",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "2",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.object.assign": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "13",
|
|
firefox: "36",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.object.create": {
|
|
chrome: "5",
|
|
opera: "12",
|
|
edge: "12",
|
|
firefox: "4",
|
|
safari: "4",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es7.object.define-getter": {
|
|
chrome: "62",
|
|
opera: "49",
|
|
edge: "16",
|
|
firefox: "48",
|
|
safari: "9",
|
|
node: "8.10",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "8",
|
|
electron: "3.0"
|
|
},
|
|
"es7.object.define-setter": {
|
|
chrome: "62",
|
|
opera: "49",
|
|
edge: "16",
|
|
firefox: "48",
|
|
safari: "9",
|
|
node: "8.10",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "8",
|
|
electron: "3.0"
|
|
},
|
|
"es6.object.define-property": {
|
|
chrome: "5",
|
|
opera: "12",
|
|
edge: "12",
|
|
firefox: "4",
|
|
safari: "5.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.object.define-properties": {
|
|
chrome: "5",
|
|
opera: "12",
|
|
edge: "12",
|
|
firefox: "4",
|
|
safari: "4",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es7.object.entries": {
|
|
chrome: "54",
|
|
opera: "41",
|
|
edge: "14",
|
|
firefox: "47",
|
|
safari: "10.1",
|
|
node: "7",
|
|
deno: "1",
|
|
ios: "10.3",
|
|
samsung: "6",
|
|
rhino: "1.7.14",
|
|
electron: "1.4"
|
|
},
|
|
"es6.object.freeze": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "35",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
rhino: "1.7.13",
|
|
electron: "0.30"
|
|
},
|
|
"es6.object.get-own-property-descriptor": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "35",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
rhino: "1.7.13",
|
|
electron: "0.30"
|
|
},
|
|
"es7.object.get-own-property-descriptors": {
|
|
chrome: "54",
|
|
opera: "41",
|
|
edge: "15",
|
|
firefox: "50",
|
|
safari: "10.1",
|
|
node: "7",
|
|
deno: "1",
|
|
ios: "10.3",
|
|
samsung: "6",
|
|
electron: "1.4"
|
|
},
|
|
"es6.object.get-own-property-names": {
|
|
chrome: "40",
|
|
opera: "27",
|
|
edge: "12",
|
|
firefox: "33",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
rhino: "1.7.13",
|
|
electron: "0.21"
|
|
},
|
|
"es6.object.get-prototype-of": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "35",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
rhino: "1.7.13",
|
|
electron: "0.30"
|
|
},
|
|
"es7.object.lookup-getter": {
|
|
chrome: "62",
|
|
opera: "49",
|
|
edge: "79",
|
|
firefox: "36",
|
|
safari: "9",
|
|
node: "8.10",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "8",
|
|
electron: "3.0"
|
|
},
|
|
"es7.object.lookup-setter": {
|
|
chrome: "62",
|
|
opera: "49",
|
|
edge: "79",
|
|
firefox: "36",
|
|
safari: "9",
|
|
node: "8.10",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "8",
|
|
electron: "3.0"
|
|
},
|
|
"es6.object.prevent-extensions": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "35",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
rhino: "1.7.13",
|
|
electron: "0.30"
|
|
},
|
|
"es6.object.to-string": {
|
|
chrome: "57",
|
|
opera: "44",
|
|
edge: "15",
|
|
firefox: "51",
|
|
safari: "10",
|
|
node: "8",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "7",
|
|
electron: "1.7"
|
|
},
|
|
"es6.object.is": {
|
|
chrome: "19",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "22",
|
|
safari: "9",
|
|
node: "0.8",
|
|
deno: "1",
|
|
android: "4.1",
|
|
ios: "9",
|
|
samsung: "1.5",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.object.is-frozen": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "35",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
rhino: "1.7.13",
|
|
electron: "0.30"
|
|
},
|
|
"es6.object.is-sealed": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "35",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
rhino: "1.7.13",
|
|
electron: "0.30"
|
|
},
|
|
"es6.object.is-extensible": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "35",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
rhino: "1.7.13",
|
|
electron: "0.30"
|
|
},
|
|
"es6.object.keys": {
|
|
chrome: "40",
|
|
opera: "27",
|
|
edge: "12",
|
|
firefox: "35",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
rhino: "1.7.13",
|
|
electron: "0.21"
|
|
},
|
|
"es6.object.seal": {
|
|
chrome: "44",
|
|
opera: "31",
|
|
edge: "12",
|
|
firefox: "35",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "4",
|
|
rhino: "1.7.13",
|
|
electron: "0.30"
|
|
},
|
|
"es6.object.set-prototype-of": {
|
|
chrome: "34",
|
|
opera: "21",
|
|
edge: "12",
|
|
firefox: "31",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ie: "11",
|
|
ios: "9",
|
|
samsung: "2",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es7.object.values": {
|
|
chrome: "54",
|
|
opera: "41",
|
|
edge: "14",
|
|
firefox: "47",
|
|
safari: "10.1",
|
|
node: "7",
|
|
deno: "1",
|
|
ios: "10.3",
|
|
samsung: "6",
|
|
rhino: "1.7.14",
|
|
electron: "1.4"
|
|
},
|
|
"es6.promise": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "14",
|
|
firefox: "45",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es7.promise.finally": {
|
|
chrome: "63",
|
|
opera: "50",
|
|
edge: "18",
|
|
firefox: "58",
|
|
safari: "11.1",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "11.3",
|
|
samsung: "8",
|
|
electron: "3.0"
|
|
},
|
|
"es6.reflect.apply": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.construct": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "13",
|
|
firefox: "49",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.define-property": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "13",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.delete-property": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.get": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.get-own-property-descriptor": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.get-prototype-of": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.has": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.is-extensible": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.own-keys": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.prevent-extensions": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.set": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.reflect.set-prototype-of": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "42",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.regexp.constructor": {
|
|
chrome: "50",
|
|
opera: "37",
|
|
edge: "79",
|
|
firefox: "40",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.1"
|
|
},
|
|
"es6.regexp.flags": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "79",
|
|
firefox: "37",
|
|
safari: "9",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"es6.regexp.match": {
|
|
chrome: "50",
|
|
opera: "37",
|
|
edge: "79",
|
|
firefox: "49",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
rhino: "1.7.13",
|
|
electron: "1.1"
|
|
},
|
|
"es6.regexp.replace": {
|
|
chrome: "50",
|
|
opera: "37",
|
|
edge: "79",
|
|
firefox: "49",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.1"
|
|
},
|
|
"es6.regexp.split": {
|
|
chrome: "50",
|
|
opera: "37",
|
|
edge: "79",
|
|
firefox: "49",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.1"
|
|
},
|
|
"es6.regexp.search": {
|
|
chrome: "50",
|
|
opera: "37",
|
|
edge: "79",
|
|
firefox: "49",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
rhino: "1.7.13",
|
|
electron: "1.1"
|
|
},
|
|
"es6.regexp.to-string": {
|
|
chrome: "50",
|
|
opera: "37",
|
|
edge: "79",
|
|
firefox: "39",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.1"
|
|
},
|
|
"es6.set": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "15",
|
|
firefox: "53",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.symbol": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "79",
|
|
firefox: "51",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es7.symbol.async-iterator": {
|
|
chrome: "63",
|
|
opera: "50",
|
|
edge: "79",
|
|
firefox: "57",
|
|
safari: "12",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "12",
|
|
samsung: "8",
|
|
electron: "3.0"
|
|
},
|
|
"es6.string.anchor": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.big": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.blink": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.bold": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.code-point-at": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "12",
|
|
firefox: "29",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
rhino: "1.7.13",
|
|
electron: "0.21"
|
|
},
|
|
"es6.string.ends-with": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "12",
|
|
firefox: "29",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
rhino: "1.7.13",
|
|
electron: "0.21"
|
|
},
|
|
"es6.string.fixed": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.fontcolor": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.fontsize": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.from-code-point": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "12",
|
|
firefox: "29",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
rhino: "1.7.13",
|
|
electron: "0.21"
|
|
},
|
|
"es6.string.includes": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "12",
|
|
firefox: "40",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
rhino: "1.7.13",
|
|
electron: "0.21"
|
|
},
|
|
"es6.string.italics": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.iterator": {
|
|
chrome: "38",
|
|
opera: "25",
|
|
edge: "12",
|
|
firefox: "36",
|
|
safari: "9",
|
|
node: "0.12",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.link": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es7.string.pad-start": {
|
|
chrome: "57",
|
|
opera: "44",
|
|
edge: "15",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "8",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "7",
|
|
rhino: "1.7.13",
|
|
electron: "1.7"
|
|
},
|
|
"es7.string.pad-end": {
|
|
chrome: "57",
|
|
opera: "44",
|
|
edge: "15",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "8",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "7",
|
|
rhino: "1.7.13",
|
|
electron: "1.7"
|
|
},
|
|
"es6.string.raw": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "12",
|
|
firefox: "34",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
rhino: "1.7.14",
|
|
electron: "0.21"
|
|
},
|
|
"es6.string.repeat": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "12",
|
|
firefox: "24",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
rhino: "1.7.13",
|
|
electron: "0.21"
|
|
},
|
|
"es6.string.small": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.starts-with": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "12",
|
|
firefox: "29",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
rhino: "1.7.13",
|
|
electron: "0.21"
|
|
},
|
|
"es6.string.strike": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.sub": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.sup": {
|
|
chrome: "5",
|
|
opera: "15",
|
|
edge: "12",
|
|
firefox: "17",
|
|
safari: "6",
|
|
node: "0.4",
|
|
deno: "1",
|
|
android: "4",
|
|
ios: "7",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.14",
|
|
electron: "0.20"
|
|
},
|
|
"es6.string.trim": {
|
|
chrome: "5",
|
|
opera: "10.50",
|
|
edge: "12",
|
|
firefox: "3.5",
|
|
safari: "4",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "9",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es7.string.trim-left": {
|
|
chrome: "66",
|
|
opera: "53",
|
|
edge: "79",
|
|
firefox: "61",
|
|
safari: "12",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "12",
|
|
samsung: "9",
|
|
rhino: "1.7.13",
|
|
electron: "3.0"
|
|
},
|
|
"es7.string.trim-right": {
|
|
chrome: "66",
|
|
opera: "53",
|
|
edge: "79",
|
|
firefox: "61",
|
|
safari: "12",
|
|
node: "10",
|
|
deno: "1",
|
|
ios: "12",
|
|
samsung: "9",
|
|
rhino: "1.7.13",
|
|
electron: "3.0"
|
|
},
|
|
"es6.typed.array-buffer": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.typed.data-view": {
|
|
chrome: "5",
|
|
opera: "12",
|
|
edge: "12",
|
|
firefox: "15",
|
|
safari: "5.1",
|
|
node: "0.4",
|
|
deno: "1",
|
|
ie: "10",
|
|
android: "4",
|
|
ios: "6",
|
|
phantom: "1.9",
|
|
samsung: "1",
|
|
rhino: "1.7.13",
|
|
electron: "0.20"
|
|
},
|
|
"es6.typed.int8-array": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.typed.uint8-array": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.typed.uint8-clamped-array": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.typed.int16-array": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.typed.uint16-array": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.typed.int32-array": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.typed.uint32-array": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.typed.float32-array": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.typed.float64-array": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "13",
|
|
firefox: "48",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.weak-map": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "15",
|
|
firefox: "53",
|
|
safari: "9",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"es6.weak-set": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "15",
|
|
firefox: "53",
|
|
safari: "9",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
}
|
|
};
|
|
|
|
var corejs2BuiltIns = require$$0$4;
|
|
|
|
var isObjectProperty$1 = isObjectProperty$5,
|
|
isArrayPattern = isArrayPattern$1,
|
|
isObjectPattern = isObjectPattern$2,
|
|
isAssignmentPattern$1 = isAssignmentPattern$5,
|
|
isRestElement = isRestElement$3,
|
|
isIdentifier$3 = isIdentifier$j;
|
|
function shouldStoreRHSInTemporaryVariable(node) {
|
|
if (isArrayPattern(node)) {
|
|
var nonNullElements = node.elements.filter(function (element) {
|
|
return element !== null;
|
|
});
|
|
if (nonNullElements.length > 1) return true;else return shouldStoreRHSInTemporaryVariable(nonNullElements[0]);
|
|
} else if (isObjectPattern(node)) {
|
|
var properties = node.properties;
|
|
if (properties.length > 1) return true;else if (properties.length === 0) return false;else {
|
|
var firstProperty = properties[0];
|
|
if (isObjectProperty$1(firstProperty)) {
|
|
return shouldStoreRHSInTemporaryVariable(firstProperty.value);
|
|
} else {
|
|
return shouldStoreRHSInTemporaryVariable(firstProperty);
|
|
}
|
|
}
|
|
} else if (isAssignmentPattern$1(node)) {
|
|
return shouldStoreRHSInTemporaryVariable(node.left);
|
|
} else if (isRestElement(node)) {
|
|
if (isIdentifier$3(node.argument)) return true;
|
|
return shouldStoreRHSInTemporaryVariable(node.argument);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
var isAssignmentPattern = isAssignmentPattern$5,
|
|
isObjectProperty = isObjectProperty$5;
|
|
{
|
|
var node = identifier$i("a");
|
|
var property = objectProperty$1(identifier$i("key"), node);
|
|
var pattern = objectPattern$1([property]);
|
|
var ZERO_REFS = isReferenced$2(node, property, pattern) ? 1 : 0;
|
|
}
|
|
var proposalObjectRestSpread = declare(function (api, opts) {
|
|
var _api$assumption, _api$assumption2, _api$assumption3, _api$assumption4;
|
|
api.assertVersion(7);
|
|
var targets = api.targets();
|
|
var supportsObjectAssign = !isRequired("es6.object.assign", targets, {
|
|
compatData: corejs2BuiltIns
|
|
});
|
|
var _opts$useBuiltIns = opts.useBuiltIns,
|
|
useBuiltIns = _opts$useBuiltIns === void 0 ? supportsObjectAssign : _opts$useBuiltIns,
|
|
_opts$loose = opts.loose,
|
|
loose = _opts$loose === void 0 ? false : _opts$loose;
|
|
if (typeof loose !== "boolean") {
|
|
throw new Error(".loose must be a boolean, or undefined");
|
|
}
|
|
var ignoreFunctionLength = (_api$assumption = api.assumption("ignoreFunctionLength")) != null ? _api$assumption : loose;
|
|
var objectRestNoSymbols = (_api$assumption2 = api.assumption("objectRestNoSymbols")) != null ? _api$assumption2 : loose;
|
|
var pureGetters = (_api$assumption3 = api.assumption("pureGetters")) != null ? _api$assumption3 : loose;
|
|
var setSpreadProperties = (_api$assumption4 = api.assumption("setSpreadProperties")) != null ? _api$assumption4 : loose;
|
|
function getExtendsHelper(file) {
|
|
return useBuiltIns ? memberExpression$c(identifier$i("Object"), identifier$i("assign")) : file.addHelper("extends");
|
|
}
|
|
function hasRestElement(path) {
|
|
var foundRestElement = false;
|
|
visitRestElements(path, function (restElement) {
|
|
foundRestElement = true;
|
|
restElement.stop();
|
|
});
|
|
return foundRestElement;
|
|
}
|
|
function hasObjectPatternRestElement(path) {
|
|
var foundRestElement = false;
|
|
visitRestElements(path, function (restElement) {
|
|
if (restElement.parentPath.isObjectPattern()) {
|
|
foundRestElement = true;
|
|
restElement.stop();
|
|
}
|
|
});
|
|
return foundRestElement;
|
|
}
|
|
function visitRestElements(path, visitor) {
|
|
path.traverse({
|
|
Expression: function Expression(path) {
|
|
var parent = path.parent,
|
|
key = path.key;
|
|
if (isAssignmentPattern(parent) && key === "right" || isObjectProperty(parent) && parent.computed && key === "key") {
|
|
path.skip();
|
|
}
|
|
},
|
|
RestElement: visitor
|
|
});
|
|
}
|
|
function hasSpread(node) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(node.properties), _step; !(_step = _iterator()).done;) {
|
|
var prop = _step.value;
|
|
if (isSpreadElement$1(prop)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function extractNormalizedKeys(node) {
|
|
var props = node.properties;
|
|
var keys = [];
|
|
var allLiteral = true;
|
|
var hasTemplateLiteral = false;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(props), _step2; !(_step2 = _iterator2()).done;) {
|
|
var prop = _step2.value;
|
|
if (isIdentifier$j(prop.key) && !prop.computed) {
|
|
keys.push(stringLiteral$8(prop.key.name));
|
|
} else if (isTemplateLiteral$2(prop.key)) {
|
|
keys.push(cloneNode$j(prop.key));
|
|
hasTemplateLiteral = true;
|
|
} else if (isLiteral$6(prop.key)) {
|
|
keys.push(stringLiteral$8(String(prop.key.value)));
|
|
} else {
|
|
keys.push(cloneNode$j(prop.key));
|
|
allLiteral = false;
|
|
}
|
|
}
|
|
return {
|
|
keys: keys,
|
|
allLiteral: allLiteral,
|
|
hasTemplateLiteral: hasTemplateLiteral
|
|
};
|
|
}
|
|
function replaceImpureComputedKeys(properties, scope) {
|
|
var impureComputedPropertyDeclarators = [];
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(properties), _step3; !(_step3 = _iterator3()).done;) {
|
|
var propPath = _step3.value;
|
|
var key = propPath.get("key");
|
|
if (propPath.node.computed && !key.isPure()) {
|
|
var name = scope.generateUidBasedOnNode(key.node);
|
|
var declarator = variableDeclarator$8(identifier$i(name), key.node);
|
|
impureComputedPropertyDeclarators.push(declarator);
|
|
key.replaceWith(identifier$i(name));
|
|
}
|
|
}
|
|
return impureComputedPropertyDeclarators;
|
|
}
|
|
function removeUnusedExcludedKeys(path) {
|
|
var bindings = path.getOuterBindingIdentifierPaths();
|
|
Object.keys(bindings).forEach(function (bindingName) {
|
|
var bindingParentPath = bindings[bindingName].parentPath;
|
|
if (path.scope.getBinding(bindingName).references > ZERO_REFS || !bindingParentPath.isObjectProperty()) {
|
|
return;
|
|
}
|
|
bindingParentPath.remove();
|
|
});
|
|
}
|
|
function createObjectRest(path, file, objRef) {
|
|
var props = path.get("properties");
|
|
var last = props[props.length - 1];
|
|
assertRestElement(last.node);
|
|
var restElement = cloneNode$j(last.node);
|
|
last.remove();
|
|
var impureComputedPropertyDeclarators = replaceImpureComputedKeys(path.get("properties"), path.scope);
|
|
var _extractNormalizedKey = extractNormalizedKeys(path.node),
|
|
keys = _extractNormalizedKey.keys,
|
|
allLiteral = _extractNormalizedKey.allLiteral,
|
|
hasTemplateLiteral = _extractNormalizedKey.hasTemplateLiteral;
|
|
if (keys.length === 0) {
|
|
return [impureComputedPropertyDeclarators, restElement.argument, callExpression$e(getExtendsHelper(file), [objectExpression$3([]), sequenceExpression$7([callExpression$e(file.addHelper("objectDestructuringEmpty"), [cloneNode$j(objRef)]), cloneNode$j(objRef)])])];
|
|
}
|
|
var keyExpression;
|
|
if (!allLiteral) {
|
|
keyExpression = callExpression$e(memberExpression$c(arrayExpression$1(keys), identifier$i("map")), [file.addHelper("toPropertyKey")]);
|
|
} else {
|
|
keyExpression = arrayExpression$1(keys);
|
|
if (!hasTemplateLiteral && !isProgram$1(path.scope.block)) {
|
|
var program = path.findParent(function (path) {
|
|
return path.isProgram();
|
|
});
|
|
var id = path.scope.generateUidIdentifier("excluded");
|
|
program.scope.push({
|
|
id: id,
|
|
init: keyExpression,
|
|
kind: "const"
|
|
});
|
|
keyExpression = cloneNode$j(id);
|
|
}
|
|
}
|
|
return [impureComputedPropertyDeclarators, restElement.argument, callExpression$e(file.addHelper("objectWithoutProperties" + (objectRestNoSymbols ? "Loose" : "")), [cloneNode$j(objRef), keyExpression])];
|
|
}
|
|
function replaceRestElement(parentPath, paramPath, container) {
|
|
if (paramPath.isAssignmentPattern()) {
|
|
replaceRestElement(parentPath, paramPath.get("left"), container);
|
|
return;
|
|
}
|
|
if (paramPath.isArrayPattern() && hasRestElement(paramPath)) {
|
|
var elements = paramPath.get("elements");
|
|
for (var i = 0; i < elements.length; i++) {
|
|
replaceRestElement(parentPath, elements[i], container);
|
|
}
|
|
}
|
|
if (paramPath.isObjectPattern() && hasRestElement(paramPath)) {
|
|
var uid = parentPath.scope.generateUidIdentifier("ref");
|
|
var declar = variableDeclaration$8("let", [variableDeclarator$8(paramPath.node, uid)]);
|
|
if (container) {
|
|
container.push(declar);
|
|
} else {
|
|
parentPath.ensureBlock();
|
|
parentPath.get("body").unshiftContainer("body", declar);
|
|
}
|
|
paramPath.replaceWith(cloneNode$j(uid));
|
|
}
|
|
}
|
|
return {
|
|
name: "proposal-object-rest-spread",
|
|
inherits: syntaxObjectRestSpread["default"],
|
|
visitor: {
|
|
Function: function Function(path) {
|
|
var params = path.get("params");
|
|
var paramsWithRestElement = new Set();
|
|
var idsInRestParams = new Set();
|
|
for (var _i = 0; _i < params.length; ++_i) {
|
|
var param = params[_i];
|
|
if (hasRestElement(param)) {
|
|
paramsWithRestElement.add(_i);
|
|
for (var _i2 = 0, _Object$keys = Object.keys(param.getBindingIdentifiers()); _i2 < _Object$keys.length; _i2++) {
|
|
var name = _Object$keys[_i2];
|
|
idsInRestParams.add(name);
|
|
}
|
|
}
|
|
}
|
|
var idInRest = false;
|
|
var IdentifierHandler = function IdentifierHandler(path, functionScope) {
|
|
var name = path.node.name;
|
|
if (path.scope.getBinding(name) === functionScope.getBinding(name) && idsInRestParams.has(name)) {
|
|
idInRest = true;
|
|
path.stop();
|
|
}
|
|
};
|
|
var i;
|
|
for (i = 0; i < params.length && !idInRest; ++i) {
|
|
var _param = params[i];
|
|
if (!paramsWithRestElement.has(i)) {
|
|
if (_param.isReferencedIdentifier() || _param.isBindingIdentifier()) {
|
|
IdentifierHandler(_param, path.scope);
|
|
} else {
|
|
_param.traverse({
|
|
"Scope|TypeAnnotation|TSTypeAnnotation": function ScopeTypeAnnotationTSTypeAnnotation(path) {
|
|
return path.skip();
|
|
},
|
|
"ReferencedIdentifier|BindingIdentifier": IdentifierHandler
|
|
}, path.scope);
|
|
}
|
|
}
|
|
}
|
|
if (!idInRest) {
|
|
for (var _i3 = 0; _i3 < params.length; ++_i3) {
|
|
var _param2 = params[_i3];
|
|
if (paramsWithRestElement.has(_i3)) {
|
|
replaceRestElement(path, _param2);
|
|
}
|
|
}
|
|
} else {
|
|
var shouldTransformParam = function shouldTransformParam(idx) {
|
|
return idx >= i - 1 || paramsWithRestElement.has(idx);
|
|
};
|
|
convertFunctionParams(path, ignoreFunctionLength, shouldTransformParam, replaceRestElement);
|
|
}
|
|
},
|
|
VariableDeclarator: function (_VariableDeclarator) {
|
|
function VariableDeclarator(_x, _x2) {
|
|
return _VariableDeclarator.apply(this, arguments);
|
|
}
|
|
VariableDeclarator.toString = function () {
|
|
return _VariableDeclarator.toString();
|
|
};
|
|
return VariableDeclarator;
|
|
}(function (path, file) {
|
|
if (!path.get("id").isObjectPattern()) {
|
|
return;
|
|
}
|
|
var insertionPath = path;
|
|
var originalPath = path;
|
|
visitRestElements(path.get("id"), function (path) {
|
|
if (!path.parentPath.isObjectPattern()) {
|
|
return;
|
|
}
|
|
if (shouldStoreRHSInTemporaryVariable(originalPath.node.id) && !isIdentifier$j(originalPath.node.init)) {
|
|
var initRef = path.scope.generateUidIdentifierBasedOnNode(originalPath.node.init, "ref");
|
|
originalPath.insertBefore(variableDeclarator$8(initRef, originalPath.node.init));
|
|
originalPath.replaceWith(variableDeclarator$8(originalPath.node.id, cloneNode$j(initRef)));
|
|
return;
|
|
}
|
|
var ref = originalPath.node.init;
|
|
var refPropertyPath = [];
|
|
var kind;
|
|
path.findParent(function (path) {
|
|
if (path.isObjectProperty()) {
|
|
refPropertyPath.unshift(path);
|
|
} else if (path.isVariableDeclarator()) {
|
|
kind = path.parentPath.node.kind;
|
|
return true;
|
|
}
|
|
});
|
|
var impureObjRefComputedDeclarators = replaceImpureComputedKeys(refPropertyPath, path.scope);
|
|
refPropertyPath.forEach(function (prop) {
|
|
var node = prop.node;
|
|
ref = memberExpression$c(ref, cloneNode$j(node.key), node.computed || isLiteral$6(node.key));
|
|
});
|
|
var objectPatternPath = path.findParent(function (path) {
|
|
return path.isObjectPattern();
|
|
});
|
|
var _createObjectRest = createObjectRest(objectPatternPath, file, ref),
|
|
_createObjectRest2 = _slicedToArray(_createObjectRest, 3),
|
|
impureComputedPropertyDeclarators = _createObjectRest2[0],
|
|
argument = _createObjectRest2[1],
|
|
callExpression = _createObjectRest2[2];
|
|
if (pureGetters) {
|
|
removeUnusedExcludedKeys(objectPatternPath);
|
|
}
|
|
assertIdentifier(argument);
|
|
insertionPath.insertBefore(impureComputedPropertyDeclarators);
|
|
insertionPath.insertBefore(impureObjRefComputedDeclarators);
|
|
insertionPath = insertionPath.insertAfter(variableDeclarator$8(argument, callExpression))[0];
|
|
path.scope.registerBinding(kind, insertionPath);
|
|
if (objectPatternPath.node.properties.length === 0) {
|
|
objectPatternPath.findParent(function (path) {
|
|
return path.isObjectProperty() || path.isVariableDeclarator();
|
|
}).remove();
|
|
}
|
|
});
|
|
}),
|
|
ExportNamedDeclaration: function ExportNamedDeclaration(path) {
|
|
var declaration = path.get("declaration");
|
|
if (!declaration.isVariableDeclaration()) return;
|
|
var hasRest = declaration.get("declarations").some(function (path) {
|
|
return hasObjectPatternRestElement(path.get("id"));
|
|
});
|
|
if (!hasRest) return;
|
|
var specifiers = [];
|
|
for (var _i4 = 0, _Object$keys2 = Object.keys(path.getOuterBindingIdentifiers(true)); _i4 < _Object$keys2.length; _i4++) {
|
|
var name = _Object$keys2[_i4];
|
|
specifiers.push(exportSpecifier$2(identifier$i(name), identifier$i(name)));
|
|
}
|
|
path.replaceWith(declaration.node);
|
|
path.insertAfter(exportNamedDeclaration$2(null, specifiers));
|
|
},
|
|
CatchClause: function CatchClause(path) {
|
|
var paramPath = path.get("param");
|
|
replaceRestElement(path, paramPath);
|
|
},
|
|
AssignmentExpression: function AssignmentExpression(path, file) {
|
|
var leftPath = path.get("left");
|
|
if (leftPath.isObjectPattern() && hasRestElement(leftPath)) {
|
|
var nodes = [];
|
|
var refName = path.scope.generateUidBasedOnNode(path.node.right, "ref");
|
|
nodes.push(variableDeclaration$8("var", [variableDeclarator$8(identifier$i(refName), path.node.right)]));
|
|
var _createObjectRest3 = createObjectRest(leftPath, file, identifier$i(refName)),
|
|
_createObjectRest4 = _slicedToArray(_createObjectRest3, 3),
|
|
impureComputedPropertyDeclarators = _createObjectRest4[0],
|
|
argument = _createObjectRest4[1],
|
|
callExpression = _createObjectRest4[2];
|
|
if (impureComputedPropertyDeclarators.length > 0) {
|
|
nodes.push(variableDeclaration$8("var", impureComputedPropertyDeclarators));
|
|
}
|
|
var nodeWithoutSpread = cloneNode$j(path.node);
|
|
nodeWithoutSpread.right = identifier$i(refName);
|
|
nodes.push(expressionStatement$a(nodeWithoutSpread));
|
|
nodes.push(expressionStatement$a(assignmentExpression$d("=", argument, callExpression)));
|
|
nodes.push(expressionStatement$a(identifier$i(refName)));
|
|
path.replaceWithMultiple(nodes);
|
|
}
|
|
},
|
|
ForXStatement: function (_ForXStatement) {
|
|
function ForXStatement(_x3) {
|
|
return _ForXStatement.apply(this, arguments);
|
|
}
|
|
ForXStatement.toString = function () {
|
|
return _ForXStatement.toString();
|
|
};
|
|
return ForXStatement;
|
|
}(function (path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var leftPath = path.get("left");
|
|
var left = node.left;
|
|
if (!hasObjectPatternRestElement(leftPath)) {
|
|
return;
|
|
}
|
|
if (!isVariableDeclaration$3(left)) {
|
|
var temp = scope.generateUidIdentifier("ref");
|
|
node.left = variableDeclaration$8("var", [variableDeclarator$8(temp)]);
|
|
path.ensureBlock();
|
|
var body = path.node.body;
|
|
if (body.body.length === 0 && path.isCompletionRecord()) {
|
|
body.body.unshift(expressionStatement$a(scope.buildUndefinedNode()));
|
|
}
|
|
body.body.unshift(expressionStatement$a(assignmentExpression$d("=", left, cloneNode$j(temp))));
|
|
} else {
|
|
var _pattern = left.declarations[0].id;
|
|
var key = scope.generateUidIdentifier("ref");
|
|
node.left = variableDeclaration$8(left.kind, [variableDeclarator$8(key, null)]);
|
|
path.ensureBlock();
|
|
var _body = node.body;
|
|
_body.body.unshift(variableDeclaration$8(node.left.kind, [variableDeclarator$8(_pattern, cloneNode$j(key))]));
|
|
}
|
|
}),
|
|
ArrayPattern: function ArrayPattern(path) {
|
|
var objectPatterns = [];
|
|
visitRestElements(path, function (path) {
|
|
if (!path.parentPath.isObjectPattern()) {
|
|
return;
|
|
}
|
|
var objectPattern = path.parentPath;
|
|
var uid = path.scope.generateUidIdentifier("ref");
|
|
objectPatterns.push(variableDeclarator$8(objectPattern.node, uid));
|
|
objectPattern.replaceWith(cloneNode$j(uid));
|
|
path.skip();
|
|
});
|
|
if (objectPatterns.length > 0) {
|
|
var statementPath = path.getStatementParent();
|
|
var statementNode = statementPath.node;
|
|
var kind = statementNode.type === "VariableDeclaration" ? statementNode.kind : "var";
|
|
statementPath.insertAfter(variableDeclaration$8(kind, objectPatterns));
|
|
}
|
|
},
|
|
ObjectExpression: function ObjectExpression(path, file) {
|
|
if (!hasSpread(path.node)) return;
|
|
var helper;
|
|
if (setSpreadProperties) {
|
|
helper = getExtendsHelper(file);
|
|
} else {
|
|
try {
|
|
helper = file.addHelper("objectSpread2");
|
|
} catch (_unused) {
|
|
this.file.declarations["objectSpread2"] = null;
|
|
helper = file.addHelper("objectSpread");
|
|
}
|
|
}
|
|
var exp = null;
|
|
var props = [];
|
|
function make() {
|
|
var hadProps = props.length > 0;
|
|
var obj = objectExpression$3(props);
|
|
props = [];
|
|
if (!exp) {
|
|
exp = callExpression$e(helper, [obj]);
|
|
return;
|
|
}
|
|
if (pureGetters) {
|
|
if (hadProps) {
|
|
exp.arguments.push(obj);
|
|
}
|
|
return;
|
|
}
|
|
exp = callExpression$e(cloneNode$j(helper), [exp].concat(_toConsumableArray(hadProps ? [objectExpression$3([]), obj] : [])));
|
|
}
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(path.node.properties), _step4; !(_step4 = _iterator4()).done;) {
|
|
var prop = _step4.value;
|
|
if (isSpreadElement$1(prop)) {
|
|
make();
|
|
exp.arguments.push(prop.argument);
|
|
} else {
|
|
props.push(prop);
|
|
}
|
|
}
|
|
if (props.length) make();
|
|
path.replaceWith(exp);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var proposalOptionalCatchBinding = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "proposal-optional-catch-binding",
|
|
inherits: syntaxOptionalCatchBinding["default"],
|
|
visitor: {
|
|
CatchClause: function CatchClause(path) {
|
|
if (!path.node.param) {
|
|
var uid = path.scope.generateUidIdentifier("unused");
|
|
var paramPath = path.get("param");
|
|
paramPath.replaceWith(uid);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _syntaxOptionalChaining = makeNoopPlugin();
|
|
|
|
function willPathCastToBoolean(path) {
|
|
var maybeWrapped = findOutermostTransparentParent(path);
|
|
var node = maybeWrapped.node,
|
|
parentPath = maybeWrapped.parentPath;
|
|
if (parentPath.isLogicalExpression()) {
|
|
var _parentPath$node = parentPath.node,
|
|
operator = _parentPath$node.operator,
|
|
right = _parentPath$node.right;
|
|
if (operator === "&&" || operator === "||" || operator === "??" && node === right) {
|
|
return willPathCastToBoolean(parentPath);
|
|
}
|
|
}
|
|
if (parentPath.isSequenceExpression()) {
|
|
var expressions = parentPath.node.expressions;
|
|
if (expressions[expressions.length - 1] === node) {
|
|
return willPathCastToBoolean(parentPath);
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
return parentPath.isConditional({
|
|
test: node
|
|
}) || parentPath.isUnaryExpression({
|
|
operator: "!"
|
|
}) || parentPath.isLoop({
|
|
test: node
|
|
});
|
|
}
|
|
function findOutermostTransparentParent(path) {
|
|
var maybeWrapped = path;
|
|
path.findParent(function (p) {
|
|
if (!isTransparentExprWrapper(p.node)) return true;
|
|
maybeWrapped = p;
|
|
});
|
|
return maybeWrapped;
|
|
}
|
|
|
|
var _templateObject$i, _templateObject2$8, _templateObject3$7, _templateObject4$2, _templateObject5$1, _templateObject6$1, _templateObject7;
|
|
var ast = template$2.expression.ast;
|
|
function isSimpleMemberExpression(expression) {
|
|
expression = skipTransparentExprWrapperNodes(expression);
|
|
return isIdentifier$j(expression) || isSuper$3(expression) || isMemberExpression$8(expression) && !expression.computed && isSimpleMemberExpression(expression.object);
|
|
}
|
|
function needsMemoize(path) {
|
|
var optionalPath = path;
|
|
var scope = path.scope;
|
|
while (optionalPath.isOptionalMemberExpression() || optionalPath.isOptionalCallExpression()) {
|
|
var _optionalPath = optionalPath,
|
|
node = _optionalPath.node;
|
|
var childPath = skipTransparentExprWrappers(optionalPath.isOptionalMemberExpression() ? optionalPath.get("object") : optionalPath.get("callee"));
|
|
if (node.optional) {
|
|
return !scope.isStatic(childPath.node);
|
|
}
|
|
optionalPath = childPath;
|
|
}
|
|
}
|
|
function transform$1(path, _ref) {
|
|
var pureGetters = _ref.pureGetters,
|
|
noDocumentAll = _ref.noDocumentAll;
|
|
var scope = path.scope;
|
|
var maybeWrapped = findOutermostTransparentParent(path);
|
|
var parentPath = maybeWrapped.parentPath;
|
|
var willReplacementCastToBoolean = willPathCastToBoolean(maybeWrapped);
|
|
var isDeleteOperation = false;
|
|
var parentIsCall = parentPath.isCallExpression({
|
|
callee: maybeWrapped.node
|
|
}) && path.isOptionalMemberExpression();
|
|
var optionals = [];
|
|
var optionalPath = path;
|
|
if (scope.path.isPattern() && needsMemoize(optionalPath)) {
|
|
path.replaceWith(template$2.ast(_templateObject$i || (_templateObject$i = _taggedTemplateLiteralLoose(["(() => ", ")()"])), path.node));
|
|
return;
|
|
}
|
|
while (optionalPath.isOptionalMemberExpression() || optionalPath.isOptionalCallExpression()) {
|
|
var _optionalPath2 = optionalPath,
|
|
node = _optionalPath2.node;
|
|
if (node.optional) {
|
|
optionals.push(node);
|
|
}
|
|
if (optionalPath.isOptionalMemberExpression()) {
|
|
optionalPath.node.type = "MemberExpression";
|
|
optionalPath = skipTransparentExprWrappers(optionalPath.get("object"));
|
|
} else if (optionalPath.isOptionalCallExpression()) {
|
|
optionalPath.node.type = "CallExpression";
|
|
optionalPath = skipTransparentExprWrappers(optionalPath.get("callee"));
|
|
}
|
|
}
|
|
var replacementPath = path;
|
|
if (parentPath.isUnaryExpression({
|
|
operator: "delete"
|
|
})) {
|
|
replacementPath = parentPath;
|
|
isDeleteOperation = true;
|
|
}
|
|
for (var i = optionals.length - 1; i >= 0; i--) {
|
|
var _node = optionals[i];
|
|
var isCall = isCallExpression$8(_node);
|
|
var chainWithTypes = isCall ? _node.callee : _node.object;
|
|
var chain = skipTransparentExprWrapperNodes(chainWithTypes);
|
|
var ref = void 0;
|
|
var check = void 0;
|
|
if (isCall && isIdentifier$j(chain, {
|
|
name: "eval"
|
|
})) {
|
|
check = ref = chain;
|
|
_node.callee = sequenceExpression$7([numericLiteral$8(0), ref]);
|
|
} else if (pureGetters && isCall && isSimpleMemberExpression(chain)) {
|
|
check = ref = _node.callee;
|
|
} else {
|
|
ref = scope.maybeGenerateMemoised(chain);
|
|
if (ref) {
|
|
check = assignmentExpression$d("=", cloneNode$j(ref), chainWithTypes);
|
|
isCall ? _node.callee = ref : _node.object = ref;
|
|
} else {
|
|
check = ref = chainWithTypes;
|
|
}
|
|
}
|
|
if (isCall && isMemberExpression$8(chain)) {
|
|
if (pureGetters && isSimpleMemberExpression(chain)) {
|
|
_node.callee = chainWithTypes;
|
|
} else {
|
|
var object = chain.object;
|
|
var context = void 0;
|
|
if (isSuper$3(object)) {
|
|
context = thisExpression$4();
|
|
} else {
|
|
var memoized = scope.maybeGenerateMemoised(object);
|
|
if (memoized) {
|
|
context = memoized;
|
|
chain.object = assignmentExpression$d("=", memoized, object);
|
|
} else {
|
|
context = object;
|
|
}
|
|
}
|
|
_node.arguments.unshift(cloneNode$j(context));
|
|
_node.callee = memberExpression$c(_node.callee, identifier$i("call"));
|
|
}
|
|
}
|
|
var replacement = replacementPath.node;
|
|
if (i === 0 && parentIsCall) {
|
|
var _baseRef;
|
|
var _object = skipTransparentExprWrapperNodes(replacement.object);
|
|
var baseRef = void 0;
|
|
if (!pureGetters || !isSimpleMemberExpression(_object)) {
|
|
baseRef = scope.maybeGenerateMemoised(_object);
|
|
if (baseRef) {
|
|
replacement.object = assignmentExpression$d("=", baseRef, _object);
|
|
}
|
|
}
|
|
replacement = callExpression$e(memberExpression$c(replacement, identifier$i("bind")), [cloneNode$j((_baseRef = baseRef) != null ? _baseRef : _object)]);
|
|
}
|
|
if (willReplacementCastToBoolean) {
|
|
var nonNullishCheck = noDocumentAll ? ast(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteralLoose(["", " != null"])), cloneNode$j(check)) : ast(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteralLoose(["\n ", " !== null && ", " !== void 0"])), cloneNode$j(check), cloneNode$j(ref));
|
|
replacementPath.replaceWith(logicalExpression$3("&&", nonNullishCheck, replacement));
|
|
replacementPath = skipTransparentExprWrappers(replacementPath.get("right"));
|
|
} else {
|
|
var nullishCheck = noDocumentAll ? ast(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteralLoose(["", " == null"])), cloneNode$j(check)) : ast(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteralLoose(["\n ", " === null || ", " === void 0"])), cloneNode$j(check), cloneNode$j(ref));
|
|
var returnValue = isDeleteOperation ? ast(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteralLoose(["true"]))) : ast(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["void 0"])));
|
|
replacementPath.replaceWith(conditionalExpression$4(nullishCheck, returnValue, replacement));
|
|
replacementPath = skipTransparentExprWrappers(replacementPath.get("alternate"));
|
|
}
|
|
}
|
|
}
|
|
|
|
var proposalOptionalChaining = declare(function (api, options) {
|
|
var _api$assumption, _api$assumption2;
|
|
api.assertVersion(7);
|
|
var _options$loose = options.loose,
|
|
loose = _options$loose === void 0 ? false : _options$loose;
|
|
var noDocumentAll = (_api$assumption = api.assumption("noDocumentAll")) != null ? _api$assumption : loose;
|
|
var pureGetters = (_api$assumption2 = api.assumption("pureGetters")) != null ? _api$assumption2 : loose;
|
|
return {
|
|
name: "proposal-optional-chaining",
|
|
inherits: _syntaxOptionalChaining["default"],
|
|
visitor: {
|
|
"OptionalCallExpression|OptionalMemberExpression": function OptionalCallExpressionOptionalMemberExpression(path) {
|
|
transform$1(path, {
|
|
noDocumentAll: noDocumentAll,
|
|
pureGetters: pureGetters
|
|
});
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
function isConciseArrowExpression(node) {
|
|
return isArrowFunctionExpression$1(node) && isExpression$4(node.body) && !node.async;
|
|
}
|
|
var buildOptimizedSequenceExpression = function buildOptimizedSequenceExpression(_ref) {
|
|
var call = _ref.call,
|
|
path = _ref.path,
|
|
placeholder = _ref.placeholder;
|
|
var calledExpression = call.callee;
|
|
var pipelineLeft = path.node.left;
|
|
var assign = assignmentExpression$d("=", cloneNode$j(placeholder), pipelineLeft);
|
|
var expressionIsArrow = isConciseArrowExpression(calledExpression);
|
|
if (expressionIsArrow) {
|
|
var param;
|
|
var optimizeArrow = true;
|
|
var params = calledExpression.params;
|
|
if (params.length === 1 && isIdentifier$j(params[0])) {
|
|
param = params[0];
|
|
} else if (params.length > 0) {
|
|
optimizeArrow = false;
|
|
}
|
|
if (optimizeArrow && !param) {
|
|
return sequenceExpression$7([pipelineLeft, calledExpression.body]);
|
|
} else if (param) {
|
|
path.scope.push({
|
|
id: cloneNode$j(placeholder)
|
|
});
|
|
path.get("right").scope.rename(param.name, placeholder.name);
|
|
return sequenceExpression$7([assign, calledExpression.body]);
|
|
}
|
|
} else if (isIdentifier$j(calledExpression, {
|
|
name: "eval"
|
|
})) {
|
|
var evalSequence = sequenceExpression$7([numericLiteral$8(0), calledExpression]);
|
|
call.callee = evalSequence;
|
|
}
|
|
path.scope.push({
|
|
id: cloneNode$j(placeholder)
|
|
});
|
|
return sequenceExpression$7([assign, call]);
|
|
};
|
|
|
|
var minimalVisitor = {
|
|
BinaryExpression: function (_BinaryExpression) {
|
|
function BinaryExpression(_x) {
|
|
return _BinaryExpression.apply(this, arguments);
|
|
}
|
|
BinaryExpression.toString = function () {
|
|
return _BinaryExpression.toString();
|
|
};
|
|
return BinaryExpression;
|
|
}(function (path) {
|
|
var scope = path.scope,
|
|
node = path.node;
|
|
var operator = node.operator,
|
|
left = node.left,
|
|
right = node.right;
|
|
if (operator !== "|>") return;
|
|
var placeholder = scope.generateUidIdentifierBasedOnNode(left);
|
|
var call = callExpression$e(right, [cloneNode$j(placeholder)]);
|
|
path.replaceWith(buildOptimizedSequenceExpression({
|
|
placeholder: placeholder,
|
|
call: call,
|
|
path: path
|
|
}));
|
|
})
|
|
};
|
|
|
|
var topicReferenceVisitor = {
|
|
exit: function exit(path, state) {
|
|
if (path.isTopicReference()) {
|
|
state.topicReferences.push(path);
|
|
} else {
|
|
if (state.topicReferences.length === 0 && !state.sideEffectsBeforeFirstTopicReference && !path.isPure()) {
|
|
state.sideEffectsBeforeFirstTopicReference = true;
|
|
}
|
|
}
|
|
},
|
|
"ClassBody|Function": function ClassBodyFunction(_, state) {
|
|
if (state.topicReferences.length === 0) {
|
|
state.sideEffectsBeforeFirstTopicReference = true;
|
|
}
|
|
}
|
|
};
|
|
var visitor = {
|
|
BinaryExpression: {
|
|
exit: function exit(path) {
|
|
var scope = path.scope,
|
|
node = path.node;
|
|
if (node.operator !== "|>") {
|
|
return;
|
|
}
|
|
var pipeBodyPath = path.get("right");
|
|
if (pipeBodyPath.node.type === "TopicReference") {
|
|
path.replaceWith(node.left);
|
|
return;
|
|
}
|
|
var visitorState = {
|
|
topicReferences: [],
|
|
sideEffectsBeforeFirstTopicReference: pipeBodyPath.isFunction()
|
|
};
|
|
pipeBodyPath.traverse(topicReferenceVisitor, visitorState);
|
|
if (visitorState.topicReferences.length === 1 && (!visitorState.sideEffectsBeforeFirstTopicReference || path.scope.isPure(node.left, true))) {
|
|
visitorState.topicReferences[0].replaceWith(node.left);
|
|
path.replaceWith(node.right);
|
|
return;
|
|
}
|
|
var topicVariable = scope.generateUidIdentifierBasedOnNode(node);
|
|
scope.push({
|
|
id: topicVariable
|
|
});
|
|
visitorState.topicReferences.forEach(function (path) {
|
|
return path.replaceWith(cloneNode$j(topicVariable));
|
|
});
|
|
path.replaceWith(sequenceExpression$7([assignmentExpression$d("=", cloneNode$j(topicVariable), node.left), node.right]));
|
|
}
|
|
}
|
|
};
|
|
|
|
var fsharpVisitor = {
|
|
BinaryExpression: function (_BinaryExpression) {
|
|
function BinaryExpression(_x) {
|
|
return _BinaryExpression.apply(this, arguments);
|
|
}
|
|
BinaryExpression.toString = function () {
|
|
return _BinaryExpression.toString();
|
|
};
|
|
return BinaryExpression;
|
|
}(function (path) {
|
|
var scope = path.scope,
|
|
node = path.node;
|
|
var operator = node.operator,
|
|
left = node.left,
|
|
right = node.right;
|
|
if (operator !== "|>") return;
|
|
var placeholder = scope.generateUidIdentifierBasedOnNode(left);
|
|
var call = right.type === "AwaitExpression" ? awaitExpression$1(cloneNode$j(placeholder)) : callExpression$e(right, [cloneNode$j(placeholder)]);
|
|
var sequence = buildOptimizedSequenceExpression({
|
|
placeholder: placeholder,
|
|
call: call,
|
|
path: path
|
|
});
|
|
path.replaceWith(sequence);
|
|
})
|
|
};
|
|
|
|
var updateTopicReferenceVisitor = {
|
|
PipelinePrimaryTopicReference: function PipelinePrimaryTopicReference(path) {
|
|
path.replaceWith(cloneNode$j(this.topicId));
|
|
},
|
|
PipelineTopicExpression: function PipelineTopicExpression(path) {
|
|
path.skip();
|
|
}
|
|
};
|
|
var smartVisitor = {
|
|
BinaryExpression: function BinaryExpression(path) {
|
|
var scope = path.scope;
|
|
var node = path.node;
|
|
var operator = node.operator,
|
|
left = node.left,
|
|
right = node.right;
|
|
if (operator !== "|>") return;
|
|
var placeholder = scope.generateUidIdentifierBasedOnNode(left);
|
|
scope.push({
|
|
id: placeholder
|
|
});
|
|
var call;
|
|
if (isPipelineTopicExpression(right)) {
|
|
path.get("right").traverse(updateTopicReferenceVisitor, {
|
|
topicId: placeholder
|
|
});
|
|
call = right.expression;
|
|
} else {
|
|
var callee = right.callee;
|
|
if (isIdentifier$j(callee, {
|
|
name: "eval"
|
|
})) {
|
|
callee = sequenceExpression$7([numericLiteral$8(0), callee]);
|
|
}
|
|
call = callExpression$e(callee, [cloneNode$j(placeholder)]);
|
|
}
|
|
path.replaceWith(sequenceExpression$7([assignmentExpression$d("=", cloneNode$j(placeholder), left), call]));
|
|
}
|
|
};
|
|
|
|
var visitorsPerProposal = {
|
|
minimal: minimalVisitor,
|
|
hack: visitor,
|
|
fsharp: fsharpVisitor,
|
|
smart: smartVisitor
|
|
};
|
|
var proposalPipelineOperator = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
var proposal = options.proposal;
|
|
if (proposal === "smart") {
|
|
console.warn("The smart-mix pipe operator is deprecated. Use \"proposal\": \"hack\" instead.");
|
|
}
|
|
return {
|
|
name: "proposal-pipeline-operator",
|
|
inherits: syntaxPipelineOperator,
|
|
visitor: visitorsPerProposal[options.proposal]
|
|
};
|
|
});
|
|
|
|
var proposalPrivateMethods = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
return createClassFeaturePlugin({
|
|
name: "proposal-private-methods",
|
|
api: api,
|
|
feature: FEATURES$1.privateMethods,
|
|
loose: options.loose,
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("classPrivateMethods");
|
|
}
|
|
});
|
|
});
|
|
|
|
var _syntaxPrivatePropertyInObject = makeNoopPlugin();
|
|
|
|
var _templateObject$h, _templateObject2$7, _templateObject3$6, _templateObject4$1, _templateObject5, _templateObject6;
|
|
var proposalPrivatePropertyInObject = declare(function (api, opt) {
|
|
api.assertVersion(7);
|
|
var t = api.types,
|
|
template = api.template;
|
|
var loose = opt.loose;
|
|
var classWeakSets = new WeakMap();
|
|
var fieldsWeakSets = new WeakMap();
|
|
function unshadow(name, targetScope, scope) {
|
|
while (scope !== targetScope) {
|
|
if (scope.hasOwnBinding(name)) scope.rename(name);
|
|
scope = scope.parent;
|
|
}
|
|
}
|
|
function injectToFieldInit(fieldPath, expr, before) {
|
|
if (before === void 0) {
|
|
before = false;
|
|
}
|
|
if (fieldPath.node.value) {
|
|
var value = fieldPath.get("value");
|
|
if (before) {
|
|
value.insertBefore(expr);
|
|
} else {
|
|
value.insertAfter(expr);
|
|
}
|
|
} else {
|
|
fieldPath.set("value", t.unaryExpression("void", expr));
|
|
}
|
|
}
|
|
function injectInitialization$1(classPath, init) {
|
|
var firstFieldPath;
|
|
var constructorPath;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(classPath.get("body.body")), _step; !(_step = _iterator()).done;) {
|
|
var el = _step.value;
|
|
if ((el.isClassProperty() || el.isClassPrivateProperty()) && !el.node["static"]) {
|
|
firstFieldPath = el;
|
|
break;
|
|
}
|
|
if (!constructorPath && el.isClassMethod({
|
|
kind: "constructor"
|
|
})) {
|
|
constructorPath = el;
|
|
}
|
|
}
|
|
if (firstFieldPath) {
|
|
injectToFieldInit(firstFieldPath, init, true);
|
|
} else {
|
|
injectInitialization(classPath, constructorPath, [t.expressionStatement(init)]);
|
|
}
|
|
}
|
|
function getWeakSetId(weakSets, outerClass, reference, name, inject) {
|
|
if (name === void 0) {
|
|
name = "";
|
|
}
|
|
var id = weakSets.get(reference.node);
|
|
if (!id) {
|
|
id = outerClass.scope.generateUidIdentifier((name || "") + " brandCheck");
|
|
weakSets.set(reference.node, id);
|
|
inject(reference, template.expression.ast(_templateObject$h || (_templateObject$h = _taggedTemplateLiteralLoose(["", ".add(this)"])), t.cloneNode(id)));
|
|
var newExpr = t.newExpression(t.identifier("WeakSet"), []);
|
|
annotateAsPure(newExpr);
|
|
outerClass.insertBefore(template.ast(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteralLoose(["var ", " = ", ""])), id, newExpr));
|
|
}
|
|
return t.cloneNode(id);
|
|
}
|
|
return {
|
|
name: "proposal-private-property-in-object",
|
|
inherits: _syntaxPrivatePropertyInObject["default"],
|
|
pre: function pre() {
|
|
enableFeature$1(this.file, FEATURES$1.privateIn, loose);
|
|
},
|
|
visitor: {
|
|
BinaryExpression: function BinaryExpression(path, state) {
|
|
var node = path.node;
|
|
var file = state.file;
|
|
if (node.operator !== "in") return;
|
|
if (!t.isPrivateName(node.left)) return;
|
|
var name = node.left.id.name;
|
|
var privateElement;
|
|
var outerClass = path.findParent(function (path) {
|
|
if (!path.isClass()) return false;
|
|
privateElement = path.get("body.body").find(function (_ref) {
|
|
var node = _ref.node;
|
|
return t.isPrivate(node) && node.key.id.name === name;
|
|
});
|
|
return !!privateElement;
|
|
});
|
|
if (outerClass.parentPath.scope.path.isPattern()) {
|
|
outerClass.replaceWith(template.ast(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteralLoose(["(() => ", ")()"])), outerClass.node));
|
|
return;
|
|
}
|
|
if (privateElement.node.type === "ClassPrivateMethod") {
|
|
if (privateElement.node["static"]) {
|
|
if (outerClass.node.id) {
|
|
unshadow(outerClass.node.id.name, outerClass.scope, path.scope);
|
|
} else {
|
|
outerClass.set("id", path.scope.generateUidIdentifier("class"));
|
|
}
|
|
path.replaceWith(template.expression.ast(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteralLoose(["\n ", " === ", "\n "])), t.cloneNode(outerClass.node.id), buildCheckInRHS(node.right, file)));
|
|
} else {
|
|
var _outerClass$node$id;
|
|
var id = getWeakSetId(classWeakSets, outerClass, outerClass, (_outerClass$node$id = outerClass.node.id) == null ? void 0 : _outerClass$node$id.name, injectInitialization$1);
|
|
path.replaceWith(template.expression.ast(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["", ".has(", ")"])), id, buildCheckInRHS(node.right, file)));
|
|
}
|
|
} else {
|
|
var _id = getWeakSetId(fieldsWeakSets, outerClass, privateElement, privateElement.node.key.id.name, injectToFieldInit);
|
|
path.replaceWith(template.expression.ast(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["", ".has(", ")"])), _id, buildCheckInRHS(node.right, file)));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var v$2 = new OptionValidator("@babel/plugin-proposal-record-and-tuple");
|
|
var proposalRecordAndTuple = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
var polyfillModuleName = v$2.validateStringOption("polyfillModuleName", options.polyfillModuleName, "@bloomberg/record-tuple-polyfill");
|
|
var shouldImportPolyfill = v$2.validateBooleanOption("importPolyfill", options.importPolyfill, !!options.polyfillModuleName);
|
|
var importCaches = new WeakMap();
|
|
function getOr(map, key, getDefault) {
|
|
var value = map.get(key);
|
|
if (!value) map.set(key, value = getDefault());
|
|
return value;
|
|
}
|
|
function getBuiltIn(name, programPath) {
|
|
if (!shouldImportPolyfill) return identifier$i(name);
|
|
if (!programPath) {
|
|
throw new Error("Internal error: unable to find the Program node.");
|
|
}
|
|
var cacheKey = name + ":" + isModule(programPath);
|
|
var cache = getOr(importCaches, programPath.node, function () {
|
|
return new Map();
|
|
});
|
|
var localBindingName = getOr(cache, cacheKey, function () {
|
|
return addNamed(programPath, name, polyfillModuleName, {
|
|
importedInterop: "uncompiled"
|
|
}).name;
|
|
});
|
|
return identifier$i(localBindingName);
|
|
}
|
|
return {
|
|
name: "proposal-record-and-tuple",
|
|
inherits: syntaxRecordAndTuple,
|
|
visitor: {
|
|
Program: function Program(path, state) {
|
|
state.programPath = path;
|
|
},
|
|
RecordExpression: function RecordExpression(path, state) {
|
|
var record = getBuiltIn("Record", state.programPath);
|
|
var object = objectExpression$3(path.node.properties);
|
|
var wrapped = callExpression$e(record, [object]);
|
|
path.replaceWith(wrapped);
|
|
},
|
|
TupleExpression: function TupleExpression(path, state) {
|
|
var tuple = getBuiltIn("Tuple", state.programPath);
|
|
var wrapped = callExpression$e(tuple, path.node.elements);
|
|
path.replaceWith(wrapped);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var proposalRegexpModifiers = declare(function (api) {
|
|
api.assertVersion("^7.19.0");
|
|
return createRegExpFeaturePlugin({
|
|
name: "proposal-regexp-modifiers",
|
|
feature: "modifiers"
|
|
});
|
|
});
|
|
|
|
var syntaxThrowExpressions = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-throw-expressions",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("throwExpressions");
|
|
}
|
|
};
|
|
});
|
|
|
|
var proposalThrowExpressions = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "proposal-throw-expressions",
|
|
inherits: syntaxThrowExpressions,
|
|
visitor: {
|
|
UnaryExpression: function UnaryExpression(path) {
|
|
var _path$node = path.node,
|
|
operator = _path$node.operator,
|
|
argument = _path$node.argument;
|
|
if (operator !== "throw") return;
|
|
var arrow = functionExpression$2(null, [identifier$i("e")], blockStatement$6([throwStatement(identifier$i("e"))]));
|
|
path.replaceWith(callExpression$e(arrow, [argument]));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var proposalUnicodePropertyRegex = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
var _options$useUnicodeFl = options.useUnicodeFlag,
|
|
useUnicodeFlag = _options$useUnicodeFl === void 0 ? true : _options$useUnicodeFl;
|
|
if (typeof useUnicodeFlag !== "boolean") {
|
|
throw new Error(".useUnicodeFlag must be a boolean, or undefined");
|
|
}
|
|
return createRegExpFeaturePlugin({
|
|
name: "proposal-unicode-property-regex",
|
|
feature: "unicodePropertyEscape",
|
|
options: {
|
|
useUnicodeFlag: useUnicodeFlag
|
|
}
|
|
});
|
|
});
|
|
|
|
var proposalUnicodeSetsRegex = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return createRegExpFeaturePlugin({
|
|
name: "transform-unicode-sets-regex",
|
|
feature: "unicodeSetsFlag",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("regexpUnicodeSets");
|
|
}
|
|
});
|
|
});
|
|
|
|
var _transformAsyncToGenerator = declare(function (api, options) {
|
|
var _api$assumption, _api$assumption2;
|
|
api.assertVersion(7);
|
|
var method = options.method,
|
|
module = options.module;
|
|
var noNewArrows = (_api$assumption = api.assumption("noNewArrows")) != null ? _api$assumption : true;
|
|
var ignoreFunctionLength = (_api$assumption2 = api.assumption("ignoreFunctionLength")) != null ? _api$assumption2 : false;
|
|
if (method && module) {
|
|
return {
|
|
name: "transform-async-to-generator",
|
|
visitor: {
|
|
Function: function Function(path, state) {
|
|
if (!path.node.async || path.node.generator) return;
|
|
var wrapAsync = state.methodWrapper;
|
|
if (wrapAsync) {
|
|
wrapAsync = cloneNode$j(wrapAsync);
|
|
} else {
|
|
wrapAsync = state.methodWrapper = addNamed(path, method, module);
|
|
}
|
|
remapAsyncToGenerator(path, {
|
|
wrapAsync: wrapAsync
|
|
}, noNewArrows, ignoreFunctionLength);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
return {
|
|
name: "transform-async-to-generator",
|
|
visitor: {
|
|
Function: function Function(path, state) {
|
|
if (!path.node.async || path.node.generator) return;
|
|
remapAsyncToGenerator(path, {
|
|
wrapAsync: state.addHelper("asyncToGenerator")
|
|
}, noNewArrows, ignoreFunctionLength);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformArrowFunctions = declare(function (api, options) {
|
|
var _api$assumption;
|
|
api.assertVersion(7);
|
|
var noNewArrows = (_api$assumption = api.assumption("noNewArrows")) != null ? _api$assumption : !options.spec;
|
|
return {
|
|
name: "transform-arrow-functions",
|
|
visitor: {
|
|
ArrowFunctionExpression: function ArrowFunctionExpression(path) {
|
|
if (!path.isArrowFunctionExpression()) return;
|
|
{
|
|
path.arrowFunctionToExpression({
|
|
allowInsertArrow: false,
|
|
noNewArrows: noNewArrows,
|
|
specCompliant: !noNewArrows
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformBlockScopedFunctions = declare(function (api) {
|
|
api.assertVersion(7);
|
|
function transformStatementList(paths) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(paths), _step; !(_step = _iterator()).done;) {
|
|
var path = _step.value;
|
|
if (!path.isFunctionDeclaration()) continue;
|
|
var func = path.node;
|
|
var declar = variableDeclaration$8("let", [variableDeclarator$8(func.id, toExpression$1(func))]);
|
|
declar._blockHoist = 2;
|
|
func.id = null;
|
|
path.replaceWith(declar);
|
|
}
|
|
}
|
|
return {
|
|
name: "transform-block-scoped-functions",
|
|
visitor: {
|
|
BlockStatement: function BlockStatement(path) {
|
|
var node = path.node,
|
|
parent = path.parent;
|
|
if (isFunction$4(parent, {
|
|
body: node
|
|
}) || isExportDeclaration$3(parent)) {
|
|
return;
|
|
}
|
|
transformStatementList(path.get("body"));
|
|
},
|
|
SwitchCase: function SwitchCase(path) {
|
|
transformStatementList(path.get("consequent"));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _templateObject$g, _templateObject2$6, _templateObject3$5;
|
|
var collectLoopBodyBindingsVisitor = {
|
|
"Expression|Declaration|Loop": function ExpressionDeclarationLoop(path) {
|
|
path.skip();
|
|
},
|
|
Scope: function Scope(path, state) {
|
|
if (path.isFunctionParent()) path.skip();
|
|
var bindings = path.scope.bindings;
|
|
for (var _i = 0, _Object$keys = Object.keys(bindings); _i < _Object$keys.length; _i++) {
|
|
var name = _Object$keys[_i];
|
|
var binding = bindings[name];
|
|
if (binding.kind === "let" || binding.kind === "const" || binding.kind === "hoisted") {
|
|
state.blockScoped.push(binding);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
function getLoopBodyBindings(loopPath) {
|
|
var state = {
|
|
blockScoped: []
|
|
};
|
|
loopPath.traverse(collectLoopBodyBindingsVisitor, state);
|
|
return state.blockScoped;
|
|
}
|
|
function getUsageInBody(binding, loopPath) {
|
|
var seen = new WeakSet();
|
|
var capturedInClosure = false;
|
|
var constantViolations = filterMap(binding.constantViolations, function (path) {
|
|
var _relativeLoopLocation = relativeLoopLocation(path, loopPath),
|
|
inBody = _relativeLoopLocation.inBody,
|
|
inClosure = _relativeLoopLocation.inClosure;
|
|
if (!inBody) return null;
|
|
capturedInClosure || (capturedInClosure = inClosure);
|
|
var id = path.isUpdateExpression() ? path.get("argument") : path.isAssignmentExpression() ? path.get("left") : null;
|
|
if (id) seen.add(id.node);
|
|
return id;
|
|
});
|
|
var references = filterMap(binding.referencePaths, function (path) {
|
|
if (seen.has(path.node)) return null;
|
|
var _relativeLoopLocation2 = relativeLoopLocation(path, loopPath),
|
|
inBody = _relativeLoopLocation2.inBody,
|
|
inClosure = _relativeLoopLocation2.inClosure;
|
|
if (!inBody) return null;
|
|
capturedInClosure || (capturedInClosure = inClosure);
|
|
return path;
|
|
});
|
|
return {
|
|
capturedInClosure: capturedInClosure,
|
|
hasConstantViolations: constantViolations.length > 0,
|
|
usages: references.concat(constantViolations)
|
|
};
|
|
}
|
|
function relativeLoopLocation(path, loopPath) {
|
|
var bodyPath = loopPath.get("body");
|
|
var inClosure = false;
|
|
for (var currPath = path; currPath; currPath = currPath.parentPath) {
|
|
if (currPath.isFunction() || currPath.isClass()) inClosure = true;
|
|
if (currPath === bodyPath) {
|
|
return {
|
|
inBody: true,
|
|
inClosure: inClosure
|
|
};
|
|
} else if (currPath === loopPath) {
|
|
return {
|
|
inBody: false,
|
|
inClosure: inClosure
|
|
};
|
|
}
|
|
}
|
|
throw new Error("Internal Babel error: path is not in loop. Please report this as a bug.");
|
|
}
|
|
var collectCompletionsAndVarsVisitor = {
|
|
Function: function Function(path) {
|
|
path.skip();
|
|
},
|
|
LabeledStatement: {
|
|
enter: function enter(_ref, state) {
|
|
var node = _ref.node;
|
|
state.labelsStack.push(node.label.name);
|
|
},
|
|
exit: function exit(_ref2, state) {
|
|
var node = _ref2.node;
|
|
var popped = state.labelsStack.pop();
|
|
if (popped !== node.label.name) {
|
|
throw new Error("Assertion failure. Please report this bug to Babel.");
|
|
}
|
|
}
|
|
},
|
|
Loop: {
|
|
enter: function enter(_, state) {
|
|
state.labellessContinueTargets++;
|
|
state.labellessBreakTargets++;
|
|
},
|
|
exit: function exit(_, state) {
|
|
state.labellessContinueTargets--;
|
|
state.labellessBreakTargets--;
|
|
}
|
|
},
|
|
SwitchStatement: {
|
|
enter: function enter(_, state) {
|
|
state.labellessBreakTargets++;
|
|
},
|
|
exit: function exit(_, state) {
|
|
state.labellessBreakTargets--;
|
|
}
|
|
},
|
|
"BreakStatement|ContinueStatement": function BreakStatementContinueStatement(path, state) {
|
|
var label = path.node.label;
|
|
if (label) {
|
|
if (state.labelsStack.includes(label.name)) return;
|
|
} else if (path.isBreakStatement() ? state.labellessBreakTargets > 0 : state.labellessContinueTargets > 0) {
|
|
return;
|
|
}
|
|
state.breaksContinues.push(path);
|
|
},
|
|
ReturnStatement: function ReturnStatement(path, state) {
|
|
state.returns.push(path);
|
|
},
|
|
VariableDeclaration: function VariableDeclaration(path, state) {
|
|
if (path.parent === state.loopNode && isVarInLoopHead(path)) return;
|
|
if (path.node.kind === "var") state.vars.push(path);
|
|
}
|
|
};
|
|
function wrapLoopBody(loopPath, captured, updatedBindingsUsages) {
|
|
var loopNode = loopPath.node;
|
|
var state = {
|
|
breaksContinues: [],
|
|
returns: [],
|
|
labelsStack: [],
|
|
labellessBreakTargets: 0,
|
|
labellessContinueTargets: 0,
|
|
vars: [],
|
|
loopNode: loopNode
|
|
};
|
|
loopPath.traverse(collectCompletionsAndVarsVisitor, state);
|
|
var callArgs = [];
|
|
var closureParams = [];
|
|
var updater = [];
|
|
for (var _iterator = _createForOfIteratorHelperLoose(updatedBindingsUsages), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
_name = _step$value[0],
|
|
updatedUsage = _step$value[1];
|
|
callArgs.push(identifier$i(_name));
|
|
var innerName = loopPath.scope.generateUid(_name);
|
|
closureParams.push(identifier$i(innerName));
|
|
updater.push(assignmentExpression$d("=", identifier$i(_name), identifier$i(innerName)));
|
|
for (var _iterator6 = _createForOfIteratorHelperLoose(updatedUsage), _step6; !(_step6 = _iterator6()).done;) {
|
|
var _path2 = _step6.value;
|
|
_path2.replaceWith(identifier$i(innerName));
|
|
}
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(captured), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _name2 = _step2.value;
|
|
if (updatedBindingsUsages.has(_name2)) continue;
|
|
callArgs.push(identifier$i(_name2));
|
|
closureParams.push(identifier$i(_name2));
|
|
}
|
|
var id = loopPath.scope.generateUid("loop");
|
|
var fn = functionExpression$2(null, closureParams, toBlock(loopNode.body));
|
|
var call = callExpression$e(identifier$i(id), callArgs);
|
|
var fnParent = loopPath.findParent(function (p) {
|
|
return p.isFunction();
|
|
});
|
|
if (fnParent) {
|
|
var _ref3 = fnParent.node,
|
|
async = _ref3.async,
|
|
generator = _ref3.generator;
|
|
fn.async = async;
|
|
fn.generator = generator;
|
|
if (generator) call = yieldExpression$2(call, true);else if (async) call = awaitExpression$1(call);
|
|
}
|
|
var updaterNode = updater.length > 0 ? expressionStatement$a(sequenceExpression$7(updater)) : null;
|
|
if (updaterNode) fn.body.body.push(updaterNode);
|
|
var _ref4 = loopPath.insertBefore(variableDeclaration$8("var", [variableDeclarator$8(identifier$i(id), fn)])),
|
|
_ref5 = _slicedToArray(_ref4, 1),
|
|
varPath = _ref5[0];
|
|
var bodyStmts = [];
|
|
var varNames = [];
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(state.vars), _step3; !(_step3 = _iterator3()).done;) {
|
|
var _varPath = _step3.value;
|
|
var assign = [];
|
|
for (var _iterator7 = _createForOfIteratorHelperLoose(_varPath.node.declarations), _step7; !(_step7 = _iterator7()).done;) {
|
|
var decl = _step7.value;
|
|
varNames.push.apply(varNames, _toConsumableArray(Object.keys(getBindingIdentifiers$2(decl.id))));
|
|
if (decl.init) {
|
|
assign.push(assignmentExpression$d("=", decl.id, decl.init));
|
|
}
|
|
}
|
|
if (assign.length > 0) {
|
|
var replacement = assign.length === 1 ? assign[0] : sequenceExpression$7(assign);
|
|
if (!isForStatement$3(_varPath.parent, {
|
|
init: _varPath.node
|
|
}) && !isForXStatement$1(_varPath.parent, {
|
|
left: _varPath.node
|
|
})) {
|
|
replacement = expressionStatement$a(replacement);
|
|
}
|
|
_varPath.replaceWith(replacement);
|
|
} else {
|
|
_varPath.remove();
|
|
}
|
|
}
|
|
if (varNames.length) {
|
|
bodyStmts.push(variableDeclaration$8("var", varNames.map(function (name) {
|
|
return variableDeclarator$8(identifier$i(name));
|
|
})));
|
|
}
|
|
if (state.breaksContinues.length === 0 && state.returns.length === 0) {
|
|
bodyStmts.push(expressionStatement$a(call));
|
|
} else {
|
|
var completionId = loopPath.scope.generateUid("ret");
|
|
bodyStmts.push(variableDeclaration$8("var", [variableDeclarator$8(identifier$i(completionId), call)]));
|
|
var injected = new Set();
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(state.breaksContinues), _step4; !(_step4 = _iterator4()).done;) {
|
|
var _path = _step4.value;
|
|
var node = _path.node;
|
|
var type = node.type,
|
|
label = node.label;
|
|
var name = type === "BreakStatement" ? "break" : "continue";
|
|
if (label) name += "|" + label.name;
|
|
_path.replaceWith(returnStatement$3(stringLiteral$8(name)));
|
|
if (updaterNode) _path.insertBefore(cloneNode$j(updaterNode));
|
|
if (injected.has(name)) continue;
|
|
injected.add(name);
|
|
bodyStmts.push(template$2.statement.ast(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteralLoose(["\n if (\n ", " === ", "\n ) ", "\n "])), identifier$i(completionId), stringLiteral$8(name), node));
|
|
}
|
|
if (state.returns.length) {
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(state.returns), _step5; !(_step5 = _iterator5()).done;) {
|
|
var path = _step5.value;
|
|
var arg = path.node.argument || path.scope.buildUndefinedNode();
|
|
path.replaceWith(template$2.statement.ast(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteralLoose(["\n return { v: ", " };\n "])), arg));
|
|
}
|
|
bodyStmts.push(template$2.statement.ast(_templateObject$g || (_templateObject$g = _taggedTemplateLiteralLoose(["\n if (typeof ", " === \"object\")\n return ", ".v;\n "])), identifier$i(completionId), identifier$i(completionId)));
|
|
}
|
|
}
|
|
loopNode.body = blockStatement$6(bodyStmts);
|
|
return varPath;
|
|
}
|
|
function isVarInLoopHead(path) {
|
|
if (isForStatement$3(path.parent)) return path.key === "init";
|
|
if (isForXStatement$1(path.parent)) return path.key === "left";
|
|
return false;
|
|
}
|
|
function filterMap(list, fn) {
|
|
var result = [];
|
|
for (var _iterator8 = _createForOfIteratorHelperLoose(list), _step8; !(_step8 = _iterator8()).done;) {
|
|
var _item = _step8.value;
|
|
var mapped = fn(_item);
|
|
if (mapped) result.push(mapped);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
function validateUsage(path, state, tdzEnabled) {
|
|
var dynamicTDZNames = [];
|
|
for (var _i = 0, _Object$keys = Object.keys(path.getBindingIdentifiers()); _i < _Object$keys.length; _i++) {
|
|
var name = _Object$keys[_i];
|
|
var binding = path.scope.getBinding(name);
|
|
if (!binding) continue;
|
|
if (tdzEnabled) {
|
|
if (injectTDZChecks(binding, state)) dynamicTDZNames.push(name);
|
|
}
|
|
if (path.node.kind === "const") {
|
|
disallowConstantViolations(name, binding, state);
|
|
}
|
|
}
|
|
return dynamicTDZNames;
|
|
}
|
|
function disallowConstantViolations(name, binding, state) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(binding.constantViolations), _step; !(_step = _iterator()).done;) {
|
|
var violation = _step.value;
|
|
var readOnlyError = state.addHelper("readOnlyError");
|
|
var throwNode = callExpression$e(readOnlyError, [stringLiteral$8(name)]);
|
|
if (violation.isAssignmentExpression()) {
|
|
var _violation$node = violation.node,
|
|
operator = _violation$node.operator,
|
|
left = _violation$node.left,
|
|
right = _violation$node.right;
|
|
if (operator === "=") {
|
|
var exprs = [right];
|
|
exprs.push(throwNode);
|
|
violation.replaceWith(sequenceExpression$7(exprs));
|
|
} else if (["&&=", "||=", "??="].includes(operator)) {
|
|
violation.replaceWith(logicalExpression$3(operator.slice(0, -1), left, sequenceExpression$7([right, throwNode])));
|
|
} else {
|
|
violation.replaceWith(sequenceExpression$7([binaryExpression$5(operator.slice(0, -1), left, right), throwNode]));
|
|
}
|
|
} else if (violation.isUpdateExpression()) {
|
|
violation.replaceWith(sequenceExpression$7([unaryExpression$7("+", violation.get("argument").node), throwNode]));
|
|
} else if (violation.isForXStatement()) {
|
|
violation.ensureBlock();
|
|
violation.get("left").replaceWith(variableDeclaration$8("var", [variableDeclarator$8(violation.scope.generateUidIdentifier(name))]));
|
|
violation.node.body.body.unshift(expressionStatement$a(throwNode));
|
|
}
|
|
}
|
|
}
|
|
function getTDZStatus(refPath, bindingPath) {
|
|
var executionStatus = bindingPath._guessExecutionStatusRelativeTo(refPath);
|
|
if (executionStatus === "before") {
|
|
return "outside";
|
|
} else if (executionStatus === "after") {
|
|
return "inside";
|
|
} else {
|
|
return "maybe";
|
|
}
|
|
}
|
|
var skipTDZChecks = new WeakSet();
|
|
function buildTDZAssert(status, node, state) {
|
|
if (status === "maybe") {
|
|
var clone = cloneNode$j(node);
|
|
skipTDZChecks.add(clone);
|
|
return callExpression$e(state.addHelper("temporalRef"), [clone, stringLiteral$8(node.name)]);
|
|
} else {
|
|
return callExpression$e(state.addHelper("tdz"), [stringLiteral$8(node.name)]);
|
|
}
|
|
}
|
|
function getTDZReplacement(path, state, id) {
|
|
var _path$scope$getBindin;
|
|
if (id === void 0) {
|
|
id = path.node;
|
|
}
|
|
if (skipTDZChecks.has(id)) return;
|
|
skipTDZChecks.add(id);
|
|
var bindingPath = (_path$scope$getBindin = path.scope.getBinding(id.name)) == null ? void 0 : _path$scope$getBindin.path;
|
|
if (!bindingPath || bindingPath.isFunctionDeclaration()) return;
|
|
var status = getTDZStatus(path, bindingPath);
|
|
if (status === "outside") return;
|
|
if (status === "maybe") {
|
|
bindingPath.parent._tdzThis = true;
|
|
}
|
|
return {
|
|
status: status,
|
|
node: buildTDZAssert(status, id, state)
|
|
};
|
|
}
|
|
function injectTDZChecks(binding, state) {
|
|
var allUsages = new Set(binding.referencePaths);
|
|
binding.constantViolations.forEach(allUsages.add, allUsages);
|
|
var dynamicTdz = false;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(binding.constantViolations), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _path2 = _step2.value;
|
|
var node = _path2.node;
|
|
if (skipTDZChecks.has(node)) continue;
|
|
skipTDZChecks.add(node);
|
|
if (_path2.isUpdateExpression()) {
|
|
var arg = _path2.get("argument");
|
|
var _replacement = getTDZReplacement(_path2, state, arg.node);
|
|
if (!_replacement) continue;
|
|
if (_replacement.status === "maybe") {
|
|
dynamicTdz = true;
|
|
_path2.insertBefore(_replacement.node);
|
|
} else {
|
|
_path2.replaceWith(_replacement.node);
|
|
}
|
|
} else if (_path2.isAssignmentExpression()) {
|
|
var nodes = [];
|
|
var ids = _path2.getBindingIdentifiers();
|
|
for (var _i3 = 0, _Object$keys2 = Object.keys(ids); _i3 < _Object$keys2.length; _i3++) {
|
|
var name = _Object$keys2[_i3];
|
|
var _replacement2 = getTDZReplacement(_path2, state, ids[name]);
|
|
if (_replacement2) {
|
|
nodes.push(expressionStatement$a(_replacement2.node));
|
|
if (_replacement2.status === "inside") break;
|
|
if (_replacement2.status === "maybe") dynamicTdz = true;
|
|
}
|
|
}
|
|
if (nodes.length > 0) _path2.insertBefore(nodes);
|
|
}
|
|
}
|
|
for (var _i2 = 0, _arr = binding.referencePaths; _i2 < _arr.length; _i2++) {
|
|
var _path = _arr[_i2];
|
|
if (_path.parentPath.isUpdateExpression()) continue;
|
|
if (_path.parentPath.isFor({
|
|
left: _path.node
|
|
})) continue;
|
|
var replacement = getTDZReplacement(_path, state);
|
|
if (!replacement) continue;
|
|
if (replacement.status === "maybe") dynamicTdz = true;
|
|
_path.replaceWith(replacement.node);
|
|
}
|
|
return dynamicTdz;
|
|
}
|
|
|
|
var annexB33FunctionsVisitor = {
|
|
VariableDeclaration: function VariableDeclaration(path) {
|
|
if (isStrict(path)) return;
|
|
if (path.node.kind !== "var") return;
|
|
var varScope = path.scope.getFunctionParent() || path.scope.getProgramParent();
|
|
varScope.path.traverse(functionsToVarVisitor, {
|
|
names: Object.keys(path.getBindingIdentifiers())
|
|
});
|
|
},
|
|
BlockStatement: function BlockStatement(path) {
|
|
if (isStrict(path)) return;
|
|
if (isFunction$4(path.parent, {
|
|
body: path.node
|
|
})) return;
|
|
transformStatementList(path.get("body"));
|
|
},
|
|
SwitchCase: function SwitchCase(path) {
|
|
if (isStrict(path)) return;
|
|
transformStatementList(path.get("consequent"));
|
|
}
|
|
};
|
|
function transformStatementList(paths) {
|
|
outer: for (var _iterator = _createForOfIteratorHelperLoose(paths), _step; !(_step = _iterator()).done;) {
|
|
var path = _step.value;
|
|
if (!path.isFunctionDeclaration()) continue;
|
|
if (path.node.async || path.node.generator) return;
|
|
var scope = path.parentPath.scope;
|
|
if (isVarScope(scope)) return;
|
|
var name = path.node.id.name;
|
|
var currScope = scope;
|
|
do {
|
|
if (currScope.parent.hasOwnBinding(name)) continue outer;
|
|
currScope = currScope.parent;
|
|
} while (!isVarScope(currScope));
|
|
maybeTransformBlockScopedFunction(path);
|
|
}
|
|
}
|
|
function maybeTransformBlockScopedFunction(path) {
|
|
var node = path.node,
|
|
scope = path.parentPath.scope;
|
|
var id = node.id;
|
|
scope.removeOwnBinding(id.name);
|
|
node.id = null;
|
|
var varNode = variableDeclaration$8("var", [variableDeclarator$8(id, toExpression$1(node))]);
|
|
varNode._blockHoist = 2;
|
|
var _path$replaceWith = path.replaceWith(varNode),
|
|
_path$replaceWith2 = _slicedToArray(_path$replaceWith, 1),
|
|
varPath = _path$replaceWith2[0];
|
|
scope.registerDeclaration(varPath);
|
|
}
|
|
var functionsToVarVisitor = {
|
|
Scope: function Scope(path, _ref) {
|
|
var names = _ref.names;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(names), _step2; !(_step2 = _iterator2()).done;) {
|
|
var name = _step2.value;
|
|
var binding = path.scope.getOwnBinding(name);
|
|
if (binding && binding.kind === "hoisted") {
|
|
maybeTransformBlockScopedFunction(binding.path);
|
|
}
|
|
}
|
|
},
|
|
"Expression|Declaration": function ExpressionDeclaration(path) {
|
|
path.skip();
|
|
}
|
|
};
|
|
function isVarScope(scope) {
|
|
return scope.path.isFunctionParent() || scope.path.isProgram();
|
|
}
|
|
function isStrict(path) {
|
|
return !!path.find(function (_ref2) {
|
|
var _node$directives;
|
|
var node = _ref2.node;
|
|
if (isProgram$1(node)) {
|
|
if (node.sourceType === "module") return true;
|
|
} else if (isClass$2(node)) {
|
|
return true;
|
|
} else if (!isBlockStatement$2(node)) {
|
|
return false;
|
|
}
|
|
return (_node$directives = node.directives) == null ? void 0 : _node$directives.some(function (directive) {
|
|
return directive.value.value === "use strict";
|
|
});
|
|
});
|
|
}
|
|
|
|
var _transformBlockScoping = declare(function (api, opts) {
|
|
api.assertVersion(7);
|
|
var _opts$throwIfClosureR = opts.throwIfClosureRequired,
|
|
throwIfClosureRequired = _opts$throwIfClosureR === void 0 ? false : _opts$throwIfClosureR,
|
|
_opts$tdz = opts.tdz,
|
|
tdzEnabled = _opts$tdz === void 0 ? false : _opts$tdz;
|
|
if (typeof throwIfClosureRequired !== "boolean") {
|
|
throw new Error(".throwIfClosureRequired must be a boolean, or undefined");
|
|
}
|
|
if (typeof tdzEnabled !== "boolean") {
|
|
throw new Error(".tdz must be a boolean, or undefined");
|
|
}
|
|
return {
|
|
name: "transform-block-scoping",
|
|
visitor: traverse.visitors.merge([annexB33FunctionsVisitor, {
|
|
Loop: function (_Loop) {
|
|
function Loop(_x, _x2) {
|
|
return _Loop.apply(this, arguments);
|
|
}
|
|
Loop.toString = function () {
|
|
return _Loop.toString();
|
|
};
|
|
return Loop;
|
|
}(function (path, state) {
|
|
var isForStatement = path.isForStatement();
|
|
var headPath = isForStatement ? path.get("init") : path.isForXStatement() ? path.get("left") : null;
|
|
var needsBodyWrap = false;
|
|
var markNeedsBodyWrap = function markNeedsBodyWrap() {
|
|
if (throwIfClosureRequired) {
|
|
throw path.buildCodeFrameError("Compiling let/const in this block would add a closure " + "(throwIfClosureRequired).");
|
|
}
|
|
needsBodyWrap = true;
|
|
};
|
|
var body = path.get("body");
|
|
var bodyScope;
|
|
if (body.isBlockStatement()) {
|
|
bodyScope = body.scope;
|
|
var bindings = getLoopBodyBindings(path);
|
|
for (var _iterator = _createForOfIteratorHelperLoose(bindings), _step; !(_step = _iterator()).done;) {
|
|
var binding = _step.value;
|
|
var _getUsageInBody = getUsageInBody(binding, path),
|
|
capturedInClosure = _getUsageInBody.capturedInClosure;
|
|
if (capturedInClosure) markNeedsBodyWrap();
|
|
}
|
|
}
|
|
var captured = [];
|
|
var updatedBindingsUsages = new Map();
|
|
if (headPath && isBlockScoped(headPath.node)) {
|
|
var names = Object.keys(headPath.getBindingIdentifiers());
|
|
var headScope = headPath.scope;
|
|
for (var _i = 0, _names = names; _i < _names.length; _i++) {
|
|
var _bodyScope;
|
|
var name = _names[_i];
|
|
if ((_bodyScope = bodyScope) != null && _bodyScope.hasOwnBinding(name)) continue;
|
|
var _binding = headScope.getOwnBinding(name);
|
|
if (!_binding) {
|
|
headScope.crawl();
|
|
_binding = headScope.getOwnBinding(name);
|
|
}
|
|
var _getUsageInBody2 = getUsageInBody(_binding, path),
|
|
usages = _getUsageInBody2.usages,
|
|
_capturedInClosure = _getUsageInBody2.capturedInClosure,
|
|
hasConstantViolations = _getUsageInBody2.hasConstantViolations;
|
|
if (headScope.parent.hasBinding(name) || headScope.parent.hasGlobal(name)) {
|
|
var newName = headScope.generateUid(name);
|
|
headScope.rename(name, newName);
|
|
name = newName;
|
|
}
|
|
if (_capturedInClosure) {
|
|
markNeedsBodyWrap();
|
|
captured.push(name);
|
|
}
|
|
if (isForStatement && hasConstantViolations) {
|
|
updatedBindingsUsages.set(name, usages);
|
|
}
|
|
}
|
|
}
|
|
if (needsBodyWrap) {
|
|
var varPath = wrapLoopBody(path, captured, updatedBindingsUsages);
|
|
if (headPath != null && headPath.isVariableDeclaration()) {
|
|
transformBlockScopedVariable(headPath, state, tdzEnabled);
|
|
}
|
|
varPath.get("declarations.0.init").unwrapFunctionEnvironment();
|
|
}
|
|
}),
|
|
VariableDeclaration: function VariableDeclaration(path, state) {
|
|
transformBlockScopedVariable(path, state, tdzEnabled);
|
|
},
|
|
ClassDeclaration: function ClassDeclaration(path) {
|
|
var id = path.node.id;
|
|
if (!id) return;
|
|
var scope = path.parentPath.scope;
|
|
if (!isVarScope(scope) && scope.parent.hasBinding(id.name, {
|
|
noUids: true
|
|
})) {
|
|
path.scope.rename(id.name);
|
|
}
|
|
}
|
|
}])
|
|
};
|
|
});
|
|
var conflictingFunctionsVisitor = {
|
|
Scope: function Scope(path, _ref) {
|
|
var names = _ref.names;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(names), _step2; !(_step2 = _iterator2()).done;) {
|
|
var name = _step2.value;
|
|
var binding = path.scope.getOwnBinding(name);
|
|
if (binding && binding.kind === "hoisted") {
|
|
path.scope.rename(name);
|
|
}
|
|
}
|
|
},
|
|
"Expression|Declaration": function ExpressionDeclaration(path) {
|
|
path.skip();
|
|
}
|
|
};
|
|
function transformBlockScopedVariable(path, state, tdzEnabled) {
|
|
if (!isBlockScoped(path.node)) return;
|
|
var dynamicTDZNames = validateUsage(path, state, tdzEnabled);
|
|
path.node.kind = "var";
|
|
var bindingNames = Object.keys(path.getBindingIdentifiers());
|
|
for (var _i2 = 0, _bindingNames = bindingNames; _i2 < _bindingNames.length; _i2++) {
|
|
var name = _bindingNames[_i2];
|
|
var binding = path.scope.getOwnBinding(name);
|
|
if (!binding) continue;
|
|
binding.kind = "var";
|
|
}
|
|
if (isInLoop(path) && !isVarInLoopHead(path) || dynamicTDZNames.length > 0) {
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(path.node.declarations), _step3; !(_step3 = _iterator3()).done;) {
|
|
var _decl$init;
|
|
var decl = _step3.value;
|
|
(_decl$init = decl.init) != null ? _decl$init : decl.init = path.scope.buildUndefinedNode();
|
|
}
|
|
}
|
|
var blockScope = path.scope;
|
|
var varScope = blockScope.getFunctionParent() || blockScope.getProgramParent();
|
|
if (varScope !== blockScope) {
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(bindingNames), _step4; !(_step4 = _iterator4()).done;) {
|
|
var _name = _step4.value;
|
|
var newName = _name;
|
|
if (blockScope.parent.hasBinding(_name, {
|
|
noUids: true
|
|
}) || blockScope.parent.hasGlobal(_name)) {
|
|
newName = blockScope.generateUid(_name);
|
|
blockScope.rename(_name, newName);
|
|
}
|
|
blockScope.moveBindingTo(newName, varScope);
|
|
}
|
|
}
|
|
blockScope.path.traverse(conflictingFunctionsVisitor, {
|
|
names: bindingNames
|
|
});
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(dynamicTDZNames), _step5; !(_step5 = _iterator5()).done;) {
|
|
var _name2 = _step5.value;
|
|
path.scope.push({
|
|
id: identifier$i(_name2),
|
|
init: state.addHelper("temporalUndefined")
|
|
});
|
|
}
|
|
}
|
|
function isLetOrConst(kind) {
|
|
return kind === "let" || kind === "const";
|
|
}
|
|
function isInLoop(path) {
|
|
if (!path.parentPath) return false;
|
|
if (path.parentPath.isLoop()) return true;
|
|
if (path.parentPath.isFunctionParent()) return false;
|
|
return isInLoop(path.parentPath);
|
|
}
|
|
function isBlockScoped(node) {
|
|
if (!isVariableDeclaration$3(node)) return false;
|
|
if (node[BLOCK_SCOPED_SYMBOL]) {
|
|
return true;
|
|
}
|
|
if (!isLetOrConst(node.kind) && node.kind !== "using") {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
var _templateObject$f;
|
|
var helper$1 = template$2.statement(_templateObject$f || (_templateObject$f = _taggedTemplateLiteralLoose(["\n function CREATE_SUPER(Derived) {\n function isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n\n // core-js@3\n if (Reflect.construct.sham) return false;\n\n // Proxy can't be polyfilled. Every browser implemented\n // proxies before or at the same time as Reflect.construct,\n // so if they support Proxy they also support Reflect.construct.\n if (typeof Proxy === \"function\") return true;\n\n // Since Reflect.construct can't be properly polyfilled, some\n // implementations (e.g. core-js@2) don't set the correct internal slots.\n // Those polyfills don't allow us to subclass built-ins, so we need to\n // use our fallback implementation.\n try {\n // If the internal slots aren't set, this throws an error similar to\n // TypeError: this is not a Date object.\n Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n return function () {\n var Super = GET_PROTOTYPE_OF(Derived), result;\n if (isNativeReflectConstruct()) {\n // NOTE: This doesn't work if this.__proto__.constructor has been modified.\n var NewTarget = GET_PROTOTYPE_OF(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return POSSIBLE_CONSTRUCTOR_RETURN(this, result);\n }\n }\n"])));
|
|
var helperIDs = new WeakMap();
|
|
function addCreateSuperHelper(file) {
|
|
if (helperIDs.has(file)) {
|
|
return (cloneNode$j || clone)(helperIDs.get(file));
|
|
}
|
|
try {
|
|
return file.addHelper("createSuper");
|
|
} catch (_unused) {}
|
|
var id = file.scope.generateUidIdentifier("createSuper");
|
|
helperIDs.set(file, id);
|
|
var fn = helper$1({
|
|
CREATE_SUPER: id,
|
|
GET_PROTOTYPE_OF: file.addHelper("getPrototypeOf"),
|
|
POSSIBLE_CONSTRUCTOR_RETURN: file.addHelper("possibleConstructorReturn")
|
|
});
|
|
file.path.unshiftContainer("body", [fn]);
|
|
file.scope.registerDeclaration(file.path.get("body.0"));
|
|
return cloneNode$j(id);
|
|
}
|
|
|
|
var _templateObject$e;
|
|
function buildConstructor(classRef, constructorBody, node) {
|
|
var func = functionDeclaration(cloneNode$j(classRef), [], constructorBody);
|
|
inherits$1(func, node);
|
|
return func;
|
|
}
|
|
function transformClass(path, file, builtinClasses, isLoose, assumptions, supportUnicodeId) {
|
|
var classState = {
|
|
parent: undefined,
|
|
scope: undefined,
|
|
node: undefined,
|
|
path: undefined,
|
|
file: undefined,
|
|
classId: undefined,
|
|
classRef: undefined,
|
|
superFnId: undefined,
|
|
superName: null,
|
|
superReturns: [],
|
|
isDerived: false,
|
|
extendsNative: false,
|
|
construct: undefined,
|
|
constructorBody: undefined,
|
|
userConstructor: undefined,
|
|
userConstructorPath: undefined,
|
|
hasConstructor: false,
|
|
body: [],
|
|
superThises: [],
|
|
pushedConstructor: false,
|
|
pushedInherits: false,
|
|
pushedCreateClass: false,
|
|
protoAlias: null,
|
|
isLoose: false,
|
|
dynamicKeys: new Map(),
|
|
methods: {
|
|
instance: {
|
|
hasComputed: false,
|
|
list: [],
|
|
map: new Map()
|
|
},
|
|
"static": {
|
|
hasComputed: false,
|
|
list: [],
|
|
map: new Map()
|
|
}
|
|
}
|
|
};
|
|
var setState = function setState(newState) {
|
|
Object.assign(classState, newState);
|
|
};
|
|
var findThisesVisitor = traverse.visitors.merge([visitor$5, {
|
|
ThisExpression: function ThisExpression(path) {
|
|
classState.superThises.push(path);
|
|
}
|
|
}]);
|
|
function createClassHelper(args) {
|
|
return callExpression$e(classState.file.addHelper("createClass"), args);
|
|
}
|
|
function maybeCreateConstructor() {
|
|
var hasConstructor = false;
|
|
var paths = classState.path.get("body.body");
|
|
for (var _iterator = _createForOfIteratorHelperLoose(paths), _step; !(_step = _iterator()).done;) {
|
|
var _path = _step.value;
|
|
hasConstructor = _path.equals("kind", "constructor");
|
|
if (hasConstructor) break;
|
|
}
|
|
if (hasConstructor) return;
|
|
var params, body;
|
|
if (classState.isDerived) {
|
|
var _constructor = template$2.expression.ast(_templateObject$e || (_templateObject$e = _taggedTemplateLiteralLoose(["\n (function () {\n super(...arguments);\n })\n "])));
|
|
params = _constructor.params;
|
|
body = _constructor.body;
|
|
} else {
|
|
params = [];
|
|
body = blockStatement$6([]);
|
|
}
|
|
classState.path.get("body").unshiftContainer("body", classMethod("constructor", identifier$i("constructor"), params, body));
|
|
}
|
|
function buildBody() {
|
|
maybeCreateConstructor();
|
|
pushBody();
|
|
verifyConstructor();
|
|
if (classState.userConstructor) {
|
|
var _constructorBody$body;
|
|
var constructorBody = classState.constructorBody,
|
|
userConstructor = classState.userConstructor,
|
|
construct = classState.construct;
|
|
(_constructorBody$body = constructorBody.body).push.apply(_constructorBody$body, _toConsumableArray(userConstructor.body.body));
|
|
inherits$1(construct, userConstructor);
|
|
inherits$1(constructorBody, userConstructor.body);
|
|
}
|
|
pushDescriptors();
|
|
}
|
|
function pushBody() {
|
|
var classBodyPaths = classState.path.get("body.body");
|
|
var _loop = function _loop() {
|
|
var path = _step2.value;
|
|
var node = path.node;
|
|
if (path.isClassProperty()) {
|
|
throw path.buildCodeFrameError("Missing class properties transform.");
|
|
}
|
|
if (node.decorators) {
|
|
throw path.buildCodeFrameError("Method has decorators, put the decorator plugin before the classes one.");
|
|
}
|
|
if (isClassMethod(node)) {
|
|
var isConstructor = node.kind === "constructor";
|
|
var replaceSupers = new ReplaceSupers({
|
|
methodPath: path,
|
|
objectRef: classState.classRef,
|
|
superRef: classState.superName,
|
|
constantSuper: assumptions.constantSuper,
|
|
file: classState.file,
|
|
refToPreserve: classState.classRef
|
|
});
|
|
replaceSupers.replace();
|
|
var superReturns = [];
|
|
path.traverse(traverse.visitors.merge([visitor$5, {
|
|
ReturnStatement: function ReturnStatement(path) {
|
|
if (!path.getFunctionParent().isArrowFunctionExpression()) {
|
|
superReturns.push(path);
|
|
}
|
|
}
|
|
}]));
|
|
if (isConstructor) {
|
|
pushConstructor(superReturns, node, path);
|
|
} else {
|
|
pushMethod(node, path);
|
|
}
|
|
}
|
|
};
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(classBodyPaths), _step2; !(_step2 = _iterator2()).done;) {
|
|
_loop();
|
|
}
|
|
}
|
|
function pushDescriptors() {
|
|
pushInheritsToBody();
|
|
var body = classState.body;
|
|
var props = {
|
|
instance: null,
|
|
"static": null
|
|
};
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(["static", "instance"]), _step3; !(_step3 = _iterator3()).done;) {
|
|
var placement = _step3.value;
|
|
if (classState.methods[placement].list.length) {
|
|
props[placement] = classState.methods[placement].list.map(function (desc) {
|
|
var obj = objectExpression$3([objectProperty$1(identifier$i("key"), desc.key)]);
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(["get", "set", "value"]), _step4; !(_step4 = _iterator4()).done;) {
|
|
var kind = _step4.value;
|
|
if (desc[kind] != null) {
|
|
obj.properties.push(objectProperty$1(identifier$i(kind), desc[kind]));
|
|
}
|
|
}
|
|
return obj;
|
|
});
|
|
}
|
|
}
|
|
if (props.instance || props["static"]) {
|
|
var args = [cloneNode$j(classState.classRef), props.instance ? arrayExpression$1(props.instance) : nullLiteral$2(), props["static"] ? arrayExpression$1(props["static"]) : nullLiteral$2()];
|
|
var lastNonNullIndex = 0;
|
|
for (var i = 0; i < args.length; i++) {
|
|
if (!isNullLiteral$2(args[i])) lastNonNullIndex = i;
|
|
}
|
|
args = args.slice(0, lastNonNullIndex + 1);
|
|
body.push(expressionStatement$a(createClassHelper(args)));
|
|
classState.pushedCreateClass = true;
|
|
}
|
|
}
|
|
function wrapSuperCall(bareSuper, superRef, thisRef, body) {
|
|
var bareSuperNode = bareSuper.node;
|
|
var call;
|
|
if (assumptions.superIsCallableConstructor) {
|
|
bareSuperNode.arguments.unshift(thisExpression$4());
|
|
if (bareSuperNode.arguments.length === 2 && isSpreadElement$1(bareSuperNode.arguments[1]) && isIdentifier$j(bareSuperNode.arguments[1].argument, {
|
|
name: "arguments"
|
|
})) {
|
|
bareSuperNode.arguments[1] = bareSuperNode.arguments[1].argument;
|
|
bareSuperNode.callee = memberExpression$c(cloneNode$j(superRef), identifier$i("apply"));
|
|
} else {
|
|
bareSuperNode.callee = memberExpression$c(cloneNode$j(superRef), identifier$i("call"));
|
|
}
|
|
call = logicalExpression$3("||", bareSuperNode, thisExpression$4());
|
|
} else {
|
|
call = optimiseCallExpression(cloneNode$j(classState.superFnId), thisExpression$4(), bareSuperNode.arguments, false);
|
|
}
|
|
if (bareSuper.parentPath.isExpressionStatement() && bareSuper.parentPath.container === body.node.body && body.node.body.length - 1 === bareSuper.parentPath.key) {
|
|
if (classState.superThises.length) {
|
|
call = assignmentExpression$d("=", thisRef(), call);
|
|
}
|
|
bareSuper.parentPath.replaceWith(returnStatement$3(call));
|
|
} else {
|
|
bareSuper.replaceWith(assignmentExpression$d("=", thisRef(), call));
|
|
}
|
|
}
|
|
function verifyConstructor() {
|
|
if (!classState.isDerived) return;
|
|
var path = classState.userConstructorPath;
|
|
var body = path.get("body");
|
|
path.traverse(findThisesVisitor);
|
|
var _thisRef = function thisRef() {
|
|
var ref = path.scope.generateDeclaredUidIdentifier("this");
|
|
_thisRef = function thisRef() {
|
|
return cloneNode$j(ref);
|
|
};
|
|
return ref;
|
|
};
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(classState.superThises), _step5; !(_step5 = _iterator5()).done;) {
|
|
var thisPath = _step5.value;
|
|
var node = thisPath.node,
|
|
parentPath = thisPath.parentPath;
|
|
if (parentPath.isMemberExpression({
|
|
object: node
|
|
})) {
|
|
thisPath.replaceWith(_thisRef());
|
|
continue;
|
|
}
|
|
thisPath.replaceWith(callExpression$e(classState.file.addHelper("assertThisInitialized"), [_thisRef()]));
|
|
}
|
|
var bareSupers = [];
|
|
path.traverse(traverse.visitors.merge([visitor$5, {
|
|
Super: function Super(path) {
|
|
var node = path.node,
|
|
parentPath = path.parentPath;
|
|
if (parentPath.isCallExpression({
|
|
callee: node
|
|
})) {
|
|
bareSupers.unshift(parentPath);
|
|
}
|
|
}
|
|
}]));
|
|
var guaranteedSuperBeforeFinish = !!bareSupers.length;
|
|
for (var _i = 0, _bareSupers = bareSupers; _i < _bareSupers.length; _i++) {
|
|
var bareSuper = _bareSupers[_i];
|
|
wrapSuperCall(bareSuper, classState.superName, _thisRef, body);
|
|
if (guaranteedSuperBeforeFinish) {
|
|
bareSuper.find(function (parentPath) {
|
|
if (parentPath === path) {
|
|
return true;
|
|
}
|
|
if (parentPath.isLoop() || parentPath.isConditional() || parentPath.isArrowFunctionExpression()) {
|
|
guaranteedSuperBeforeFinish = false;
|
|
return true;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
var wrapReturn;
|
|
if (classState.isLoose) {
|
|
wrapReturn = function wrapReturn(returnArg) {
|
|
var thisExpr = callExpression$e(classState.file.addHelper("assertThisInitialized"), [_thisRef()]);
|
|
return returnArg ? logicalExpression$3("||", returnArg, thisExpr) : thisExpr;
|
|
};
|
|
} else {
|
|
wrapReturn = function wrapReturn(returnArg) {
|
|
var returnParams = [_thisRef()];
|
|
if (returnArg != null) {
|
|
returnParams.push(returnArg);
|
|
}
|
|
return callExpression$e(classState.file.addHelper("possibleConstructorReturn"), returnParams);
|
|
};
|
|
}
|
|
var bodyPaths = body.get("body");
|
|
if (!bodyPaths.length || !bodyPaths.pop().isReturnStatement()) {
|
|
body.pushContainer("body", returnStatement$3(guaranteedSuperBeforeFinish ? _thisRef() : wrapReturn()));
|
|
}
|
|
for (var _iterator6 = _createForOfIteratorHelperLoose(classState.superReturns), _step6; !(_step6 = _iterator6()).done;) {
|
|
var returnPath = _step6.value;
|
|
returnPath.get("argument").replaceWith(wrapReturn(returnPath.node.argument));
|
|
}
|
|
}
|
|
function pushMethod(node, path) {
|
|
var scope = path ? path.scope : classState.scope;
|
|
if (node.kind === "method") {
|
|
if (processMethod(node, scope)) return;
|
|
}
|
|
var placement = node["static"] ? "static" : "instance";
|
|
var methods = classState.methods[placement];
|
|
var descKey = node.kind === "method" ? "value" : node.kind;
|
|
var key = isNumericLiteral(node.key) || isBigIntLiteral(node.key) ? stringLiteral$8(String(node.key.value)) : toComputedKey$2(node);
|
|
var fn = toExpression$1(node);
|
|
if (isStringLiteral$6(key)) {
|
|
if (node.kind === "method") {
|
|
var _nameFunction;
|
|
fn = (_nameFunction = nameFunction({
|
|
id: key,
|
|
node: node,
|
|
scope: scope
|
|
}, undefined, supportUnicodeId)) != null ? _nameFunction : fn;
|
|
}
|
|
} else {
|
|
methods.hasComputed = true;
|
|
}
|
|
var descriptor;
|
|
if (!methods.hasComputed && methods.map.has(key.value)) {
|
|
descriptor = methods.map.get(key.value);
|
|
descriptor[descKey] = fn;
|
|
if (descKey === "value") {
|
|
descriptor.get = null;
|
|
descriptor.set = null;
|
|
} else {
|
|
descriptor.value = null;
|
|
}
|
|
} else {
|
|
var _descriptor;
|
|
descriptor = (_descriptor = {
|
|
key: key
|
|
}, _descriptor[descKey] = fn, _descriptor);
|
|
methods.list.push(descriptor);
|
|
if (!methods.hasComputed) {
|
|
methods.map.set(key.value, descriptor);
|
|
}
|
|
}
|
|
}
|
|
function processMethod(node, scope) {
|
|
if (assumptions.setClassMethods && !node.decorators) {
|
|
var classRef = classState.classRef;
|
|
if (!node["static"]) {
|
|
insertProtoAliasOnce();
|
|
classRef = classState.protoAlias;
|
|
}
|
|
var methodName = memberExpression$c(cloneNode$j(classRef), node.key, node.computed || isLiteral$6(node.key));
|
|
var func = functionExpression$2(null, node.params, node.body, node.generator, node.async);
|
|
inherits$1(func, node);
|
|
var key = toComputedKey$2(node, node.key);
|
|
if (isStringLiteral$6(key)) {
|
|
var _nameFunction2;
|
|
func = (_nameFunction2 = nameFunction({
|
|
node: func,
|
|
id: key,
|
|
scope: scope
|
|
}, undefined, supportUnicodeId)) != null ? _nameFunction2 : func;
|
|
}
|
|
var expr = expressionStatement$a(assignmentExpression$d("=", methodName, func));
|
|
inheritsComments$1(expr, node);
|
|
classState.body.push(expr);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function insertProtoAliasOnce() {
|
|
if (classState.protoAlias === null) {
|
|
setState({
|
|
protoAlias: classState.scope.generateUidIdentifier("proto")
|
|
});
|
|
var classProto = memberExpression$c(classState.classRef, identifier$i("prototype"));
|
|
var protoDeclaration = variableDeclaration$8("var", [variableDeclarator$8(classState.protoAlias, classProto)]);
|
|
classState.body.push(protoDeclaration);
|
|
}
|
|
}
|
|
function pushConstructor(superReturns, method, path) {
|
|
setState({
|
|
userConstructorPath: path,
|
|
userConstructor: method,
|
|
hasConstructor: true,
|
|
superReturns: superReturns
|
|
});
|
|
var construct = classState.construct;
|
|
inheritsComments$1(construct, method);
|
|
construct.params = method.params;
|
|
inherits$1(construct.body, method.body);
|
|
construct.body.directives = method.body.directives;
|
|
pushConstructorToBody();
|
|
}
|
|
function pushConstructorToBody() {
|
|
if (classState.pushedConstructor) return;
|
|
classState.pushedConstructor = true;
|
|
if (classState.hasInstanceDescriptors || classState.hasStaticDescriptors) {
|
|
pushDescriptors();
|
|
}
|
|
classState.body.push(classState.construct);
|
|
pushInheritsToBody();
|
|
}
|
|
function pushInheritsToBody() {
|
|
if (!classState.isDerived || classState.pushedInherits) return;
|
|
var superFnId = path.scope.generateUidIdentifier("super");
|
|
setState({
|
|
pushedInherits: true,
|
|
superFnId: superFnId
|
|
});
|
|
if (!assumptions.superIsCallableConstructor) {
|
|
classState.body.unshift(variableDeclaration$8("var", [variableDeclarator$8(superFnId, callExpression$e(addCreateSuperHelper(classState.file), [cloneNode$j(classState.classRef)]))]));
|
|
}
|
|
classState.body.unshift(expressionStatement$a(callExpression$e(classState.file.addHelper(classState.isLoose ? "inheritsLoose" : "inherits"), [cloneNode$j(classState.classRef), cloneNode$j(classState.superName)])));
|
|
}
|
|
function extractDynamicKeys() {
|
|
var dynamicKeys = classState.dynamicKeys,
|
|
node = classState.node,
|
|
scope = classState.scope;
|
|
for (var _iterator7 = _createForOfIteratorHelperLoose(node.body.body), _step7; !(_step7 = _iterator7()).done;) {
|
|
var elem = _step7.value;
|
|
if (!isClassMethod(elem) || !elem.computed) continue;
|
|
if (scope.isPure(elem.key, true)) continue;
|
|
var id = scope.generateUidIdentifierBasedOnNode(elem.key);
|
|
dynamicKeys.set(id.name, elem.key);
|
|
elem.key = id;
|
|
}
|
|
}
|
|
function setupClosureParamsArgs() {
|
|
var superName = classState.superName,
|
|
dynamicKeys = classState.dynamicKeys;
|
|
var closureParams = [];
|
|
var closureArgs = [];
|
|
if (classState.isDerived) {
|
|
var arg = cloneNode$j(superName);
|
|
if (classState.extendsNative) {
|
|
arg = callExpression$e(classState.file.addHelper("wrapNativeSuper"), [arg]);
|
|
annotateAsPure(arg);
|
|
}
|
|
var param = classState.scope.generateUidIdentifierBasedOnNode(superName);
|
|
closureParams.push(param);
|
|
closureArgs.push(arg);
|
|
setState({
|
|
superName: cloneNode$j(param)
|
|
});
|
|
}
|
|
for (var _iterator8 = _createForOfIteratorHelperLoose(dynamicKeys), _step8; !(_step8 = _iterator8()).done;) {
|
|
var _step8$value = _slicedToArray(_step8.value, 2),
|
|
name = _step8$value[0],
|
|
value = _step8$value[1];
|
|
closureParams.push(identifier$i(name));
|
|
closureArgs.push(value);
|
|
}
|
|
return {
|
|
closureParams: closureParams,
|
|
closureArgs: closureArgs
|
|
};
|
|
}
|
|
function classTransformer(path, file, builtinClasses, isLoose) {
|
|
setState({
|
|
parent: path.parent,
|
|
scope: path.scope,
|
|
node: path.node,
|
|
path: path,
|
|
file: file,
|
|
isLoose: isLoose
|
|
});
|
|
setState({
|
|
classId: classState.node.id,
|
|
classRef: classState.node.id ? identifier$i(classState.node.id.name) : classState.scope.generateUidIdentifier("class"),
|
|
superName: classState.node.superClass,
|
|
isDerived: !!classState.node.superClass,
|
|
constructorBody: blockStatement$6([])
|
|
});
|
|
setState({
|
|
extendsNative: isIdentifier$j(classState.superName) && builtinClasses.has(classState.superName.name) && !classState.scope.hasBinding(classState.superName.name, true)
|
|
});
|
|
var classRef = classState.classRef,
|
|
node = classState.node,
|
|
constructorBody = classState.constructorBody;
|
|
setState({
|
|
construct: buildConstructor(classRef, constructorBody, node)
|
|
});
|
|
extractDynamicKeys();
|
|
var body = classState.body;
|
|
var _setupClosureParamsAr = setupClosureParamsArgs(),
|
|
closureParams = _setupClosureParamsAr.closureParams,
|
|
closureArgs = _setupClosureParamsAr.closureArgs;
|
|
buildBody();
|
|
if (!assumptions.noClassCalls) {
|
|
constructorBody.body.unshift(expressionStatement$a(callExpression$e(classState.file.addHelper("classCallCheck"), [thisExpression$4(), cloneNode$j(classState.classRef)])));
|
|
}
|
|
var isStrict = path.isInStrictMode();
|
|
var constructorOnly = classState.classId && body.length === 1;
|
|
if (constructorOnly && !isStrict) {
|
|
for (var _iterator9 = _createForOfIteratorHelperLoose(classState.construct.params), _step9; !(_step9 = _iterator9()).done;) {
|
|
var param = _step9.value;
|
|
if (!isIdentifier$j(param)) {
|
|
constructorOnly = false;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
var directives = constructorOnly ? body[0].body.directives : [];
|
|
if (!isStrict) {
|
|
directives.push(directive$1(directiveLiteral$1("use strict")));
|
|
}
|
|
if (constructorOnly) {
|
|
var expr = toExpression$1(body[0]);
|
|
return classState.isLoose ? expr : createClassHelper([expr]);
|
|
}
|
|
var returnArg = cloneNode$j(classState.classRef);
|
|
if (!classState.pushedCreateClass && !classState.isLoose) {
|
|
returnArg = createClassHelper([returnArg]);
|
|
}
|
|
body.push(returnStatement$3(returnArg));
|
|
var container = arrowFunctionExpression$4(closureParams, blockStatement$6(body, directives));
|
|
return callExpression$e(container, closureArgs);
|
|
}
|
|
return classTransformer(path, file, builtinClasses, isLoose);
|
|
}
|
|
|
|
var getBuiltinClasses = function getBuiltinClasses(category) {
|
|
return Object.keys(globals[category]).filter(function (name) {
|
|
return /^[A-Z]/.test(name);
|
|
});
|
|
};
|
|
var builtinClasses = new Set([].concat(_toConsumableArray(getBuiltinClasses("builtin")), _toConsumableArray(getBuiltinClasses("browser"))));
|
|
var _transformClasses = declare(function (api, options) {
|
|
var _api$assumption, _api$assumption2, _api$assumption3, _api$assumption4;
|
|
api.assertVersion(7);
|
|
var _options$loose = options.loose,
|
|
loose = _options$loose === void 0 ? false : _options$loose;
|
|
var setClassMethods = (_api$assumption = api.assumption("setClassMethods")) != null ? _api$assumption : loose;
|
|
var constantSuper = (_api$assumption2 = api.assumption("constantSuper")) != null ? _api$assumption2 : loose;
|
|
var superIsCallableConstructor = (_api$assumption3 = api.assumption("superIsCallableConstructor")) != null ? _api$assumption3 : loose;
|
|
var noClassCalls = (_api$assumption4 = api.assumption("noClassCalls")) != null ? _api$assumption4 : loose;
|
|
var supportUnicodeId = !isRequired("transform-unicode-escapes", api.targets());
|
|
var VISITED = new WeakSet();
|
|
return {
|
|
name: "transform-classes",
|
|
visitor: {
|
|
ExportDefaultDeclaration: function ExportDefaultDeclaration(path) {
|
|
if (!path.get("declaration").isClassDeclaration()) return;
|
|
splitExportDeclaration(path);
|
|
},
|
|
ClassDeclaration: function ClassDeclaration(path) {
|
|
var node = path.node;
|
|
var ref = node.id || path.scope.generateUidIdentifier("class");
|
|
path.replaceWith(variableDeclaration$8("let", [variableDeclarator$8(ref, toExpression$1(node))]));
|
|
},
|
|
ClassExpression: function ClassExpression(path, state) {
|
|
var node = path.node;
|
|
if (VISITED.has(node)) return;
|
|
var inferred = nameFunction(path, undefined, supportUnicodeId);
|
|
if (inferred && inferred !== node) {
|
|
path.replaceWith(inferred);
|
|
return;
|
|
}
|
|
VISITED.add(node);
|
|
var _path$replaceWith = path.replaceWith(transformClass(path, state.file, builtinClasses, loose, {
|
|
setClassMethods: setClassMethods,
|
|
constantSuper: constantSuper,
|
|
superIsCallableConstructor: superIsCallableConstructor,
|
|
noClassCalls: noClassCalls
|
|
}, supportUnicodeId)),
|
|
_path$replaceWith2 = _slicedToArray(_path$replaceWith, 1),
|
|
replacedPath = _path$replaceWith2[0];
|
|
if (replacedPath.isCallExpression()) {
|
|
annotateAsPure(replacedPath);
|
|
var callee = replacedPath.get("callee");
|
|
if (callee.isArrowFunctionExpression()) {
|
|
callee.arrowFunctionToExpression();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _templateObject$d;
|
|
{
|
|
var DefineAccessorHelper = template$2.expression.ast(_templateObject$d || (_templateObject$d = _taggedTemplateLiteralLoose(["\n function (type, obj, key, fn) {\n var desc = { configurable: true, enumerable: true };\n desc[type] = fn;\n return Object.defineProperty(obj, key, desc);\n }\n "])));
|
|
DefineAccessorHelper._compact = true;
|
|
}
|
|
var _transformComputedProperties = declare(function (api, options) {
|
|
var _api$assumption;
|
|
api.assertVersion(7);
|
|
var setComputedProperties = (_api$assumption = api.assumption("setComputedProperties")) != null ? _api$assumption : options.loose;
|
|
var pushComputedProps = setComputedProperties ? pushComputedPropsLoose : pushComputedPropsSpec;
|
|
function buildDefineAccessor(state, type, obj, key, fn) {
|
|
{
|
|
var helper;
|
|
if (state.availableHelper("defineAccessor")) {
|
|
helper = state.addHelper("defineAccessor");
|
|
} else {
|
|
var file = state.file;
|
|
helper = file.get("fallbackDefineAccessorHelper");
|
|
if (!helper) {
|
|
var id = file.scope.generateUidIdentifier("defineAccessor");
|
|
file.scope.push({
|
|
id: id,
|
|
init: DefineAccessorHelper
|
|
});
|
|
file.set("fallbackDefineAccessorHelper", helper = id);
|
|
}
|
|
helper = cloneNode$j(helper);
|
|
}
|
|
return callExpression$e(helper, [stringLiteral$8(type), obj, key, fn]);
|
|
}
|
|
}
|
|
function getValue(prop) {
|
|
if (isObjectProperty$5(prop)) {
|
|
return prop.value;
|
|
} else if (isObjectMethod$1(prop)) {
|
|
return functionExpression$2(null, prop.params, prop.body, prop.generator, prop.async);
|
|
}
|
|
}
|
|
function pushAssign(objId, prop, body) {
|
|
body.push(expressionStatement$a(assignmentExpression$d("=", memberExpression$c(cloneNode$j(objId), prop.key, prop.computed || isLiteral$6(prop.key)), getValue(prop))));
|
|
}
|
|
function pushAccessorDefine(_ref, prop) {
|
|
var body = _ref.body,
|
|
computedProps = _ref.computedProps,
|
|
initPropExpression = _ref.initPropExpression,
|
|
objId = _ref.objId,
|
|
state = _ref.state;
|
|
var kind = prop.kind;
|
|
var key = !prop.computed && isIdentifier$j(prop.key) ? stringLiteral$8(prop.key.name) : prop.key;
|
|
var value = getValue(prop);
|
|
if (computedProps.length === 1) {
|
|
return buildDefineAccessor(state, kind, initPropExpression, key, value);
|
|
} else {
|
|
body.push(expressionStatement$a(buildDefineAccessor(state, kind, cloneNode$j(objId), key, value)));
|
|
}
|
|
}
|
|
function pushComputedPropsLoose(info) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(info.computedProps), _step; !(_step = _iterator()).done;) {
|
|
var prop = _step.value;
|
|
if (isObjectMethod$1(prop) && (prop.kind === "get" || prop.kind === "set")) {
|
|
var single = pushAccessorDefine(info, prop);
|
|
if (single) return single;
|
|
} else {
|
|
pushAssign(cloneNode$j(info.objId), prop, info.body);
|
|
}
|
|
}
|
|
}
|
|
function pushComputedPropsSpec(info) {
|
|
var objId = info.objId,
|
|
body = info.body,
|
|
computedProps = info.computedProps,
|
|
state = info.state;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(computedProps), _step2; !(_step2 = _iterator2()).done;) {
|
|
var prop = _step2.value;
|
|
var key = toComputedKey$2(prop);
|
|
if (isObjectMethod$1(prop) && (prop.kind === "get" || prop.kind === "set")) {
|
|
var single = pushAccessorDefine(info, prop);
|
|
if (single) return single;
|
|
} else {
|
|
var value = getValue(prop);
|
|
if (computedProps.length === 1) {
|
|
return callExpression$e(state.addHelper("defineProperty"), [info.initPropExpression, key, value]);
|
|
} else {
|
|
body.push(expressionStatement$a(callExpression$e(state.addHelper("defineProperty"), [cloneNode$j(objId), key, value])));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return {
|
|
name: "transform-computed-properties",
|
|
visitor: {
|
|
ObjectExpression: {
|
|
exit: function exit(path, state) {
|
|
var node = path.node,
|
|
parent = path.parent,
|
|
scope = path.scope;
|
|
var hasComputed = false;
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(node.properties), _step3; !(_step3 = _iterator3()).done;) {
|
|
var prop = _step3.value;
|
|
hasComputed = prop.computed === true;
|
|
if (hasComputed) break;
|
|
}
|
|
if (!hasComputed) return;
|
|
var initProps = [];
|
|
var computedProps = [];
|
|
var foundComputed = false;
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(node.properties), _step4; !(_step4 = _iterator4()).done;) {
|
|
var _prop = _step4.value;
|
|
if (isSpreadElement$1(_prop)) {
|
|
continue;
|
|
}
|
|
if (_prop.computed) {
|
|
foundComputed = true;
|
|
}
|
|
if (foundComputed) {
|
|
computedProps.push(_prop);
|
|
} else {
|
|
initProps.push(_prop);
|
|
}
|
|
}
|
|
var objId = scope.generateUidIdentifierBasedOnNode(parent);
|
|
var initPropExpression = objectExpression$3(initProps);
|
|
var body = [];
|
|
body.push(variableDeclaration$8("var", [variableDeclarator$8(objId, initPropExpression)]));
|
|
var single = pushComputedProps({
|
|
scope: scope,
|
|
objId: objId,
|
|
body: body,
|
|
computedProps: computedProps,
|
|
initPropExpression: initPropExpression,
|
|
state: state
|
|
});
|
|
if (single) {
|
|
path.replaceWith(single);
|
|
} else {
|
|
body.push(expressionStatement$a(cloneNode$j(objId)));
|
|
path.replaceWithMultiple(body);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformDotallRegex = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return createRegExpFeaturePlugin({
|
|
name: "transform-dotall-regex",
|
|
feature: "dotAllFlag"
|
|
});
|
|
});
|
|
|
|
function getName(key) {
|
|
if (isIdentifier$j(key)) {
|
|
return key.name;
|
|
}
|
|
return key.value.toString();
|
|
}
|
|
var _transformDuplicateKeys = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-duplicate-keys",
|
|
visitor: {
|
|
ObjectExpression: function ObjectExpression(path) {
|
|
var node = path.node;
|
|
var plainProps = node.properties.filter(function (prop) {
|
|
return !isSpreadElement$1(prop) && !prop.computed;
|
|
});
|
|
var alreadySeenData = Object.create(null);
|
|
var alreadySeenGetters = Object.create(null);
|
|
var alreadySeenSetters = Object.create(null);
|
|
for (var _iterator = _createForOfIteratorHelperLoose(plainProps), _step; !(_step = _iterator()).done;) {
|
|
var prop = _step.value;
|
|
var name = getName(prop.key);
|
|
var isDuplicate = false;
|
|
switch (prop.kind) {
|
|
case "get":
|
|
if (alreadySeenData[name] || alreadySeenGetters[name]) {
|
|
isDuplicate = true;
|
|
}
|
|
alreadySeenGetters[name] = true;
|
|
break;
|
|
case "set":
|
|
if (alreadySeenData[name] || alreadySeenSetters[name]) {
|
|
isDuplicate = true;
|
|
}
|
|
alreadySeenSetters[name] = true;
|
|
break;
|
|
default:
|
|
if (alreadySeenData[name] || alreadySeenGetters[name] || alreadySeenSetters[name]) {
|
|
isDuplicate = true;
|
|
}
|
|
alreadySeenData[name] = true;
|
|
}
|
|
if (isDuplicate) {
|
|
prop.computed = true;
|
|
prop.key = stringLiteral$8(name);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var assignmentExpression$1 = assignmentExpression$d,
|
|
cloneNode = cloneNode$j,
|
|
isIdentifier$2 = isIdentifier$j,
|
|
isLiteral = isLiteral$6,
|
|
isMemberExpression = isMemberExpression$8,
|
|
isPrivateName = isPrivateName$3,
|
|
isPureish = isPureish$2,
|
|
isSuper = isSuper$3,
|
|
memberExpression$1 = memberExpression$c,
|
|
toComputedKey = toComputedKey$2;
|
|
function getObjRef(node, nodes, scope) {
|
|
var ref;
|
|
if (isIdentifier$2(node)) {
|
|
if (scope.hasBinding(node.name)) {
|
|
return node;
|
|
} else {
|
|
ref = node;
|
|
}
|
|
} else if (isMemberExpression(node)) {
|
|
ref = node.object;
|
|
if (isSuper(ref) || isIdentifier$2(ref) && scope.hasBinding(ref.name)) {
|
|
return ref;
|
|
}
|
|
} else {
|
|
throw new Error("We can't explode this node type " + node["type"]);
|
|
}
|
|
var temp = scope.generateUidIdentifierBasedOnNode(ref);
|
|
scope.push({
|
|
id: temp
|
|
});
|
|
nodes.push(assignmentExpression$1("=", cloneNode(temp), cloneNode(ref)));
|
|
return temp;
|
|
}
|
|
function getPropRef(node, nodes, scope) {
|
|
var prop = node.property;
|
|
if (isPrivateName(prop)) {
|
|
throw new Error("We can't generate property ref for private name, please install `@babel/plugin-proposal-class-properties`");
|
|
}
|
|
var key = toComputedKey(node, prop);
|
|
if (isLiteral(key) && isPureish(key)) return key;
|
|
var temp = scope.generateUidIdentifierBasedOnNode(prop);
|
|
scope.push({
|
|
id: temp
|
|
});
|
|
nodes.push(assignmentExpression$1("=", cloneNode(temp), cloneNode(prop)));
|
|
return temp;
|
|
}
|
|
function explode(node, nodes, scope) {
|
|
var obj = getObjRef(node, nodes, scope);
|
|
var ref, uid;
|
|
if (isIdentifier$2(node)) {
|
|
ref = cloneNode(node);
|
|
uid = obj;
|
|
} else {
|
|
var prop = getPropRef(node, nodes, scope);
|
|
var computed = node.computed || isLiteral(prop);
|
|
uid = memberExpression$1(cloneNode(obj), cloneNode(prop), computed);
|
|
ref = memberExpression$1(cloneNode(obj), cloneNode(prop), computed);
|
|
}
|
|
return {
|
|
uid: uid,
|
|
ref: ref
|
|
};
|
|
}
|
|
|
|
var assignmentExpression = assignmentExpression$d,
|
|
sequenceExpression = sequenceExpression$7;
|
|
function build (opts) {
|
|
var build = opts.build,
|
|
operator = opts.operator;
|
|
var visitor = {
|
|
AssignmentExpression: function (_AssignmentExpression) {
|
|
function AssignmentExpression(_x) {
|
|
return _AssignmentExpression.apply(this, arguments);
|
|
}
|
|
AssignmentExpression.toString = function () {
|
|
return _AssignmentExpression.toString();
|
|
};
|
|
return AssignmentExpression;
|
|
}(function (path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
if (node.operator !== operator + "=") return;
|
|
var nodes = [];
|
|
var exploded = explode(node.left, nodes, scope);
|
|
nodes.push(assignmentExpression("=", exploded.ref, build(exploded.uid, node.right)));
|
|
path.replaceWith(sequenceExpression(nodes));
|
|
}),
|
|
BinaryExpression: function BinaryExpression(path) {
|
|
var node = path.node;
|
|
if (node.operator === operator) {
|
|
path.replaceWith(build(node.left, node.right));
|
|
}
|
|
}
|
|
};
|
|
return visitor;
|
|
}
|
|
|
|
var transformExponentialOperator = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-exponentiation-operator",
|
|
visitor: build({
|
|
operator: "**",
|
|
build: function build(left, right) {
|
|
return callExpression$e(memberExpression$c(identifier$i("Math"), identifier$i("pow")), [left, right]);
|
|
}
|
|
})
|
|
};
|
|
});
|
|
|
|
var transformFlowComments = declare(function (api) {
|
|
api.assertVersion(7);
|
|
function commentFromString(comment) {
|
|
return typeof comment === "string" ? {
|
|
type: "CommentBlock",
|
|
value: comment
|
|
} : comment;
|
|
}
|
|
function attachComment(_ref) {
|
|
var _toPath;
|
|
var ofPath = _ref.ofPath,
|
|
toPath = _ref.toPath,
|
|
_ref$where = _ref.where,
|
|
where = _ref$where === void 0 ? "trailing" : _ref$where,
|
|
_ref$optional = _ref.optional,
|
|
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
_ref$comments = _ref.comments,
|
|
comments = _ref$comments === void 0 ? generateComment(ofPath, optional) : _ref$comments,
|
|
_ref$keepType = _ref.keepType,
|
|
keepType = _ref$keepType === void 0 ? false : _ref$keepType;
|
|
if (!((_toPath = toPath) != null && _toPath.node)) {
|
|
toPath = ofPath.getPrevSibling();
|
|
where = "trailing";
|
|
}
|
|
if (!toPath.node) {
|
|
toPath = ofPath.getNextSibling();
|
|
where = "leading";
|
|
}
|
|
if (!toPath.node) {
|
|
toPath = ofPath.parentPath;
|
|
where = "inner";
|
|
}
|
|
if (!Array.isArray(comments)) {
|
|
comments = [comments];
|
|
}
|
|
var newComments = comments.map(commentFromString);
|
|
if (!keepType && ofPath != null && ofPath.node) {
|
|
var node = ofPath.node;
|
|
var parent = ofPath.parentPath;
|
|
var prev = ofPath.getPrevSibling();
|
|
var next = ofPath.getNextSibling();
|
|
var isSingleChild = !(prev.node || next.node);
|
|
var leading = node.leadingComments;
|
|
var trailing = node.trailingComments;
|
|
if (isSingleChild && leading) {
|
|
parent.addComments("inner", leading);
|
|
}
|
|
toPath.addComments(where, newComments);
|
|
ofPath.remove();
|
|
if (isSingleChild && trailing) {
|
|
parent.addComments("inner", trailing);
|
|
}
|
|
} else {
|
|
toPath.addComments(where, newComments);
|
|
}
|
|
}
|
|
function wrapInFlowComment(path) {
|
|
attachComment({
|
|
ofPath: path,
|
|
comments: generateComment(path, path.parent.optional)
|
|
});
|
|
}
|
|
function generateComment(path, optional) {
|
|
var comment = path.getSource().replace(/\*-\//g, "*-ESCAPED/").replace(/\*\//g, "*-/");
|
|
if (optional) comment = "?" + comment;
|
|
if (comment[0] !== ":") comment = ":: " + comment;
|
|
return comment;
|
|
}
|
|
function isTypeImport(importKind) {
|
|
return importKind === "type" || importKind === "typeof";
|
|
}
|
|
return {
|
|
name: "transform-flow-comments",
|
|
inherits: syntaxFlow,
|
|
visitor: {
|
|
TypeCastExpression: function TypeCastExpression(path) {
|
|
var node = path.node;
|
|
attachComment({
|
|
ofPath: path.get("typeAnnotation"),
|
|
toPath: path.get("expression"),
|
|
keepType: true
|
|
});
|
|
path.replaceWith(parenthesizedExpression(node.expression));
|
|
},
|
|
Identifier: function Identifier(path) {
|
|
if (path.parentPath.isFlow()) return;
|
|
var node = path.node;
|
|
if (node.typeAnnotation) {
|
|
attachComment({
|
|
ofPath: path.get("typeAnnotation"),
|
|
toPath: path,
|
|
optional: node.optional || node.typeAnnotation.optional
|
|
});
|
|
if (node.optional) {
|
|
node.optional = false;
|
|
}
|
|
} else if (node.optional) {
|
|
attachComment({
|
|
toPath: path,
|
|
comments: ":: ?"
|
|
});
|
|
node.optional = false;
|
|
}
|
|
},
|
|
AssignmentPattern: {
|
|
exit: function exit(_ref2) {
|
|
var node = _ref2.node;
|
|
var left = node.left;
|
|
if (left.optional) {
|
|
left.optional = false;
|
|
}
|
|
}
|
|
},
|
|
Function: function Function(path) {
|
|
if (path.isDeclareFunction()) return;
|
|
var node = path.node;
|
|
if (node.typeParameters) {
|
|
attachComment({
|
|
ofPath: path.get("typeParameters"),
|
|
toPath: path.get("id"),
|
|
optional: node.typeParameters.optional
|
|
});
|
|
}
|
|
if (node.returnType) {
|
|
attachComment({
|
|
ofPath: path.get("returnType"),
|
|
toPath: path.get("body"),
|
|
where: "leading",
|
|
optional: node.returnType.typeAnnotation.optional
|
|
});
|
|
}
|
|
},
|
|
ClassProperty: function ClassProperty(path) {
|
|
var node = path.node;
|
|
if (!node.value) {
|
|
wrapInFlowComment(path);
|
|
} else if (node.typeAnnotation) {
|
|
attachComment({
|
|
ofPath: path.get("typeAnnotation"),
|
|
toPath: path.get("key"),
|
|
optional: node.typeAnnotation.optional
|
|
});
|
|
}
|
|
},
|
|
ExportNamedDeclaration: function ExportNamedDeclaration(path) {
|
|
var node = path.node;
|
|
if (node.exportKind !== "type" && !isFlow$1(node.declaration)) {
|
|
return;
|
|
}
|
|
wrapInFlowComment(path);
|
|
},
|
|
ImportDeclaration: function ImportDeclaration(path) {
|
|
var node = path.node;
|
|
if (isTypeImport(node.importKind)) {
|
|
wrapInFlowComment(path);
|
|
return;
|
|
}
|
|
var typeSpecifiers = node.specifiers.filter(function (specifier) {
|
|
return specifier.type === "ImportSpecifier" && isTypeImport(specifier.importKind);
|
|
});
|
|
var nonTypeSpecifiers = node.specifiers.filter(function (specifier) {
|
|
return specifier.type !== "ImportSpecifier" || !isTypeImport(specifier.importKind);
|
|
});
|
|
node.specifiers = nonTypeSpecifiers;
|
|
if (typeSpecifiers.length > 0) {
|
|
var typeImportNode = cloneNode$j(node);
|
|
typeImportNode.specifiers = typeSpecifiers;
|
|
var comment = ":: " + generate$1(typeImportNode).code;
|
|
if (nonTypeSpecifiers.length > 0) {
|
|
attachComment({
|
|
toPath: path,
|
|
comments: comment
|
|
});
|
|
} else {
|
|
attachComment({
|
|
ofPath: path,
|
|
comments: comment
|
|
});
|
|
}
|
|
}
|
|
},
|
|
ObjectPattern: function ObjectPattern(path) {
|
|
var node = path.node;
|
|
if (node.typeAnnotation) {
|
|
attachComment({
|
|
ofPath: path.get("typeAnnotation"),
|
|
toPath: path,
|
|
optional: node.optional || node.typeAnnotation.optional
|
|
});
|
|
}
|
|
},
|
|
Flow: function (_Flow) {
|
|
function Flow(_x) {
|
|
return _Flow.apply(this, arguments);
|
|
}
|
|
Flow.toString = function () {
|
|
return _Flow.toString();
|
|
};
|
|
return Flow;
|
|
}(function (path) {
|
|
wrapInFlowComment(path);
|
|
}),
|
|
Class: function Class(path) {
|
|
var node = path.node;
|
|
var comments = [];
|
|
if (node.typeParameters) {
|
|
var typeParameters = path.get("typeParameters");
|
|
comments.push(generateComment(typeParameters, node.typeParameters.optional));
|
|
var trailingComments = node.typeParameters.trailingComments;
|
|
if (trailingComments) {
|
|
var _comments;
|
|
(_comments = comments).push.apply(_comments, _toConsumableArray(trailingComments));
|
|
}
|
|
typeParameters.remove();
|
|
}
|
|
if (node.superClass) {
|
|
if (comments.length > 0) {
|
|
attachComment({
|
|
toPath: path.get("id"),
|
|
comments: comments
|
|
});
|
|
comments = [];
|
|
}
|
|
if (node.superTypeParameters) {
|
|
var superTypeParameters = path.get("superTypeParameters");
|
|
comments.push(generateComment(superTypeParameters, superTypeParameters.node.optional));
|
|
superTypeParameters.remove();
|
|
}
|
|
}
|
|
if (node["implements"]) {
|
|
var impls = path.get("implements");
|
|
var comment = "implements " + impls.map(function (impl) {
|
|
return generateComment(impl).replace(/^:: /, "");
|
|
}).join(", ");
|
|
delete node["implements"];
|
|
if (comments.length === 1) {
|
|
comments[0] += " " + comment;
|
|
} else {
|
|
comments.push(":: " + comment);
|
|
}
|
|
}
|
|
if (comments.length > 0) {
|
|
attachComment({
|
|
toPath: path.get("body"),
|
|
where: "leading",
|
|
comments: comments
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var transformFlowStripTypes = declare(function (api, opts) {
|
|
api.assertVersion(7);
|
|
var FLOW_DIRECTIVE = /(@flow(\s+(strict(-local)?|weak))?|@noflow)/;
|
|
var skipStrip = false;
|
|
var _opts$requireDirectiv = opts.requireDirective,
|
|
requireDirective = _opts$requireDirectiv === void 0 ? false : _opts$requireDirectiv;
|
|
{
|
|
var _opts$allowDeclareFie = opts.allowDeclareFields,
|
|
allowDeclareFields = _opts$allowDeclareFie === void 0 ? false : _opts$allowDeclareFie;
|
|
}
|
|
return {
|
|
name: "transform-flow-strip-types",
|
|
inherits: syntaxFlow,
|
|
visitor: {
|
|
Program: function Program(path, _ref) {
|
|
var comments = _ref.file.ast.comments;
|
|
skipStrip = false;
|
|
var directiveFound = false;
|
|
if (comments) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(comments), _step; !(_step = _iterator()).done;) {
|
|
var comment = _step.value;
|
|
if (FLOW_DIRECTIVE.test(comment.value)) {
|
|
directiveFound = true;
|
|
comment.value = comment.value.replace(FLOW_DIRECTIVE, "");
|
|
if (!comment.value.replace(/\*/g, "").trim()) {
|
|
comment.ignore = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (!directiveFound && requireDirective) {
|
|
skipStrip = true;
|
|
}
|
|
},
|
|
ImportDeclaration: function ImportDeclaration(path) {
|
|
if (skipStrip) return;
|
|
if (!path.node.specifiers.length) return;
|
|
var typeCount = 0;
|
|
path.node.specifiers.forEach(function (_ref2) {
|
|
var importKind = _ref2.importKind;
|
|
if (importKind === "type" || importKind === "typeof") {
|
|
typeCount++;
|
|
}
|
|
});
|
|
if (typeCount === path.node.specifiers.length) {
|
|
path.remove();
|
|
}
|
|
},
|
|
Flow: function (_Flow) {
|
|
function Flow(_x) {
|
|
return _Flow.apply(this, arguments);
|
|
}
|
|
Flow.toString = function () {
|
|
return _Flow.toString();
|
|
};
|
|
return Flow;
|
|
}(function (path) {
|
|
if (skipStrip) {
|
|
throw path.buildCodeFrameError("A @flow directive is required when using Flow annotations with " + "the `requireDirective` option.");
|
|
}
|
|
path.remove();
|
|
}),
|
|
ClassPrivateProperty: function ClassPrivateProperty(path) {
|
|
if (skipStrip) return;
|
|
path.node.typeAnnotation = null;
|
|
},
|
|
Class: function Class(path) {
|
|
if (skipStrip) return;
|
|
path.node["implements"] = null;
|
|
path.get("body.body").forEach(function (child) {
|
|
if (child.isClassProperty()) {
|
|
var node = child.node;
|
|
{
|
|
if (!allowDeclareFields && node.declare) {
|
|
throw child.buildCodeFrameError("The 'declare' modifier is only allowed when the " + "'allowDeclareFields' option of " + "@babel/plugin-transform-flow-strip-types or " + "@babel/preset-flow is enabled.");
|
|
}
|
|
}
|
|
if (node.declare) {
|
|
child.remove();
|
|
} else {
|
|
{
|
|
if (!allowDeclareFields && !node.value && !node.decorators) {
|
|
child.remove();
|
|
return;
|
|
}
|
|
}
|
|
node.variance = null;
|
|
node.typeAnnotation = null;
|
|
}
|
|
}
|
|
});
|
|
},
|
|
AssignmentPattern: function AssignmentPattern(_ref3) {
|
|
var node = _ref3.node;
|
|
if (skipStrip) return;
|
|
if (node.left.optional) {
|
|
node.left.optional = false;
|
|
}
|
|
},
|
|
Function: function Function(_ref4) {
|
|
var node = _ref4.node;
|
|
if (skipStrip) return;
|
|
if (node.params.length > 0 && node.params[0].type === "Identifier" && node.params[0].name === "this") {
|
|
node.params.shift();
|
|
}
|
|
for (var i = 0; i < node.params.length; i++) {
|
|
var param = node.params[i];
|
|
if (param.type === "AssignmentPattern") {
|
|
param = param.left;
|
|
}
|
|
if (param.optional) {
|
|
param.optional = false;
|
|
}
|
|
}
|
|
if (!isMethod$1(node)) {
|
|
node.predicate = null;
|
|
}
|
|
},
|
|
TypeCastExpression: function TypeCastExpression(path) {
|
|
if (skipStrip) return;
|
|
var node = path.node;
|
|
do {
|
|
node = node.expression;
|
|
} while (isTypeCastExpression$1(node));
|
|
path.replaceWith(node);
|
|
},
|
|
CallExpression: function CallExpression(_ref5) {
|
|
var node = _ref5.node;
|
|
if (skipStrip) return;
|
|
node.typeArguments = null;
|
|
},
|
|
OptionalCallExpression: function OptionalCallExpression(_ref6) {
|
|
var node = _ref6.node;
|
|
if (skipStrip) return;
|
|
node.typeArguments = null;
|
|
},
|
|
NewExpression: function NewExpression(_ref7) {
|
|
var node = _ref7.node;
|
|
if (skipStrip) return;
|
|
node.typeArguments = null;
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
function transformWithoutHelper(loose, path, state) {
|
|
var _block$body;
|
|
var pushComputedProps = loose ? pushComputedPropsLoose : pushComputedPropsSpec;
|
|
var node = path.node;
|
|
var build = pushComputedProps(path, state);
|
|
var declar = build.declar;
|
|
var loop = build.loop;
|
|
var block = loop.body;
|
|
path.ensureBlock();
|
|
if (declar) {
|
|
block.body.push(declar);
|
|
}
|
|
(_block$body = block.body).push.apply(_block$body, _toConsumableArray(node.body.body));
|
|
inherits$1(loop, node);
|
|
inherits$1(loop.body, node.body);
|
|
if (build.replaceParent) {
|
|
path.parentPath.replaceWithMultiple(build.node);
|
|
path.remove();
|
|
} else {
|
|
path.replaceWithMultiple(build.node);
|
|
}
|
|
}
|
|
var buildForOfLoose = template$2.statement("\n for (var LOOP_OBJECT = OBJECT,\n IS_ARRAY = Array.isArray(LOOP_OBJECT),\n INDEX = 0,\n LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) {\n INTERMEDIATE;\n if (IS_ARRAY) {\n if (INDEX >= LOOP_OBJECT.length) break;\n ID = LOOP_OBJECT[INDEX++];\n } else {\n INDEX = LOOP_OBJECT.next();\n if (INDEX.done) break;\n ID = INDEX.value;\n }\n }\n");
|
|
var buildForOf = template$2.statements("\n var ITERATOR_COMPLETION = true;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY = undefined;\n try {\n for (\n var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY;\n !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done);\n ITERATOR_COMPLETION = true\n ) {}\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {\n ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n");
|
|
function pushComputedPropsLoose(path, state) {
|
|
var node = path.node,
|
|
scope = path.scope,
|
|
parent = path.parent;
|
|
var left = node.left;
|
|
var declar, id, intermediate;
|
|
if (isIdentifier$j(left) || isPattern(left) || isMemberExpression$8(left)) {
|
|
id = left;
|
|
intermediate = null;
|
|
} else if (isVariableDeclaration$3(left)) {
|
|
id = scope.generateUidIdentifier("ref");
|
|
declar = variableDeclaration$8(left.kind, [variableDeclarator$8(left.declarations[0].id, identifier$i(id.name))]);
|
|
intermediate = variableDeclaration$8("var", [variableDeclarator$8(identifier$i(id.name))]);
|
|
} else {
|
|
throw state.buildCodeFrameError(left, "Unknown node type " + left.type + " in ForStatement");
|
|
}
|
|
var iteratorKey = scope.generateUidIdentifier("iterator");
|
|
var isArrayKey = scope.generateUidIdentifier("isArray");
|
|
var loop = buildForOfLoose({
|
|
LOOP_OBJECT: iteratorKey,
|
|
IS_ARRAY: isArrayKey,
|
|
OBJECT: node.right,
|
|
INDEX: scope.generateUidIdentifier("i"),
|
|
ID: id,
|
|
INTERMEDIATE: intermediate
|
|
});
|
|
var isLabeledParent = isLabeledStatement(parent);
|
|
var labeled;
|
|
if (isLabeledParent) {
|
|
labeled = labeledStatement(parent.label, loop);
|
|
}
|
|
return {
|
|
replaceParent: isLabeledParent,
|
|
declar: declar,
|
|
node: labeled || loop,
|
|
loop: loop
|
|
};
|
|
}
|
|
function pushComputedPropsSpec(path, state) {
|
|
var node = path.node,
|
|
scope = path.scope,
|
|
parent = path.parent;
|
|
var left = node.left;
|
|
var declar;
|
|
var stepKey = scope.generateUid("step");
|
|
var stepValue = memberExpression$c(identifier$i(stepKey), identifier$i("value"));
|
|
if (isIdentifier$j(left) || isPattern(left) || isMemberExpression$8(left)) {
|
|
declar = expressionStatement$a(assignmentExpression$d("=", left, stepValue));
|
|
} else if (isVariableDeclaration$3(left)) {
|
|
declar = variableDeclaration$8(left.kind, [variableDeclarator$8(left.declarations[0].id, stepValue)]);
|
|
} else {
|
|
throw state.buildCodeFrameError(left, "Unknown node type " + left.type + " in ForStatement");
|
|
}
|
|
var template = buildForOf({
|
|
ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier("didIteratorError"),
|
|
ITERATOR_COMPLETION: scope.generateUidIdentifier("iteratorNormalCompletion"),
|
|
ITERATOR_ERROR_KEY: scope.generateUidIdentifier("iteratorError"),
|
|
ITERATOR_KEY: scope.generateUidIdentifier("iterator"),
|
|
STEP_KEY: identifier$i(stepKey),
|
|
OBJECT: node.right
|
|
});
|
|
var isLabeledParent = isLabeledStatement(parent);
|
|
var tryBody = template[3].block.body;
|
|
var loop = tryBody[0];
|
|
if (isLabeledParent) {
|
|
tryBody[0] = labeledStatement(parent.label, loop);
|
|
}
|
|
return {
|
|
replaceParent: isLabeledParent,
|
|
declar: declar,
|
|
loop: loop,
|
|
node: template
|
|
};
|
|
}
|
|
|
|
var _templateObject$c, _templateObject2$5, _templateObject3$4;
|
|
function buildLoopBody(path, declar, newBody) {
|
|
var block;
|
|
var bodyPath = path.get("body");
|
|
var body = newBody != null ? newBody : bodyPath.node;
|
|
if (isBlockStatement$2(body) && Object.keys(path.getBindingIdentifiers()).some(function (id) {
|
|
return bodyPath.scope.hasOwnBinding(id);
|
|
})) {
|
|
block = blockStatement$6([declar, body]);
|
|
} else {
|
|
block = toBlock(body);
|
|
block.body.unshift(declar);
|
|
}
|
|
return block;
|
|
}
|
|
var _transformForOf = declare(function (api, options) {
|
|
var _options$assumeArray, _options$allowArrayLi, _api$assumption;
|
|
api.assertVersion(7);
|
|
{
|
|
var assumeArray = options.assumeArray,
|
|
allowArrayLike = options.allowArrayLike,
|
|
loose = options.loose;
|
|
if (loose === true && assumeArray === true) {
|
|
throw new Error("The loose and assumeArray options cannot be used together in @babel/plugin-transform-for-of");
|
|
}
|
|
if (assumeArray === true && allowArrayLike === true) {
|
|
throw new Error("The assumeArray and allowArrayLike options cannot be used together in @babel/plugin-transform-for-of");
|
|
}
|
|
{
|
|
if (allowArrayLike && /^7\.\d\./.test(api.version)) {
|
|
throw new Error("The allowArrayLike is only supported when using @babel/core@^7.10.0");
|
|
}
|
|
}
|
|
}
|
|
var iterableIsArray = (_options$assumeArray = options.assumeArray) != null ? _options$assumeArray : !options.loose && api.assumption("iterableIsArray");
|
|
var arrayLikeIsIterable = (_options$allowArrayLi = options.allowArrayLike) != null ? _options$allowArrayLi : api.assumption("arrayLikeIsIterable");
|
|
var skipIteratorClosing = (_api$assumption = api.assumption("skipForOfIteratorClosing")) != null ? _api$assumption : options.loose;
|
|
if (iterableIsArray && arrayLikeIsIterable) {
|
|
throw new Error("The \"iterableIsArray\" and \"arrayLikeIsIterable\" assumptions are not compatible.");
|
|
}
|
|
if (iterableIsArray) {
|
|
return {
|
|
name: "transform-for-of",
|
|
visitor: {
|
|
ForOfStatement: function ForOfStatement(path) {
|
|
var scope = path.scope;
|
|
var _path$node = path.node,
|
|
left = _path$node.left,
|
|
right = _path$node.right,
|
|
isAwait = _path$node["await"];
|
|
if (isAwait) {
|
|
return;
|
|
}
|
|
var i = scope.generateUidIdentifier("i");
|
|
var array = scope.maybeGenerateMemoised(right, true);
|
|
var inits = [variableDeclarator$8(i, numericLiteral$8(0))];
|
|
if (array) {
|
|
inits.push(variableDeclarator$8(array, right));
|
|
} else {
|
|
array = right;
|
|
}
|
|
var item = memberExpression$c(cloneNode$j(array), cloneNode$j(i), true);
|
|
var assignment;
|
|
if (isVariableDeclaration$3(left)) {
|
|
assignment = left;
|
|
assignment.declarations[0].init = item;
|
|
} else {
|
|
assignment = expressionStatement$a(assignmentExpression$d("=", left, item));
|
|
}
|
|
path.replaceWith(forStatement(variableDeclaration$8("let", inits), binaryExpression$5("<", cloneNode$j(i), memberExpression$c(cloneNode$j(array), identifier$i("length"))), updateExpression$1("++", cloneNode$j(i)), buildLoopBody(path, assignment)));
|
|
}
|
|
}
|
|
};
|
|
}
|
|
var buildForOfArray = template$2(_templateObject$c || (_templateObject$c = _taggedTemplateLiteralLoose(["\n for (var KEY = 0, NAME = ARR; KEY < NAME.length; KEY++) BODY;\n "])));
|
|
var buildForOfNoIteratorClosing = template$2.statements(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteralLoose(["\n for (var ITERATOR_HELPER = CREATE_ITERATOR_HELPER(OBJECT, ARRAY_LIKE_IS_ITERABLE), STEP_KEY;\n !(STEP_KEY = ITERATOR_HELPER()).done;) BODY;\n "])));
|
|
var buildForOf = template$2.statements(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteralLoose(["\n var ITERATOR_HELPER = CREATE_ITERATOR_HELPER(OBJECT, ARRAY_LIKE_IS_ITERABLE), STEP_KEY;\n try {\n for (ITERATOR_HELPER.s(); !(STEP_KEY = ITERATOR_HELPER.n()).done;) BODY;\n } catch (err) {\n ITERATOR_HELPER.e(err);\n } finally {\n ITERATOR_HELPER.f();\n }\n "])));
|
|
var builder = skipIteratorClosing ? {
|
|
build: buildForOfNoIteratorClosing,
|
|
helper: "createForOfIteratorHelperLoose",
|
|
getContainer: function getContainer(nodes) {
|
|
return nodes;
|
|
}
|
|
} : {
|
|
build: buildForOf,
|
|
helper: "createForOfIteratorHelper",
|
|
getContainer: function getContainer(nodes) {
|
|
return nodes[1].block.body;
|
|
}
|
|
};
|
|
function _ForOfStatementArray(path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var right = scope.generateUidIdentifierBasedOnNode(node.right, "arr");
|
|
var iterationKey = scope.generateUidIdentifier("i");
|
|
var loop = buildForOfArray({
|
|
BODY: node.body,
|
|
KEY: iterationKey,
|
|
NAME: right,
|
|
ARR: node.right
|
|
});
|
|
inherits$1(loop, node);
|
|
var iterationValue = memberExpression$c(cloneNode$j(right), cloneNode$j(iterationKey), true);
|
|
var declar;
|
|
var left = node.left;
|
|
if (isVariableDeclaration$3(left)) {
|
|
left.declarations[0].init = iterationValue;
|
|
declar = left;
|
|
} else {
|
|
declar = expressionStatement$a(assignmentExpression$d("=", left, iterationValue));
|
|
}
|
|
loop.body = buildLoopBody(path, declar, loop.body);
|
|
return loop;
|
|
}
|
|
return {
|
|
name: "transform-for-of",
|
|
visitor: {
|
|
ForOfStatement: function ForOfStatement(path, state) {
|
|
var right = path.get("right");
|
|
if (right.isArrayExpression() || right.isGenericType("Array") || isArrayTypeAnnotation$2(right.getTypeAnnotation())) {
|
|
path.replaceWith(_ForOfStatementArray(path));
|
|
return;
|
|
}
|
|
{
|
|
if (!state.availableHelper(builder.helper)) {
|
|
transformWithoutHelper(skipIteratorClosing, path, state);
|
|
return;
|
|
}
|
|
}
|
|
var node = path.node,
|
|
parent = path.parent,
|
|
scope = path.scope;
|
|
var left = node.left;
|
|
var declar;
|
|
var stepKey = scope.generateUid("step");
|
|
var stepValue = memberExpression$c(identifier$i(stepKey), identifier$i("value"));
|
|
if (isVariableDeclaration$3(left)) {
|
|
declar = variableDeclaration$8(left.kind, [variableDeclarator$8(left.declarations[0].id, stepValue)]);
|
|
} else {
|
|
declar = expressionStatement$a(assignmentExpression$d("=", left, stepValue));
|
|
}
|
|
var nodes = builder.build({
|
|
CREATE_ITERATOR_HELPER: state.addHelper(builder.helper),
|
|
ITERATOR_HELPER: scope.generateUidIdentifier("iterator"),
|
|
ARRAY_LIKE_IS_ITERABLE: arrayLikeIsIterable ? booleanLiteral$4(true) : null,
|
|
STEP_KEY: identifier$i(stepKey),
|
|
OBJECT: node.right,
|
|
BODY: buildLoopBody(path, declar)
|
|
});
|
|
var container = builder.getContainer(nodes);
|
|
inherits$1(container[0], node);
|
|
inherits$1(container[0].body, node.body);
|
|
if (isLabeledStatement(parent)) {
|
|
container[0] = labeledStatement(parent.label, container[0]);
|
|
path.parentPath.replaceWithMultiple(nodes);
|
|
path.skip();
|
|
} else {
|
|
path.replaceWithMultiple(nodes);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformFunctionName = declare(function (api) {
|
|
api.assertVersion(7);
|
|
var supportUnicodeId = !isRequired("transform-unicode-escapes", api.targets());
|
|
return {
|
|
name: "transform-function-name",
|
|
visitor: {
|
|
FunctionExpression: {
|
|
exit: function exit(path) {
|
|
if (path.key !== "value" && !path.parentPath.isObjectProperty()) {
|
|
var replacement = nameFunction(path);
|
|
if (replacement) path.replaceWith(replacement);
|
|
}
|
|
}
|
|
},
|
|
ObjectProperty: function ObjectProperty(path) {
|
|
var value = path.get("value");
|
|
if (value.isFunction()) {
|
|
var newNode = nameFunction(value, false, supportUnicodeId);
|
|
if (newNode) value.replaceWith(newNode);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var transformInstanceof = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-instanceof",
|
|
visitor: {
|
|
BinaryExpression: function BinaryExpression(path) {
|
|
var node = path.node;
|
|
if (node.operator === "instanceof") {
|
|
var helper = this.addHelper("instanceof");
|
|
var isUnderHelper = path.findParent(function (path) {
|
|
return path.isVariableDeclarator() && path.node.id === helper || path.isFunctionDeclaration() && path.node.id && path.node.id.name === helper.name;
|
|
});
|
|
if (isUnderHelper) {
|
|
return;
|
|
} else {
|
|
path.replaceWith(callExpression$e(helper, [node.left, node.right]));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var transformJscript = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-jscript",
|
|
visitor: {
|
|
FunctionExpression: {
|
|
exit: function exit(path) {
|
|
var node = path.node;
|
|
if (!node.id) return;
|
|
path.replaceWith(callExpression$e(functionExpression$2(null, [], blockStatement$6([toStatement(node), returnStatement$3(cloneNode$j(node.id))])), []));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformLiterals = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-literals",
|
|
visitor: {
|
|
NumericLiteral: function NumericLiteral(_ref) {
|
|
var node = _ref.node;
|
|
if (node.extra && /^0[ob]/i.test(node.extra.raw)) {
|
|
node.extra = undefined;
|
|
}
|
|
},
|
|
StringLiteral: function StringLiteral(_ref2) {
|
|
var node = _ref2.node;
|
|
if (node.extra && /\\[u]/gi.test(node.extra.raw)) {
|
|
node.extra = undefined;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformMemberExpressionLiterals = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-member-expression-literals",
|
|
visitor: {
|
|
MemberExpression: {
|
|
exit: function exit(_ref) {
|
|
var node = _ref.node;
|
|
var prop = node.property;
|
|
if (!node.computed && isIdentifier$j(prop) && !isValidES3Identifier(prop.name)) {
|
|
node.property = stringLiteral$8(prop.name);
|
|
node.computed = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _templateObject$b;
|
|
var buildWrapper$1 = template$2.statement("\n define(MODULE_NAME, AMD_ARGUMENTS, function(IMPORT_NAMES) {\n })\n");
|
|
var buildAnonymousWrapper = template$2.statement("\n define([\"require\"], function(REQUIRE) {\n })\n");
|
|
function injectWrapper(path, wrapper) {
|
|
var _path$node = path.node,
|
|
body = _path$node.body,
|
|
directives = _path$node.directives;
|
|
path.node.directives = [];
|
|
path.node.body = [];
|
|
var amdFactoryCall = path.pushContainer("body", wrapper)[0].get("expression");
|
|
var amdFactoryCallArgs = amdFactoryCall.get("arguments");
|
|
var amdFactory = amdFactoryCallArgs[amdFactoryCallArgs.length - 1].get("body");
|
|
amdFactory.pushContainer("directives", directives);
|
|
amdFactory.pushContainer("body", body);
|
|
}
|
|
var _transformModulesAmd = declare(function (api, options) {
|
|
var _api$assumption, _api$assumption2;
|
|
api.assertVersion(7);
|
|
var allowTopLevelThis = options.allowTopLevelThis,
|
|
strict = options.strict,
|
|
strictMode = options.strictMode,
|
|
importInterop = options.importInterop,
|
|
noInterop = options.noInterop;
|
|
var constantReexports = (_api$assumption = api.assumption("constantReexports")) != null ? _api$assumption : options.loose;
|
|
var enumerableModuleMeta = (_api$assumption2 = api.assumption("enumerableModuleMeta")) != null ? _api$assumption2 : options.loose;
|
|
return {
|
|
name: "transform-modules-amd",
|
|
pre: function pre() {
|
|
this.file.set("@babel/plugin-transform-modules-*", "amd");
|
|
},
|
|
visitor: {
|
|
CallExpression: function CallExpression(path, state) {
|
|
if (!this.file.has("@babel/plugin-proposal-dynamic-import")) return;
|
|
if (!path.get("callee").isImport()) return;
|
|
var requireId = state.requireId,
|
|
resolveId = state.resolveId,
|
|
rejectId = state.rejectId;
|
|
if (!requireId) {
|
|
requireId = path.scope.generateUidIdentifier("require");
|
|
state.requireId = requireId;
|
|
}
|
|
if (!resolveId || !rejectId) {
|
|
resolveId = path.scope.generateUidIdentifier("resolve");
|
|
rejectId = path.scope.generateUidIdentifier("reject");
|
|
state.resolveId = resolveId;
|
|
state.rejectId = rejectId;
|
|
}
|
|
var result = identifier$i("imported");
|
|
if (!noInterop) result = wrapInterop(path, result, "namespace");
|
|
path.replaceWith(buildDynamicImport(path.node, false, false, function (specifier) {
|
|
return template$2.expression.ast(_templateObject$b || (_templateObject$b = _taggedTemplateLiteralLoose(["\n new Promise((", ", ", ") =>\n ", "(\n [", "],\n imported => ", "(", "),\n ", "\n )\n )\n "])), resolveId, rejectId, requireId, specifier, cloneNode$j(resolveId), result, cloneNode$j(rejectId));
|
|
}));
|
|
},
|
|
Program: {
|
|
exit: function exit(path, _ref) {
|
|
var requireId = _ref.requireId;
|
|
if (!isModule(path)) {
|
|
if (requireId) {
|
|
injectWrapper(path, buildAnonymousWrapper({
|
|
REQUIRE: cloneNode$j(requireId)
|
|
}));
|
|
}
|
|
return;
|
|
}
|
|
var amdArgs = [];
|
|
var importNames = [];
|
|
if (requireId) {
|
|
amdArgs.push(stringLiteral$8("require"));
|
|
importNames.push(cloneNode$j(requireId));
|
|
}
|
|
var moduleName = getModuleName(this.file.opts, options);
|
|
if (moduleName) moduleName = stringLiteral$8(moduleName);
|
|
var _rewriteModuleStateme = rewriteModuleStatementsAndPrepareHeader(path, {
|
|
enumerableModuleMeta: enumerableModuleMeta,
|
|
constantReexports: constantReexports,
|
|
strict: strict,
|
|
strictMode: strictMode,
|
|
allowTopLevelThis: allowTopLevelThis,
|
|
importInterop: importInterop,
|
|
noInterop: noInterop,
|
|
filename: this.file.opts.filename
|
|
}),
|
|
meta = _rewriteModuleStateme.meta,
|
|
headers = _rewriteModuleStateme.headers;
|
|
if (hasExports(meta)) {
|
|
amdArgs.push(stringLiteral$8("exports"));
|
|
importNames.push(identifier$i(meta.exportName));
|
|
}
|
|
for (var _iterator = _createForOfIteratorHelperLoose(meta.source), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
source = _step$value[0],
|
|
metadata = _step$value[1];
|
|
amdArgs.push(stringLiteral$8(source));
|
|
importNames.push(identifier$i(metadata.name));
|
|
if (!isSideEffectImport(metadata)) {
|
|
var interop = wrapInterop(path, identifier$i(metadata.name), metadata.interop);
|
|
if (interop) {
|
|
var header = expressionStatement$a(assignmentExpression$d("=", identifier$i(metadata.name), interop));
|
|
header.loc = metadata.loc;
|
|
headers.push(header);
|
|
}
|
|
}
|
|
headers.push.apply(headers, _toConsumableArray(buildNamespaceInitStatements(meta, metadata, constantReexports)));
|
|
}
|
|
ensureStatementsHoisted(headers);
|
|
path.unshiftContainer("body", headers);
|
|
injectWrapper(path, buildWrapper$1({
|
|
MODULE_NAME: moduleName,
|
|
AMD_ARGUMENTS: arrayExpression$1(amdArgs),
|
|
IMPORT_NAMES: importNames
|
|
}));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _templateObject$a;
|
|
var requireNoInterop = function requireNoInterop(source) {
|
|
return template$2.expression.ast(_templateObject$a || (_templateObject$a = _taggedTemplateLiteralLoose(["require(", ")"])), source);
|
|
};
|
|
var requireInterop = function requireInterop(source, file) {
|
|
return callExpression$e(file.addHelper("interopRequireWildcard"), [requireNoInterop(source)]);
|
|
};
|
|
function transformDynamicImport(path, noInterop, file) {
|
|
var buildRequire = noInterop ? requireNoInterop : requireInterop;
|
|
path.replaceWith(buildDynamicImport(path.node, true, false, function (specifier) {
|
|
return buildRequire(specifier, file);
|
|
}));
|
|
}
|
|
|
|
var _templateObject$9, _templateObject2$4, _templateObject3$3;
|
|
var transformModulesCommonJS = declare(function (api, options) {
|
|
var _api$assumption, _api$assumption2, _api$assumption3;
|
|
api.assertVersion(7);
|
|
var _options$strictNamesp = options.strictNamespace,
|
|
strictNamespace = _options$strictNamesp === void 0 ? false : _options$strictNamesp,
|
|
_options$mjsStrictNam = options.mjsStrictNamespace,
|
|
mjsStrictNamespace = _options$mjsStrictNam === void 0 ? strictNamespace : _options$mjsStrictNam,
|
|
allowTopLevelThis = options.allowTopLevelThis,
|
|
strict = options.strict,
|
|
strictMode = options.strictMode,
|
|
noInterop = options.noInterop,
|
|
importInterop = options.importInterop,
|
|
_options$lazy = options.lazy,
|
|
lazy = _options$lazy === void 0 ? false : _options$lazy,
|
|
_options$allowCommonJ = options.allowCommonJSExports,
|
|
allowCommonJSExports = _options$allowCommonJ === void 0 ? true : _options$allowCommonJ,
|
|
_options$loose = options.loose,
|
|
loose = _options$loose === void 0 ? false : _options$loose;
|
|
var constantReexports = (_api$assumption = api.assumption("constantReexports")) != null ? _api$assumption : loose;
|
|
var enumerableModuleMeta = (_api$assumption2 = api.assumption("enumerableModuleMeta")) != null ? _api$assumption2 : loose;
|
|
var noIncompleteNsImportDetection = (_api$assumption3 = api.assumption("noIncompleteNsImportDetection")) != null ? _api$assumption3 : false;
|
|
if (typeof lazy !== "boolean" && typeof lazy !== "function" && (!Array.isArray(lazy) || !lazy.every(function (item) {
|
|
return typeof item === "string";
|
|
}))) {
|
|
throw new Error(".lazy must be a boolean, array of strings, or a function");
|
|
}
|
|
if (typeof strictNamespace !== "boolean") {
|
|
throw new Error(".strictNamespace must be a boolean, or undefined");
|
|
}
|
|
if (typeof mjsStrictNamespace !== "boolean") {
|
|
throw new Error(".mjsStrictNamespace must be a boolean, or undefined");
|
|
}
|
|
var getAssertion = function getAssertion(localName) {
|
|
return template$2.expression.ast(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteralLoose(["\n (function(){\n throw new Error(\n \"The CommonJS '\" + \"", "\" + \"' variable is not available in ES6 modules.\" +\n \"Consider setting setting sourceType:script or sourceType:unambiguous in your \" +\n \"Babel config for this file.\");\n })()\n "])), localName);
|
|
};
|
|
var moduleExportsVisitor = {
|
|
ReferencedIdentifier: function ReferencedIdentifier(path) {
|
|
var localName = path.node.name;
|
|
if (localName !== "module" && localName !== "exports") return;
|
|
var localBinding = path.scope.getBinding(localName);
|
|
var rootBinding = this.scope.getBinding(localName);
|
|
if (rootBinding !== localBinding || path.parentPath.isObjectProperty({
|
|
value: path.node
|
|
}) && path.parentPath.parentPath.isObjectPattern() || path.parentPath.isAssignmentExpression({
|
|
left: path.node
|
|
}) || path.isAssignmentExpression({
|
|
left: path.node
|
|
})) {
|
|
return;
|
|
}
|
|
path.replaceWith(getAssertion(localName));
|
|
},
|
|
UpdateExpression: function UpdateExpression(path) {
|
|
var arg = path.get("argument");
|
|
if (!arg.isIdentifier()) return;
|
|
var localName = arg.node.name;
|
|
if (localName !== "module" && localName !== "exports") return;
|
|
var localBinding = path.scope.getBinding(localName);
|
|
var rootBinding = this.scope.getBinding(localName);
|
|
if (rootBinding !== localBinding) return;
|
|
path.replaceWith(assignmentExpression$d(path.node.operator[0] + "=", arg.node, getAssertion(localName)));
|
|
},
|
|
AssignmentExpression: function AssignmentExpression(path) {
|
|
var _this = this;
|
|
var left = path.get("left");
|
|
if (left.isIdentifier()) {
|
|
var localName = left.node.name;
|
|
if (localName !== "module" && localName !== "exports") return;
|
|
var localBinding = path.scope.getBinding(localName);
|
|
var rootBinding = this.scope.getBinding(localName);
|
|
if (rootBinding !== localBinding) return;
|
|
var right = path.get("right");
|
|
right.replaceWith(sequenceExpression$7([right.node, getAssertion(localName)]));
|
|
} else if (left.isPattern()) {
|
|
var ids = left.getOuterBindingIdentifiers();
|
|
var _localName = Object.keys(ids).filter(function (localName) {
|
|
if (localName !== "module" && localName !== "exports") return false;
|
|
return _this.scope.getBinding(localName) === path.scope.getBinding(localName);
|
|
})[0];
|
|
if (_localName) {
|
|
var _right = path.get("right");
|
|
_right.replaceWith(sequenceExpression$7([_right.node, getAssertion(_localName)]));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
return {
|
|
name: "transform-modules-commonjs",
|
|
pre: function pre() {
|
|
this.file.set("@babel/plugin-transform-modules-*", "commonjs");
|
|
},
|
|
visitor: {
|
|
CallExpression: function CallExpression(path) {
|
|
if (!this.file.has("@babel/plugin-proposal-dynamic-import")) return;
|
|
if (!isImport(path.node.callee)) return;
|
|
var scope = path.scope;
|
|
do {
|
|
scope.rename("require");
|
|
} while (scope = scope.parent);
|
|
transformDynamicImport(path, noInterop, this.file);
|
|
},
|
|
Program: {
|
|
exit: function exit(path, state) {
|
|
if (!isModule(path)) return;
|
|
path.scope.rename("exports");
|
|
path.scope.rename("module");
|
|
path.scope.rename("require");
|
|
path.scope.rename("__filename");
|
|
path.scope.rename("__dirname");
|
|
if (!allowCommonJSExports) {
|
|
{
|
|
simplifyAccess(path, new Set(["module", "exports"]), false);
|
|
}
|
|
path.traverse(moduleExportsVisitor, {
|
|
scope: path.scope
|
|
});
|
|
}
|
|
var moduleName = getModuleName(this.file.opts, options);
|
|
if (moduleName) moduleName = stringLiteral$8(moduleName);
|
|
var _rewriteModuleStateme = rewriteModuleStatementsAndPrepareHeader(path, {
|
|
exportName: "exports",
|
|
constantReexports: constantReexports,
|
|
enumerableModuleMeta: enumerableModuleMeta,
|
|
strict: strict,
|
|
strictMode: strictMode,
|
|
allowTopLevelThis: allowTopLevelThis,
|
|
noInterop: noInterop,
|
|
importInterop: importInterop,
|
|
lazy: lazy,
|
|
esNamespaceOnly: typeof state.filename === "string" && /\.mjs$/.test(state.filename) ? mjsStrictNamespace : strictNamespace,
|
|
noIncompleteNsImportDetection: noIncompleteNsImportDetection,
|
|
filename: this.file.opts.filename
|
|
}),
|
|
meta = _rewriteModuleStateme.meta,
|
|
headers = _rewriteModuleStateme.headers;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(meta.source), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
source = _step$value[0],
|
|
metadata = _step$value[1];
|
|
var loadExpr = callExpression$e(identifier$i("require"), [stringLiteral$8(source)]);
|
|
var header = void 0;
|
|
if (isSideEffectImport(metadata)) {
|
|
if (metadata.lazy) throw new Error("Assertion failure");
|
|
header = expressionStatement$a(loadExpr);
|
|
} else {
|
|
if (metadata.lazy && !metadata.referenced) {
|
|
continue;
|
|
}
|
|
var init = wrapInterop(path, loadExpr, metadata.interop) || loadExpr;
|
|
if (metadata.lazy) {
|
|
header = template$2.statement.ast(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n function ", "() {\n const data = ", ";\n ", " = function(){ return data; };\n return data;\n }\n "])), metadata.name, init, metadata.name);
|
|
} else {
|
|
header = template$2.statement.ast(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteralLoose(["\n var ", " = ", ";\n "])), metadata.name, init);
|
|
}
|
|
}
|
|
header.loc = metadata.loc;
|
|
headers.push(header);
|
|
headers.push.apply(headers, _toConsumableArray(buildNamespaceInitStatements(meta, metadata, constantReexports)));
|
|
}
|
|
ensureStatementsHoisted(headers);
|
|
path.unshiftContainer("body", headers);
|
|
path.get("body").forEach(function (path) {
|
|
if (headers.indexOf(path.node) === -1) return;
|
|
if (path.isVariableDeclaration()) {
|
|
path.scope.registerDeclaration(path);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var buildTemplate = template$2.statement("\n SYSTEM_REGISTER(MODULE_NAME, SOURCES, function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {\n \"use strict\";\n BEFORE_BODY;\n return {\n setters: SETTERS,\n execute: EXECUTE,\n };\n });\n");
|
|
var buildExportAll = template$2.statement("\n for (var KEY in TARGET) {\n if (KEY !== \"default\" && KEY !== \"__esModule\") EXPORT_OBJ[KEY] = TARGET[KEY];\n }\n");
|
|
var MISSING_PLUGIN_WARNING = "WARNING: Dynamic import() transformation must be enabled using the\n @babel/plugin-proposal-dynamic-import plugin. Babel 8 will\n no longer transform import() without using that plugin.\n";
|
|
function getExportSpecifierName(node, stringSpecifiers) {
|
|
if (node.type === "Identifier") {
|
|
return node.name;
|
|
} else if (node.type === "StringLiteral") {
|
|
var stringValue = node.value;
|
|
if (!isIdentifierName(stringValue)) {
|
|
stringSpecifiers.add(stringValue);
|
|
}
|
|
return stringValue;
|
|
} else {
|
|
throw new Error("Expected export specifier to be either Identifier or StringLiteral, got " + node.type);
|
|
}
|
|
}
|
|
function constructExportCall(path, exportIdent, exportNames, exportValues, exportStarTarget, stringSpecifiers) {
|
|
var statements = [];
|
|
if (!exportStarTarget) {
|
|
if (exportNames.length === 1) {
|
|
statements.push(expressionStatement$a(callExpression$e(exportIdent, [stringLiteral$8(exportNames[0]), exportValues[0]])));
|
|
} else {
|
|
var objectProperties = [];
|
|
for (var i = 0; i < exportNames.length; i++) {
|
|
var exportName = exportNames[i];
|
|
var exportValue = exportValues[i];
|
|
objectProperties.push(objectProperty$1(stringSpecifiers.has(exportName) ? stringLiteral$8(exportName) : identifier$i(exportName), exportValue));
|
|
}
|
|
statements.push(expressionStatement$a(callExpression$e(exportIdent, [objectExpression$3(objectProperties)])));
|
|
}
|
|
} else {
|
|
var exportObj = path.scope.generateUid("exportObj");
|
|
statements.push(variableDeclaration$8("var", [variableDeclarator$8(identifier$i(exportObj), objectExpression$3([]))]));
|
|
statements.push(buildExportAll({
|
|
KEY: path.scope.generateUidIdentifier("key"),
|
|
EXPORT_OBJ: identifier$i(exportObj),
|
|
TARGET: exportStarTarget
|
|
}));
|
|
for (var _i = 0; _i < exportNames.length; _i++) {
|
|
var _exportName = exportNames[_i];
|
|
var _exportValue = exportValues[_i];
|
|
statements.push(expressionStatement$a(assignmentExpression$d("=", memberExpression$c(identifier$i(exportObj), identifier$i(_exportName)), _exportValue)));
|
|
}
|
|
statements.push(expressionStatement$a(callExpression$e(exportIdent, [identifier$i(exportObj)])));
|
|
}
|
|
return statements;
|
|
}
|
|
var _transformModulesSystemjs = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
var _options$systemGlobal = options.systemGlobal,
|
|
systemGlobal = _options$systemGlobal === void 0 ? "System" : _options$systemGlobal,
|
|
_options$allowTopLeve = options.allowTopLevelThis,
|
|
allowTopLevelThis = _options$allowTopLeve === void 0 ? false : _options$allowTopLeve;
|
|
var reassignmentVisited = new WeakSet();
|
|
var reassignmentVisitor = {
|
|
"AssignmentExpression|UpdateExpression": function AssignmentExpressionUpdateExpression(path) {
|
|
if (reassignmentVisited.has(path.node)) return;
|
|
reassignmentVisited.add(path.node);
|
|
var arg = path.isAssignmentExpression() ? path.get("left") : path.get("argument");
|
|
if (arg.isObjectPattern() || arg.isArrayPattern()) {
|
|
var exprs = [path.node];
|
|
for (var _i2 = 0, _Object$keys = Object.keys(arg.getBindingIdentifiers()); _i2 < _Object$keys.length; _i2++) {
|
|
var _name = _Object$keys[_i2];
|
|
if (this.scope.getBinding(_name) !== path.scope.getBinding(_name)) {
|
|
return;
|
|
}
|
|
var _exportedNames = this.exports[_name];
|
|
if (!_exportedNames) continue;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(_exportedNames), _step; !(_step = _iterator()).done;) {
|
|
var exportedName = _step.value;
|
|
exprs.push(this.buildCall(exportedName, identifier$i(_name)).expression);
|
|
}
|
|
}
|
|
path.replaceWith(sequenceExpression$7(exprs));
|
|
return;
|
|
}
|
|
if (!arg.isIdentifier()) return;
|
|
var name = arg.node.name;
|
|
if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return;
|
|
var exportedNames = this.exports[name];
|
|
if (!exportedNames) return;
|
|
var node = path.node;
|
|
var isPostUpdateExpression = isUpdateExpression$2(node, {
|
|
prefix: false
|
|
});
|
|
if (isPostUpdateExpression) {
|
|
node = binaryExpression$5(node.operator[0], unaryExpression$7("+", cloneNode$j(node.argument)), numericLiteral$8(1));
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(exportedNames), _step2; !(_step2 = _iterator2()).done;) {
|
|
var _exportedName = _step2.value;
|
|
node = this.buildCall(_exportedName, node).expression;
|
|
}
|
|
if (isPostUpdateExpression) {
|
|
node = sequenceExpression$7([node, path.node]);
|
|
}
|
|
path.replaceWith(node);
|
|
}
|
|
};
|
|
return {
|
|
name: "transform-modules-systemjs",
|
|
pre: function pre() {
|
|
this.file.set("@babel/plugin-transform-modules-*", "systemjs");
|
|
},
|
|
visitor: {
|
|
CallExpression: function CallExpression(path, state) {
|
|
if (isImport(path.node.callee)) {
|
|
if (!this.file.has("@babel/plugin-proposal-dynamic-import")) {
|
|
{
|
|
console.warn(MISSING_PLUGIN_WARNING);
|
|
}
|
|
}
|
|
path.replaceWith(buildDynamicImport(path.node, false, true, function (specifier) {
|
|
return callExpression$e(memberExpression$c(identifier$i(state.contextIdent), identifier$i("import")), [specifier]);
|
|
}));
|
|
}
|
|
},
|
|
MetaProperty: function MetaProperty(path, state) {
|
|
if (path.node.meta.name === "import" && path.node.property.name === "meta") {
|
|
path.replaceWith(memberExpression$c(identifier$i(state.contextIdent), identifier$i("meta")));
|
|
}
|
|
},
|
|
ReferencedIdentifier: function ReferencedIdentifier(path, state) {
|
|
if (path.node.name === "__moduleName" && !path.scope.hasBinding("__moduleName")) {
|
|
path.replaceWith(memberExpression$c(identifier$i(state.contextIdent), identifier$i("id")));
|
|
}
|
|
},
|
|
Program: {
|
|
enter: function enter(path, state) {
|
|
state.contextIdent = path.scope.generateUid("context");
|
|
state.stringSpecifiers = new Set();
|
|
if (!allowTopLevelThis) {
|
|
rewriteThis(path);
|
|
}
|
|
},
|
|
exit: function exit(path, state) {
|
|
var scope = path.scope;
|
|
var exportIdent = scope.generateUid("export");
|
|
var contextIdent = state.contextIdent,
|
|
stringSpecifiers = state.stringSpecifiers;
|
|
var exportMap = Object.create(null);
|
|
var modules = [];
|
|
var beforeBody = [];
|
|
var setters = [];
|
|
var sources = [];
|
|
var variableIds = [];
|
|
var removedPaths = [];
|
|
function addExportName(key, val) {
|
|
exportMap[key] = exportMap[key] || [];
|
|
exportMap[key].push(val);
|
|
}
|
|
function pushModule(source, key, specifiers) {
|
|
var module;
|
|
modules.forEach(function (m) {
|
|
if (m.key === source) {
|
|
module = m;
|
|
}
|
|
});
|
|
if (!module) {
|
|
modules.push(module = {
|
|
key: source,
|
|
imports: [],
|
|
exports: []
|
|
});
|
|
}
|
|
module[key] = module[key].concat(specifiers);
|
|
}
|
|
function buildExportCall(name, val) {
|
|
return expressionStatement$a(callExpression$e(identifier$i(exportIdent), [stringLiteral$8(name), val]));
|
|
}
|
|
var exportNames = [];
|
|
var exportValues = [];
|
|
var body = path.get("body");
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(body), _step3; !(_step3 = _iterator3()).done;) {
|
|
var _path2 = _step3.value;
|
|
if (_path2.isFunctionDeclaration()) {
|
|
beforeBody.push(_path2.node);
|
|
removedPaths.push(_path2);
|
|
} else if (_path2.isClassDeclaration()) {
|
|
variableIds.push(cloneNode$j(_path2.node.id));
|
|
_path2.replaceWith(expressionStatement$a(assignmentExpression$d("=", cloneNode$j(_path2.node.id), toExpression$1(_path2.node))));
|
|
} else if (_path2.isVariableDeclaration()) {
|
|
_path2.node.kind = "var";
|
|
} else if (_path2.isImportDeclaration()) {
|
|
var source = _path2.node.source.value;
|
|
pushModule(source, "imports", _path2.node.specifiers);
|
|
for (var _i4 = 0, _Object$keys2 = Object.keys(_path2.getBindingIdentifiers()); _i4 < _Object$keys2.length; _i4++) {
|
|
var _name2 = _Object$keys2[_i4];
|
|
scope.removeBinding(_name2);
|
|
variableIds.push(identifier$i(_name2));
|
|
}
|
|
_path2.remove();
|
|
} else if (_path2.isExportAllDeclaration()) {
|
|
pushModule(_path2.node.source.value, "exports", _path2.node);
|
|
_path2.remove();
|
|
} else if (_path2.isExportDefaultDeclaration()) {
|
|
var declar = _path2.node.declaration;
|
|
if (isClassDeclaration$2(declar)) {
|
|
var id = declar.id;
|
|
if (id) {
|
|
exportNames.push("default");
|
|
exportValues.push(scope.buildUndefinedNode());
|
|
variableIds.push(cloneNode$j(id));
|
|
addExportName(id.name, "default");
|
|
_path2.replaceWith(expressionStatement$a(assignmentExpression$d("=", cloneNode$j(id), toExpression$1(declar))));
|
|
} else {
|
|
exportNames.push("default");
|
|
exportValues.push(toExpression$1(declar));
|
|
removedPaths.push(_path2);
|
|
}
|
|
} else if (isFunctionDeclaration$2(declar)) {
|
|
var _id = declar.id;
|
|
if (_id) {
|
|
beforeBody.push(declar);
|
|
exportNames.push("default");
|
|
exportValues.push(cloneNode$j(_id));
|
|
addExportName(_id.name, "default");
|
|
} else {
|
|
exportNames.push("default");
|
|
exportValues.push(toExpression$1(declar));
|
|
}
|
|
removedPaths.push(_path2);
|
|
} else {
|
|
_path2.replaceWith(buildExportCall("default", declar));
|
|
}
|
|
} else if (_path2.isExportNamedDeclaration()) {
|
|
var _declar = _path2.node.declaration;
|
|
if (_declar) {
|
|
_path2.replaceWith(_declar);
|
|
if (isFunction$4(_declar)) {
|
|
var _name3 = _declar.id.name;
|
|
addExportName(_name3, _name3);
|
|
beforeBody.push(_declar);
|
|
exportNames.push(_name3);
|
|
exportValues.push(cloneNode$j(_declar.id));
|
|
removedPaths.push(_path2);
|
|
} else if (isClass$2(_declar)) {
|
|
var _name4 = _declar.id.name;
|
|
exportNames.push(_name4);
|
|
exportValues.push(scope.buildUndefinedNode());
|
|
variableIds.push(cloneNode$j(_declar.id));
|
|
_path2.replaceWith(expressionStatement$a(assignmentExpression$d("=", cloneNode$j(_declar.id), toExpression$1(_declar))));
|
|
addExportName(_name4, _name4);
|
|
} else {
|
|
if (isVariableDeclaration$3(_declar)) {
|
|
_declar.kind = "var";
|
|
}
|
|
for (var _i5 = 0, _Object$keys3 = Object.keys(getBindingIdentifiers$2(_declar)); _i5 < _Object$keys3.length; _i5++) {
|
|
var _name5 = _Object$keys3[_i5];
|
|
addExportName(_name5, _name5);
|
|
}
|
|
}
|
|
} else {
|
|
var specifiers = _path2.node.specifiers;
|
|
if (specifiers != null && specifiers.length) {
|
|
if (_path2.node.source) {
|
|
pushModule(_path2.node.source.value, "exports", specifiers);
|
|
_path2.remove();
|
|
} else {
|
|
var nodes = [];
|
|
for (var _iterator7 = _createForOfIteratorHelperLoose(specifiers), _step7; !(_step7 = _iterator7()).done;) {
|
|
var specifier = _step7.value;
|
|
var local = specifier.local,
|
|
exported = specifier.exported;
|
|
var binding = scope.getBinding(local.name);
|
|
var exportedName = getExportSpecifierName(exported, stringSpecifiers);
|
|
if (binding && isFunctionDeclaration$2(binding.path.node)) {
|
|
exportNames.push(exportedName);
|
|
exportValues.push(cloneNode$j(local));
|
|
} else if (!binding) {
|
|
nodes.push(buildExportCall(exportedName, local));
|
|
}
|
|
addExportName(local.name, exportedName);
|
|
}
|
|
_path2.replaceWithMultiple(nodes);
|
|
}
|
|
} else {
|
|
_path2.remove();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
modules.forEach(function (specifiers) {
|
|
var setterBody = [];
|
|
var target = scope.generateUid(specifiers.key);
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(specifiers.imports), _step4; !(_step4 = _iterator4()).done;) {
|
|
var specifier = _step4.value;
|
|
if (isImportNamespaceSpecifier$1(specifier)) {
|
|
setterBody.push(expressionStatement$a(assignmentExpression$d("=", specifier.local, identifier$i(target))));
|
|
} else if (isImportDefaultSpecifier$1(specifier)) {
|
|
specifier = importSpecifier$1(specifier.local, identifier$i("default"));
|
|
}
|
|
if (isImportSpecifier$1(specifier)) {
|
|
var _specifier = specifier,
|
|
imported = _specifier.imported;
|
|
setterBody.push(expressionStatement$a(assignmentExpression$d("=", specifier.local, memberExpression$c(identifier$i(target), specifier.imported, imported.type === "StringLiteral"))));
|
|
}
|
|
}
|
|
if (specifiers.exports.length) {
|
|
var _exportNames = [];
|
|
var _exportValues = [];
|
|
var hasExportStar = false;
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(specifiers.exports), _step5; !(_step5 = _iterator5()).done;) {
|
|
var node = _step5.value;
|
|
if (isExportAllDeclaration$1(node)) {
|
|
hasExportStar = true;
|
|
} else if (isExportSpecifier(node)) {
|
|
var exportedName = getExportSpecifierName(node.exported, stringSpecifiers);
|
|
_exportNames.push(exportedName);
|
|
_exportValues.push(memberExpression$c(identifier$i(target), node.local, isStringLiteral$6(node.local)));
|
|
} else ;
|
|
}
|
|
setterBody.push.apply(setterBody, _toConsumableArray(constructExportCall(path, identifier$i(exportIdent), _exportNames, _exportValues, hasExportStar ? identifier$i(target) : null, stringSpecifiers)));
|
|
}
|
|
sources.push(stringLiteral$8(specifiers.key));
|
|
setters.push(functionExpression$2(null, [identifier$i(target)], blockStatement$6(setterBody)));
|
|
});
|
|
var moduleName = getModuleName(this.file.opts, options);
|
|
if (moduleName) moduleName = stringLiteral$8(moduleName);
|
|
hoistVariables(path, function (id, name, hasInit) {
|
|
variableIds.push(id);
|
|
if (!hasInit && name in exportMap) {
|
|
for (var _iterator6 = _createForOfIteratorHelperLoose(exportMap[name]), _step6; !(_step6 = _iterator6()).done;) {
|
|
var exported = _step6.value;
|
|
exportNames.push(exported);
|
|
exportValues.push(scope.buildUndefinedNode());
|
|
}
|
|
}
|
|
});
|
|
if (variableIds.length) {
|
|
beforeBody.unshift(variableDeclaration$8("var", variableIds.map(function (id) {
|
|
return variableDeclarator$8(id);
|
|
})));
|
|
}
|
|
if (exportNames.length) {
|
|
beforeBody.push.apply(beforeBody, _toConsumableArray(constructExportCall(path, identifier$i(exportIdent), exportNames, exportValues, null, stringSpecifiers)));
|
|
}
|
|
path.traverse(reassignmentVisitor, {
|
|
exports: exportMap,
|
|
buildCall: buildExportCall,
|
|
scope: scope
|
|
});
|
|
for (var _i3 = 0, _removedPaths = removedPaths; _i3 < _removedPaths.length; _i3++) {
|
|
var _path = _removedPaths[_i3];
|
|
_path.remove();
|
|
}
|
|
var hasTLA = false;
|
|
path.traverse({
|
|
AwaitExpression: function AwaitExpression(path) {
|
|
hasTLA = true;
|
|
path.stop();
|
|
},
|
|
Function: function Function(path) {
|
|
path.skip();
|
|
},
|
|
noScope: true
|
|
});
|
|
path.node.body = [buildTemplate({
|
|
SYSTEM_REGISTER: memberExpression$c(identifier$i(systemGlobal), identifier$i("register")),
|
|
BEFORE_BODY: beforeBody,
|
|
MODULE_NAME: moduleName,
|
|
SETTERS: arrayExpression$1(setters),
|
|
EXECUTE: functionExpression$2(null, [], blockStatement$6(path.node.body), false, hasTLA),
|
|
SOURCES: arrayExpression$1(sources),
|
|
EXPORT_IDENTIFIER: identifier$i(exportIdent),
|
|
CONTEXT_IDENTIFIER: identifier$i(contextIdent)
|
|
})];
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var buildPrerequisiteAssignment = template$2("\n GLOBAL_REFERENCE = GLOBAL_REFERENCE || {}\n");
|
|
var buildWrapper = template$2("\n (function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(MODULE_NAME, AMD_ARGUMENTS, factory);\n } else if (typeof exports !== \"undefined\") {\n factory(COMMONJS_ARGUMENTS);\n } else {\n var mod = { exports: {} };\n factory(BROWSER_ARGUMENTS);\n\n GLOBAL_TO_ASSIGN;\n }\n })(\n typeof globalThis !== \"undefined\" ? globalThis\n : typeof self !== \"undefined\" ? self\n : this,\n function(IMPORT_NAMES) {\n })\n");
|
|
var _transformModulesUmd = declare(function (api, options) {
|
|
var _api$assumption, _api$assumption2;
|
|
api.assertVersion(7);
|
|
var globals = options.globals,
|
|
exactGlobals = options.exactGlobals,
|
|
allowTopLevelThis = options.allowTopLevelThis,
|
|
strict = options.strict,
|
|
strictMode = options.strictMode,
|
|
noInterop = options.noInterop,
|
|
importInterop = options.importInterop;
|
|
var constantReexports = (_api$assumption = api.assumption("constantReexports")) != null ? _api$assumption : options.loose;
|
|
var enumerableModuleMeta = (_api$assumption2 = api.assumption("enumerableModuleMeta")) != null ? _api$assumption2 : options.loose;
|
|
function buildBrowserInit(browserGlobals, exactGlobals, filename, moduleName) {
|
|
var moduleNameOrBasename = moduleName ? moduleName.value : basename(filename, extname(filename));
|
|
var globalToAssign = memberExpression$c(identifier$i("global"), identifier$i(toIdentifier$1(moduleNameOrBasename)));
|
|
var initAssignments = [];
|
|
if (exactGlobals) {
|
|
var globalName = browserGlobals[moduleNameOrBasename];
|
|
if (globalName) {
|
|
initAssignments = [];
|
|
var members = globalName.split(".");
|
|
globalToAssign = members.slice(1).reduce(function (accum, curr) {
|
|
initAssignments.push(buildPrerequisiteAssignment({
|
|
GLOBAL_REFERENCE: cloneNode$j(accum)
|
|
}));
|
|
return memberExpression$c(accum, identifier$i(curr));
|
|
}, memberExpression$c(identifier$i("global"), identifier$i(members[0])));
|
|
}
|
|
}
|
|
initAssignments.push(expressionStatement$a(assignmentExpression$d("=", globalToAssign, memberExpression$c(identifier$i("mod"), identifier$i("exports")))));
|
|
return initAssignments;
|
|
}
|
|
function buildBrowserArg(browserGlobals, exactGlobals, source) {
|
|
var memberExpression;
|
|
if (exactGlobals) {
|
|
var globalRef = browserGlobals[source];
|
|
if (globalRef) {
|
|
memberExpression = globalRef.split(".").reduce(function (accum, curr) {
|
|
return memberExpression$c(accum, identifier$i(curr));
|
|
}, identifier$i("global"));
|
|
} else {
|
|
memberExpression = memberExpression$c(identifier$i("global"), identifier$i(toIdentifier$1(source)));
|
|
}
|
|
} else {
|
|
var requireName = basename(source, extname(source));
|
|
var globalName = browserGlobals[requireName] || requireName;
|
|
memberExpression = memberExpression$c(identifier$i("global"), identifier$i(toIdentifier$1(globalName)));
|
|
}
|
|
return memberExpression;
|
|
}
|
|
return {
|
|
name: "transform-modules-umd",
|
|
visitor: {
|
|
Program: {
|
|
exit: function exit(path) {
|
|
if (!isModule(path)) return;
|
|
var browserGlobals = globals || {};
|
|
var moduleName = getModuleName(this.file.opts, options);
|
|
var moduleNameLiteral;
|
|
if (moduleName) moduleNameLiteral = stringLiteral$8(moduleName);
|
|
var _rewriteModuleStateme = rewriteModuleStatementsAndPrepareHeader(path, {
|
|
constantReexports: constantReexports,
|
|
enumerableModuleMeta: enumerableModuleMeta,
|
|
strict: strict,
|
|
strictMode: strictMode,
|
|
allowTopLevelThis: allowTopLevelThis,
|
|
noInterop: noInterop,
|
|
importInterop: importInterop,
|
|
filename: this.file.opts.filename
|
|
}),
|
|
meta = _rewriteModuleStateme.meta,
|
|
headers = _rewriteModuleStateme.headers;
|
|
var amdArgs = [];
|
|
var commonjsArgs = [];
|
|
var browserArgs = [];
|
|
var importNames = [];
|
|
if (hasExports(meta)) {
|
|
amdArgs.push(stringLiteral$8("exports"));
|
|
commonjsArgs.push(identifier$i("exports"));
|
|
browserArgs.push(memberExpression$c(identifier$i("mod"), identifier$i("exports")));
|
|
importNames.push(identifier$i(meta.exportName));
|
|
}
|
|
for (var _iterator = _createForOfIteratorHelperLoose(meta.source), _step; !(_step = _iterator()).done;) {
|
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
source = _step$value[0],
|
|
metadata = _step$value[1];
|
|
amdArgs.push(stringLiteral$8(source));
|
|
commonjsArgs.push(callExpression$e(identifier$i("require"), [stringLiteral$8(source)]));
|
|
browserArgs.push(buildBrowserArg(browserGlobals, exactGlobals, source));
|
|
importNames.push(identifier$i(metadata.name));
|
|
if (!isSideEffectImport(metadata)) {
|
|
var interop = wrapInterop(path, identifier$i(metadata.name), metadata.interop);
|
|
if (interop) {
|
|
var header = expressionStatement$a(assignmentExpression$d("=", identifier$i(metadata.name), interop));
|
|
header.loc = meta.loc;
|
|
headers.push(header);
|
|
}
|
|
}
|
|
headers.push.apply(headers, _toConsumableArray(buildNamespaceInitStatements(meta, metadata, constantReexports)));
|
|
}
|
|
ensureStatementsHoisted(headers);
|
|
path.unshiftContainer("body", headers);
|
|
var _path$node = path.node,
|
|
body = _path$node.body,
|
|
directives = _path$node.directives;
|
|
path.node.directives = [];
|
|
path.node.body = [];
|
|
var umdWrapper = path.pushContainer("body", [buildWrapper({
|
|
MODULE_NAME: moduleNameLiteral,
|
|
AMD_ARGUMENTS: arrayExpression$1(amdArgs),
|
|
COMMONJS_ARGUMENTS: commonjsArgs,
|
|
BROWSER_ARGUMENTS: browserArgs,
|
|
IMPORT_NAMES: importNames,
|
|
GLOBAL_TO_ASSIGN: buildBrowserInit(browserGlobals, exactGlobals, this.filename || "unknown", moduleNameLiteral)
|
|
})])[0];
|
|
var umdFactory = umdWrapper.get("expression.arguments")[1].get("body");
|
|
umdFactory.pushContainer("directives", directives);
|
|
umdFactory.pushContainer("body", body);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformNamedCapturingGroupsRegex = declare(function (api, options) {
|
|
var runtime = options.runtime;
|
|
if (runtime !== undefined && typeof runtime !== "boolean") {
|
|
throw new Error("The 'runtime' option must be boolean");
|
|
}
|
|
return createRegExpFeaturePlugin({
|
|
name: "transform-named-capturing-groups-regex",
|
|
feature: "namedCaptureGroups",
|
|
options: {
|
|
runtime: runtime
|
|
}
|
|
});
|
|
});
|
|
|
|
var _transformNewTarget = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-new-target",
|
|
visitor: {
|
|
MetaProperty: function MetaProperty(path) {
|
|
var meta = path.get("meta");
|
|
var property = path.get("property");
|
|
var scope = path.scope;
|
|
if (meta.isIdentifier({
|
|
name: "new"
|
|
}) && property.isIdentifier({
|
|
name: "target"
|
|
})) {
|
|
var func = path.findParent(function (path) {
|
|
if (path.isClass()) return true;
|
|
if (path.isFunction() && !path.isArrowFunctionExpression()) {
|
|
if (path.isClassMethod({
|
|
kind: "constructor"
|
|
})) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
});
|
|
if (!func) {
|
|
throw path.buildCodeFrameError("new.target must be under a (non-arrow) function or a class.");
|
|
}
|
|
var node = func.node;
|
|
if (isMethod$1(node)) {
|
|
path.replaceWith(scope.buildUndefinedNode());
|
|
return;
|
|
}
|
|
var _constructor = memberExpression$c(thisExpression$4(), identifier$i("constructor"));
|
|
if (func.isClass()) {
|
|
path.replaceWith(_constructor);
|
|
return;
|
|
}
|
|
if (!node.id) {
|
|
node.id = scope.generateUidIdentifier("target");
|
|
} else {
|
|
var _scope = path.scope;
|
|
var name = node.id.name;
|
|
while (_scope !== func.parentPath.scope) {
|
|
if (_scope.hasOwnBinding(name) && !_scope.bindingIdentifierEquals(name, node.id)) {
|
|
_scope.rename(name);
|
|
}
|
|
_scope = _scope.parent;
|
|
}
|
|
}
|
|
path.replaceWith(conditionalExpression$4(binaryExpression$5("instanceof", thisExpression$4(), cloneNode$j(node.id)), _constructor, scope.buildUndefinedNode()));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var transformObjectAssign = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-object-assign",
|
|
visitor: {
|
|
CallExpression: function CallExpression(path, file) {
|
|
if (path.get("callee").matchesPattern("Object.assign")) {
|
|
path.node.callee = file.addHelper("extends");
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
function replacePropertySuper(path, getObjectRef, file) {
|
|
var replaceSupers = new ReplaceSupers({
|
|
getObjectRef: getObjectRef,
|
|
methodPath: path,
|
|
file: file
|
|
});
|
|
replaceSupers.replace();
|
|
}
|
|
var _transformObjectSuper = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-object-super",
|
|
visitor: {
|
|
ObjectExpression: function ObjectExpression(path, state) {
|
|
var objectRef;
|
|
var getObjectRef = function getObjectRef() {
|
|
return objectRef = objectRef || path.scope.generateUidIdentifier("obj");
|
|
};
|
|
path.get("properties").forEach(function (propPath) {
|
|
if (!propPath.isMethod()) return;
|
|
replacePropertySuper(propPath, getObjectRef, state.file);
|
|
});
|
|
if (objectRef) {
|
|
path.scope.push({
|
|
id: cloneNode$j(objectRef)
|
|
});
|
|
path.replaceWith(assignmentExpression$d("=", cloneNode$j(objectRef), path.node));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var transformObjectSetPrototypeOfToAssign = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-object-set-prototype-of-to-assign",
|
|
visitor: {
|
|
CallExpression: function CallExpression(path, file) {
|
|
if (path.get("callee").matchesPattern("Object.setPrototypeOf")) {
|
|
path.node.callee = file.addHelper("defaults");
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformPropertyLiterals = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-property-literals",
|
|
visitor: {
|
|
ObjectProperty: {
|
|
exit: function exit(_ref) {
|
|
var node = _ref.node;
|
|
var key = node.key;
|
|
if (!node.computed && isIdentifier$j(key) && !isValidES3Identifier(key.name)) {
|
|
node.key = stringLiteral$8(key.name);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
function pushAccessor(mutatorMap, node) {
|
|
var _mutatorMap$alias;
|
|
var alias = toKeyAlias(node);
|
|
var map = (_mutatorMap$alias = mutatorMap[alias]) != null ? _mutatorMap$alias : mutatorMap[alias] = {
|
|
_inherits: [],
|
|
_key: node.key
|
|
};
|
|
map._inherits.push(node);
|
|
var value = functionExpression$2(null, node.params, node.body, node.generator, node.async);
|
|
value.returnType = node.returnType;
|
|
inheritsComments$1(value, node);
|
|
map[node.kind] = value;
|
|
return map;
|
|
}
|
|
function toDefineObject(mutatorMap) {
|
|
var objExpr = objectExpression$3([]);
|
|
Object.keys(mutatorMap).forEach(function (mutatorMapKey) {
|
|
var map = mutatorMap[mutatorMapKey];
|
|
map.configurable = booleanLiteral$4(true);
|
|
map.enumerable = booleanLiteral$4(true);
|
|
var mapNode = objectExpression$3([]);
|
|
var propNode = objectProperty$1(map._key, mapNode, map._computed);
|
|
Object.keys(map).forEach(function (key) {
|
|
var node = map[key];
|
|
if (key[0] === "_") return;
|
|
var prop = objectProperty$1(identifier$i(key), node);
|
|
inheritsComments$1(prop, node);
|
|
removeComments$1(node);
|
|
mapNode.properties.push(prop);
|
|
});
|
|
objExpr.properties.push(propNode);
|
|
});
|
|
return objExpr;
|
|
}
|
|
|
|
var transformPropertyMutators = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-property-mutators",
|
|
visitor: {
|
|
ObjectExpression: function ObjectExpression(path) {
|
|
var node = path.node;
|
|
var mutatorMap;
|
|
var newProperties = node.properties.filter(function (prop) {
|
|
if (isObjectMethod$1(prop) && !prop.computed && (prop.kind === "get" || prop.kind === "set")) {
|
|
var _mutatorMap;
|
|
pushAccessor((_mutatorMap = mutatorMap) != null ? _mutatorMap : mutatorMap = {}, prop);
|
|
return false;
|
|
}
|
|
return true;
|
|
});
|
|
if (mutatorMap === undefined) {
|
|
return;
|
|
}
|
|
node.properties = newProperties;
|
|
path.replaceWith(callExpression$e(memberExpression$c(identifier$i("Object"), identifier$i("defineProperties")), [node, toDefineObject(mutatorMap)]));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var transformProtoToAssign = declare(function (api) {
|
|
api.assertVersion(7);
|
|
function isProtoKey(node) {
|
|
return !isSpreadElement$1(node) && isStringLiteral$6(toComputedKey$2(node, node.key), {
|
|
value: "__proto__"
|
|
});
|
|
}
|
|
function isProtoAssignmentExpression(node) {
|
|
var left = node;
|
|
return isMemberExpression$8(left) && isStringLiteral$6(toComputedKey$2(left, left.property), {
|
|
value: "__proto__"
|
|
});
|
|
}
|
|
function buildDefaultsCallExpression(expr, ref, file) {
|
|
return expressionStatement$a(callExpression$e(file.addHelper("defaults"), [ref, expr.right]));
|
|
}
|
|
return {
|
|
name: "transform-proto-to-assign",
|
|
visitor: {
|
|
AssignmentExpression: function AssignmentExpression(path, _ref) {
|
|
var file = _ref.file;
|
|
if (!isProtoAssignmentExpression(path.node.left)) return;
|
|
var nodes = [];
|
|
var left = path.node.left.object;
|
|
var temp = path.scope.maybeGenerateMemoised(left);
|
|
if (temp) {
|
|
nodes.push(expressionStatement$a(assignmentExpression$d("=", temp, left)));
|
|
}
|
|
nodes.push(buildDefaultsCallExpression(path.node, cloneNode$j(temp || left), file));
|
|
if (temp) nodes.push(cloneNode$j(temp));
|
|
path.replaceWithMultiple(nodes);
|
|
},
|
|
ExpressionStatement: function ExpressionStatement(path, _ref2) {
|
|
var file = _ref2.file;
|
|
var expr = path.node.expression;
|
|
if (!isAssignmentExpression$4(expr, {
|
|
operator: "="
|
|
})) return;
|
|
if (isProtoAssignmentExpression(expr.left)) {
|
|
path.replaceWith(buildDefaultsCallExpression(expr, expr.left.object, file));
|
|
}
|
|
},
|
|
ObjectExpression: function ObjectExpression(path, _ref3) {
|
|
var file = _ref3.file;
|
|
var proto;
|
|
var node = path.node;
|
|
var properties = node.properties;
|
|
for (var i = 0; i < properties.length; i++) {
|
|
var prop = properties[i];
|
|
if (isProtoKey(prop)) {
|
|
proto = prop.value;
|
|
properties.splice(i, 1);
|
|
break;
|
|
}
|
|
}
|
|
if (proto) {
|
|
var args = [objectExpression$3([]), proto];
|
|
if (node.properties.length) args.push(node);
|
|
path.replaceWith(callExpression$e(file.addHelper("extends"), args));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _templateObject$8;
|
|
var transformReactConstantElements = declare(function (api, options) {
|
|
api.assertVersion(7);
|
|
var allowMutablePropsOnTags = options.allowMutablePropsOnTags;
|
|
if (allowMutablePropsOnTags != null && !Array.isArray(allowMutablePropsOnTags)) {
|
|
throw new Error(".allowMutablePropsOnTags must be an array, null, or undefined.");
|
|
}
|
|
var HOISTED = new WeakMap();
|
|
function declares(node, scope) {
|
|
if (isJSXIdentifier$3(node, {
|
|
name: "this"
|
|
}) || isJSXIdentifier$3(node, {
|
|
name: "arguments"
|
|
}) || isJSXIdentifier$3(node, {
|
|
name: "super"
|
|
}) || isJSXIdentifier$3(node, {
|
|
name: "new"
|
|
})) {
|
|
var path = scope.path;
|
|
return path.isFunctionParent() && !path.isArrowFunctionExpression();
|
|
}
|
|
return scope.hasOwnBinding(node.name);
|
|
}
|
|
function isHoistingScope(_ref) {
|
|
var path = _ref.path;
|
|
return path.isFunctionParent() || path.isLoop() || path.isProgram();
|
|
}
|
|
function getHoistingScope(scope) {
|
|
while (!isHoistingScope(scope)) scope = scope.parent;
|
|
return scope;
|
|
}
|
|
var targetScopeVisitor = {
|
|
ReferencedIdentifier: function ReferencedIdentifier(path, state) {
|
|
var node = path.node;
|
|
var scope = path.scope;
|
|
while (scope !== state.jsxScope) {
|
|
if (declares(node, scope)) return;
|
|
scope = scope.parent;
|
|
}
|
|
while (scope) {
|
|
if (scope === state.targetScope) return;
|
|
if (declares(node, scope)) break;
|
|
scope = scope.parent;
|
|
}
|
|
state.targetScope = getHoistingScope(scope);
|
|
}
|
|
};
|
|
var immutabilityVisitor = {
|
|
enter: function enter(path, state) {
|
|
var stop = function stop() {
|
|
state.isImmutable = false;
|
|
path.stop();
|
|
};
|
|
var skip = function skip() {
|
|
path.skip();
|
|
};
|
|
if (path.isJSXClosingElement()) {
|
|
skip();
|
|
return;
|
|
}
|
|
if (path.isJSXIdentifier({
|
|
name: "ref"
|
|
}) && path.parentPath.isJSXAttribute({
|
|
name: path.node
|
|
})) {
|
|
stop();
|
|
return;
|
|
}
|
|
if (path.isJSXIdentifier() || path.isJSXMemberExpression() || path.isJSXNamespacedName() || path.isImmutable()) {
|
|
return;
|
|
}
|
|
if (path.isIdentifier()) {
|
|
var binding = path.scope.getBinding(path.node.name);
|
|
if (binding && binding.constant) return;
|
|
}
|
|
var mutablePropsAllowed = state.mutablePropsAllowed;
|
|
if (mutablePropsAllowed && path.isFunction()) {
|
|
path.traverse(targetScopeVisitor, state);
|
|
skip();
|
|
return;
|
|
}
|
|
if (!path.isPure()) {
|
|
stop();
|
|
return;
|
|
}
|
|
var expressionResult = path.evaluate();
|
|
if (expressionResult.confident) {
|
|
var value = expressionResult.value;
|
|
if (mutablePropsAllowed || value === null || typeof value !== "object" && typeof value !== "function") {
|
|
skip();
|
|
return;
|
|
}
|
|
} else if (isIdentifier$j(expressionResult.deopt)) {
|
|
return;
|
|
}
|
|
stop();
|
|
}
|
|
};
|
|
var hoistingVisitor = Object.assign({}, immutabilityVisitor, targetScopeVisitor);
|
|
return {
|
|
name: "transform-react-constant-elements",
|
|
visitor: {
|
|
JSXElement: function JSXElement(path) {
|
|
var _jsxScope;
|
|
if (HOISTED.has(path.node)) return;
|
|
var name = path.node.openingElement.name;
|
|
var mutablePropsAllowed = false;
|
|
if (allowMutablePropsOnTags != null) {
|
|
var lastSegment = name;
|
|
while (isJSXMemberExpression$2(lastSegment)) {
|
|
lastSegment = lastSegment.property;
|
|
}
|
|
var elementName = lastSegment.name;
|
|
mutablePropsAllowed = allowMutablePropsOnTags.includes(elementName);
|
|
}
|
|
var jsxScope;
|
|
var current = path;
|
|
while (!jsxScope && current.parentPath.isJSX()) {
|
|
current = current.parentPath;
|
|
jsxScope = HOISTED.get(current.node);
|
|
}
|
|
(_jsxScope = jsxScope) != null ? _jsxScope : jsxScope = path.scope;
|
|
HOISTED.set(path.node, jsxScope);
|
|
var visitorState = {
|
|
isImmutable: true,
|
|
mutablePropsAllowed: mutablePropsAllowed,
|
|
jsxScope: jsxScope,
|
|
targetScope: path.scope.getProgramParent()
|
|
};
|
|
path.traverse(hoistingVisitor, visitorState);
|
|
if (!visitorState.isImmutable) return;
|
|
var targetScope = visitorState.targetScope;
|
|
for (var currentScope = jsxScope;;) {
|
|
if (targetScope === currentScope) return;
|
|
if (isHoistingScope(currentScope)) break;
|
|
currentScope = currentScope.parent;
|
|
if (!currentScope) {
|
|
throw new Error("Internal @babel/plugin-transform-react-constant-elements error: " + "targetScope must be an ancestor of jsxScope. " + "This is a Babel bug, please report it.");
|
|
}
|
|
}
|
|
var id = path.scope.generateUidBasedOnNode(name);
|
|
targetScope.push({
|
|
id: identifier$i(id)
|
|
});
|
|
HOISTED.set(path.node, targetScope);
|
|
var replacement = template$2.expression.ast(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteralLoose(["\n ", " || (", " = ", ")\n "])), identifier$i(id), identifier$i(id), path.node);
|
|
if (path.parentPath.isJSXElement() || path.parentPath.isJSXAttribute()) {
|
|
replacement = jsxExpressionContainer$1(replacement);
|
|
}
|
|
path.replaceWith(replacement);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var transformReactDisplayName = declare(function (api) {
|
|
api.assertVersion(7);
|
|
function addDisplayName(id, call) {
|
|
var props = call.arguments[0].properties;
|
|
var safe = true;
|
|
for (var i = 0; i < props.length; i++) {
|
|
var prop = props[i];
|
|
if (isSpreadElement$1(prop)) {
|
|
continue;
|
|
}
|
|
var key = toComputedKey$2(prop);
|
|
if (isStringLiteral$6(key, {
|
|
value: "displayName"
|
|
})) {
|
|
safe = false;
|
|
break;
|
|
}
|
|
}
|
|
if (safe) {
|
|
props.unshift(objectProperty$1(identifier$i("displayName"), stringLiteral$8(id)));
|
|
}
|
|
}
|
|
var isCreateClassCallExpression = buildMatchMemberExpression$1("React.createClass");
|
|
var isCreateClassAddon = function isCreateClassAddon(callee) {
|
|
return isIdentifier$j(callee, {
|
|
name: "createReactClass"
|
|
});
|
|
};
|
|
function isCreateClass(node) {
|
|
if (!node || !isCallExpression$8(node)) return false;
|
|
if (!isCreateClassCallExpression(node.callee) && !isCreateClassAddon(node.callee)) {
|
|
return false;
|
|
}
|
|
var args = node.arguments;
|
|
if (args.length !== 1) return false;
|
|
var first = args[0];
|
|
if (!isObjectExpression$3(first)) return false;
|
|
return true;
|
|
}
|
|
return {
|
|
name: "transform-react-display-name",
|
|
visitor: {
|
|
ExportDefaultDeclaration: function ExportDefaultDeclaration(_ref, state) {
|
|
var node = _ref.node;
|
|
if (isCreateClass(node.declaration)) {
|
|
var filename = state.filename || "unknown";
|
|
var displayName = path$1.basename(filename, path$1.extname(filename));
|
|
if (displayName === "index") {
|
|
displayName = path$1.basename(path$1.dirname(filename));
|
|
}
|
|
addDisplayName(displayName, node.declaration);
|
|
}
|
|
},
|
|
CallExpression: function CallExpression(path) {
|
|
var node = path.node;
|
|
if (!isCreateClass(node)) return;
|
|
var id;
|
|
path.find(function (path) {
|
|
if (path.isAssignmentExpression()) {
|
|
id = path.node.left;
|
|
} else if (path.isObjectProperty()) {
|
|
id = path.node.key;
|
|
} else if (path.isVariableDeclarator()) {
|
|
id = path.node.id;
|
|
} else if (path.isStatement()) {
|
|
return true;
|
|
}
|
|
if (id) return true;
|
|
});
|
|
if (!id) return;
|
|
if (isMemberExpression$8(id)) {
|
|
id = id.property;
|
|
}
|
|
if (isIdentifier$j(id)) {
|
|
addDisplayName(id.name, node);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var booleanLiteral = booleanLiteral$4,
|
|
callExpression = callExpression$e,
|
|
identifier = identifier$i,
|
|
inherits = inherits$1,
|
|
isIdentifier$1 = isIdentifier$j,
|
|
isJSXExpressionContainer = isJSXExpressionContainer$1,
|
|
isJSXIdentifier = isJSXIdentifier$3,
|
|
isJSXMemberExpression = isJSXMemberExpression$2,
|
|
isJSXNamespacedName = isJSXNamespacedName$1,
|
|
isJSXSpreadAttribute = isJSXSpreadAttribute$1,
|
|
isObjectExpression = isObjectExpression$3,
|
|
isReferenced = isReferenced$2,
|
|
isStringLiteral$1 = isStringLiteral$6,
|
|
isValidIdentifier = isValidIdentifier$1,
|
|
memberExpression = memberExpression$c,
|
|
nullLiteral = nullLiteral$2,
|
|
objectExpression = objectExpression$3,
|
|
objectProperty = objectProperty$1,
|
|
react = react$3,
|
|
spreadElement = spreadElement$2,
|
|
stringLiteral = stringLiteral$8,
|
|
thisExpression = thisExpression$4;
|
|
function helper (opts) {
|
|
var visitor = {};
|
|
visitor.JSXNamespacedName = function (path) {
|
|
if (opts.throwIfNamespace) {
|
|
throw path.buildCodeFrameError("Namespace tags are not supported by default. React's JSX doesn't support namespace tags. You can set `throwIfNamespace: false` to bypass this warning.");
|
|
}
|
|
};
|
|
visitor.JSXSpreadChild = function (path) {
|
|
throw path.buildCodeFrameError("Spread children are not supported in React.");
|
|
};
|
|
visitor.JSXElement = {
|
|
exit: function exit(path, state) {
|
|
var callExpr = buildElementCall(path, state);
|
|
if (callExpr) {
|
|
path.replaceWith(inherits(callExpr, path.node));
|
|
}
|
|
}
|
|
};
|
|
visitor.JSXFragment = {
|
|
exit: function exit(path, state) {
|
|
if (opts.compat) {
|
|
throw path.buildCodeFrameError("Fragment tags are only supported in React 16 and up.");
|
|
}
|
|
var callExpr = buildFragmentCall(path, state);
|
|
if (callExpr) {
|
|
path.replaceWith(inherits(callExpr, path.node));
|
|
}
|
|
}
|
|
};
|
|
return visitor;
|
|
function convertJSXIdentifier(node, parent) {
|
|
if (isJSXIdentifier(node)) {
|
|
if (node.name === "this" && isReferenced(node, parent)) {
|
|
return thisExpression();
|
|
} else if (isValidIdentifier(node.name, false)) {
|
|
node.type = "Identifier";
|
|
return node;
|
|
} else {
|
|
return stringLiteral(node.name);
|
|
}
|
|
} else if (isJSXMemberExpression(node)) {
|
|
return memberExpression(convertJSXIdentifier(node.object, node), convertJSXIdentifier(node.property, node));
|
|
} else if (isJSXNamespacedName(node)) {
|
|
return stringLiteral(node.namespace.name + ":" + node.name.name);
|
|
}
|
|
return node;
|
|
}
|
|
function convertAttributeValue(node) {
|
|
if (isJSXExpressionContainer(node)) {
|
|
return node.expression;
|
|
} else {
|
|
return node;
|
|
}
|
|
}
|
|
function convertAttribute(node) {
|
|
if (isJSXSpreadAttribute(node)) {
|
|
return spreadElement(node.argument);
|
|
}
|
|
var value = convertAttributeValue(node.value || booleanLiteral(true));
|
|
if (isStringLiteral$1(value) && !isJSXExpressionContainer(node.value)) {
|
|
var _value$extra;
|
|
value.value = value.value.replace(/\n\s+/g, " ");
|
|
(_value$extra = value.extra) == null ? true : delete _value$extra.raw;
|
|
}
|
|
if (isJSXNamespacedName(node.name)) {
|
|
node.name = stringLiteral(node.name.namespace.name + ":" + node.name.name.name);
|
|
} else if (isValidIdentifier(node.name.name, false)) {
|
|
node.name.type = "Identifier";
|
|
} else {
|
|
node.name = stringLiteral(node.name.name);
|
|
}
|
|
return inherits(objectProperty(node.name, value), node);
|
|
}
|
|
function buildElementCall(path, pass) {
|
|
if (opts.filter && !opts.filter(path.node, pass)) return;
|
|
var openingPath = path.get("openingElement");
|
|
path.node.children = react.buildChildren(path.node);
|
|
var tagExpr = convertJSXIdentifier(openingPath.node.name, openingPath.node);
|
|
var args = [];
|
|
var tagName;
|
|
if (isIdentifier$1(tagExpr)) {
|
|
tagName = tagExpr.name;
|
|
} else if (isStringLiteral$1(tagExpr)) {
|
|
tagName = tagExpr.value;
|
|
}
|
|
var state = {
|
|
tagExpr: tagExpr,
|
|
tagName: tagName,
|
|
args: args,
|
|
pure: false
|
|
};
|
|
if (opts.pre) {
|
|
opts.pre(state, pass);
|
|
}
|
|
var attribs = openingPath.node.attributes;
|
|
var convertedAttributes;
|
|
if (attribs.length) {
|
|
{
|
|
convertedAttributes = buildOpeningElementAttributes(attribs, pass);
|
|
}
|
|
} else {
|
|
convertedAttributes = nullLiteral();
|
|
}
|
|
args.push.apply(args, [convertedAttributes].concat(_toConsumableArray(path.node.children)));
|
|
if (opts.post) {
|
|
opts.post(state, pass);
|
|
}
|
|
var call = state.call || callExpression(state.callee, args);
|
|
if (state.pure) annotateAsPure(call);
|
|
return call;
|
|
}
|
|
function pushProps(_props, objs) {
|
|
if (!_props.length) return _props;
|
|
objs.push(objectExpression(_props));
|
|
return [];
|
|
}
|
|
function buildOpeningElementAttributes(attribs, pass) {
|
|
var _props = [];
|
|
var objs = [];
|
|
var _pass$opts$useSpread = pass.opts.useSpread,
|
|
useSpread = _pass$opts$useSpread === void 0 ? false : _pass$opts$useSpread;
|
|
if (typeof useSpread !== "boolean") {
|
|
throw new Error("transform-react-jsx currently only accepts a boolean option for " + "useSpread (defaults to false)");
|
|
}
|
|
var useBuiltIns = pass.opts.useBuiltIns || false;
|
|
if (typeof useBuiltIns !== "boolean") {
|
|
throw new Error("transform-react-jsx currently only accepts a boolean option for " + "useBuiltIns (defaults to false)");
|
|
}
|
|
if (useSpread && useBuiltIns) {
|
|
throw new Error("transform-react-jsx currently only accepts useBuiltIns or useSpread " + "but not both");
|
|
}
|
|
if (useSpread) {
|
|
var props = attribs.map(convertAttribute);
|
|
return objectExpression(props);
|
|
}
|
|
while (attribs.length) {
|
|
var prop = attribs.shift();
|
|
if (isJSXSpreadAttribute(prop)) {
|
|
_props = pushProps(_props, objs);
|
|
objs.push(prop.argument);
|
|
} else {
|
|
_props.push(convertAttribute(prop));
|
|
}
|
|
}
|
|
pushProps(_props, objs);
|
|
var convertedAttribs;
|
|
if (objs.length === 1) {
|
|
convertedAttribs = objs[0];
|
|
} else {
|
|
if (!isObjectExpression(objs[0])) {
|
|
objs.unshift(objectExpression([]));
|
|
}
|
|
var helper = useBuiltIns ? memberExpression(identifier("Object"), identifier("assign")) : pass.addHelper("extends");
|
|
convertedAttribs = callExpression(helper, objs);
|
|
}
|
|
return convertedAttribs;
|
|
}
|
|
function buildFragmentCall(path, pass) {
|
|
if (opts.filter && !opts.filter(path.node, pass)) return;
|
|
path.node.children = react.buildChildren(path.node);
|
|
var args = [];
|
|
var tagName = null;
|
|
var tagExpr = pass.get("jsxFragIdentifier")();
|
|
var state = {
|
|
tagExpr: tagExpr,
|
|
tagName: tagName,
|
|
args: args,
|
|
pure: false
|
|
};
|
|
if (opts.pre) {
|
|
opts.pre(state, pass);
|
|
}
|
|
args.push.apply(args, [nullLiteral()].concat(_toConsumableArray(path.node.children)));
|
|
if (opts.post) {
|
|
opts.post(state, pass);
|
|
}
|
|
pass.set("usedFragment", true);
|
|
var call = state.call || callExpression(state.callee, args);
|
|
if (state.pure) annotateAsPure(call);
|
|
return call;
|
|
}
|
|
}
|
|
|
|
var transformReactInlineElements = declare(function (api) {
|
|
api.assertVersion(7);
|
|
function hasRefOrSpread(attrs) {
|
|
for (var i = 0; i < attrs.length; i++) {
|
|
var attr = attrs[i];
|
|
if (isJSXSpreadAttribute$1(attr)) return true;
|
|
if (isJSXAttributeOfName(attr, "ref")) return true;
|
|
}
|
|
return false;
|
|
}
|
|
function isJSXAttributeOfName(attr, name) {
|
|
return isJSXAttribute(attr) && isJSXIdentifier$3(attr.name, {
|
|
name: name
|
|
});
|
|
}
|
|
var visitor = helper({
|
|
filter: function filter(node) {
|
|
return node.type === "JSXElement" && !hasRefOrSpread(node.openingElement.attributes);
|
|
},
|
|
pre: function pre(state) {
|
|
var tagName = state.tagName;
|
|
var args = state.args;
|
|
if (react$3.isCompatTag(tagName)) {
|
|
args.push(stringLiteral$8(tagName));
|
|
} else {
|
|
args.push(state.tagExpr);
|
|
}
|
|
},
|
|
post: function post(state, pass) {
|
|
state.callee = pass.addHelper("jsx");
|
|
var props = state.args[1];
|
|
var hasKey = false;
|
|
if (isObjectExpression$3(props)) {
|
|
var keyIndex = props.properties.findIndex(function (prop) {
|
|
return isIdentifier$j(prop.key, {
|
|
name: "key"
|
|
});
|
|
});
|
|
if (keyIndex > -1) {
|
|
state.args.splice(2, 0, props.properties[keyIndex].value);
|
|
props.properties.splice(keyIndex, 1);
|
|
hasKey = true;
|
|
}
|
|
} else if (isNullLiteral$2(props)) {
|
|
state.args.splice(1, 1, objectExpression$3([]));
|
|
}
|
|
if (!hasKey && state.args.length > 2) {
|
|
state.args.splice(2, 0, unaryExpression$7("void", numericLiteral$8(0)));
|
|
}
|
|
state.pure = true;
|
|
}
|
|
});
|
|
return {
|
|
name: "transform-react-inline-elements",
|
|
visitor: visitor
|
|
};
|
|
});
|
|
|
|
var _templateObject$7;
|
|
var DEFAULT = {
|
|
importSource: "react",
|
|
runtime: "automatic",
|
|
pragma: "React.createElement",
|
|
pragmaFrag: "React.Fragment"
|
|
};
|
|
var JSX_SOURCE_ANNOTATION_REGEX = /^\s*\*?\s*@jsxImportSource\s+([^\s]+)\s*$/m;
|
|
var JSX_RUNTIME_ANNOTATION_REGEX = /^\s*\*?\s*@jsxRuntime\s+([^\s]+)\s*$/m;
|
|
var JSX_ANNOTATION_REGEX = /^\s*\*?\s*@jsx\s+([^\s]+)\s*$/m;
|
|
var JSX_FRAG_ANNOTATION_REGEX = /^\s*\*?\s*@jsxFrag\s+([^\s]+)\s*$/m;
|
|
var get = function get(pass, name) {
|
|
return pass.get("@babel/plugin-react-jsx/" + name);
|
|
};
|
|
var set = function set(pass, name, v) {
|
|
return pass.set("@babel/plugin-react-jsx/" + name, v);
|
|
};
|
|
function hasProto(node) {
|
|
return node.properties.some(function (value) {
|
|
return isObjectProperty$5(value, {
|
|
computed: false,
|
|
shorthand: false
|
|
}) && (isIdentifier$j(value.key, {
|
|
name: "__proto__"
|
|
}) || isStringLiteral$6(value.key, {
|
|
value: "__proto__"
|
|
}));
|
|
});
|
|
}
|
|
function createPlugin(_ref) {
|
|
var name = _ref.name,
|
|
development = _ref.development;
|
|
return declare(function (_, options) {
|
|
var PURE_ANNOTATION = options.pure,
|
|
_options$throwIfNames = options.throwIfNamespace,
|
|
throwIfNamespace = _options$throwIfNames === void 0 ? true : _options$throwIfNames,
|
|
filter = options.filter,
|
|
_options$runtime = options.runtime,
|
|
RUNTIME_DEFAULT = _options$runtime === void 0 ? development ? "automatic" : "classic" : _options$runtime,
|
|
_options$importSource = options.importSource,
|
|
IMPORT_SOURCE_DEFAULT = _options$importSource === void 0 ? DEFAULT.importSource : _options$importSource,
|
|
_options$pragma = options.pragma,
|
|
PRAGMA_DEFAULT = _options$pragma === void 0 ? DEFAULT.pragma : _options$pragma,
|
|
_options$pragmaFrag = options.pragmaFrag,
|
|
PRAGMA_FRAG_DEFAULT = _options$pragmaFrag === void 0 ? DEFAULT.pragmaFrag : _options$pragmaFrag;
|
|
{
|
|
var _options$useSpread = options.useSpread,
|
|
useSpread = _options$useSpread === void 0 ? false : _options$useSpread,
|
|
_options$useBuiltIns = options.useBuiltIns,
|
|
useBuiltIns = _options$useBuiltIns === void 0 ? false : _options$useBuiltIns;
|
|
if (RUNTIME_DEFAULT === "classic") {
|
|
if (typeof useSpread !== "boolean") {
|
|
throw new Error("transform-react-jsx currently only accepts a boolean option for " + "useSpread (defaults to false)");
|
|
}
|
|
if (typeof useBuiltIns !== "boolean") {
|
|
throw new Error("transform-react-jsx currently only accepts a boolean option for " + "useBuiltIns (defaults to false)");
|
|
}
|
|
if (useSpread && useBuiltIns) {
|
|
throw new Error("transform-react-jsx currently only accepts useBuiltIns or useSpread " + "but not both");
|
|
}
|
|
}
|
|
}
|
|
var injectMetaPropertiesVisitor = {
|
|
JSXOpeningElement: function JSXOpeningElement(path, state) {
|
|
var attributes = [];
|
|
if (isThisAllowed(path.scope)) {
|
|
attributes.push(jsxAttribute(jsxIdentifier$2("__self"), jsxExpressionContainer$1(thisExpression$4())));
|
|
}
|
|
attributes.push(jsxAttribute(jsxIdentifier$2("__source"), jsxExpressionContainer$1(makeSource(path, state))));
|
|
path.pushContainer("attributes", attributes);
|
|
}
|
|
};
|
|
return {
|
|
name: name,
|
|
inherits: syntaxJsx,
|
|
visitor: {
|
|
JSXNamespacedName: function JSXNamespacedName(path) {
|
|
if (throwIfNamespace) {
|
|
throw path.buildCodeFrameError("Namespace tags are not supported by default. React's JSX doesn't support namespace tags. You can set `throwIfNamespace: false` to bypass this warning.");
|
|
}
|
|
},
|
|
JSXSpreadChild: function JSXSpreadChild(path) {
|
|
throw path.buildCodeFrameError("Spread children are not supported in React.");
|
|
},
|
|
Program: {
|
|
enter: function enter(path, state) {
|
|
var file = state.file;
|
|
var runtime = RUNTIME_DEFAULT;
|
|
var source = IMPORT_SOURCE_DEFAULT;
|
|
var pragma = PRAGMA_DEFAULT;
|
|
var pragmaFrag = PRAGMA_FRAG_DEFAULT;
|
|
var sourceSet = !!options.importSource;
|
|
var pragmaSet = !!options.pragma;
|
|
var pragmaFragSet = !!options.pragmaFrag;
|
|
if (file.ast.comments) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(file.ast.comments), _step; !(_step = _iterator()).done;) {
|
|
var comment = _step.value;
|
|
var sourceMatches = JSX_SOURCE_ANNOTATION_REGEX.exec(comment.value);
|
|
if (sourceMatches) {
|
|
source = sourceMatches[1];
|
|
sourceSet = true;
|
|
}
|
|
var runtimeMatches = JSX_RUNTIME_ANNOTATION_REGEX.exec(comment.value);
|
|
if (runtimeMatches) {
|
|
runtime = runtimeMatches[1];
|
|
}
|
|
var jsxMatches = JSX_ANNOTATION_REGEX.exec(comment.value);
|
|
if (jsxMatches) {
|
|
pragma = jsxMatches[1];
|
|
pragmaSet = true;
|
|
}
|
|
var jsxFragMatches = JSX_FRAG_ANNOTATION_REGEX.exec(comment.value);
|
|
if (jsxFragMatches) {
|
|
pragmaFrag = jsxFragMatches[1];
|
|
pragmaFragSet = true;
|
|
}
|
|
}
|
|
}
|
|
set(state, "runtime", runtime);
|
|
if (runtime === "classic") {
|
|
if (sourceSet) {
|
|
throw path.buildCodeFrameError("importSource cannot be set when runtime is classic.");
|
|
}
|
|
var createElement = toMemberExpression(pragma);
|
|
var fragment = toMemberExpression(pragmaFrag);
|
|
set(state, "id/createElement", function () {
|
|
return cloneNode$j(createElement);
|
|
});
|
|
set(state, "id/fragment", function () {
|
|
return cloneNode$j(fragment);
|
|
});
|
|
set(state, "defaultPure", pragma === DEFAULT.pragma);
|
|
} else if (runtime === "automatic") {
|
|
if (pragmaSet || pragmaFragSet) {
|
|
throw path.buildCodeFrameError("pragma and pragmaFrag cannot be set when runtime is automatic.");
|
|
}
|
|
var define = function define(name, id) {
|
|
return set(state, name, createImportLazily(state, path, id, source));
|
|
};
|
|
define("id/jsx", development ? "jsxDEV" : "jsx");
|
|
define("id/jsxs", development ? "jsxDEV" : "jsxs");
|
|
define("id/createElement", "createElement");
|
|
define("id/fragment", "Fragment");
|
|
set(state, "defaultPure", source === DEFAULT.importSource);
|
|
} else {
|
|
throw path.buildCodeFrameError("Runtime must be either \"classic\" or \"automatic\".");
|
|
}
|
|
if (development) {
|
|
path.traverse(injectMetaPropertiesVisitor, state);
|
|
}
|
|
}
|
|
},
|
|
JSXFragment: {
|
|
exit: function exit(path, file) {
|
|
var callExpr;
|
|
if (get(file, "runtime") === "classic") {
|
|
callExpr = buildCreateElementFragmentCall(path, file);
|
|
} else {
|
|
callExpr = buildJSXFragmentCall(path, file);
|
|
}
|
|
path.replaceWith(inherits$1(callExpr, path.node));
|
|
}
|
|
},
|
|
JSXElement: {
|
|
exit: function exit(path, file) {
|
|
var callExpr;
|
|
if (get(file, "runtime") === "classic" || shouldUseCreateElement(path)) {
|
|
callExpr = buildCreateElementCall(path, file);
|
|
} else {
|
|
callExpr = buildJSXElementCall(path, file);
|
|
}
|
|
path.replaceWith(inherits$1(callExpr, path.node));
|
|
}
|
|
},
|
|
JSXAttribute: function JSXAttribute(path) {
|
|
if (isJSXElement(path.node.value)) {
|
|
path.node.value = jsxExpressionContainer$1(path.node.value);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
function isDerivedClass(classPath) {
|
|
return classPath.node.superClass !== null;
|
|
}
|
|
function isThisAllowed(scope) {
|
|
do {
|
|
var _scope = scope,
|
|
path = _scope.path;
|
|
if (path.isFunctionParent() && !path.isArrowFunctionExpression()) {
|
|
if (!path.isMethod()) {
|
|
return true;
|
|
}
|
|
if (path.node.kind !== "constructor") {
|
|
return true;
|
|
}
|
|
return !isDerivedClass(path.parentPath.parentPath);
|
|
}
|
|
if (path.isTSModuleBlock()) {
|
|
return false;
|
|
}
|
|
} while (scope = scope.parent);
|
|
return true;
|
|
}
|
|
function call(pass, name, args) {
|
|
var node = callExpression$e(get(pass, "id/" + name)(), args);
|
|
if (PURE_ANNOTATION != null ? PURE_ANNOTATION : get(pass, "defaultPure")) annotateAsPure(node);
|
|
return node;
|
|
}
|
|
function shouldUseCreateElement(path) {
|
|
var openingPath = path.get("openingElement");
|
|
var attributes = openingPath.node.attributes;
|
|
var seenPropsSpread = false;
|
|
for (var i = 0; i < attributes.length; i++) {
|
|
var attr = attributes[i];
|
|
if (seenPropsSpread && isJSXAttribute(attr) && attr.name.name === "key") {
|
|
return true;
|
|
} else if (isJSXSpreadAttribute$1(attr)) {
|
|
seenPropsSpread = true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function convertJSXIdentifier(node, parent) {
|
|
if (isJSXIdentifier$3(node)) {
|
|
if (node.name === "this" && isReferenced$2(node, parent)) {
|
|
return thisExpression$4();
|
|
} else if (isValidIdentifier$1(node.name, false)) {
|
|
node.type = "Identifier";
|
|
return node;
|
|
} else {
|
|
return stringLiteral$8(node.name);
|
|
}
|
|
} else if (isJSXMemberExpression$2(node)) {
|
|
return memberExpression$c(convertJSXIdentifier(node.object, node), convertJSXIdentifier(node.property, node));
|
|
} else if (isJSXNamespacedName$1(node)) {
|
|
return stringLiteral$8(node.namespace.name + ":" + node.name.name);
|
|
}
|
|
return node;
|
|
}
|
|
function convertAttributeValue(node) {
|
|
if (isJSXExpressionContainer$1(node)) {
|
|
return node.expression;
|
|
} else {
|
|
return node;
|
|
}
|
|
}
|
|
function accumulateAttribute(array, attribute) {
|
|
if (isJSXSpreadAttribute$1(attribute.node)) {
|
|
var arg = attribute.node.argument;
|
|
if (isObjectExpression$3(arg) && !hasProto(arg)) {
|
|
array.push.apply(array, _toConsumableArray(arg.properties));
|
|
} else {
|
|
array.push(spreadElement$2(arg));
|
|
}
|
|
return array;
|
|
}
|
|
var value = convertAttributeValue(attribute.node.name.name !== "key" ? attribute.node.value || booleanLiteral$4(true) : attribute.node.value);
|
|
if (attribute.node.name.name === "key" && value === null) {
|
|
throw attribute.buildCodeFrameError('Please provide an explicit key value. Using "key" as a shorthand for "key={true}" is not allowed.');
|
|
}
|
|
if (isStringLiteral$6(value) && !isJSXExpressionContainer$1(attribute.node.value)) {
|
|
var _value$extra;
|
|
value.value = value.value.replace(/\n\s+/g, " ");
|
|
(_value$extra = value.extra) == null ? true : delete _value$extra.raw;
|
|
}
|
|
if (isJSXNamespacedName$1(attribute.node.name)) {
|
|
attribute.node.name = stringLiteral$8(attribute.node.name.namespace.name + ":" + attribute.node.name.name.name);
|
|
} else if (isValidIdentifier$1(attribute.node.name.name, false)) {
|
|
attribute.node.name.type = "Identifier";
|
|
} else {
|
|
attribute.node.name = stringLiteral$8(attribute.node.name.name);
|
|
}
|
|
array.push(inherits$1(objectProperty$1(attribute.node.name, value), attribute.node));
|
|
return array;
|
|
}
|
|
function buildChildrenProperty(children) {
|
|
var childrenNode;
|
|
if (children.length === 1) {
|
|
childrenNode = children[0];
|
|
} else if (children.length > 1) {
|
|
childrenNode = arrayExpression$1(children);
|
|
} else {
|
|
return undefined;
|
|
}
|
|
return objectProperty$1(identifier$i("children"), childrenNode);
|
|
}
|
|
function buildJSXElementCall(path, file) {
|
|
var openingPath = path.get("openingElement");
|
|
var args = [getTag(openingPath)];
|
|
var attribsArray = [];
|
|
var extracted = Object.create(null);
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(openingPath.get("attributes")), _step2; !(_step2 = _iterator2()).done;) {
|
|
var attr = _step2.value;
|
|
if (attr.isJSXAttribute() && isJSXIdentifier$3(attr.node.name)) {
|
|
var _name = attr.node.name.name;
|
|
switch (_name) {
|
|
case "__source":
|
|
case "__self":
|
|
if (extracted[_name]) throw sourceSelfError(path, _name);
|
|
case "key":
|
|
{
|
|
var keyValue = convertAttributeValue(attr.node.value);
|
|
if (keyValue === null) {
|
|
throw attr.buildCodeFrameError('Please provide an explicit key value. Using "key" as a shorthand for "key={true}" is not allowed.');
|
|
}
|
|
extracted[_name] = keyValue;
|
|
break;
|
|
}
|
|
default:
|
|
attribsArray.push(attr);
|
|
}
|
|
} else {
|
|
attribsArray.push(attr);
|
|
}
|
|
}
|
|
var children = react$3.buildChildren(path.node);
|
|
var attribs;
|
|
if (attribsArray.length || children.length) {
|
|
attribs = buildJSXOpeningElementAttributes(attribsArray, children);
|
|
} else {
|
|
attribs = objectExpression$3([]);
|
|
}
|
|
args.push(attribs);
|
|
if (development) {
|
|
var _extracted$key;
|
|
args.push((_extracted$key = extracted.key) != null ? _extracted$key : path.scope.buildUndefinedNode(), booleanLiteral$4(children.length > 1));
|
|
if (extracted.__source) {
|
|
args.push(extracted.__source);
|
|
if (extracted.__self) args.push(extracted.__self);
|
|
} else if (extracted.__self) {
|
|
args.push(path.scope.buildUndefinedNode(), extracted.__self);
|
|
}
|
|
} else if (extracted.key !== undefined) {
|
|
args.push(extracted.key);
|
|
}
|
|
return call(file, children.length > 1 ? "jsxs" : "jsx", args);
|
|
}
|
|
function buildJSXOpeningElementAttributes(attribs, children) {
|
|
var props = attribs.reduce(accumulateAttribute, []);
|
|
if ((children == null ? void 0 : children.length) > 0) {
|
|
props.push(buildChildrenProperty(children));
|
|
}
|
|
return objectExpression$3(props);
|
|
}
|
|
function buildJSXFragmentCall(path, file) {
|
|
var args = [get(file, "id/fragment")()];
|
|
var children = react$3.buildChildren(path.node);
|
|
args.push(objectExpression$3(children.length > 0 ? [buildChildrenProperty(children)] : []));
|
|
if (development) {
|
|
args.push(path.scope.buildUndefinedNode(), booleanLiteral$4(children.length > 1));
|
|
}
|
|
return call(file, children.length > 1 ? "jsxs" : "jsx", args);
|
|
}
|
|
function buildCreateElementFragmentCall(path, file) {
|
|
if (filter && !filter(path.node, file)) return;
|
|
return call(file, "createElement", [get(file, "id/fragment")(), nullLiteral$2()].concat(_toConsumableArray(react$3.buildChildren(path.node))));
|
|
}
|
|
function buildCreateElementCall(path, file) {
|
|
var openingPath = path.get("openingElement");
|
|
return call(file, "createElement", [getTag(openingPath), buildCreateElementOpeningElementAttributes(file, path, openingPath.get("attributes"))].concat(_toConsumableArray(react$3.buildChildren(path.node))));
|
|
}
|
|
function getTag(openingPath) {
|
|
var tagExpr = convertJSXIdentifier(openingPath.node.name, openingPath.node);
|
|
var tagName;
|
|
if (isIdentifier$j(tagExpr)) {
|
|
tagName = tagExpr.name;
|
|
} else if (isStringLiteral$6(tagExpr)) {
|
|
tagName = tagExpr.value;
|
|
}
|
|
if (react$3.isCompatTag(tagName)) {
|
|
return stringLiteral$8(tagName);
|
|
} else {
|
|
return tagExpr;
|
|
}
|
|
}
|
|
function buildCreateElementOpeningElementAttributes(file, path, attribs) {
|
|
var runtime = get(file, "runtime");
|
|
{
|
|
if (runtime !== "automatic") {
|
|
var objs = [];
|
|
var _props = attribs.reduce(accumulateAttribute, []);
|
|
if (!useSpread) {
|
|
var start = 0;
|
|
_props.forEach(function (prop, i) {
|
|
if (isSpreadElement$1(prop)) {
|
|
if (i > start) {
|
|
objs.push(objectExpression$3(_props.slice(start, i)));
|
|
}
|
|
objs.push(prop.argument);
|
|
start = i + 1;
|
|
}
|
|
});
|
|
if (_props.length > start) {
|
|
objs.push(objectExpression$3(_props.slice(start)));
|
|
}
|
|
} else if (_props.length) {
|
|
objs.push(objectExpression$3(_props));
|
|
}
|
|
if (!objs.length) {
|
|
return nullLiteral$2();
|
|
}
|
|
if (objs.length === 1) {
|
|
if (!(isSpreadElement$1(_props[0]) && isObjectExpression$3(_props[0].argument))) {
|
|
return objs[0];
|
|
}
|
|
}
|
|
if (!isObjectExpression$3(objs[0])) {
|
|
objs.unshift(objectExpression$3([]));
|
|
}
|
|
var helper = useBuiltIns ? memberExpression$c(identifier$i("Object"), identifier$i("assign")) : file.addHelper("extends");
|
|
return callExpression$e(helper, objs);
|
|
}
|
|
}
|
|
var props = [];
|
|
var found = Object.create(null);
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(attribs), _step3; !(_step3 = _iterator3()).done;) {
|
|
var attr = _step3.value;
|
|
var _name2 = isJSXAttribute(attr) && isJSXIdentifier$3(attr.name) && attr.name.name;
|
|
if (runtime === "automatic" && (_name2 === "__source" || _name2 === "__self")) {
|
|
if (found[_name2]) throw sourceSelfError(path, _name2);
|
|
found[_name2] = true;
|
|
}
|
|
accumulateAttribute(props, attr);
|
|
}
|
|
return props.length === 1 && isSpreadElement$1(props[0]) && !isObjectExpression$3(props[0].argument) ? props[0].argument : props.length > 0 ? objectExpression$3(props) : nullLiteral$2();
|
|
}
|
|
});
|
|
function getSource(source, importName) {
|
|
switch (importName) {
|
|
case "Fragment":
|
|
return source + "/" + (development ? "jsx-dev-runtime" : "jsx-runtime");
|
|
case "jsxDEV":
|
|
return source + "/jsx-dev-runtime";
|
|
case "jsx":
|
|
case "jsxs":
|
|
return source + "/jsx-runtime";
|
|
case "createElement":
|
|
return source;
|
|
}
|
|
}
|
|
function createImportLazily(pass, path, importName, source) {
|
|
return function () {
|
|
var actualSource = getSource(source, importName);
|
|
if (isModule(path)) {
|
|
var reference = get(pass, "imports/" + importName);
|
|
if (reference) return cloneNode$j(reference);
|
|
reference = addNamed(path, importName, actualSource, {
|
|
importedInterop: "uncompiled",
|
|
importPosition: "after"
|
|
});
|
|
set(pass, "imports/" + importName, reference);
|
|
return reference;
|
|
} else {
|
|
var _reference = get(pass, "requires/" + actualSource);
|
|
if (_reference) {
|
|
_reference = cloneNode$j(_reference);
|
|
} else {
|
|
_reference = addNamespace(path, actualSource, {
|
|
importedInterop: "uncompiled"
|
|
});
|
|
set(pass, "requires/" + actualSource, _reference);
|
|
}
|
|
return memberExpression$c(_reference, identifier$i(importName));
|
|
}
|
|
};
|
|
}
|
|
}
|
|
function toMemberExpression(id) {
|
|
return id.split(".").map(function (name) {
|
|
return identifier$i(name);
|
|
}).reduce(function (object, property) {
|
|
return memberExpression$c(object, property);
|
|
});
|
|
}
|
|
function makeSource(path, state) {
|
|
var location = path.node.loc;
|
|
if (!location) {
|
|
return path.scope.buildUndefinedNode();
|
|
}
|
|
if (!state.fileNameIdentifier) {
|
|
var _state$filename = state.filename,
|
|
filename = _state$filename === void 0 ? "" : _state$filename;
|
|
var fileNameIdentifier = path.scope.generateUidIdentifier("_jsxFileName");
|
|
path.scope.getProgramParent().push({
|
|
id: fileNameIdentifier,
|
|
init: stringLiteral$8(filename)
|
|
});
|
|
state.fileNameIdentifier = fileNameIdentifier;
|
|
}
|
|
return makeTrace(cloneNode$j(state.fileNameIdentifier), location.start.line, location.start.column);
|
|
}
|
|
function makeTrace(fileNameIdentifier, lineNumber, column0Based) {
|
|
var fileLineLiteral = lineNumber != null ? numericLiteral$8(lineNumber) : nullLiteral$2();
|
|
var fileColumnLiteral = column0Based != null ? numericLiteral$8(column0Based + 1) : nullLiteral$2();
|
|
return template$2.expression.ast(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteralLoose(["{\n fileName: ", ",\n lineNumber: ", ",\n columnNumber: ", ",\n }"])), fileNameIdentifier, fileLineLiteral, fileColumnLiteral);
|
|
}
|
|
function sourceSelfError(path, name) {
|
|
var pluginName = "transform-react-jsx-" + name.slice(2);
|
|
return path.buildCodeFrameError("Duplicate " + name + " prop found. You are most likely using the deprecated " + pluginName + " Babel plugin. Both __source and __self are automatically set when using the automatic runtime. Please remove transform-react-jsx-source and transform-react-jsx-self from your Babel config.");
|
|
}
|
|
|
|
var transformReactJSX = createPlugin({
|
|
name: "transform-react-jsx",
|
|
development: false
|
|
});
|
|
|
|
var transformReactJsxCompat = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-react-jsx-compat",
|
|
manipulateOptions: function manipulateOptions(_, parserOpts) {
|
|
parserOpts.plugins.push("jsx");
|
|
},
|
|
visitor: helper({
|
|
pre: function pre(state) {
|
|
state.callee = state.tagExpr;
|
|
},
|
|
post: function post(state) {
|
|
if (react$3.isCompatTag(state.tagName)) {
|
|
state.call = callExpression$e(memberExpression$c(memberExpression$c(identifier$i("React"), identifier$i("DOM")), state.tagExpr, isLiteral$6(state.tagExpr)), state.args);
|
|
}
|
|
},
|
|
compat: true
|
|
})
|
|
};
|
|
});
|
|
|
|
var transformReactJSXDevelopment = createPlugin({
|
|
name: "transform-react-jsx/development",
|
|
development: true
|
|
});
|
|
|
|
var TRACE_ID$1 = "__self";
|
|
function getThisFunctionParent(path) {
|
|
var scope = path.scope;
|
|
do {
|
|
var _scope = scope,
|
|
_path = _scope.path;
|
|
if (_path.isFunctionParent() && !_path.isArrowFunctionExpression()) {
|
|
return _path;
|
|
}
|
|
} while (scope = scope.parent);
|
|
return null;
|
|
}
|
|
function isDerivedClass(classPath) {
|
|
return classPath.node.superClass !== null;
|
|
}
|
|
function isThisAllowed(path) {
|
|
var parentMethodOrFunction = getThisFunctionParent(path);
|
|
if (parentMethodOrFunction === null) {
|
|
return true;
|
|
}
|
|
if (!parentMethodOrFunction.isMethod()) {
|
|
return true;
|
|
}
|
|
if (parentMethodOrFunction.node.kind !== "constructor") {
|
|
return true;
|
|
}
|
|
return !isDerivedClass(parentMethodOrFunction.parentPath.parentPath);
|
|
}
|
|
var transformReactJsxSelf = declare(function (api) {
|
|
api.assertVersion(7);
|
|
var visitor = {
|
|
JSXOpeningElement: function JSXOpeningElement(path) {
|
|
if (!isThisAllowed(path)) {
|
|
return;
|
|
}
|
|
var node = path.node;
|
|
var id = jsxIdentifier$2(TRACE_ID$1);
|
|
var trace = thisExpression$4();
|
|
node.attributes.push(jsxAttribute(id, jsxExpressionContainer$1(trace)));
|
|
}
|
|
};
|
|
return {
|
|
name: "transform-react-jsx-self",
|
|
visitor: {
|
|
Program: function Program(path) {
|
|
path.traverse(visitor);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _templateObject$6;
|
|
var TRACE_ID = "__source";
|
|
var FILE_NAME_VAR = "_jsxFileName";
|
|
var createNodeFromNullish = function createNodeFromNullish(val, fn) {
|
|
return val == null ? nullLiteral$2() : fn(val);
|
|
};
|
|
var transformReactJsxSource = declare(function (api) {
|
|
api.assertVersion(7);
|
|
function makeTrace(fileNameIdentifier, _ref) {
|
|
var line = _ref.line,
|
|
column = _ref.column;
|
|
var fileLineLiteral = createNodeFromNullish(line, numericLiteral$8);
|
|
var fileColumnLiteral = createNodeFromNullish(column, function (c) {
|
|
return numericLiteral$8(c + 1);
|
|
});
|
|
return template$2.expression.ast(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteralLoose(["{\n fileName: ", ",\n lineNumber: ", ",\n columnNumber: ", ",\n }"])), fileNameIdentifier, fileLineLiteral, fileColumnLiteral);
|
|
}
|
|
var isSourceAttr = function isSourceAttr(attr) {
|
|
return isJSXAttribute(attr) && attr.name.name === TRACE_ID;
|
|
};
|
|
return {
|
|
name: "transform-react-jsx-source",
|
|
visitor: {
|
|
JSXOpeningElement: function JSXOpeningElement(path, state) {
|
|
var node = path.node;
|
|
if (!node.loc || path.node.attributes.some(isSourceAttr)) {
|
|
return;
|
|
}
|
|
if (!state.fileNameIdentifier) {
|
|
var fileNameId = path.scope.generateUidIdentifier(FILE_NAME_VAR);
|
|
state.fileNameIdentifier = fileNameId;
|
|
path.scope.getProgramParent().push({
|
|
id: fileNameId,
|
|
init: stringLiteral$8(state.filename || "")
|
|
});
|
|
}
|
|
node.attributes.push(jsxAttribute(jsxIdentifier$2(TRACE_ID), jsxExpressionContainer$1(makeTrace(cloneNode$j(state.fileNameIdentifier), node.loc.start))));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var lib$1 = {};
|
|
|
|
var visit = {};
|
|
|
|
var interopRequireDefault = {exports: {}};
|
|
|
|
(function (module) {
|
|
function _interopRequireDefault(obj) {
|
|
return obj && obj.__esModule ? obj : {
|
|
"default": obj
|
|
};
|
|
}
|
|
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
})(interopRequireDefault);
|
|
|
|
var hoist$2 = {};
|
|
|
|
var util$1 = {};
|
|
|
|
var hasRequiredUtil;
|
|
function requireUtil() {
|
|
if (hasRequiredUtil) return util$1;
|
|
hasRequiredUtil = 1;
|
|
util$1.__esModule = true;
|
|
util$1.getTypes = getTypes;
|
|
util$1.isReference = isReference;
|
|
util$1.replaceWithOrRemove = replaceWithOrRemove;
|
|
util$1.runtimeProperty = runtimeProperty;
|
|
util$1.wrapWithTypes = wrapWithTypes;
|
|
var currentTypes = null;
|
|
function wrapWithTypes(types, fn) {
|
|
return function () {
|
|
var oldTypes = currentTypes;
|
|
currentTypes = types;
|
|
try {
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
return fn.apply(this, args);
|
|
} finally {
|
|
currentTypes = oldTypes;
|
|
}
|
|
};
|
|
}
|
|
function getTypes() {
|
|
return currentTypes;
|
|
}
|
|
function runtimeProperty(name) {
|
|
var t = getTypes();
|
|
return t.memberExpression(t.identifier("regeneratorRuntime"), t.identifier(name), false);
|
|
}
|
|
function isReference(path) {
|
|
return path.isReferenced() || path.parentPath.isAssignmentExpression({
|
|
left: path.node
|
|
});
|
|
}
|
|
function replaceWithOrRemove(path, replacement) {
|
|
if (replacement) {
|
|
path.replaceWith(replacement);
|
|
} else {
|
|
path.remove();
|
|
}
|
|
}
|
|
return util$1;
|
|
}
|
|
|
|
var hasRequiredHoist;
|
|
function requireHoist() {
|
|
if (hasRequiredHoist) return hoist$2;
|
|
hasRequiredHoist = 1;
|
|
var util = _interopRequireWildcard(requireUtil());
|
|
function _getRequireWildcardCache(nodeInterop) {
|
|
if (typeof WeakMap !== "function") return null;
|
|
var cacheBabelInterop = new WeakMap();
|
|
var cacheNodeInterop = new WeakMap();
|
|
return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
|
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
})(nodeInterop);
|
|
}
|
|
function _interopRequireWildcard(obj, nodeInterop) {
|
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
return obj;
|
|
}
|
|
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
return {
|
|
"default": obj
|
|
};
|
|
}
|
|
var cache = _getRequireWildcardCache(nodeInterop);
|
|
if (cache && cache.has(obj)) {
|
|
return cache.get(obj);
|
|
}
|
|
var newObj = {};
|
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
for (var key in obj) {
|
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
if (desc && (desc.get || desc.set)) {
|
|
Object.defineProperty(newObj, key, desc);
|
|
} else {
|
|
newObj[key] = obj[key];
|
|
}
|
|
}
|
|
}
|
|
newObj["default"] = obj;
|
|
if (cache) {
|
|
cache.set(obj, newObj);
|
|
}
|
|
return newObj;
|
|
}
|
|
var hasOwn = Object.prototype.hasOwnProperty;
|
|
hoist$2.hoist = function (funPath) {
|
|
var t = util.getTypes();
|
|
t.assertFunction(funPath.node);
|
|
var vars = {};
|
|
function varDeclToExpr(_ref, includeIdentifiers) {
|
|
var vdec = _ref.node,
|
|
scope = _ref.scope;
|
|
t.assertVariableDeclaration(vdec);
|
|
var exprs = [];
|
|
vdec.declarations.forEach(function (dec) {
|
|
vars[dec.id.name] = t.identifier(dec.id.name);
|
|
scope.removeBinding(dec.id.name);
|
|
if (dec.init) {
|
|
exprs.push(t.assignmentExpression("=", dec.id, dec.init));
|
|
} else if (includeIdentifiers) {
|
|
exprs.push(dec.id);
|
|
}
|
|
});
|
|
if (exprs.length === 0) return null;
|
|
if (exprs.length === 1) return exprs[0];
|
|
return t.sequenceExpression(exprs);
|
|
}
|
|
funPath.get("body").traverse({
|
|
VariableDeclaration: {
|
|
exit: function exit(path) {
|
|
var expr = varDeclToExpr(path, false);
|
|
if (expr === null) {
|
|
path.remove();
|
|
} else {
|
|
util.replaceWithOrRemove(path, t.expressionStatement(expr));
|
|
}
|
|
path.skip();
|
|
}
|
|
},
|
|
ForStatement: function ForStatement(path) {
|
|
var init = path.get("init");
|
|
if (init.isVariableDeclaration()) {
|
|
util.replaceWithOrRemove(init, varDeclToExpr(init, false));
|
|
}
|
|
},
|
|
ForXStatement: function ForXStatement(path) {
|
|
var left = path.get("left");
|
|
if (left.isVariableDeclaration()) {
|
|
util.replaceWithOrRemove(left, varDeclToExpr(left, true));
|
|
}
|
|
},
|
|
FunctionDeclaration: function FunctionDeclaration(path) {
|
|
var node = path.node;
|
|
vars[node.id.name] = node.id;
|
|
var assignment = t.expressionStatement(t.assignmentExpression("=", t.clone(node.id), t.functionExpression(path.scope.generateUidIdentifierBasedOnNode(node), node.params, node.body, node.generator, node.expression)));
|
|
if (path.parentPath.isBlockStatement()) {
|
|
path.parentPath.unshiftContainer("body", assignment);
|
|
path.remove();
|
|
} else {
|
|
util.replaceWithOrRemove(path, assignment);
|
|
}
|
|
path.scope.removeBinding(node.id.name);
|
|
path.skip();
|
|
},
|
|
FunctionExpression: function FunctionExpression(path) {
|
|
path.skip();
|
|
},
|
|
ArrowFunctionExpression: function ArrowFunctionExpression(path) {
|
|
path.skip();
|
|
}
|
|
});
|
|
var paramNames = {};
|
|
funPath.get("params").forEach(function (paramPath) {
|
|
var param = paramPath.node;
|
|
if (t.isIdentifier(param)) {
|
|
paramNames[param.name] = param;
|
|
}
|
|
});
|
|
var declarations = [];
|
|
Object.keys(vars).forEach(function (name) {
|
|
if (!hasOwn.call(paramNames, name)) {
|
|
declarations.push(t.variableDeclarator(vars[name], null));
|
|
}
|
|
});
|
|
if (declarations.length === 0) {
|
|
return null;
|
|
}
|
|
return t.variableDeclaration("var", declarations);
|
|
};
|
|
return hoist$2;
|
|
}
|
|
|
|
var emit = {};
|
|
|
|
var leap = {};
|
|
|
|
var hasRequiredLeap;
|
|
function requireLeap() {
|
|
if (hasRequiredLeap) return leap;
|
|
hasRequiredLeap = 1;
|
|
var _interopRequireDefault = interopRequireDefault.exports;
|
|
var _assert = _interopRequireDefault(assert$1.exports);
|
|
var _emit = requireEmit();
|
|
var _util = util$3;
|
|
var _util2 = requireUtil();
|
|
function Entry() {
|
|
_assert["default"].ok(this instanceof Entry);
|
|
}
|
|
function FunctionEntry(returnLoc) {
|
|
Entry.call(this);
|
|
(0, _util2.getTypes)().assertLiteral(returnLoc);
|
|
this.returnLoc = returnLoc;
|
|
}
|
|
(0, _util.inherits)(FunctionEntry, Entry);
|
|
leap.FunctionEntry = FunctionEntry;
|
|
function LoopEntry(breakLoc, continueLoc, label) {
|
|
Entry.call(this);
|
|
var t = (0, _util2.getTypes)();
|
|
t.assertLiteral(breakLoc);
|
|
t.assertLiteral(continueLoc);
|
|
if (label) {
|
|
t.assertIdentifier(label);
|
|
} else {
|
|
label = null;
|
|
}
|
|
this.breakLoc = breakLoc;
|
|
this.continueLoc = continueLoc;
|
|
this.label = label;
|
|
}
|
|
(0, _util.inherits)(LoopEntry, Entry);
|
|
leap.LoopEntry = LoopEntry;
|
|
function SwitchEntry(breakLoc) {
|
|
Entry.call(this);
|
|
(0, _util2.getTypes)().assertLiteral(breakLoc);
|
|
this.breakLoc = breakLoc;
|
|
}
|
|
(0, _util.inherits)(SwitchEntry, Entry);
|
|
leap.SwitchEntry = SwitchEntry;
|
|
function TryEntry(firstLoc, catchEntry, finallyEntry) {
|
|
Entry.call(this);
|
|
var t = (0, _util2.getTypes)();
|
|
t.assertLiteral(firstLoc);
|
|
if (catchEntry) {
|
|
_assert["default"].ok(catchEntry instanceof CatchEntry);
|
|
} else {
|
|
catchEntry = null;
|
|
}
|
|
if (finallyEntry) {
|
|
_assert["default"].ok(finallyEntry instanceof FinallyEntry);
|
|
} else {
|
|
finallyEntry = null;
|
|
}
|
|
_assert["default"].ok(catchEntry || finallyEntry);
|
|
this.firstLoc = firstLoc;
|
|
this.catchEntry = catchEntry;
|
|
this.finallyEntry = finallyEntry;
|
|
}
|
|
(0, _util.inherits)(TryEntry, Entry);
|
|
leap.TryEntry = TryEntry;
|
|
function CatchEntry(firstLoc, paramId) {
|
|
Entry.call(this);
|
|
var t = (0, _util2.getTypes)();
|
|
t.assertLiteral(firstLoc);
|
|
t.assertIdentifier(paramId);
|
|
this.firstLoc = firstLoc;
|
|
this.paramId = paramId;
|
|
}
|
|
(0, _util.inherits)(CatchEntry, Entry);
|
|
leap.CatchEntry = CatchEntry;
|
|
function FinallyEntry(firstLoc, afterLoc) {
|
|
Entry.call(this);
|
|
var t = (0, _util2.getTypes)();
|
|
t.assertLiteral(firstLoc);
|
|
t.assertLiteral(afterLoc);
|
|
this.firstLoc = firstLoc;
|
|
this.afterLoc = afterLoc;
|
|
}
|
|
(0, _util.inherits)(FinallyEntry, Entry);
|
|
leap.FinallyEntry = FinallyEntry;
|
|
function LabeledEntry(breakLoc, label) {
|
|
Entry.call(this);
|
|
var t = (0, _util2.getTypes)();
|
|
t.assertLiteral(breakLoc);
|
|
t.assertIdentifier(label);
|
|
this.breakLoc = breakLoc;
|
|
this.label = label;
|
|
}
|
|
(0, _util.inherits)(LabeledEntry, Entry);
|
|
leap.LabeledEntry = LabeledEntry;
|
|
function LeapManager(emitter) {
|
|
_assert["default"].ok(this instanceof LeapManager);
|
|
_assert["default"].ok(emitter instanceof _emit.Emitter);
|
|
this.emitter = emitter;
|
|
this.entryStack = [new FunctionEntry(emitter.finalLoc)];
|
|
}
|
|
var LMp = LeapManager.prototype;
|
|
leap.LeapManager = LeapManager;
|
|
LMp.withEntry = function (entry, callback) {
|
|
_assert["default"].ok(entry instanceof Entry);
|
|
this.entryStack.push(entry);
|
|
try {
|
|
callback.call(this.emitter);
|
|
} finally {
|
|
var popped = this.entryStack.pop();
|
|
_assert["default"].strictEqual(popped, entry);
|
|
}
|
|
};
|
|
LMp._findLeapLocation = function (property, label) {
|
|
for (var i = this.entryStack.length - 1; i >= 0; --i) {
|
|
var entry = this.entryStack[i];
|
|
var loc = entry[property];
|
|
if (loc) {
|
|
if (label) {
|
|
if (entry.label && entry.label.name === label.name) {
|
|
return loc;
|
|
}
|
|
} else if (entry instanceof LabeledEntry) ; else {
|
|
return loc;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
LMp.getBreakLoc = function (label) {
|
|
return this._findLeapLocation("breakLoc", label);
|
|
};
|
|
LMp.getContinueLoc = function (label) {
|
|
return this._findLeapLocation("continueLoc", label);
|
|
};
|
|
return leap;
|
|
}
|
|
|
|
var meta = {};
|
|
|
|
var hasRequiredMeta;
|
|
function requireMeta() {
|
|
if (hasRequiredMeta) return meta;
|
|
hasRequiredMeta = 1;
|
|
var _interopRequireDefault = interopRequireDefault.exports;
|
|
var _assert = _interopRequireDefault(assert$1.exports);
|
|
var _util = requireUtil();
|
|
var mMap = new WeakMap();
|
|
function m(node) {
|
|
if (!mMap.has(node)) {
|
|
mMap.set(node, {});
|
|
}
|
|
return mMap.get(node);
|
|
}
|
|
var hasOwn = Object.prototype.hasOwnProperty;
|
|
function makePredicate(propertyName, knownTypes) {
|
|
function onlyChildren(node) {
|
|
var t = (0, _util.getTypes)();
|
|
t.assertNode(node);
|
|
var result = false;
|
|
function check(child) {
|
|
if (result) ; else if (Array.isArray(child)) {
|
|
child.some(check);
|
|
} else if (t.isNode(child)) {
|
|
_assert["default"].strictEqual(result, false);
|
|
result = predicate(child);
|
|
}
|
|
return result;
|
|
}
|
|
var keys = t.VISITOR_KEYS[node.type];
|
|
if (keys) {
|
|
for (var i = 0; i < keys.length; i++) {
|
|
var key = keys[i];
|
|
var child = node[key];
|
|
check(child);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function predicate(node) {
|
|
(0, _util.getTypes)().assertNode(node);
|
|
var meta = m(node);
|
|
if (hasOwn.call(meta, propertyName)) return meta[propertyName];
|
|
if (hasOwn.call(opaqueTypes, node.type)) return meta[propertyName] = false;
|
|
if (hasOwn.call(knownTypes, node.type)) return meta[propertyName] = true;
|
|
return meta[propertyName] = onlyChildren(node);
|
|
}
|
|
predicate.onlyChildren = onlyChildren;
|
|
return predicate;
|
|
}
|
|
var opaqueTypes = {
|
|
FunctionExpression: true,
|
|
ArrowFunctionExpression: true
|
|
};
|
|
var sideEffectTypes = {
|
|
CallExpression: true,
|
|
ForInStatement: true,
|
|
UnaryExpression: true,
|
|
BinaryExpression: true,
|
|
AssignmentExpression: true,
|
|
UpdateExpression: true,
|
|
NewExpression: true
|
|
};
|
|
var leapTypes = {
|
|
YieldExpression: true,
|
|
BreakStatement: true,
|
|
ContinueStatement: true,
|
|
ReturnStatement: true,
|
|
ThrowStatement: true
|
|
};
|
|
for (var type in leapTypes) {
|
|
if (hasOwn.call(leapTypes, type)) {
|
|
sideEffectTypes[type] = leapTypes[type];
|
|
}
|
|
}
|
|
meta.hasSideEffects = makePredicate("hasSideEffects", sideEffectTypes);
|
|
meta.containsLeap = makePredicate("containsLeap", leapTypes);
|
|
return meta;
|
|
}
|
|
|
|
var hasRequiredEmit;
|
|
function requireEmit() {
|
|
if (hasRequiredEmit) return emit;
|
|
hasRequiredEmit = 1;
|
|
var _interopRequireDefault = interopRequireDefault.exports;
|
|
var _assert = _interopRequireDefault(assert$1.exports);
|
|
var leap = _interopRequireWildcard(requireLeap());
|
|
var meta = _interopRequireWildcard(requireMeta());
|
|
var util = _interopRequireWildcard(requireUtil());
|
|
function _getRequireWildcardCache(nodeInterop) {
|
|
if (typeof WeakMap !== "function") return null;
|
|
var cacheBabelInterop = new WeakMap();
|
|
var cacheNodeInterop = new WeakMap();
|
|
return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
|
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
})(nodeInterop);
|
|
}
|
|
function _interopRequireWildcard(obj, nodeInterop) {
|
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
return obj;
|
|
}
|
|
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
return {
|
|
"default": obj
|
|
};
|
|
}
|
|
var cache = _getRequireWildcardCache(nodeInterop);
|
|
if (cache && cache.has(obj)) {
|
|
return cache.get(obj);
|
|
}
|
|
var newObj = {};
|
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
for (var key in obj) {
|
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
if (desc && (desc.get || desc.set)) {
|
|
Object.defineProperty(newObj, key, desc);
|
|
} else {
|
|
newObj[key] = obj[key];
|
|
}
|
|
}
|
|
}
|
|
newObj["default"] = obj;
|
|
if (cache) {
|
|
cache.set(obj, newObj);
|
|
}
|
|
return newObj;
|
|
}
|
|
var hasOwn = Object.prototype.hasOwnProperty;
|
|
function Emitter(contextId) {
|
|
_assert["default"].ok(this instanceof Emitter);
|
|
util.getTypes().assertIdentifier(contextId);
|
|
this.nextTempId = 0;
|
|
this.contextId = contextId;
|
|
this.listing = [];
|
|
this.marked = [true];
|
|
this.insertedLocs = new Set();
|
|
this.finalLoc = this.loc();
|
|
this.tryEntries = [];
|
|
this.leapManager = new leap.LeapManager(this);
|
|
}
|
|
var Ep = Emitter.prototype;
|
|
emit.Emitter = Emitter;
|
|
Ep.loc = function () {
|
|
var l = util.getTypes().numericLiteral(-1);
|
|
this.insertedLocs.add(l);
|
|
return l;
|
|
};
|
|
Ep.getInsertedLocs = function () {
|
|
return this.insertedLocs;
|
|
};
|
|
Ep.getContextId = function () {
|
|
return util.getTypes().clone(this.contextId);
|
|
};
|
|
Ep.mark = function (loc) {
|
|
util.getTypes().assertLiteral(loc);
|
|
var index = this.listing.length;
|
|
if (loc.value === -1) {
|
|
loc.value = index;
|
|
} else {
|
|
_assert["default"].strictEqual(loc.value, index);
|
|
}
|
|
this.marked[index] = true;
|
|
return loc;
|
|
};
|
|
Ep.emit = function (node) {
|
|
var t = util.getTypes();
|
|
if (t.isExpression(node)) {
|
|
node = t.expressionStatement(node);
|
|
}
|
|
t.assertStatement(node);
|
|
this.listing.push(node);
|
|
};
|
|
Ep.emitAssign = function (lhs, rhs) {
|
|
this.emit(this.assign(lhs, rhs));
|
|
return lhs;
|
|
};
|
|
Ep.assign = function (lhs, rhs) {
|
|
var t = util.getTypes();
|
|
return t.expressionStatement(t.assignmentExpression("=", t.cloneDeep(lhs), rhs));
|
|
};
|
|
Ep.contextProperty = function (name, computed) {
|
|
var t = util.getTypes();
|
|
return t.memberExpression(this.getContextId(), computed ? t.stringLiteral(name) : t.identifier(name), !!computed);
|
|
};
|
|
Ep.stop = function (rval) {
|
|
if (rval) {
|
|
this.setReturnValue(rval);
|
|
}
|
|
this.jump(this.finalLoc);
|
|
};
|
|
Ep.setReturnValue = function (valuePath) {
|
|
util.getTypes().assertExpression(valuePath.value);
|
|
this.emitAssign(this.contextProperty("rval"), this.explodeExpression(valuePath));
|
|
};
|
|
Ep.clearPendingException = function (tryLoc, assignee) {
|
|
var t = util.getTypes();
|
|
t.assertLiteral(tryLoc);
|
|
var catchCall = t.callExpression(this.contextProperty("catch", true), [t.clone(tryLoc)]);
|
|
if (assignee) {
|
|
this.emitAssign(assignee, catchCall);
|
|
} else {
|
|
this.emit(catchCall);
|
|
}
|
|
};
|
|
Ep.jump = function (toLoc) {
|
|
this.emitAssign(this.contextProperty("next"), toLoc);
|
|
this.emit(util.getTypes().breakStatement());
|
|
};
|
|
Ep.jumpIf = function (test, toLoc) {
|
|
var t = util.getTypes();
|
|
t.assertExpression(test);
|
|
t.assertLiteral(toLoc);
|
|
this.emit(t.ifStatement(test, t.blockStatement([this.assign(this.contextProperty("next"), toLoc), t.breakStatement()])));
|
|
};
|
|
Ep.jumpIfNot = function (test, toLoc) {
|
|
var t = util.getTypes();
|
|
t.assertExpression(test);
|
|
t.assertLiteral(toLoc);
|
|
var negatedTest;
|
|
if (t.isUnaryExpression(test) && test.operator === "!") {
|
|
negatedTest = test.argument;
|
|
} else {
|
|
negatedTest = t.unaryExpression("!", test);
|
|
}
|
|
this.emit(t.ifStatement(negatedTest, t.blockStatement([this.assign(this.contextProperty("next"), toLoc), t.breakStatement()])));
|
|
};
|
|
Ep.makeTempVar = function () {
|
|
return this.contextProperty("t" + this.nextTempId++);
|
|
};
|
|
Ep.getContextFunction = function (id) {
|
|
var t = util.getTypes();
|
|
return t.functionExpression(id || null, [this.getContextId()], t.blockStatement([this.getDispatchLoop()]), false, false);
|
|
};
|
|
Ep.getDispatchLoop = function () {
|
|
var self = this;
|
|
var t = util.getTypes();
|
|
var cases = [];
|
|
var current;
|
|
var alreadyEnded = false;
|
|
self.listing.forEach(function (stmt, i) {
|
|
if (self.marked.hasOwnProperty(i)) {
|
|
cases.push(t.switchCase(t.numericLiteral(i), current = []));
|
|
alreadyEnded = false;
|
|
}
|
|
if (!alreadyEnded) {
|
|
current.push(stmt);
|
|
if (t.isCompletionStatement(stmt)) alreadyEnded = true;
|
|
}
|
|
});
|
|
this.finalLoc.value = this.listing.length;
|
|
cases.push(t.switchCase(this.finalLoc, []), t.switchCase(t.stringLiteral("end"), [t.returnStatement(t.callExpression(this.contextProperty("stop"), []))]));
|
|
return t.whileStatement(t.numericLiteral(1), t.switchStatement(t.assignmentExpression("=", this.contextProperty("prev"), this.contextProperty("next")), cases));
|
|
};
|
|
Ep.getTryLocsList = function () {
|
|
if (this.tryEntries.length === 0) {
|
|
return null;
|
|
}
|
|
var t = util.getTypes();
|
|
var lastLocValue = 0;
|
|
return t.arrayExpression(this.tryEntries.map(function (tryEntry) {
|
|
var thisLocValue = tryEntry.firstLoc.value;
|
|
_assert["default"].ok(thisLocValue >= lastLocValue, "try entries out of order");
|
|
lastLocValue = thisLocValue;
|
|
var ce = tryEntry.catchEntry;
|
|
var fe = tryEntry.finallyEntry;
|
|
var locs = [tryEntry.firstLoc, ce ? ce.firstLoc : null];
|
|
if (fe) {
|
|
locs[2] = fe.firstLoc;
|
|
locs[3] = fe.afterLoc;
|
|
}
|
|
return t.arrayExpression(locs.map(function (loc) {
|
|
return loc && t.clone(loc);
|
|
}));
|
|
}));
|
|
};
|
|
Ep.explode = function (path, ignoreResult) {
|
|
var t = util.getTypes();
|
|
var node = path.node;
|
|
var self = this;
|
|
t.assertNode(node);
|
|
if (t.isDeclaration(node)) throw getDeclError(node);
|
|
if (t.isStatement(node)) return self.explodeStatement(path);
|
|
if (t.isExpression(node)) return self.explodeExpression(path, ignoreResult);
|
|
switch (node.type) {
|
|
case "Program":
|
|
return path.get("body").map(self.explodeStatement, self);
|
|
case "VariableDeclarator":
|
|
throw getDeclError(node);
|
|
case "Property":
|
|
case "SwitchCase":
|
|
case "CatchClause":
|
|
throw new Error(node.type + " nodes should be handled by their parents");
|
|
default:
|
|
throw new Error("unknown Node of type " + JSON.stringify(node.type));
|
|
}
|
|
};
|
|
function getDeclError(node) {
|
|
return new Error("all declarations should have been transformed into " + "assignments before the Exploder began its work: " + JSON.stringify(node));
|
|
}
|
|
Ep.explodeStatement = function (path, labelId) {
|
|
var t = util.getTypes();
|
|
var stmt = path.node;
|
|
var self = this;
|
|
var before, after, head;
|
|
t.assertStatement(stmt);
|
|
if (labelId) {
|
|
t.assertIdentifier(labelId);
|
|
} else {
|
|
labelId = null;
|
|
}
|
|
if (t.isBlockStatement(stmt)) {
|
|
path.get("body").forEach(function (path) {
|
|
self.explodeStatement(path);
|
|
});
|
|
return;
|
|
}
|
|
if (!meta.containsLeap(stmt)) {
|
|
self.emit(stmt);
|
|
return;
|
|
}
|
|
switch (stmt.type) {
|
|
case "ExpressionStatement":
|
|
self.explodeExpression(path.get("expression"), true);
|
|
break;
|
|
case "LabeledStatement":
|
|
after = this.loc();
|
|
self.leapManager.withEntry(new leap.LabeledEntry(after, stmt.label), function () {
|
|
self.explodeStatement(path.get("body"), stmt.label);
|
|
});
|
|
self.mark(after);
|
|
break;
|
|
case "WhileStatement":
|
|
before = this.loc();
|
|
after = this.loc();
|
|
self.mark(before);
|
|
self.jumpIfNot(self.explodeExpression(path.get("test")), after);
|
|
self.leapManager.withEntry(new leap.LoopEntry(after, before, labelId), function () {
|
|
self.explodeStatement(path.get("body"));
|
|
});
|
|
self.jump(before);
|
|
self.mark(after);
|
|
break;
|
|
case "DoWhileStatement":
|
|
var first = this.loc();
|
|
var test = this.loc();
|
|
after = this.loc();
|
|
self.mark(first);
|
|
self.leapManager.withEntry(new leap.LoopEntry(after, test, labelId), function () {
|
|
self.explode(path.get("body"));
|
|
});
|
|
self.mark(test);
|
|
self.jumpIf(self.explodeExpression(path.get("test")), first);
|
|
self.mark(after);
|
|
break;
|
|
case "ForStatement":
|
|
head = this.loc();
|
|
var update = this.loc();
|
|
after = this.loc();
|
|
if (stmt.init) {
|
|
self.explode(path.get("init"), true);
|
|
}
|
|
self.mark(head);
|
|
if (stmt.test) {
|
|
self.jumpIfNot(self.explodeExpression(path.get("test")), after);
|
|
}
|
|
self.leapManager.withEntry(new leap.LoopEntry(after, update, labelId), function () {
|
|
self.explodeStatement(path.get("body"));
|
|
});
|
|
self.mark(update);
|
|
if (stmt.update) {
|
|
self.explode(path.get("update"), true);
|
|
}
|
|
self.jump(head);
|
|
self.mark(after);
|
|
break;
|
|
case "TypeCastExpression":
|
|
return self.explodeExpression(path.get("expression"));
|
|
case "ForInStatement":
|
|
head = this.loc();
|
|
after = this.loc();
|
|
var keyIterNextFn = self.makeTempVar();
|
|
self.emitAssign(keyIterNextFn, t.callExpression(util.runtimeProperty("keys"), [self.explodeExpression(path.get("right"))]));
|
|
self.mark(head);
|
|
var keyInfoTmpVar = self.makeTempVar();
|
|
self.jumpIf(t.memberExpression(t.assignmentExpression("=", keyInfoTmpVar, t.callExpression(t.cloneDeep(keyIterNextFn), [])), t.identifier("done"), false), after);
|
|
self.emitAssign(stmt.left, t.memberExpression(t.cloneDeep(keyInfoTmpVar), t.identifier("value"), false));
|
|
self.leapManager.withEntry(new leap.LoopEntry(after, head, labelId), function () {
|
|
self.explodeStatement(path.get("body"));
|
|
});
|
|
self.jump(head);
|
|
self.mark(after);
|
|
break;
|
|
case "BreakStatement":
|
|
self.emitAbruptCompletion({
|
|
type: "break",
|
|
target: self.leapManager.getBreakLoc(stmt.label)
|
|
});
|
|
break;
|
|
case "ContinueStatement":
|
|
self.emitAbruptCompletion({
|
|
type: "continue",
|
|
target: self.leapManager.getContinueLoc(stmt.label)
|
|
});
|
|
break;
|
|
case "SwitchStatement":
|
|
var disc = self.emitAssign(self.makeTempVar(), self.explodeExpression(path.get("discriminant")));
|
|
after = this.loc();
|
|
var defaultLoc = this.loc();
|
|
var condition = defaultLoc;
|
|
var caseLocs = [];
|
|
var cases = stmt.cases || [];
|
|
for (var i = cases.length - 1; i >= 0; --i) {
|
|
var c = cases[i];
|
|
t.assertSwitchCase(c);
|
|
if (c.test) {
|
|
condition = t.conditionalExpression(t.binaryExpression("===", t.cloneDeep(disc), c.test), caseLocs[i] = this.loc(), condition);
|
|
} else {
|
|
caseLocs[i] = defaultLoc;
|
|
}
|
|
}
|
|
var discriminant = path.get("discriminant");
|
|
util.replaceWithOrRemove(discriminant, condition);
|
|
self.jump(self.explodeExpression(discriminant));
|
|
self.leapManager.withEntry(new leap.SwitchEntry(after), function () {
|
|
path.get("cases").forEach(function (casePath) {
|
|
var i = casePath.key;
|
|
self.mark(caseLocs[i]);
|
|
casePath.get("consequent").forEach(function (path) {
|
|
self.explodeStatement(path);
|
|
});
|
|
});
|
|
});
|
|
self.mark(after);
|
|
if (defaultLoc.value === -1) {
|
|
self.mark(defaultLoc);
|
|
_assert["default"].strictEqual(after.value, defaultLoc.value);
|
|
}
|
|
break;
|
|
case "IfStatement":
|
|
var elseLoc = stmt.alternate && this.loc();
|
|
after = this.loc();
|
|
self.jumpIfNot(self.explodeExpression(path.get("test")), elseLoc || after);
|
|
self.explodeStatement(path.get("consequent"));
|
|
if (elseLoc) {
|
|
self.jump(after);
|
|
self.mark(elseLoc);
|
|
self.explodeStatement(path.get("alternate"));
|
|
}
|
|
self.mark(after);
|
|
break;
|
|
case "ReturnStatement":
|
|
self.emitAbruptCompletion({
|
|
type: "return",
|
|
value: self.explodeExpression(path.get("argument"))
|
|
});
|
|
break;
|
|
case "WithStatement":
|
|
throw new Error("WithStatement not supported in generator functions.");
|
|
case "TryStatement":
|
|
after = this.loc();
|
|
var handler = stmt.handler;
|
|
var catchLoc = handler && this.loc();
|
|
var catchEntry = catchLoc && new leap.CatchEntry(catchLoc, handler.param);
|
|
var finallyLoc = stmt.finalizer && this.loc();
|
|
var finallyEntry = finallyLoc && new leap.FinallyEntry(finallyLoc, after);
|
|
var tryEntry = new leap.TryEntry(self.getUnmarkedCurrentLoc(), catchEntry, finallyEntry);
|
|
self.tryEntries.push(tryEntry);
|
|
self.updateContextPrevLoc(tryEntry.firstLoc);
|
|
self.leapManager.withEntry(tryEntry, function () {
|
|
self.explodeStatement(path.get("block"));
|
|
if (catchLoc) {
|
|
if (finallyLoc) {
|
|
self.jump(finallyLoc);
|
|
} else {
|
|
self.jump(after);
|
|
}
|
|
self.updateContextPrevLoc(self.mark(catchLoc));
|
|
var bodyPath = path.get("handler.body");
|
|
var safeParam = self.makeTempVar();
|
|
self.clearPendingException(tryEntry.firstLoc, safeParam);
|
|
bodyPath.traverse(catchParamVisitor, {
|
|
getSafeParam: function getSafeParam() {
|
|
return t.cloneDeep(safeParam);
|
|
},
|
|
catchParamName: handler.param.name
|
|
});
|
|
self.leapManager.withEntry(catchEntry, function () {
|
|
self.explodeStatement(bodyPath);
|
|
});
|
|
}
|
|
if (finallyLoc) {
|
|
self.updateContextPrevLoc(self.mark(finallyLoc));
|
|
self.leapManager.withEntry(finallyEntry, function () {
|
|
self.explodeStatement(path.get("finalizer"));
|
|
});
|
|
self.emit(t.returnStatement(t.callExpression(self.contextProperty("finish"), [finallyEntry.firstLoc])));
|
|
}
|
|
});
|
|
self.mark(after);
|
|
break;
|
|
case "ThrowStatement":
|
|
self.emit(t.throwStatement(self.explodeExpression(path.get("argument"))));
|
|
break;
|
|
case "ClassDeclaration":
|
|
self.emit(self.explodeClass(path));
|
|
break;
|
|
default:
|
|
throw new Error("unknown Statement of type " + JSON.stringify(stmt.type));
|
|
}
|
|
};
|
|
var catchParamVisitor = {
|
|
Identifier: function Identifier(path, state) {
|
|
if (path.node.name === state.catchParamName && util.isReference(path)) {
|
|
util.replaceWithOrRemove(path, state.getSafeParam());
|
|
}
|
|
},
|
|
Scope: function Scope(path, state) {
|
|
if (path.scope.hasOwnBinding(state.catchParamName)) {
|
|
path.skip();
|
|
}
|
|
}
|
|
};
|
|
Ep.emitAbruptCompletion = function (record) {
|
|
if (!isValidCompletion(record)) {
|
|
_assert["default"].ok(false, "invalid completion record: " + JSON.stringify(record));
|
|
}
|
|
_assert["default"].notStrictEqual(record.type, "normal", "normal completions are not abrupt");
|
|
var t = util.getTypes();
|
|
var abruptArgs = [t.stringLiteral(record.type)];
|
|
if (record.type === "break" || record.type === "continue") {
|
|
t.assertLiteral(record.target);
|
|
abruptArgs[1] = this.insertedLocs.has(record.target) ? record.target : t.cloneDeep(record.target);
|
|
} else if (record.type === "return" || record.type === "throw") {
|
|
if (record.value) {
|
|
t.assertExpression(record.value);
|
|
abruptArgs[1] = this.insertedLocs.has(record.value) ? record.value : t.cloneDeep(record.value);
|
|
}
|
|
}
|
|
this.emit(t.returnStatement(t.callExpression(this.contextProperty("abrupt"), abruptArgs)));
|
|
};
|
|
function isValidCompletion(record) {
|
|
var type = record.type;
|
|
if (type === "normal") {
|
|
return !hasOwn.call(record, "target");
|
|
}
|
|
if (type === "break" || type === "continue") {
|
|
return !hasOwn.call(record, "value") && util.getTypes().isLiteral(record.target);
|
|
}
|
|
if (type === "return" || type === "throw") {
|
|
return hasOwn.call(record, "value") && !hasOwn.call(record, "target");
|
|
}
|
|
return false;
|
|
}
|
|
Ep.getUnmarkedCurrentLoc = function () {
|
|
return util.getTypes().numericLiteral(this.listing.length);
|
|
};
|
|
Ep.updateContextPrevLoc = function (loc) {
|
|
var t = util.getTypes();
|
|
if (loc) {
|
|
t.assertLiteral(loc);
|
|
if (loc.value === -1) {
|
|
loc.value = this.listing.length;
|
|
} else {
|
|
_assert["default"].strictEqual(loc.value, this.listing.length);
|
|
}
|
|
} else {
|
|
loc = this.getUnmarkedCurrentLoc();
|
|
}
|
|
this.emitAssign(this.contextProperty("prev"), loc);
|
|
};
|
|
Ep.explodeViaTempVar = function (tempVar, childPath, hasLeapingChildren, ignoreChildResult) {
|
|
_assert["default"].ok(!ignoreChildResult || !tempVar, "Ignoring the result of a child expression but forcing it to " + "be assigned to a temporary variable?");
|
|
var t = util.getTypes();
|
|
var result = this.explodeExpression(childPath, ignoreChildResult);
|
|
if (ignoreChildResult) ; else if (tempVar || hasLeapingChildren && !t.isLiteral(result)) {
|
|
result = this.emitAssign(tempVar || this.makeTempVar(), result);
|
|
}
|
|
return result;
|
|
};
|
|
Ep.explodeExpression = function (path, ignoreResult) {
|
|
var t = util.getTypes();
|
|
var expr = path.node;
|
|
if (expr) {
|
|
t.assertExpression(expr);
|
|
} else {
|
|
return expr;
|
|
}
|
|
var self = this;
|
|
var result;
|
|
var after;
|
|
function finish(expr) {
|
|
t.assertExpression(expr);
|
|
if (ignoreResult) {
|
|
self.emit(expr);
|
|
}
|
|
return expr;
|
|
}
|
|
if (!meta.containsLeap(expr)) {
|
|
return finish(expr);
|
|
}
|
|
var hasLeapingChildren = meta.containsLeap.onlyChildren(expr);
|
|
switch (expr.type) {
|
|
case "MemberExpression":
|
|
return finish(t.memberExpression(self.explodeExpression(path.get("object")), expr.computed ? self.explodeViaTempVar(null, path.get("property"), hasLeapingChildren) : expr.property, expr.computed));
|
|
case "CallExpression":
|
|
var calleePath = path.get("callee");
|
|
var argsPath = path.get("arguments");
|
|
var newCallee;
|
|
var newArgs;
|
|
var hasLeapingArgs = argsPath.some(function (argPath) {
|
|
return meta.containsLeap(argPath.node);
|
|
});
|
|
var injectFirstArg = null;
|
|
if (t.isMemberExpression(calleePath.node)) {
|
|
if (hasLeapingArgs) {
|
|
var newObject = self.explodeViaTempVar(self.makeTempVar(), calleePath.get("object"), hasLeapingChildren);
|
|
var newProperty = calleePath.node.computed ? self.explodeViaTempVar(null, calleePath.get("property"), hasLeapingChildren) : calleePath.node.property;
|
|
injectFirstArg = newObject;
|
|
newCallee = t.memberExpression(t.memberExpression(t.cloneDeep(newObject), newProperty, calleePath.node.computed), t.identifier("call"), false);
|
|
} else {
|
|
newCallee = self.explodeExpression(calleePath);
|
|
}
|
|
} else {
|
|
newCallee = self.explodeViaTempVar(null, calleePath, hasLeapingChildren);
|
|
if (t.isMemberExpression(newCallee)) {
|
|
newCallee = t.sequenceExpression([t.numericLiteral(0), t.cloneDeep(newCallee)]);
|
|
}
|
|
}
|
|
if (hasLeapingArgs) {
|
|
newArgs = argsPath.map(function (argPath) {
|
|
return self.explodeViaTempVar(null, argPath, hasLeapingChildren);
|
|
});
|
|
if (injectFirstArg) newArgs.unshift(injectFirstArg);
|
|
newArgs = newArgs.map(function (arg) {
|
|
return t.cloneDeep(arg);
|
|
});
|
|
} else {
|
|
newArgs = path.node.arguments;
|
|
}
|
|
return finish(t.callExpression(newCallee, newArgs));
|
|
case "NewExpression":
|
|
return finish(t.newExpression(self.explodeViaTempVar(null, path.get("callee"), hasLeapingChildren), path.get("arguments").map(function (argPath) {
|
|
return self.explodeViaTempVar(null, argPath, hasLeapingChildren);
|
|
})));
|
|
case "ObjectExpression":
|
|
return finish(t.objectExpression(path.get("properties").map(function (propPath) {
|
|
if (propPath.isObjectProperty()) {
|
|
return t.objectProperty(propPath.node.key, self.explodeViaTempVar(null, propPath.get("value"), hasLeapingChildren), propPath.node.computed);
|
|
} else {
|
|
return propPath.node;
|
|
}
|
|
})));
|
|
case "ArrayExpression":
|
|
return finish(t.arrayExpression(path.get("elements").map(function (elemPath) {
|
|
if (!elemPath.node) {
|
|
return null;
|
|
}
|
|
if (elemPath.isSpreadElement()) {
|
|
return t.spreadElement(self.explodeViaTempVar(null, elemPath.get("argument"), hasLeapingChildren));
|
|
} else {
|
|
return self.explodeViaTempVar(null, elemPath, hasLeapingChildren);
|
|
}
|
|
})));
|
|
case "SequenceExpression":
|
|
var lastIndex = expr.expressions.length - 1;
|
|
path.get("expressions").forEach(function (exprPath) {
|
|
if (exprPath.key === lastIndex) {
|
|
result = self.explodeExpression(exprPath, ignoreResult);
|
|
} else {
|
|
self.explodeExpression(exprPath, true);
|
|
}
|
|
});
|
|
return result;
|
|
case "LogicalExpression":
|
|
after = this.loc();
|
|
if (!ignoreResult) {
|
|
result = self.makeTempVar();
|
|
}
|
|
var left = self.explodeViaTempVar(result, path.get("left"), hasLeapingChildren);
|
|
if (expr.operator === "&&") {
|
|
self.jumpIfNot(left, after);
|
|
} else {
|
|
_assert["default"].strictEqual(expr.operator, "||");
|
|
self.jumpIf(left, after);
|
|
}
|
|
self.explodeViaTempVar(result, path.get("right"), hasLeapingChildren, ignoreResult);
|
|
self.mark(after);
|
|
return result;
|
|
case "ConditionalExpression":
|
|
var elseLoc = this.loc();
|
|
after = this.loc();
|
|
var test = self.explodeExpression(path.get("test"));
|
|
self.jumpIfNot(test, elseLoc);
|
|
if (!ignoreResult) {
|
|
result = self.makeTempVar();
|
|
}
|
|
self.explodeViaTempVar(result, path.get("consequent"), hasLeapingChildren, ignoreResult);
|
|
self.jump(after);
|
|
self.mark(elseLoc);
|
|
self.explodeViaTempVar(result, path.get("alternate"), hasLeapingChildren, ignoreResult);
|
|
self.mark(after);
|
|
return result;
|
|
case "UnaryExpression":
|
|
return finish(t.unaryExpression(expr.operator, self.explodeExpression(path.get("argument")), !!expr.prefix));
|
|
case "BinaryExpression":
|
|
return finish(t.binaryExpression(expr.operator, self.explodeViaTempVar(null, path.get("left"), hasLeapingChildren), self.explodeViaTempVar(null, path.get("right"), hasLeapingChildren)));
|
|
case "AssignmentExpression":
|
|
if (expr.operator === "=") {
|
|
return finish(t.assignmentExpression(expr.operator, self.explodeExpression(path.get("left")), self.explodeExpression(path.get("right"))));
|
|
}
|
|
var lhs = self.explodeExpression(path.get("left"));
|
|
var temp = self.emitAssign(self.makeTempVar(), lhs);
|
|
return finish(t.assignmentExpression("=", t.cloneDeep(lhs), t.assignmentExpression(expr.operator, t.cloneDeep(temp), self.explodeExpression(path.get("right")))));
|
|
case "UpdateExpression":
|
|
return finish(t.updateExpression(expr.operator, self.explodeExpression(path.get("argument")), expr.prefix));
|
|
case "YieldExpression":
|
|
after = this.loc();
|
|
var arg = expr.argument && self.explodeExpression(path.get("argument"));
|
|
if (arg && expr.delegate) {
|
|
var _result = self.makeTempVar();
|
|
var _ret = t.returnStatement(t.callExpression(self.contextProperty("delegateYield"), [arg, t.stringLiteral(_result.property.name), after]));
|
|
_ret.loc = expr.loc;
|
|
self.emit(_ret);
|
|
self.mark(after);
|
|
return _result;
|
|
}
|
|
self.emitAssign(self.contextProperty("next"), after);
|
|
var ret = t.returnStatement(t.cloneDeep(arg) || null);
|
|
ret.loc = expr.loc;
|
|
self.emit(ret);
|
|
self.mark(after);
|
|
return self.contextProperty("sent");
|
|
case "ClassExpression":
|
|
return finish(self.explodeClass(path));
|
|
default:
|
|
throw new Error("unknown Expression of type " + JSON.stringify(expr.type));
|
|
}
|
|
};
|
|
Ep.explodeClass = function (path) {
|
|
var explodingChildren = [];
|
|
if (path.node.superClass) {
|
|
explodingChildren.push(path.get("superClass"));
|
|
}
|
|
path.get("body.body").forEach(function (member) {
|
|
if (member.node.computed) {
|
|
explodingChildren.push(member.get("key"));
|
|
}
|
|
});
|
|
var hasLeapingChildren = explodingChildren.some(function (child) {
|
|
return meta.containsLeap(child);
|
|
});
|
|
for (var i = 0; i < explodingChildren.length; i++) {
|
|
var child = explodingChildren[i];
|
|
var isLast = i === explodingChildren.length - 1;
|
|
if (isLast) {
|
|
child.replaceWith(this.explodeExpression(child));
|
|
} else {
|
|
child.replaceWith(this.explodeViaTempVar(null, child, hasLeapingChildren));
|
|
}
|
|
}
|
|
return path.node;
|
|
};
|
|
return emit;
|
|
}
|
|
|
|
var replaceShorthandObjectMethod = {};
|
|
|
|
var hasRequiredReplaceShorthandObjectMethod;
|
|
function requireReplaceShorthandObjectMethod() {
|
|
if (hasRequiredReplaceShorthandObjectMethod) return replaceShorthandObjectMethod;
|
|
hasRequiredReplaceShorthandObjectMethod = 1;
|
|
(function (exports) {
|
|
|
|
exports.__esModule = true;
|
|
exports["default"] = replaceShorthandObjectMethod;
|
|
var util = _interopRequireWildcard(requireUtil());
|
|
function _getRequireWildcardCache(nodeInterop) {
|
|
if (typeof WeakMap !== "function") return null;
|
|
var cacheBabelInterop = new WeakMap();
|
|
var cacheNodeInterop = new WeakMap();
|
|
return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
|
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
})(nodeInterop);
|
|
}
|
|
function _interopRequireWildcard(obj, nodeInterop) {
|
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
return obj;
|
|
}
|
|
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
return {
|
|
"default": obj
|
|
};
|
|
}
|
|
var cache = _getRequireWildcardCache(nodeInterop);
|
|
if (cache && cache.has(obj)) {
|
|
return cache.get(obj);
|
|
}
|
|
var newObj = {};
|
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
for (var key in obj) {
|
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
if (desc && (desc.get || desc.set)) {
|
|
Object.defineProperty(newObj, key, desc);
|
|
} else {
|
|
newObj[key] = obj[key];
|
|
}
|
|
}
|
|
}
|
|
newObj["default"] = obj;
|
|
if (cache) {
|
|
cache.set(obj, newObj);
|
|
}
|
|
return newObj;
|
|
}
|
|
function replaceShorthandObjectMethod(path) {
|
|
var t = util.getTypes();
|
|
if (!path.node || !t.isFunction(path.node)) {
|
|
throw new Error("replaceShorthandObjectMethod can only be called on Function AST node paths.");
|
|
}
|
|
if (!t.isObjectMethod(path.node)) {
|
|
return path;
|
|
}
|
|
if (!path.node.generator) {
|
|
return path;
|
|
}
|
|
var parameters = path.node.params.map(function (param) {
|
|
return t.cloneDeep(param);
|
|
});
|
|
var functionExpression = t.functionExpression(null, parameters, t.cloneDeep(path.node.body), path.node.generator, path.node.async);
|
|
util.replaceWithOrRemove(path, t.objectProperty(t.cloneDeep(path.node.key), functionExpression, path.node.computed, false));
|
|
return path.get("value");
|
|
}
|
|
})(replaceShorthandObjectMethod);
|
|
return replaceShorthandObjectMethod;
|
|
}
|
|
|
|
var _interopRequireDefault = interopRequireDefault.exports;
|
|
var _assert = _interopRequireDefault(assert$1.exports);
|
|
var _hoist = requireHoist();
|
|
var _emit = requireEmit();
|
|
var _replaceShorthandObjectMethod = _interopRequireDefault(requireReplaceShorthandObjectMethod());
|
|
var util = _interopRequireWildcard(requireUtil());
|
|
function _getRequireWildcardCache(nodeInterop) {
|
|
if (typeof WeakMap !== "function") return null;
|
|
var cacheBabelInterop = new WeakMap();
|
|
var cacheNodeInterop = new WeakMap();
|
|
return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
|
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
})(nodeInterop);
|
|
}
|
|
function _interopRequireWildcard(obj, nodeInterop) {
|
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
return obj;
|
|
}
|
|
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
return {
|
|
"default": obj
|
|
};
|
|
}
|
|
var cache = _getRequireWildcardCache(nodeInterop);
|
|
if (cache && cache.has(obj)) {
|
|
return cache.get(obj);
|
|
}
|
|
var newObj = {};
|
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
for (var key in obj) {
|
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
if (desc && (desc.get || desc.set)) {
|
|
Object.defineProperty(newObj, key, desc);
|
|
} else {
|
|
newObj[key] = obj[key];
|
|
}
|
|
}
|
|
}
|
|
newObj["default"] = obj;
|
|
if (cache) {
|
|
cache.set(obj, newObj);
|
|
}
|
|
return newObj;
|
|
}
|
|
visit.getVisitor = function (_ref) {
|
|
var t = _ref.types;
|
|
return {
|
|
Method: function Method(path, state) {
|
|
var node = path.node;
|
|
if (!shouldRegenerate(node, state)) return;
|
|
var container = t.functionExpression(null, [], t.cloneNode(node.body, false), node.generator, node.async);
|
|
path.get("body").set("body", [t.returnStatement(t.callExpression(container, []))]);
|
|
node.async = false;
|
|
node.generator = false;
|
|
path.get("body.body.0.argument.callee").unwrapFunctionEnvironment();
|
|
},
|
|
Function: {
|
|
exit: util.wrapWithTypes(t, function (path, state) {
|
|
var node = path.node;
|
|
if (!shouldRegenerate(node, state)) return;
|
|
path = (0, _replaceShorthandObjectMethod["default"])(path);
|
|
node = path.node;
|
|
var contextId = path.scope.generateUidIdentifier("context");
|
|
var argsId = path.scope.generateUidIdentifier("args");
|
|
path.ensureBlock();
|
|
var bodyBlockPath = path.get("body");
|
|
if (node.async) {
|
|
bodyBlockPath.traverse(awaitVisitor);
|
|
}
|
|
bodyBlockPath.traverse(functionSentVisitor, {
|
|
context: contextId
|
|
});
|
|
var outerBody = [];
|
|
var innerBody = [];
|
|
bodyBlockPath.get("body").forEach(function (childPath) {
|
|
var node = childPath.node;
|
|
if (t.isExpressionStatement(node) && t.isStringLiteral(node.expression)) {
|
|
outerBody.push(node);
|
|
} else if (node && node._blockHoist != null) {
|
|
outerBody.push(node);
|
|
} else {
|
|
innerBody.push(node);
|
|
}
|
|
});
|
|
if (outerBody.length > 0) {
|
|
bodyBlockPath.node.body = innerBody;
|
|
}
|
|
var outerFnExpr = getOuterFnExpr(path);
|
|
t.assertIdentifier(node.id);
|
|
var innerFnId = t.identifier(node.id.name + "$");
|
|
var vars = (0, _hoist.hoist)(path);
|
|
var context = {
|
|
usesThis: false,
|
|
usesArguments: false,
|
|
getArgsId: function getArgsId() {
|
|
return t.clone(argsId);
|
|
}
|
|
};
|
|
path.traverse(argumentsThisVisitor, context);
|
|
if (context.usesArguments) {
|
|
vars = vars || t.variableDeclaration("var", []);
|
|
vars.declarations.push(t.variableDeclarator(t.clone(argsId), t.identifier("arguments")));
|
|
}
|
|
var emitter = new _emit.Emitter(contextId);
|
|
emitter.explode(path.get("body"));
|
|
if (vars && vars.declarations.length > 0) {
|
|
outerBody.push(vars);
|
|
}
|
|
var wrapArgs = [emitter.getContextFunction(innerFnId)];
|
|
var tryLocsList = emitter.getTryLocsList();
|
|
if (node.generator) {
|
|
wrapArgs.push(outerFnExpr);
|
|
} else if (context.usesThis || tryLocsList || node.async) {
|
|
wrapArgs.push(t.nullLiteral());
|
|
}
|
|
if (context.usesThis) {
|
|
wrapArgs.push(t.thisExpression());
|
|
} else if (tryLocsList || node.async) {
|
|
wrapArgs.push(t.nullLiteral());
|
|
}
|
|
if (tryLocsList) {
|
|
wrapArgs.push(tryLocsList);
|
|
} else if (node.async) {
|
|
wrapArgs.push(t.nullLiteral());
|
|
}
|
|
if (node.async) {
|
|
var currentScope = path.scope;
|
|
do {
|
|
if (currentScope.hasOwnBinding("Promise")) currentScope.rename("Promise");
|
|
} while (currentScope = currentScope.parent);
|
|
wrapArgs.push(t.identifier("Promise"));
|
|
}
|
|
var wrapCall = t.callExpression(util.runtimeProperty(node.async ? "async" : "wrap"), wrapArgs);
|
|
outerBody.push(t.returnStatement(wrapCall));
|
|
node.body = t.blockStatement(outerBody);
|
|
path.get("body.body").forEach(function (p) {
|
|
return p.scope.registerDeclaration(p);
|
|
});
|
|
var oldDirectives = bodyBlockPath.node.directives;
|
|
if (oldDirectives) {
|
|
node.body.directives = oldDirectives;
|
|
}
|
|
var wasGeneratorFunction = node.generator;
|
|
if (wasGeneratorFunction) {
|
|
node.generator = false;
|
|
}
|
|
if (node.async) {
|
|
node.async = false;
|
|
}
|
|
if (wasGeneratorFunction && t.isExpression(node)) {
|
|
util.replaceWithOrRemove(path, t.callExpression(util.runtimeProperty("mark"), [node]));
|
|
path.addComment("leading", "#__PURE__");
|
|
}
|
|
var insertedLocs = emitter.getInsertedLocs();
|
|
path.traverse({
|
|
NumericLiteral: function NumericLiteral(path) {
|
|
if (!insertedLocs.has(path.node)) {
|
|
return;
|
|
}
|
|
path.replaceWith(t.numericLiteral(path.node.value));
|
|
}
|
|
});
|
|
path.requeue();
|
|
})
|
|
}
|
|
};
|
|
};
|
|
function shouldRegenerate(node, state) {
|
|
if (node.generator) {
|
|
if (node.async) {
|
|
return state.opts.asyncGenerators !== false;
|
|
} else {
|
|
return state.opts.generators !== false;
|
|
}
|
|
} else if (node.async) {
|
|
return state.opts.async !== false;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
function getOuterFnExpr(funPath) {
|
|
var t = util.getTypes();
|
|
var node = funPath.node;
|
|
t.assertFunction(node);
|
|
if (!node.id) {
|
|
node.id = funPath.scope.parent.generateUidIdentifier("callee");
|
|
}
|
|
if (node.generator && t.isFunctionDeclaration(node)) {
|
|
return getMarkedFunctionId(funPath);
|
|
}
|
|
return t.clone(node.id);
|
|
}
|
|
var markInfo = new WeakMap();
|
|
function getMarkInfo(node) {
|
|
if (!markInfo.has(node)) {
|
|
markInfo.set(node, {});
|
|
}
|
|
return markInfo.get(node);
|
|
}
|
|
function getMarkedFunctionId(funPath) {
|
|
var t = util.getTypes();
|
|
var node = funPath.node;
|
|
t.assertIdentifier(node.id);
|
|
var blockPath = funPath.findParent(function (path) {
|
|
return path.isProgram() || path.isBlockStatement();
|
|
});
|
|
if (!blockPath) {
|
|
return node.id;
|
|
}
|
|
var block = blockPath.node;
|
|
_assert["default"].ok(Array.isArray(block.body));
|
|
var info = getMarkInfo(block);
|
|
if (!info.decl) {
|
|
info.decl = t.variableDeclaration("var", []);
|
|
blockPath.unshiftContainer("body", info.decl);
|
|
info.declPath = blockPath.get("body.0");
|
|
}
|
|
_assert["default"].strictEqual(info.declPath.node, info.decl);
|
|
var markedId = blockPath.scope.generateUidIdentifier("marked");
|
|
var markCallExp = t.callExpression(util.runtimeProperty("mark"), [t.clone(node.id)]);
|
|
var index = info.decl.declarations.push(t.variableDeclarator(markedId, markCallExp)) - 1;
|
|
var markCallExpPath = info.declPath.get("declarations." + index + ".init");
|
|
_assert["default"].strictEqual(markCallExpPath.node, markCallExp);
|
|
markCallExpPath.addComment("leading", "#__PURE__");
|
|
return t.clone(markedId);
|
|
}
|
|
var argumentsThisVisitor = {
|
|
"FunctionExpression|FunctionDeclaration|Method": function FunctionExpressionFunctionDeclarationMethod(path) {
|
|
path.skip();
|
|
},
|
|
Identifier: function Identifier(path, state) {
|
|
if (path.node.name === "arguments" && util.isReference(path)) {
|
|
util.replaceWithOrRemove(path, state.getArgsId());
|
|
state.usesArguments = true;
|
|
}
|
|
},
|
|
ThisExpression: function ThisExpression(path, state) {
|
|
state.usesThis = true;
|
|
}
|
|
};
|
|
var functionSentVisitor = {
|
|
MetaProperty: function MetaProperty(path) {
|
|
var node = path.node;
|
|
if (node.meta.name === "function" && node.property.name === "sent") {
|
|
var t = util.getTypes();
|
|
util.replaceWithOrRemove(path, t.memberExpression(t.clone(this.context), t.identifier("_sent")));
|
|
}
|
|
}
|
|
};
|
|
var awaitVisitor = {
|
|
Function: function Function(path) {
|
|
path.skip();
|
|
},
|
|
AwaitExpression: function AwaitExpression(path) {
|
|
var t = util.getTypes();
|
|
var argument = path.node.argument;
|
|
util.replaceWithOrRemove(path, t.yieldExpression(t.callExpression(util.runtimeProperty("awrap"), [argument]), false));
|
|
}
|
|
};
|
|
|
|
(function (exports) {
|
|
|
|
exports.__esModule = true;
|
|
exports["default"] = _default;
|
|
var _visit = visit;
|
|
function _default(context) {
|
|
var plugin = {
|
|
visitor: (0, _visit.getVisitor)(context)
|
|
};
|
|
var version = context && context.version;
|
|
if (version && parseInt(version, 10) >= 7) {
|
|
plugin.name = "regenerator-transform";
|
|
}
|
|
return plugin;
|
|
}
|
|
})(lib$1);
|
|
|
|
var _transformRegenerator = declare(function (_ref) {
|
|
var t = _ref.types,
|
|
assertVersion = _ref.assertVersion;
|
|
assertVersion(7);
|
|
return {
|
|
name: "transform-regenerator",
|
|
inherits: lib$1["default"],
|
|
visitor: {
|
|
MemberExpression: function MemberExpression(path) {
|
|
{
|
|
var _this$availableHelper;
|
|
if (!((_this$availableHelper = this.availableHelper) != null && _this$availableHelper.call(this, "regeneratorRuntime"))) {
|
|
return;
|
|
}
|
|
}
|
|
var obj = path.get("object");
|
|
if (obj.isIdentifier({
|
|
name: "regeneratorRuntime"
|
|
})) {
|
|
var helper = this.addHelper("regeneratorRuntime");
|
|
{
|
|
if (t.isArrowFunctionExpression(helper)) {
|
|
obj.replaceWith(helper.body);
|
|
return;
|
|
}
|
|
}
|
|
obj.replaceWith(t.callExpression(helper, []));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformReservedWords = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-reserved-words",
|
|
visitor: {
|
|
"BindingIdentifier|ReferencedIdentifier": function BindingIdentifierReferencedIdentifier(path) {
|
|
if (!isValidES3Identifier(path.node.name)) {
|
|
path.scope.rename(path.node.name);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
function bool$1(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var semver$7 = bool$1(browser$1$1.env["BABEL_8_BREAKING"]) ? requireSemverBABEL_8_BREAKINGTrue() : requireSemver();
|
|
|
|
function hasMinVersion$2(minVersion, runtimeVersion) {
|
|
if (!runtimeVersion) return true;
|
|
if (semver$7.valid(runtimeVersion)) runtimeVersion = "^" + runtimeVersion;
|
|
return !semver$7.intersects("<" + minVersion, runtimeVersion) && !semver$7.intersects(">=8.0.0", runtimeVersion);
|
|
}
|
|
|
|
function getRuntimePath (moduleName, dirname, absoluteRuntime) {
|
|
if (absoluteRuntime === false) return moduleName;
|
|
resolveFSPath();
|
|
}
|
|
function resolveFSPath() {
|
|
throw new Error("The 'absoluteRuntime' option is not supported when using @babel/standalone.");
|
|
}
|
|
|
|
var semver$6 = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
exports = module.exports = SemVer;
|
|
var debug;
|
|
if (typeof browser$1$1 === 'object' && browser$1$1.env && browser$1$1.env.NODE_DEBUG && /\bsemver\b/i.test(browser$1$1.env.NODE_DEBUG)) {
|
|
debug = function debug() {
|
|
var args = Array.prototype.slice.call(arguments, 0);
|
|
args.unshift('SEMVER');
|
|
console.log.apply(console, args);
|
|
};
|
|
} else {
|
|
debug = function debug() {};
|
|
}
|
|
exports.SEMVER_SPEC_VERSION = '2.0.0';
|
|
var MAX_LENGTH = 256;
|
|
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
|
var MAX_SAFE_COMPONENT_LENGTH = 16;
|
|
var re = exports.re = [];
|
|
var src = exports.src = [];
|
|
var t = exports.tokens = {};
|
|
var R = 0;
|
|
function tok(n) {
|
|
t[n] = R++;
|
|
}
|
|
tok('NUMERICIDENTIFIER');
|
|
src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*';
|
|
tok('NUMERICIDENTIFIERLOOSE');
|
|
src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+';
|
|
tok('NONNUMERICIDENTIFIER');
|
|
src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
|
|
tok('MAINVERSION');
|
|
src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')';
|
|
tok('MAINVERSIONLOOSE');
|
|
src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')';
|
|
tok('PRERELEASEIDENTIFIER');
|
|
src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
|
|
tok('PRERELEASEIDENTIFIERLOOSE');
|
|
src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
|
|
tok('PRERELEASE');
|
|
src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))';
|
|
tok('PRERELEASELOOSE');
|
|
src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))';
|
|
tok('BUILDIDENTIFIER');
|
|
src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
|
|
tok('BUILD');
|
|
src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))';
|
|
tok('FULL');
|
|
tok('FULLPLAIN');
|
|
src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + src[t.PRERELEASE] + '?' + src[t.BUILD] + '?';
|
|
src[t.FULL] = '^' + src[t.FULLPLAIN] + '$';
|
|
tok('LOOSEPLAIN');
|
|
src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + '?' + src[t.BUILD] + '?';
|
|
tok('LOOSE');
|
|
src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$';
|
|
tok('GTLT');
|
|
src[t.GTLT] = '((?:<|>)?=?)';
|
|
tok('XRANGEIDENTIFIERLOOSE');
|
|
src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
|
|
tok('XRANGEIDENTIFIER');
|
|
src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*';
|
|
tok('XRANGEPLAIN');
|
|
src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:' + src[t.PRERELEASE] + ')?' + src[t.BUILD] + '?' + ')?)?';
|
|
tok('XRANGEPLAINLOOSE');
|
|
src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:' + src[t.PRERELEASELOOSE] + ')?' + src[t.BUILD] + '?' + ')?)?';
|
|
tok('XRANGE');
|
|
src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$';
|
|
tok('XRANGELOOSE');
|
|
src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$';
|
|
tok('COERCE');
|
|
src[t.COERCE] = '(^|[^\\d])' + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:$|[^\\d])';
|
|
tok('COERCERTL');
|
|
re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g');
|
|
tok('LONETILDE');
|
|
src[t.LONETILDE] = '(?:~>?)';
|
|
tok('TILDETRIM');
|
|
src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+';
|
|
re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g');
|
|
var tildeTrimReplace = '$1~';
|
|
tok('TILDE');
|
|
src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$';
|
|
tok('TILDELOOSE');
|
|
src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$';
|
|
tok('LONECARET');
|
|
src[t.LONECARET] = '(?:\\^)';
|
|
tok('CARETTRIM');
|
|
src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+';
|
|
re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g');
|
|
var caretTrimReplace = '$1^';
|
|
tok('CARET');
|
|
src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$';
|
|
tok('CARETLOOSE');
|
|
src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$';
|
|
tok('COMPARATORLOOSE');
|
|
src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$';
|
|
tok('COMPARATOR');
|
|
src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$';
|
|
tok('COMPARATORTRIM');
|
|
src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')';
|
|
re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g');
|
|
var comparatorTrimReplace = '$1$2$3';
|
|
tok('HYPHENRANGE');
|
|
src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAIN] + ')' + '\\s*$';
|
|
tok('HYPHENRANGELOOSE');
|
|
src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s*$';
|
|
tok('STAR');
|
|
src[t.STAR] = '(<|>)?=?\\s*\\*';
|
|
for (var i = 0; i < R; i++) {
|
|
debug(i, src[i]);
|
|
if (!re[i]) {
|
|
re[i] = new RegExp(src[i]);
|
|
}
|
|
}
|
|
exports.parse = parse;
|
|
function parse(version, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (version instanceof SemVer) {
|
|
return version;
|
|
}
|
|
if (typeof version !== 'string') {
|
|
return null;
|
|
}
|
|
if (version.length > MAX_LENGTH) {
|
|
return null;
|
|
}
|
|
var r = options.loose ? re[t.LOOSE] : re[t.FULL];
|
|
if (!r.test(version)) {
|
|
return null;
|
|
}
|
|
try {
|
|
return new SemVer(version, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.valid = valid;
|
|
function valid(version, options) {
|
|
var v = parse(version, options);
|
|
return v ? v.version : null;
|
|
}
|
|
exports.clean = clean;
|
|
function clean(version, options) {
|
|
var s = parse(version.trim().replace(/^[=v]+/, ''), options);
|
|
return s ? s.version : null;
|
|
}
|
|
exports.SemVer = SemVer;
|
|
function SemVer(version, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (version instanceof SemVer) {
|
|
if (version.loose === options.loose) {
|
|
return version;
|
|
} else {
|
|
version = version.version;
|
|
}
|
|
} else if (typeof version !== 'string') {
|
|
throw new TypeError('Invalid Version: ' + version);
|
|
}
|
|
if (version.length > MAX_LENGTH) {
|
|
throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters');
|
|
}
|
|
if (!(this instanceof SemVer)) {
|
|
return new SemVer(version, options);
|
|
}
|
|
debug('SemVer', version, options);
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
|
|
if (!m) {
|
|
throw new TypeError('Invalid Version: ' + version);
|
|
}
|
|
this.raw = version;
|
|
this.major = +m[1];
|
|
this.minor = +m[2];
|
|
this.patch = +m[3];
|
|
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
|
|
throw new TypeError('Invalid major version');
|
|
}
|
|
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
|
|
throw new TypeError('Invalid minor version');
|
|
}
|
|
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
|
|
throw new TypeError('Invalid patch version');
|
|
}
|
|
if (!m[4]) {
|
|
this.prerelease = [];
|
|
} else {
|
|
this.prerelease = m[4].split('.').map(function (id) {
|
|
if (/^[0-9]+$/.test(id)) {
|
|
var num = +id;
|
|
if (num >= 0 && num < MAX_SAFE_INTEGER) {
|
|
return num;
|
|
}
|
|
}
|
|
return id;
|
|
});
|
|
}
|
|
this.build = m[5] ? m[5].split('.') : [];
|
|
this.format();
|
|
}
|
|
SemVer.prototype.format = function () {
|
|
this.version = this.major + '.' + this.minor + '.' + this.patch;
|
|
if (this.prerelease.length) {
|
|
this.version += '-' + this.prerelease.join('.');
|
|
}
|
|
return this.version;
|
|
};
|
|
SemVer.prototype.toString = function () {
|
|
return this.version;
|
|
};
|
|
SemVer.prototype.compare = function (other) {
|
|
debug('SemVer.compare', this.version, this.options, other);
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
return this.compareMain(other) || this.comparePre(other);
|
|
};
|
|
SemVer.prototype.compareMain = function (other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
|
|
};
|
|
SemVer.prototype.comparePre = function (other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
if (this.prerelease.length && !other.prerelease.length) {
|
|
return -1;
|
|
} else if (!this.prerelease.length && other.prerelease.length) {
|
|
return 1;
|
|
} else if (!this.prerelease.length && !other.prerelease.length) {
|
|
return 0;
|
|
}
|
|
var i = 0;
|
|
do {
|
|
var a = this.prerelease[i];
|
|
var b = other.prerelease[i];
|
|
debug('prerelease compare', i, a, b);
|
|
if (a === undefined && b === undefined) {
|
|
return 0;
|
|
} else if (b === undefined) {
|
|
return 1;
|
|
} else if (a === undefined) {
|
|
return -1;
|
|
} else if (a === b) {
|
|
continue;
|
|
} else {
|
|
return compareIdentifiers(a, b);
|
|
}
|
|
} while (++i);
|
|
};
|
|
SemVer.prototype.compareBuild = function (other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
var i = 0;
|
|
do {
|
|
var a = this.build[i];
|
|
var b = other.build[i];
|
|
debug('prerelease compare', i, a, b);
|
|
if (a === undefined && b === undefined) {
|
|
return 0;
|
|
} else if (b === undefined) {
|
|
return 1;
|
|
} else if (a === undefined) {
|
|
return -1;
|
|
} else if (a === b) {
|
|
continue;
|
|
} else {
|
|
return compareIdentifiers(a, b);
|
|
}
|
|
} while (++i);
|
|
};
|
|
SemVer.prototype.inc = function (release, identifier) {
|
|
switch (release) {
|
|
case 'premajor':
|
|
this.prerelease.length = 0;
|
|
this.patch = 0;
|
|
this.minor = 0;
|
|
this.major++;
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'preminor':
|
|
this.prerelease.length = 0;
|
|
this.patch = 0;
|
|
this.minor++;
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'prepatch':
|
|
this.prerelease.length = 0;
|
|
this.inc('patch', identifier);
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'prerelease':
|
|
if (this.prerelease.length === 0) {
|
|
this.inc('patch', identifier);
|
|
}
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'major':
|
|
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
|
|
this.major++;
|
|
}
|
|
this.minor = 0;
|
|
this.patch = 0;
|
|
this.prerelease = [];
|
|
break;
|
|
case 'minor':
|
|
if (this.patch !== 0 || this.prerelease.length === 0) {
|
|
this.minor++;
|
|
}
|
|
this.patch = 0;
|
|
this.prerelease = [];
|
|
break;
|
|
case 'patch':
|
|
if (this.prerelease.length === 0) {
|
|
this.patch++;
|
|
}
|
|
this.prerelease = [];
|
|
break;
|
|
case 'pre':
|
|
if (this.prerelease.length === 0) {
|
|
this.prerelease = [0];
|
|
} else {
|
|
var i = this.prerelease.length;
|
|
while (--i >= 0) {
|
|
if (typeof this.prerelease[i] === 'number') {
|
|
this.prerelease[i]++;
|
|
i = -2;
|
|
}
|
|
}
|
|
if (i === -1) {
|
|
this.prerelease.push(0);
|
|
}
|
|
}
|
|
if (identifier) {
|
|
if (this.prerelease[0] === identifier) {
|
|
if (isNaN(this.prerelease[1])) {
|
|
this.prerelease = [identifier, 0];
|
|
}
|
|
} else {
|
|
this.prerelease = [identifier, 0];
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
throw new Error('invalid increment argument: ' + release);
|
|
}
|
|
this.format();
|
|
this.raw = this.version;
|
|
return this;
|
|
};
|
|
exports.inc = inc;
|
|
function inc(version, release, loose, identifier) {
|
|
if (typeof loose === 'string') {
|
|
identifier = loose;
|
|
loose = undefined;
|
|
}
|
|
try {
|
|
return new SemVer(version, loose).inc(release, identifier).version;
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.diff = diff;
|
|
function diff(version1, version2) {
|
|
if (eq(version1, version2)) {
|
|
return null;
|
|
} else {
|
|
var v1 = parse(version1);
|
|
var v2 = parse(version2);
|
|
var prefix = '';
|
|
if (v1.prerelease.length || v2.prerelease.length) {
|
|
prefix = 'pre';
|
|
var defaultResult = 'prerelease';
|
|
}
|
|
for (var key in v1) {
|
|
if (key === 'major' || key === 'minor' || key === 'patch') {
|
|
if (v1[key] !== v2[key]) {
|
|
return prefix + key;
|
|
}
|
|
}
|
|
}
|
|
return defaultResult;
|
|
}
|
|
}
|
|
exports.compareIdentifiers = compareIdentifiers;
|
|
var numeric = /^[0-9]+$/;
|
|
function compareIdentifiers(a, b) {
|
|
var anum = numeric.test(a);
|
|
var bnum = numeric.test(b);
|
|
if (anum && bnum) {
|
|
a = +a;
|
|
b = +b;
|
|
}
|
|
return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
|
|
}
|
|
exports.rcompareIdentifiers = rcompareIdentifiers;
|
|
function rcompareIdentifiers(a, b) {
|
|
return compareIdentifiers(b, a);
|
|
}
|
|
exports.major = major;
|
|
function major(a, loose) {
|
|
return new SemVer(a, loose).major;
|
|
}
|
|
exports.minor = minor;
|
|
function minor(a, loose) {
|
|
return new SemVer(a, loose).minor;
|
|
}
|
|
exports.patch = patch;
|
|
function patch(a, loose) {
|
|
return new SemVer(a, loose).patch;
|
|
}
|
|
exports.compare = compare;
|
|
function compare(a, b, loose) {
|
|
return new SemVer(a, loose).compare(new SemVer(b, loose));
|
|
}
|
|
exports.compareLoose = compareLoose;
|
|
function compareLoose(a, b) {
|
|
return compare(a, b, true);
|
|
}
|
|
exports.compareBuild = compareBuild;
|
|
function compareBuild(a, b, loose) {
|
|
var versionA = new SemVer(a, loose);
|
|
var versionB = new SemVer(b, loose);
|
|
return versionA.compare(versionB) || versionA.compareBuild(versionB);
|
|
}
|
|
exports.rcompare = rcompare;
|
|
function rcompare(a, b, loose) {
|
|
return compare(b, a, loose);
|
|
}
|
|
exports.sort = sort;
|
|
function sort(list, loose) {
|
|
return list.sort(function (a, b) {
|
|
return exports.compareBuild(a, b, loose);
|
|
});
|
|
}
|
|
exports.rsort = rsort;
|
|
function rsort(list, loose) {
|
|
return list.sort(function (a, b) {
|
|
return exports.compareBuild(b, a, loose);
|
|
});
|
|
}
|
|
exports.gt = gt;
|
|
function gt(a, b, loose) {
|
|
return compare(a, b, loose) > 0;
|
|
}
|
|
exports.lt = lt;
|
|
function lt(a, b, loose) {
|
|
return compare(a, b, loose) < 0;
|
|
}
|
|
exports.eq = eq;
|
|
function eq(a, b, loose) {
|
|
return compare(a, b, loose) === 0;
|
|
}
|
|
exports.neq = neq;
|
|
function neq(a, b, loose) {
|
|
return compare(a, b, loose) !== 0;
|
|
}
|
|
exports.gte = gte;
|
|
function gte(a, b, loose) {
|
|
return compare(a, b, loose) >= 0;
|
|
}
|
|
exports.lte = lte;
|
|
function lte(a, b, loose) {
|
|
return compare(a, b, loose) <= 0;
|
|
}
|
|
exports.cmp = cmp;
|
|
function cmp(a, op, b, loose) {
|
|
switch (op) {
|
|
case '===':
|
|
if (typeof a === 'object') a = a.version;
|
|
if (typeof b === 'object') b = b.version;
|
|
return a === b;
|
|
case '!==':
|
|
if (typeof a === 'object') a = a.version;
|
|
if (typeof b === 'object') b = b.version;
|
|
return a !== b;
|
|
case '':
|
|
case '=':
|
|
case '==':
|
|
return eq(a, b, loose);
|
|
case '!=':
|
|
return neq(a, b, loose);
|
|
case '>':
|
|
return gt(a, b, loose);
|
|
case '>=':
|
|
return gte(a, b, loose);
|
|
case '<':
|
|
return lt(a, b, loose);
|
|
case '<=':
|
|
return lte(a, b, loose);
|
|
default:
|
|
throw new TypeError('Invalid operator: ' + op);
|
|
}
|
|
}
|
|
exports.Comparator = Comparator;
|
|
function Comparator(comp, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (comp instanceof Comparator) {
|
|
if (comp.loose === !!options.loose) {
|
|
return comp;
|
|
} else {
|
|
comp = comp.value;
|
|
}
|
|
}
|
|
if (!(this instanceof Comparator)) {
|
|
return new Comparator(comp, options);
|
|
}
|
|
debug('comparator', comp, options);
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
this.parse(comp);
|
|
if (this.semver === ANY) {
|
|
this.value = '';
|
|
} else {
|
|
this.value = this.operator + this.semver.version;
|
|
}
|
|
debug('comp', this);
|
|
}
|
|
var ANY = {};
|
|
Comparator.prototype.parse = function (comp) {
|
|
var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
var m = comp.match(r);
|
|
if (!m) {
|
|
throw new TypeError('Invalid comparator: ' + comp);
|
|
}
|
|
this.operator = m[1] !== undefined ? m[1] : '';
|
|
if (this.operator === '=') {
|
|
this.operator = '';
|
|
}
|
|
if (!m[2]) {
|
|
this.semver = ANY;
|
|
} else {
|
|
this.semver = new SemVer(m[2], this.options.loose);
|
|
}
|
|
};
|
|
Comparator.prototype.toString = function () {
|
|
return this.value;
|
|
};
|
|
Comparator.prototype.test = function (version) {
|
|
debug('Comparator.test', version, this.options.loose);
|
|
if (this.semver === ANY || version === ANY) {
|
|
return true;
|
|
}
|
|
if (typeof version === 'string') {
|
|
try {
|
|
version = new SemVer(version, this.options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
}
|
|
return cmp(version, this.operator, this.semver, this.options);
|
|
};
|
|
Comparator.prototype.intersects = function (comp, options) {
|
|
if (!(comp instanceof Comparator)) {
|
|
throw new TypeError('a Comparator is required');
|
|
}
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
var rangeTmp;
|
|
if (this.operator === '') {
|
|
if (this.value === '') {
|
|
return true;
|
|
}
|
|
rangeTmp = new Range(comp.value, options);
|
|
return satisfies(this.value, rangeTmp, options);
|
|
} else if (comp.operator === '') {
|
|
if (comp.value === '') {
|
|
return true;
|
|
}
|
|
rangeTmp = new Range(this.value, options);
|
|
return satisfies(comp.semver, rangeTmp, options);
|
|
}
|
|
var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
|
|
var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
|
|
var sameSemVer = this.semver.version === comp.semver.version;
|
|
var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
|
|
var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
|
|
var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
|
|
return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
|
|
};
|
|
exports.Range = Range;
|
|
function Range(range, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (range instanceof Range) {
|
|
if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
|
|
return range;
|
|
} else {
|
|
return new Range(range.raw, options);
|
|
}
|
|
}
|
|
if (range instanceof Comparator) {
|
|
return new Range(range.value, options);
|
|
}
|
|
if (!(this instanceof Range)) {
|
|
return new Range(range, options);
|
|
}
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
this.includePrerelease = !!options.includePrerelease;
|
|
this.raw = range;
|
|
this.set = range.split(/\s*\|\|\s*/).map(function (range) {
|
|
return this.parseRange(range.trim());
|
|
}, this).filter(function (c) {
|
|
return c.length;
|
|
});
|
|
if (!this.set.length) {
|
|
throw new TypeError('Invalid SemVer Range: ' + range);
|
|
}
|
|
this.format();
|
|
}
|
|
Range.prototype.format = function () {
|
|
this.range = this.set.map(function (comps) {
|
|
return comps.join(' ').trim();
|
|
}).join('||').trim();
|
|
return this.range;
|
|
};
|
|
Range.prototype.toString = function () {
|
|
return this.range;
|
|
};
|
|
Range.prototype.parseRange = function (range) {
|
|
var loose = this.options.loose;
|
|
range = range.trim();
|
|
var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
|
|
range = range.replace(hr, hyphenReplace);
|
|
debug('hyphen replace', range);
|
|
range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
|
|
debug('comparator trim', range, re[t.COMPARATORTRIM]);
|
|
range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
|
|
range = range.replace(re[t.CARETTRIM], caretTrimReplace);
|
|
range = range.split(/\s+/).join(' ');
|
|
var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
var set = range.split(' ').map(function (comp) {
|
|
return parseComparator(comp, this.options);
|
|
}, this).join(' ').split(/\s+/);
|
|
if (this.options.loose) {
|
|
set = set.filter(function (comp) {
|
|
return !!comp.match(compRe);
|
|
});
|
|
}
|
|
set = set.map(function (comp) {
|
|
return new Comparator(comp, this.options);
|
|
}, this);
|
|
return set;
|
|
};
|
|
Range.prototype.intersects = function (range, options) {
|
|
if (!(range instanceof Range)) {
|
|
throw new TypeError('a Range is required');
|
|
}
|
|
return this.set.some(function (thisComparators) {
|
|
return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) {
|
|
return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) {
|
|
return rangeComparators.every(function (rangeComparator) {
|
|
return thisComparator.intersects(rangeComparator, options);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
};
|
|
function isSatisfiable(comparators, options) {
|
|
var result = true;
|
|
var remainingComparators = comparators.slice();
|
|
var testComparator = remainingComparators.pop();
|
|
while (result && remainingComparators.length) {
|
|
result = remainingComparators.every(function (otherComparator) {
|
|
return testComparator.intersects(otherComparator, options);
|
|
});
|
|
testComparator = remainingComparators.pop();
|
|
}
|
|
return result;
|
|
}
|
|
exports.toComparators = toComparators;
|
|
function toComparators(range, options) {
|
|
return new Range(range, options).set.map(function (comp) {
|
|
return comp.map(function (c) {
|
|
return c.value;
|
|
}).join(' ').trim().split(' ');
|
|
});
|
|
}
|
|
function parseComparator(comp, options) {
|
|
debug('comp', comp, options);
|
|
comp = replaceCarets(comp, options);
|
|
debug('caret', comp);
|
|
comp = replaceTildes(comp, options);
|
|
debug('tildes', comp);
|
|
comp = replaceXRanges(comp, options);
|
|
debug('xrange', comp);
|
|
comp = replaceStars(comp, options);
|
|
debug('stars', comp);
|
|
return comp;
|
|
}
|
|
function isX(id) {
|
|
return !id || id.toLowerCase() === 'x' || id === '*';
|
|
}
|
|
function replaceTildes(comp, options) {
|
|
return comp.trim().split(/\s+/).map(function (comp) {
|
|
return replaceTilde(comp, options);
|
|
}).join(' ');
|
|
}
|
|
function replaceTilde(comp, options) {
|
|
var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
return comp.replace(r, function (_, M, m, p, pr) {
|
|
debug('tilde', comp, _, M, m, p, pr);
|
|
var ret;
|
|
if (isX(M)) {
|
|
ret = '';
|
|
} else if (isX(m)) {
|
|
ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
|
|
} else if (isX(p)) {
|
|
ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
|
|
} else if (pr) {
|
|
debug('replaceTilde pr', pr);
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
|
|
}
|
|
debug('tilde return', ret);
|
|
return ret;
|
|
});
|
|
}
|
|
function replaceCarets(comp, options) {
|
|
return comp.trim().split(/\s+/).map(function (comp) {
|
|
return replaceCaret(comp, options);
|
|
}).join(' ');
|
|
}
|
|
function replaceCaret(comp, options) {
|
|
debug('caret', comp, options);
|
|
var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
|
|
return comp.replace(r, function (_, M, m, p, pr) {
|
|
debug('caret', comp, _, M, m, p, pr);
|
|
var ret;
|
|
if (isX(M)) {
|
|
ret = '';
|
|
} else if (isX(m)) {
|
|
ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
|
|
} else if (isX(p)) {
|
|
if (M === '0') {
|
|
ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';
|
|
}
|
|
} else if (pr) {
|
|
debug('replaceCaret pr', pr);
|
|
if (M === '0') {
|
|
if (m === '0') {
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1);
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
|
|
}
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0';
|
|
}
|
|
} else {
|
|
debug('no pr');
|
|
if (M === '0') {
|
|
if (m === '0') {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1);
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
|
|
}
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0';
|
|
}
|
|
}
|
|
debug('caret return', ret);
|
|
return ret;
|
|
});
|
|
}
|
|
function replaceXRanges(comp, options) {
|
|
debug('replaceXRanges', comp, options);
|
|
return comp.split(/\s+/).map(function (comp) {
|
|
return replaceXRange(comp, options);
|
|
}).join(' ');
|
|
}
|
|
function replaceXRange(comp, options) {
|
|
comp = comp.trim();
|
|
var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
|
|
debug('xRange', comp, ret, gtlt, M, m, p, pr);
|
|
var xM = isX(M);
|
|
var xm = xM || isX(m);
|
|
var xp = xm || isX(p);
|
|
var anyX = xp;
|
|
if (gtlt === '=' && anyX) {
|
|
gtlt = '';
|
|
}
|
|
pr = options.includePrerelease ? '-0' : '';
|
|
if (xM) {
|
|
if (gtlt === '>' || gtlt === '<') {
|
|
ret = '<0.0.0-0';
|
|
} else {
|
|
ret = '*';
|
|
}
|
|
} else if (gtlt && anyX) {
|
|
if (xm) {
|
|
m = 0;
|
|
}
|
|
p = 0;
|
|
if (gtlt === '>') {
|
|
gtlt = '>=';
|
|
if (xm) {
|
|
M = +M + 1;
|
|
m = 0;
|
|
p = 0;
|
|
} else {
|
|
m = +m + 1;
|
|
p = 0;
|
|
}
|
|
} else if (gtlt === '<=') {
|
|
gtlt = '<';
|
|
if (xm) {
|
|
M = +M + 1;
|
|
} else {
|
|
m = +m + 1;
|
|
}
|
|
}
|
|
ret = gtlt + M + '.' + m + '.' + p + pr;
|
|
} else if (xm) {
|
|
ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr;
|
|
} else if (xp) {
|
|
ret = '>=' + M + '.' + m + '.0' + pr + ' <' + M + '.' + (+m + 1) + '.0' + pr;
|
|
}
|
|
debug('xRange return', ret);
|
|
return ret;
|
|
});
|
|
}
|
|
function replaceStars(comp, options) {
|
|
debug('replaceStars', comp, options);
|
|
return comp.trim().replace(re[t.STAR], '');
|
|
}
|
|
function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
|
|
if (isX(fM)) {
|
|
from = '';
|
|
} else if (isX(fm)) {
|
|
from = '>=' + fM + '.0.0';
|
|
} else if (isX(fp)) {
|
|
from = '>=' + fM + '.' + fm + '.0';
|
|
} else {
|
|
from = '>=' + from;
|
|
}
|
|
if (isX(tM)) {
|
|
to = '';
|
|
} else if (isX(tm)) {
|
|
to = '<' + (+tM + 1) + '.0.0';
|
|
} else if (isX(tp)) {
|
|
to = '<' + tM + '.' + (+tm + 1) + '.0';
|
|
} else if (tpr) {
|
|
to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
|
|
} else {
|
|
to = '<=' + to;
|
|
}
|
|
return (from + ' ' + to).trim();
|
|
}
|
|
Range.prototype.test = function (version) {
|
|
if (!version) {
|
|
return false;
|
|
}
|
|
if (typeof version === 'string') {
|
|
try {
|
|
version = new SemVer(version, this.options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
}
|
|
for (var i = 0; i < this.set.length; i++) {
|
|
if (testSet(this.set[i], version, this.options)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
function testSet(set, version, options) {
|
|
for (var i = 0; i < set.length; i++) {
|
|
if (!set[i].test(version)) {
|
|
return false;
|
|
}
|
|
}
|
|
if (version.prerelease.length && !options.includePrerelease) {
|
|
for (i = 0; i < set.length; i++) {
|
|
debug(set[i].semver);
|
|
if (set[i].semver === ANY) {
|
|
continue;
|
|
}
|
|
if (set[i].semver.prerelease.length > 0) {
|
|
var allowed = set[i].semver;
|
|
if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
exports.satisfies = satisfies;
|
|
function satisfies(version, range, options) {
|
|
try {
|
|
range = new Range(range, options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
return range.test(version);
|
|
}
|
|
exports.maxSatisfying = maxSatisfying;
|
|
function maxSatisfying(versions, range, options) {
|
|
var max = null;
|
|
var maxSV = null;
|
|
try {
|
|
var rangeObj = new Range(range, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
versions.forEach(function (v) {
|
|
if (rangeObj.test(v)) {
|
|
if (!max || maxSV.compare(v) === -1) {
|
|
max = v;
|
|
maxSV = new SemVer(max, options);
|
|
}
|
|
}
|
|
});
|
|
return max;
|
|
}
|
|
exports.minSatisfying = minSatisfying;
|
|
function minSatisfying(versions, range, options) {
|
|
var min = null;
|
|
var minSV = null;
|
|
try {
|
|
var rangeObj = new Range(range, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
versions.forEach(function (v) {
|
|
if (rangeObj.test(v)) {
|
|
if (!min || minSV.compare(v) === 1) {
|
|
min = v;
|
|
minSV = new SemVer(min, options);
|
|
}
|
|
}
|
|
});
|
|
return min;
|
|
}
|
|
exports.minVersion = minVersion;
|
|
function minVersion(range, loose) {
|
|
range = new Range(range, loose);
|
|
var minver = new SemVer('0.0.0');
|
|
if (range.test(minver)) {
|
|
return minver;
|
|
}
|
|
minver = new SemVer('0.0.0-0');
|
|
if (range.test(minver)) {
|
|
return minver;
|
|
}
|
|
minver = null;
|
|
for (var i = 0; i < range.set.length; ++i) {
|
|
var comparators = range.set[i];
|
|
comparators.forEach(function (comparator) {
|
|
var compver = new SemVer(comparator.semver.version);
|
|
switch (comparator.operator) {
|
|
case '>':
|
|
if (compver.prerelease.length === 0) {
|
|
compver.patch++;
|
|
} else {
|
|
compver.prerelease.push(0);
|
|
}
|
|
compver.raw = compver.format();
|
|
case '':
|
|
case '>=':
|
|
if (!minver || gt(minver, compver)) {
|
|
minver = compver;
|
|
}
|
|
break;
|
|
case '<':
|
|
case '<=':
|
|
break;
|
|
default:
|
|
throw new Error('Unexpected operation: ' + comparator.operator);
|
|
}
|
|
});
|
|
}
|
|
if (minver && range.test(minver)) {
|
|
return minver;
|
|
}
|
|
return null;
|
|
}
|
|
exports.validRange = validRange;
|
|
function validRange(range, options) {
|
|
try {
|
|
return new Range(range, options).range || '*';
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.ltr = ltr;
|
|
function ltr(version, range, options) {
|
|
return outside(version, range, '<', options);
|
|
}
|
|
exports.gtr = gtr;
|
|
function gtr(version, range, options) {
|
|
return outside(version, range, '>', options);
|
|
}
|
|
exports.outside = outside;
|
|
function outside(version, range, hilo, options) {
|
|
version = new SemVer(version, options);
|
|
range = new Range(range, options);
|
|
var gtfn, ltefn, ltfn, comp, ecomp;
|
|
switch (hilo) {
|
|
case '>':
|
|
gtfn = gt;
|
|
ltefn = lte;
|
|
ltfn = lt;
|
|
comp = '>';
|
|
ecomp = '>=';
|
|
break;
|
|
case '<':
|
|
gtfn = lt;
|
|
ltefn = gte;
|
|
ltfn = gt;
|
|
comp = '<';
|
|
ecomp = '<=';
|
|
break;
|
|
default:
|
|
throw new TypeError('Must provide a hilo val of "<" or ">"');
|
|
}
|
|
if (satisfies(version, range, options)) {
|
|
return false;
|
|
}
|
|
for (var i = 0; i < range.set.length; ++i) {
|
|
var comparators = range.set[i];
|
|
var high = null;
|
|
var low = null;
|
|
comparators.forEach(function (comparator) {
|
|
if (comparator.semver === ANY) {
|
|
comparator = new Comparator('>=0.0.0');
|
|
}
|
|
high = high || comparator;
|
|
low = low || comparator;
|
|
if (gtfn(comparator.semver, high.semver, options)) {
|
|
high = comparator;
|
|
} else if (ltfn(comparator.semver, low.semver, options)) {
|
|
low = comparator;
|
|
}
|
|
});
|
|
if (high.operator === comp || high.operator === ecomp) {
|
|
return false;
|
|
}
|
|
if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
|
|
return false;
|
|
} else if (low.operator === ecomp && ltfn(version, low.semver)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
exports.prerelease = prerelease;
|
|
function prerelease(version, options) {
|
|
var parsed = parse(version, options);
|
|
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
}
|
|
exports.intersects = intersects;
|
|
function intersects(r1, r2, options) {
|
|
r1 = new Range(r1, options);
|
|
r2 = new Range(r2, options);
|
|
return r1.intersects(r2);
|
|
}
|
|
exports.coerce = coerce;
|
|
function coerce(version, options) {
|
|
if (version instanceof SemVer) {
|
|
return version;
|
|
}
|
|
if (typeof version === 'number') {
|
|
version = String(version);
|
|
}
|
|
if (typeof version !== 'string') {
|
|
return null;
|
|
}
|
|
options = options || {};
|
|
var match = null;
|
|
if (!options.rtl) {
|
|
match = version.match(re[t.COERCE]);
|
|
} else {
|
|
var next;
|
|
while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
|
|
if (!match || next.index + next[0].length !== match.index + match[0].length) {
|
|
match = next;
|
|
}
|
|
re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
|
|
}
|
|
re[t.COERCERTL].lastIndex = -1;
|
|
}
|
|
if (match === null) {
|
|
return null;
|
|
}
|
|
return parse(match[2] + '.' + (match[3] || '0') + '.' + (match[4] || '0'), options);
|
|
}
|
|
})(semver$6, semver$6.exports);
|
|
var semver$5 = semver$6.exports;
|
|
|
|
var _excluded$1 = ["method", "targets", "ignoreBrowserslistConfig", "configPath", "debug", "shouldInjectPolyfill", "absoluteImports"];
|
|
var _templateObject$5, _templateObject2$3, _templateObject3$2;
|
|
var _ref$5 = undefined || _babel,
|
|
t$1$3 = _ref$5.types,
|
|
template$1 = _ref$5.template;
|
|
function intersection$3(a, b) {
|
|
var result = new Set();
|
|
a.forEach(function (v) {
|
|
return b.has(v) && result.add(v);
|
|
});
|
|
return result;
|
|
}
|
|
function has$1$1(object, key) {
|
|
return Object.prototype.hasOwnProperty.call(object, key);
|
|
}
|
|
function getType$1(target) {
|
|
return Object.prototype.toString.call(target).slice(8, -1);
|
|
}
|
|
function resolveId$1(path) {
|
|
if (path.isIdentifier() && !path.scope.hasBinding(path.node.name, true)) {
|
|
return path.node.name;
|
|
}
|
|
var _path$evaluate = path.evaluate(),
|
|
deopt = _path$evaluate.deopt;
|
|
if (deopt && deopt.isIdentifier()) {
|
|
return deopt.node.name;
|
|
}
|
|
}
|
|
function resolveKey$1(path, computed) {
|
|
if (computed === void 0) {
|
|
computed = false;
|
|
}
|
|
var scope = path.scope;
|
|
if (path.isStringLiteral()) return path.node.value;
|
|
var isIdentifier = path.isIdentifier();
|
|
if (isIdentifier && !(computed || path.parent.computed)) {
|
|
return path.node.name;
|
|
}
|
|
if (computed && path.isMemberExpression() && path.get("object").isIdentifier({
|
|
name: "Symbol"
|
|
}) && !scope.hasBinding("Symbol", true)) {
|
|
var sym = resolveKey$1(path.get("property"), path.node.computed);
|
|
if (sym) return "Symbol." + sym;
|
|
}
|
|
if (!isIdentifier || scope.hasBinding(path.node.name, true)) {
|
|
var _path$evaluate2 = path.evaluate(),
|
|
value = _path$evaluate2.value;
|
|
if (typeof value === "string") return value;
|
|
}
|
|
}
|
|
function resolveSource$1(obj) {
|
|
if (obj.isMemberExpression() && obj.get("property").isIdentifier({
|
|
name: "prototype"
|
|
})) {
|
|
var _id = resolveId$1(obj.get("object"));
|
|
if (_id) {
|
|
return {
|
|
id: _id,
|
|
placement: "prototype"
|
|
};
|
|
}
|
|
return {
|
|
id: null,
|
|
placement: null
|
|
};
|
|
}
|
|
var id = resolveId$1(obj);
|
|
if (id) {
|
|
return {
|
|
id: id,
|
|
placement: "static"
|
|
};
|
|
}
|
|
var _obj$evaluate = obj.evaluate(),
|
|
value = _obj$evaluate.value;
|
|
if (value !== undefined) {
|
|
return {
|
|
id: getType$1(value),
|
|
placement: "prototype"
|
|
};
|
|
} else if (obj.isRegExpLiteral()) {
|
|
return {
|
|
id: "RegExp",
|
|
placement: "prototype"
|
|
};
|
|
} else if (obj.isFunction()) {
|
|
return {
|
|
id: "Function",
|
|
placement: "prototype"
|
|
};
|
|
}
|
|
return {
|
|
id: null,
|
|
placement: null
|
|
};
|
|
}
|
|
function getImportSource$2(_ref2) {
|
|
var node = _ref2.node;
|
|
if (node.specifiers.length === 0) return node.source.value;
|
|
}
|
|
function getRequireSource$2(_ref3) {
|
|
var node = _ref3.node;
|
|
if (!t$1$3.isExpressionStatement(node)) return;
|
|
var expression = node.expression;
|
|
if (t$1$3.isCallExpression(expression) && t$1$3.isIdentifier(expression.callee) && expression.callee.name === "require" && expression.arguments.length === 1 && t$1$3.isStringLiteral(expression.arguments[0])) {
|
|
return expression.arguments[0].value;
|
|
}
|
|
}
|
|
function hoist$1(node) {
|
|
node._blockHoist = 3;
|
|
return node;
|
|
}
|
|
function createUtilsGetter$1(cache) {
|
|
return function (path) {
|
|
var prog = path.findParent(function (p) {
|
|
return p.isProgram();
|
|
});
|
|
return {
|
|
injectGlobalImport: function injectGlobalImport(url) {
|
|
cache.storeAnonymous(prog, url, function (isScript, source) {
|
|
return isScript ? template$1.statement.ast(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteralLoose(["require(", ")"])), source) : t$1$3.importDeclaration([], source);
|
|
});
|
|
},
|
|
injectNamedImport: function injectNamedImport(url, name, hint) {
|
|
if (hint === void 0) {
|
|
hint = name;
|
|
}
|
|
return cache.storeNamed(prog, url, name, function (isScript, source, name) {
|
|
var id = prog.scope.generateUidIdentifier(hint);
|
|
return {
|
|
node: isScript ? hoist$1(template$1.statement.ast(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteralLoose(["\n var ", " = require(", ").", "\n "])), id, source, name)) : t$1$3.importDeclaration([t$1$3.importSpecifier(id, name)], source),
|
|
name: id.name
|
|
};
|
|
});
|
|
},
|
|
injectDefaultImport: function injectDefaultImport(url, hint) {
|
|
if (hint === void 0) {
|
|
hint = url;
|
|
}
|
|
return cache.storeNamed(prog, url, "default", function (isScript, source) {
|
|
var id = prog.scope.generateUidIdentifier(hint);
|
|
return {
|
|
node: isScript ? hoist$1(template$1.statement.ast(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteralLoose(["var ", " = require(", ")"])), id, source)) : t$1$3.importDeclaration([t$1$3.importDefaultSpecifier(id)], source),
|
|
name: id.name
|
|
};
|
|
});
|
|
}
|
|
};
|
|
};
|
|
}
|
|
var _ref4$1 = undefined || _babel,
|
|
t$7 = _ref4$1.types;
|
|
var ImportsCache$1 = function () {
|
|
function ImportsCache(resolver) {
|
|
this._imports = new WeakMap();
|
|
this._anonymousImports = new WeakMap();
|
|
this._lastImports = new WeakMap();
|
|
this._resolver = resolver;
|
|
}
|
|
var _proto = ImportsCache.prototype;
|
|
_proto.storeAnonymous = function storeAnonymous(programPath, url, getVal) {
|
|
var key = this._normalizeKey(programPath, url);
|
|
var imports = this._ensure(this._anonymousImports, programPath, Set);
|
|
if (imports.has(key)) return;
|
|
var node = getVal(programPath.node.sourceType === "script", t$7.stringLiteral(this._resolver(url)));
|
|
imports.add(key);
|
|
this._injectImport(programPath, node);
|
|
};
|
|
_proto.storeNamed = function storeNamed(programPath, url, name, getVal) {
|
|
var key = this._normalizeKey(programPath, url, name);
|
|
var imports = this._ensure(this._imports, programPath, Map);
|
|
if (!imports.has(key)) {
|
|
var _getVal = getVal(programPath.node.sourceType === "script", t$7.stringLiteral(this._resolver(url)), t$7.identifier(name)),
|
|
node = _getVal.node,
|
|
id = _getVal.name;
|
|
imports.set(key, id);
|
|
this._injectImport(programPath, node);
|
|
}
|
|
return t$7.identifier(imports.get(key));
|
|
};
|
|
_proto._injectImport = function _injectImport(programPath, node) {
|
|
var lastImport = this._lastImports.get(programPath);
|
|
var newNodes;
|
|
if (lastImport && lastImport.node && lastImport.parent === programPath.node && lastImport.container === programPath.node.body) {
|
|
newNodes = lastImport.insertAfter(node);
|
|
} else {
|
|
newNodes = programPath.unshiftContainer("body", node);
|
|
}
|
|
var newNode = newNodes[newNodes.length - 1];
|
|
this._lastImports.set(programPath, newNode);
|
|
};
|
|
_proto._ensure = function _ensure(map, programPath, Collection) {
|
|
var collection = map.get(programPath);
|
|
if (!collection) {
|
|
collection = new Collection();
|
|
map.set(programPath, collection);
|
|
}
|
|
return collection;
|
|
};
|
|
_proto._normalizeKey = function _normalizeKey(programPath, url, name) {
|
|
if (name === void 0) {
|
|
name = "";
|
|
}
|
|
var sourceType = programPath.node.sourceType;
|
|
return (name && sourceType) + "::" + url + "::" + name;
|
|
};
|
|
return _createClass(ImportsCache);
|
|
}();
|
|
var presetEnvSilentDebugHeader$1 = "#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets";
|
|
function stringifyTargetsMultiline$1(targets) {
|
|
return JSON.stringify(prettifyTargets(targets), null, 2);
|
|
}
|
|
function patternToRegExp$1(pattern) {
|
|
if (pattern instanceof RegExp) return pattern;
|
|
try {
|
|
return new RegExp("^" + pattern + "$");
|
|
} catch (_unused) {
|
|
return null;
|
|
}
|
|
}
|
|
function buildUnusedError$1(label, unused) {
|
|
if (!unused.length) return "";
|
|
return " - The following \"" + label + "\" patterns didn't match any polyfill:\n" + unused.map(function (original) {
|
|
return " " + String(original) + "\n";
|
|
}).join("");
|
|
}
|
|
function buldDuplicatesError$1(duplicates) {
|
|
if (!duplicates.size) return "";
|
|
return " - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\n" + Array.from(duplicates, function (name) {
|
|
return " " + name + "\n";
|
|
}).join("");
|
|
}
|
|
function validateIncludeExclude$1(provider, polyfills, includePatterns, excludePatterns) {
|
|
var current;
|
|
var filter = function filter(pattern) {
|
|
var regexp = patternToRegExp$1(pattern);
|
|
if (!regexp) return false;
|
|
var matched = false;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(polyfills), _step; !(_step = _iterator()).done;) {
|
|
var polyfill = _step.value;
|
|
if (regexp.test(polyfill)) {
|
|
matched = true;
|
|
current.add(polyfill);
|
|
}
|
|
}
|
|
return !matched;
|
|
};
|
|
var include = current = new Set();
|
|
var unusedInclude = Array.from(includePatterns).filter(filter);
|
|
var exclude = current = new Set();
|
|
var unusedExclude = Array.from(excludePatterns).filter(filter);
|
|
var duplicates = intersection$3(include, exclude);
|
|
if (duplicates.size > 0 || unusedInclude.length > 0 || unusedExclude.length > 0) {
|
|
throw new Error("Error while validating the \"" + provider + "\" provider options:\n" + buildUnusedError$1("include", unusedInclude) + buildUnusedError$1("exclude", unusedExclude) + buldDuplicatesError$1(duplicates));
|
|
}
|
|
return {
|
|
include: include,
|
|
exclude: exclude
|
|
};
|
|
}
|
|
function applyMissingDependenciesDefaults$1(options, babelApi) {
|
|
var _options$missingDepen = options.missingDependencies,
|
|
missingDependencies = _options$missingDepen === void 0 ? {} : _options$missingDepen;
|
|
if (missingDependencies === false) return false;
|
|
var caller = babelApi.caller(function (caller) {
|
|
return caller == null ? void 0 : caller.name;
|
|
});
|
|
var _missingDependencies$ = missingDependencies.log,
|
|
log = _missingDependencies$ === void 0 ? "deferred" : _missingDependencies$,
|
|
_missingDependencies$2 = missingDependencies.inject,
|
|
inject = _missingDependencies$2 === void 0 ? caller === "rollup-plugin-babel" ? "throw" : "import" : _missingDependencies$2,
|
|
_missingDependencies$3 = missingDependencies.all,
|
|
all = _missingDependencies$3 === void 0 ? false : _missingDependencies$3;
|
|
return {
|
|
log: log,
|
|
inject: inject,
|
|
all: all
|
|
};
|
|
}
|
|
var usage$1 = function usage(callProvider) {
|
|
function property(object, key, placement, path) {
|
|
return callProvider({
|
|
kind: "property",
|
|
object: object,
|
|
key: key,
|
|
placement: placement
|
|
}, path);
|
|
}
|
|
return {
|
|
ReferencedIdentifier: function ReferencedIdentifier(path) {
|
|
var name = path.node.name,
|
|
scope = path.scope;
|
|
if (scope.getBindingIdentifier(name)) return;
|
|
callProvider({
|
|
kind: "global",
|
|
name: name
|
|
}, path);
|
|
},
|
|
MemberExpression: function MemberExpression(path) {
|
|
var key = resolveKey$1(path.get("property"), path.node.computed);
|
|
if (!key || key === "prototype") return;
|
|
var object = path.get("object");
|
|
if (object.isIdentifier()) {
|
|
var binding = object.scope.getBinding(object.node.name);
|
|
if (binding && binding.path.isImportNamespaceSpecifier()) return;
|
|
}
|
|
var source = resolveSource$1(object);
|
|
return property(source.id, key, source.placement, path);
|
|
},
|
|
ObjectPattern: function ObjectPattern(path) {
|
|
var parentPath = path.parentPath,
|
|
parent = path.parent;
|
|
var obj;
|
|
if (parentPath.isVariableDeclarator()) {
|
|
obj = parentPath.get("init");
|
|
} else if (parentPath.isAssignmentExpression()) {
|
|
obj = parentPath.get("right");
|
|
} else if (parentPath.isFunction()) {
|
|
var grand = parentPath.parentPath;
|
|
if (grand.isCallExpression() || grand.isNewExpression()) {
|
|
if (grand.node.callee === parent) {
|
|
obj = grand.get("arguments")[path.key];
|
|
}
|
|
}
|
|
}
|
|
var id = null;
|
|
var placement = null;
|
|
if (obj) {
|
|
var _resolveSource = resolveSource$1(obj);
|
|
id = _resolveSource.id;
|
|
placement = _resolveSource.placement;
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(path.get("properties")), _step2; !(_step2 = _iterator2()).done;) {
|
|
var prop = _step2.value;
|
|
if (prop.isObjectProperty()) {
|
|
var key = resolveKey$1(prop.get("key"));
|
|
if (key) property(id, key, placement, prop);
|
|
}
|
|
}
|
|
},
|
|
BinaryExpression: function BinaryExpression(path) {
|
|
if (path.node.operator !== "in") return;
|
|
var source = resolveSource$1(path.get("right"));
|
|
var key = resolveKey$1(path.get("left"), true);
|
|
if (!key) return;
|
|
callProvider({
|
|
kind: "in",
|
|
object: source.id,
|
|
key: key,
|
|
placement: source.placement
|
|
}, path);
|
|
}
|
|
};
|
|
};
|
|
var entry$1 = function entry(callProvider) {
|
|
return {
|
|
ImportDeclaration: function ImportDeclaration(path) {
|
|
var source = getImportSource$2(path);
|
|
if (!source) return;
|
|
callProvider({
|
|
kind: "import",
|
|
source: source
|
|
}, path);
|
|
},
|
|
Program: function Program(path) {
|
|
path.get("body").forEach(function (bodyPath) {
|
|
var source = getRequireSource$2(bodyPath);
|
|
if (!source) return;
|
|
callProvider({
|
|
kind: "import",
|
|
source: source
|
|
}, bodyPath);
|
|
});
|
|
}
|
|
};
|
|
};
|
|
function resolve$1(dirname, moduleName, absoluteImports) {
|
|
if (absoluteImports === false) return moduleName;
|
|
throw new Error("\"absoluteImports\" is not supported in bundles prepared for the browser.");
|
|
}
|
|
function has$6(basedir, name) {
|
|
return true;
|
|
}
|
|
function logMissing$1(missingDeps) {}
|
|
function laterLogMissing$1(missingDeps) {}
|
|
var PossibleGlobalObjects$1 = new Set(["global", "globalThis", "self", "window"]);
|
|
function createMetaResolver$1(polyfills) {
|
|
var staticP = polyfills["static"],
|
|
instanceP = polyfills.instance,
|
|
globalP = polyfills.global;
|
|
return function (meta) {
|
|
if (meta.kind === "global" && globalP && has$1$1(globalP, meta.name)) {
|
|
return {
|
|
kind: "global",
|
|
desc: globalP[meta.name],
|
|
name: meta.name
|
|
};
|
|
}
|
|
if (meta.kind === "property" || meta.kind === "in") {
|
|
var placement = meta.placement,
|
|
object = meta.object,
|
|
key = meta.key;
|
|
if (object && placement === "static") {
|
|
if (globalP && PossibleGlobalObjects$1.has(object) && has$1$1(globalP, key)) {
|
|
return {
|
|
kind: "global",
|
|
desc: globalP[key],
|
|
name: key
|
|
};
|
|
}
|
|
if (staticP && has$1$1(staticP, object) && has$1$1(staticP[object], key)) {
|
|
return {
|
|
kind: "static",
|
|
desc: staticP[object][key],
|
|
name: object + "$" + key
|
|
};
|
|
}
|
|
}
|
|
if (instanceP && has$1$1(instanceP, key)) {
|
|
return {
|
|
kind: "instance",
|
|
desc: instanceP[key],
|
|
name: "" + key
|
|
};
|
|
}
|
|
}
|
|
};
|
|
}
|
|
var getTargets$1 = getTargets$2["default"] || getTargets$2;
|
|
function resolveOptions$1(options, babelApi) {
|
|
var method = options.method,
|
|
targetsOption = options.targets,
|
|
ignoreBrowserslistConfig = options.ignoreBrowserslistConfig,
|
|
configPath = options.configPath,
|
|
debug = options.debug,
|
|
shouldInjectPolyfill = options.shouldInjectPolyfill,
|
|
absoluteImports = options.absoluteImports,
|
|
providerOptions = _objectWithoutProperties(options, _excluded$1);
|
|
if (isEmpty$1(options)) {
|
|
throw new Error("This plugin requires options, for example:\n {\n \"plugins\": [\n [\"<plugin name>\", { method: \"usage-pure\" }]\n ]\n }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md");
|
|
}
|
|
var methodName;
|
|
if (method === "usage-global") methodName = "usageGlobal";else if (method === "entry-global") methodName = "entryGlobal";else if (method === "usage-pure") methodName = "usagePure";else if (typeof method !== "string") {
|
|
throw new Error(".method must be a string");
|
|
} else {
|
|
throw new Error(".method must be one of \"entry-global\", \"usage-global\"" + (" or \"usage-pure\" (received " + JSON.stringify(method) + ")"));
|
|
}
|
|
if (typeof shouldInjectPolyfill === "function") {
|
|
if (options.include || options.exclude) {
|
|
throw new Error(".include and .exclude are not supported when using the" + " .shouldInjectPolyfill function.");
|
|
}
|
|
} else if (shouldInjectPolyfill != null) {
|
|
throw new Error(".shouldInjectPolyfill must be a function, or undefined" + (" (received " + JSON.stringify(shouldInjectPolyfill) + ")"));
|
|
}
|
|
if (absoluteImports != null && typeof absoluteImports !== "boolean" && typeof absoluteImports !== "string") {
|
|
throw new Error(".absoluteImports must be a boolean, a string, or undefined" + (" (received " + JSON.stringify(absoluteImports) + ")"));
|
|
}
|
|
var targets;
|
|
if (targetsOption || configPath || ignoreBrowserslistConfig) {
|
|
var targetsObj = typeof targetsOption === "string" || Array.isArray(targetsOption) ? {
|
|
browsers: targetsOption
|
|
} : targetsOption;
|
|
targets = getTargets$1(targetsObj, {
|
|
ignoreBrowserslistConfig: ignoreBrowserslistConfig,
|
|
configPath: configPath
|
|
});
|
|
} else {
|
|
targets = babelApi.targets();
|
|
}
|
|
return {
|
|
method: method,
|
|
methodName: methodName,
|
|
targets: targets,
|
|
absoluteImports: absoluteImports != null ? absoluteImports : false,
|
|
shouldInjectPolyfill: shouldInjectPolyfill,
|
|
debug: !!debug,
|
|
providerOptions: providerOptions
|
|
};
|
|
}
|
|
function instantiateProvider$1(factory, options, missingDependencies, dirname, debugLog, babelApi) {
|
|
var _resolveOptions = resolveOptions$1(options, babelApi),
|
|
method = _resolveOptions.method,
|
|
methodName = _resolveOptions.methodName,
|
|
targets = _resolveOptions.targets,
|
|
_debug = _resolveOptions.debug,
|
|
_shouldInjectPolyfill = _resolveOptions.shouldInjectPolyfill,
|
|
providerOptions = _resolveOptions.providerOptions,
|
|
absoluteImports = _resolveOptions.absoluteImports;
|
|
var getUtils = createUtilsGetter$1(new ImportsCache$1(function (moduleName) {
|
|
return resolve$1(dirname, moduleName, absoluteImports);
|
|
}));
|
|
var include, exclude;
|
|
var polyfillsSupport;
|
|
var polyfillsNames;
|
|
var filterPolyfills;
|
|
var depsCache = new Map();
|
|
var api = {
|
|
babel: babelApi,
|
|
getUtils: getUtils,
|
|
method: options.method,
|
|
targets: targets,
|
|
createMetaResolver: createMetaResolver$1,
|
|
shouldInjectPolyfill: function shouldInjectPolyfill(name) {
|
|
if (polyfillsNames === undefined) {
|
|
throw new Error("Internal error in the " + factory.name + " provider: " + "shouldInjectPolyfill() can't be called during initialization.");
|
|
}
|
|
if (!polyfillsNames.has(name)) {
|
|
console.warn("Internal error in the " + provider.name + " provider: " + ("unknown polyfill \"" + name + "\"."));
|
|
}
|
|
if (filterPolyfills && !filterPolyfills(name)) return false;
|
|
var shouldInject = isRequired(name, targets, {
|
|
compatData: polyfillsSupport,
|
|
includes: include,
|
|
excludes: exclude
|
|
});
|
|
if (_shouldInjectPolyfill) {
|
|
shouldInject = _shouldInjectPolyfill(name, shouldInject);
|
|
if (typeof shouldInject !== "boolean") {
|
|
throw new Error(".shouldInjectPolyfill must return a boolean.");
|
|
}
|
|
}
|
|
return shouldInject;
|
|
},
|
|
debug: function debug(name) {
|
|
var _debugLog, _debugLog$polyfillsSu;
|
|
debugLog().found = true;
|
|
if (!_debug || !name) return;
|
|
if (debugLog().polyfills.has(provider.name)) return;
|
|
debugLog().polyfills.add(name);
|
|
(_debugLog$polyfillsSu = (_debugLog = debugLog()).polyfillsSupport) != null ? _debugLog$polyfillsSu : _debugLog.polyfillsSupport = polyfillsSupport;
|
|
},
|
|
assertDependency: function assertDependency(name, version) {
|
|
if (version === void 0) {
|
|
version = "*";
|
|
}
|
|
if (missingDependencies === false) return;
|
|
if (absoluteImports) {
|
|
return;
|
|
}
|
|
var dep = version === "*" ? name : name + "@^" + version;
|
|
var found = missingDependencies.all ? false : mapGetOr$1(depsCache, name + " :: " + dirname, function () {
|
|
return has$6();
|
|
});
|
|
if (!found) {
|
|
debugLog().missingDeps.add(dep);
|
|
}
|
|
}
|
|
};
|
|
var provider = factory(api, providerOptions, dirname);
|
|
if (typeof provider[methodName] !== "function") {
|
|
throw new Error("The \"" + (provider.name || factory.name) + "\" provider doesn't " + ("support the \"" + method + "\" polyfilling method."));
|
|
}
|
|
if (Array.isArray(provider.polyfills)) {
|
|
polyfillsNames = new Set(provider.polyfills);
|
|
filterPolyfills = provider.filterPolyfills;
|
|
} else if (provider.polyfills) {
|
|
polyfillsNames = new Set(Object.keys(provider.polyfills));
|
|
polyfillsSupport = provider.polyfills;
|
|
filterPolyfills = provider.filterPolyfills;
|
|
} else {
|
|
polyfillsNames = new Set();
|
|
}
|
|
var _validateIncludeExclu = validateIncludeExclude$1(provider.name || factory.name, polyfillsNames, providerOptions.include || [], providerOptions.exclude || []);
|
|
include = _validateIncludeExclu.include;
|
|
exclude = _validateIncludeExclu.exclude;
|
|
return {
|
|
debug: _debug,
|
|
method: method,
|
|
targets: targets,
|
|
provider: provider,
|
|
callProvider: function callProvider(payload, path) {
|
|
var utils = getUtils(path);
|
|
provider[methodName](payload, utils, path);
|
|
}
|
|
};
|
|
}
|
|
function definePolyfillProvider$1(factory) {
|
|
return declare(function (babelApi, options, dirname) {
|
|
babelApi.assertVersion(7);
|
|
var traverse = babelApi.traverse;
|
|
var debugLog;
|
|
var missingDependencies = applyMissingDependenciesDefaults$1(options, babelApi);
|
|
var _instantiateProvider = instantiateProvider$1(factory, options, missingDependencies, dirname, function () {
|
|
return debugLog;
|
|
}, babelApi),
|
|
debug = _instantiateProvider.debug,
|
|
method = _instantiateProvider.method,
|
|
targets = _instantiateProvider.targets,
|
|
provider = _instantiateProvider.provider,
|
|
callProvider = _instantiateProvider.callProvider;
|
|
var createVisitor = method === "entry-global" ? entry$1 : usage$1;
|
|
var visitor = provider.visitor ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor]) : createVisitor(callProvider);
|
|
if (debug && debug !== presetEnvSilentDebugHeader$1) {
|
|
console.log(provider.name + ": `DEBUG` option");
|
|
console.log("\nUsing targets: " + stringifyTargetsMultiline$1(targets));
|
|
console.log("\nUsing polyfills with `" + method + "` method:");
|
|
}
|
|
return {
|
|
name: "inject-polyfills",
|
|
visitor: visitor,
|
|
pre: function pre() {
|
|
var _provider$pre;
|
|
debugLog = {
|
|
polyfills: new Set(),
|
|
polyfillsSupport: undefined,
|
|
found: false,
|
|
providers: new Set(),
|
|
missingDeps: new Set()
|
|
};
|
|
(_provider$pre = provider.pre) == null ? void 0 : _provider$pre.apply(this, arguments);
|
|
},
|
|
post: function post() {
|
|
var _provider$post;
|
|
(_provider$post = provider.post) == null ? void 0 : _provider$post.apply(this, arguments);
|
|
if (missingDependencies !== false) {
|
|
if (missingDependencies.log === "per-file") {
|
|
logMissing$1(debugLog.missingDeps);
|
|
} else {
|
|
laterLogMissing$1(debugLog.missingDeps);
|
|
}
|
|
}
|
|
if (!debug) return;
|
|
if (this.filename) console.log("\n[" + this.filename + "]");
|
|
if (debugLog.polyfills.size === 0) {
|
|
console.log(method === "entry-global" ? debugLog.found ? "Based on your targets, the " + provider.name + " polyfill did not add any polyfill." : "The entry point for the " + provider.name + " polyfill has not been found." : "Based on your code and targets, the " + provider.name + " polyfill did not add any polyfill.");
|
|
return;
|
|
}
|
|
if (method === "entry-global") {
|
|
console.log("The " + provider.name + " polyfill entry has been replaced with " + "the following polyfills:");
|
|
} else {
|
|
console.log("The " + provider.name + " polyfill added the following polyfills:");
|
|
}
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(debugLog.polyfills), _step3; !(_step3 = _iterator3()).done;) {
|
|
var name = _step3.value;
|
|
var _debugLog$polyfillsSu2;
|
|
if ((_debugLog$polyfillsSu2 = debugLog.polyfillsSupport) != null && _debugLog$polyfillsSu2[name]) {
|
|
var filteredTargets = getInclusionReasons(name, targets, debugLog.polyfillsSupport);
|
|
var formattedTargets = JSON.stringify(filteredTargets).replace(/,/g, ", ").replace(/^\{"/, '{ "').replace(/"\}$/, '" }');
|
|
console.log(" " + name + " " + formattedTargets);
|
|
} else {
|
|
console.log(" " + name);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
}
|
|
function mapGetOr$1(map, key, getDefault) {
|
|
var val = map.get(key);
|
|
if (val === undefined) {
|
|
val = getDefault();
|
|
map.set(key, val);
|
|
}
|
|
return val;
|
|
}
|
|
function isEmpty$1(obj) {
|
|
return Object.keys(obj).length === 0;
|
|
}
|
|
|
|
var define$3 = function define(name, pure, global, meta) {
|
|
if (global === void 0) {
|
|
global = [];
|
|
}
|
|
return {
|
|
name: name,
|
|
pure: pure,
|
|
global: global,
|
|
meta: meta
|
|
};
|
|
};
|
|
var pureAndGlobal$1 = function pureAndGlobal(pure, global, minRuntimeVersion) {
|
|
if (minRuntimeVersion === void 0) {
|
|
minRuntimeVersion = null;
|
|
}
|
|
return define$3(global[0], pure, global, {
|
|
minRuntimeVersion: minRuntimeVersion
|
|
});
|
|
};
|
|
var globalOnly$1 = function globalOnly(global) {
|
|
return define$3(global[0], null, global);
|
|
};
|
|
var pureOnly$1 = function pureOnly(pure, name) {
|
|
return define$3(name, pure, []);
|
|
};
|
|
var ArrayNatureIterators$3 = ["es6.object.to-string", "es6.array.iterator", "web.dom.iterable"];
|
|
var CommonIterators$3 = ["es6.string.iterator"].concat(ArrayNatureIterators$3);
|
|
var PromiseDependencies$3 = ["es6.object.to-string", "es6.promise"];
|
|
var BuiltIns$3 = {
|
|
DataView: globalOnly$1(["es6.typed.data-view"]),
|
|
Float32Array: globalOnly$1(["es6.typed.float32-array"]),
|
|
Float64Array: globalOnly$1(["es6.typed.float64-array"]),
|
|
Int8Array: globalOnly$1(["es6.typed.int8-array"]),
|
|
Int16Array: globalOnly$1(["es6.typed.int16-array"]),
|
|
Int32Array: globalOnly$1(["es6.typed.int32-array"]),
|
|
Map: pureAndGlobal$1("map", ["es6.map"].concat(_toConsumableArray(CommonIterators$3))),
|
|
Number: globalOnly$1(["es6.number.constructor"]),
|
|
Promise: pureAndGlobal$1("promise", PromiseDependencies$3),
|
|
RegExp: globalOnly$1(["es6.regexp.constructor"]),
|
|
Set: pureAndGlobal$1("set", ["es6.set"].concat(_toConsumableArray(CommonIterators$3))),
|
|
Symbol: pureAndGlobal$1("symbol", ["es6.symbol"]),
|
|
Uint8Array: globalOnly$1(["es6.typed.uint8-array"]),
|
|
Uint8ClampedArray: globalOnly$1(["es6.typed.uint8-clamped-array"]),
|
|
Uint16Array: globalOnly$1(["es6.typed.uint16-array"]),
|
|
Uint32Array: globalOnly$1(["es6.typed.uint32-array"]),
|
|
WeakMap: pureAndGlobal$1("weak-map", ["es6.weak-map"].concat(_toConsumableArray(CommonIterators$3))),
|
|
WeakSet: pureAndGlobal$1("weak-set", ["es6.weak-set"].concat(_toConsumableArray(CommonIterators$3))),
|
|
setImmediate: pureOnly$1("set-immediate", "web.immediate"),
|
|
clearImmediate: pureOnly$1("clear-immediate", "web.immediate"),
|
|
parseFloat: pureOnly$1("parse-float", "es6.parse-float"),
|
|
parseInt: pureOnly$1("parse-int", "es6.parse-int")
|
|
};
|
|
var InstanceProperties$3 = {
|
|
__defineGetter__: globalOnly$1(["es7.object.define-getter"]),
|
|
__defineSetter__: globalOnly$1(["es7.object.define-setter"]),
|
|
__lookupGetter__: globalOnly$1(["es7.object.lookup-getter"]),
|
|
__lookupSetter__: globalOnly$1(["es7.object.lookup-setter"]),
|
|
anchor: globalOnly$1(["es6.string.anchor"]),
|
|
big: globalOnly$1(["es6.string.big"]),
|
|
bind: globalOnly$1(["es6.function.bind"]),
|
|
blink: globalOnly$1(["es6.string.blink"]),
|
|
bold: globalOnly$1(["es6.string.bold"]),
|
|
codePointAt: globalOnly$1(["es6.string.code-point-at"]),
|
|
copyWithin: globalOnly$1(["es6.array.copy-within"]),
|
|
endsWith: globalOnly$1(["es6.string.ends-with"]),
|
|
entries: globalOnly$1(ArrayNatureIterators$3),
|
|
every: globalOnly$1(["es6.array.every"]),
|
|
fill: globalOnly$1(["es6.array.fill"]),
|
|
filter: globalOnly$1(["es6.array.filter"]),
|
|
"finally": globalOnly$1(["es7.promise.finally"].concat(PromiseDependencies$3)),
|
|
find: globalOnly$1(["es6.array.find"]),
|
|
findIndex: globalOnly$1(["es6.array.find-index"]),
|
|
fixed: globalOnly$1(["es6.string.fixed"]),
|
|
flags: globalOnly$1(["es6.regexp.flags"]),
|
|
flatMap: globalOnly$1(["es7.array.flat-map"]),
|
|
fontcolor: globalOnly$1(["es6.string.fontcolor"]),
|
|
fontsize: globalOnly$1(["es6.string.fontsize"]),
|
|
forEach: globalOnly$1(["es6.array.for-each"]),
|
|
includes: globalOnly$1(["es6.string.includes", "es7.array.includes"]),
|
|
indexOf: globalOnly$1(["es6.array.index-of"]),
|
|
italics: globalOnly$1(["es6.string.italics"]),
|
|
keys: globalOnly$1(ArrayNatureIterators$3),
|
|
lastIndexOf: globalOnly$1(["es6.array.last-index-of"]),
|
|
link: globalOnly$1(["es6.string.link"]),
|
|
map: globalOnly$1(["es6.array.map"]),
|
|
match: globalOnly$1(["es6.regexp.match"]),
|
|
name: globalOnly$1(["es6.function.name"]),
|
|
padStart: globalOnly$1(["es7.string.pad-start"]),
|
|
padEnd: globalOnly$1(["es7.string.pad-end"]),
|
|
reduce: globalOnly$1(["es6.array.reduce"]),
|
|
reduceRight: globalOnly$1(["es6.array.reduce-right"]),
|
|
repeat: globalOnly$1(["es6.string.repeat"]),
|
|
replace: globalOnly$1(["es6.regexp.replace"]),
|
|
search: globalOnly$1(["es6.regexp.search"]),
|
|
small: globalOnly$1(["es6.string.small"]),
|
|
some: globalOnly$1(["es6.array.some"]),
|
|
sort: globalOnly$1(["es6.array.sort"]),
|
|
split: globalOnly$1(["es6.regexp.split"]),
|
|
startsWith: globalOnly$1(["es6.string.starts-with"]),
|
|
strike: globalOnly$1(["es6.string.strike"]),
|
|
sub: globalOnly$1(["es6.string.sub"]),
|
|
sup: globalOnly$1(["es6.string.sup"]),
|
|
toISOString: globalOnly$1(["es6.date.to-iso-string"]),
|
|
toJSON: globalOnly$1(["es6.date.to-json"]),
|
|
toString: globalOnly$1(["es6.object.to-string", "es6.date.to-string", "es6.regexp.to-string"]),
|
|
trim: globalOnly$1(["es6.string.trim"]),
|
|
trimEnd: globalOnly$1(["es7.string.trim-right"]),
|
|
trimLeft: globalOnly$1(["es7.string.trim-left"]),
|
|
trimRight: globalOnly$1(["es7.string.trim-right"]),
|
|
trimStart: globalOnly$1(["es7.string.trim-left"]),
|
|
values: globalOnly$1(ArrayNatureIterators$3)
|
|
};
|
|
if ("es6.array.slice" in corejs2BuiltIns) {
|
|
InstanceProperties$3.slice = globalOnly$1(["es6.array.slice"]);
|
|
}
|
|
var StaticProperties$3 = {
|
|
Array: {
|
|
from: pureAndGlobal$1("array/from", ["es6.symbol", "es6.array.from"].concat(_toConsumableArray(CommonIterators$3))),
|
|
isArray: pureAndGlobal$1("array/is-array", ["es6.array.is-array"]),
|
|
of: pureAndGlobal$1("array/of", ["es6.array.of"])
|
|
},
|
|
Date: {
|
|
now: pureAndGlobal$1("date/now", ["es6.date.now"])
|
|
},
|
|
JSON: {
|
|
stringify: pureOnly$1("json/stringify", "es6.symbol")
|
|
},
|
|
Math: {
|
|
acosh: pureAndGlobal$1("math/acosh", ["es6.math.acosh"], "7.0.1"),
|
|
asinh: pureAndGlobal$1("math/asinh", ["es6.math.asinh"], "7.0.1"),
|
|
atanh: pureAndGlobal$1("math/atanh", ["es6.math.atanh"], "7.0.1"),
|
|
cbrt: pureAndGlobal$1("math/cbrt", ["es6.math.cbrt"], "7.0.1"),
|
|
clz32: pureAndGlobal$1("math/clz32", ["es6.math.clz32"], "7.0.1"),
|
|
cosh: pureAndGlobal$1("math/cosh", ["es6.math.cosh"], "7.0.1"),
|
|
expm1: pureAndGlobal$1("math/expm1", ["es6.math.expm1"], "7.0.1"),
|
|
fround: pureAndGlobal$1("math/fround", ["es6.math.fround"], "7.0.1"),
|
|
hypot: pureAndGlobal$1("math/hypot", ["es6.math.hypot"], "7.0.1"),
|
|
imul: pureAndGlobal$1("math/imul", ["es6.math.imul"], "7.0.1"),
|
|
log1p: pureAndGlobal$1("math/log1p", ["es6.math.log1p"], "7.0.1"),
|
|
log10: pureAndGlobal$1("math/log10", ["es6.math.log10"], "7.0.1"),
|
|
log2: pureAndGlobal$1("math/log2", ["es6.math.log2"], "7.0.1"),
|
|
sign: pureAndGlobal$1("math/sign", ["es6.math.sign"], "7.0.1"),
|
|
sinh: pureAndGlobal$1("math/sinh", ["es6.math.sinh"], "7.0.1"),
|
|
tanh: pureAndGlobal$1("math/tanh", ["es6.math.tanh"], "7.0.1"),
|
|
trunc: pureAndGlobal$1("math/trunc", ["es6.math.trunc"], "7.0.1")
|
|
},
|
|
Number: {
|
|
EPSILON: pureAndGlobal$1("number/epsilon", ["es6.number.epsilon"]),
|
|
MIN_SAFE_INTEGER: pureAndGlobal$1("number/min-safe-integer", ["es6.number.min-safe-integer"]),
|
|
MAX_SAFE_INTEGER: pureAndGlobal$1("number/max-safe-integer", ["es6.number.max-safe-integer"]),
|
|
isFinite: pureAndGlobal$1("number/is-finite", ["es6.number.is-finite"]),
|
|
isInteger: pureAndGlobal$1("number/is-integer", ["es6.number.is-integer"]),
|
|
isSafeInteger: pureAndGlobal$1("number/is-safe-integer", ["es6.number.is-safe-integer"]),
|
|
isNaN: pureAndGlobal$1("number/is-nan", ["es6.number.is-nan"]),
|
|
parseFloat: pureAndGlobal$1("number/parse-float", ["es6.number.parse-float"]),
|
|
parseInt: pureAndGlobal$1("number/parse-int", ["es6.number.parse-int"])
|
|
},
|
|
Object: {
|
|
assign: pureAndGlobal$1("object/assign", ["es6.object.assign"]),
|
|
create: pureAndGlobal$1("object/create", ["es6.object.create"]),
|
|
defineProperties: pureAndGlobal$1("object/define-properties", ["es6.object.define-properties"]),
|
|
defineProperty: pureAndGlobal$1("object/define-property", ["es6.object.define-property"]),
|
|
entries: pureAndGlobal$1("object/entries", ["es7.object.entries"]),
|
|
freeze: pureAndGlobal$1("object/freeze", ["es6.object.freeze"]),
|
|
getOwnPropertyDescriptor: pureAndGlobal$1("object/get-own-property-descriptor", ["es6.object.get-own-property-descriptor"]),
|
|
getOwnPropertyDescriptors: pureAndGlobal$1("object/get-own-property-descriptors", ["es7.object.get-own-property-descriptors"]),
|
|
getOwnPropertyNames: pureAndGlobal$1("object/get-own-property-names", ["es6.object.get-own-property-names"]),
|
|
getOwnPropertySymbols: pureAndGlobal$1("object/get-own-property-symbols", ["es6.symbol"]),
|
|
getPrototypeOf: pureAndGlobal$1("object/get-prototype-of", ["es6.object.get-prototype-of"]),
|
|
is: pureAndGlobal$1("object/is", ["es6.object.is"]),
|
|
isExtensible: pureAndGlobal$1("object/is-extensible", ["es6.object.is-extensible"]),
|
|
isFrozen: pureAndGlobal$1("object/is-frozen", ["es6.object.is-frozen"]),
|
|
isSealed: pureAndGlobal$1("object/is-sealed", ["es6.object.is-sealed"]),
|
|
keys: pureAndGlobal$1("object/keys", ["es6.object.keys"]),
|
|
preventExtensions: pureAndGlobal$1("object/prevent-extensions", ["es6.object.prevent-extensions"]),
|
|
seal: pureAndGlobal$1("object/seal", ["es6.object.seal"]),
|
|
setPrototypeOf: pureAndGlobal$1("object/set-prototype-of", ["es6.object.set-prototype-of"]),
|
|
values: pureAndGlobal$1("object/values", ["es7.object.values"])
|
|
},
|
|
Promise: {
|
|
all: globalOnly$1(CommonIterators$3),
|
|
race: globalOnly$1(CommonIterators$3)
|
|
},
|
|
Reflect: {
|
|
apply: pureAndGlobal$1("reflect/apply", ["es6.reflect.apply"]),
|
|
construct: pureAndGlobal$1("reflect/construct", ["es6.reflect.construct"]),
|
|
defineProperty: pureAndGlobal$1("reflect/define-property", ["es6.reflect.define-property"]),
|
|
deleteProperty: pureAndGlobal$1("reflect/delete-property", ["es6.reflect.delete-property"]),
|
|
get: pureAndGlobal$1("reflect/get", ["es6.reflect.get"]),
|
|
getOwnPropertyDescriptor: pureAndGlobal$1("reflect/get-own-property-descriptor", ["es6.reflect.get-own-property-descriptor"]),
|
|
getPrototypeOf: pureAndGlobal$1("reflect/get-prototype-of", ["es6.reflect.get-prototype-of"]),
|
|
has: pureAndGlobal$1("reflect/has", ["es6.reflect.has"]),
|
|
isExtensible: pureAndGlobal$1("reflect/is-extensible", ["es6.reflect.is-extensible"]),
|
|
ownKeys: pureAndGlobal$1("reflect/own-keys", ["es6.reflect.own-keys"]),
|
|
preventExtensions: pureAndGlobal$1("reflect/prevent-extensions", ["es6.reflect.prevent-extensions"]),
|
|
set: pureAndGlobal$1("reflect/set", ["es6.reflect.set"]),
|
|
setPrototypeOf: pureAndGlobal$1("reflect/set-prototype-of", ["es6.reflect.set-prototype-of"])
|
|
},
|
|
String: {
|
|
at: pureOnly$1("string/at", "es7.string.at"),
|
|
fromCodePoint: pureAndGlobal$1("string/from-code-point", ["es6.string.from-code-point"]),
|
|
raw: pureAndGlobal$1("string/raw", ["es6.string.raw"])
|
|
},
|
|
Symbol: {
|
|
asyncIterator: globalOnly$1(["es6.symbol", "es7.symbol.async-iterator"]),
|
|
"for": pureOnly$1("symbol/for", "es6.symbol"),
|
|
hasInstance: pureOnly$1("symbol/has-instance", "es6.symbol"),
|
|
isConcatSpreadable: pureOnly$1("symbol/is-concat-spreadable", "es6.symbol"),
|
|
iterator: define$3("es6.symbol", "symbol/iterator", CommonIterators$3),
|
|
keyFor: pureOnly$1("symbol/key-for", "es6.symbol"),
|
|
match: pureAndGlobal$1("symbol/match", ["es6.regexp.match"]),
|
|
replace: pureOnly$1("symbol/replace", "es6.symbol"),
|
|
search: pureOnly$1("symbol/search", "es6.symbol"),
|
|
species: pureOnly$1("symbol/species", "es6.symbol"),
|
|
split: pureOnly$1("symbol/split", "es6.symbol"),
|
|
toPrimitive: pureOnly$1("symbol/to-primitive", "es6.symbol"),
|
|
toStringTag: pureOnly$1("symbol/to-string-tag", "es6.symbol"),
|
|
unscopables: pureOnly$1("symbol/unscopables", "es6.symbol")
|
|
}
|
|
};
|
|
var webPolyfills$1 = {
|
|
"web.timers": {},
|
|
"web.immediate": {},
|
|
"web.dom.iterable": {}
|
|
};
|
|
var purePolyfills$1 = {
|
|
"es6.parse-float": {},
|
|
"es6.parse-int": {},
|
|
"es7.string.at": {}
|
|
};
|
|
function addPlatformSpecificPolyfills$1(targets, method, polyfills) {
|
|
var targetNames = Object.keys(targets);
|
|
var isAnyTarget = !targetNames.length;
|
|
var isWebTarget = targetNames.some(function (name) {
|
|
return name !== "node";
|
|
});
|
|
return Object.assign(Object.assign(Object.assign({}, polyfills), method === "usage-pure" ? purePolyfills$1 : null), isAnyTarget || isWebTarget ? webPolyfills$1 : null);
|
|
}
|
|
function hasMinVersion$1(minVersion, runtimeVersion) {
|
|
if (!runtimeVersion || !minVersion) return true;
|
|
if (semver$5.valid(runtimeVersion)) runtimeVersion = "^" + runtimeVersion;
|
|
return !semver$5.intersects("<" + minVersion, runtimeVersion) && !semver$5.intersects(">=8.0.0", runtimeVersion);
|
|
}
|
|
var _ref$4 = undefined || _babel,
|
|
t$6 = _ref$4.types;
|
|
var presetEnvCompat$1 = "#__secret_key__@babel/preset-env__compatibility";
|
|
var runtimeCompat$5 = "#__secret_key__@babel/runtime__compatibility";
|
|
var has$5 = Function.call.bind(Object.hasOwnProperty);
|
|
var index$5 = definePolyfillProvider$1(function (api, _ref2) {
|
|
var _ref2$presetEnvCompat = _ref2[presetEnvCompat$1],
|
|
_ref2$presetEnvCompat2 = _ref2$presetEnvCompat === void 0 ? {
|
|
entryInjectRegenerator: false
|
|
} : _ref2$presetEnvCompat,
|
|
entryInjectRegenerator = _ref2$presetEnvCompat2.entryInjectRegenerator,
|
|
_ref2$runtimeCompat = _ref2[runtimeCompat$5],
|
|
_ref2$runtimeCompat2 = _ref2$runtimeCompat === void 0 ? {
|
|
useBabelRuntime: "",
|
|
runtimeVersion: ""
|
|
} : _ref2$runtimeCompat,
|
|
useBabelRuntime = _ref2$runtimeCompat2.useBabelRuntime,
|
|
runtimeVersion = _ref2$runtimeCompat2.runtimeVersion,
|
|
_ref2$runtimeCompat2$ = _ref2$runtimeCompat2.ext,
|
|
ext = _ref2$runtimeCompat2$ === void 0 ? ".js" : _ref2$runtimeCompat2$;
|
|
var resolve = api.createMetaResolver({
|
|
global: BuiltIns$3,
|
|
"static": StaticProperties$3,
|
|
instance: InstanceProperties$3
|
|
});
|
|
var debug = api.debug,
|
|
shouldInjectPolyfill = api.shouldInjectPolyfill,
|
|
method = api.method;
|
|
var polyfills = addPlatformSpecificPolyfills$1(api.targets, method, corejs2BuiltIns);
|
|
var coreJSBase = useBabelRuntime ? useBabelRuntime + "/core-js" : method === "usage-pure" ? "core-js/library/fn" : "core-js/modules";
|
|
function inject(name, utils) {
|
|
if (typeof name === "string") {
|
|
if (has$5(polyfills, name) && shouldInjectPolyfill(name)) {
|
|
debug(name);
|
|
utils.injectGlobalImport(coreJSBase + "/" + name + ".js");
|
|
}
|
|
return;
|
|
}
|
|
name.forEach(function (name) {
|
|
return inject(name, utils);
|
|
});
|
|
}
|
|
function maybeInjectPure(desc, hint, utils) {
|
|
var pure = desc.pure,
|
|
meta = desc.meta,
|
|
name = desc.name;
|
|
if (!pure || !shouldInjectPolyfill(name)) return;
|
|
if (runtimeVersion && meta && meta.minRuntimeVersion && !hasMinVersion$1(meta && meta.minRuntimeVersion, runtimeVersion)) {
|
|
return;
|
|
}
|
|
return utils.injectDefaultImport(coreJSBase + "/" + pure + ext, hint);
|
|
}
|
|
return {
|
|
name: "corejs2",
|
|
polyfills: polyfills,
|
|
entryGlobal: function entryGlobal(meta, utils, path) {
|
|
if (meta.kind === "import" && meta.source === "core-js") {
|
|
debug(null);
|
|
inject(Object.keys(polyfills), utils);
|
|
if (entryInjectRegenerator) {
|
|
utils.injectGlobalImport("regenerator-runtime/runtime.js");
|
|
}
|
|
path.remove();
|
|
}
|
|
},
|
|
usageGlobal: function usageGlobal(meta, utils) {
|
|
var resolved = resolve(meta);
|
|
if (!resolved) return;
|
|
var deps = resolved.desc.global;
|
|
if (resolved.kind !== "global" && "object" in meta && meta.object && meta.placement === "prototype") {
|
|
var low = meta.object.toLowerCase();
|
|
deps = deps.filter(function (m) {
|
|
return m.includes(low);
|
|
});
|
|
}
|
|
inject(deps, utils);
|
|
},
|
|
usagePure: function usagePure(meta, utils, path) {
|
|
if (meta.kind === "in") {
|
|
if (meta.key === "Symbol.iterator") {
|
|
path.replaceWith(t$6.callExpression(utils.injectDefaultImport(coreJSBase + "/is-iterable" + ext, "isIterable"), [path.node.right]));
|
|
}
|
|
return;
|
|
}
|
|
if (path.parentPath.isUnaryExpression({
|
|
operator: "delete"
|
|
})) return;
|
|
if (meta.kind === "property") {
|
|
if (!path.isMemberExpression()) return;
|
|
if (!path.isReferenced()) return;
|
|
if (meta.key === "Symbol.iterator" && shouldInjectPolyfill("es6.symbol") && path.parentPath.isCallExpression({
|
|
callee: path.node
|
|
}) && path.parentPath.node.arguments.length === 0) {
|
|
path.parentPath.replaceWith(t$6.callExpression(utils.injectDefaultImport(coreJSBase + "/get-iterator" + ext, "getIterator"), [path.node.object]));
|
|
path.skip();
|
|
return;
|
|
}
|
|
}
|
|
var resolved = resolve(meta);
|
|
if (!resolved) return;
|
|
var id = maybeInjectPure(resolved.desc, resolved.name, utils);
|
|
if (id) path.replaceWith(id);
|
|
},
|
|
visitor: method === "usage-global" && {
|
|
YieldExpression: function YieldExpression(path) {
|
|
if (path.node.delegate) {
|
|
inject("web.dom.iterable", api.getUtils(path));
|
|
}
|
|
},
|
|
"ForOfStatement|ArrayPattern": function ForOfStatementArrayPattern(path) {
|
|
CommonIterators$3.forEach(function (name) {
|
|
return inject(name, api.getUtils(path));
|
|
});
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var require$$0$3 = {
|
|
"es.symbol": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "0.37",
|
|
firefox: "51",
|
|
"firefox-android": "51",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.symbol.description": {
|
|
android: "70",
|
|
bun: "0.1.1",
|
|
chrome: "70",
|
|
"chrome-android": "70",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "63",
|
|
"firefox-android": "63",
|
|
ios: "12.2",
|
|
node: "11.0",
|
|
oculus: "6.0",
|
|
opera: "57",
|
|
"opera-android": "49",
|
|
opera_mobile: "49",
|
|
quest: "6.0",
|
|
safari: "12.1",
|
|
samsung: "10.0"
|
|
},
|
|
"es.symbol.async-iterator": {
|
|
android: "63",
|
|
bun: "0.1.1",
|
|
chrome: "63",
|
|
"chrome-android": "63",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "3.0",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "12.0",
|
|
node: "10.0",
|
|
oculus: "5.0",
|
|
opera: "50",
|
|
"opera-android": "46",
|
|
opera_mobile: "46",
|
|
quest: "5.0",
|
|
safari: "12.0",
|
|
samsung: "8.0"
|
|
},
|
|
"es.symbol.has-instance": {
|
|
android: "50",
|
|
bun: "0.1.1",
|
|
chrome: "50",
|
|
"chrome-android": "50",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.1",
|
|
firefox: "49",
|
|
"firefox-android": "49",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "37",
|
|
"opera-android": "37",
|
|
opera_mobile: "37",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.symbol.is-concat-spreadable": {
|
|
android: "48",
|
|
bun: "0.1.1",
|
|
chrome: "48",
|
|
"chrome-android": "48",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "0.37",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "35",
|
|
"opera-android": "35",
|
|
opera_mobile: "35",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.symbol.iterator": {
|
|
android: "41",
|
|
bun: "0.1.1",
|
|
chrome: "41",
|
|
"chrome-android": "41",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.21",
|
|
firefox: "36",
|
|
"firefox-android": "36",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "28",
|
|
"opera-android": "28",
|
|
opera_mobile: "28",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.4"
|
|
},
|
|
"es.symbol.match": {
|
|
android: "50",
|
|
bun: "0.1.1",
|
|
chrome: "50",
|
|
"chrome-android": "50",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.1",
|
|
firefox: "40",
|
|
"firefox-android": "40",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "37",
|
|
"opera-android": "37",
|
|
opera_mobile: "37",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.symbol.match-all": {
|
|
android: "73",
|
|
bun: "0.1.1",
|
|
chrome: "73",
|
|
"chrome-android": "73",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "67",
|
|
"firefox-android": "67",
|
|
hermes: "0.6",
|
|
ios: "13.0",
|
|
node: "12.0",
|
|
oculus: "6.0",
|
|
opera: "60",
|
|
"opera-android": "52",
|
|
opera_mobile: "52",
|
|
quest: "6.0",
|
|
"react-native": "0.69",
|
|
safari: "13",
|
|
samsung: "11.0"
|
|
},
|
|
"es.symbol.replace": {
|
|
android: "50",
|
|
bun: "0.1.1",
|
|
chrome: "50",
|
|
"chrome-android": "50",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.1",
|
|
firefox: "49",
|
|
"firefox-android": "49",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "37",
|
|
"opera-android": "37",
|
|
opera_mobile: "37",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.symbol.search": {
|
|
android: "50",
|
|
bun: "0.1.1",
|
|
chrome: "50",
|
|
"chrome-android": "50",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.1",
|
|
firefox: "49",
|
|
"firefox-android": "49",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "37",
|
|
"opera-android": "37",
|
|
opera_mobile: "37",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.symbol.species": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "1.2",
|
|
firefox: "41",
|
|
"firefox-android": "41",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.symbol.split": {
|
|
android: "50",
|
|
bun: "0.1.1",
|
|
chrome: "50",
|
|
"chrome-android": "50",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.1",
|
|
firefox: "49",
|
|
"firefox-android": "49",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "37",
|
|
"opera-android": "37",
|
|
opera_mobile: "37",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.symbol.to-primitive": {
|
|
android: "47",
|
|
bun: "0.1.1",
|
|
chrome: "47",
|
|
"chrome-android": "47",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "0.36",
|
|
firefox: "44",
|
|
"firefox-android": "44",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "34",
|
|
"opera-android": "34",
|
|
opera_mobile: "34",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.symbol.to-string-tag": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "0.37",
|
|
firefox: "51",
|
|
"firefox-android": "51",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.symbol.unscopables": {
|
|
android: "41",
|
|
bun: "0.1.1",
|
|
chrome: "41",
|
|
"chrome-android": "41",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.21",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
ios: "9.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "28",
|
|
"opera-android": "28",
|
|
opera_mobile: "28",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.4"
|
|
},
|
|
"es.error.cause": {
|
|
android: "94",
|
|
bun: "0.1.1",
|
|
chrome: "94",
|
|
"chrome-android": "94",
|
|
deno: "1.14",
|
|
edge: "94",
|
|
electron: "15.0",
|
|
firefox: "91",
|
|
"firefox-android": "91",
|
|
hermes: "0.8",
|
|
ios: "15.0",
|
|
node: "16.11",
|
|
oculus: "18.0",
|
|
opera: "80",
|
|
"opera-android": "66",
|
|
opera_mobile: "66",
|
|
quest: "18.0",
|
|
"react-native": "0.69",
|
|
safari: "15.0",
|
|
samsung: "17.0"
|
|
},
|
|
"es.error.to-string": {
|
|
android: "4.4.3",
|
|
bun: "0.1.1",
|
|
chrome: "33",
|
|
"chrome-android": "33",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "11",
|
|
"firefox-android": "11",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "9.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "20",
|
|
"opera-android": "20",
|
|
opera_mobile: "20",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "8.0",
|
|
samsung: "2.0"
|
|
},
|
|
"es.aggregate-error": {
|
|
android: "85",
|
|
bun: "0.1.1",
|
|
chrome: "85",
|
|
"chrome-android": "85",
|
|
deno: "1.2",
|
|
edge: "85",
|
|
electron: "10.0",
|
|
firefox: "79",
|
|
"firefox-android": "79",
|
|
ios: "14.0",
|
|
node: "15.0",
|
|
oculus: "12.0",
|
|
opera: "71",
|
|
"opera-android": "60",
|
|
opera_mobile: "60",
|
|
quest: "12.0",
|
|
safari: "14.0",
|
|
samsung: "14.0"
|
|
},
|
|
"es.aggregate-error.cause": {
|
|
android: "94",
|
|
bun: "0.1.1",
|
|
chrome: "94",
|
|
"chrome-android": "94",
|
|
deno: "1.14",
|
|
edge: "94",
|
|
electron: "15.0",
|
|
firefox: "91",
|
|
"firefox-android": "91",
|
|
ios: "15.0",
|
|
node: "16.11",
|
|
oculus: "18.0",
|
|
opera: "80",
|
|
"opera-android": "66",
|
|
opera_mobile: "66",
|
|
quest: "18.0",
|
|
safari: "15.0",
|
|
samsung: "17.0"
|
|
},
|
|
"es.array.at": {
|
|
android: "92",
|
|
bun: "0.1.1",
|
|
chrome: "92",
|
|
"chrome-android": "92",
|
|
deno: "1.12",
|
|
edge: "92",
|
|
electron: "14.0",
|
|
firefox: "90",
|
|
"firefox-android": "90",
|
|
ios: "15.4",
|
|
node: "16.6",
|
|
oculus: "17.0",
|
|
opera: "78",
|
|
"opera-android": "65",
|
|
opera_mobile: "65",
|
|
quest: "17.0",
|
|
"react-native": "0.71",
|
|
safari: "15.4",
|
|
samsung: "16.0"
|
|
},
|
|
"es.array.concat": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.2",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.copy-within": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.31",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
ios: "9.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
safari: "9.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.every": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "26",
|
|
"chrome-android": "26",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "8.0",
|
|
node: "0.11.0",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "1.5"
|
|
},
|
|
"es.array.fill": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.31",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
ios: "9.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
safari: "9.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.filter": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.2",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.find": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
ios: "9.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
safari: "9.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.find-index": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
ios: "9.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
safari: "9.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.find-last": {
|
|
android: "97",
|
|
bun: "0.1.1",
|
|
chrome: "97",
|
|
"chrome-android": "97",
|
|
deno: "1.16",
|
|
edge: "97",
|
|
electron: "17.0",
|
|
firefox: "104",
|
|
"firefox-android": "104",
|
|
hermes: "0.11",
|
|
ios: "15.4",
|
|
node: "18.0",
|
|
oculus: "20.0",
|
|
opera: "83",
|
|
"opera-android": "68",
|
|
opera_mobile: "68",
|
|
quest: "20.0",
|
|
"react-native": "0.69",
|
|
safari: "15.4",
|
|
samsung: "18.0"
|
|
},
|
|
"es.array.find-last-index": {
|
|
android: "97",
|
|
bun: "0.1.1",
|
|
chrome: "97",
|
|
"chrome-android": "97",
|
|
deno: "1.16",
|
|
edge: "97",
|
|
electron: "17.0",
|
|
firefox: "104",
|
|
"firefox-android": "104",
|
|
hermes: "0.11",
|
|
ios: "15.4",
|
|
node: "18.0",
|
|
oculus: "20.0",
|
|
opera: "83",
|
|
"opera-android": "68",
|
|
opera_mobile: "68",
|
|
quest: "20.0",
|
|
"react-native": "0.69",
|
|
safari: "15.4",
|
|
samsung: "18.0"
|
|
},
|
|
"es.array.flat": {
|
|
android: "69",
|
|
bun: "0.1.1",
|
|
chrome: "69",
|
|
"chrome-android": "69",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "4.0",
|
|
firefox: "62",
|
|
"firefox-android": "62",
|
|
hermes: "0.4",
|
|
ios: "12.0",
|
|
node: "11.0",
|
|
oculus: "6.0",
|
|
opera: "56",
|
|
"opera-android": "48",
|
|
opera_mobile: "48",
|
|
quest: "6.0",
|
|
"react-native": "0.69",
|
|
safari: "12.0",
|
|
samsung: "10.0"
|
|
},
|
|
"es.array.flat-map": {
|
|
android: "69",
|
|
bun: "0.1.1",
|
|
chrome: "69",
|
|
"chrome-android": "69",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "4.0",
|
|
firefox: "62",
|
|
"firefox-android": "62",
|
|
hermes: "0.4",
|
|
ios: "12.0",
|
|
node: "11.0",
|
|
oculus: "6.0",
|
|
opera: "56",
|
|
"opera-android": "48",
|
|
opera_mobile: "48",
|
|
quest: "6.0",
|
|
"react-native": "0.69",
|
|
safari: "12.0",
|
|
samsung: "10.0"
|
|
},
|
|
"es.array.for-each": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "26",
|
|
"chrome-android": "26",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "8.0",
|
|
node: "0.11.0",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "1.5"
|
|
},
|
|
"es.array.from": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.2",
|
|
firefox: "53",
|
|
"firefox-android": "53",
|
|
ios: "9.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.includes": {
|
|
android: "53",
|
|
bun: "0.1.1",
|
|
chrome: "53",
|
|
"chrome-android": "53",
|
|
deno: "1.0",
|
|
edge: "14",
|
|
electron: "1.4",
|
|
firefox: "102",
|
|
"firefox-android": "102",
|
|
ios: "10.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "40",
|
|
"opera-android": "40",
|
|
opera_mobile: "40",
|
|
quest: "3.0",
|
|
safari: "10.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.array.index-of": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "1.2",
|
|
firefox: "47",
|
|
"firefox-android": "47",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "8.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.is-array": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "3.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "4.0",
|
|
samsung: "1.0"
|
|
},
|
|
"es.array.iterator": {
|
|
android: "66",
|
|
bun: "0.1.1",
|
|
chrome: "66",
|
|
"chrome-android": "66",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "3.0",
|
|
firefox: "60",
|
|
"firefox-android": "60",
|
|
ios: "10.0",
|
|
node: "10.0",
|
|
oculus: "5.0",
|
|
opera: "53",
|
|
"opera-android": "47",
|
|
opera_mobile: "47",
|
|
quest: "5.0",
|
|
safari: "10.0",
|
|
samsung: "9.0"
|
|
},
|
|
"es.array.join": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "26",
|
|
"chrome-android": "26",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.0",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "1.5"
|
|
},
|
|
"es.array.last-index-of": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "1.2",
|
|
firefox: "47",
|
|
"firefox-android": "47",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "8.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.map": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "1.2",
|
|
firefox: "50",
|
|
"firefox-android": "50",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.of": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.push": {
|
|
bun: "0.1.1",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
hermes: "0.2",
|
|
ios: "16.0",
|
|
"react-native": "0.69",
|
|
safari: "16.0"
|
|
},
|
|
"es.array.reduce": {
|
|
android: "83",
|
|
bun: "0.1.1",
|
|
chrome: "83",
|
|
"chrome-android": "83",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "9.0",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "8.0",
|
|
node: "6.0",
|
|
oculus: "10.0",
|
|
opera: "69",
|
|
"opera-android": "59",
|
|
opera_mobile: "59",
|
|
quest: "10.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "13.0"
|
|
},
|
|
"es.array.reduce-right": {
|
|
android: "83",
|
|
bun: "0.1.1",
|
|
chrome: "83",
|
|
"chrome-android": "83",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "9.0",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "8.0",
|
|
node: "6.0",
|
|
oculus: "10.0",
|
|
opera: "69",
|
|
"opera-android": "59",
|
|
opera_mobile: "59",
|
|
quest: "10.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "13.0"
|
|
},
|
|
"es.array.reverse": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "1",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "1",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "5.5",
|
|
ios: "12.2",
|
|
node: "0.0.3",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "12.0.2",
|
|
samsung: "1.0"
|
|
},
|
|
"es.array.slice": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "1.2",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.some": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "26",
|
|
"chrome-android": "26",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "8.0",
|
|
node: "0.11.0",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "1.5"
|
|
},
|
|
"es.array.sort": {
|
|
android: "70",
|
|
bun: "0.1.1",
|
|
chrome: "70",
|
|
"chrome-android": "70",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.10",
|
|
ios: "12.0",
|
|
node: "11.0",
|
|
oculus: "6.0",
|
|
opera: "57",
|
|
"opera-android": "49",
|
|
opera_mobile: "49",
|
|
quest: "6.0",
|
|
"react-native": "0.69",
|
|
safari: "12.0",
|
|
samsung: "10.0"
|
|
},
|
|
"es.array.species": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "1.2",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.splice": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "1.2",
|
|
firefox: "49",
|
|
"firefox-android": "49",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.array.to-reversed": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"es.array.to-sorted": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"es.array.to-spliced": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"es.array.unscopables.flat": {
|
|
android: "73",
|
|
bun: "0.1.1",
|
|
chrome: "73",
|
|
"chrome-android": "73",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "67",
|
|
"firefox-android": "67",
|
|
ios: "13.0",
|
|
node: "12.0",
|
|
oculus: "6.0",
|
|
opera: "60",
|
|
"opera-android": "52",
|
|
opera_mobile: "52",
|
|
quest: "6.0",
|
|
safari: "13",
|
|
samsung: "11.0"
|
|
},
|
|
"es.array.unscopables.flat-map": {
|
|
android: "73",
|
|
bun: "0.1.1",
|
|
chrome: "73",
|
|
"chrome-android": "73",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "67",
|
|
"firefox-android": "67",
|
|
ios: "13.0",
|
|
node: "12.0",
|
|
oculus: "6.0",
|
|
opera: "60",
|
|
"opera-android": "52",
|
|
opera_mobile: "52",
|
|
quest: "6.0",
|
|
safari: "13",
|
|
samsung: "11.0"
|
|
},
|
|
"es.array.unshift": {
|
|
android: "71",
|
|
bun: "0.1.1",
|
|
chrome: "71",
|
|
"chrome-android": "71",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "5.0",
|
|
firefox: "23",
|
|
"firefox-android": "23",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "16.0",
|
|
node: "12.0",
|
|
oculus: "6.0",
|
|
opera: "58",
|
|
"opera-android": "50",
|
|
opera_mobile: "50",
|
|
quest: "6.0",
|
|
"react-native": "0.69",
|
|
safari: "16.0",
|
|
samsung: "10.0"
|
|
},
|
|
"es.array.with": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"es.array-buffer.constructor": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "28",
|
|
"chrome-android": "28",
|
|
deno: "1.0",
|
|
edge: "14",
|
|
electron: "0.20",
|
|
firefox: "44",
|
|
"firefox-android": "44",
|
|
hermes: "0.1",
|
|
ios: "12.0",
|
|
node: "0.11.1",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "12.0",
|
|
samsung: "1.5"
|
|
},
|
|
"es.array-buffer.is-view": {
|
|
android: "4.4.3",
|
|
bun: "0.1.1",
|
|
chrome: "32",
|
|
"chrome-android": "32",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "29",
|
|
"firefox-android": "29",
|
|
hermes: "0.1",
|
|
ie: "11",
|
|
ios: "8.0",
|
|
node: "0.11.9",
|
|
oculus: "3.0",
|
|
opera: "19",
|
|
"opera-android": "19",
|
|
opera_mobile: "19",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "7.1",
|
|
samsung: "2.0"
|
|
},
|
|
"es.array-buffer.slice": {
|
|
android: "4.4.3",
|
|
bun: "0.1.1",
|
|
chrome: "31",
|
|
"chrome-android": "31",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "46",
|
|
"firefox-android": "46",
|
|
hermes: "0.1",
|
|
ie: "11",
|
|
ios: "12.2",
|
|
node: "0.11.8",
|
|
oculus: "3.0",
|
|
opera: "18",
|
|
"opera-android": "18",
|
|
opera_mobile: "18",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "12.1",
|
|
samsung: "2.0"
|
|
},
|
|
"es.data-view": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "26",
|
|
"chrome-android": "26",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "15",
|
|
"firefox-android": "15",
|
|
hermes: "0.1",
|
|
ie: "10",
|
|
ios: "8.0",
|
|
node: "0.11.0",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "1.5"
|
|
},
|
|
"es.date.get-year": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "1",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "1",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "1.0",
|
|
node: "0.0.3",
|
|
oculus: "3.0",
|
|
opera: "3",
|
|
"opera-android": "3",
|
|
opera_mobile: "3",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.date.now": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "3.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "4.0",
|
|
samsung: "1.0"
|
|
},
|
|
"es.date.set-year": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "1",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "1",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "3",
|
|
ios: "1.0",
|
|
node: "0.0.3",
|
|
oculus: "3.0",
|
|
opera: "3",
|
|
"opera-android": "3",
|
|
opera_mobile: "3",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.date.to-gmt-string": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "1",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "1",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "3",
|
|
ios: "1.0",
|
|
node: "0.0.3",
|
|
oculus: "3.0",
|
|
opera: "3",
|
|
"opera-android": "3",
|
|
opera_mobile: "3",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.date.to-iso-string": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "26",
|
|
"chrome-android": "26",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "7",
|
|
"firefox-android": "7",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "8.0",
|
|
node: "0.11.0",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "1.5"
|
|
},
|
|
"es.date.to-json": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "26",
|
|
"chrome-android": "26",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "10.0",
|
|
node: "0.11.0",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "1.5"
|
|
},
|
|
"es.date.to-primitive": {
|
|
android: "47",
|
|
bun: "0.1.1",
|
|
chrome: "47",
|
|
"chrome-android": "47",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "0.36",
|
|
firefox: "44",
|
|
"firefox-android": "44",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "34",
|
|
"opera-android": "34",
|
|
opera_mobile: "34",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.date.to-string": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.escape": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "1",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "1",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "3",
|
|
ios: "1.0",
|
|
node: "0.0.3",
|
|
oculus: "3.0",
|
|
opera: "3",
|
|
"opera-android": "3",
|
|
opera_mobile: "3",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.function.bind": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "7",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "5.0",
|
|
node: "0.1.101",
|
|
oculus: "3.0",
|
|
opera: "12",
|
|
"opera-android": "12",
|
|
opera_mobile: "12",
|
|
phantom: "2.0",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "5.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.function.has-instance": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.2",
|
|
firefox: "50",
|
|
"firefox-android": "50",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.function.name": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ios: "3.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "4.0",
|
|
samsung: "1.0"
|
|
},
|
|
"es.global-this": {
|
|
android: "71",
|
|
bun: "0.1.1",
|
|
chrome: "71",
|
|
"chrome-android": "71",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "65",
|
|
"firefox-android": "65",
|
|
hermes: "0.2",
|
|
ios: "12.2",
|
|
node: "12.0",
|
|
oculus: "6.0",
|
|
opera: "58",
|
|
"opera-android": "50",
|
|
opera_mobile: "50",
|
|
quest: "6.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "12.1",
|
|
samsung: "10.0"
|
|
},
|
|
"es.json.stringify": {
|
|
android: "72",
|
|
bun: "0.1.1",
|
|
chrome: "72",
|
|
"chrome-android": "72",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "64",
|
|
"firefox-android": "64",
|
|
ios: "12.2",
|
|
node: "12.0",
|
|
oculus: "6.0",
|
|
opera: "59",
|
|
"opera-android": "51",
|
|
opera_mobile: "51",
|
|
quest: "6.0",
|
|
safari: "12.1",
|
|
samsung: "11.0"
|
|
},
|
|
"es.json.to-string-tag": {
|
|
android: "50",
|
|
bun: "0.1.1",
|
|
chrome: "50",
|
|
"chrome-android": "50",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.1",
|
|
firefox: "51",
|
|
"firefox-android": "51",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "37",
|
|
"opera-android": "37",
|
|
opera_mobile: "37",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.map": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.2",
|
|
firefox: "53",
|
|
"firefox-android": "53",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.math.acosh": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "1.4",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "7.1",
|
|
samsung: "6.0"
|
|
},
|
|
"es.math.asinh": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.math.atanh": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.math.cbrt": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.math.clz32": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "31",
|
|
"firefox-android": "31",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.0"
|
|
},
|
|
"es.math.cosh": {
|
|
android: "39",
|
|
bun: "0.1.1",
|
|
chrome: "39",
|
|
"chrome-android": "39",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "26",
|
|
"opera-android": "26",
|
|
opera_mobile: "26",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.4"
|
|
},
|
|
"es.math.expm1": {
|
|
android: "39",
|
|
bun: "0.1.1",
|
|
chrome: "39",
|
|
"chrome-android": "39",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.20",
|
|
firefox: "46",
|
|
"firefox-android": "46",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "26",
|
|
"opera-android": "26",
|
|
opera_mobile: "26",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.4"
|
|
},
|
|
"es.math.fround": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "26",
|
|
"firefox-android": "26",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.math.hypot": {
|
|
android: "78",
|
|
bun: "0.1.1",
|
|
chrome: "78",
|
|
"chrome-android": "78",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "7.0",
|
|
firefox: "27",
|
|
"firefox-android": "27",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "13.0",
|
|
oculus: "8.0",
|
|
opera: "65",
|
|
"opera-android": "56",
|
|
opera_mobile: "56",
|
|
quest: "8.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "12.0"
|
|
},
|
|
"es.math.imul": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "28",
|
|
"chrome-android": "28",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.20",
|
|
firefox: "20",
|
|
"firefox-android": "20",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.11.1",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "1.5"
|
|
},
|
|
"es.math.log10": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.math.log1p": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.math.log2": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.math.sign": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.0"
|
|
},
|
|
"es.math.sinh": {
|
|
android: "39",
|
|
bun: "0.1.1",
|
|
chrome: "39",
|
|
"chrome-android": "39",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "26",
|
|
"opera-android": "26",
|
|
opera_mobile: "26",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.4"
|
|
},
|
|
"es.math.tanh": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.math.to-string-tag": {
|
|
android: "50",
|
|
bun: "0.1.1",
|
|
chrome: "50",
|
|
"chrome-android": "50",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.1",
|
|
firefox: "51",
|
|
"firefox-android": "51",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "37",
|
|
"opera-android": "37",
|
|
opera_mobile: "37",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.math.trunc": {
|
|
android: "38",
|
|
bun: "0.1.1",
|
|
chrome: "38",
|
|
"chrome-android": "38",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "25",
|
|
"opera-android": "25",
|
|
opera_mobile: "25",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.number.constructor": {
|
|
android: "41",
|
|
bun: "0.1.1",
|
|
chrome: "41",
|
|
"chrome-android": "41",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.21",
|
|
firefox: "46",
|
|
"firefox-android": "46",
|
|
hermes: "0.5",
|
|
ios: "9.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "28",
|
|
"opera-android": "28",
|
|
opera_mobile: "28",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.4"
|
|
},
|
|
"es.number.epsilon": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "34",
|
|
"chrome-android": "34",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "25",
|
|
"firefox-android": "25",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "21",
|
|
"opera-android": "21",
|
|
opera_mobile: "21",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "9.0",
|
|
samsung: "2.0"
|
|
},
|
|
"es.number.is-finite": {
|
|
android: "4.1",
|
|
bun: "0.1.1",
|
|
chrome: "19",
|
|
"chrome-android": "25",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "16",
|
|
"firefox-android": "16",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.7.3",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "1.5"
|
|
},
|
|
"es.number.is-integer": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "34",
|
|
"chrome-android": "34",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "16",
|
|
"firefox-android": "16",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "21",
|
|
"opera-android": "21",
|
|
opera_mobile: "21",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "2.0"
|
|
},
|
|
"es.number.is-nan": {
|
|
android: "4.1",
|
|
bun: "0.1.1",
|
|
chrome: "19",
|
|
"chrome-android": "25",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "15",
|
|
"firefox-android": "15",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.7.3",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "1.5"
|
|
},
|
|
"es.number.is-safe-integer": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "34",
|
|
"chrome-android": "34",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "32",
|
|
"firefox-android": "32",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "21",
|
|
"opera-android": "21",
|
|
opera_mobile: "21",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "2.0"
|
|
},
|
|
"es.number.max-safe-integer": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "34",
|
|
"chrome-android": "34",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "31",
|
|
"firefox-android": "31",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "21",
|
|
"opera-android": "21",
|
|
opera_mobile: "21",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "2.0"
|
|
},
|
|
"es.number.min-safe-integer": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "34",
|
|
"chrome-android": "34",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "31",
|
|
"firefox-android": "31",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "21",
|
|
"opera-android": "21",
|
|
opera_mobile: "21",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "2.0"
|
|
},
|
|
"es.number.parse-float": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "35",
|
|
"chrome-android": "35",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "0.20",
|
|
firefox: "39",
|
|
"firefox-android": "39",
|
|
hermes: "0.1",
|
|
ios: "11.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "22",
|
|
"opera-android": "22",
|
|
opera_mobile: "22",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "11.0",
|
|
samsung: "3.0"
|
|
},
|
|
"es.number.parse-int": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "35",
|
|
"chrome-android": "35",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "0.20",
|
|
firefox: "39",
|
|
"firefox-android": "39",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "22",
|
|
"opera-android": "22",
|
|
opera_mobile: "22",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "9.0",
|
|
samsung: "3.0"
|
|
},
|
|
"es.number.to-exponential": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "18",
|
|
electron: "1.2",
|
|
firefox: "87",
|
|
"firefox-android": "87",
|
|
hermes: "0.1",
|
|
ios: "11.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "11",
|
|
samsung: "5.0"
|
|
},
|
|
"es.number.to-fixed": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "26",
|
|
"chrome-android": "26",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.0",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "1.5"
|
|
},
|
|
"es.number.to-precision": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "26",
|
|
"chrome-android": "26",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "8",
|
|
ios: "8.0",
|
|
node: "0.11.0",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "1.5"
|
|
},
|
|
"es.object.assign": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "0.37",
|
|
firefox: "36",
|
|
"firefox-android": "36",
|
|
hermes: "0.4",
|
|
ios: "9.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "9.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.object.create": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "3.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "12",
|
|
"opera-android": "12",
|
|
opera_mobile: "12",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "4.0",
|
|
samsung: "1.0"
|
|
},
|
|
"es.object.define-getter": {
|
|
android: "62",
|
|
bun: "0.1.1",
|
|
chrome: "62",
|
|
"chrome-android": "62",
|
|
deno: "1.0",
|
|
edge: "16",
|
|
electron: "3.0",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "8.10",
|
|
oculus: "5.0",
|
|
opera: "49",
|
|
"opera-android": "46",
|
|
opera_mobile: "46",
|
|
quest: "5.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "8.0"
|
|
},
|
|
"es.object.define-properties": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "37",
|
|
"chrome-android": "37",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "5.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "12",
|
|
"opera-android": "12",
|
|
opera_mobile: "12",
|
|
phantom: "2.0",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "5.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.object.define-property": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "37",
|
|
"chrome-android": "37",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "4",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "5.0",
|
|
node: "0.11.15",
|
|
oculus: "3.0",
|
|
opera: "12",
|
|
"opera-android": "12",
|
|
opera_mobile: "12",
|
|
phantom: "2.0",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "5.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.object.define-setter": {
|
|
android: "62",
|
|
bun: "0.1.1",
|
|
chrome: "62",
|
|
"chrome-android": "62",
|
|
deno: "1.0",
|
|
edge: "16",
|
|
electron: "3.0",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "8.10",
|
|
oculus: "5.0",
|
|
opera: "49",
|
|
"opera-android": "46",
|
|
opera_mobile: "46",
|
|
quest: "5.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "8.0"
|
|
},
|
|
"es.object.entries": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "14",
|
|
electron: "1.4",
|
|
firefox: "47",
|
|
"firefox-android": "47",
|
|
hermes: "0.1",
|
|
ios: "10.3",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "10.1",
|
|
samsung: "6.0"
|
|
},
|
|
"es.object.freeze": {
|
|
android: "44",
|
|
bun: "0.1.1",
|
|
chrome: "44",
|
|
"chrome-android": "44",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.30",
|
|
firefox: "35",
|
|
"firefox-android": "35",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "3.0",
|
|
oculus: "3.0",
|
|
opera: "31",
|
|
"opera-android": "31",
|
|
opera_mobile: "31",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "4.0"
|
|
},
|
|
"es.object.from-entries": {
|
|
android: "73",
|
|
bun: "0.1.1",
|
|
chrome: "73",
|
|
"chrome-android": "73",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "63",
|
|
"firefox-android": "63",
|
|
hermes: "0.4",
|
|
ios: "12.2",
|
|
node: "12.0",
|
|
oculus: "6.0",
|
|
opera: "60",
|
|
"opera-android": "52",
|
|
opera_mobile: "52",
|
|
quest: "6.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "12.1",
|
|
samsung: "11.0"
|
|
},
|
|
"es.object.get-own-property-descriptor": {
|
|
android: "44",
|
|
bun: "0.1.1",
|
|
chrome: "44",
|
|
"chrome-android": "44",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.30",
|
|
firefox: "35",
|
|
"firefox-android": "35",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "3.0",
|
|
oculus: "3.0",
|
|
opera: "31",
|
|
"opera-android": "31",
|
|
opera_mobile: "31",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "4.0"
|
|
},
|
|
"es.object.get-own-property-descriptors": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "50",
|
|
"firefox-android": "50",
|
|
hermes: "0.6",
|
|
ios: "10.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.object.get-own-property-names": {
|
|
android: "40",
|
|
bun: "0.1.1",
|
|
chrome: "40",
|
|
"chrome-android": "40",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.21",
|
|
firefox: "34",
|
|
"firefox-android": "34",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "27",
|
|
"opera-android": "27",
|
|
opera_mobile: "27",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.4"
|
|
},
|
|
"es.object.get-prototype-of": {
|
|
android: "44",
|
|
bun: "0.1.1",
|
|
chrome: "44",
|
|
"chrome-android": "44",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.30",
|
|
firefox: "35",
|
|
"firefox-android": "35",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "3.0",
|
|
oculus: "3.0",
|
|
opera: "31",
|
|
"opera-android": "31",
|
|
opera_mobile: "31",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "4.0"
|
|
},
|
|
"es.object.has-own": {
|
|
android: "93",
|
|
bun: "0.1.1",
|
|
chrome: "93",
|
|
"chrome-android": "93",
|
|
deno: "1.13",
|
|
edge: "93",
|
|
electron: "14.0",
|
|
firefox: "92",
|
|
"firefox-android": "92",
|
|
hermes: "0.10",
|
|
ios: "15.4",
|
|
node: "16.9",
|
|
oculus: "17.0",
|
|
opera: "79",
|
|
"opera-android": "66",
|
|
opera_mobile: "66",
|
|
quest: "17.0",
|
|
"react-native": "0.69",
|
|
safari: "15.4",
|
|
samsung: "17.0"
|
|
},
|
|
"es.object.is": {
|
|
android: "4.1",
|
|
bun: "0.1.1",
|
|
chrome: "19",
|
|
"chrome-android": "25",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "22",
|
|
"firefox-android": "22",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "0.7.3",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "1.5"
|
|
},
|
|
"es.object.is-extensible": {
|
|
android: "44",
|
|
bun: "0.1.1",
|
|
chrome: "44",
|
|
"chrome-android": "44",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.30",
|
|
firefox: "35",
|
|
"firefox-android": "35",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "3.0",
|
|
oculus: "3.0",
|
|
opera: "31",
|
|
"opera-android": "31",
|
|
opera_mobile: "31",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "4.0"
|
|
},
|
|
"es.object.is-frozen": {
|
|
android: "44",
|
|
bun: "0.1.1",
|
|
chrome: "44",
|
|
"chrome-android": "44",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.30",
|
|
firefox: "35",
|
|
"firefox-android": "35",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "3.0",
|
|
oculus: "3.0",
|
|
opera: "31",
|
|
"opera-android": "31",
|
|
opera_mobile: "31",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "4.0"
|
|
},
|
|
"es.object.is-sealed": {
|
|
android: "44",
|
|
bun: "0.1.1",
|
|
chrome: "44",
|
|
"chrome-android": "44",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.30",
|
|
firefox: "35",
|
|
"firefox-android": "35",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "3.0",
|
|
oculus: "3.0",
|
|
opera: "31",
|
|
"opera-android": "31",
|
|
opera_mobile: "31",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "4.0"
|
|
},
|
|
"es.object.keys": {
|
|
android: "40",
|
|
bun: "0.1.1",
|
|
chrome: "40",
|
|
"chrome-android": "40",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.21",
|
|
firefox: "35",
|
|
"firefox-android": "35",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "27",
|
|
"opera-android": "27",
|
|
opera_mobile: "27",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.4"
|
|
},
|
|
"es.object.lookup-getter": {
|
|
android: "62",
|
|
bun: "0.1.1",
|
|
chrome: "62",
|
|
"chrome-android": "62",
|
|
deno: "1.0",
|
|
edge: "16",
|
|
electron: "3.0",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "8.10",
|
|
oculus: "5.0",
|
|
opera: "49",
|
|
"opera-android": "46",
|
|
opera_mobile: "46",
|
|
quest: "5.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "8.0"
|
|
},
|
|
"es.object.lookup-setter": {
|
|
android: "62",
|
|
bun: "0.1.1",
|
|
chrome: "62",
|
|
"chrome-android": "62",
|
|
deno: "1.0",
|
|
edge: "16",
|
|
electron: "3.0",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "8.10",
|
|
oculus: "5.0",
|
|
opera: "49",
|
|
"opera-android": "46",
|
|
opera_mobile: "46",
|
|
quest: "5.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "8.0"
|
|
},
|
|
"es.object.prevent-extensions": {
|
|
android: "44",
|
|
bun: "0.1.1",
|
|
chrome: "44",
|
|
"chrome-android": "44",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.30",
|
|
firefox: "35",
|
|
"firefox-android": "35",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "3.0",
|
|
oculus: "3.0",
|
|
opera: "31",
|
|
"opera-android": "31",
|
|
opera_mobile: "31",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "4.0"
|
|
},
|
|
"es.object.proto": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "11",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.object.seal": {
|
|
android: "44",
|
|
bun: "0.1.1",
|
|
chrome: "44",
|
|
"chrome-android": "44",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.30",
|
|
firefox: "35",
|
|
"firefox-android": "35",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "3.0",
|
|
oculus: "3.0",
|
|
opera: "31",
|
|
"opera-android": "31",
|
|
opera_mobile: "31",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "4.0"
|
|
},
|
|
"es.object.set-prototype-of": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "34",
|
|
"chrome-android": "34",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "31",
|
|
"firefox-android": "31",
|
|
hermes: "0.1",
|
|
ie: "11",
|
|
ios: "9.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "21",
|
|
"opera-android": "21",
|
|
opera_mobile: "21",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "2.0"
|
|
},
|
|
"es.object.to-string": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "0.37",
|
|
firefox: "51",
|
|
"firefox-android": "51",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.object.values": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "14",
|
|
electron: "1.4",
|
|
firefox: "47",
|
|
"firefox-android": "47",
|
|
hermes: "0.1",
|
|
ios: "10.3",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "10.1",
|
|
samsung: "6.0"
|
|
},
|
|
"es.parse-float": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "35",
|
|
"chrome-android": "35",
|
|
deno: "1.0",
|
|
edge: "74",
|
|
electron: "0.20",
|
|
firefox: "8",
|
|
"firefox-android": "8",
|
|
hermes: "0.1",
|
|
ie: "8",
|
|
ios: "8.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "22",
|
|
"opera-android": "22",
|
|
opera_mobile: "22",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.parse-int": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "35",
|
|
"chrome-android": "35",
|
|
deno: "1.0",
|
|
edge: "74",
|
|
electron: "0.20",
|
|
firefox: "21",
|
|
"firefox-android": "21",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "8.0",
|
|
node: "0.11.13",
|
|
oculus: "3.0",
|
|
opera: "22",
|
|
"opera-android": "22",
|
|
opera_mobile: "22",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "7.1",
|
|
samsung: "3.0"
|
|
},
|
|
"es.promise": {
|
|
android: "67",
|
|
bun: "0.1.1",
|
|
chrome: "67",
|
|
"chrome-android": "67",
|
|
deno: "1.24",
|
|
edge: "79",
|
|
electron: "4.0",
|
|
firefox: "69",
|
|
"firefox-android": "69",
|
|
ios: "11.0",
|
|
node: "10.4",
|
|
oculus: "6.0",
|
|
opera: "54",
|
|
"opera-android": "48",
|
|
opera_mobile: "48",
|
|
quest: "6.0",
|
|
rhino: "1.7.14",
|
|
safari: "11.0",
|
|
samsung: "9.0"
|
|
},
|
|
"es.promise.all-settled": {
|
|
android: "76",
|
|
bun: "0.1.1",
|
|
chrome: "76",
|
|
"chrome-android": "76",
|
|
deno: "1.24",
|
|
edge: "79",
|
|
electron: "6.0",
|
|
firefox: "71",
|
|
"firefox-android": "71",
|
|
ios: "13.0",
|
|
node: "12.9",
|
|
oculus: "7.0",
|
|
opera: "63",
|
|
"opera-android": "54",
|
|
opera_mobile: "54",
|
|
quest: "7.0",
|
|
safari: "13",
|
|
samsung: "12.0"
|
|
},
|
|
"es.promise.any": {
|
|
android: "85",
|
|
bun: "0.1.1",
|
|
chrome: "85",
|
|
"chrome-android": "85",
|
|
deno: "1.24",
|
|
edge: "85",
|
|
electron: "10.0",
|
|
firefox: "79",
|
|
"firefox-android": "79",
|
|
ios: "14.0",
|
|
node: "15.0",
|
|
oculus: "12.0",
|
|
opera: "71",
|
|
"opera-android": "60",
|
|
opera_mobile: "60",
|
|
quest: "12.0",
|
|
safari: "14.0",
|
|
samsung: "14.0"
|
|
},
|
|
"es.promise.finally": {
|
|
android: "67",
|
|
bun: "0.1.1",
|
|
chrome: "67",
|
|
"chrome-android": "67",
|
|
deno: "1.24",
|
|
edge: "79",
|
|
electron: "4.0",
|
|
firefox: "69",
|
|
"firefox-android": "69",
|
|
ios: "13.2.3",
|
|
node: "10.4",
|
|
oculus: "6.0",
|
|
opera: "54",
|
|
"opera-android": "48",
|
|
opera_mobile: "48",
|
|
quest: "6.0",
|
|
rhino: "1.7.14",
|
|
safari: "13.0.3",
|
|
samsung: "9.0"
|
|
},
|
|
"es.reflect.apply": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.construct": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "0.37",
|
|
firefox: "44",
|
|
"firefox-android": "44",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.define-property": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.delete-property": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.get": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.get-own-property-descriptor": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.get-prototype-of": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.has": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.is-extensible": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.own-keys": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.prevent-extensions": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.set": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.set-prototype-of": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.37",
|
|
firefox: "42",
|
|
"firefox-android": "42",
|
|
hermes: "0.7",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.reflect.to-string-tag": {
|
|
android: "86",
|
|
bun: "0.1.1",
|
|
chrome: "86",
|
|
"chrome-android": "86",
|
|
deno: "1.3",
|
|
edge: "86",
|
|
electron: "11.0",
|
|
firefox: "82",
|
|
"firefox-android": "82",
|
|
hermes: "0.7",
|
|
ios: "14.0",
|
|
node: "15.0",
|
|
oculus: "12.0",
|
|
opera: "72",
|
|
"opera-android": "61",
|
|
opera_mobile: "61",
|
|
quest: "12.0",
|
|
"react-native": "0.69",
|
|
safari: "14.0",
|
|
samsung: "14.0"
|
|
},
|
|
"es.regexp.constructor": {
|
|
android: "64",
|
|
bun: "0.1.1",
|
|
chrome: "64",
|
|
"chrome-android": "64",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "3.0",
|
|
firefox: "78",
|
|
"firefox-android": "78",
|
|
ios: "11.3",
|
|
node: "10.0",
|
|
oculus: "5.0",
|
|
opera: "51",
|
|
"opera-android": "47",
|
|
opera_mobile: "47",
|
|
quest: "5.0",
|
|
safari: "11.1",
|
|
samsung: "9.0"
|
|
},
|
|
"es.regexp.dot-all": {
|
|
android: "62",
|
|
bun: "0.1.1",
|
|
chrome: "62",
|
|
"chrome-android": "62",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "3.0",
|
|
firefox: "78",
|
|
"firefox-android": "78",
|
|
hermes: "0.4",
|
|
ios: "11.3",
|
|
node: "8.10",
|
|
oculus: "5.0",
|
|
opera: "49",
|
|
"opera-android": "46",
|
|
opera_mobile: "46",
|
|
quest: "5.0",
|
|
"react-native": "0.69",
|
|
safari: "11.1",
|
|
samsung: "8.0"
|
|
},
|
|
"es.regexp.exec": {
|
|
android: "64",
|
|
bun: "0.1.1",
|
|
chrome: "64",
|
|
"chrome-android": "64",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "3.0",
|
|
firefox: "78",
|
|
"firefox-android": "78",
|
|
ios: "11.3",
|
|
node: "10.0",
|
|
oculus: "5.0",
|
|
opera: "51",
|
|
"opera-android": "47",
|
|
opera_mobile: "47",
|
|
quest: "5.0",
|
|
"react-native": "0.71",
|
|
safari: "11.1",
|
|
samsung: "9.0"
|
|
},
|
|
"es.regexp.flags": {
|
|
android: "111",
|
|
bun: "0.1.1",
|
|
chrome: "111",
|
|
"chrome-android": "111",
|
|
edge: "111",
|
|
electron: "24.0",
|
|
firefox: "78",
|
|
"firefox-android": "78",
|
|
hermes: "0.4",
|
|
ios: "11.3",
|
|
opera: "97",
|
|
"react-native": "0.69",
|
|
safari: "11.1"
|
|
},
|
|
"es.regexp.sticky": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.37",
|
|
firefox: "3",
|
|
"firefox-android": "4",
|
|
hermes: "0.3",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.regexp.test": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.2",
|
|
firefox: "46",
|
|
"firefox-android": "46",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.regexp.to-string": {
|
|
android: "50",
|
|
bun: "0.1.1",
|
|
chrome: "50",
|
|
"chrome-android": "50",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.1",
|
|
firefox: "46",
|
|
"firefox-android": "46",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "37",
|
|
"opera-android": "37",
|
|
opera_mobile: "37",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.set": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.2",
|
|
firefox: "53",
|
|
"firefox-android": "53",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.string.at-alternative": {
|
|
android: "92",
|
|
bun: "0.1.1",
|
|
chrome: "92",
|
|
"chrome-android": "92",
|
|
deno: "1.12",
|
|
edge: "92",
|
|
electron: "14.0",
|
|
firefox: "90",
|
|
"firefox-android": "90",
|
|
ios: "15.4",
|
|
node: "16.6",
|
|
oculus: "17.0",
|
|
opera: "78",
|
|
"opera-android": "65",
|
|
opera_mobile: "65",
|
|
quest: "17.0",
|
|
"react-native": "0.71",
|
|
safari: "15.4",
|
|
samsung: "16.0"
|
|
},
|
|
"es.string.code-point-at": {
|
|
android: "41",
|
|
bun: "0.1.1",
|
|
chrome: "41",
|
|
"chrome-android": "41",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.21",
|
|
firefox: "29",
|
|
"firefox-android": "29",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "28",
|
|
"opera-android": "28",
|
|
opera_mobile: "28",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.4"
|
|
},
|
|
"es.string.ends-with": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.2",
|
|
firefox: "40",
|
|
"firefox-android": "40",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.string.from-code-point": {
|
|
android: "41",
|
|
bun: "0.1.1",
|
|
chrome: "41",
|
|
"chrome-android": "41",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.21",
|
|
firefox: "29",
|
|
"firefox-android": "29",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "28",
|
|
"opera-android": "28",
|
|
opera_mobile: "28",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.4"
|
|
},
|
|
"es.string.includes": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.2",
|
|
firefox: "40",
|
|
"firefox-android": "40",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.string.iterator": {
|
|
android: "41",
|
|
bun: "0.1.1",
|
|
chrome: "41",
|
|
"chrome-android": "41",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.21",
|
|
firefox: "36",
|
|
"firefox-android": "36",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "28",
|
|
"opera-android": "28",
|
|
opera_mobile: "28",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.4"
|
|
},
|
|
"es.string.match": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.2",
|
|
firefox: "49",
|
|
"firefox-android": "49",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.string.match-all": {
|
|
android: "80",
|
|
bun: "0.1.1",
|
|
chrome: "80",
|
|
"chrome-android": "80",
|
|
deno: "1.0",
|
|
edge: "80",
|
|
electron: "8.0",
|
|
firefox: "73",
|
|
"firefox-android": "73",
|
|
hermes: "0.6",
|
|
ios: "13.4",
|
|
node: "14.0",
|
|
oculus: "9.0",
|
|
opera: "67",
|
|
"opera-android": "57",
|
|
opera_mobile: "57",
|
|
quest: "9.0",
|
|
"react-native": "0.69",
|
|
safari: "13.1",
|
|
samsung: "13.0"
|
|
},
|
|
"es.string.pad-end": {
|
|
android: "57",
|
|
bun: "0.1.1",
|
|
chrome: "57",
|
|
"chrome-android": "57",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.7",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
hermes: "0.1",
|
|
ios: "11.0",
|
|
node: "8.0",
|
|
oculus: "3.0",
|
|
opera: "44",
|
|
"opera-android": "43",
|
|
opera_mobile: "43",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "11.0",
|
|
samsung: "7.0"
|
|
},
|
|
"es.string.pad-start": {
|
|
android: "57",
|
|
bun: "0.1.1",
|
|
chrome: "57",
|
|
"chrome-android": "57",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.7",
|
|
firefox: "48",
|
|
"firefox-android": "48",
|
|
hermes: "0.1",
|
|
ios: "11.0",
|
|
node: "8.0",
|
|
oculus: "3.0",
|
|
opera: "44",
|
|
"opera-android": "43",
|
|
opera_mobile: "43",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "11.0",
|
|
samsung: "7.0"
|
|
},
|
|
"es.string.raw": {
|
|
android: "41",
|
|
bun: "0.1.1",
|
|
chrome: "41",
|
|
"chrome-android": "41",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.21",
|
|
firefox: "34",
|
|
"firefox-android": "34",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "28",
|
|
"opera-android": "28",
|
|
opera_mobile: "28",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "9.0",
|
|
samsung: "3.4"
|
|
},
|
|
"es.string.repeat": {
|
|
android: "41",
|
|
bun: "0.1.1",
|
|
chrome: "41",
|
|
"chrome-android": "41",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.21",
|
|
firefox: "24",
|
|
"firefox-android": "24",
|
|
hermes: "0.1",
|
|
ios: "9.0",
|
|
node: "1.0",
|
|
oculus: "3.0",
|
|
opera: "28",
|
|
"opera-android": "28",
|
|
opera_mobile: "28",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "9.0",
|
|
samsung: "3.4"
|
|
},
|
|
"es.string.replace": {
|
|
android: "64",
|
|
bun: "0.1.1",
|
|
chrome: "64",
|
|
"chrome-android": "64",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "3.0",
|
|
firefox: "78",
|
|
"firefox-android": "78",
|
|
ios: "14.0",
|
|
node: "10.0",
|
|
oculus: "5.0",
|
|
opera: "51",
|
|
"opera-android": "47",
|
|
opera_mobile: "47",
|
|
quest: "5.0",
|
|
"react-native": "0.71",
|
|
safari: "14.0",
|
|
samsung: "9.0"
|
|
},
|
|
"es.string.replace-all": {
|
|
android: "85",
|
|
bun: "0.1.1",
|
|
chrome: "85",
|
|
"chrome-android": "85",
|
|
deno: "1.2",
|
|
edge: "85",
|
|
electron: "10.0",
|
|
firefox: "77",
|
|
"firefox-android": "77",
|
|
hermes: "0.7",
|
|
ios: "13.4",
|
|
node: "15.0",
|
|
oculus: "12.0",
|
|
opera: "71",
|
|
"opera-android": "60",
|
|
opera_mobile: "60",
|
|
quest: "12.0",
|
|
"react-native": "0.69",
|
|
safari: "13.1",
|
|
samsung: "14.0"
|
|
},
|
|
"es.string.search": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.2",
|
|
firefox: "49",
|
|
"firefox-android": "49",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.string.split": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.4",
|
|
firefox: "49",
|
|
"firefox-android": "49",
|
|
ios: "10.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "10.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.string.starts-with": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.2",
|
|
firefox: "40",
|
|
"firefox-android": "40",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.string.substr": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "1",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "1",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "9",
|
|
ios: "1.0",
|
|
node: "0.0.3",
|
|
oculus: "3.0",
|
|
opera: "4",
|
|
"opera-android": "4",
|
|
opera_mobile: "4",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.trim": {
|
|
android: "59",
|
|
bun: "0.1.1",
|
|
chrome: "59",
|
|
"chrome-android": "59",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.8",
|
|
firefox: "52",
|
|
"firefox-android": "52",
|
|
hermes: "0.1",
|
|
ios: "12.2",
|
|
node: "8.3",
|
|
oculus: "4.0",
|
|
opera: "46",
|
|
"opera-android": "43",
|
|
opera_mobile: "43",
|
|
quest: "4.0",
|
|
"react-native": "0.69",
|
|
safari: "12.1",
|
|
samsung: "7.0"
|
|
},
|
|
"es.string.trim-end": {
|
|
android: "66",
|
|
bun: "0.1.1",
|
|
chrome: "66",
|
|
"chrome-android": "66",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "3.0",
|
|
firefox: "61",
|
|
"firefox-android": "61",
|
|
hermes: "0.3",
|
|
ios: "12.2",
|
|
node: "10.0",
|
|
oculus: "5.0",
|
|
opera: "53",
|
|
"opera-android": "47",
|
|
opera_mobile: "47",
|
|
quest: "5.0",
|
|
"react-native": "0.69",
|
|
safari: "12.1",
|
|
samsung: "9.0"
|
|
},
|
|
"es.string.trim-start": {
|
|
android: "66",
|
|
bun: "0.1.1",
|
|
chrome: "66",
|
|
"chrome-android": "66",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "3.0",
|
|
firefox: "61",
|
|
"firefox-android": "61",
|
|
hermes: "0.3",
|
|
ios: "12.0",
|
|
node: "10.0",
|
|
oculus: "5.0",
|
|
opera: "53",
|
|
"opera-android": "47",
|
|
opera_mobile: "47",
|
|
quest: "5.0",
|
|
"react-native": "0.69",
|
|
safari: "12.0",
|
|
samsung: "9.0"
|
|
},
|
|
"es.string.anchor": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "17",
|
|
"firefox-android": "17",
|
|
ios: "6.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
phantom: "2.0",
|
|
quest: "3.0",
|
|
rhino: "1.7.14",
|
|
safari: "6.0",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.big": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.blink": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.bold": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.fixed": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.fontcolor": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "17",
|
|
"firefox-android": "17",
|
|
ios: "6.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
phantom: "2.0",
|
|
quest: "3.0",
|
|
rhino: "1.7.14",
|
|
safari: "6.0",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.fontsize": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "17",
|
|
"firefox-android": "17",
|
|
ios: "6.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
phantom: "2.0",
|
|
quest: "3.0",
|
|
rhino: "1.7.14",
|
|
safari: "6.0",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.italics": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.link": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "17",
|
|
"firefox-android": "17",
|
|
ios: "6.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
phantom: "2.0",
|
|
quest: "3.0",
|
|
rhino: "1.7.14",
|
|
safari: "6.0",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.small": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.strike": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.sub": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.string.sup": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "5",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "2",
|
|
"firefox-android": "4",
|
|
ios: "2.0",
|
|
node: "0.1.27",
|
|
oculus: "3.0",
|
|
opera: "10.50",
|
|
"opera-android": "10.50",
|
|
opera_mobile: "10.50",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "3.1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.typed-array.float32-array": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.float64-array": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.int8-array": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.int16-array": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.int32-array": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.uint8-array": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.uint8-clamped-array": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.uint16-array": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.uint32-array": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.at": {
|
|
android: "92",
|
|
bun: "0.1.1",
|
|
chrome: "92",
|
|
"chrome-android": "92",
|
|
deno: "1.12",
|
|
edge: "92",
|
|
electron: "14.0",
|
|
firefox: "90",
|
|
"firefox-android": "90",
|
|
ios: "15.4",
|
|
node: "16.6",
|
|
oculus: "17.0",
|
|
opera: "78",
|
|
"opera-android": "65",
|
|
opera_mobile: "65",
|
|
quest: "17.0",
|
|
"react-native": "0.71",
|
|
safari: "15.4",
|
|
samsung: "16.0"
|
|
},
|
|
"es.typed-array.copy-within": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "34",
|
|
"firefox-android": "34",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.every": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.fill": {
|
|
android: "58",
|
|
bun: "0.1.1",
|
|
chrome: "58",
|
|
"chrome-android": "58",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.7",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
hermes: "0.1",
|
|
ios: "14.5",
|
|
node: "8.0",
|
|
oculus: "4.0",
|
|
opera: "45",
|
|
"opera-android": "43",
|
|
opera_mobile: "43",
|
|
quest: "4.0",
|
|
"react-native": "0.69",
|
|
safari: "14.1",
|
|
samsung: "7.0"
|
|
},
|
|
"es.typed-array.filter": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "38",
|
|
"firefox-android": "38",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.find": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.find-index": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.find-last": {
|
|
android: "97",
|
|
bun: "0.1.1",
|
|
chrome: "97",
|
|
"chrome-android": "97",
|
|
deno: "1.16",
|
|
edge: "97",
|
|
electron: "17.0",
|
|
firefox: "104",
|
|
"firefox-android": "104",
|
|
hermes: "0.11",
|
|
ios: "15.4",
|
|
node: "18.0",
|
|
oculus: "20.0",
|
|
opera: "83",
|
|
"opera-android": "68",
|
|
opera_mobile: "68",
|
|
quest: "20.0",
|
|
"react-native": "0.69",
|
|
safari: "15.4",
|
|
samsung: "18.0"
|
|
},
|
|
"es.typed-array.find-last-index": {
|
|
android: "97",
|
|
bun: "0.1.1",
|
|
chrome: "97",
|
|
"chrome-android": "97",
|
|
deno: "1.16",
|
|
edge: "97",
|
|
electron: "17.0",
|
|
firefox: "104",
|
|
"firefox-android": "104",
|
|
hermes: "0.11",
|
|
ios: "15.4",
|
|
node: "18.0",
|
|
oculus: "20.0",
|
|
opera: "83",
|
|
"opera-android": "68",
|
|
opera_mobile: "68",
|
|
quest: "20.0",
|
|
"react-native": "0.69",
|
|
safari: "15.4",
|
|
samsung: "18.0"
|
|
},
|
|
"es.typed-array.for-each": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "38",
|
|
"firefox-android": "38",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.from": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.includes": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.0",
|
|
edge: "14",
|
|
electron: "0.37",
|
|
firefox: "43",
|
|
"firefox-android": "43",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.index-of": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.iterator": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "1.2",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.join": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.last-index-of": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.map": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "38",
|
|
"firefox-android": "38",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.of": {
|
|
android: "54",
|
|
bun: "0.1.1",
|
|
chrome: "54",
|
|
"chrome-android": "54",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.4",
|
|
firefox: "55",
|
|
"firefox-android": "55",
|
|
ios: "14.0",
|
|
node: "7.0",
|
|
oculus: "3.0",
|
|
opera: "41",
|
|
"opera-android": "41",
|
|
opera_mobile: "41",
|
|
quest: "3.0",
|
|
safari: "14.0",
|
|
samsung: "6.0"
|
|
},
|
|
"es.typed-array.reduce": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.reduce-right": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.reverse": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.set": {
|
|
android: "95",
|
|
bun: "0.1.1",
|
|
chrome: "95",
|
|
"chrome-android": "95",
|
|
deno: "1.15",
|
|
edge: "95",
|
|
electron: "16.0",
|
|
firefox: "54",
|
|
"firefox-android": "54",
|
|
hermes: "0.1",
|
|
ios: "14.5",
|
|
node: "17.0",
|
|
oculus: "18.0",
|
|
opera: "81",
|
|
"opera-android": "67",
|
|
opera_mobile: "67",
|
|
quest: "18.0",
|
|
"react-native": "0.69",
|
|
safari: "14.1",
|
|
samsung: "17.0"
|
|
},
|
|
"es.typed-array.slice": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "38",
|
|
"firefox-android": "38",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.some": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.31",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.sort": {
|
|
android: "74",
|
|
bun: "0.1.1",
|
|
chrome: "74",
|
|
"chrome-android": "74",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "6.0",
|
|
firefox: "67",
|
|
"firefox-android": "67",
|
|
hermes: "0.10",
|
|
ios: "14.5",
|
|
node: "12.0",
|
|
oculus: "6.0",
|
|
opera: "61",
|
|
"opera-android": "53",
|
|
opera_mobile: "53",
|
|
quest: "6.0",
|
|
"react-native": "0.69",
|
|
safari: "14.1",
|
|
samsung: "11.0"
|
|
},
|
|
"es.typed-array.subarray": {
|
|
android: "4.4",
|
|
bun: "0.1.1",
|
|
chrome: "26",
|
|
"chrome-android": "26",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "0.20",
|
|
firefox: "15",
|
|
"firefox-android": "15",
|
|
hermes: "0.1",
|
|
ios: "8.0",
|
|
node: "0.11.0",
|
|
oculus: "3.0",
|
|
opera: "15",
|
|
"opera-android": "15",
|
|
opera_mobile: "15",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "7.1",
|
|
samsung: "1.5"
|
|
},
|
|
"es.typed-array.to-locale-string": {
|
|
android: "45",
|
|
bun: "0.1.1",
|
|
chrome: "45",
|
|
"chrome-android": "45",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "0.31",
|
|
firefox: "51",
|
|
"firefox-android": "51",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "4.0",
|
|
oculus: "3.0",
|
|
opera: "32",
|
|
"opera-android": "32",
|
|
opera_mobile: "32",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.to-reversed": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"es.typed-array.to-sorted": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"es.typed-array.to-string": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "13",
|
|
electron: "1.2",
|
|
firefox: "51",
|
|
"firefox-android": "51",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.typed-array.with": {
|
|
android: "110",
|
|
bun: "0.1.9",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
opera: "96"
|
|
},
|
|
"es.unescape": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "1",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "1",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "3",
|
|
ios: "1.0",
|
|
node: "0.0.3",
|
|
oculus: "3.0",
|
|
opera: "3",
|
|
"opera-android": "3",
|
|
opera_mobile: "3",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "1",
|
|
samsung: "1.0"
|
|
},
|
|
"es.weak-map": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "1.2",
|
|
firefox: "53",
|
|
"firefox-android": "53",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"es.weak-set": {
|
|
android: "51",
|
|
bun: "0.1.1",
|
|
chrome: "51",
|
|
"chrome-android": "51",
|
|
deno: "1.0",
|
|
edge: "15",
|
|
electron: "1.2",
|
|
firefox: "53",
|
|
"firefox-android": "53",
|
|
ios: "10.0",
|
|
node: "6.5",
|
|
oculus: "3.0",
|
|
opera: "38",
|
|
"opera-android": "38",
|
|
opera_mobile: "38",
|
|
quest: "3.0",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "5.0"
|
|
},
|
|
"esnext.aggregate-error": {
|
|
android: "85",
|
|
bun: "0.1.1",
|
|
chrome: "85",
|
|
"chrome-android": "85",
|
|
deno: "1.2",
|
|
edge: "85",
|
|
electron: "10.0",
|
|
firefox: "79",
|
|
"firefox-android": "79",
|
|
ios: "14.0",
|
|
node: "15.0",
|
|
oculus: "12.0",
|
|
opera: "71",
|
|
"opera-android": "60",
|
|
opera_mobile: "60",
|
|
quest: "12.0",
|
|
safari: "14.0",
|
|
samsung: "14.0"
|
|
},
|
|
"esnext.suppressed-error.constructor": {
|
|
},
|
|
"esnext.array.from-async": {
|
|
bun: "0.3.0"
|
|
},
|
|
"esnext.array.at": {
|
|
android: "92",
|
|
bun: "0.1.1",
|
|
chrome: "92",
|
|
"chrome-android": "92",
|
|
deno: "1.12",
|
|
edge: "92",
|
|
electron: "14.0",
|
|
firefox: "90",
|
|
"firefox-android": "90",
|
|
ios: "15.4",
|
|
node: "16.6",
|
|
oculus: "17.0",
|
|
opera: "78",
|
|
"opera-android": "65",
|
|
opera_mobile: "65",
|
|
quest: "17.0",
|
|
"react-native": "0.71",
|
|
safari: "15.4",
|
|
samsung: "16.0"
|
|
},
|
|
"esnext.array.filter-out": {
|
|
},
|
|
"esnext.array.filter-reject": {
|
|
},
|
|
"esnext.array.find-last": {
|
|
android: "97",
|
|
bun: "0.1.1",
|
|
chrome: "97",
|
|
"chrome-android": "97",
|
|
deno: "1.16",
|
|
edge: "97",
|
|
electron: "17.0",
|
|
firefox: "104",
|
|
"firefox-android": "104",
|
|
hermes: "0.11",
|
|
ios: "15.4",
|
|
node: "18.0",
|
|
oculus: "20.0",
|
|
opera: "83",
|
|
"opera-android": "68",
|
|
opera_mobile: "68",
|
|
quest: "20.0",
|
|
"react-native": "0.69",
|
|
safari: "15.4",
|
|
samsung: "18.0"
|
|
},
|
|
"esnext.array.find-last-index": {
|
|
android: "97",
|
|
bun: "0.1.1",
|
|
chrome: "97",
|
|
"chrome-android": "97",
|
|
deno: "1.16",
|
|
edge: "97",
|
|
electron: "17.0",
|
|
firefox: "104",
|
|
"firefox-android": "104",
|
|
hermes: "0.11",
|
|
ios: "15.4",
|
|
node: "18.0",
|
|
oculus: "20.0",
|
|
opera: "83",
|
|
"opera-android": "68",
|
|
opera_mobile: "68",
|
|
quest: "20.0",
|
|
"react-native": "0.69",
|
|
safari: "15.4",
|
|
samsung: "18.0"
|
|
},
|
|
"esnext.array.group": {
|
|
bun: "0.1.9"
|
|
},
|
|
"esnext.array.group-by": {
|
|
},
|
|
"esnext.array.group-by-to-map": {
|
|
},
|
|
"esnext.array.group-to-map": {
|
|
bun: "0.1.9"
|
|
},
|
|
"esnext.array.is-template-object": {
|
|
},
|
|
"esnext.array.last-index": {
|
|
},
|
|
"esnext.array.last-item": {
|
|
},
|
|
"esnext.array.to-reversed": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"esnext.array.to-sorted": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"esnext.array.to-spliced": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"esnext.array.unique-by": {
|
|
},
|
|
"esnext.array.with": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"esnext.array-buffer.detached": {
|
|
},
|
|
"esnext.array-buffer.transfer": {
|
|
},
|
|
"esnext.array-buffer.transfer-to-fixed-length": {
|
|
},
|
|
"esnext.async-disposable-stack.constructor": {
|
|
},
|
|
"esnext.async-iterator.constructor": {
|
|
},
|
|
"esnext.async-iterator.as-indexed-pairs": {
|
|
},
|
|
"esnext.async-iterator.async-dispose": {
|
|
},
|
|
"esnext.async-iterator.drop": {
|
|
},
|
|
"esnext.async-iterator.every": {
|
|
},
|
|
"esnext.async-iterator.filter": {
|
|
},
|
|
"esnext.async-iterator.find": {
|
|
},
|
|
"esnext.async-iterator.flat-map": {
|
|
},
|
|
"esnext.async-iterator.for-each": {
|
|
},
|
|
"esnext.async-iterator.from": {
|
|
},
|
|
"esnext.async-iterator.indexed": {
|
|
},
|
|
"esnext.async-iterator.map": {
|
|
},
|
|
"esnext.async-iterator.reduce": {
|
|
},
|
|
"esnext.async-iterator.some": {
|
|
},
|
|
"esnext.async-iterator.take": {
|
|
},
|
|
"esnext.async-iterator.to-array": {
|
|
},
|
|
"esnext.bigint.range": {
|
|
},
|
|
"esnext.composite-key": {
|
|
},
|
|
"esnext.composite-symbol": {
|
|
},
|
|
"esnext.disposable-stack.constructor": {
|
|
},
|
|
"esnext.function.demethodize": {
|
|
},
|
|
"esnext.function.is-callable": {
|
|
},
|
|
"esnext.function.is-constructor": {
|
|
},
|
|
"esnext.function.un-this": {
|
|
},
|
|
"esnext.global-this": {
|
|
android: "71",
|
|
bun: "0.1.1",
|
|
chrome: "71",
|
|
"chrome-android": "71",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "65",
|
|
"firefox-android": "65",
|
|
hermes: "0.2",
|
|
ios: "12.2",
|
|
node: "12.0",
|
|
oculus: "6.0",
|
|
opera: "58",
|
|
"opera-android": "50",
|
|
opera_mobile: "50",
|
|
quest: "6.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.14",
|
|
safari: "12.1",
|
|
samsung: "10.0"
|
|
},
|
|
"esnext.iterator.constructor": {
|
|
},
|
|
"esnext.iterator.as-indexed-pairs": {
|
|
},
|
|
"esnext.iterator.dispose": {
|
|
},
|
|
"esnext.iterator.drop": {
|
|
},
|
|
"esnext.iterator.every": {
|
|
},
|
|
"esnext.iterator.filter": {
|
|
},
|
|
"esnext.iterator.find": {
|
|
},
|
|
"esnext.iterator.flat-map": {
|
|
},
|
|
"esnext.iterator.for-each": {
|
|
},
|
|
"esnext.iterator.from": {
|
|
},
|
|
"esnext.iterator.indexed": {
|
|
},
|
|
"esnext.iterator.map": {
|
|
},
|
|
"esnext.iterator.range": {
|
|
},
|
|
"esnext.iterator.reduce": {
|
|
},
|
|
"esnext.iterator.some": {
|
|
},
|
|
"esnext.iterator.take": {
|
|
},
|
|
"esnext.iterator.to-array": {
|
|
},
|
|
"esnext.iterator.to-async": {
|
|
},
|
|
"esnext.json.is-raw-json": {
|
|
},
|
|
"esnext.json.parse": {
|
|
},
|
|
"esnext.json.raw-json": {
|
|
},
|
|
"esnext.map.delete-all": {
|
|
},
|
|
"esnext.map.emplace": {
|
|
},
|
|
"esnext.map.every": {
|
|
},
|
|
"esnext.map.filter": {
|
|
},
|
|
"esnext.map.find": {
|
|
},
|
|
"esnext.map.find-key": {
|
|
},
|
|
"esnext.map.from": {
|
|
},
|
|
"esnext.map.group-by": {
|
|
},
|
|
"esnext.map.includes": {
|
|
},
|
|
"esnext.map.key-by": {
|
|
},
|
|
"esnext.map.key-of": {
|
|
},
|
|
"esnext.map.map-keys": {
|
|
},
|
|
"esnext.map.map-values": {
|
|
},
|
|
"esnext.map.merge": {
|
|
},
|
|
"esnext.map.of": {
|
|
},
|
|
"esnext.map.reduce": {
|
|
},
|
|
"esnext.map.some": {
|
|
},
|
|
"esnext.map.update": {
|
|
},
|
|
"esnext.map.update-or-insert": {
|
|
},
|
|
"esnext.map.upsert": {
|
|
},
|
|
"esnext.math.clamp": {
|
|
},
|
|
"esnext.math.deg-per-rad": {
|
|
},
|
|
"esnext.math.degrees": {
|
|
},
|
|
"esnext.math.fscale": {
|
|
},
|
|
"esnext.math.iaddh": {
|
|
},
|
|
"esnext.math.imulh": {
|
|
},
|
|
"esnext.math.isubh": {
|
|
},
|
|
"esnext.math.rad-per-deg": {
|
|
},
|
|
"esnext.math.radians": {
|
|
},
|
|
"esnext.math.scale": {
|
|
},
|
|
"esnext.math.seeded-prng": {
|
|
},
|
|
"esnext.math.signbit": {
|
|
},
|
|
"esnext.math.umulh": {
|
|
},
|
|
"esnext.number.from-string": {
|
|
},
|
|
"esnext.number.range": {
|
|
},
|
|
"esnext.object.has-own": {
|
|
android: "93",
|
|
bun: "0.1.1",
|
|
chrome: "93",
|
|
"chrome-android": "93",
|
|
deno: "1.13",
|
|
edge: "93",
|
|
electron: "14.0",
|
|
firefox: "92",
|
|
"firefox-android": "92",
|
|
hermes: "0.10",
|
|
ios: "15.4",
|
|
node: "16.9",
|
|
oculus: "17.0",
|
|
opera: "79",
|
|
"opera-android": "66",
|
|
opera_mobile: "66",
|
|
quest: "17.0",
|
|
"react-native": "0.69",
|
|
safari: "15.4",
|
|
samsung: "17.0"
|
|
},
|
|
"esnext.object.iterate-entries": {
|
|
},
|
|
"esnext.object.iterate-keys": {
|
|
},
|
|
"esnext.object.iterate-values": {
|
|
},
|
|
"esnext.observable": {
|
|
},
|
|
"esnext.promise.all-settled": {
|
|
android: "76",
|
|
bun: "0.1.1",
|
|
chrome: "76",
|
|
"chrome-android": "76",
|
|
deno: "1.24",
|
|
edge: "79",
|
|
electron: "6.0",
|
|
firefox: "71",
|
|
"firefox-android": "71",
|
|
ios: "13.0",
|
|
node: "12.9",
|
|
oculus: "7.0",
|
|
opera: "63",
|
|
"opera-android": "54",
|
|
opera_mobile: "54",
|
|
quest: "7.0",
|
|
safari: "13",
|
|
samsung: "12.0"
|
|
},
|
|
"esnext.promise.any": {
|
|
android: "85",
|
|
bun: "0.1.1",
|
|
chrome: "85",
|
|
"chrome-android": "85",
|
|
deno: "1.24",
|
|
edge: "85",
|
|
electron: "10.0",
|
|
firefox: "79",
|
|
"firefox-android": "79",
|
|
ios: "14.0",
|
|
node: "15.0",
|
|
oculus: "12.0",
|
|
opera: "71",
|
|
"opera-android": "60",
|
|
opera_mobile: "60",
|
|
quest: "12.0",
|
|
safari: "14.0",
|
|
samsung: "14.0"
|
|
},
|
|
"esnext.promise.try": {
|
|
},
|
|
"esnext.reflect.define-metadata": {
|
|
},
|
|
"esnext.reflect.delete-metadata": {
|
|
},
|
|
"esnext.reflect.get-metadata": {
|
|
},
|
|
"esnext.reflect.get-metadata-keys": {
|
|
},
|
|
"esnext.reflect.get-own-metadata": {
|
|
},
|
|
"esnext.reflect.get-own-metadata-keys": {
|
|
},
|
|
"esnext.reflect.has-metadata": {
|
|
},
|
|
"esnext.reflect.has-own-metadata": {
|
|
},
|
|
"esnext.reflect.metadata": {
|
|
},
|
|
"esnext.set.add-all": {
|
|
},
|
|
"esnext.set.delete-all": {
|
|
},
|
|
"esnext.set.difference.v2": {
|
|
},
|
|
"esnext.set.difference": {
|
|
},
|
|
"esnext.set.every": {
|
|
},
|
|
"esnext.set.filter": {
|
|
},
|
|
"esnext.set.find": {
|
|
},
|
|
"esnext.set.from": {
|
|
},
|
|
"esnext.set.intersection.v2": {
|
|
bun: "0.5.7"
|
|
},
|
|
"esnext.set.intersection": {
|
|
},
|
|
"esnext.set.is-disjoint-from.v2": {
|
|
bun: "0.5.7"
|
|
},
|
|
"esnext.set.is-disjoint-from": {
|
|
},
|
|
"esnext.set.is-subset-of.v2": {
|
|
bun: "0.5.7"
|
|
},
|
|
"esnext.set.is-subset-of": {
|
|
},
|
|
"esnext.set.is-superset-of.v2": {
|
|
bun: "0.5.7"
|
|
},
|
|
"esnext.set.is-superset-of": {
|
|
},
|
|
"esnext.set.join": {
|
|
},
|
|
"esnext.set.map": {
|
|
},
|
|
"esnext.set.of": {
|
|
},
|
|
"esnext.set.reduce": {
|
|
},
|
|
"esnext.set.some": {
|
|
},
|
|
"esnext.set.symmetric-difference.v2": {
|
|
bun: "0.5.7"
|
|
},
|
|
"esnext.set.symmetric-difference": {
|
|
},
|
|
"esnext.set.union.v2": {
|
|
bun: "0.5.7"
|
|
},
|
|
"esnext.set.union": {
|
|
},
|
|
"esnext.string.at": {
|
|
},
|
|
"esnext.string.cooked": {
|
|
},
|
|
"esnext.string.code-points": {
|
|
},
|
|
"esnext.string.dedent": {
|
|
},
|
|
"esnext.string.is-well-formed": {
|
|
bun: "0.4.0"
|
|
},
|
|
"esnext.string.match-all": {
|
|
android: "80",
|
|
bun: "0.1.1",
|
|
chrome: "80",
|
|
"chrome-android": "80",
|
|
deno: "1.0",
|
|
edge: "80",
|
|
electron: "8.0",
|
|
firefox: "73",
|
|
"firefox-android": "73",
|
|
hermes: "0.6",
|
|
ios: "13.4",
|
|
node: "14.0",
|
|
oculus: "9.0",
|
|
opera: "67",
|
|
"opera-android": "57",
|
|
opera_mobile: "57",
|
|
quest: "9.0",
|
|
"react-native": "0.69",
|
|
safari: "13.1",
|
|
samsung: "13.0"
|
|
},
|
|
"esnext.string.replace-all": {
|
|
android: "85",
|
|
bun: "0.1.1",
|
|
chrome: "85",
|
|
"chrome-android": "85",
|
|
deno: "1.2",
|
|
edge: "85",
|
|
electron: "10.0",
|
|
firefox: "77",
|
|
"firefox-android": "77",
|
|
hermes: "0.7",
|
|
ios: "13.4",
|
|
node: "15.0",
|
|
oculus: "12.0",
|
|
opera: "71",
|
|
"opera-android": "60",
|
|
opera_mobile: "60",
|
|
quest: "12.0",
|
|
"react-native": "0.69",
|
|
safari: "13.1",
|
|
samsung: "14.0"
|
|
},
|
|
"esnext.string.to-well-formed": {
|
|
bun: "0.5.7"
|
|
},
|
|
"esnext.symbol.async-dispose": {
|
|
},
|
|
"esnext.symbol.dispose": {
|
|
},
|
|
"esnext.symbol.is-registered": {
|
|
},
|
|
"esnext.symbol.is-well-known": {
|
|
},
|
|
"esnext.symbol.matcher": {
|
|
},
|
|
"esnext.symbol.metadata": {
|
|
},
|
|
"esnext.symbol.metadata-key": {
|
|
},
|
|
"esnext.symbol.observable": {
|
|
},
|
|
"esnext.symbol.pattern-match": {
|
|
},
|
|
"esnext.symbol.replace-all": {
|
|
},
|
|
"esnext.typed-array.from-async": {
|
|
},
|
|
"esnext.typed-array.at": {
|
|
android: "92",
|
|
bun: "0.1.1",
|
|
chrome: "92",
|
|
"chrome-android": "92",
|
|
deno: "1.12",
|
|
edge: "92",
|
|
electron: "14.0",
|
|
firefox: "90",
|
|
"firefox-android": "90",
|
|
ios: "15.4",
|
|
node: "16.6",
|
|
oculus: "17.0",
|
|
opera: "78",
|
|
"opera-android": "65",
|
|
opera_mobile: "65",
|
|
quest: "17.0",
|
|
"react-native": "0.71",
|
|
safari: "15.4",
|
|
samsung: "16.0"
|
|
},
|
|
"esnext.typed-array.filter-out": {
|
|
},
|
|
"esnext.typed-array.filter-reject": {
|
|
},
|
|
"esnext.typed-array.find-last": {
|
|
android: "97",
|
|
bun: "0.1.1",
|
|
chrome: "97",
|
|
"chrome-android": "97",
|
|
deno: "1.16",
|
|
edge: "97",
|
|
electron: "17.0",
|
|
firefox: "104",
|
|
"firefox-android": "104",
|
|
hermes: "0.11",
|
|
ios: "15.4",
|
|
node: "18.0",
|
|
oculus: "20.0",
|
|
opera: "83",
|
|
"opera-android": "68",
|
|
opera_mobile: "68",
|
|
quest: "20.0",
|
|
"react-native": "0.69",
|
|
safari: "15.4",
|
|
samsung: "18.0"
|
|
},
|
|
"esnext.typed-array.find-last-index": {
|
|
android: "97",
|
|
bun: "0.1.1",
|
|
chrome: "97",
|
|
"chrome-android": "97",
|
|
deno: "1.16",
|
|
edge: "97",
|
|
electron: "17.0",
|
|
firefox: "104",
|
|
"firefox-android": "104",
|
|
hermes: "0.11",
|
|
ios: "15.4",
|
|
node: "18.0",
|
|
oculus: "20.0",
|
|
opera: "83",
|
|
"opera-android": "68",
|
|
opera_mobile: "68",
|
|
quest: "20.0",
|
|
"react-native": "0.69",
|
|
safari: "15.4",
|
|
samsung: "18.0"
|
|
},
|
|
"esnext.typed-array.group-by": {
|
|
},
|
|
"esnext.typed-array.to-reversed": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"esnext.typed-array.to-sorted": {
|
|
android: "110",
|
|
bun: "0.1.1",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
ios: "16.0",
|
|
opera: "96",
|
|
safari: "16.0"
|
|
},
|
|
"esnext.typed-array.to-spliced": {
|
|
},
|
|
"esnext.typed-array.unique-by": {
|
|
},
|
|
"esnext.typed-array.with": {
|
|
android: "110",
|
|
bun: "0.1.9",
|
|
chrome: "110",
|
|
"chrome-android": "110",
|
|
deno: "1.27",
|
|
edge: "110",
|
|
electron: "23.0",
|
|
opera: "96"
|
|
},
|
|
"esnext.weak-map.delete-all": {
|
|
},
|
|
"esnext.weak-map.from": {
|
|
},
|
|
"esnext.weak-map.of": {
|
|
},
|
|
"esnext.weak-map.emplace": {
|
|
},
|
|
"esnext.weak-map.upsert": {
|
|
},
|
|
"esnext.weak-set.add-all": {
|
|
},
|
|
"esnext.weak-set.delete-all": {
|
|
},
|
|
"esnext.weak-set.from": {
|
|
},
|
|
"esnext.weak-set.of": {
|
|
},
|
|
"web.atob": {
|
|
android: "37",
|
|
bun: "0.1.1",
|
|
chrome: "34",
|
|
"chrome-android": "34",
|
|
deno: "1.0",
|
|
edge: "16",
|
|
electron: "0.20",
|
|
firefox: "27",
|
|
"firefox-android": "27",
|
|
ios: "10.3",
|
|
node: "18.0",
|
|
oculus: "3.0",
|
|
opera: "10.5",
|
|
"opera-android": "10.5",
|
|
opera_mobile: "10.5",
|
|
quest: "3.0",
|
|
safari: "10.1",
|
|
samsung: "2.0"
|
|
},
|
|
"web.btoa": {
|
|
android: "3.0",
|
|
bun: "0.1.1",
|
|
chrome: "4",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "16",
|
|
electron: "0.20",
|
|
firefox: "27",
|
|
"firefox-android": "27",
|
|
ios: "1.0",
|
|
node: "17.5",
|
|
oculus: "3.0",
|
|
opera: "10.5",
|
|
"opera-android": "10.5",
|
|
opera_mobile: "10.5",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
safari: "3.0",
|
|
samsung: "1.0"
|
|
},
|
|
"web.dom-collections.for-each": {
|
|
android: "58",
|
|
bun: "0.1.1",
|
|
chrome: "58",
|
|
"chrome-android": "58",
|
|
deno: "1.0",
|
|
edge: "16",
|
|
electron: "1.7",
|
|
firefox: "50",
|
|
"firefox-android": "50",
|
|
hermes: "0.1",
|
|
ios: "10.0",
|
|
node: "0.0.1",
|
|
oculus: "4.0",
|
|
opera: "45",
|
|
"opera-android": "43",
|
|
opera_mobile: "43",
|
|
quest: "4.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "10.0",
|
|
samsung: "7.0"
|
|
},
|
|
"web.dom-collections.iterator": {
|
|
android: "66",
|
|
bun: "0.1.1",
|
|
chrome: "66",
|
|
"chrome-android": "66",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "3.0",
|
|
firefox: "60",
|
|
"firefox-android": "60",
|
|
hermes: "0.1",
|
|
ios: "13.4",
|
|
node: "0.0.1",
|
|
oculus: "5.0",
|
|
opera: "53",
|
|
"opera-android": "47",
|
|
opera_mobile: "47",
|
|
quest: "5.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "13.1",
|
|
samsung: "9.0"
|
|
},
|
|
"web.dom-exception.constructor": {
|
|
android: "46",
|
|
bun: "0.1.1",
|
|
chrome: "46",
|
|
"chrome-android": "46",
|
|
deno: "1.7",
|
|
edge: "79",
|
|
electron: "0.36",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
ios: "11.3",
|
|
node: "17.0",
|
|
oculus: "3.0",
|
|
opera: "33",
|
|
"opera-android": "33",
|
|
opera_mobile: "33",
|
|
quest: "3.0",
|
|
safari: "11.1",
|
|
samsung: "5.0"
|
|
},
|
|
"web.dom-exception.stack": {
|
|
deno: "1.15",
|
|
firefox: "37",
|
|
"firefox-android": "37",
|
|
node: "17.0"
|
|
},
|
|
"web.dom-exception.to-string-tag": {
|
|
android: "49",
|
|
bun: "0.1.1",
|
|
chrome: "49",
|
|
"chrome-android": "49",
|
|
deno: "1.7",
|
|
edge: "79",
|
|
electron: "0.37",
|
|
firefox: "51",
|
|
"firefox-android": "51",
|
|
ios: "11.3",
|
|
node: "17.0",
|
|
oculus: "3.0",
|
|
opera: "36",
|
|
"opera-android": "36",
|
|
opera_mobile: "36",
|
|
quest: "3.0",
|
|
safari: "11.1",
|
|
samsung: "5.0"
|
|
},
|
|
"web.immediate": {
|
|
bun: "0.4.0",
|
|
ie: "10",
|
|
node: "0.9.1"
|
|
},
|
|
"web.queue-microtask": {
|
|
android: "71",
|
|
bun: "0.1.1",
|
|
chrome: "71",
|
|
"chrome-android": "71",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "69",
|
|
"firefox-android": "69",
|
|
ios: "12.2",
|
|
node: "12.0",
|
|
oculus: "6.0",
|
|
opera: "58",
|
|
"opera-android": "50",
|
|
opera_mobile: "50",
|
|
quest: "6.0",
|
|
safari: "12.1",
|
|
samsung: "10.0"
|
|
},
|
|
"web.self": {
|
|
android: "86",
|
|
chrome: "86",
|
|
"chrome-android": "86",
|
|
deno: "1.29.3",
|
|
edge: "86",
|
|
electron: "11.0",
|
|
firefox: "31",
|
|
"firefox-android": "31",
|
|
ios: "10.0",
|
|
oculus: "12.0",
|
|
opera: "72",
|
|
"opera-android": "61",
|
|
opera_mobile: "61",
|
|
quest: "12.0",
|
|
safari: "10",
|
|
samsung: "14.0"
|
|
},
|
|
"web.structured-clone": {
|
|
},
|
|
"web.timers": {
|
|
android: "1.5",
|
|
bun: "0.4.0",
|
|
chrome: "1",
|
|
"chrome-android": "18",
|
|
deno: "1.0",
|
|
edge: "12",
|
|
electron: "0.20",
|
|
firefox: "1",
|
|
"firefox-android": "4",
|
|
hermes: "0.1",
|
|
ie: "10",
|
|
ios: "1.0",
|
|
node: "0.0.1",
|
|
oculus: "3.0",
|
|
opera: "7",
|
|
"opera-android": "7",
|
|
opera_mobile: "7",
|
|
phantom: "1.9",
|
|
quest: "3.0",
|
|
"react-native": "0.69",
|
|
rhino: "1.7.13",
|
|
safari: "1.0",
|
|
samsung: "1.0"
|
|
},
|
|
"web.url": {
|
|
android: "67",
|
|
bun: "0.1.1",
|
|
chrome: "67",
|
|
"chrome-android": "67",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "4.0",
|
|
firefox: "57",
|
|
"firefox-android": "57",
|
|
ios: "14.0",
|
|
node: "10.0",
|
|
oculus: "6.0",
|
|
opera: "54",
|
|
"opera-android": "48",
|
|
opera_mobile: "48",
|
|
quest: "6.0",
|
|
safari: "14.0",
|
|
samsung: "9.0"
|
|
},
|
|
"web.url.to-json": {
|
|
android: "71",
|
|
bun: "0.1.1",
|
|
chrome: "71",
|
|
"chrome-android": "71",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "5.0",
|
|
firefox: "57",
|
|
"firefox-android": "57",
|
|
ios: "14.0",
|
|
node: "10.0",
|
|
oculus: "6.0",
|
|
opera: "58",
|
|
"opera-android": "50",
|
|
opera_mobile: "50",
|
|
quest: "6.0",
|
|
safari: "14.0",
|
|
samsung: "10.0"
|
|
},
|
|
"web.url-search-params": {
|
|
android: "67",
|
|
bun: "0.1.1",
|
|
chrome: "67",
|
|
"chrome-android": "67",
|
|
deno: "1.0",
|
|
edge: "79",
|
|
electron: "4.0",
|
|
firefox: "57",
|
|
"firefox-android": "57",
|
|
ios: "14.0",
|
|
node: "10.0",
|
|
oculus: "6.0",
|
|
opera: "54",
|
|
"opera-android": "48",
|
|
opera_mobile: "48",
|
|
quest: "6.0",
|
|
safari: "14.0",
|
|
samsung: "9.0"
|
|
},
|
|
"web.url-search-params.size": {
|
|
}
|
|
};
|
|
|
|
var data$1 = require$$0$3;
|
|
|
|
var has$4 = Object.hasOwn || Function.call.bind({}.hasOwnProperty);
|
|
function semver$4(input) {
|
|
if (input instanceof semver$4) return input;
|
|
if (!(this instanceof semver$4)) return new semver$4(input);
|
|
var match = /(\d+)(?:\.(\d+))?(?:\.(\d+))?/.exec(input);
|
|
if (!match) throw TypeError("Invalid version: " + input);
|
|
var _match = _slicedToArray(match, 4),
|
|
$major = _match[1],
|
|
$minor = _match[2],
|
|
$patch = _match[3];
|
|
this.major = +$major;
|
|
this.minor = $minor ? +$minor : 0;
|
|
this.patch = $patch ? +$patch : 0;
|
|
}
|
|
semver$4.prototype.toString = function () {
|
|
return this.major + "." + this.minor + "." + this.patch;
|
|
};
|
|
function compare$1($a, operator, $b) {
|
|
var a = semver$4($a);
|
|
var b = semver$4($b);
|
|
for (var _i = 0, _arr = ['major', 'minor', 'patch']; _i < _arr.length; _i++) {
|
|
var component = _arr[_i];
|
|
if (a[component] < b[component]) return operator === '<' || operator === '<=' || operator === '!=';
|
|
if (a[component] > b[component]) return operator === '>' || operator === '>=' || operator === '!=';
|
|
}
|
|
return operator === '==' || operator === '<=' || operator === '>=';
|
|
}
|
|
function filterOutStabilizedProposals(modules) {
|
|
var modulesSet = new Set(modules);
|
|
for (var _iterator = _createForOfIteratorHelperLoose(modulesSet), _step; !(_step = _iterator()).done;) {
|
|
var $module = _step.value;
|
|
if ($module.startsWith('esnext.') && modulesSet.has($module.replace(/^esnext\./, 'es.'))) {
|
|
modulesSet["delete"]($module);
|
|
}
|
|
}
|
|
return _toConsumableArray(modulesSet);
|
|
}
|
|
function intersection$2(list, order) {
|
|
var set = list instanceof Set ? list : new Set(list);
|
|
return order.filter(function (name) {
|
|
return set.has(name);
|
|
});
|
|
}
|
|
function sortObjectByKey(object, fn) {
|
|
return Object.keys(object).sort(fn).reduce(function (memo, key) {
|
|
memo[key] = object[key];
|
|
return memo;
|
|
}, {});
|
|
}
|
|
var helpers = {
|
|
compare: compare$1,
|
|
filterOutStabilizedProposals: filterOutStabilizedProposals,
|
|
has: has$4,
|
|
intersection: intersection$2,
|
|
semver: semver$4,
|
|
sortObjectByKey: sortObjectByKey
|
|
};
|
|
|
|
var require$$1 = {
|
|
"3.0": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.date.now",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string",
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name",
|
|
"es.json.to-string-tag",
|
|
"es.map",
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc",
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.parse-float",
|
|
"es.parse-int",
|
|
"es.promise",
|
|
"es.promise.finally",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.regexp.constructor",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.to-string",
|
|
"es.set",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-string",
|
|
"es.weak-map",
|
|
"es.weak-set",
|
|
"esnext.aggregate-error",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol",
|
|
"esnext.global-this",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh",
|
|
"esnext.number.from-string",
|
|
"esnext.observable",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union",
|
|
"esnext.string.at",
|
|
"esnext.string.code-points",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator",
|
|
"web.immediate",
|
|
"web.queue-microtask",
|
|
"web.timers",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params"
|
|
],
|
|
"3.1": [
|
|
"es.string.match-all",
|
|
"es.symbol.match-all",
|
|
"esnext.symbol.replace-all"
|
|
],
|
|
"3.2": [
|
|
"es.promise.all-settled",
|
|
"esnext.array.is-template-object",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.symbol.async-dispose"
|
|
],
|
|
"3.3": [
|
|
"es.global-this",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.map.upsert",
|
|
"esnext.weak-map.upsert"
|
|
],
|
|
"3.4": [
|
|
"es.json.stringify"
|
|
],
|
|
"3.5": [
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values"
|
|
],
|
|
"3.6": [
|
|
"es.regexp.sticky",
|
|
"es.regexp.test"
|
|
],
|
|
"3.7": [
|
|
"es.aggregate-error",
|
|
"es.promise.any",
|
|
"es.reflect.to-string-tag",
|
|
"es.string.replace-all",
|
|
"esnext.map.emplace",
|
|
"esnext.weak-map.emplace"
|
|
],
|
|
"3.8": [
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.unique-by",
|
|
"esnext.bigint.range",
|
|
"esnext.number.range",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out"
|
|
],
|
|
"3.9": [
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.unique-by"
|
|
],
|
|
"3.11": [
|
|
"esnext.object.has-own"
|
|
],
|
|
"3.12": [
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata"
|
|
],
|
|
"3.15": [
|
|
"es.date.get-year",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.escape",
|
|
"es.regexp.dot-all",
|
|
"es.string.substr",
|
|
"es.unescape"
|
|
],
|
|
"3.16": [
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.group-by",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.group-by"
|
|
],
|
|
"3.17": [
|
|
"es.array.at",
|
|
"es.object.has-own",
|
|
"es.string.at-alternative",
|
|
"es.typed-array.at"
|
|
],
|
|
"3.18": [
|
|
"esnext.array.from-async",
|
|
"esnext.typed-array.from-async"
|
|
],
|
|
"3.20": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.aggregate-error.cause",
|
|
"es.number.to-exponential",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.with",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this",
|
|
"esnext.iterator.to-async",
|
|
"esnext.string.cooked",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.structured-clone"
|
|
],
|
|
"3.21": [
|
|
"web.atob",
|
|
"web.btoa"
|
|
],
|
|
"3.23": [
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.push",
|
|
"es.array.unshift",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-to-map",
|
|
"esnext.symbol.metadata-key"
|
|
],
|
|
"3.24": [
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.iterator.indexed"
|
|
],
|
|
"3.25": [
|
|
"es.object.proto"
|
|
],
|
|
"3.26": [
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.to-well-formed",
|
|
"web.self"
|
|
],
|
|
"3.27": [
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.iterator.dispose",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.union.v2",
|
|
"esnext.string.dedent"
|
|
],
|
|
"3.28": [
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.with",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.function.demethodize",
|
|
"esnext.iterator.range",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known"
|
|
],
|
|
"3.29": [
|
|
"web.url-search-params.size"
|
|
]
|
|
};
|
|
|
|
var require$$2 = [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string",
|
|
"es.escape",
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name",
|
|
"es.global-this",
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag",
|
|
"es.map",
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc",
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.parse-float",
|
|
"es.parse-int",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag",
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.set",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"es.unescape",
|
|
"es.weak-map",
|
|
"es.weak-set",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.bigint.range",
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"esnext.observable",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"esnext.string.at",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.atob",
|
|
"web.btoa",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.immediate",
|
|
"web.queue-microtask",
|
|
"web.self",
|
|
"web.structured-clone",
|
|
"web.timers",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
];
|
|
|
|
var compare = helpers.compare,
|
|
intersection$1 = helpers.intersection,
|
|
semver$3 = helpers.semver;
|
|
var modulesByVersions = require$$1;
|
|
var modules = require$$2;
|
|
var getModulesListForTargetVersion$2 = function getModulesListForTargetVersion(raw) {
|
|
var corejs = semver$3(raw);
|
|
if (corejs.major !== 3) {
|
|
throw RangeError('This version of `core-js-compat` works only with `core-js@3`.');
|
|
}
|
|
var result = [];
|
|
for (var _i = 0, _Object$keys = Object.keys(modulesByVersions); _i < _Object$keys.length; _i++) {
|
|
var version = _Object$keys[_i];
|
|
if (compare(version, '<=', corejs)) {
|
|
result.push.apply(result, _toConsumableArray(modulesByVersions[version]));
|
|
}
|
|
}
|
|
return intersection$1(result, modules);
|
|
};
|
|
|
|
var getModulesListForTargetVersion$1 = getModulesListForTargetVersion$2;
|
|
|
|
var require$$0$2 = {
|
|
"core-js": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string",
|
|
"es.escape",
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name",
|
|
"es.global-this",
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag",
|
|
"es.map",
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc",
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.parse-float",
|
|
"es.parse-int",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag",
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.set",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"es.unescape",
|
|
"es.weak-map",
|
|
"es.weak-set",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.bigint.range",
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"esnext.observable",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"esnext.string.at",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.atob",
|
|
"web.btoa",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.immediate",
|
|
"web.queue-microtask",
|
|
"web.self",
|
|
"web.structured-clone",
|
|
"web.timers",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/actual": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string",
|
|
"es.escape",
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name",
|
|
"es.global-this",
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag",
|
|
"es.map",
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc",
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.parse-float",
|
|
"es.parse-int",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag",
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.set",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"es.unescape",
|
|
"es.weak-map",
|
|
"es.weak-set",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.object.has-own",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.union.v2",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.dispose",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with",
|
|
"web.atob",
|
|
"web.btoa",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.immediate",
|
|
"web.queue-microtask",
|
|
"web.self",
|
|
"web.structured-clone",
|
|
"web.timers",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/actual/aggregate-error": [
|
|
"es.error.cause",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"esnext.aggregate-error",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/array": [
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"esnext.array.from-async",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/actual/array-buffer": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/actual/array-buffer/constructor": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/actual/array-buffer/detached": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.detached"
|
|
],
|
|
"core-js/actual/array-buffer/is-view": [
|
|
"es.array-buffer.is-view"
|
|
],
|
|
"core-js/actual/array-buffer/slice": [
|
|
"es.array-buffer.slice"
|
|
],
|
|
"core-js/actual/array-buffer/transfer": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.transfer"
|
|
],
|
|
"core-js/actual/array-buffer/transfer-to-fixed-length": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/actual/array/at": [
|
|
"es.array.at"
|
|
],
|
|
"core-js/actual/array/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/actual/array/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/actual/array/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/actual/array/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/actual/array/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/actual/array/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/actual/array/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/actual/array/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/actual/array/find-last": [
|
|
"es.array.find-last",
|
|
"esnext.array.find-last"
|
|
],
|
|
"core-js/actual/array/find-last-index": [
|
|
"es.array.find-last-index",
|
|
"esnext.array.find-last-index"
|
|
],
|
|
"core-js/actual/array/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/actual/array/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/actual/array/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/actual/array/from": [
|
|
"es.array.from",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/actual/array/from-async": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.array.from-async"
|
|
],
|
|
"core-js/actual/array/group": [
|
|
"esnext.array.group"
|
|
],
|
|
"core-js/actual/array/group-by": [
|
|
"esnext.array.group-by"
|
|
],
|
|
"core-js/actual/array/group-by-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/actual/array/group-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/actual/array/includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/actual/array/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/actual/array/is-array": [
|
|
"es.array.is-array"
|
|
],
|
|
"core-js/actual/array/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/actual/array/join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/actual/array/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/actual/array/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/actual/array/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/actual/array/of": [
|
|
"es.array.of"
|
|
],
|
|
"core-js/actual/array/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/actual/array/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/actual/array/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/actual/array/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/actual/array/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/actual/array/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/actual/array/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/actual/array/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/actual/array/to-reversed": [
|
|
"es.array.to-reversed",
|
|
"esnext.array.to-reversed"
|
|
],
|
|
"core-js/actual/array/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted",
|
|
"esnext.array.to-sorted"
|
|
],
|
|
"core-js/actual/array/to-spliced": [
|
|
"es.array.to-spliced",
|
|
"esnext.array.to-spliced"
|
|
],
|
|
"core-js/actual/array/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/actual/array/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/actual/array/virtual": [
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/actual/array/virtual/at": [
|
|
"es.array.at"
|
|
],
|
|
"core-js/actual/array/virtual/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/actual/array/virtual/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/actual/array/virtual/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/actual/array/virtual/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/actual/array/virtual/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/actual/array/virtual/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/actual/array/virtual/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/actual/array/virtual/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/actual/array/virtual/find-last": [
|
|
"es.array.find-last",
|
|
"esnext.array.find-last"
|
|
],
|
|
"core-js/actual/array/virtual/find-last-index": [
|
|
"es.array.find-last-index",
|
|
"esnext.array.find-last-index"
|
|
],
|
|
"core-js/actual/array/virtual/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/actual/array/virtual/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/actual/array/virtual/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/actual/array/virtual/group": [
|
|
"esnext.array.group"
|
|
],
|
|
"core-js/actual/array/virtual/group-by": [
|
|
"esnext.array.group-by"
|
|
],
|
|
"core-js/actual/array/virtual/group-by-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/actual/array/virtual/group-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/actual/array/virtual/includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/actual/array/virtual/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/actual/array/virtual/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/actual/array/virtual/join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/actual/array/virtual/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/actual/array/virtual/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/actual/array/virtual/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/actual/array/virtual/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/actual/array/virtual/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/actual/array/virtual/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/actual/array/virtual/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/actual/array/virtual/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/actual/array/virtual/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/actual/array/virtual/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/actual/array/virtual/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/actual/array/virtual/to-reversed": [
|
|
"es.array.to-reversed",
|
|
"esnext.array.to-reversed"
|
|
],
|
|
"core-js/actual/array/virtual/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted",
|
|
"esnext.array.to-sorted"
|
|
],
|
|
"core-js/actual/array/virtual/to-spliced": [
|
|
"es.array.to-spliced",
|
|
"esnext.array.to-spliced"
|
|
],
|
|
"core-js/actual/array/virtual/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/actual/array/virtual/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/actual/array/virtual/with": [
|
|
"es.array.with",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/actual/array/with": [
|
|
"es.array.with",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/actual/async-iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/async-iterator/drop": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop"
|
|
],
|
|
"core-js/actual/async-iterator/every": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.every"
|
|
],
|
|
"core-js/actual/async-iterator/filter": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.filter"
|
|
],
|
|
"core-js/actual/async-iterator/find": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.find"
|
|
],
|
|
"core-js/actual/async-iterator/flat-map": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.flat-map"
|
|
],
|
|
"core-js/actual/async-iterator/for-each": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.for-each"
|
|
],
|
|
"core-js/actual/async-iterator/from": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/async-iterator/map": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.map"
|
|
],
|
|
"core-js/actual/async-iterator/reduce": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.reduce"
|
|
],
|
|
"core-js/actual/async-iterator/some": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.some"
|
|
],
|
|
"core-js/actual/async-iterator/take": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.take"
|
|
],
|
|
"core-js/actual/async-iterator/to-array": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.to-array"
|
|
],
|
|
"core-js/actual/atob": [
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"web.atob",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/actual/btoa": [
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"web.btoa",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/actual/clear-immediate": [
|
|
"web.immediate"
|
|
],
|
|
"core-js/actual/data-view": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/actual/date": [
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/actual/date/get-year": [
|
|
"es.date.get-year"
|
|
],
|
|
"core-js/actual/date/now": [
|
|
"es.date.now"
|
|
],
|
|
"core-js/actual/date/set-year": [
|
|
"es.date.set-year"
|
|
],
|
|
"core-js/actual/date/to-gmt-string": [
|
|
"es.date.to-gmt-string"
|
|
],
|
|
"core-js/actual/date/to-iso-string": [
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/actual/date/to-json": [
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/actual/date/to-primitive": [
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/actual/date/to-string": [
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/actual/disposable-stack": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/actual/disposable-stack/constructor": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/actual/dom-collections": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/dom-collections/for-each": [
|
|
"web.dom-collections.for-each"
|
|
],
|
|
"core-js/actual/dom-collections/iterator": [
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/dom-exception": [
|
|
"es.error.to-string",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/actual/dom-exception/constructor": [
|
|
"es.error.to-string",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack"
|
|
],
|
|
"core-js/actual/dom-exception/to-string-tag": [
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/actual/error": [
|
|
"es.error.cause",
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/actual/error/constructor": [
|
|
"es.error.cause"
|
|
],
|
|
"core-js/actual/error/to-string": [
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/actual/escape": [
|
|
"es.escape"
|
|
],
|
|
"core-js/actual/function": [
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name"
|
|
],
|
|
"core-js/actual/function/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/actual/function/has-instance": [
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/actual/function/name": [
|
|
"es.function.name"
|
|
],
|
|
"core-js/actual/function/virtual": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/actual/function/virtual/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/actual/get-iterator": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/get-iterator-method": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/global-this": [
|
|
"es.global-this"
|
|
],
|
|
"core-js/actual/instance/at": [
|
|
"es.array.at",
|
|
"es.string.at-alternative"
|
|
],
|
|
"core-js/actual/instance/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/actual/instance/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/actual/instance/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/actual/instance/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/actual/instance/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/actual/instance/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/instance/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/actual/instance/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/actual/instance/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/actual/instance/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/actual/instance/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/actual/instance/find-last": [
|
|
"es.array.find-last",
|
|
"esnext.array.find-last"
|
|
],
|
|
"core-js/actual/instance/find-last-index": [
|
|
"es.array.find-last-index",
|
|
"esnext.array.find-last-index"
|
|
],
|
|
"core-js/actual/instance/flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/actual/instance/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/actual/instance/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/actual/instance/for-each": [
|
|
"es.array.for-each",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/instance/group": [
|
|
"esnext.array.group"
|
|
],
|
|
"core-js/actual/instance/group-by": [
|
|
"esnext.array.group-by"
|
|
],
|
|
"core-js/actual/instance/group-by-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/actual/instance/group-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/actual/instance/includes": [
|
|
"es.array.includes",
|
|
"es.string.includes"
|
|
],
|
|
"core-js/actual/instance/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/actual/instance/is-well-formed": [
|
|
"esnext.string.is-well-formed"
|
|
],
|
|
"core-js/actual/instance/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/instance/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/actual/instance/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/actual/instance/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/actual/instance/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/actual/instance/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/actual/instance/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/actual/instance/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/actual/instance/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/actual/instance/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/actual/instance/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/actual/instance/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/actual/instance/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/actual/instance/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/actual/instance/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/actual/instance/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/actual/instance/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/actual/instance/to-reversed": [
|
|
"es.array.to-reversed",
|
|
"esnext.array.to-reversed"
|
|
],
|
|
"core-js/actual/instance/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted",
|
|
"esnext.array.to-sorted"
|
|
],
|
|
"core-js/actual/instance/to-spliced": [
|
|
"es.array.to-spliced",
|
|
"esnext.array.to-spliced"
|
|
],
|
|
"core-js/actual/instance/to-well-formed": [
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/actual/instance/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/actual/instance/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/actual/instance/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/actual/instance/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/actual/instance/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/actual/instance/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/actual/instance/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/instance/with": [
|
|
"es.array.with",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/actual/is-iterable": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/iterator/dispose": [
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/actual/iterator/drop": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.drop"
|
|
],
|
|
"core-js/actual/iterator/every": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.every"
|
|
],
|
|
"core-js/actual/iterator/filter": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.filter"
|
|
],
|
|
"core-js/actual/iterator/find": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.find"
|
|
],
|
|
"core-js/actual/iterator/flat-map": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.flat-map"
|
|
],
|
|
"core-js/actual/iterator/for-each": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.for-each"
|
|
],
|
|
"core-js/actual/iterator/from": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/iterator/map": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.map"
|
|
],
|
|
"core-js/actual/iterator/reduce": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.reduce"
|
|
],
|
|
"core-js/actual/iterator/some": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.some"
|
|
],
|
|
"core-js/actual/iterator/take": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.take"
|
|
],
|
|
"core-js/actual/iterator/to-array": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.to-array"
|
|
],
|
|
"core-js/actual/iterator/to-async": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.to-async"
|
|
],
|
|
"core-js/actual/json": [
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag",
|
|
"es.object.create",
|
|
"es.object.freeze",
|
|
"es.object.keys",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json"
|
|
],
|
|
"core-js/actual/json/is-raw-json": [
|
|
"esnext.json.is-raw-json"
|
|
],
|
|
"core-js/actual/json/parse": [
|
|
"es.object.keys",
|
|
"esnext.json.parse"
|
|
],
|
|
"core-js/actual/json/raw-json": [
|
|
"es.object.create",
|
|
"es.object.freeze",
|
|
"esnext.json.raw-json"
|
|
],
|
|
"core-js/actual/json/stringify": [
|
|
"es.json.stringify"
|
|
],
|
|
"core-js/actual/json/to-string-tag": [
|
|
"es.json.to-string-tag"
|
|
],
|
|
"core-js/actual/map": [
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/math": [
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc"
|
|
],
|
|
"core-js/actual/math/acosh": [
|
|
"es.math.acosh"
|
|
],
|
|
"core-js/actual/math/asinh": [
|
|
"es.math.asinh"
|
|
],
|
|
"core-js/actual/math/atanh": [
|
|
"es.math.atanh"
|
|
],
|
|
"core-js/actual/math/cbrt": [
|
|
"es.math.cbrt"
|
|
],
|
|
"core-js/actual/math/clz32": [
|
|
"es.math.clz32"
|
|
],
|
|
"core-js/actual/math/cosh": [
|
|
"es.math.cosh"
|
|
],
|
|
"core-js/actual/math/expm1": [
|
|
"es.math.expm1"
|
|
],
|
|
"core-js/actual/math/fround": [
|
|
"es.math.fround"
|
|
],
|
|
"core-js/actual/math/hypot": [
|
|
"es.math.hypot"
|
|
],
|
|
"core-js/actual/math/imul": [
|
|
"es.math.imul"
|
|
],
|
|
"core-js/actual/math/log10": [
|
|
"es.math.log10"
|
|
],
|
|
"core-js/actual/math/log1p": [
|
|
"es.math.log1p"
|
|
],
|
|
"core-js/actual/math/log2": [
|
|
"es.math.log2"
|
|
],
|
|
"core-js/actual/math/sign": [
|
|
"es.math.sign"
|
|
],
|
|
"core-js/actual/math/sinh": [
|
|
"es.math.sinh"
|
|
],
|
|
"core-js/actual/math/tanh": [
|
|
"es.math.tanh"
|
|
],
|
|
"core-js/actual/math/to-string-tag": [
|
|
"es.math.to-string-tag"
|
|
],
|
|
"core-js/actual/math/trunc": [
|
|
"es.math.trunc"
|
|
],
|
|
"core-js/actual/number": [
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/actual/number/constructor": [
|
|
"es.number.constructor"
|
|
],
|
|
"core-js/actual/number/epsilon": [
|
|
"es.number.epsilon"
|
|
],
|
|
"core-js/actual/number/is-finite": [
|
|
"es.number.is-finite"
|
|
],
|
|
"core-js/actual/number/is-integer": [
|
|
"es.number.is-integer"
|
|
],
|
|
"core-js/actual/number/is-nan": [
|
|
"es.number.is-nan"
|
|
],
|
|
"core-js/actual/number/is-safe-integer": [
|
|
"es.number.is-safe-integer"
|
|
],
|
|
"core-js/actual/number/max-safe-integer": [
|
|
"es.number.max-safe-integer"
|
|
],
|
|
"core-js/actual/number/min-safe-integer": [
|
|
"es.number.min-safe-integer"
|
|
],
|
|
"core-js/actual/number/parse-float": [
|
|
"es.number.parse-float"
|
|
],
|
|
"core-js/actual/number/parse-int": [
|
|
"es.number.parse-int"
|
|
],
|
|
"core-js/actual/number/to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/actual/number/to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/actual/number/to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/actual/number/virtual": [
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/actual/number/virtual/to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/actual/number/virtual/to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/actual/number/virtual/to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/actual/object": [
|
|
"es.symbol",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.reflect.to-string-tag",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/object/assign": [
|
|
"es.object.assign"
|
|
],
|
|
"core-js/actual/object/create": [
|
|
"es.object.create"
|
|
],
|
|
"core-js/actual/object/define-getter": [
|
|
"es.object.define-getter"
|
|
],
|
|
"core-js/actual/object/define-properties": [
|
|
"es.object.define-properties"
|
|
],
|
|
"core-js/actual/object/define-property": [
|
|
"es.object.define-property"
|
|
],
|
|
"core-js/actual/object/define-setter": [
|
|
"es.object.define-setter"
|
|
],
|
|
"core-js/actual/object/entries": [
|
|
"es.object.entries"
|
|
],
|
|
"core-js/actual/object/freeze": [
|
|
"es.object.freeze"
|
|
],
|
|
"core-js/actual/object/from-entries": [
|
|
"es.array.iterator",
|
|
"es.object.from-entries",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/object/get-own-property-descriptor": [
|
|
"es.object.get-own-property-descriptor"
|
|
],
|
|
"core-js/actual/object/get-own-property-descriptors": [
|
|
"es.object.get-own-property-descriptors"
|
|
],
|
|
"core-js/actual/object/get-own-property-names": [
|
|
"es.object.get-own-property-names"
|
|
],
|
|
"core-js/actual/object/get-own-property-symbols": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/actual/object/get-prototype-of": [
|
|
"es.object.get-prototype-of"
|
|
],
|
|
"core-js/actual/object/has-own": [
|
|
"es.object.has-own"
|
|
],
|
|
"core-js/actual/object/is": [
|
|
"es.object.is"
|
|
],
|
|
"core-js/actual/object/is-extensible": [
|
|
"es.object.is-extensible"
|
|
],
|
|
"core-js/actual/object/is-frozen": [
|
|
"es.object.is-frozen"
|
|
],
|
|
"core-js/actual/object/is-sealed": [
|
|
"es.object.is-sealed"
|
|
],
|
|
"core-js/actual/object/keys": [
|
|
"es.object.keys"
|
|
],
|
|
"core-js/actual/object/lookup-getter": [
|
|
"es.object.lookup-getter"
|
|
],
|
|
"core-js/actual/object/lookup-setter": [
|
|
"es.object.lookup-setter"
|
|
],
|
|
"core-js/actual/object/prevent-extensions": [
|
|
"es.object.prevent-extensions"
|
|
],
|
|
"core-js/actual/object/proto": [
|
|
"es.object.proto"
|
|
],
|
|
"core-js/actual/object/seal": [
|
|
"es.object.seal"
|
|
],
|
|
"core-js/actual/object/set-prototype-of": [
|
|
"es.object.set-prototype-of"
|
|
],
|
|
"core-js/actual/object/to-string": [
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/actual/object/values": [
|
|
"es.object.values"
|
|
],
|
|
"core-js/actual/parse-float": [
|
|
"es.parse-float"
|
|
],
|
|
"core-js/actual/parse-int": [
|
|
"es.parse-int"
|
|
],
|
|
"core-js/actual/promise": [
|
|
"es.aggregate-error",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/promise/all-settled": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/promise/any": [
|
|
"es.aggregate-error",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.any",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/promise/finally": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.finally"
|
|
],
|
|
"core-js/actual/queue-microtask": [
|
|
"web.queue-microtask"
|
|
],
|
|
"core-js/actual/reflect": [
|
|
"es.object.to-string",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/actual/reflect/apply": [
|
|
"es.reflect.apply"
|
|
],
|
|
"core-js/actual/reflect/construct": [
|
|
"es.reflect.construct"
|
|
],
|
|
"core-js/actual/reflect/define-property": [
|
|
"es.reflect.define-property"
|
|
],
|
|
"core-js/actual/reflect/delete-property": [
|
|
"es.reflect.delete-property"
|
|
],
|
|
"core-js/actual/reflect/get": [
|
|
"es.reflect.get"
|
|
],
|
|
"core-js/actual/reflect/get-own-property-descriptor": [
|
|
"es.reflect.get-own-property-descriptor"
|
|
],
|
|
"core-js/actual/reflect/get-prototype-of": [
|
|
"es.reflect.get-prototype-of"
|
|
],
|
|
"core-js/actual/reflect/has": [
|
|
"es.reflect.has"
|
|
],
|
|
"core-js/actual/reflect/is-extensible": [
|
|
"es.reflect.is-extensible"
|
|
],
|
|
"core-js/actual/reflect/own-keys": [
|
|
"es.reflect.own-keys"
|
|
],
|
|
"core-js/actual/reflect/prevent-extensions": [
|
|
"es.reflect.prevent-extensions"
|
|
],
|
|
"core-js/actual/reflect/set": [
|
|
"es.reflect.set"
|
|
],
|
|
"core-js/actual/reflect/set-prototype-of": [
|
|
"es.reflect.set-prototype-of"
|
|
],
|
|
"core-js/actual/reflect/to-string-tag": [
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/actual/regexp": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.string.match",
|
|
"es.string.replace",
|
|
"es.string.search",
|
|
"es.string.split"
|
|
],
|
|
"core-js/actual/regexp/constructor": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/actual/regexp/dot-all": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec"
|
|
],
|
|
"core-js/actual/regexp/flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/actual/regexp/match": [
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/actual/regexp/replace": [
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/actual/regexp/search": [
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/actual/regexp/split": [
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/actual/regexp/sticky": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.exec",
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/actual/regexp/test": [
|
|
"es.regexp.exec",
|
|
"es.regexp.test"
|
|
],
|
|
"core-js/actual/regexp/to-string": [
|
|
"es.regexp.to-string"
|
|
],
|
|
"core-js/actual/self": [
|
|
"web.self"
|
|
],
|
|
"core-js/actual/set": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.union.v2",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/set-immediate": [
|
|
"web.immediate"
|
|
],
|
|
"core-js/actual/set-interval": [
|
|
"web.timers"
|
|
],
|
|
"core-js/actual/set-timeout": [
|
|
"web.timers"
|
|
],
|
|
"core-js/actual/set/difference": [
|
|
"es.set",
|
|
"esnext.set.difference.v2"
|
|
],
|
|
"core-js/actual/set/intersection": [
|
|
"es.set",
|
|
"esnext.set.intersection.v2"
|
|
],
|
|
"core-js/actual/set/is-disjoint-from": [
|
|
"es.set",
|
|
"esnext.set.is-disjoint-from.v2"
|
|
],
|
|
"core-js/actual/set/is-subset-of": [
|
|
"es.set",
|
|
"esnext.set.is-subset-of.v2"
|
|
],
|
|
"core-js/actual/set/is-superset-of": [
|
|
"es.set",
|
|
"esnext.set.is-superset-of.v2"
|
|
],
|
|
"core-js/actual/set/symmetric-difference": [
|
|
"es.set",
|
|
"esnext.set.symmetric-difference.v2"
|
|
],
|
|
"core-js/actual/set/union": [
|
|
"es.set",
|
|
"esnext.set.union.v2"
|
|
],
|
|
"core-js/actual/string": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/actual/string/anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/actual/string/at": [
|
|
"es.string.at-alternative"
|
|
],
|
|
"core-js/actual/string/big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/actual/string/blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/actual/string/bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/actual/string/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/actual/string/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/actual/string/fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/actual/string/fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/actual/string/fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/actual/string/from-code-point": [
|
|
"es.string.from-code-point"
|
|
],
|
|
"core-js/actual/string/includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/actual/string/is-well-formed": [
|
|
"esnext.string.is-well-formed"
|
|
],
|
|
"core-js/actual/string/italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/actual/string/iterator": [
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/actual/string/link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/actual/string/match": [
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/actual/string/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/actual/string/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/actual/string/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/actual/string/raw": [
|
|
"es.string.raw"
|
|
],
|
|
"core-js/actual/string/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/actual/string/replace": [
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/actual/string/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/actual/string/search": [
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/actual/string/small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/actual/string/split": [
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/actual/string/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/actual/string/strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/actual/string/sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/actual/string/substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/actual/string/sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/actual/string/to-well-formed": [
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/actual/string/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/actual/string/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/actual/string/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/actual/string/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/actual/string/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/actual/string/virtual": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/actual/string/virtual/anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/actual/string/virtual/at": [
|
|
"es.string.at-alternative"
|
|
],
|
|
"core-js/actual/string/virtual/big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/actual/string/virtual/blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/actual/string/virtual/bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/actual/string/virtual/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/actual/string/virtual/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/actual/string/virtual/fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/actual/string/virtual/fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/actual/string/virtual/fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/actual/string/virtual/includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/actual/string/virtual/is-well-formed": [
|
|
"esnext.string.is-well-formed"
|
|
],
|
|
"core-js/actual/string/virtual/italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/actual/string/virtual/iterator": [
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/actual/string/virtual/link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/actual/string/virtual/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/actual/string/virtual/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/actual/string/virtual/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/actual/string/virtual/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/actual/string/virtual/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/actual/string/virtual/small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/actual/string/virtual/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/actual/string/virtual/strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/actual/string/virtual/sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/actual/string/virtual/substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/actual/string/virtual/sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/actual/string/virtual/to-well-formed": [
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/actual/string/virtual/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/actual/string/virtual/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/actual/string/virtual/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/actual/string/virtual/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/actual/string/virtual/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/actual/structured-clone": [
|
|
"es.error.to-string",
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.object.keys",
|
|
"es.object.to-string",
|
|
"es.set",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.structured-clone"
|
|
],
|
|
"core-js/actual/suppressed-error": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"esnext.suppressed-error.constructor"
|
|
],
|
|
"core-js/actual/symbol": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.array.concat",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag",
|
|
"esnext.symbol.dispose",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/symbol/async-iterator": [
|
|
"es.symbol.async-iterator"
|
|
],
|
|
"core-js/actual/symbol/description": [
|
|
"es.symbol.description"
|
|
],
|
|
"core-js/actual/symbol/dispose": [
|
|
"esnext.symbol.dispose"
|
|
],
|
|
"core-js/actual/symbol/for": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/actual/symbol/has-instance": [
|
|
"es.symbol.has-instance",
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/actual/symbol/is-concat-spreadable": [
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.array.concat"
|
|
],
|
|
"core-js/actual/symbol/iterator": [
|
|
"es.symbol.iterator",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/symbol/key-for": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/actual/symbol/match": [
|
|
"es.symbol.match",
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/actual/symbol/match-all": [
|
|
"es.symbol.match-all",
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/actual/symbol/replace": [
|
|
"es.symbol.replace",
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/actual/symbol/search": [
|
|
"es.symbol.search",
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/actual/symbol/species": [
|
|
"es.symbol.species"
|
|
],
|
|
"core-js/actual/symbol/split": [
|
|
"es.symbol.split",
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/actual/symbol/to-primitive": [
|
|
"es.symbol.to-primitive",
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/actual/symbol/to-string-tag": [
|
|
"es.symbol.to-string-tag",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/actual/symbol/unscopables": [
|
|
"es.symbol.unscopables"
|
|
],
|
|
"core-js/actual/typed-array": [
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/at": [
|
|
"es.typed-array.at"
|
|
],
|
|
"core-js/actual/typed-array/copy-within": [
|
|
"es.typed-array.copy-within"
|
|
],
|
|
"core-js/actual/typed-array/entries": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/actual/typed-array/every": [
|
|
"es.typed-array.every"
|
|
],
|
|
"core-js/actual/typed-array/fill": [
|
|
"es.typed-array.fill"
|
|
],
|
|
"core-js/actual/typed-array/filter": [
|
|
"es.typed-array.filter"
|
|
],
|
|
"core-js/actual/typed-array/find": [
|
|
"es.typed-array.find"
|
|
],
|
|
"core-js/actual/typed-array/find-index": [
|
|
"es.typed-array.find-index"
|
|
],
|
|
"core-js/actual/typed-array/find-last": [
|
|
"es.typed-array.find-last",
|
|
"esnext.typed-array.find-last"
|
|
],
|
|
"core-js/actual/typed-array/find-last-index": [
|
|
"es.typed-array.find-last-index",
|
|
"esnext.typed-array.find-last-index"
|
|
],
|
|
"core-js/actual/typed-array/float32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/float64-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/for-each": [
|
|
"es.typed-array.for-each"
|
|
],
|
|
"core-js/actual/typed-array/from": [
|
|
"es.typed-array.from"
|
|
],
|
|
"core-js/actual/typed-array/includes": [
|
|
"es.typed-array.includes"
|
|
],
|
|
"core-js/actual/typed-array/index-of": [
|
|
"es.typed-array.index-of"
|
|
],
|
|
"core-js/actual/typed-array/int16-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/int32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/int8-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/iterator": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/actual/typed-array/join": [
|
|
"es.typed-array.join"
|
|
],
|
|
"core-js/actual/typed-array/keys": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/actual/typed-array/last-index-of": [
|
|
"es.typed-array.last-index-of"
|
|
],
|
|
"core-js/actual/typed-array/map": [
|
|
"es.typed-array.map"
|
|
],
|
|
"core-js/actual/typed-array/methods": [
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/of": [
|
|
"es.typed-array.of"
|
|
],
|
|
"core-js/actual/typed-array/reduce": [
|
|
"es.typed-array.reduce"
|
|
],
|
|
"core-js/actual/typed-array/reduce-right": [
|
|
"es.typed-array.reduce-right"
|
|
],
|
|
"core-js/actual/typed-array/reverse": [
|
|
"es.typed-array.reverse"
|
|
],
|
|
"core-js/actual/typed-array/set": [
|
|
"es.typed-array.set"
|
|
],
|
|
"core-js/actual/typed-array/slice": [
|
|
"es.typed-array.slice"
|
|
],
|
|
"core-js/actual/typed-array/some": [
|
|
"es.typed-array.some"
|
|
],
|
|
"core-js/actual/typed-array/sort": [
|
|
"es.typed-array.sort"
|
|
],
|
|
"core-js/actual/typed-array/subarray": [
|
|
"es.typed-array.subarray"
|
|
],
|
|
"core-js/actual/typed-array/to-locale-string": [
|
|
"es.typed-array.to-locale-string"
|
|
],
|
|
"core-js/actual/typed-array/to-reversed": [
|
|
"esnext.typed-array.to-reversed"
|
|
],
|
|
"core-js/actual/typed-array/to-sorted": [
|
|
"es.typed-array.sort",
|
|
"es.typed-array.to-sorted",
|
|
"esnext.typed-array.to-sorted"
|
|
],
|
|
"core-js/actual/typed-array/to-spliced": [
|
|
"esnext.typed-array.to-spliced"
|
|
],
|
|
"core-js/actual/typed-array/to-string": [
|
|
"es.typed-array.to-string"
|
|
],
|
|
"core-js/actual/typed-array/uint16-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/uint32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/uint8-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/uint8-clamped-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/typed-array/values": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/actual/typed-array/with": [
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/actual/unescape": [
|
|
"es.unescape"
|
|
],
|
|
"core-js/actual/url": [
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/actual/url-search-params": [
|
|
"web.dom-collections.iterator",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/actual/url/to-json": [
|
|
"web.url.to-json"
|
|
],
|
|
"core-js/actual/weak-map": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.weak-map",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/actual/weak-set": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.weak-set",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/es": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string",
|
|
"es.escape",
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name",
|
|
"es.global-this",
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag",
|
|
"es.map",
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc",
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.parse-float",
|
|
"es.parse-int",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag",
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.set",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"es.unescape",
|
|
"es.weak-map",
|
|
"es.weak-set"
|
|
],
|
|
"core-js/es/aggregate-error": [
|
|
"es.error.cause",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.iterator",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/array": [
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/array-buffer": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array-buffer/constructor": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array-buffer/is-view": [
|
|
"es.array-buffer.is-view"
|
|
],
|
|
"core-js/es/array-buffer/slice": [
|
|
"es.array-buffer.slice"
|
|
],
|
|
"core-js/es/array/at": [
|
|
"es.array.at"
|
|
],
|
|
"core-js/es/array/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/es/array/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/es/array/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/es/array/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/es/array/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/es/array/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/es/array/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/es/array/find-last": [
|
|
"es.array.find-last"
|
|
],
|
|
"core-js/es/array/find-last-index": [
|
|
"es.array.find-last-index"
|
|
],
|
|
"core-js/es/array/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/es/array/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/es/array/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/es/array/from": [
|
|
"es.array.from",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/array/includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/es/array/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/es/array/is-array": [
|
|
"es.array.is-array"
|
|
],
|
|
"core-js/es/array/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array/join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/es/array/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/es/array/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/es/array/of": [
|
|
"es.array.of"
|
|
],
|
|
"core-js/es/array/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/es/array/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/es/array/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/es/array/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/es/array/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/es/array/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/es/array/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/es/array/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/es/array/to-reversed": [
|
|
"es.array.to-reversed"
|
|
],
|
|
"core-js/es/array/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted"
|
|
],
|
|
"core-js/es/array/to-spliced": [
|
|
"es.array.to-spliced"
|
|
],
|
|
"core-js/es/array/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/es/array/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array/virtual": [
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array/virtual/at": [
|
|
"es.array.at"
|
|
],
|
|
"core-js/es/array/virtual/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/es/array/virtual/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/es/array/virtual/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array/virtual/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/es/array/virtual/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/es/array/virtual/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/es/array/virtual/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/es/array/virtual/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/es/array/virtual/find-last": [
|
|
"es.array.find-last"
|
|
],
|
|
"core-js/es/array/virtual/find-last-index": [
|
|
"es.array.find-last-index"
|
|
],
|
|
"core-js/es/array/virtual/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/es/array/virtual/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/es/array/virtual/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/es/array/virtual/includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/es/array/virtual/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/es/array/virtual/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array/virtual/join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/es/array/virtual/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array/virtual/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/es/array/virtual/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/es/array/virtual/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/es/array/virtual/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/es/array/virtual/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/es/array/virtual/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/es/array/virtual/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/es/array/virtual/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/es/array/virtual/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/es/array/virtual/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/es/array/virtual/to-reversed": [
|
|
"es.array.to-reversed"
|
|
],
|
|
"core-js/es/array/virtual/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted"
|
|
],
|
|
"core-js/es/array/virtual/to-spliced": [
|
|
"es.array.to-spliced"
|
|
],
|
|
"core-js/es/array/virtual/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/es/array/virtual/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/array/virtual/with": [
|
|
"es.array.with"
|
|
],
|
|
"core-js/es/array/with": [
|
|
"es.array.with"
|
|
],
|
|
"core-js/es/data-view": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/date": [
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/es/date/get-year": [
|
|
"es.date.get-year"
|
|
],
|
|
"core-js/es/date/now": [
|
|
"es.date.now"
|
|
],
|
|
"core-js/es/date/set-year": [
|
|
"es.date.set-year"
|
|
],
|
|
"core-js/es/date/to-gmt-string": [
|
|
"es.date.to-gmt-string"
|
|
],
|
|
"core-js/es/date/to-iso-string": [
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/es/date/to-json": [
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/es/date/to-primitive": [
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/es/date/to-string": [
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/es/error": [
|
|
"es.error.cause",
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/es/error/constructor": [
|
|
"es.error.cause"
|
|
],
|
|
"core-js/es/error/to-string": [
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/es/escape": [
|
|
"es.escape"
|
|
],
|
|
"core-js/es/function": [
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name"
|
|
],
|
|
"core-js/es/function/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/es/function/has-instance": [
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/es/function/name": [
|
|
"es.function.name"
|
|
],
|
|
"core-js/es/function/virtual": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/es/function/virtual/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/es/get-iterator": [
|
|
"es.array.iterator",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/get-iterator-method": [
|
|
"es.array.iterator",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/global-this": [
|
|
"es.global-this"
|
|
],
|
|
"core-js/es/instance/at": [
|
|
"es.array.at",
|
|
"es.string.at-alternative"
|
|
],
|
|
"core-js/es/instance/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/es/instance/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/es/instance/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/es/instance/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/es/instance/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/es/instance/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/instance/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/es/instance/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/es/instance/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/es/instance/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/es/instance/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/es/instance/find-last": [
|
|
"es.array.find-last"
|
|
],
|
|
"core-js/es/instance/find-last-index": [
|
|
"es.array.find-last-index"
|
|
],
|
|
"core-js/es/instance/flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/es/instance/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/es/instance/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/es/instance/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/es/instance/includes": [
|
|
"es.array.includes",
|
|
"es.string.includes"
|
|
],
|
|
"core-js/es/instance/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/es/instance/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/instance/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/es/instance/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/es/instance/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/es/instance/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/es/instance/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/es/instance/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/es/instance/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/es/instance/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/es/instance/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/es/instance/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/es/instance/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/es/instance/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/es/instance/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/es/instance/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/es/instance/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/es/instance/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/es/instance/to-reversed": [
|
|
"es.array.to-reversed"
|
|
],
|
|
"core-js/es/instance/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted"
|
|
],
|
|
"core-js/es/instance/to-spliced": [
|
|
"es.array.to-spliced"
|
|
],
|
|
"core-js/es/instance/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/es/instance/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/es/instance/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/es/instance/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/es/instance/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/es/instance/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/es/instance/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/es/instance/with": [
|
|
"es.array.with"
|
|
],
|
|
"core-js/es/is-iterable": [
|
|
"es.array.iterator",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/json": [
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag"
|
|
],
|
|
"core-js/es/json/stringify": [
|
|
"es.json.stringify"
|
|
],
|
|
"core-js/es/json/to-string-tag": [
|
|
"es.json.to-string-tag"
|
|
],
|
|
"core-js/es/map": [
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/math": [
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc"
|
|
],
|
|
"core-js/es/math/acosh": [
|
|
"es.math.acosh"
|
|
],
|
|
"core-js/es/math/asinh": [
|
|
"es.math.asinh"
|
|
],
|
|
"core-js/es/math/atanh": [
|
|
"es.math.atanh"
|
|
],
|
|
"core-js/es/math/cbrt": [
|
|
"es.math.cbrt"
|
|
],
|
|
"core-js/es/math/clz32": [
|
|
"es.math.clz32"
|
|
],
|
|
"core-js/es/math/cosh": [
|
|
"es.math.cosh"
|
|
],
|
|
"core-js/es/math/expm1": [
|
|
"es.math.expm1"
|
|
],
|
|
"core-js/es/math/fround": [
|
|
"es.math.fround"
|
|
],
|
|
"core-js/es/math/hypot": [
|
|
"es.math.hypot"
|
|
],
|
|
"core-js/es/math/imul": [
|
|
"es.math.imul"
|
|
],
|
|
"core-js/es/math/log10": [
|
|
"es.math.log10"
|
|
],
|
|
"core-js/es/math/log1p": [
|
|
"es.math.log1p"
|
|
],
|
|
"core-js/es/math/log2": [
|
|
"es.math.log2"
|
|
],
|
|
"core-js/es/math/sign": [
|
|
"es.math.sign"
|
|
],
|
|
"core-js/es/math/sinh": [
|
|
"es.math.sinh"
|
|
],
|
|
"core-js/es/math/tanh": [
|
|
"es.math.tanh"
|
|
],
|
|
"core-js/es/math/to-string-tag": [
|
|
"es.math.to-string-tag"
|
|
],
|
|
"core-js/es/math/trunc": [
|
|
"es.math.trunc"
|
|
],
|
|
"core-js/es/number": [
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/es/number/constructor": [
|
|
"es.number.constructor"
|
|
],
|
|
"core-js/es/number/epsilon": [
|
|
"es.number.epsilon"
|
|
],
|
|
"core-js/es/number/is-finite": [
|
|
"es.number.is-finite"
|
|
],
|
|
"core-js/es/number/is-integer": [
|
|
"es.number.is-integer"
|
|
],
|
|
"core-js/es/number/is-nan": [
|
|
"es.number.is-nan"
|
|
],
|
|
"core-js/es/number/is-safe-integer": [
|
|
"es.number.is-safe-integer"
|
|
],
|
|
"core-js/es/number/max-safe-integer": [
|
|
"es.number.max-safe-integer"
|
|
],
|
|
"core-js/es/number/min-safe-integer": [
|
|
"es.number.min-safe-integer"
|
|
],
|
|
"core-js/es/number/parse-float": [
|
|
"es.number.parse-float"
|
|
],
|
|
"core-js/es/number/parse-int": [
|
|
"es.number.parse-int"
|
|
],
|
|
"core-js/es/number/to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/es/number/to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/es/number/to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/es/number/virtual": [
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/es/number/virtual/to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/es/number/virtual/to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/es/number/virtual/to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/es/object": [
|
|
"es.symbol",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/es/object/assign": [
|
|
"es.object.assign"
|
|
],
|
|
"core-js/es/object/create": [
|
|
"es.object.create"
|
|
],
|
|
"core-js/es/object/define-getter": [
|
|
"es.object.define-getter"
|
|
],
|
|
"core-js/es/object/define-properties": [
|
|
"es.object.define-properties"
|
|
],
|
|
"core-js/es/object/define-property": [
|
|
"es.object.define-property"
|
|
],
|
|
"core-js/es/object/define-setter": [
|
|
"es.object.define-setter"
|
|
],
|
|
"core-js/es/object/entries": [
|
|
"es.object.entries"
|
|
],
|
|
"core-js/es/object/freeze": [
|
|
"es.object.freeze"
|
|
],
|
|
"core-js/es/object/from-entries": [
|
|
"es.array.iterator",
|
|
"es.object.from-entries"
|
|
],
|
|
"core-js/es/object/get-own-property-descriptor": [
|
|
"es.object.get-own-property-descriptor"
|
|
],
|
|
"core-js/es/object/get-own-property-descriptors": [
|
|
"es.object.get-own-property-descriptors"
|
|
],
|
|
"core-js/es/object/get-own-property-names": [
|
|
"es.object.get-own-property-names"
|
|
],
|
|
"core-js/es/object/get-own-property-symbols": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/es/object/get-prototype-of": [
|
|
"es.object.get-prototype-of"
|
|
],
|
|
"core-js/es/object/has-own": [
|
|
"es.object.has-own"
|
|
],
|
|
"core-js/es/object/is": [
|
|
"es.object.is"
|
|
],
|
|
"core-js/es/object/is-extensible": [
|
|
"es.object.is-extensible"
|
|
],
|
|
"core-js/es/object/is-frozen": [
|
|
"es.object.is-frozen"
|
|
],
|
|
"core-js/es/object/is-sealed": [
|
|
"es.object.is-sealed"
|
|
],
|
|
"core-js/es/object/keys": [
|
|
"es.object.keys"
|
|
],
|
|
"core-js/es/object/lookup-getter": [
|
|
"es.object.lookup-getter"
|
|
],
|
|
"core-js/es/object/lookup-setter": [
|
|
"es.object.lookup-setter"
|
|
],
|
|
"core-js/es/object/prevent-extensions": [
|
|
"es.object.prevent-extensions"
|
|
],
|
|
"core-js/es/object/proto": [
|
|
"es.object.proto"
|
|
],
|
|
"core-js/es/object/seal": [
|
|
"es.object.seal"
|
|
],
|
|
"core-js/es/object/set-prototype-of": [
|
|
"es.object.set-prototype-of"
|
|
],
|
|
"core-js/es/object/to-string": [
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/es/object/values": [
|
|
"es.object.values"
|
|
],
|
|
"core-js/es/parse-float": [
|
|
"es.parse-float"
|
|
],
|
|
"core-js/es/parse-int": [
|
|
"es.parse-int"
|
|
],
|
|
"core-js/es/promise": [
|
|
"es.aggregate-error",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/promise/all-settled": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/promise/any": [
|
|
"es.aggregate-error",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.any",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/promise/finally": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.finally"
|
|
],
|
|
"core-js/es/reflect": [
|
|
"es.object.to-string",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/es/reflect/apply": [
|
|
"es.reflect.apply"
|
|
],
|
|
"core-js/es/reflect/construct": [
|
|
"es.reflect.construct"
|
|
],
|
|
"core-js/es/reflect/define-property": [
|
|
"es.reflect.define-property"
|
|
],
|
|
"core-js/es/reflect/delete-property": [
|
|
"es.reflect.delete-property"
|
|
],
|
|
"core-js/es/reflect/get": [
|
|
"es.reflect.get"
|
|
],
|
|
"core-js/es/reflect/get-own-property-descriptor": [
|
|
"es.reflect.get-own-property-descriptor"
|
|
],
|
|
"core-js/es/reflect/get-prototype-of": [
|
|
"es.reflect.get-prototype-of"
|
|
],
|
|
"core-js/es/reflect/has": [
|
|
"es.reflect.has"
|
|
],
|
|
"core-js/es/reflect/is-extensible": [
|
|
"es.reflect.is-extensible"
|
|
],
|
|
"core-js/es/reflect/own-keys": [
|
|
"es.reflect.own-keys"
|
|
],
|
|
"core-js/es/reflect/prevent-extensions": [
|
|
"es.reflect.prevent-extensions"
|
|
],
|
|
"core-js/es/reflect/set": [
|
|
"es.reflect.set"
|
|
],
|
|
"core-js/es/reflect/set-prototype-of": [
|
|
"es.reflect.set-prototype-of"
|
|
],
|
|
"core-js/es/reflect/to-string-tag": [
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/es/regexp": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.string.match",
|
|
"es.string.replace",
|
|
"es.string.search",
|
|
"es.string.split"
|
|
],
|
|
"core-js/es/regexp/constructor": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/es/regexp/dot-all": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec"
|
|
],
|
|
"core-js/es/regexp/flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/es/regexp/match": [
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/es/regexp/replace": [
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/es/regexp/search": [
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/es/regexp/split": [
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/es/regexp/sticky": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.exec",
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/es/regexp/test": [
|
|
"es.regexp.exec",
|
|
"es.regexp.test"
|
|
],
|
|
"core-js/es/regexp/to-string": [
|
|
"es.regexp.to-string"
|
|
],
|
|
"core-js/es/set": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.set",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/string": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup"
|
|
],
|
|
"core-js/es/string/anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/es/string/at": [
|
|
"es.string.at-alternative"
|
|
],
|
|
"core-js/es/string/big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/es/string/blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/es/string/bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/es/string/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/es/string/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/es/string/fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/es/string/fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/es/string/fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/es/string/from-code-point": [
|
|
"es.string.from-code-point"
|
|
],
|
|
"core-js/es/string/includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/es/string/italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/es/string/iterator": [
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/string/link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/es/string/match": [
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/es/string/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/es/string/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/es/string/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/es/string/raw": [
|
|
"es.string.raw"
|
|
],
|
|
"core-js/es/string/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/es/string/replace": [
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/es/string/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/es/string/search": [
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/es/string/small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/es/string/split": [
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/es/string/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/es/string/strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/es/string/sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/es/string/substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/es/string/sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/es/string/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/es/string/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/es/string/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/es/string/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/es/string/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/es/string/virtual": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup"
|
|
],
|
|
"core-js/es/string/virtual/anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/es/string/virtual/at": [
|
|
"es.string.at-alternative"
|
|
],
|
|
"core-js/es/string/virtual/big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/es/string/virtual/blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/es/string/virtual/bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/es/string/virtual/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/es/string/virtual/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/es/string/virtual/fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/es/string/virtual/fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/es/string/virtual/fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/es/string/virtual/includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/es/string/virtual/italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/es/string/virtual/iterator": [
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/string/virtual/link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/es/string/virtual/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/es/string/virtual/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/es/string/virtual/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/es/string/virtual/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/es/string/virtual/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/es/string/virtual/small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/es/string/virtual/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/es/string/virtual/strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/es/string/virtual/sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/es/string/virtual/substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/es/string/virtual/sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/es/string/virtual/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/es/string/virtual/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/es/string/virtual/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/es/string/virtual/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/es/string/virtual/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/es/symbol": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.array.concat",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/es/symbol/async-iterator": [
|
|
"es.symbol.async-iterator"
|
|
],
|
|
"core-js/es/symbol/description": [
|
|
"es.symbol.description"
|
|
],
|
|
"core-js/es/symbol/for": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/es/symbol/has-instance": [
|
|
"es.symbol.has-instance",
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/es/symbol/is-concat-spreadable": [
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.array.concat"
|
|
],
|
|
"core-js/es/symbol/iterator": [
|
|
"es.symbol.iterator",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/es/symbol/key-for": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/es/symbol/match": [
|
|
"es.symbol.match",
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/es/symbol/match-all": [
|
|
"es.symbol.match-all",
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/es/symbol/replace": [
|
|
"es.symbol.replace",
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/es/symbol/search": [
|
|
"es.symbol.search",
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/es/symbol/species": [
|
|
"es.symbol.species"
|
|
],
|
|
"core-js/es/symbol/split": [
|
|
"es.symbol.split",
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/es/symbol/to-primitive": [
|
|
"es.symbol.to-primitive",
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/es/symbol/to-string-tag": [
|
|
"es.symbol.to-string-tag",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/es/symbol/unscopables": [
|
|
"es.symbol.unscopables"
|
|
],
|
|
"core-js/es/typed-array": [
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/at": [
|
|
"es.typed-array.at"
|
|
],
|
|
"core-js/es/typed-array/copy-within": [
|
|
"es.typed-array.copy-within"
|
|
],
|
|
"core-js/es/typed-array/entries": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/es/typed-array/every": [
|
|
"es.typed-array.every"
|
|
],
|
|
"core-js/es/typed-array/fill": [
|
|
"es.typed-array.fill"
|
|
],
|
|
"core-js/es/typed-array/filter": [
|
|
"es.typed-array.filter"
|
|
],
|
|
"core-js/es/typed-array/find": [
|
|
"es.typed-array.find"
|
|
],
|
|
"core-js/es/typed-array/find-index": [
|
|
"es.typed-array.find-index"
|
|
],
|
|
"core-js/es/typed-array/find-last": [
|
|
"es.typed-array.find-last"
|
|
],
|
|
"core-js/es/typed-array/find-last-index": [
|
|
"es.typed-array.find-last-index"
|
|
],
|
|
"core-js/es/typed-array/float32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/float64-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/for-each": [
|
|
"es.typed-array.for-each"
|
|
],
|
|
"core-js/es/typed-array/from": [
|
|
"es.typed-array.from"
|
|
],
|
|
"core-js/es/typed-array/includes": [
|
|
"es.typed-array.includes"
|
|
],
|
|
"core-js/es/typed-array/index-of": [
|
|
"es.typed-array.index-of"
|
|
],
|
|
"core-js/es/typed-array/int16-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/int32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/int8-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/iterator": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/es/typed-array/join": [
|
|
"es.typed-array.join"
|
|
],
|
|
"core-js/es/typed-array/keys": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/es/typed-array/last-index-of": [
|
|
"es.typed-array.last-index-of"
|
|
],
|
|
"core-js/es/typed-array/map": [
|
|
"es.typed-array.map"
|
|
],
|
|
"core-js/es/typed-array/methods": [
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/of": [
|
|
"es.typed-array.of"
|
|
],
|
|
"core-js/es/typed-array/reduce": [
|
|
"es.typed-array.reduce"
|
|
],
|
|
"core-js/es/typed-array/reduce-right": [
|
|
"es.typed-array.reduce-right"
|
|
],
|
|
"core-js/es/typed-array/reverse": [
|
|
"es.typed-array.reverse"
|
|
],
|
|
"core-js/es/typed-array/set": [
|
|
"es.typed-array.set"
|
|
],
|
|
"core-js/es/typed-array/slice": [
|
|
"es.typed-array.slice"
|
|
],
|
|
"core-js/es/typed-array/some": [
|
|
"es.typed-array.some"
|
|
],
|
|
"core-js/es/typed-array/sort": [
|
|
"es.typed-array.sort"
|
|
],
|
|
"core-js/es/typed-array/subarray": [
|
|
"es.typed-array.subarray"
|
|
],
|
|
"core-js/es/typed-array/to-locale-string": [
|
|
"es.typed-array.to-locale-string"
|
|
],
|
|
"core-js/es/typed-array/to-reversed": [
|
|
"esnext.typed-array.to-reversed"
|
|
],
|
|
"core-js/es/typed-array/to-sorted": [
|
|
"es.typed-array.sort",
|
|
"es.typed-array.to-sorted"
|
|
],
|
|
"core-js/es/typed-array/to-string": [
|
|
"es.typed-array.to-string"
|
|
],
|
|
"core-js/es/typed-array/uint16-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/uint32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/uint8-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/uint8-clamped-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/es/typed-array/values": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/es/typed-array/with": [
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/es/unescape": [
|
|
"es.unescape"
|
|
],
|
|
"core-js/es/weak-map": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.weak-map"
|
|
],
|
|
"core-js/es/weak-set": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.weak-set"
|
|
],
|
|
"core-js/features": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string",
|
|
"es.escape",
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name",
|
|
"es.global-this",
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag",
|
|
"es.map",
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc",
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.parse-float",
|
|
"es.parse-int",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag",
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.set",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"es.unescape",
|
|
"es.weak-map",
|
|
"es.weak-set",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.bigint.range",
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"esnext.observable",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"esnext.string.at",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.atob",
|
|
"web.btoa",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.immediate",
|
|
"web.queue-microtask",
|
|
"web.self",
|
|
"web.structured-clone",
|
|
"web.timers",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/features/aggregate-error": [
|
|
"es.error.cause",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"esnext.aggregate-error",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/array": [
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/features/array-buffer": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/features/array-buffer/constructor": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/features/array-buffer/detached": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.detached"
|
|
],
|
|
"core-js/features/array-buffer/is-view": [
|
|
"es.array-buffer.is-view"
|
|
],
|
|
"core-js/features/array-buffer/slice": [
|
|
"es.array-buffer.slice"
|
|
],
|
|
"core-js/features/array-buffer/transfer": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.transfer"
|
|
],
|
|
"core-js/features/array-buffer/transfer-to-fixed-length": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/features/array/at": [
|
|
"es.array.at",
|
|
"esnext.array.at"
|
|
],
|
|
"core-js/features/array/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/features/array/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/features/array/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/features/array/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/features/array/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/features/array/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/features/array/filter-out": [
|
|
"esnext.array.filter-out"
|
|
],
|
|
"core-js/features/array/filter-reject": [
|
|
"esnext.array.filter-reject"
|
|
],
|
|
"core-js/features/array/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/features/array/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/features/array/find-last": [
|
|
"es.array.find-last",
|
|
"esnext.array.find-last"
|
|
],
|
|
"core-js/features/array/find-last-index": [
|
|
"es.array.find-last-index",
|
|
"esnext.array.find-last-index"
|
|
],
|
|
"core-js/features/array/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/features/array/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/features/array/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/features/array/from": [
|
|
"es.array.from",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/features/array/from-async": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.array.from-async"
|
|
],
|
|
"core-js/features/array/group": [
|
|
"esnext.array.group"
|
|
],
|
|
"core-js/features/array/group-by": [
|
|
"esnext.array.group-by"
|
|
],
|
|
"core-js/features/array/group-by-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/features/array/group-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/features/array/includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/features/array/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/features/array/is-array": [
|
|
"es.array.is-array"
|
|
],
|
|
"core-js/features/array/is-template-object": [
|
|
"esnext.array.is-template-object"
|
|
],
|
|
"core-js/features/array/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/features/array/join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/features/array/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/features/array/last-index": [
|
|
"esnext.array.last-index"
|
|
],
|
|
"core-js/features/array/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/features/array/last-item": [
|
|
"esnext.array.last-item"
|
|
],
|
|
"core-js/features/array/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/features/array/of": [
|
|
"es.array.of"
|
|
],
|
|
"core-js/features/array/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/features/array/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/features/array/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/features/array/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/features/array/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/features/array/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/features/array/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/features/array/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/features/array/to-reversed": [
|
|
"esnext.array.to-reversed"
|
|
],
|
|
"core-js/features/array/to-sorted": [
|
|
"es.array.sort",
|
|
"esnext.array.to-sorted"
|
|
],
|
|
"core-js/features/array/to-spliced": [
|
|
"esnext.array.to-spliced"
|
|
],
|
|
"core-js/features/array/unique-by": [
|
|
"es.map",
|
|
"esnext.array.unique-by"
|
|
],
|
|
"core-js/features/array/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/features/array/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/features/array/virtual": [
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/features/array/virtual/at": [
|
|
"es.array.at",
|
|
"esnext.array.at"
|
|
],
|
|
"core-js/features/array/virtual/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/features/array/virtual/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/features/array/virtual/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/features/array/virtual/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/features/array/virtual/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/features/array/virtual/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/features/array/virtual/filter-out": [
|
|
"esnext.array.filter-out"
|
|
],
|
|
"core-js/features/array/virtual/filter-reject": [
|
|
"esnext.array.filter-reject"
|
|
],
|
|
"core-js/features/array/virtual/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/features/array/virtual/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/features/array/virtual/find-last": [
|
|
"es.array.find-last",
|
|
"esnext.array.find-last"
|
|
],
|
|
"core-js/features/array/virtual/find-last-index": [
|
|
"es.array.find-last-index",
|
|
"esnext.array.find-last-index"
|
|
],
|
|
"core-js/features/array/virtual/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/features/array/virtual/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/features/array/virtual/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/features/array/virtual/group": [
|
|
"esnext.array.group"
|
|
],
|
|
"core-js/features/array/virtual/group-by": [
|
|
"esnext.array.group-by"
|
|
],
|
|
"core-js/features/array/virtual/group-by-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/features/array/virtual/group-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/features/array/virtual/includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/features/array/virtual/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/features/array/virtual/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/features/array/virtual/join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/features/array/virtual/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/features/array/virtual/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/features/array/virtual/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/features/array/virtual/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/features/array/virtual/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/features/array/virtual/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/features/array/virtual/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/features/array/virtual/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/features/array/virtual/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/features/array/virtual/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/features/array/virtual/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/features/array/virtual/to-reversed": [
|
|
"es.array.to-reversed",
|
|
"esnext.array.to-reversed"
|
|
],
|
|
"core-js/features/array/virtual/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted",
|
|
"esnext.array.to-sorted"
|
|
],
|
|
"core-js/features/array/virtual/to-spliced": [
|
|
"es.array.to-spliced",
|
|
"esnext.array.to-spliced"
|
|
],
|
|
"core-js/features/array/virtual/unique-by": [
|
|
"es.map",
|
|
"esnext.array.unique-by"
|
|
],
|
|
"core-js/features/array/virtual/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/features/array/virtual/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/features/array/virtual/with": [
|
|
"es.array.with",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/features/array/with": [
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/features/async-disposable-stack": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/features/async-disposable-stack/constructor": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/features/async-iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/async-iterator/as-indexed-pairs": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs"
|
|
],
|
|
"core-js/features/async-iterator/async-dispose": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.async-dispose"
|
|
],
|
|
"core-js/features/async-iterator/drop": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop"
|
|
],
|
|
"core-js/features/async-iterator/every": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.every"
|
|
],
|
|
"core-js/features/async-iterator/filter": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.filter"
|
|
],
|
|
"core-js/features/async-iterator/find": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.find"
|
|
],
|
|
"core-js/features/async-iterator/flat-map": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.flat-map"
|
|
],
|
|
"core-js/features/async-iterator/for-each": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.for-each"
|
|
],
|
|
"core-js/features/async-iterator/from": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/async-iterator/indexed": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.indexed"
|
|
],
|
|
"core-js/features/async-iterator/map": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.map"
|
|
],
|
|
"core-js/features/async-iterator/reduce": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.reduce"
|
|
],
|
|
"core-js/features/async-iterator/some": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.some"
|
|
],
|
|
"core-js/features/async-iterator/take": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.take"
|
|
],
|
|
"core-js/features/async-iterator/to-array": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.to-array"
|
|
],
|
|
"core-js/features/atob": [
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"web.atob",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/features/bigint": [
|
|
"es.object.to-string",
|
|
"esnext.bigint.range"
|
|
],
|
|
"core-js/features/bigint/range": [
|
|
"es.object.to-string",
|
|
"esnext.bigint.range"
|
|
],
|
|
"core-js/features/btoa": [
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"web.btoa",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/features/clear-immediate": [
|
|
"web.immediate"
|
|
],
|
|
"core-js/features/composite-key": [
|
|
"esnext.composite-key"
|
|
],
|
|
"core-js/features/composite-symbol": [
|
|
"es.symbol",
|
|
"esnext.composite-symbol"
|
|
],
|
|
"core-js/features/data-view": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/features/date": [
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/features/date/get-year": [
|
|
"es.date.get-year"
|
|
],
|
|
"core-js/features/date/now": [
|
|
"es.date.now"
|
|
],
|
|
"core-js/features/date/set-year": [
|
|
"es.date.set-year"
|
|
],
|
|
"core-js/features/date/to-gmt-string": [
|
|
"es.date.to-gmt-string"
|
|
],
|
|
"core-js/features/date/to-iso-string": [
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/features/date/to-json": [
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/features/date/to-primitive": [
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/features/date/to-string": [
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/features/disposable-stack": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/features/disposable-stack/constructor": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/features/dom-collections": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/dom-collections/for-each": [
|
|
"web.dom-collections.for-each"
|
|
],
|
|
"core-js/features/dom-collections/iterator": [
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/dom-exception": [
|
|
"es.error.to-string",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/features/dom-exception/constructor": [
|
|
"es.error.to-string",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack"
|
|
],
|
|
"core-js/features/dom-exception/to-string-tag": [
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/features/error": [
|
|
"es.error.cause",
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/features/error/constructor": [
|
|
"es.error.cause"
|
|
],
|
|
"core-js/features/error/to-string": [
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/features/escape": [
|
|
"es.escape"
|
|
],
|
|
"core-js/features/function": [
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/features/function/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/features/function/demethodize": [
|
|
"esnext.function.demethodize"
|
|
],
|
|
"core-js/features/function/has-instance": [
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/features/function/is-callable": [
|
|
"esnext.function.is-callable"
|
|
],
|
|
"core-js/features/function/is-constructor": [
|
|
"esnext.function.is-constructor"
|
|
],
|
|
"core-js/features/function/name": [
|
|
"es.function.name"
|
|
],
|
|
"core-js/features/function/un-this": [
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/features/function/virtual": [
|
|
"es.function.bind",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/features/function/virtual/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/features/function/virtual/demethodize": [
|
|
"esnext.function.demethodize"
|
|
],
|
|
"core-js/features/function/virtual/un-this": [
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/features/get-iterator": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/get-iterator-method": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/global-this": [
|
|
"es.global-this",
|
|
"esnext.global-this"
|
|
],
|
|
"core-js/features/instance/at": [
|
|
"es.array.at",
|
|
"es.string.at-alternative",
|
|
"esnext.array.at",
|
|
"esnext.string.at"
|
|
],
|
|
"core-js/features/instance/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/features/instance/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/features/instance/code-points": [
|
|
"es.object.to-string",
|
|
"esnext.string.code-points"
|
|
],
|
|
"core-js/features/instance/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/features/instance/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/features/instance/demethodize": [
|
|
"esnext.function.demethodize"
|
|
],
|
|
"core-js/features/instance/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/features/instance/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/instance/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/features/instance/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/features/instance/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/features/instance/filter-out": [
|
|
"esnext.array.filter-out"
|
|
],
|
|
"core-js/features/instance/filter-reject": [
|
|
"esnext.array.filter-reject"
|
|
],
|
|
"core-js/features/instance/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/features/instance/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/features/instance/find-last": [
|
|
"es.array.find-last",
|
|
"esnext.array.find-last"
|
|
],
|
|
"core-js/features/instance/find-last-index": [
|
|
"es.array.find-last-index",
|
|
"esnext.array.find-last-index"
|
|
],
|
|
"core-js/features/instance/flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/features/instance/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/features/instance/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/features/instance/for-each": [
|
|
"es.array.for-each",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/instance/group": [
|
|
"esnext.array.group"
|
|
],
|
|
"core-js/features/instance/group-by": [
|
|
"esnext.array.group-by"
|
|
],
|
|
"core-js/features/instance/group-by-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/features/instance/group-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/features/instance/includes": [
|
|
"es.array.includes",
|
|
"es.string.includes"
|
|
],
|
|
"core-js/features/instance/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/features/instance/is-well-formed": [
|
|
"esnext.string.is-well-formed"
|
|
],
|
|
"core-js/features/instance/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/instance/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/features/instance/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/features/instance/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all",
|
|
"esnext.string.match-all"
|
|
],
|
|
"core-js/features/instance/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/features/instance/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/features/instance/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/features/instance/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/features/instance/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/features/instance/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/features/instance/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/features/instance/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/features/instance/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/features/instance/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/features/instance/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/features/instance/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/features/instance/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/features/instance/to-reversed": [
|
|
"es.array.to-reversed",
|
|
"esnext.array.to-reversed"
|
|
],
|
|
"core-js/features/instance/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted",
|
|
"esnext.array.to-sorted"
|
|
],
|
|
"core-js/features/instance/to-spliced": [
|
|
"es.array.to-spliced",
|
|
"esnext.array.to-spliced"
|
|
],
|
|
"core-js/features/instance/to-well-formed": [
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/features/instance/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/features/instance/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/features/instance/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/features/instance/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/features/instance/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/features/instance/un-this": [
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/features/instance/unique-by": [
|
|
"es.map",
|
|
"esnext.array.unique-by"
|
|
],
|
|
"core-js/features/instance/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/features/instance/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/instance/with": [
|
|
"es.array.with",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/features/is-iterable": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/iterator/as-indexed-pairs": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs"
|
|
],
|
|
"core-js/features/iterator/dispose": [
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/features/iterator/drop": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.drop"
|
|
],
|
|
"core-js/features/iterator/every": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.every"
|
|
],
|
|
"core-js/features/iterator/filter": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.filter"
|
|
],
|
|
"core-js/features/iterator/find": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.find"
|
|
],
|
|
"core-js/features/iterator/flat-map": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.flat-map"
|
|
],
|
|
"core-js/features/iterator/for-each": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.for-each"
|
|
],
|
|
"core-js/features/iterator/from": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/iterator/indexed": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.indexed"
|
|
],
|
|
"core-js/features/iterator/map": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.map"
|
|
],
|
|
"core-js/features/iterator/range": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.range"
|
|
],
|
|
"core-js/features/iterator/reduce": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.reduce"
|
|
],
|
|
"core-js/features/iterator/some": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.some"
|
|
],
|
|
"core-js/features/iterator/take": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.take"
|
|
],
|
|
"core-js/features/iterator/to-array": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.to-array"
|
|
],
|
|
"core-js/features/iterator/to-async": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.to-async"
|
|
],
|
|
"core-js/features/json": [
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag",
|
|
"es.object.create",
|
|
"es.object.freeze",
|
|
"es.object.keys",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json"
|
|
],
|
|
"core-js/features/json/is-raw-json": [
|
|
"esnext.json.is-raw-json"
|
|
],
|
|
"core-js/features/json/parse": [
|
|
"es.object.keys",
|
|
"esnext.json.parse"
|
|
],
|
|
"core-js/features/json/raw-json": [
|
|
"es.object.create",
|
|
"es.object.freeze",
|
|
"esnext.json.raw-json"
|
|
],
|
|
"core-js/features/json/stringify": [
|
|
"es.json.stringify"
|
|
],
|
|
"core-js/features/json/to-string-tag": [
|
|
"es.json.to-string-tag"
|
|
],
|
|
"core-js/features/map": [
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/map/delete-all": [
|
|
"es.map",
|
|
"esnext.map.delete-all"
|
|
],
|
|
"core-js/features/map/emplace": [
|
|
"es.map",
|
|
"esnext.map.emplace"
|
|
],
|
|
"core-js/features/map/every": [
|
|
"es.map",
|
|
"esnext.map.every"
|
|
],
|
|
"core-js/features/map/filter": [
|
|
"es.map",
|
|
"esnext.map.filter"
|
|
],
|
|
"core-js/features/map/find": [
|
|
"es.map",
|
|
"esnext.map.find"
|
|
],
|
|
"core-js/features/map/find-key": [
|
|
"es.map",
|
|
"esnext.map.find-key"
|
|
],
|
|
"core-js/features/map/from": [
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.string.iterator",
|
|
"esnext.map.from",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/map/group-by": [
|
|
"es.map",
|
|
"esnext.map.group-by"
|
|
],
|
|
"core-js/features/map/includes": [
|
|
"es.map",
|
|
"esnext.map.includes"
|
|
],
|
|
"core-js/features/map/key-by": [
|
|
"es.map",
|
|
"esnext.map.key-by"
|
|
],
|
|
"core-js/features/map/key-of": [
|
|
"es.map",
|
|
"esnext.map.key-of"
|
|
],
|
|
"core-js/features/map/map-keys": [
|
|
"es.map",
|
|
"esnext.map.map-keys"
|
|
],
|
|
"core-js/features/map/map-values": [
|
|
"es.map",
|
|
"esnext.map.map-values"
|
|
],
|
|
"core-js/features/map/merge": [
|
|
"es.map",
|
|
"esnext.map.merge"
|
|
],
|
|
"core-js/features/map/of": [
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"esnext.map.of"
|
|
],
|
|
"core-js/features/map/reduce": [
|
|
"es.map",
|
|
"esnext.map.reduce"
|
|
],
|
|
"core-js/features/map/some": [
|
|
"es.map",
|
|
"esnext.map.some"
|
|
],
|
|
"core-js/features/map/update": [
|
|
"es.map",
|
|
"esnext.map.update"
|
|
],
|
|
"core-js/features/map/update-or-insert": [
|
|
"es.map",
|
|
"esnext.map.update-or-insert"
|
|
],
|
|
"core-js/features/map/upsert": [
|
|
"es.map",
|
|
"esnext.map.upsert"
|
|
],
|
|
"core-js/features/math": [
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh"
|
|
],
|
|
"core-js/features/math/acosh": [
|
|
"es.math.acosh"
|
|
],
|
|
"core-js/features/math/asinh": [
|
|
"es.math.asinh"
|
|
],
|
|
"core-js/features/math/atanh": [
|
|
"es.math.atanh"
|
|
],
|
|
"core-js/features/math/cbrt": [
|
|
"es.math.cbrt"
|
|
],
|
|
"core-js/features/math/clamp": [
|
|
"esnext.math.clamp"
|
|
],
|
|
"core-js/features/math/clz32": [
|
|
"es.math.clz32"
|
|
],
|
|
"core-js/features/math/cosh": [
|
|
"es.math.cosh"
|
|
],
|
|
"core-js/features/math/deg-per-rad": [
|
|
"esnext.math.deg-per-rad"
|
|
],
|
|
"core-js/features/math/degrees": [
|
|
"esnext.math.degrees"
|
|
],
|
|
"core-js/features/math/expm1": [
|
|
"es.math.expm1"
|
|
],
|
|
"core-js/features/math/fround": [
|
|
"es.math.fround"
|
|
],
|
|
"core-js/features/math/fscale": [
|
|
"esnext.math.fscale"
|
|
],
|
|
"core-js/features/math/hypot": [
|
|
"es.math.hypot"
|
|
],
|
|
"core-js/features/math/iaddh": [
|
|
"esnext.math.iaddh"
|
|
],
|
|
"core-js/features/math/imul": [
|
|
"es.math.imul"
|
|
],
|
|
"core-js/features/math/imulh": [
|
|
"esnext.math.imulh"
|
|
],
|
|
"core-js/features/math/isubh": [
|
|
"esnext.math.isubh"
|
|
],
|
|
"core-js/features/math/log10": [
|
|
"es.math.log10"
|
|
],
|
|
"core-js/features/math/log1p": [
|
|
"es.math.log1p"
|
|
],
|
|
"core-js/features/math/log2": [
|
|
"es.math.log2"
|
|
],
|
|
"core-js/features/math/rad-per-deg": [
|
|
"esnext.math.rad-per-deg"
|
|
],
|
|
"core-js/features/math/radians": [
|
|
"esnext.math.radians"
|
|
],
|
|
"core-js/features/math/scale": [
|
|
"esnext.math.scale"
|
|
],
|
|
"core-js/features/math/seeded-prng": [
|
|
"esnext.math.seeded-prng"
|
|
],
|
|
"core-js/features/math/sign": [
|
|
"es.math.sign"
|
|
],
|
|
"core-js/features/math/signbit": [
|
|
"esnext.math.signbit"
|
|
],
|
|
"core-js/features/math/sinh": [
|
|
"es.math.sinh"
|
|
],
|
|
"core-js/features/math/tanh": [
|
|
"es.math.tanh"
|
|
],
|
|
"core-js/features/math/to-string-tag": [
|
|
"es.math.to-string-tag"
|
|
],
|
|
"core-js/features/math/trunc": [
|
|
"es.math.trunc"
|
|
],
|
|
"core-js/features/math/umulh": [
|
|
"esnext.math.umulh"
|
|
],
|
|
"core-js/features/number": [
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision",
|
|
"es.object.to-string",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range"
|
|
],
|
|
"core-js/features/number/constructor": [
|
|
"es.number.constructor"
|
|
],
|
|
"core-js/features/number/epsilon": [
|
|
"es.number.epsilon"
|
|
],
|
|
"core-js/features/number/from-string": [
|
|
"esnext.number.from-string"
|
|
],
|
|
"core-js/features/number/is-finite": [
|
|
"es.number.is-finite"
|
|
],
|
|
"core-js/features/number/is-integer": [
|
|
"es.number.is-integer"
|
|
],
|
|
"core-js/features/number/is-nan": [
|
|
"es.number.is-nan"
|
|
],
|
|
"core-js/features/number/is-safe-integer": [
|
|
"es.number.is-safe-integer"
|
|
],
|
|
"core-js/features/number/max-safe-integer": [
|
|
"es.number.max-safe-integer"
|
|
],
|
|
"core-js/features/number/min-safe-integer": [
|
|
"es.number.min-safe-integer"
|
|
],
|
|
"core-js/features/number/parse-float": [
|
|
"es.number.parse-float"
|
|
],
|
|
"core-js/features/number/parse-int": [
|
|
"es.number.parse-int"
|
|
],
|
|
"core-js/features/number/range": [
|
|
"es.object.to-string",
|
|
"esnext.number.range"
|
|
],
|
|
"core-js/features/number/to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/features/number/to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/features/number/to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/features/number/virtual": [
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/features/number/virtual/to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/features/number/virtual/to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/features/number/virtual/to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/features/object": [
|
|
"es.symbol",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.reflect.to-string-tag",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/object/assign": [
|
|
"es.object.assign"
|
|
],
|
|
"core-js/features/object/create": [
|
|
"es.object.create"
|
|
],
|
|
"core-js/features/object/define-getter": [
|
|
"es.object.define-getter"
|
|
],
|
|
"core-js/features/object/define-properties": [
|
|
"es.object.define-properties"
|
|
],
|
|
"core-js/features/object/define-property": [
|
|
"es.object.define-property"
|
|
],
|
|
"core-js/features/object/define-setter": [
|
|
"es.object.define-setter"
|
|
],
|
|
"core-js/features/object/entries": [
|
|
"es.object.entries"
|
|
],
|
|
"core-js/features/object/freeze": [
|
|
"es.object.freeze"
|
|
],
|
|
"core-js/features/object/from-entries": [
|
|
"es.array.iterator",
|
|
"es.object.from-entries",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/object/get-own-property-descriptor": [
|
|
"es.object.get-own-property-descriptor"
|
|
],
|
|
"core-js/features/object/get-own-property-descriptors": [
|
|
"es.object.get-own-property-descriptors"
|
|
],
|
|
"core-js/features/object/get-own-property-names": [
|
|
"es.object.get-own-property-names"
|
|
],
|
|
"core-js/features/object/get-own-property-symbols": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/features/object/get-prototype-of": [
|
|
"es.object.get-prototype-of"
|
|
],
|
|
"core-js/features/object/has-own": [
|
|
"es.object.has-own",
|
|
"esnext.object.has-own"
|
|
],
|
|
"core-js/features/object/is": [
|
|
"es.object.is"
|
|
],
|
|
"core-js/features/object/is-extensible": [
|
|
"es.object.is-extensible"
|
|
],
|
|
"core-js/features/object/is-frozen": [
|
|
"es.object.is-frozen"
|
|
],
|
|
"core-js/features/object/is-sealed": [
|
|
"es.object.is-sealed"
|
|
],
|
|
"core-js/features/object/iterate-entries": [
|
|
"esnext.object.iterate-entries"
|
|
],
|
|
"core-js/features/object/iterate-keys": [
|
|
"esnext.object.iterate-keys"
|
|
],
|
|
"core-js/features/object/iterate-values": [
|
|
"esnext.object.iterate-values"
|
|
],
|
|
"core-js/features/object/keys": [
|
|
"es.object.keys"
|
|
],
|
|
"core-js/features/object/lookup-getter": [
|
|
"es.object.lookup-getter"
|
|
],
|
|
"core-js/features/object/lookup-setter": [
|
|
"es.object.lookup-setter"
|
|
],
|
|
"core-js/features/object/prevent-extensions": [
|
|
"es.object.prevent-extensions"
|
|
],
|
|
"core-js/features/object/proto": [
|
|
"es.object.proto"
|
|
],
|
|
"core-js/features/object/seal": [
|
|
"es.object.seal"
|
|
],
|
|
"core-js/features/object/set-prototype-of": [
|
|
"es.object.set-prototype-of"
|
|
],
|
|
"core-js/features/object/to-string": [
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/features/object/values": [
|
|
"es.object.values"
|
|
],
|
|
"core-js/features/observable": [
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"esnext.observable",
|
|
"esnext.symbol.observable",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/parse-float": [
|
|
"es.parse-float"
|
|
],
|
|
"core-js/features/parse-int": [
|
|
"es.parse-int"
|
|
],
|
|
"core-js/features/promise": [
|
|
"es.aggregate-error",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.string.iterator",
|
|
"esnext.aggregate-error",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/promise/all-settled": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.string.iterator",
|
|
"esnext.promise.all-settled",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/promise/any": [
|
|
"es.aggregate-error",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.any",
|
|
"es.string.iterator",
|
|
"esnext.aggregate-error",
|
|
"esnext.promise.any",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/promise/finally": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.finally"
|
|
],
|
|
"core-js/features/promise/try": [
|
|
"es.promise",
|
|
"esnext.promise.try"
|
|
],
|
|
"core-js/features/queue-microtask": [
|
|
"web.queue-microtask"
|
|
],
|
|
"core-js/features/reflect": [
|
|
"es.object.to-string",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag",
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata"
|
|
],
|
|
"core-js/features/reflect/apply": [
|
|
"es.reflect.apply"
|
|
],
|
|
"core-js/features/reflect/construct": [
|
|
"es.reflect.construct"
|
|
],
|
|
"core-js/features/reflect/define-metadata": [
|
|
"esnext.reflect.define-metadata"
|
|
],
|
|
"core-js/features/reflect/define-property": [
|
|
"es.reflect.define-property"
|
|
],
|
|
"core-js/features/reflect/delete-metadata": [
|
|
"esnext.reflect.delete-metadata"
|
|
],
|
|
"core-js/features/reflect/delete-property": [
|
|
"es.reflect.delete-property"
|
|
],
|
|
"core-js/features/reflect/get": [
|
|
"es.reflect.get"
|
|
],
|
|
"core-js/features/reflect/get-metadata": [
|
|
"esnext.reflect.get-metadata"
|
|
],
|
|
"core-js/features/reflect/get-metadata-keys": [
|
|
"esnext.reflect.get-metadata-keys"
|
|
],
|
|
"core-js/features/reflect/get-own-metadata": [
|
|
"esnext.reflect.get-own-metadata"
|
|
],
|
|
"core-js/features/reflect/get-own-metadata-keys": [
|
|
"esnext.reflect.get-own-metadata-keys"
|
|
],
|
|
"core-js/features/reflect/get-own-property-descriptor": [
|
|
"es.reflect.get-own-property-descriptor"
|
|
],
|
|
"core-js/features/reflect/get-prototype-of": [
|
|
"es.reflect.get-prototype-of"
|
|
],
|
|
"core-js/features/reflect/has": [
|
|
"es.reflect.has"
|
|
],
|
|
"core-js/features/reflect/has-metadata": [
|
|
"esnext.reflect.has-metadata"
|
|
],
|
|
"core-js/features/reflect/has-own-metadata": [
|
|
"esnext.reflect.has-own-metadata"
|
|
],
|
|
"core-js/features/reflect/is-extensible": [
|
|
"es.reflect.is-extensible"
|
|
],
|
|
"core-js/features/reflect/metadata": [
|
|
"esnext.reflect.metadata"
|
|
],
|
|
"core-js/features/reflect/own-keys": [
|
|
"es.reflect.own-keys"
|
|
],
|
|
"core-js/features/reflect/prevent-extensions": [
|
|
"es.reflect.prevent-extensions"
|
|
],
|
|
"core-js/features/reflect/set": [
|
|
"es.reflect.set"
|
|
],
|
|
"core-js/features/reflect/set-prototype-of": [
|
|
"es.reflect.set-prototype-of"
|
|
],
|
|
"core-js/features/reflect/to-string-tag": [
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/features/regexp": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.string.match",
|
|
"es.string.replace",
|
|
"es.string.search",
|
|
"es.string.split"
|
|
],
|
|
"core-js/features/regexp/constructor": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/features/regexp/dot-all": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec"
|
|
],
|
|
"core-js/features/regexp/flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/features/regexp/match": [
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/features/regexp/replace": [
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/features/regexp/search": [
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/features/regexp/split": [
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/features/regexp/sticky": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.exec",
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/features/regexp/test": [
|
|
"es.regexp.exec",
|
|
"es.regexp.test"
|
|
],
|
|
"core-js/features/regexp/to-string": [
|
|
"es.regexp.to-string"
|
|
],
|
|
"core-js/features/self": [
|
|
"web.self"
|
|
],
|
|
"core-js/features/set": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/set-immediate": [
|
|
"web.immediate"
|
|
],
|
|
"core-js/features/set-interval": [
|
|
"web.timers"
|
|
],
|
|
"core-js/features/set-timeout": [
|
|
"web.timers"
|
|
],
|
|
"core-js/features/set/add-all": [
|
|
"es.set",
|
|
"esnext.set.add-all"
|
|
],
|
|
"core-js/features/set/delete-all": [
|
|
"es.set",
|
|
"esnext.set.delete-all"
|
|
],
|
|
"core-js/features/set/difference": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/set/every": [
|
|
"es.set",
|
|
"esnext.set.every"
|
|
],
|
|
"core-js/features/set/filter": [
|
|
"es.set",
|
|
"esnext.set.filter"
|
|
],
|
|
"core-js/features/set/find": [
|
|
"es.set",
|
|
"esnext.set.find"
|
|
],
|
|
"core-js/features/set/from": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.from",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/set/intersection": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/set/is-disjoint-from": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/set/is-subset-of": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/set/is-superset-of": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/set/join": [
|
|
"es.set",
|
|
"esnext.set.join"
|
|
],
|
|
"core-js/features/set/map": [
|
|
"es.set",
|
|
"esnext.set.map"
|
|
],
|
|
"core-js/features/set/of": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"esnext.set.of"
|
|
],
|
|
"core-js/features/set/reduce": [
|
|
"es.set",
|
|
"esnext.set.reduce"
|
|
],
|
|
"core-js/features/set/some": [
|
|
"es.set",
|
|
"esnext.set.some"
|
|
],
|
|
"core-js/features/set/symmetric-difference": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/set/union": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/string": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"es.weak-map",
|
|
"esnext.string.at",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/features/string/anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/features/string/at": [
|
|
"es.string.at-alternative",
|
|
"esnext.string.at"
|
|
],
|
|
"core-js/features/string/big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/features/string/blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/features/string/bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/features/string/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/features/string/code-points": [
|
|
"es.object.to-string",
|
|
"esnext.string.code-points"
|
|
],
|
|
"core-js/features/string/cooked": [
|
|
"esnext.string.cooked"
|
|
],
|
|
"core-js/features/string/dedent": [
|
|
"es.string.from-code-point",
|
|
"es.weak-map",
|
|
"esnext.string.dedent"
|
|
],
|
|
"core-js/features/string/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/features/string/fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/features/string/fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/features/string/fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/features/string/from-code-point": [
|
|
"es.string.from-code-point"
|
|
],
|
|
"core-js/features/string/includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/features/string/is-well-formed": [
|
|
"esnext.string.is-well-formed"
|
|
],
|
|
"core-js/features/string/italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/features/string/iterator": [
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/features/string/link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/features/string/match": [
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/features/string/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all",
|
|
"esnext.string.match-all"
|
|
],
|
|
"core-js/features/string/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/features/string/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/features/string/raw": [
|
|
"es.string.raw"
|
|
],
|
|
"core-js/features/string/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/features/string/replace": [
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/features/string/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"esnext.string.replace-all"
|
|
],
|
|
"core-js/features/string/search": [
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/features/string/small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/features/string/split": [
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/features/string/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/features/string/strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/features/string/sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/features/string/substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/features/string/sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/features/string/to-well-formed": [
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/features/string/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/features/string/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/features/string/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/features/string/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/features/string/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/features/string/virtual": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"esnext.string.at",
|
|
"esnext.string.code-points",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/features/string/virtual/anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/features/string/virtual/at": [
|
|
"es.string.at-alternative",
|
|
"esnext.string.at"
|
|
],
|
|
"core-js/features/string/virtual/big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/features/string/virtual/blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/features/string/virtual/bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/features/string/virtual/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/features/string/virtual/code-points": [
|
|
"es.object.to-string",
|
|
"esnext.string.code-points"
|
|
],
|
|
"core-js/features/string/virtual/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/features/string/virtual/fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/features/string/virtual/fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/features/string/virtual/fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/features/string/virtual/includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/features/string/virtual/is-well-formed": [
|
|
"esnext.string.is-well-formed"
|
|
],
|
|
"core-js/features/string/virtual/italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/features/string/virtual/iterator": [
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/features/string/virtual/link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/features/string/virtual/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all",
|
|
"esnext.string.match-all"
|
|
],
|
|
"core-js/features/string/virtual/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/features/string/virtual/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/features/string/virtual/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/features/string/virtual/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"esnext.string.replace-all"
|
|
],
|
|
"core-js/features/string/virtual/small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/features/string/virtual/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/features/string/virtual/strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/features/string/virtual/sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/features/string/virtual/substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/features/string/virtual/sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/features/string/virtual/to-well-formed": [
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/features/string/virtual/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/features/string/virtual/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/features/string/virtual/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/features/string/virtual/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/features/string/virtual/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/features/structured-clone": [
|
|
"es.error.to-string",
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.object.keys",
|
|
"es.object.to-string",
|
|
"es.set",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.structured-clone"
|
|
],
|
|
"core-js/features/suppressed-error": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"esnext.suppressed-error.constructor"
|
|
],
|
|
"core-js/features/symbol": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.array.concat",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/symbol/async-dispose": [
|
|
"esnext.symbol.async-dispose"
|
|
],
|
|
"core-js/features/symbol/async-iterator": [
|
|
"es.symbol.async-iterator"
|
|
],
|
|
"core-js/features/symbol/description": [
|
|
"es.symbol.description"
|
|
],
|
|
"core-js/features/symbol/dispose": [
|
|
"esnext.symbol.dispose"
|
|
],
|
|
"core-js/features/symbol/for": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/features/symbol/has-instance": [
|
|
"es.symbol.has-instance",
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/features/symbol/is-concat-spreadable": [
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.array.concat"
|
|
],
|
|
"core-js/features/symbol/is-registered": [
|
|
"es.symbol",
|
|
"esnext.symbol.is-registered"
|
|
],
|
|
"core-js/features/symbol/is-well-known": [
|
|
"es.symbol",
|
|
"esnext.symbol.is-well-known"
|
|
],
|
|
"core-js/features/symbol/iterator": [
|
|
"es.symbol.iterator",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/symbol/key-for": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/features/symbol/match": [
|
|
"es.symbol.match",
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/features/symbol/match-all": [
|
|
"es.symbol.match-all",
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/features/symbol/matcher": [
|
|
"esnext.symbol.matcher"
|
|
],
|
|
"core-js/features/symbol/metadata": [
|
|
"esnext.symbol.metadata"
|
|
],
|
|
"core-js/features/symbol/metadata-key": [
|
|
"esnext.symbol.metadata-key"
|
|
],
|
|
"core-js/features/symbol/observable": [
|
|
"esnext.symbol.observable"
|
|
],
|
|
"core-js/features/symbol/pattern-match": [
|
|
"esnext.symbol.pattern-match"
|
|
],
|
|
"core-js/features/symbol/replace": [
|
|
"es.symbol.replace",
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/features/symbol/replace-all": [
|
|
"esnext.symbol.replace-all"
|
|
],
|
|
"core-js/features/symbol/search": [
|
|
"es.symbol.search",
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/features/symbol/species": [
|
|
"es.symbol.species"
|
|
],
|
|
"core-js/features/symbol/split": [
|
|
"es.symbol.split",
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/features/symbol/to-primitive": [
|
|
"es.symbol.to-primitive",
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/features/symbol/to-string-tag": [
|
|
"es.symbol.to-string-tag",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/features/symbol/unscopables": [
|
|
"es.symbol.unscopables"
|
|
],
|
|
"core-js/features/typed-array": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/at": [
|
|
"es.typed-array.at",
|
|
"esnext.typed-array.at"
|
|
],
|
|
"core-js/features/typed-array/copy-within": [
|
|
"es.typed-array.copy-within"
|
|
],
|
|
"core-js/features/typed-array/entries": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/features/typed-array/every": [
|
|
"es.typed-array.every"
|
|
],
|
|
"core-js/features/typed-array/fill": [
|
|
"es.typed-array.fill"
|
|
],
|
|
"core-js/features/typed-array/filter": [
|
|
"es.typed-array.filter"
|
|
],
|
|
"core-js/features/typed-array/filter-out": [
|
|
"esnext.typed-array.filter-out"
|
|
],
|
|
"core-js/features/typed-array/filter-reject": [
|
|
"esnext.typed-array.filter-reject"
|
|
],
|
|
"core-js/features/typed-array/find": [
|
|
"es.typed-array.find"
|
|
],
|
|
"core-js/features/typed-array/find-index": [
|
|
"es.typed-array.find-index"
|
|
],
|
|
"core-js/features/typed-array/find-last": [
|
|
"es.typed-array.find-last",
|
|
"esnext.typed-array.find-last"
|
|
],
|
|
"core-js/features/typed-array/find-last-index": [
|
|
"es.typed-array.find-last-index",
|
|
"esnext.typed-array.find-last-index"
|
|
],
|
|
"core-js/features/typed-array/float32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/float64-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/for-each": [
|
|
"es.typed-array.for-each"
|
|
],
|
|
"core-js/features/typed-array/from": [
|
|
"es.typed-array.from"
|
|
],
|
|
"core-js/features/typed-array/from-async": [
|
|
"esnext.typed-array.from-async"
|
|
],
|
|
"core-js/features/typed-array/group-by": [
|
|
"esnext.typed-array.group-by"
|
|
],
|
|
"core-js/features/typed-array/includes": [
|
|
"es.typed-array.includes"
|
|
],
|
|
"core-js/features/typed-array/index-of": [
|
|
"es.typed-array.index-of"
|
|
],
|
|
"core-js/features/typed-array/int16-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/int32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/int8-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/iterator": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/features/typed-array/join": [
|
|
"es.typed-array.join"
|
|
],
|
|
"core-js/features/typed-array/keys": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/features/typed-array/last-index-of": [
|
|
"es.typed-array.last-index-of"
|
|
],
|
|
"core-js/features/typed-array/map": [
|
|
"es.typed-array.map"
|
|
],
|
|
"core-js/features/typed-array/methods": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/of": [
|
|
"es.typed-array.of"
|
|
],
|
|
"core-js/features/typed-array/reduce": [
|
|
"es.typed-array.reduce"
|
|
],
|
|
"core-js/features/typed-array/reduce-right": [
|
|
"es.typed-array.reduce-right"
|
|
],
|
|
"core-js/features/typed-array/reverse": [
|
|
"es.typed-array.reverse"
|
|
],
|
|
"core-js/features/typed-array/set": [
|
|
"es.typed-array.set"
|
|
],
|
|
"core-js/features/typed-array/slice": [
|
|
"es.typed-array.slice"
|
|
],
|
|
"core-js/features/typed-array/some": [
|
|
"es.typed-array.some"
|
|
],
|
|
"core-js/features/typed-array/sort": [
|
|
"es.typed-array.sort"
|
|
],
|
|
"core-js/features/typed-array/subarray": [
|
|
"es.typed-array.subarray"
|
|
],
|
|
"core-js/features/typed-array/to-locale-string": [
|
|
"es.typed-array.to-locale-string"
|
|
],
|
|
"core-js/features/typed-array/to-reversed": [
|
|
"esnext.typed-array.to-reversed"
|
|
],
|
|
"core-js/features/typed-array/to-sorted": [
|
|
"es.typed-array.sort",
|
|
"es.typed-array.to-sorted",
|
|
"esnext.typed-array.to-sorted"
|
|
],
|
|
"core-js/features/typed-array/to-spliced": [
|
|
"esnext.typed-array.to-spliced"
|
|
],
|
|
"core-js/features/typed-array/to-string": [
|
|
"es.typed-array.to-string"
|
|
],
|
|
"core-js/features/typed-array/uint16-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/uint32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/uint8-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/uint8-clamped-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/typed-array/unique-by": [
|
|
"es.map",
|
|
"esnext.typed-array.unique-by"
|
|
],
|
|
"core-js/features/typed-array/values": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/features/typed-array/with": [
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/features/unescape": [
|
|
"es.unescape"
|
|
],
|
|
"core-js/features/url": [
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/features/url-search-params": [
|
|
"web.dom-collections.iterator",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/features/url/to-json": [
|
|
"web.url.to-json"
|
|
],
|
|
"core-js/features/weak-map": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.weak-map",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/weak-map/delete-all": [
|
|
"es.weak-map",
|
|
"esnext.weak-map.delete-all"
|
|
],
|
|
"core-js/features/weak-map/emplace": [
|
|
"es.weak-map",
|
|
"esnext.weak-map.emplace"
|
|
],
|
|
"core-js/features/weak-map/from": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"es.weak-map",
|
|
"esnext.weak-map.from",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/weak-map/of": [
|
|
"es.array.iterator",
|
|
"es.weak-map",
|
|
"esnext.weak-map.of"
|
|
],
|
|
"core-js/features/weak-map/upsert": [
|
|
"es.weak-map",
|
|
"esnext.weak-map.upsert"
|
|
],
|
|
"core-js/features/weak-set": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.weak-set",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/weak-set/add-all": [
|
|
"es.weak-set",
|
|
"esnext.weak-set.add-all"
|
|
],
|
|
"core-js/features/weak-set/delete-all": [
|
|
"es.weak-set",
|
|
"esnext.weak-set.delete-all"
|
|
],
|
|
"core-js/features/weak-set/from": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"es.weak-set",
|
|
"esnext.weak-set.from",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/features/weak-set/of": [
|
|
"es.array.iterator",
|
|
"es.weak-set",
|
|
"esnext.weak-set.of"
|
|
],
|
|
"core-js/full": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string",
|
|
"es.escape",
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name",
|
|
"es.global-this",
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag",
|
|
"es.map",
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc",
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.parse-float",
|
|
"es.parse-int",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag",
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.set",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"es.unescape",
|
|
"es.weak-map",
|
|
"es.weak-set",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.bigint.range",
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"esnext.observable",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"esnext.string.at",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.atob",
|
|
"web.btoa",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.immediate",
|
|
"web.queue-microtask",
|
|
"web.self",
|
|
"web.structured-clone",
|
|
"web.timers",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/full/aggregate-error": [
|
|
"es.error.cause",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"esnext.aggregate-error",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/array": [
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/full/array-buffer": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/full/array-buffer/constructor": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/full/array-buffer/detached": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.detached"
|
|
],
|
|
"core-js/full/array-buffer/is-view": [
|
|
"es.array-buffer.is-view"
|
|
],
|
|
"core-js/full/array-buffer/slice": [
|
|
"es.array-buffer.slice"
|
|
],
|
|
"core-js/full/array-buffer/transfer": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.transfer"
|
|
],
|
|
"core-js/full/array-buffer/transfer-to-fixed-length": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/full/array/at": [
|
|
"es.array.at",
|
|
"esnext.array.at"
|
|
],
|
|
"core-js/full/array/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/full/array/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/full/array/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/full/array/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/full/array/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/full/array/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/full/array/filter-out": [
|
|
"esnext.array.filter-out"
|
|
],
|
|
"core-js/full/array/filter-reject": [
|
|
"esnext.array.filter-reject"
|
|
],
|
|
"core-js/full/array/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/full/array/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/full/array/find-last": [
|
|
"es.array.find-last",
|
|
"esnext.array.find-last"
|
|
],
|
|
"core-js/full/array/find-last-index": [
|
|
"es.array.find-last-index",
|
|
"esnext.array.find-last-index"
|
|
],
|
|
"core-js/full/array/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/full/array/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/full/array/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/full/array/from": [
|
|
"es.array.from",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/full/array/from-async": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.array.from-async"
|
|
],
|
|
"core-js/full/array/group": [
|
|
"esnext.array.group"
|
|
],
|
|
"core-js/full/array/group-by": [
|
|
"esnext.array.group-by"
|
|
],
|
|
"core-js/full/array/group-by-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/full/array/group-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/full/array/includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/full/array/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/full/array/is-array": [
|
|
"es.array.is-array"
|
|
],
|
|
"core-js/full/array/is-template-object": [
|
|
"esnext.array.is-template-object"
|
|
],
|
|
"core-js/full/array/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/full/array/join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/full/array/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/full/array/last-index": [
|
|
"esnext.array.last-index"
|
|
],
|
|
"core-js/full/array/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/full/array/last-item": [
|
|
"esnext.array.last-item"
|
|
],
|
|
"core-js/full/array/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/full/array/of": [
|
|
"es.array.of"
|
|
],
|
|
"core-js/full/array/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/full/array/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/full/array/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/full/array/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/full/array/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/full/array/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/full/array/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/full/array/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/full/array/to-reversed": [
|
|
"esnext.array.to-reversed"
|
|
],
|
|
"core-js/full/array/to-sorted": [
|
|
"es.array.sort",
|
|
"esnext.array.to-sorted"
|
|
],
|
|
"core-js/full/array/to-spliced": [
|
|
"esnext.array.to-spliced"
|
|
],
|
|
"core-js/full/array/unique-by": [
|
|
"es.map",
|
|
"esnext.array.unique-by"
|
|
],
|
|
"core-js/full/array/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/full/array/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/full/array/virtual": [
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/full/array/virtual/at": [
|
|
"es.array.at",
|
|
"esnext.array.at"
|
|
],
|
|
"core-js/full/array/virtual/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/full/array/virtual/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/full/array/virtual/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/full/array/virtual/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/full/array/virtual/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/full/array/virtual/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/full/array/virtual/filter-out": [
|
|
"esnext.array.filter-out"
|
|
],
|
|
"core-js/full/array/virtual/filter-reject": [
|
|
"esnext.array.filter-reject"
|
|
],
|
|
"core-js/full/array/virtual/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/full/array/virtual/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/full/array/virtual/find-last": [
|
|
"es.array.find-last",
|
|
"esnext.array.find-last"
|
|
],
|
|
"core-js/full/array/virtual/find-last-index": [
|
|
"es.array.find-last-index",
|
|
"esnext.array.find-last-index"
|
|
],
|
|
"core-js/full/array/virtual/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/full/array/virtual/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/full/array/virtual/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/full/array/virtual/group": [
|
|
"esnext.array.group"
|
|
],
|
|
"core-js/full/array/virtual/group-by": [
|
|
"esnext.array.group-by"
|
|
],
|
|
"core-js/full/array/virtual/group-by-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/full/array/virtual/group-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/full/array/virtual/includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/full/array/virtual/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/full/array/virtual/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/full/array/virtual/join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/full/array/virtual/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/full/array/virtual/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/full/array/virtual/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/full/array/virtual/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/full/array/virtual/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/full/array/virtual/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/full/array/virtual/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/full/array/virtual/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/full/array/virtual/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/full/array/virtual/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/full/array/virtual/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/full/array/virtual/to-reversed": [
|
|
"es.array.to-reversed",
|
|
"esnext.array.to-reversed"
|
|
],
|
|
"core-js/full/array/virtual/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted",
|
|
"esnext.array.to-sorted"
|
|
],
|
|
"core-js/full/array/virtual/to-spliced": [
|
|
"es.array.to-spliced",
|
|
"esnext.array.to-spliced"
|
|
],
|
|
"core-js/full/array/virtual/unique-by": [
|
|
"es.map",
|
|
"esnext.array.unique-by"
|
|
],
|
|
"core-js/full/array/virtual/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/full/array/virtual/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/full/array/virtual/with": [
|
|
"es.array.with",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/full/array/with": [
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/full/async-disposable-stack": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/full/async-disposable-stack/constructor": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/full/async-iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/async-iterator/as-indexed-pairs": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs"
|
|
],
|
|
"core-js/full/async-iterator/async-dispose": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.async-dispose"
|
|
],
|
|
"core-js/full/async-iterator/drop": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop"
|
|
],
|
|
"core-js/full/async-iterator/every": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.every"
|
|
],
|
|
"core-js/full/async-iterator/filter": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.filter"
|
|
],
|
|
"core-js/full/async-iterator/find": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.find"
|
|
],
|
|
"core-js/full/async-iterator/flat-map": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.flat-map"
|
|
],
|
|
"core-js/full/async-iterator/for-each": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.for-each"
|
|
],
|
|
"core-js/full/async-iterator/from": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/async-iterator/indexed": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.indexed"
|
|
],
|
|
"core-js/full/async-iterator/map": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.map"
|
|
],
|
|
"core-js/full/async-iterator/reduce": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.reduce"
|
|
],
|
|
"core-js/full/async-iterator/some": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.some"
|
|
],
|
|
"core-js/full/async-iterator/take": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.take"
|
|
],
|
|
"core-js/full/async-iterator/to-array": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.to-array"
|
|
],
|
|
"core-js/full/atob": [
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"web.atob",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/full/bigint": [
|
|
"es.object.to-string",
|
|
"esnext.bigint.range"
|
|
],
|
|
"core-js/full/bigint/range": [
|
|
"es.object.to-string",
|
|
"esnext.bigint.range"
|
|
],
|
|
"core-js/full/btoa": [
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"web.btoa",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/full/clear-immediate": [
|
|
"web.immediate"
|
|
],
|
|
"core-js/full/composite-key": [
|
|
"esnext.composite-key"
|
|
],
|
|
"core-js/full/composite-symbol": [
|
|
"es.symbol",
|
|
"esnext.composite-symbol"
|
|
],
|
|
"core-js/full/data-view": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/full/date": [
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/full/date/get-year": [
|
|
"es.date.get-year"
|
|
],
|
|
"core-js/full/date/now": [
|
|
"es.date.now"
|
|
],
|
|
"core-js/full/date/set-year": [
|
|
"es.date.set-year"
|
|
],
|
|
"core-js/full/date/to-gmt-string": [
|
|
"es.date.to-gmt-string"
|
|
],
|
|
"core-js/full/date/to-iso-string": [
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/full/date/to-json": [
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/full/date/to-primitive": [
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/full/date/to-string": [
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/full/disposable-stack": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/full/disposable-stack/constructor": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/full/dom-collections": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/dom-collections/for-each": [
|
|
"web.dom-collections.for-each"
|
|
],
|
|
"core-js/full/dom-collections/iterator": [
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/dom-exception": [
|
|
"es.error.to-string",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/full/dom-exception/constructor": [
|
|
"es.error.to-string",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack"
|
|
],
|
|
"core-js/full/dom-exception/to-string-tag": [
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/full/error": [
|
|
"es.error.cause",
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/full/error/constructor": [
|
|
"es.error.cause"
|
|
],
|
|
"core-js/full/error/to-string": [
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/full/escape": [
|
|
"es.escape"
|
|
],
|
|
"core-js/full/function": [
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/full/function/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/full/function/demethodize": [
|
|
"esnext.function.demethodize"
|
|
],
|
|
"core-js/full/function/has-instance": [
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/full/function/is-callable": [
|
|
"esnext.function.is-callable"
|
|
],
|
|
"core-js/full/function/is-constructor": [
|
|
"esnext.function.is-constructor"
|
|
],
|
|
"core-js/full/function/name": [
|
|
"es.function.name"
|
|
],
|
|
"core-js/full/function/un-this": [
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/full/function/virtual": [
|
|
"es.function.bind",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/full/function/virtual/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/full/function/virtual/demethodize": [
|
|
"esnext.function.demethodize"
|
|
],
|
|
"core-js/full/function/virtual/un-this": [
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/full/get-iterator": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/get-iterator-method": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/global-this": [
|
|
"es.global-this",
|
|
"esnext.global-this"
|
|
],
|
|
"core-js/full/instance/at": [
|
|
"es.array.at",
|
|
"es.string.at-alternative",
|
|
"esnext.array.at",
|
|
"esnext.string.at"
|
|
],
|
|
"core-js/full/instance/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/full/instance/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/full/instance/code-points": [
|
|
"es.object.to-string",
|
|
"esnext.string.code-points"
|
|
],
|
|
"core-js/full/instance/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/full/instance/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/full/instance/demethodize": [
|
|
"esnext.function.demethodize"
|
|
],
|
|
"core-js/full/instance/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/full/instance/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/instance/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/full/instance/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/full/instance/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/full/instance/filter-out": [
|
|
"esnext.array.filter-out"
|
|
],
|
|
"core-js/full/instance/filter-reject": [
|
|
"esnext.array.filter-reject"
|
|
],
|
|
"core-js/full/instance/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/full/instance/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/full/instance/find-last": [
|
|
"es.array.find-last",
|
|
"esnext.array.find-last"
|
|
],
|
|
"core-js/full/instance/find-last-index": [
|
|
"es.array.find-last-index",
|
|
"esnext.array.find-last-index"
|
|
],
|
|
"core-js/full/instance/flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/full/instance/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/full/instance/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/full/instance/for-each": [
|
|
"es.array.for-each",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/instance/group": [
|
|
"esnext.array.group"
|
|
],
|
|
"core-js/full/instance/group-by": [
|
|
"esnext.array.group-by"
|
|
],
|
|
"core-js/full/instance/group-by-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/full/instance/group-to-map": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/full/instance/includes": [
|
|
"es.array.includes",
|
|
"es.string.includes"
|
|
],
|
|
"core-js/full/instance/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/full/instance/is-well-formed": [
|
|
"esnext.string.is-well-formed"
|
|
],
|
|
"core-js/full/instance/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/instance/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/full/instance/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/full/instance/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all",
|
|
"esnext.string.match-all"
|
|
],
|
|
"core-js/full/instance/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/full/instance/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/full/instance/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/full/instance/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/full/instance/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/full/instance/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/full/instance/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/full/instance/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/full/instance/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/full/instance/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/full/instance/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/full/instance/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/full/instance/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/full/instance/to-reversed": [
|
|
"es.array.to-reversed",
|
|
"esnext.array.to-reversed"
|
|
],
|
|
"core-js/full/instance/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted",
|
|
"esnext.array.to-sorted"
|
|
],
|
|
"core-js/full/instance/to-spliced": [
|
|
"es.array.to-spliced",
|
|
"esnext.array.to-spliced"
|
|
],
|
|
"core-js/full/instance/to-well-formed": [
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/full/instance/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/full/instance/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/full/instance/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/full/instance/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/full/instance/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/full/instance/un-this": [
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/full/instance/unique-by": [
|
|
"es.map",
|
|
"esnext.array.unique-by"
|
|
],
|
|
"core-js/full/instance/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/full/instance/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/instance/with": [
|
|
"es.array.with",
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/full/is-iterable": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/iterator/as-indexed-pairs": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs"
|
|
],
|
|
"core-js/full/iterator/dispose": [
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/full/iterator/drop": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.drop"
|
|
],
|
|
"core-js/full/iterator/every": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.every"
|
|
],
|
|
"core-js/full/iterator/filter": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.filter"
|
|
],
|
|
"core-js/full/iterator/find": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.find"
|
|
],
|
|
"core-js/full/iterator/flat-map": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.flat-map"
|
|
],
|
|
"core-js/full/iterator/for-each": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.for-each"
|
|
],
|
|
"core-js/full/iterator/from": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/iterator/indexed": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.indexed"
|
|
],
|
|
"core-js/full/iterator/map": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.map"
|
|
],
|
|
"core-js/full/iterator/range": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.range"
|
|
],
|
|
"core-js/full/iterator/reduce": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.reduce"
|
|
],
|
|
"core-js/full/iterator/some": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.some"
|
|
],
|
|
"core-js/full/iterator/take": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.take"
|
|
],
|
|
"core-js/full/iterator/to-array": [
|
|
"es.object.to-string",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.to-array"
|
|
],
|
|
"core-js/full/iterator/to-async": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.to-async"
|
|
],
|
|
"core-js/full/json": [
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag",
|
|
"es.object.create",
|
|
"es.object.freeze",
|
|
"es.object.keys",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json"
|
|
],
|
|
"core-js/full/json/is-raw-json": [
|
|
"esnext.json.is-raw-json"
|
|
],
|
|
"core-js/full/json/parse": [
|
|
"es.object.keys",
|
|
"esnext.json.parse"
|
|
],
|
|
"core-js/full/json/raw-json": [
|
|
"es.object.create",
|
|
"es.object.freeze",
|
|
"esnext.json.raw-json"
|
|
],
|
|
"core-js/full/json/stringify": [
|
|
"es.json.stringify"
|
|
],
|
|
"core-js/full/json/to-string-tag": [
|
|
"es.json.to-string-tag"
|
|
],
|
|
"core-js/full/map": [
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/map/delete-all": [
|
|
"es.map",
|
|
"esnext.map.delete-all"
|
|
],
|
|
"core-js/full/map/emplace": [
|
|
"es.map",
|
|
"esnext.map.emplace"
|
|
],
|
|
"core-js/full/map/every": [
|
|
"es.map",
|
|
"esnext.map.every"
|
|
],
|
|
"core-js/full/map/filter": [
|
|
"es.map",
|
|
"esnext.map.filter"
|
|
],
|
|
"core-js/full/map/find": [
|
|
"es.map",
|
|
"esnext.map.find"
|
|
],
|
|
"core-js/full/map/find-key": [
|
|
"es.map",
|
|
"esnext.map.find-key"
|
|
],
|
|
"core-js/full/map/from": [
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.string.iterator",
|
|
"esnext.map.from",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/map/group-by": [
|
|
"es.map",
|
|
"esnext.map.group-by"
|
|
],
|
|
"core-js/full/map/includes": [
|
|
"es.map",
|
|
"esnext.map.includes"
|
|
],
|
|
"core-js/full/map/key-by": [
|
|
"es.map",
|
|
"esnext.map.key-by"
|
|
],
|
|
"core-js/full/map/key-of": [
|
|
"es.map",
|
|
"esnext.map.key-of"
|
|
],
|
|
"core-js/full/map/map-keys": [
|
|
"es.map",
|
|
"esnext.map.map-keys"
|
|
],
|
|
"core-js/full/map/map-values": [
|
|
"es.map",
|
|
"esnext.map.map-values"
|
|
],
|
|
"core-js/full/map/merge": [
|
|
"es.map",
|
|
"esnext.map.merge"
|
|
],
|
|
"core-js/full/map/of": [
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"esnext.map.of"
|
|
],
|
|
"core-js/full/map/reduce": [
|
|
"es.map",
|
|
"esnext.map.reduce"
|
|
],
|
|
"core-js/full/map/some": [
|
|
"es.map",
|
|
"esnext.map.some"
|
|
],
|
|
"core-js/full/map/update": [
|
|
"es.map",
|
|
"esnext.map.update"
|
|
],
|
|
"core-js/full/map/update-or-insert": [
|
|
"es.map",
|
|
"esnext.map.update-or-insert"
|
|
],
|
|
"core-js/full/map/upsert": [
|
|
"es.map",
|
|
"esnext.map.upsert"
|
|
],
|
|
"core-js/full/math": [
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh"
|
|
],
|
|
"core-js/full/math/acosh": [
|
|
"es.math.acosh"
|
|
],
|
|
"core-js/full/math/asinh": [
|
|
"es.math.asinh"
|
|
],
|
|
"core-js/full/math/atanh": [
|
|
"es.math.atanh"
|
|
],
|
|
"core-js/full/math/cbrt": [
|
|
"es.math.cbrt"
|
|
],
|
|
"core-js/full/math/clamp": [
|
|
"esnext.math.clamp"
|
|
],
|
|
"core-js/full/math/clz32": [
|
|
"es.math.clz32"
|
|
],
|
|
"core-js/full/math/cosh": [
|
|
"es.math.cosh"
|
|
],
|
|
"core-js/full/math/deg-per-rad": [
|
|
"esnext.math.deg-per-rad"
|
|
],
|
|
"core-js/full/math/degrees": [
|
|
"esnext.math.degrees"
|
|
],
|
|
"core-js/full/math/expm1": [
|
|
"es.math.expm1"
|
|
],
|
|
"core-js/full/math/fround": [
|
|
"es.math.fround"
|
|
],
|
|
"core-js/full/math/fscale": [
|
|
"esnext.math.fscale"
|
|
],
|
|
"core-js/full/math/hypot": [
|
|
"es.math.hypot"
|
|
],
|
|
"core-js/full/math/iaddh": [
|
|
"esnext.math.iaddh"
|
|
],
|
|
"core-js/full/math/imul": [
|
|
"es.math.imul"
|
|
],
|
|
"core-js/full/math/imulh": [
|
|
"esnext.math.imulh"
|
|
],
|
|
"core-js/full/math/isubh": [
|
|
"esnext.math.isubh"
|
|
],
|
|
"core-js/full/math/log10": [
|
|
"es.math.log10"
|
|
],
|
|
"core-js/full/math/log1p": [
|
|
"es.math.log1p"
|
|
],
|
|
"core-js/full/math/log2": [
|
|
"es.math.log2"
|
|
],
|
|
"core-js/full/math/rad-per-deg": [
|
|
"esnext.math.rad-per-deg"
|
|
],
|
|
"core-js/full/math/radians": [
|
|
"esnext.math.radians"
|
|
],
|
|
"core-js/full/math/scale": [
|
|
"esnext.math.scale"
|
|
],
|
|
"core-js/full/math/seeded-prng": [
|
|
"esnext.math.seeded-prng"
|
|
],
|
|
"core-js/full/math/sign": [
|
|
"es.math.sign"
|
|
],
|
|
"core-js/full/math/signbit": [
|
|
"esnext.math.signbit"
|
|
],
|
|
"core-js/full/math/sinh": [
|
|
"es.math.sinh"
|
|
],
|
|
"core-js/full/math/tanh": [
|
|
"es.math.tanh"
|
|
],
|
|
"core-js/full/math/to-string-tag": [
|
|
"es.math.to-string-tag"
|
|
],
|
|
"core-js/full/math/trunc": [
|
|
"es.math.trunc"
|
|
],
|
|
"core-js/full/math/umulh": [
|
|
"esnext.math.umulh"
|
|
],
|
|
"core-js/full/number": [
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision",
|
|
"es.object.to-string",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range"
|
|
],
|
|
"core-js/full/number/constructor": [
|
|
"es.number.constructor"
|
|
],
|
|
"core-js/full/number/epsilon": [
|
|
"es.number.epsilon"
|
|
],
|
|
"core-js/full/number/from-string": [
|
|
"esnext.number.from-string"
|
|
],
|
|
"core-js/full/number/is-finite": [
|
|
"es.number.is-finite"
|
|
],
|
|
"core-js/full/number/is-integer": [
|
|
"es.number.is-integer"
|
|
],
|
|
"core-js/full/number/is-nan": [
|
|
"es.number.is-nan"
|
|
],
|
|
"core-js/full/number/is-safe-integer": [
|
|
"es.number.is-safe-integer"
|
|
],
|
|
"core-js/full/number/max-safe-integer": [
|
|
"es.number.max-safe-integer"
|
|
],
|
|
"core-js/full/number/min-safe-integer": [
|
|
"es.number.min-safe-integer"
|
|
],
|
|
"core-js/full/number/parse-float": [
|
|
"es.number.parse-float"
|
|
],
|
|
"core-js/full/number/parse-int": [
|
|
"es.number.parse-int"
|
|
],
|
|
"core-js/full/number/range": [
|
|
"es.object.to-string",
|
|
"esnext.number.range"
|
|
],
|
|
"core-js/full/number/to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/full/number/to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/full/number/to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/full/number/virtual": [
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/full/number/virtual/to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/full/number/virtual/to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/full/number/virtual/to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/full/object": [
|
|
"es.symbol",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.reflect.to-string-tag",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/object/assign": [
|
|
"es.object.assign"
|
|
],
|
|
"core-js/full/object/create": [
|
|
"es.object.create"
|
|
],
|
|
"core-js/full/object/define-getter": [
|
|
"es.object.define-getter"
|
|
],
|
|
"core-js/full/object/define-properties": [
|
|
"es.object.define-properties"
|
|
],
|
|
"core-js/full/object/define-property": [
|
|
"es.object.define-property"
|
|
],
|
|
"core-js/full/object/define-setter": [
|
|
"es.object.define-setter"
|
|
],
|
|
"core-js/full/object/entries": [
|
|
"es.object.entries"
|
|
],
|
|
"core-js/full/object/freeze": [
|
|
"es.object.freeze"
|
|
],
|
|
"core-js/full/object/from-entries": [
|
|
"es.array.iterator",
|
|
"es.object.from-entries",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/object/get-own-property-descriptor": [
|
|
"es.object.get-own-property-descriptor"
|
|
],
|
|
"core-js/full/object/get-own-property-descriptors": [
|
|
"es.object.get-own-property-descriptors"
|
|
],
|
|
"core-js/full/object/get-own-property-names": [
|
|
"es.object.get-own-property-names"
|
|
],
|
|
"core-js/full/object/get-own-property-symbols": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/full/object/get-prototype-of": [
|
|
"es.object.get-prototype-of"
|
|
],
|
|
"core-js/full/object/has-own": [
|
|
"es.object.has-own",
|
|
"esnext.object.has-own"
|
|
],
|
|
"core-js/full/object/is": [
|
|
"es.object.is"
|
|
],
|
|
"core-js/full/object/is-extensible": [
|
|
"es.object.is-extensible"
|
|
],
|
|
"core-js/full/object/is-frozen": [
|
|
"es.object.is-frozen"
|
|
],
|
|
"core-js/full/object/is-sealed": [
|
|
"es.object.is-sealed"
|
|
],
|
|
"core-js/full/object/iterate-entries": [
|
|
"esnext.object.iterate-entries"
|
|
],
|
|
"core-js/full/object/iterate-keys": [
|
|
"esnext.object.iterate-keys"
|
|
],
|
|
"core-js/full/object/iterate-values": [
|
|
"esnext.object.iterate-values"
|
|
],
|
|
"core-js/full/object/keys": [
|
|
"es.object.keys"
|
|
],
|
|
"core-js/full/object/lookup-getter": [
|
|
"es.object.lookup-getter"
|
|
],
|
|
"core-js/full/object/lookup-setter": [
|
|
"es.object.lookup-setter"
|
|
],
|
|
"core-js/full/object/prevent-extensions": [
|
|
"es.object.prevent-extensions"
|
|
],
|
|
"core-js/full/object/proto": [
|
|
"es.object.proto"
|
|
],
|
|
"core-js/full/object/seal": [
|
|
"es.object.seal"
|
|
],
|
|
"core-js/full/object/set-prototype-of": [
|
|
"es.object.set-prototype-of"
|
|
],
|
|
"core-js/full/object/to-string": [
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/full/object/values": [
|
|
"es.object.values"
|
|
],
|
|
"core-js/full/observable": [
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"esnext.observable",
|
|
"esnext.symbol.observable",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/parse-float": [
|
|
"es.parse-float"
|
|
],
|
|
"core-js/full/parse-int": [
|
|
"es.parse-int"
|
|
],
|
|
"core-js/full/promise": [
|
|
"es.aggregate-error",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.string.iterator",
|
|
"esnext.aggregate-error",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/promise/all-settled": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.string.iterator",
|
|
"esnext.promise.all-settled",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/promise/any": [
|
|
"es.aggregate-error",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.any",
|
|
"es.string.iterator",
|
|
"esnext.aggregate-error",
|
|
"esnext.promise.any",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/promise/finally": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.finally"
|
|
],
|
|
"core-js/full/promise/try": [
|
|
"es.promise",
|
|
"esnext.promise.try"
|
|
],
|
|
"core-js/full/queue-microtask": [
|
|
"web.queue-microtask"
|
|
],
|
|
"core-js/full/reflect": [
|
|
"es.object.to-string",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag",
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata"
|
|
],
|
|
"core-js/full/reflect/apply": [
|
|
"es.reflect.apply"
|
|
],
|
|
"core-js/full/reflect/construct": [
|
|
"es.reflect.construct"
|
|
],
|
|
"core-js/full/reflect/define-metadata": [
|
|
"esnext.reflect.define-metadata"
|
|
],
|
|
"core-js/full/reflect/define-property": [
|
|
"es.reflect.define-property"
|
|
],
|
|
"core-js/full/reflect/delete-metadata": [
|
|
"esnext.reflect.delete-metadata"
|
|
],
|
|
"core-js/full/reflect/delete-property": [
|
|
"es.reflect.delete-property"
|
|
],
|
|
"core-js/full/reflect/get": [
|
|
"es.reflect.get"
|
|
],
|
|
"core-js/full/reflect/get-metadata": [
|
|
"esnext.reflect.get-metadata"
|
|
],
|
|
"core-js/full/reflect/get-metadata-keys": [
|
|
"esnext.reflect.get-metadata-keys"
|
|
],
|
|
"core-js/full/reflect/get-own-metadata": [
|
|
"esnext.reflect.get-own-metadata"
|
|
],
|
|
"core-js/full/reflect/get-own-metadata-keys": [
|
|
"esnext.reflect.get-own-metadata-keys"
|
|
],
|
|
"core-js/full/reflect/get-own-property-descriptor": [
|
|
"es.reflect.get-own-property-descriptor"
|
|
],
|
|
"core-js/full/reflect/get-prototype-of": [
|
|
"es.reflect.get-prototype-of"
|
|
],
|
|
"core-js/full/reflect/has": [
|
|
"es.reflect.has"
|
|
],
|
|
"core-js/full/reflect/has-metadata": [
|
|
"esnext.reflect.has-metadata"
|
|
],
|
|
"core-js/full/reflect/has-own-metadata": [
|
|
"esnext.reflect.has-own-metadata"
|
|
],
|
|
"core-js/full/reflect/is-extensible": [
|
|
"es.reflect.is-extensible"
|
|
],
|
|
"core-js/full/reflect/metadata": [
|
|
"esnext.reflect.metadata"
|
|
],
|
|
"core-js/full/reflect/own-keys": [
|
|
"es.reflect.own-keys"
|
|
],
|
|
"core-js/full/reflect/prevent-extensions": [
|
|
"es.reflect.prevent-extensions"
|
|
],
|
|
"core-js/full/reflect/set": [
|
|
"es.reflect.set"
|
|
],
|
|
"core-js/full/reflect/set-prototype-of": [
|
|
"es.reflect.set-prototype-of"
|
|
],
|
|
"core-js/full/reflect/to-string-tag": [
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/full/regexp": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.string.match",
|
|
"es.string.replace",
|
|
"es.string.search",
|
|
"es.string.split"
|
|
],
|
|
"core-js/full/regexp/constructor": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/full/regexp/dot-all": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec"
|
|
],
|
|
"core-js/full/regexp/flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/full/regexp/match": [
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/full/regexp/replace": [
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/full/regexp/search": [
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/full/regexp/split": [
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/full/regexp/sticky": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.exec",
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/full/regexp/test": [
|
|
"es.regexp.exec",
|
|
"es.regexp.test"
|
|
],
|
|
"core-js/full/regexp/to-string": [
|
|
"es.regexp.to-string"
|
|
],
|
|
"core-js/full/self": [
|
|
"web.self"
|
|
],
|
|
"core-js/full/set": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/set-immediate": [
|
|
"web.immediate"
|
|
],
|
|
"core-js/full/set-interval": [
|
|
"web.timers"
|
|
],
|
|
"core-js/full/set-timeout": [
|
|
"web.timers"
|
|
],
|
|
"core-js/full/set/add-all": [
|
|
"es.set",
|
|
"esnext.set.add-all"
|
|
],
|
|
"core-js/full/set/delete-all": [
|
|
"es.set",
|
|
"esnext.set.delete-all"
|
|
],
|
|
"core-js/full/set/difference": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/set/every": [
|
|
"es.set",
|
|
"esnext.set.every"
|
|
],
|
|
"core-js/full/set/filter": [
|
|
"es.set",
|
|
"esnext.set.filter"
|
|
],
|
|
"core-js/full/set/find": [
|
|
"es.set",
|
|
"esnext.set.find"
|
|
],
|
|
"core-js/full/set/from": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.from",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/set/intersection": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/set/is-disjoint-from": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/set/is-subset-of": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/set/is-superset-of": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/set/join": [
|
|
"es.set",
|
|
"esnext.set.join"
|
|
],
|
|
"core-js/full/set/map": [
|
|
"es.set",
|
|
"esnext.set.map"
|
|
],
|
|
"core-js/full/set/of": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"esnext.set.of"
|
|
],
|
|
"core-js/full/set/reduce": [
|
|
"es.set",
|
|
"esnext.set.reduce"
|
|
],
|
|
"core-js/full/set/some": [
|
|
"es.set",
|
|
"esnext.set.some"
|
|
],
|
|
"core-js/full/set/symmetric-difference": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/set/union": [
|
|
"es.array.iterator",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/string": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"es.weak-map",
|
|
"esnext.string.at",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/full/string/anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/full/string/at": [
|
|
"es.string.at-alternative",
|
|
"esnext.string.at"
|
|
],
|
|
"core-js/full/string/big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/full/string/blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/full/string/bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/full/string/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/full/string/code-points": [
|
|
"es.object.to-string",
|
|
"esnext.string.code-points"
|
|
],
|
|
"core-js/full/string/cooked": [
|
|
"esnext.string.cooked"
|
|
],
|
|
"core-js/full/string/dedent": [
|
|
"es.string.from-code-point",
|
|
"es.weak-map",
|
|
"esnext.string.dedent"
|
|
],
|
|
"core-js/full/string/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/full/string/fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/full/string/fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/full/string/fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/full/string/from-code-point": [
|
|
"es.string.from-code-point"
|
|
],
|
|
"core-js/full/string/includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/full/string/is-well-formed": [
|
|
"esnext.string.is-well-formed"
|
|
],
|
|
"core-js/full/string/italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/full/string/iterator": [
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/full/string/link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/full/string/match": [
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/full/string/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all",
|
|
"esnext.string.match-all"
|
|
],
|
|
"core-js/full/string/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/full/string/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/full/string/raw": [
|
|
"es.string.raw"
|
|
],
|
|
"core-js/full/string/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/full/string/replace": [
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/full/string/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"esnext.string.replace-all"
|
|
],
|
|
"core-js/full/string/search": [
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/full/string/small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/full/string/split": [
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/full/string/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/full/string/strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/full/string/sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/full/string/substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/full/string/sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/full/string/to-well-formed": [
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/full/string/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/full/string/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/full/string/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/full/string/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/full/string/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/full/string/virtual": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"esnext.string.at",
|
|
"esnext.string.code-points",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/full/string/virtual/anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/full/string/virtual/at": [
|
|
"es.string.at-alternative",
|
|
"esnext.string.at"
|
|
],
|
|
"core-js/full/string/virtual/big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/full/string/virtual/blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/full/string/virtual/bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/full/string/virtual/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/full/string/virtual/code-points": [
|
|
"es.object.to-string",
|
|
"esnext.string.code-points"
|
|
],
|
|
"core-js/full/string/virtual/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/full/string/virtual/fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/full/string/virtual/fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/full/string/virtual/fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/full/string/virtual/includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/full/string/virtual/is-well-formed": [
|
|
"esnext.string.is-well-formed"
|
|
],
|
|
"core-js/full/string/virtual/italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/full/string/virtual/iterator": [
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/full/string/virtual/link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/full/string/virtual/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all",
|
|
"esnext.string.match-all"
|
|
],
|
|
"core-js/full/string/virtual/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/full/string/virtual/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/full/string/virtual/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/full/string/virtual/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"esnext.string.replace-all"
|
|
],
|
|
"core-js/full/string/virtual/small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/full/string/virtual/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/full/string/virtual/strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/full/string/virtual/sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/full/string/virtual/substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/full/string/virtual/sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/full/string/virtual/to-well-formed": [
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/full/string/virtual/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/full/string/virtual/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/full/string/virtual/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/full/string/virtual/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/full/string/virtual/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/full/structured-clone": [
|
|
"es.error.to-string",
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.object.keys",
|
|
"es.object.to-string",
|
|
"es.set",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.structured-clone"
|
|
],
|
|
"core-js/full/suppressed-error": [
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"esnext.suppressed-error.constructor"
|
|
],
|
|
"core-js/full/symbol": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.array.concat",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/symbol/async-dispose": [
|
|
"esnext.symbol.async-dispose"
|
|
],
|
|
"core-js/full/symbol/async-iterator": [
|
|
"es.symbol.async-iterator"
|
|
],
|
|
"core-js/full/symbol/description": [
|
|
"es.symbol.description"
|
|
],
|
|
"core-js/full/symbol/dispose": [
|
|
"esnext.symbol.dispose"
|
|
],
|
|
"core-js/full/symbol/for": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/full/symbol/has-instance": [
|
|
"es.symbol.has-instance",
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/full/symbol/is-concat-spreadable": [
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.array.concat"
|
|
],
|
|
"core-js/full/symbol/is-registered": [
|
|
"es.symbol",
|
|
"esnext.symbol.is-registered"
|
|
],
|
|
"core-js/full/symbol/is-well-known": [
|
|
"es.symbol",
|
|
"esnext.symbol.is-well-known"
|
|
],
|
|
"core-js/full/symbol/iterator": [
|
|
"es.symbol.iterator",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/symbol/key-for": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/full/symbol/match": [
|
|
"es.symbol.match",
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/full/symbol/match-all": [
|
|
"es.symbol.match-all",
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/full/symbol/matcher": [
|
|
"esnext.symbol.matcher"
|
|
],
|
|
"core-js/full/symbol/metadata": [
|
|
"esnext.symbol.metadata"
|
|
],
|
|
"core-js/full/symbol/metadata-key": [
|
|
"esnext.symbol.metadata-key"
|
|
],
|
|
"core-js/full/symbol/observable": [
|
|
"esnext.symbol.observable"
|
|
],
|
|
"core-js/full/symbol/pattern-match": [
|
|
"esnext.symbol.pattern-match"
|
|
],
|
|
"core-js/full/symbol/replace": [
|
|
"es.symbol.replace",
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/full/symbol/replace-all": [
|
|
"esnext.symbol.replace-all"
|
|
],
|
|
"core-js/full/symbol/search": [
|
|
"es.symbol.search",
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/full/symbol/species": [
|
|
"es.symbol.species"
|
|
],
|
|
"core-js/full/symbol/split": [
|
|
"es.symbol.split",
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/full/symbol/to-primitive": [
|
|
"es.symbol.to-primitive",
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/full/symbol/to-string-tag": [
|
|
"es.symbol.to-string-tag",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/full/symbol/unscopables": [
|
|
"es.symbol.unscopables"
|
|
],
|
|
"core-js/full/typed-array": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/at": [
|
|
"es.typed-array.at",
|
|
"esnext.typed-array.at"
|
|
],
|
|
"core-js/full/typed-array/copy-within": [
|
|
"es.typed-array.copy-within"
|
|
],
|
|
"core-js/full/typed-array/entries": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/full/typed-array/every": [
|
|
"es.typed-array.every"
|
|
],
|
|
"core-js/full/typed-array/fill": [
|
|
"es.typed-array.fill"
|
|
],
|
|
"core-js/full/typed-array/filter": [
|
|
"es.typed-array.filter"
|
|
],
|
|
"core-js/full/typed-array/filter-out": [
|
|
"esnext.typed-array.filter-out"
|
|
],
|
|
"core-js/full/typed-array/filter-reject": [
|
|
"esnext.typed-array.filter-reject"
|
|
],
|
|
"core-js/full/typed-array/find": [
|
|
"es.typed-array.find"
|
|
],
|
|
"core-js/full/typed-array/find-index": [
|
|
"es.typed-array.find-index"
|
|
],
|
|
"core-js/full/typed-array/find-last": [
|
|
"es.typed-array.find-last",
|
|
"esnext.typed-array.find-last"
|
|
],
|
|
"core-js/full/typed-array/find-last-index": [
|
|
"es.typed-array.find-last-index",
|
|
"esnext.typed-array.find-last-index"
|
|
],
|
|
"core-js/full/typed-array/float32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/float64-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/for-each": [
|
|
"es.typed-array.for-each"
|
|
],
|
|
"core-js/full/typed-array/from": [
|
|
"es.typed-array.from"
|
|
],
|
|
"core-js/full/typed-array/from-async": [
|
|
"esnext.typed-array.from-async"
|
|
],
|
|
"core-js/full/typed-array/group-by": [
|
|
"esnext.typed-array.group-by"
|
|
],
|
|
"core-js/full/typed-array/includes": [
|
|
"es.typed-array.includes"
|
|
],
|
|
"core-js/full/typed-array/index-of": [
|
|
"es.typed-array.index-of"
|
|
],
|
|
"core-js/full/typed-array/int16-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/int32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/int8-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/iterator": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/full/typed-array/join": [
|
|
"es.typed-array.join"
|
|
],
|
|
"core-js/full/typed-array/keys": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/full/typed-array/last-index-of": [
|
|
"es.typed-array.last-index-of"
|
|
],
|
|
"core-js/full/typed-array/map": [
|
|
"es.typed-array.map"
|
|
],
|
|
"core-js/full/typed-array/methods": [
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/of": [
|
|
"es.typed-array.of"
|
|
],
|
|
"core-js/full/typed-array/reduce": [
|
|
"es.typed-array.reduce"
|
|
],
|
|
"core-js/full/typed-array/reduce-right": [
|
|
"es.typed-array.reduce-right"
|
|
],
|
|
"core-js/full/typed-array/reverse": [
|
|
"es.typed-array.reverse"
|
|
],
|
|
"core-js/full/typed-array/set": [
|
|
"es.typed-array.set"
|
|
],
|
|
"core-js/full/typed-array/slice": [
|
|
"es.typed-array.slice"
|
|
],
|
|
"core-js/full/typed-array/some": [
|
|
"es.typed-array.some"
|
|
],
|
|
"core-js/full/typed-array/sort": [
|
|
"es.typed-array.sort"
|
|
],
|
|
"core-js/full/typed-array/subarray": [
|
|
"es.typed-array.subarray"
|
|
],
|
|
"core-js/full/typed-array/to-locale-string": [
|
|
"es.typed-array.to-locale-string"
|
|
],
|
|
"core-js/full/typed-array/to-reversed": [
|
|
"esnext.typed-array.to-reversed"
|
|
],
|
|
"core-js/full/typed-array/to-sorted": [
|
|
"es.typed-array.sort",
|
|
"es.typed-array.to-sorted",
|
|
"esnext.typed-array.to-sorted"
|
|
],
|
|
"core-js/full/typed-array/to-spliced": [
|
|
"esnext.typed-array.to-spliced"
|
|
],
|
|
"core-js/full/typed-array/to-string": [
|
|
"es.typed-array.to-string"
|
|
],
|
|
"core-js/full/typed-array/uint16-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/uint32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/uint8-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/uint8-clamped-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/typed-array/unique-by": [
|
|
"es.map",
|
|
"esnext.typed-array.unique-by"
|
|
],
|
|
"core-js/full/typed-array/values": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/full/typed-array/with": [
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/full/unescape": [
|
|
"es.unescape"
|
|
],
|
|
"core-js/full/url": [
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/full/url-search-params": [
|
|
"web.dom-collections.iterator",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/full/url/to-json": [
|
|
"web.url.to-json"
|
|
],
|
|
"core-js/full/weak-map": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.weak-map",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/weak-map/delete-all": [
|
|
"es.weak-map",
|
|
"esnext.weak-map.delete-all"
|
|
],
|
|
"core-js/full/weak-map/emplace": [
|
|
"es.weak-map",
|
|
"esnext.weak-map.emplace"
|
|
],
|
|
"core-js/full/weak-map/from": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"es.weak-map",
|
|
"esnext.weak-map.from",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/weak-map/of": [
|
|
"es.array.iterator",
|
|
"es.weak-map",
|
|
"esnext.weak-map.of"
|
|
],
|
|
"core-js/full/weak-map/upsert": [
|
|
"es.weak-map",
|
|
"esnext.weak-map.upsert"
|
|
],
|
|
"core-js/full/weak-set": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.weak-set",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/weak-set/add-all": [
|
|
"es.weak-set",
|
|
"esnext.weak-set.add-all"
|
|
],
|
|
"core-js/full/weak-set/delete-all": [
|
|
"es.weak-set",
|
|
"esnext.weak-set.delete-all"
|
|
],
|
|
"core-js/full/weak-set/from": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"es.weak-set",
|
|
"esnext.weak-set.from",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/full/weak-set/of": [
|
|
"es.array.iterator",
|
|
"es.weak-set",
|
|
"esnext.weak-set.of"
|
|
],
|
|
"core-js/modules/es.aggregate-error": [
|
|
"es.aggregate-error"
|
|
],
|
|
"core-js/modules/es.aggregate-error.cause": [
|
|
"es.aggregate-error.cause"
|
|
],
|
|
"core-js/modules/es.aggregate-error.constructor": [
|
|
"es.aggregate-error.constructor"
|
|
],
|
|
"core-js/modules/es.array-buffer.constructor": [
|
|
"es.array-buffer.constructor"
|
|
],
|
|
"core-js/modules/es.array-buffer.is-view": [
|
|
"es.array-buffer.is-view"
|
|
],
|
|
"core-js/modules/es.array-buffer.slice": [
|
|
"es.array-buffer.slice"
|
|
],
|
|
"core-js/modules/es.array.at": [
|
|
"es.array.at"
|
|
],
|
|
"core-js/modules/es.array.concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/modules/es.array.copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/modules/es.array.every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/modules/es.array.fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/modules/es.array.filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/modules/es.array.find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/modules/es.array.find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/modules/es.array.find-last": [
|
|
"es.array.find-last"
|
|
],
|
|
"core-js/modules/es.array.find-last-index": [
|
|
"es.array.find-last-index"
|
|
],
|
|
"core-js/modules/es.array.flat": [
|
|
"es.array.flat"
|
|
],
|
|
"core-js/modules/es.array.flat-map": [
|
|
"es.array.flat-map"
|
|
],
|
|
"core-js/modules/es.array.for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/modules/es.array.from": [
|
|
"es.array.from"
|
|
],
|
|
"core-js/modules/es.array.includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/modules/es.array.index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/modules/es.array.is-array": [
|
|
"es.array.is-array"
|
|
],
|
|
"core-js/modules/es.array.iterator": [
|
|
"es.array.iterator"
|
|
],
|
|
"core-js/modules/es.array.join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/modules/es.array.last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/modules/es.array.map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/modules/es.array.of": [
|
|
"es.array.of"
|
|
],
|
|
"core-js/modules/es.array.push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/modules/es.array.reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/modules/es.array.reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/modules/es.array.reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/modules/es.array.slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/modules/es.array.some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/modules/es.array.sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/modules/es.array.species": [
|
|
"es.array.species"
|
|
],
|
|
"core-js/modules/es.array.splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/modules/es.array.to-reversed": [
|
|
"es.array.to-reversed"
|
|
],
|
|
"core-js/modules/es.array.to-sorted": [
|
|
"es.array.to-sorted"
|
|
],
|
|
"core-js/modules/es.array.to-spliced": [
|
|
"es.array.to-spliced"
|
|
],
|
|
"core-js/modules/es.array.unscopables.flat": [
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/modules/es.array.unscopables.flat-map": [
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/modules/es.array.unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/modules/es.array.with": [
|
|
"es.array.with"
|
|
],
|
|
"core-js/modules/es.data-view": [
|
|
"es.data-view"
|
|
],
|
|
"core-js/modules/es.data-view.constructor": [
|
|
"es.data-view.constructor"
|
|
],
|
|
"core-js/modules/es.date.get-year": [
|
|
"es.date.get-year"
|
|
],
|
|
"core-js/modules/es.date.now": [
|
|
"es.date.now"
|
|
],
|
|
"core-js/modules/es.date.set-year": [
|
|
"es.date.set-year"
|
|
],
|
|
"core-js/modules/es.date.to-gmt-string": [
|
|
"es.date.to-gmt-string"
|
|
],
|
|
"core-js/modules/es.date.to-iso-string": [
|
|
"es.date.to-iso-string"
|
|
],
|
|
"core-js/modules/es.date.to-json": [
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/modules/es.date.to-primitive": [
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/modules/es.date.to-string": [
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/modules/es.error.cause": [
|
|
"es.error.cause"
|
|
],
|
|
"core-js/modules/es.error.to-string": [
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/modules/es.escape": [
|
|
"es.escape"
|
|
],
|
|
"core-js/modules/es.function.bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/modules/es.function.has-instance": [
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/modules/es.function.name": [
|
|
"es.function.name"
|
|
],
|
|
"core-js/modules/es.global-this": [
|
|
"es.global-this"
|
|
],
|
|
"core-js/modules/es.json.stringify": [
|
|
"es.json.stringify"
|
|
],
|
|
"core-js/modules/es.json.to-string-tag": [
|
|
"es.json.to-string-tag"
|
|
],
|
|
"core-js/modules/es.map": [
|
|
"es.map"
|
|
],
|
|
"core-js/modules/es.map.constructor": [
|
|
"es.map.constructor"
|
|
],
|
|
"core-js/modules/es.math.acosh": [
|
|
"es.math.acosh"
|
|
],
|
|
"core-js/modules/es.math.asinh": [
|
|
"es.math.asinh"
|
|
],
|
|
"core-js/modules/es.math.atanh": [
|
|
"es.math.atanh"
|
|
],
|
|
"core-js/modules/es.math.cbrt": [
|
|
"es.math.cbrt"
|
|
],
|
|
"core-js/modules/es.math.clz32": [
|
|
"es.math.clz32"
|
|
],
|
|
"core-js/modules/es.math.cosh": [
|
|
"es.math.cosh"
|
|
],
|
|
"core-js/modules/es.math.expm1": [
|
|
"es.math.expm1"
|
|
],
|
|
"core-js/modules/es.math.fround": [
|
|
"es.math.fround"
|
|
],
|
|
"core-js/modules/es.math.hypot": [
|
|
"es.math.hypot"
|
|
],
|
|
"core-js/modules/es.math.imul": [
|
|
"es.math.imul"
|
|
],
|
|
"core-js/modules/es.math.log10": [
|
|
"es.math.log10"
|
|
],
|
|
"core-js/modules/es.math.log1p": [
|
|
"es.math.log1p"
|
|
],
|
|
"core-js/modules/es.math.log2": [
|
|
"es.math.log2"
|
|
],
|
|
"core-js/modules/es.math.sign": [
|
|
"es.math.sign"
|
|
],
|
|
"core-js/modules/es.math.sinh": [
|
|
"es.math.sinh"
|
|
],
|
|
"core-js/modules/es.math.tanh": [
|
|
"es.math.tanh"
|
|
],
|
|
"core-js/modules/es.math.to-string-tag": [
|
|
"es.math.to-string-tag"
|
|
],
|
|
"core-js/modules/es.math.trunc": [
|
|
"es.math.trunc"
|
|
],
|
|
"core-js/modules/es.number.constructor": [
|
|
"es.number.constructor"
|
|
],
|
|
"core-js/modules/es.number.epsilon": [
|
|
"es.number.epsilon"
|
|
],
|
|
"core-js/modules/es.number.is-finite": [
|
|
"es.number.is-finite"
|
|
],
|
|
"core-js/modules/es.number.is-integer": [
|
|
"es.number.is-integer"
|
|
],
|
|
"core-js/modules/es.number.is-nan": [
|
|
"es.number.is-nan"
|
|
],
|
|
"core-js/modules/es.number.is-safe-integer": [
|
|
"es.number.is-safe-integer"
|
|
],
|
|
"core-js/modules/es.number.max-safe-integer": [
|
|
"es.number.max-safe-integer"
|
|
],
|
|
"core-js/modules/es.number.min-safe-integer": [
|
|
"es.number.min-safe-integer"
|
|
],
|
|
"core-js/modules/es.number.parse-float": [
|
|
"es.number.parse-float"
|
|
],
|
|
"core-js/modules/es.number.parse-int": [
|
|
"es.number.parse-int"
|
|
],
|
|
"core-js/modules/es.number.to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/modules/es.number.to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/modules/es.number.to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/modules/es.object.assign": [
|
|
"es.object.assign"
|
|
],
|
|
"core-js/modules/es.object.create": [
|
|
"es.object.create"
|
|
],
|
|
"core-js/modules/es.object.define-getter": [
|
|
"es.object.define-getter"
|
|
],
|
|
"core-js/modules/es.object.define-properties": [
|
|
"es.object.define-properties"
|
|
],
|
|
"core-js/modules/es.object.define-property": [
|
|
"es.object.define-property"
|
|
],
|
|
"core-js/modules/es.object.define-setter": [
|
|
"es.object.define-setter"
|
|
],
|
|
"core-js/modules/es.object.entries": [
|
|
"es.object.entries"
|
|
],
|
|
"core-js/modules/es.object.freeze": [
|
|
"es.object.freeze"
|
|
],
|
|
"core-js/modules/es.object.from-entries": [
|
|
"es.object.from-entries"
|
|
],
|
|
"core-js/modules/es.object.get-own-property-descriptor": [
|
|
"es.object.get-own-property-descriptor"
|
|
],
|
|
"core-js/modules/es.object.get-own-property-descriptors": [
|
|
"es.object.get-own-property-descriptors"
|
|
],
|
|
"core-js/modules/es.object.get-own-property-names": [
|
|
"es.object.get-own-property-names"
|
|
],
|
|
"core-js/modules/es.object.get-own-property-symbols": [
|
|
"es.object.get-own-property-symbols"
|
|
],
|
|
"core-js/modules/es.object.get-prototype-of": [
|
|
"es.object.get-prototype-of"
|
|
],
|
|
"core-js/modules/es.object.has-own": [
|
|
"es.object.has-own"
|
|
],
|
|
"core-js/modules/es.object.is": [
|
|
"es.object.is"
|
|
],
|
|
"core-js/modules/es.object.is-extensible": [
|
|
"es.object.is-extensible"
|
|
],
|
|
"core-js/modules/es.object.is-frozen": [
|
|
"es.object.is-frozen"
|
|
],
|
|
"core-js/modules/es.object.is-sealed": [
|
|
"es.object.is-sealed"
|
|
],
|
|
"core-js/modules/es.object.keys": [
|
|
"es.object.keys"
|
|
],
|
|
"core-js/modules/es.object.lookup-getter": [
|
|
"es.object.lookup-getter"
|
|
],
|
|
"core-js/modules/es.object.lookup-setter": [
|
|
"es.object.lookup-setter"
|
|
],
|
|
"core-js/modules/es.object.prevent-extensions": [
|
|
"es.object.prevent-extensions"
|
|
],
|
|
"core-js/modules/es.object.proto": [
|
|
"es.object.proto"
|
|
],
|
|
"core-js/modules/es.object.seal": [
|
|
"es.object.seal"
|
|
],
|
|
"core-js/modules/es.object.set-prototype-of": [
|
|
"es.object.set-prototype-of"
|
|
],
|
|
"core-js/modules/es.object.to-string": [
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/modules/es.object.values": [
|
|
"es.object.values"
|
|
],
|
|
"core-js/modules/es.parse-float": [
|
|
"es.parse-float"
|
|
],
|
|
"core-js/modules/es.parse-int": [
|
|
"es.parse-int"
|
|
],
|
|
"core-js/modules/es.promise": [
|
|
"es.promise"
|
|
],
|
|
"core-js/modules/es.promise.all": [
|
|
"es.promise.all"
|
|
],
|
|
"core-js/modules/es.promise.all-settled": [
|
|
"es.promise.all-settled"
|
|
],
|
|
"core-js/modules/es.promise.any": [
|
|
"es.promise.any"
|
|
],
|
|
"core-js/modules/es.promise.catch": [
|
|
"es.promise.catch"
|
|
],
|
|
"core-js/modules/es.promise.constructor": [
|
|
"es.promise.constructor"
|
|
],
|
|
"core-js/modules/es.promise.finally": [
|
|
"es.promise.finally"
|
|
],
|
|
"core-js/modules/es.promise.race": [
|
|
"es.promise.race"
|
|
],
|
|
"core-js/modules/es.promise.reject": [
|
|
"es.promise.reject"
|
|
],
|
|
"core-js/modules/es.promise.resolve": [
|
|
"es.promise.resolve"
|
|
],
|
|
"core-js/modules/es.reflect.apply": [
|
|
"es.reflect.apply"
|
|
],
|
|
"core-js/modules/es.reflect.construct": [
|
|
"es.reflect.construct"
|
|
],
|
|
"core-js/modules/es.reflect.define-property": [
|
|
"es.reflect.define-property"
|
|
],
|
|
"core-js/modules/es.reflect.delete-property": [
|
|
"es.reflect.delete-property"
|
|
],
|
|
"core-js/modules/es.reflect.get": [
|
|
"es.reflect.get"
|
|
],
|
|
"core-js/modules/es.reflect.get-own-property-descriptor": [
|
|
"es.reflect.get-own-property-descriptor"
|
|
],
|
|
"core-js/modules/es.reflect.get-prototype-of": [
|
|
"es.reflect.get-prototype-of"
|
|
],
|
|
"core-js/modules/es.reflect.has": [
|
|
"es.reflect.has"
|
|
],
|
|
"core-js/modules/es.reflect.is-extensible": [
|
|
"es.reflect.is-extensible"
|
|
],
|
|
"core-js/modules/es.reflect.own-keys": [
|
|
"es.reflect.own-keys"
|
|
],
|
|
"core-js/modules/es.reflect.prevent-extensions": [
|
|
"es.reflect.prevent-extensions"
|
|
],
|
|
"core-js/modules/es.reflect.set": [
|
|
"es.reflect.set"
|
|
],
|
|
"core-js/modules/es.reflect.set-prototype-of": [
|
|
"es.reflect.set-prototype-of"
|
|
],
|
|
"core-js/modules/es.reflect.to-string-tag": [
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/modules/es.regexp.constructor": [
|
|
"es.regexp.constructor"
|
|
],
|
|
"core-js/modules/es.regexp.dot-all": [
|
|
"es.regexp.dot-all"
|
|
],
|
|
"core-js/modules/es.regexp.exec": [
|
|
"es.regexp.exec"
|
|
],
|
|
"core-js/modules/es.regexp.flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/modules/es.regexp.sticky": [
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/modules/es.regexp.test": [
|
|
"es.regexp.test"
|
|
],
|
|
"core-js/modules/es.regexp.to-string": [
|
|
"es.regexp.to-string"
|
|
],
|
|
"core-js/modules/es.set": [
|
|
"es.set"
|
|
],
|
|
"core-js/modules/es.set.constructor": [
|
|
"es.set.constructor"
|
|
],
|
|
"core-js/modules/es.string.anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/modules/es.string.at-alternative": [
|
|
"es.string.at-alternative"
|
|
],
|
|
"core-js/modules/es.string.big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/modules/es.string.blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/modules/es.string.bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/modules/es.string.code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/modules/es.string.ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/modules/es.string.fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/modules/es.string.fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/modules/es.string.fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/modules/es.string.from-code-point": [
|
|
"es.string.from-code-point"
|
|
],
|
|
"core-js/modules/es.string.includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/modules/es.string.italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/modules/es.string.iterator": [
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/modules/es.string.link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/modules/es.string.match": [
|
|
"es.string.match"
|
|
],
|
|
"core-js/modules/es.string.match-all": [
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/modules/es.string.pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/modules/es.string.pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/modules/es.string.raw": [
|
|
"es.string.raw"
|
|
],
|
|
"core-js/modules/es.string.repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/modules/es.string.replace": [
|
|
"es.string.replace"
|
|
],
|
|
"core-js/modules/es.string.replace-all": [
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/modules/es.string.search": [
|
|
"es.string.search"
|
|
],
|
|
"core-js/modules/es.string.small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/modules/es.string.split": [
|
|
"es.string.split"
|
|
],
|
|
"core-js/modules/es.string.starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/modules/es.string.strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/modules/es.string.sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/modules/es.string.substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/modules/es.string.sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/modules/es.string.trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/modules/es.string.trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/modules/es.string.trim-left": [
|
|
"es.string.trim-left"
|
|
],
|
|
"core-js/modules/es.string.trim-right": [
|
|
"es.string.trim-right"
|
|
],
|
|
"core-js/modules/es.string.trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/modules/es.symbol": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/modules/es.symbol.async-iterator": [
|
|
"es.symbol.async-iterator"
|
|
],
|
|
"core-js/modules/es.symbol.constructor": [
|
|
"es.symbol.constructor"
|
|
],
|
|
"core-js/modules/es.symbol.description": [
|
|
"es.symbol.description"
|
|
],
|
|
"core-js/modules/es.symbol.for": [
|
|
"es.symbol.for"
|
|
],
|
|
"core-js/modules/es.symbol.has-instance": [
|
|
"es.symbol.has-instance"
|
|
],
|
|
"core-js/modules/es.symbol.is-concat-spreadable": [
|
|
"es.symbol.is-concat-spreadable"
|
|
],
|
|
"core-js/modules/es.symbol.iterator": [
|
|
"es.symbol.iterator"
|
|
],
|
|
"core-js/modules/es.symbol.key-for": [
|
|
"es.symbol.key-for"
|
|
],
|
|
"core-js/modules/es.symbol.match": [
|
|
"es.symbol.match"
|
|
],
|
|
"core-js/modules/es.symbol.match-all": [
|
|
"es.symbol.match-all"
|
|
],
|
|
"core-js/modules/es.symbol.replace": [
|
|
"es.symbol.replace"
|
|
],
|
|
"core-js/modules/es.symbol.search": [
|
|
"es.symbol.search"
|
|
],
|
|
"core-js/modules/es.symbol.species": [
|
|
"es.symbol.species"
|
|
],
|
|
"core-js/modules/es.symbol.split": [
|
|
"es.symbol.split"
|
|
],
|
|
"core-js/modules/es.symbol.to-primitive": [
|
|
"es.symbol.to-primitive"
|
|
],
|
|
"core-js/modules/es.symbol.to-string-tag": [
|
|
"es.symbol.to-string-tag"
|
|
],
|
|
"core-js/modules/es.symbol.unscopables": [
|
|
"es.symbol.unscopables"
|
|
],
|
|
"core-js/modules/es.typed-array.at": [
|
|
"es.typed-array.at"
|
|
],
|
|
"core-js/modules/es.typed-array.copy-within": [
|
|
"es.typed-array.copy-within"
|
|
],
|
|
"core-js/modules/es.typed-array.every": [
|
|
"es.typed-array.every"
|
|
],
|
|
"core-js/modules/es.typed-array.fill": [
|
|
"es.typed-array.fill"
|
|
],
|
|
"core-js/modules/es.typed-array.filter": [
|
|
"es.typed-array.filter"
|
|
],
|
|
"core-js/modules/es.typed-array.find": [
|
|
"es.typed-array.find"
|
|
],
|
|
"core-js/modules/es.typed-array.find-index": [
|
|
"es.typed-array.find-index"
|
|
],
|
|
"core-js/modules/es.typed-array.find-last": [
|
|
"es.typed-array.find-last"
|
|
],
|
|
"core-js/modules/es.typed-array.find-last-index": [
|
|
"es.typed-array.find-last-index"
|
|
],
|
|
"core-js/modules/es.typed-array.float32-array": [
|
|
"es.typed-array.float32-array"
|
|
],
|
|
"core-js/modules/es.typed-array.float64-array": [
|
|
"es.typed-array.float64-array"
|
|
],
|
|
"core-js/modules/es.typed-array.for-each": [
|
|
"es.typed-array.for-each"
|
|
],
|
|
"core-js/modules/es.typed-array.from": [
|
|
"es.typed-array.from"
|
|
],
|
|
"core-js/modules/es.typed-array.includes": [
|
|
"es.typed-array.includes"
|
|
],
|
|
"core-js/modules/es.typed-array.index-of": [
|
|
"es.typed-array.index-of"
|
|
],
|
|
"core-js/modules/es.typed-array.int16-array": [
|
|
"es.typed-array.int16-array"
|
|
],
|
|
"core-js/modules/es.typed-array.int32-array": [
|
|
"es.typed-array.int32-array"
|
|
],
|
|
"core-js/modules/es.typed-array.int8-array": [
|
|
"es.typed-array.int8-array"
|
|
],
|
|
"core-js/modules/es.typed-array.iterator": [
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/modules/es.typed-array.join": [
|
|
"es.typed-array.join"
|
|
],
|
|
"core-js/modules/es.typed-array.last-index-of": [
|
|
"es.typed-array.last-index-of"
|
|
],
|
|
"core-js/modules/es.typed-array.map": [
|
|
"es.typed-array.map"
|
|
],
|
|
"core-js/modules/es.typed-array.of": [
|
|
"es.typed-array.of"
|
|
],
|
|
"core-js/modules/es.typed-array.reduce": [
|
|
"es.typed-array.reduce"
|
|
],
|
|
"core-js/modules/es.typed-array.reduce-right": [
|
|
"es.typed-array.reduce-right"
|
|
],
|
|
"core-js/modules/es.typed-array.reverse": [
|
|
"es.typed-array.reverse"
|
|
],
|
|
"core-js/modules/es.typed-array.set": [
|
|
"es.typed-array.set"
|
|
],
|
|
"core-js/modules/es.typed-array.slice": [
|
|
"es.typed-array.slice"
|
|
],
|
|
"core-js/modules/es.typed-array.some": [
|
|
"es.typed-array.some"
|
|
],
|
|
"core-js/modules/es.typed-array.sort": [
|
|
"es.typed-array.sort"
|
|
],
|
|
"core-js/modules/es.typed-array.subarray": [
|
|
"es.typed-array.subarray"
|
|
],
|
|
"core-js/modules/es.typed-array.to-locale-string": [
|
|
"es.typed-array.to-locale-string"
|
|
],
|
|
"core-js/modules/es.typed-array.to-reversed": [
|
|
"es.typed-array.to-reversed"
|
|
],
|
|
"core-js/modules/es.typed-array.to-sorted": [
|
|
"es.typed-array.to-sorted"
|
|
],
|
|
"core-js/modules/es.typed-array.to-string": [
|
|
"es.typed-array.to-string"
|
|
],
|
|
"core-js/modules/es.typed-array.uint16-array": [
|
|
"es.typed-array.uint16-array"
|
|
],
|
|
"core-js/modules/es.typed-array.uint32-array": [
|
|
"es.typed-array.uint32-array"
|
|
],
|
|
"core-js/modules/es.typed-array.uint8-array": [
|
|
"es.typed-array.uint8-array"
|
|
],
|
|
"core-js/modules/es.typed-array.uint8-clamped-array": [
|
|
"es.typed-array.uint8-clamped-array"
|
|
],
|
|
"core-js/modules/es.typed-array.with": [
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/modules/es.unescape": [
|
|
"es.unescape"
|
|
],
|
|
"core-js/modules/es.weak-map": [
|
|
"es.weak-map"
|
|
],
|
|
"core-js/modules/es.weak-map.constructor": [
|
|
"es.weak-map.constructor"
|
|
],
|
|
"core-js/modules/es.weak-set": [
|
|
"es.weak-set"
|
|
],
|
|
"core-js/modules/es.weak-set.constructor": [
|
|
"es.weak-set.constructor"
|
|
],
|
|
"core-js/modules/esnext.aggregate-error": [
|
|
"esnext.aggregate-error"
|
|
],
|
|
"core-js/modules/esnext.array-buffer.detached": [
|
|
"esnext.array-buffer.detached"
|
|
],
|
|
"core-js/modules/esnext.array-buffer.transfer": [
|
|
"esnext.array-buffer.transfer"
|
|
],
|
|
"core-js/modules/esnext.array-buffer.transfer-to-fixed-length": [
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/modules/esnext.array.at": [
|
|
"esnext.array.at"
|
|
],
|
|
"core-js/modules/esnext.array.filter-out": [
|
|
"esnext.array.filter-out"
|
|
],
|
|
"core-js/modules/esnext.array.filter-reject": [
|
|
"esnext.array.filter-reject"
|
|
],
|
|
"core-js/modules/esnext.array.find-last": [
|
|
"esnext.array.find-last"
|
|
],
|
|
"core-js/modules/esnext.array.find-last-index": [
|
|
"esnext.array.find-last-index"
|
|
],
|
|
"core-js/modules/esnext.array.from-async": [
|
|
"esnext.array.from-async"
|
|
],
|
|
"core-js/modules/esnext.array.group": [
|
|
"esnext.array.group"
|
|
],
|
|
"core-js/modules/esnext.array.group-by": [
|
|
"esnext.array.group-by"
|
|
],
|
|
"core-js/modules/esnext.array.group-by-to-map": [
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/modules/esnext.array.group-to-map": [
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/modules/esnext.array.is-template-object": [
|
|
"esnext.array.is-template-object"
|
|
],
|
|
"core-js/modules/esnext.array.last-index": [
|
|
"esnext.array.last-index"
|
|
],
|
|
"core-js/modules/esnext.array.last-item": [
|
|
"esnext.array.last-item"
|
|
],
|
|
"core-js/modules/esnext.array.to-reversed": [
|
|
"esnext.array.to-reversed"
|
|
],
|
|
"core-js/modules/esnext.array.to-sorted": [
|
|
"esnext.array.to-sorted"
|
|
],
|
|
"core-js/modules/esnext.array.to-spliced": [
|
|
"esnext.array.to-spliced"
|
|
],
|
|
"core-js/modules/esnext.array.unique-by": [
|
|
"esnext.array.unique-by"
|
|
],
|
|
"core-js/modules/esnext.array.with": [
|
|
"esnext.array.with"
|
|
],
|
|
"core-js/modules/esnext.async-disposable-stack.constructor": [
|
|
"esnext.async-disposable-stack.constructor"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.as-indexed-pairs": [
|
|
"esnext.async-iterator.as-indexed-pairs"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.async-dispose": [
|
|
"esnext.async-iterator.async-dispose"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.constructor": [
|
|
"esnext.async-iterator.constructor"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.drop": [
|
|
"esnext.async-iterator.drop"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.every": [
|
|
"esnext.async-iterator.every"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.filter": [
|
|
"esnext.async-iterator.filter"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.find": [
|
|
"esnext.async-iterator.find"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.flat-map": [
|
|
"esnext.async-iterator.flat-map"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.for-each": [
|
|
"esnext.async-iterator.for-each"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.from": [
|
|
"esnext.async-iterator.from"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.indexed": [
|
|
"esnext.async-iterator.indexed"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.map": [
|
|
"esnext.async-iterator.map"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.reduce": [
|
|
"esnext.async-iterator.reduce"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.some": [
|
|
"esnext.async-iterator.some"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.take": [
|
|
"esnext.async-iterator.take"
|
|
],
|
|
"core-js/modules/esnext.async-iterator.to-array": [
|
|
"esnext.async-iterator.to-array"
|
|
],
|
|
"core-js/modules/esnext.bigint.range": [
|
|
"esnext.bigint.range"
|
|
],
|
|
"core-js/modules/esnext.composite-key": [
|
|
"esnext.composite-key"
|
|
],
|
|
"core-js/modules/esnext.composite-symbol": [
|
|
"esnext.composite-symbol"
|
|
],
|
|
"core-js/modules/esnext.disposable-stack.constructor": [
|
|
"esnext.disposable-stack.constructor"
|
|
],
|
|
"core-js/modules/esnext.function.demethodize": [
|
|
"esnext.function.demethodize"
|
|
],
|
|
"core-js/modules/esnext.function.is-callable": [
|
|
"esnext.function.is-callable"
|
|
],
|
|
"core-js/modules/esnext.function.is-constructor": [
|
|
"esnext.function.is-constructor"
|
|
],
|
|
"core-js/modules/esnext.function.un-this": [
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/modules/esnext.global-this": [
|
|
"esnext.global-this"
|
|
],
|
|
"core-js/modules/esnext.iterator.as-indexed-pairs": [
|
|
"esnext.iterator.as-indexed-pairs"
|
|
],
|
|
"core-js/modules/esnext.iterator.constructor": [
|
|
"esnext.iterator.constructor"
|
|
],
|
|
"core-js/modules/esnext.iterator.dispose": [
|
|
"esnext.iterator.dispose"
|
|
],
|
|
"core-js/modules/esnext.iterator.drop": [
|
|
"esnext.iterator.drop"
|
|
],
|
|
"core-js/modules/esnext.iterator.every": [
|
|
"esnext.iterator.every"
|
|
],
|
|
"core-js/modules/esnext.iterator.filter": [
|
|
"esnext.iterator.filter"
|
|
],
|
|
"core-js/modules/esnext.iterator.find": [
|
|
"esnext.iterator.find"
|
|
],
|
|
"core-js/modules/esnext.iterator.flat-map": [
|
|
"esnext.iterator.flat-map"
|
|
],
|
|
"core-js/modules/esnext.iterator.for-each": [
|
|
"esnext.iterator.for-each"
|
|
],
|
|
"core-js/modules/esnext.iterator.from": [
|
|
"esnext.iterator.from"
|
|
],
|
|
"core-js/modules/esnext.iterator.indexed": [
|
|
"esnext.iterator.indexed"
|
|
],
|
|
"core-js/modules/esnext.iterator.map": [
|
|
"esnext.iterator.map"
|
|
],
|
|
"core-js/modules/esnext.iterator.range": [
|
|
"esnext.iterator.range"
|
|
],
|
|
"core-js/modules/esnext.iterator.reduce": [
|
|
"esnext.iterator.reduce"
|
|
],
|
|
"core-js/modules/esnext.iterator.some": [
|
|
"esnext.iterator.some"
|
|
],
|
|
"core-js/modules/esnext.iterator.take": [
|
|
"esnext.iterator.take"
|
|
],
|
|
"core-js/modules/esnext.iterator.to-array": [
|
|
"esnext.iterator.to-array"
|
|
],
|
|
"core-js/modules/esnext.iterator.to-async": [
|
|
"esnext.iterator.to-async"
|
|
],
|
|
"core-js/modules/esnext.json.is-raw-json": [
|
|
"esnext.json.is-raw-json"
|
|
],
|
|
"core-js/modules/esnext.json.parse": [
|
|
"esnext.json.parse"
|
|
],
|
|
"core-js/modules/esnext.json.raw-json": [
|
|
"esnext.json.raw-json"
|
|
],
|
|
"core-js/modules/esnext.map.delete-all": [
|
|
"esnext.map.delete-all"
|
|
],
|
|
"core-js/modules/esnext.map.emplace": [
|
|
"esnext.map.emplace"
|
|
],
|
|
"core-js/modules/esnext.map.every": [
|
|
"esnext.map.every"
|
|
],
|
|
"core-js/modules/esnext.map.filter": [
|
|
"esnext.map.filter"
|
|
],
|
|
"core-js/modules/esnext.map.find": [
|
|
"esnext.map.find"
|
|
],
|
|
"core-js/modules/esnext.map.find-key": [
|
|
"esnext.map.find-key"
|
|
],
|
|
"core-js/modules/esnext.map.from": [
|
|
"esnext.map.from"
|
|
],
|
|
"core-js/modules/esnext.map.group-by": [
|
|
"esnext.map.group-by"
|
|
],
|
|
"core-js/modules/esnext.map.includes": [
|
|
"esnext.map.includes"
|
|
],
|
|
"core-js/modules/esnext.map.key-by": [
|
|
"esnext.map.key-by"
|
|
],
|
|
"core-js/modules/esnext.map.key-of": [
|
|
"esnext.map.key-of"
|
|
],
|
|
"core-js/modules/esnext.map.map-keys": [
|
|
"esnext.map.map-keys"
|
|
],
|
|
"core-js/modules/esnext.map.map-values": [
|
|
"esnext.map.map-values"
|
|
],
|
|
"core-js/modules/esnext.map.merge": [
|
|
"esnext.map.merge"
|
|
],
|
|
"core-js/modules/esnext.map.of": [
|
|
"esnext.map.of"
|
|
],
|
|
"core-js/modules/esnext.map.reduce": [
|
|
"esnext.map.reduce"
|
|
],
|
|
"core-js/modules/esnext.map.some": [
|
|
"esnext.map.some"
|
|
],
|
|
"core-js/modules/esnext.map.update": [
|
|
"esnext.map.update"
|
|
],
|
|
"core-js/modules/esnext.map.update-or-insert": [
|
|
"esnext.map.update-or-insert"
|
|
],
|
|
"core-js/modules/esnext.map.upsert": [
|
|
"esnext.map.upsert"
|
|
],
|
|
"core-js/modules/esnext.math.clamp": [
|
|
"esnext.math.clamp"
|
|
],
|
|
"core-js/modules/esnext.math.deg-per-rad": [
|
|
"esnext.math.deg-per-rad"
|
|
],
|
|
"core-js/modules/esnext.math.degrees": [
|
|
"esnext.math.degrees"
|
|
],
|
|
"core-js/modules/esnext.math.fscale": [
|
|
"esnext.math.fscale"
|
|
],
|
|
"core-js/modules/esnext.math.iaddh": [
|
|
"esnext.math.iaddh"
|
|
],
|
|
"core-js/modules/esnext.math.imulh": [
|
|
"esnext.math.imulh"
|
|
],
|
|
"core-js/modules/esnext.math.isubh": [
|
|
"esnext.math.isubh"
|
|
],
|
|
"core-js/modules/esnext.math.rad-per-deg": [
|
|
"esnext.math.rad-per-deg"
|
|
],
|
|
"core-js/modules/esnext.math.radians": [
|
|
"esnext.math.radians"
|
|
],
|
|
"core-js/modules/esnext.math.scale": [
|
|
"esnext.math.scale"
|
|
],
|
|
"core-js/modules/esnext.math.seeded-prng": [
|
|
"esnext.math.seeded-prng"
|
|
],
|
|
"core-js/modules/esnext.math.signbit": [
|
|
"esnext.math.signbit"
|
|
],
|
|
"core-js/modules/esnext.math.umulh": [
|
|
"esnext.math.umulh"
|
|
],
|
|
"core-js/modules/esnext.number.from-string": [
|
|
"esnext.number.from-string"
|
|
],
|
|
"core-js/modules/esnext.number.range": [
|
|
"esnext.number.range"
|
|
],
|
|
"core-js/modules/esnext.object.has-own": [
|
|
"esnext.object.has-own"
|
|
],
|
|
"core-js/modules/esnext.object.iterate-entries": [
|
|
"esnext.object.iterate-entries"
|
|
],
|
|
"core-js/modules/esnext.object.iterate-keys": [
|
|
"esnext.object.iterate-keys"
|
|
],
|
|
"core-js/modules/esnext.object.iterate-values": [
|
|
"esnext.object.iterate-values"
|
|
],
|
|
"core-js/modules/esnext.observable": [
|
|
"esnext.observable"
|
|
],
|
|
"core-js/modules/esnext.observable.constructor": [
|
|
"esnext.observable.constructor"
|
|
],
|
|
"core-js/modules/esnext.observable.from": [
|
|
"esnext.observable.from"
|
|
],
|
|
"core-js/modules/esnext.observable.of": [
|
|
"esnext.observable.of"
|
|
],
|
|
"core-js/modules/esnext.promise.all-settled": [
|
|
"esnext.promise.all-settled"
|
|
],
|
|
"core-js/modules/esnext.promise.any": [
|
|
"esnext.promise.any"
|
|
],
|
|
"core-js/modules/esnext.promise.try": [
|
|
"esnext.promise.try"
|
|
],
|
|
"core-js/modules/esnext.reflect.define-metadata": [
|
|
"esnext.reflect.define-metadata"
|
|
],
|
|
"core-js/modules/esnext.reflect.delete-metadata": [
|
|
"esnext.reflect.delete-metadata"
|
|
],
|
|
"core-js/modules/esnext.reflect.get-metadata": [
|
|
"esnext.reflect.get-metadata"
|
|
],
|
|
"core-js/modules/esnext.reflect.get-metadata-keys": [
|
|
"esnext.reflect.get-metadata-keys"
|
|
],
|
|
"core-js/modules/esnext.reflect.get-own-metadata": [
|
|
"esnext.reflect.get-own-metadata"
|
|
],
|
|
"core-js/modules/esnext.reflect.get-own-metadata-keys": [
|
|
"esnext.reflect.get-own-metadata-keys"
|
|
],
|
|
"core-js/modules/esnext.reflect.has-metadata": [
|
|
"esnext.reflect.has-metadata"
|
|
],
|
|
"core-js/modules/esnext.reflect.has-own-metadata": [
|
|
"esnext.reflect.has-own-metadata"
|
|
],
|
|
"core-js/modules/esnext.reflect.metadata": [
|
|
"esnext.reflect.metadata"
|
|
],
|
|
"core-js/modules/esnext.set.add-all": [
|
|
"esnext.set.add-all"
|
|
],
|
|
"core-js/modules/esnext.set.delete-all": [
|
|
"esnext.set.delete-all"
|
|
],
|
|
"core-js/modules/esnext.set.difference": [
|
|
"esnext.set.difference"
|
|
],
|
|
"core-js/modules/esnext.set.difference.v2": [
|
|
"esnext.set.difference.v2"
|
|
],
|
|
"core-js/modules/esnext.set.every": [
|
|
"esnext.set.every"
|
|
],
|
|
"core-js/modules/esnext.set.filter": [
|
|
"esnext.set.filter"
|
|
],
|
|
"core-js/modules/esnext.set.find": [
|
|
"esnext.set.find"
|
|
],
|
|
"core-js/modules/esnext.set.from": [
|
|
"esnext.set.from"
|
|
],
|
|
"core-js/modules/esnext.set.intersection": [
|
|
"esnext.set.intersection"
|
|
],
|
|
"core-js/modules/esnext.set.intersection.v2": [
|
|
"esnext.set.intersection.v2"
|
|
],
|
|
"core-js/modules/esnext.set.is-disjoint-from": [
|
|
"esnext.set.is-disjoint-from"
|
|
],
|
|
"core-js/modules/esnext.set.is-disjoint-from.v2": [
|
|
"esnext.set.is-disjoint-from.v2"
|
|
],
|
|
"core-js/modules/esnext.set.is-subset-of": [
|
|
"esnext.set.is-subset-of"
|
|
],
|
|
"core-js/modules/esnext.set.is-subset-of.v2": [
|
|
"esnext.set.is-subset-of.v2"
|
|
],
|
|
"core-js/modules/esnext.set.is-superset-of": [
|
|
"esnext.set.is-superset-of"
|
|
],
|
|
"core-js/modules/esnext.set.is-superset-of.v2": [
|
|
"esnext.set.is-superset-of.v2"
|
|
],
|
|
"core-js/modules/esnext.set.join": [
|
|
"esnext.set.join"
|
|
],
|
|
"core-js/modules/esnext.set.map": [
|
|
"esnext.set.map"
|
|
],
|
|
"core-js/modules/esnext.set.of": [
|
|
"esnext.set.of"
|
|
],
|
|
"core-js/modules/esnext.set.reduce": [
|
|
"esnext.set.reduce"
|
|
],
|
|
"core-js/modules/esnext.set.some": [
|
|
"esnext.set.some"
|
|
],
|
|
"core-js/modules/esnext.set.symmetric-difference": [
|
|
"esnext.set.symmetric-difference"
|
|
],
|
|
"core-js/modules/esnext.set.symmetric-difference.v2": [
|
|
"esnext.set.symmetric-difference.v2"
|
|
],
|
|
"core-js/modules/esnext.set.union": [
|
|
"esnext.set.union"
|
|
],
|
|
"core-js/modules/esnext.set.union.v2": [
|
|
"esnext.set.union.v2"
|
|
],
|
|
"core-js/modules/esnext.string.at": [
|
|
"esnext.string.at"
|
|
],
|
|
"core-js/modules/esnext.string.at-alternative": [
|
|
"esnext.string.at-alternative"
|
|
],
|
|
"core-js/modules/esnext.string.code-points": [
|
|
"esnext.string.code-points"
|
|
],
|
|
"core-js/modules/esnext.string.cooked": [
|
|
"esnext.string.cooked"
|
|
],
|
|
"core-js/modules/esnext.string.dedent": [
|
|
"esnext.string.dedent"
|
|
],
|
|
"core-js/modules/esnext.string.is-well-formed": [
|
|
"esnext.string.is-well-formed"
|
|
],
|
|
"core-js/modules/esnext.string.match-all": [
|
|
"esnext.string.match-all"
|
|
],
|
|
"core-js/modules/esnext.string.replace-all": [
|
|
"esnext.string.replace-all"
|
|
],
|
|
"core-js/modules/esnext.string.to-well-formed": [
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/modules/esnext.suppressed-error.constructor": [
|
|
"esnext.suppressed-error.constructor"
|
|
],
|
|
"core-js/modules/esnext.symbol.async-dispose": [
|
|
"esnext.symbol.async-dispose"
|
|
],
|
|
"core-js/modules/esnext.symbol.dispose": [
|
|
"esnext.symbol.dispose"
|
|
],
|
|
"core-js/modules/esnext.symbol.is-registered": [
|
|
"esnext.symbol.is-registered"
|
|
],
|
|
"core-js/modules/esnext.symbol.is-well-known": [
|
|
"esnext.symbol.is-well-known"
|
|
],
|
|
"core-js/modules/esnext.symbol.matcher": [
|
|
"esnext.symbol.matcher"
|
|
],
|
|
"core-js/modules/esnext.symbol.metadata": [
|
|
"esnext.symbol.metadata"
|
|
],
|
|
"core-js/modules/esnext.symbol.metadata-key": [
|
|
"esnext.symbol.metadata-key"
|
|
],
|
|
"core-js/modules/esnext.symbol.observable": [
|
|
"esnext.symbol.observable"
|
|
],
|
|
"core-js/modules/esnext.symbol.pattern-match": [
|
|
"esnext.symbol.pattern-match"
|
|
],
|
|
"core-js/modules/esnext.symbol.replace-all": [
|
|
"esnext.symbol.replace-all"
|
|
],
|
|
"core-js/modules/esnext.typed-array.at": [
|
|
"esnext.typed-array.at"
|
|
],
|
|
"core-js/modules/esnext.typed-array.filter-out": [
|
|
"esnext.typed-array.filter-out"
|
|
],
|
|
"core-js/modules/esnext.typed-array.filter-reject": [
|
|
"esnext.typed-array.filter-reject"
|
|
],
|
|
"core-js/modules/esnext.typed-array.find-last": [
|
|
"esnext.typed-array.find-last"
|
|
],
|
|
"core-js/modules/esnext.typed-array.find-last-index": [
|
|
"esnext.typed-array.find-last-index"
|
|
],
|
|
"core-js/modules/esnext.typed-array.from-async": [
|
|
"esnext.typed-array.from-async"
|
|
],
|
|
"core-js/modules/esnext.typed-array.group-by": [
|
|
"esnext.typed-array.group-by"
|
|
],
|
|
"core-js/modules/esnext.typed-array.to-reversed": [
|
|
"esnext.typed-array.to-reversed"
|
|
],
|
|
"core-js/modules/esnext.typed-array.to-sorted": [
|
|
"esnext.typed-array.to-sorted"
|
|
],
|
|
"core-js/modules/esnext.typed-array.to-spliced": [
|
|
"esnext.typed-array.to-spliced"
|
|
],
|
|
"core-js/modules/esnext.typed-array.unique-by": [
|
|
"esnext.typed-array.unique-by"
|
|
],
|
|
"core-js/modules/esnext.typed-array.with": [
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/modules/esnext.weak-map.delete-all": [
|
|
"esnext.weak-map.delete-all"
|
|
],
|
|
"core-js/modules/esnext.weak-map.emplace": [
|
|
"esnext.weak-map.emplace"
|
|
],
|
|
"core-js/modules/esnext.weak-map.from": [
|
|
"esnext.weak-map.from"
|
|
],
|
|
"core-js/modules/esnext.weak-map.of": [
|
|
"esnext.weak-map.of"
|
|
],
|
|
"core-js/modules/esnext.weak-map.upsert": [
|
|
"esnext.weak-map.upsert"
|
|
],
|
|
"core-js/modules/esnext.weak-set.add-all": [
|
|
"esnext.weak-set.add-all"
|
|
],
|
|
"core-js/modules/esnext.weak-set.delete-all": [
|
|
"esnext.weak-set.delete-all"
|
|
],
|
|
"core-js/modules/esnext.weak-set.from": [
|
|
"esnext.weak-set.from"
|
|
],
|
|
"core-js/modules/esnext.weak-set.of": [
|
|
"esnext.weak-set.of"
|
|
],
|
|
"core-js/modules/web.atob": [
|
|
"web.atob"
|
|
],
|
|
"core-js/modules/web.btoa": [
|
|
"web.btoa"
|
|
],
|
|
"core-js/modules/web.clear-immediate": [
|
|
"web.clear-immediate"
|
|
],
|
|
"core-js/modules/web.dom-collections.for-each": [
|
|
"web.dom-collections.for-each"
|
|
],
|
|
"core-js/modules/web.dom-collections.iterator": [
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/modules/web.dom-exception.constructor": [
|
|
"web.dom-exception.constructor"
|
|
],
|
|
"core-js/modules/web.dom-exception.stack": [
|
|
"web.dom-exception.stack"
|
|
],
|
|
"core-js/modules/web.dom-exception.to-string-tag": [
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/modules/web.immediate": [
|
|
"web.immediate"
|
|
],
|
|
"core-js/modules/web.queue-microtask": [
|
|
"web.queue-microtask"
|
|
],
|
|
"core-js/modules/web.self": [
|
|
"web.self"
|
|
],
|
|
"core-js/modules/web.set-immediate": [
|
|
"web.set-immediate"
|
|
],
|
|
"core-js/modules/web.set-interval": [
|
|
"web.set-interval"
|
|
],
|
|
"core-js/modules/web.set-timeout": [
|
|
"web.set-timeout"
|
|
],
|
|
"core-js/modules/web.structured-clone": [
|
|
"web.structured-clone"
|
|
],
|
|
"core-js/modules/web.timers": [
|
|
"web.timers"
|
|
],
|
|
"core-js/modules/web.url": [
|
|
"web.url"
|
|
],
|
|
"core-js/modules/web.url-search-params": [
|
|
"web.url-search-params"
|
|
],
|
|
"core-js/modules/web.url-search-params.constructor": [
|
|
"web.url-search-params.constructor"
|
|
],
|
|
"core-js/modules/web.url-search-params.size": [
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/modules/web.url.constructor": [
|
|
"web.url.constructor"
|
|
],
|
|
"core-js/modules/web.url.to-json": [
|
|
"web.url.to-json"
|
|
],
|
|
"core-js/proposals": [
|
|
"es.map",
|
|
"es.string.at-alternative",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.bigint.range",
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"esnext.observable",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"esnext.string.at",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/proposals/accessible-object-hasownproperty": [
|
|
"esnext.object.has-own"
|
|
],
|
|
"core-js/proposals/array-buffer-transfer": [
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length"
|
|
],
|
|
"core-js/proposals/array-filtering": [
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject"
|
|
],
|
|
"core-js/proposals/array-filtering-stage-1": [
|
|
"esnext.array.filter-reject",
|
|
"esnext.typed-array.filter-reject"
|
|
],
|
|
"core-js/proposals/array-find-from-last": [
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index"
|
|
],
|
|
"core-js/proposals/array-flat-map": [
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/proposals/array-from-async": [
|
|
"esnext.array.from-async",
|
|
"esnext.typed-array.from-async"
|
|
],
|
|
"core-js/proposals/array-from-async-stage-2": [
|
|
"esnext.array.from-async"
|
|
],
|
|
"core-js/proposals/array-grouping": [
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.typed-array.group-by"
|
|
],
|
|
"core-js/proposals/array-grouping-stage-3": [
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map"
|
|
],
|
|
"core-js/proposals/array-grouping-stage-3-2": [
|
|
"esnext.array.group",
|
|
"esnext.array.group-to-map"
|
|
],
|
|
"core-js/proposals/array-includes": [
|
|
"es.array.includes",
|
|
"es.typed-array.includes"
|
|
],
|
|
"core-js/proposals/array-is-template-object": [
|
|
"esnext.array.is-template-object"
|
|
],
|
|
"core-js/proposals/array-last": [
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item"
|
|
],
|
|
"core-js/proposals/array-unique": [
|
|
"es.map",
|
|
"esnext.array.unique-by",
|
|
"esnext.typed-array.unique-by"
|
|
],
|
|
"core-js/proposals/async-explicit-resource-management": [
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.symbol.async-dispose"
|
|
],
|
|
"core-js/proposals/async-iteration": [
|
|
"es.symbol.async-iterator"
|
|
],
|
|
"core-js/proposals/async-iterator-helpers": [
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.iterator.to-async"
|
|
],
|
|
"core-js/proposals/change-array-by-copy": [
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.with",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/proposals/change-array-by-copy-stage-4": [
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.with",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/proposals/collection-methods": [
|
|
"esnext.map.delete-all",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all"
|
|
],
|
|
"core-js/proposals/collection-of-from": [
|
|
"esnext.map.from",
|
|
"esnext.map.of",
|
|
"esnext.set.from",
|
|
"esnext.set.of",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of"
|
|
],
|
|
"core-js/proposals/decorator-metadata": [
|
|
"esnext.symbol.metadata-key"
|
|
],
|
|
"core-js/proposals/decorators": [
|
|
"esnext.symbol.metadata"
|
|
],
|
|
"core-js/proposals/efficient-64-bit-arithmetic": [
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.umulh"
|
|
],
|
|
"core-js/proposals/error-cause": [
|
|
"es.error.cause",
|
|
"es.aggregate-error.cause"
|
|
],
|
|
"core-js/proposals/explicit-resource-management": [
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.iterator.dispose",
|
|
"esnext.symbol.dispose"
|
|
],
|
|
"core-js/proposals/function-demethodize": [
|
|
"esnext.function.demethodize"
|
|
],
|
|
"core-js/proposals/function-is-callable-is-constructor": [
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor"
|
|
],
|
|
"core-js/proposals/function-un-this": [
|
|
"esnext.function.un-this"
|
|
],
|
|
"core-js/proposals/global-this": [
|
|
"esnext.global-this"
|
|
],
|
|
"core-js/proposals/iterator-helpers": [
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async"
|
|
],
|
|
"core-js/proposals/iterator-helpers-stage-3": [
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async"
|
|
],
|
|
"core-js/proposals/iterator-helpers-stage-3-2": [
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array"
|
|
],
|
|
"core-js/proposals/iterator-range": [
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.range"
|
|
],
|
|
"core-js/proposals/json-parse-with-source": [
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json"
|
|
],
|
|
"core-js/proposals/keys-composition": [
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol"
|
|
],
|
|
"core-js/proposals/map-update-or-insert": [
|
|
"esnext.map.emplace",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert"
|
|
],
|
|
"core-js/proposals/map-upsert": [
|
|
"esnext.map.emplace",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert"
|
|
],
|
|
"core-js/proposals/map-upsert-stage-2": [
|
|
"esnext.map.emplace",
|
|
"esnext.weak-map.emplace"
|
|
],
|
|
"core-js/proposals/math-extensions": [
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale"
|
|
],
|
|
"core-js/proposals/math-signbit": [
|
|
"esnext.math.signbit"
|
|
],
|
|
"core-js/proposals/number-from-string": [
|
|
"esnext.number.from-string"
|
|
],
|
|
"core-js/proposals/number-range": [
|
|
"esnext.bigint.range",
|
|
"esnext.number.range"
|
|
],
|
|
"core-js/proposals/object-from-entries": [
|
|
"es.object.from-entries"
|
|
],
|
|
"core-js/proposals/object-getownpropertydescriptors": [
|
|
"es.object.get-own-property-descriptors"
|
|
],
|
|
"core-js/proposals/object-iteration": [
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values"
|
|
],
|
|
"core-js/proposals/object-values-entries": [
|
|
"es.object.entries",
|
|
"es.object.values"
|
|
],
|
|
"core-js/proposals/observable": [
|
|
"esnext.observable",
|
|
"esnext.symbol.observable"
|
|
],
|
|
"core-js/proposals/pattern-matching": [
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.pattern-match"
|
|
],
|
|
"core-js/proposals/promise-all-settled": [
|
|
"esnext.promise.all-settled"
|
|
],
|
|
"core-js/proposals/promise-any": [
|
|
"esnext.aggregate-error",
|
|
"esnext.promise.any"
|
|
],
|
|
"core-js/proposals/promise-finally": [
|
|
"es.promise.finally"
|
|
],
|
|
"core-js/proposals/promise-try": [
|
|
"esnext.promise.try"
|
|
],
|
|
"core-js/proposals/reflect-metadata": [
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata"
|
|
],
|
|
"core-js/proposals/regexp-dotall-flag": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/proposals/regexp-named-groups": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/proposals/relative-indexing-method": [
|
|
"es.string.at-alternative",
|
|
"esnext.array.at",
|
|
"esnext.typed-array.at"
|
|
],
|
|
"core-js/proposals/seeded-random": [
|
|
"esnext.math.seeded-prng"
|
|
],
|
|
"core-js/proposals/set-methods": [
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union"
|
|
],
|
|
"core-js/proposals/set-methods-v2": [
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.union.v2"
|
|
],
|
|
"core-js/proposals/string-at": [
|
|
"esnext.string.at"
|
|
],
|
|
"core-js/proposals/string-code-points": [
|
|
"esnext.string.code-points"
|
|
],
|
|
"core-js/proposals/string-cooked": [
|
|
"esnext.string.cooked"
|
|
],
|
|
"core-js/proposals/string-dedent": [
|
|
"esnext.string.dedent"
|
|
],
|
|
"core-js/proposals/string-left-right-trim": [
|
|
"es.string.trim-end",
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/proposals/string-match-all": [
|
|
"esnext.string.match-all"
|
|
],
|
|
"core-js/proposals/string-padding": [
|
|
"es.string.pad-end",
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/proposals/string-replace-all": [
|
|
"esnext.string.replace-all",
|
|
"esnext.symbol.replace-all"
|
|
],
|
|
"core-js/proposals/string-replace-all-stage-4": [
|
|
"esnext.string.replace-all"
|
|
],
|
|
"core-js/proposals/symbol-description": [
|
|
"es.symbol.description"
|
|
],
|
|
"core-js/proposals/symbol-predicates": [
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known"
|
|
],
|
|
"core-js/proposals/url": [
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/proposals/using-statement": [
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose"
|
|
],
|
|
"core-js/proposals/well-formed-stringify": [
|
|
"es.json.stringify"
|
|
],
|
|
"core-js/proposals/well-formed-unicode-strings": [
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.to-well-formed"
|
|
],
|
|
"core-js/stable": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.error.cause",
|
|
"es.error.to-string",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string",
|
|
"es.escape",
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name",
|
|
"es.global-this",
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag",
|
|
"es.map",
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc",
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.parse-float",
|
|
"es.parse-int",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag",
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.set",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with",
|
|
"es.unescape",
|
|
"es.weak-map",
|
|
"es.weak-set",
|
|
"web.atob",
|
|
"web.btoa",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.immediate",
|
|
"web.queue-microtask",
|
|
"web.self",
|
|
"web.structured-clone",
|
|
"web.timers",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/stable/aggregate-error": [
|
|
"es.error.cause",
|
|
"es.aggregate-error",
|
|
"es.aggregate-error.cause",
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"esnext.aggregate-error",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/array": [
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.from",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.is-array",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.of",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/stable/array-buffer": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.is-view",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array-buffer/constructor": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array-buffer/is-view": [
|
|
"es.array-buffer.is-view"
|
|
],
|
|
"core-js/stable/array-buffer/slice": [
|
|
"es.array-buffer.slice"
|
|
],
|
|
"core-js/stable/array/at": [
|
|
"es.array.at"
|
|
],
|
|
"core-js/stable/array/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/stable/array/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/stable/array/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/stable/array/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/stable/array/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/stable/array/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/stable/array/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/stable/array/find-last": [
|
|
"es.array.find-last"
|
|
],
|
|
"core-js/stable/array/find-last-index": [
|
|
"es.array.find-last-index"
|
|
],
|
|
"core-js/stable/array/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/stable/array/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/stable/array/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/stable/array/from": [
|
|
"es.array.from",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/stable/array/includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/stable/array/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/stable/array/is-array": [
|
|
"es.array.is-array"
|
|
],
|
|
"core-js/stable/array/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array/join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/stable/array/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/stable/array/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/stable/array/of": [
|
|
"es.array.of"
|
|
],
|
|
"core-js/stable/array/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/stable/array/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/stable/array/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/stable/array/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/stable/array/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/stable/array/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/stable/array/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/stable/array/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/stable/array/to-reversed": [
|
|
"es.array.to-reversed"
|
|
],
|
|
"core-js/stable/array/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted"
|
|
],
|
|
"core-js/stable/array/to-spliced": [
|
|
"es.array.to-spliced"
|
|
],
|
|
"core-js/stable/array/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/stable/array/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array/virtual": [
|
|
"es.array.at",
|
|
"es.array.concat",
|
|
"es.array.copy-within",
|
|
"es.array.every",
|
|
"es.array.fill",
|
|
"es.array.filter",
|
|
"es.array.find",
|
|
"es.array.find-index",
|
|
"es.array.find-last",
|
|
"es.array.find-last-index",
|
|
"es.array.flat",
|
|
"es.array.flat-map",
|
|
"es.array.for-each",
|
|
"es.array.includes",
|
|
"es.array.index-of",
|
|
"es.array.iterator",
|
|
"es.array.join",
|
|
"es.array.last-index-of",
|
|
"es.array.map",
|
|
"es.array.push",
|
|
"es.array.reduce",
|
|
"es.array.reduce-right",
|
|
"es.array.reverse",
|
|
"es.array.slice",
|
|
"es.array.some",
|
|
"es.array.sort",
|
|
"es.array.species",
|
|
"es.array.splice",
|
|
"es.array.to-reversed",
|
|
"es.array.to-sorted",
|
|
"es.array.to-spliced",
|
|
"es.array.unscopables.flat",
|
|
"es.array.unscopables.flat-map",
|
|
"es.array.unshift",
|
|
"es.array.with",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array/virtual/at": [
|
|
"es.array.at"
|
|
],
|
|
"core-js/stable/array/virtual/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/stable/array/virtual/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/stable/array/virtual/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array/virtual/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/stable/array/virtual/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/stable/array/virtual/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/stable/array/virtual/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/stable/array/virtual/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/stable/array/virtual/find-last": [
|
|
"es.array.find-last"
|
|
],
|
|
"core-js/stable/array/virtual/find-last-index": [
|
|
"es.array.find-last-index"
|
|
],
|
|
"core-js/stable/array/virtual/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/stable/array/virtual/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/stable/array/virtual/for-each": [
|
|
"es.array.for-each"
|
|
],
|
|
"core-js/stable/array/virtual/includes": [
|
|
"es.array.includes"
|
|
],
|
|
"core-js/stable/array/virtual/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/stable/array/virtual/iterator": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array/virtual/join": [
|
|
"es.array.join"
|
|
],
|
|
"core-js/stable/array/virtual/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array/virtual/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/stable/array/virtual/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/stable/array/virtual/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/stable/array/virtual/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/stable/array/virtual/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/stable/array/virtual/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/stable/array/virtual/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/stable/array/virtual/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/stable/array/virtual/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/stable/array/virtual/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/stable/array/virtual/to-reversed": [
|
|
"es.array.to-reversed"
|
|
],
|
|
"core-js/stable/array/virtual/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted"
|
|
],
|
|
"core-js/stable/array/virtual/to-spliced": [
|
|
"es.array.to-spliced"
|
|
],
|
|
"core-js/stable/array/virtual/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/stable/array/virtual/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/array/virtual/with": [
|
|
"es.array.with"
|
|
],
|
|
"core-js/stable/array/with": [
|
|
"es.array.with"
|
|
],
|
|
"core-js/stable/atob": [
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"web.atob",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/stable/btoa": [
|
|
"es.error.to-string",
|
|
"es.object.to-string",
|
|
"web.btoa",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/stable/clear-immediate": [
|
|
"web.immediate"
|
|
],
|
|
"core-js/stable/data-view": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.data-view",
|
|
"es.object.to-string"
|
|
],
|
|
"core-js/stable/date": [
|
|
"es.date.get-year",
|
|
"es.date.now",
|
|
"es.date.set-year",
|
|
"es.date.to-gmt-string",
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json",
|
|
"es.date.to-primitive",
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/stable/date/get-year": [
|
|
"es.date.get-year"
|
|
],
|
|
"core-js/stable/date/now": [
|
|
"es.date.now"
|
|
],
|
|
"core-js/stable/date/set-year": [
|
|
"es.date.set-year"
|
|
],
|
|
"core-js/stable/date/to-gmt-string": [
|
|
"es.date.to-gmt-string"
|
|
],
|
|
"core-js/stable/date/to-iso-string": [
|
|
"es.date.to-iso-string",
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/stable/date/to-json": [
|
|
"es.date.to-json"
|
|
],
|
|
"core-js/stable/date/to-primitive": [
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/stable/date/to-string": [
|
|
"es.date.to-string"
|
|
],
|
|
"core-js/stable/dom-collections": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/dom-collections/for-each": [
|
|
"web.dom-collections.for-each"
|
|
],
|
|
"core-js/stable/dom-collections/iterator": [
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/dom-exception": [
|
|
"es.error.to-string",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/stable/dom-exception/constructor": [
|
|
"es.error.to-string",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack"
|
|
],
|
|
"core-js/stable/dom-exception/to-string-tag": [
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/stable/error": [
|
|
"es.error.cause",
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/stable/error/constructor": [
|
|
"es.error.cause"
|
|
],
|
|
"core-js/stable/error/to-string": [
|
|
"es.error.to-string"
|
|
],
|
|
"core-js/stable/escape": [
|
|
"es.escape"
|
|
],
|
|
"core-js/stable/function": [
|
|
"es.function.bind",
|
|
"es.function.has-instance",
|
|
"es.function.name"
|
|
],
|
|
"core-js/stable/function/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/stable/function/has-instance": [
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/stable/function/name": [
|
|
"es.function.name"
|
|
],
|
|
"core-js/stable/function/virtual": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/stable/function/virtual/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/stable/get-iterator": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/get-iterator-method": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/global-this": [
|
|
"es.global-this"
|
|
],
|
|
"core-js/stable/instance/at": [
|
|
"es.array.at",
|
|
"es.string.at-alternative"
|
|
],
|
|
"core-js/stable/instance/bind": [
|
|
"es.function.bind"
|
|
],
|
|
"core-js/stable/instance/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/stable/instance/concat": [
|
|
"es.array.concat"
|
|
],
|
|
"core-js/stable/instance/copy-within": [
|
|
"es.array.copy-within"
|
|
],
|
|
"core-js/stable/instance/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/stable/instance/entries": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/instance/every": [
|
|
"es.array.every"
|
|
],
|
|
"core-js/stable/instance/fill": [
|
|
"es.array.fill"
|
|
],
|
|
"core-js/stable/instance/filter": [
|
|
"es.array.filter"
|
|
],
|
|
"core-js/stable/instance/find": [
|
|
"es.array.find"
|
|
],
|
|
"core-js/stable/instance/find-index": [
|
|
"es.array.find-index"
|
|
],
|
|
"core-js/stable/instance/find-last": [
|
|
"es.array.find-last"
|
|
],
|
|
"core-js/stable/instance/find-last-index": [
|
|
"es.array.find-last-index"
|
|
],
|
|
"core-js/stable/instance/flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/stable/instance/flat": [
|
|
"es.array.flat",
|
|
"es.array.unscopables.flat"
|
|
],
|
|
"core-js/stable/instance/flat-map": [
|
|
"es.array.flat-map",
|
|
"es.array.unscopables.flat-map"
|
|
],
|
|
"core-js/stable/instance/for-each": [
|
|
"es.array.for-each",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/instance/includes": [
|
|
"es.array.includes",
|
|
"es.string.includes"
|
|
],
|
|
"core-js/stable/instance/index-of": [
|
|
"es.array.index-of"
|
|
],
|
|
"core-js/stable/instance/keys": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/instance/last-index-of": [
|
|
"es.array.last-index-of"
|
|
],
|
|
"core-js/stable/instance/map": [
|
|
"es.array.map"
|
|
],
|
|
"core-js/stable/instance/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/stable/instance/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/stable/instance/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/stable/instance/push": [
|
|
"es.array.push"
|
|
],
|
|
"core-js/stable/instance/reduce": [
|
|
"es.array.reduce"
|
|
],
|
|
"core-js/stable/instance/reduce-right": [
|
|
"es.array.reduce-right"
|
|
],
|
|
"core-js/stable/instance/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/stable/instance/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/stable/instance/reverse": [
|
|
"es.array.reverse"
|
|
],
|
|
"core-js/stable/instance/slice": [
|
|
"es.array.slice"
|
|
],
|
|
"core-js/stable/instance/some": [
|
|
"es.array.some"
|
|
],
|
|
"core-js/stable/instance/sort": [
|
|
"es.array.sort"
|
|
],
|
|
"core-js/stable/instance/splice": [
|
|
"es.array.splice"
|
|
],
|
|
"core-js/stable/instance/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/stable/instance/to-reversed": [
|
|
"es.array.to-reversed"
|
|
],
|
|
"core-js/stable/instance/to-sorted": [
|
|
"es.array.sort",
|
|
"es.array.to-sorted"
|
|
],
|
|
"core-js/stable/instance/to-spliced": [
|
|
"es.array.to-spliced"
|
|
],
|
|
"core-js/stable/instance/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/stable/instance/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/stable/instance/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/stable/instance/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/stable/instance/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/stable/instance/unshift": [
|
|
"es.array.unshift"
|
|
],
|
|
"core-js/stable/instance/values": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/instance/with": [
|
|
"es.array.with"
|
|
],
|
|
"core-js/stable/is-iterable": [
|
|
"es.array.iterator",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/json": [
|
|
"es.json.stringify",
|
|
"es.json.to-string-tag"
|
|
],
|
|
"core-js/stable/json/stringify": [
|
|
"es.json.stringify"
|
|
],
|
|
"core-js/stable/json/to-string-tag": [
|
|
"es.json.to-string-tag"
|
|
],
|
|
"core-js/stable/map": [
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/math": [
|
|
"es.math.acosh",
|
|
"es.math.asinh",
|
|
"es.math.atanh",
|
|
"es.math.cbrt",
|
|
"es.math.clz32",
|
|
"es.math.cosh",
|
|
"es.math.expm1",
|
|
"es.math.fround",
|
|
"es.math.hypot",
|
|
"es.math.imul",
|
|
"es.math.log10",
|
|
"es.math.log1p",
|
|
"es.math.log2",
|
|
"es.math.sign",
|
|
"es.math.sinh",
|
|
"es.math.tanh",
|
|
"es.math.to-string-tag",
|
|
"es.math.trunc"
|
|
],
|
|
"core-js/stable/math/acosh": [
|
|
"es.math.acosh"
|
|
],
|
|
"core-js/stable/math/asinh": [
|
|
"es.math.asinh"
|
|
],
|
|
"core-js/stable/math/atanh": [
|
|
"es.math.atanh"
|
|
],
|
|
"core-js/stable/math/cbrt": [
|
|
"es.math.cbrt"
|
|
],
|
|
"core-js/stable/math/clz32": [
|
|
"es.math.clz32"
|
|
],
|
|
"core-js/stable/math/cosh": [
|
|
"es.math.cosh"
|
|
],
|
|
"core-js/stable/math/expm1": [
|
|
"es.math.expm1"
|
|
],
|
|
"core-js/stable/math/fround": [
|
|
"es.math.fround"
|
|
],
|
|
"core-js/stable/math/hypot": [
|
|
"es.math.hypot"
|
|
],
|
|
"core-js/stable/math/imul": [
|
|
"es.math.imul"
|
|
],
|
|
"core-js/stable/math/log10": [
|
|
"es.math.log10"
|
|
],
|
|
"core-js/stable/math/log1p": [
|
|
"es.math.log1p"
|
|
],
|
|
"core-js/stable/math/log2": [
|
|
"es.math.log2"
|
|
],
|
|
"core-js/stable/math/sign": [
|
|
"es.math.sign"
|
|
],
|
|
"core-js/stable/math/sinh": [
|
|
"es.math.sinh"
|
|
],
|
|
"core-js/stable/math/tanh": [
|
|
"es.math.tanh"
|
|
],
|
|
"core-js/stable/math/to-string-tag": [
|
|
"es.math.to-string-tag"
|
|
],
|
|
"core-js/stable/math/trunc": [
|
|
"es.math.trunc"
|
|
],
|
|
"core-js/stable/number": [
|
|
"es.number.constructor",
|
|
"es.number.epsilon",
|
|
"es.number.is-finite",
|
|
"es.number.is-integer",
|
|
"es.number.is-nan",
|
|
"es.number.is-safe-integer",
|
|
"es.number.max-safe-integer",
|
|
"es.number.min-safe-integer",
|
|
"es.number.parse-float",
|
|
"es.number.parse-int",
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/stable/number/constructor": [
|
|
"es.number.constructor"
|
|
],
|
|
"core-js/stable/number/epsilon": [
|
|
"es.number.epsilon"
|
|
],
|
|
"core-js/stable/number/is-finite": [
|
|
"es.number.is-finite"
|
|
],
|
|
"core-js/stable/number/is-integer": [
|
|
"es.number.is-integer"
|
|
],
|
|
"core-js/stable/number/is-nan": [
|
|
"es.number.is-nan"
|
|
],
|
|
"core-js/stable/number/is-safe-integer": [
|
|
"es.number.is-safe-integer"
|
|
],
|
|
"core-js/stable/number/max-safe-integer": [
|
|
"es.number.max-safe-integer"
|
|
],
|
|
"core-js/stable/number/min-safe-integer": [
|
|
"es.number.min-safe-integer"
|
|
],
|
|
"core-js/stable/number/parse-float": [
|
|
"es.number.parse-float"
|
|
],
|
|
"core-js/stable/number/parse-int": [
|
|
"es.number.parse-int"
|
|
],
|
|
"core-js/stable/number/to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/stable/number/to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/stable/number/to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/stable/number/virtual": [
|
|
"es.number.to-exponential",
|
|
"es.number.to-fixed",
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/stable/number/virtual/to-exponential": [
|
|
"es.number.to-exponential"
|
|
],
|
|
"core-js/stable/number/virtual/to-fixed": [
|
|
"es.number.to-fixed"
|
|
],
|
|
"core-js/stable/number/virtual/to-precision": [
|
|
"es.number.to-precision"
|
|
],
|
|
"core-js/stable/object": [
|
|
"es.symbol",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.assign",
|
|
"es.object.create",
|
|
"es.object.define-getter",
|
|
"es.object.define-properties",
|
|
"es.object.define-property",
|
|
"es.object.define-setter",
|
|
"es.object.entries",
|
|
"es.object.freeze",
|
|
"es.object.from-entries",
|
|
"es.object.get-own-property-descriptor",
|
|
"es.object.get-own-property-descriptors",
|
|
"es.object.get-own-property-names",
|
|
"es.object.get-prototype-of",
|
|
"es.object.has-own",
|
|
"es.object.is",
|
|
"es.object.is-extensible",
|
|
"es.object.is-frozen",
|
|
"es.object.is-sealed",
|
|
"es.object.keys",
|
|
"es.object.lookup-getter",
|
|
"es.object.lookup-setter",
|
|
"es.object.prevent-extensions",
|
|
"es.object.proto",
|
|
"es.object.seal",
|
|
"es.object.set-prototype-of",
|
|
"es.object.to-string",
|
|
"es.object.values",
|
|
"es.reflect.to-string-tag",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/object/assign": [
|
|
"es.object.assign"
|
|
],
|
|
"core-js/stable/object/create": [
|
|
"es.object.create"
|
|
],
|
|
"core-js/stable/object/define-getter": [
|
|
"es.object.define-getter"
|
|
],
|
|
"core-js/stable/object/define-properties": [
|
|
"es.object.define-properties"
|
|
],
|
|
"core-js/stable/object/define-property": [
|
|
"es.object.define-property"
|
|
],
|
|
"core-js/stable/object/define-setter": [
|
|
"es.object.define-setter"
|
|
],
|
|
"core-js/stable/object/entries": [
|
|
"es.object.entries"
|
|
],
|
|
"core-js/stable/object/freeze": [
|
|
"es.object.freeze"
|
|
],
|
|
"core-js/stable/object/from-entries": [
|
|
"es.array.iterator",
|
|
"es.object.from-entries",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/object/get-own-property-descriptor": [
|
|
"es.object.get-own-property-descriptor"
|
|
],
|
|
"core-js/stable/object/get-own-property-descriptors": [
|
|
"es.object.get-own-property-descriptors"
|
|
],
|
|
"core-js/stable/object/get-own-property-names": [
|
|
"es.object.get-own-property-names"
|
|
],
|
|
"core-js/stable/object/get-own-property-symbols": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/stable/object/get-prototype-of": [
|
|
"es.object.get-prototype-of"
|
|
],
|
|
"core-js/stable/object/has-own": [
|
|
"es.object.has-own"
|
|
],
|
|
"core-js/stable/object/is": [
|
|
"es.object.is"
|
|
],
|
|
"core-js/stable/object/is-extensible": [
|
|
"es.object.is-extensible"
|
|
],
|
|
"core-js/stable/object/is-frozen": [
|
|
"es.object.is-frozen"
|
|
],
|
|
"core-js/stable/object/is-sealed": [
|
|
"es.object.is-sealed"
|
|
],
|
|
"core-js/stable/object/keys": [
|
|
"es.object.keys"
|
|
],
|
|
"core-js/stable/object/lookup-getter": [
|
|
"es.object.lookup-getter"
|
|
],
|
|
"core-js/stable/object/lookup-setter": [
|
|
"es.object.lookup-setter"
|
|
],
|
|
"core-js/stable/object/prevent-extensions": [
|
|
"es.object.prevent-extensions"
|
|
],
|
|
"core-js/stable/object/proto": [
|
|
"es.object.proto"
|
|
],
|
|
"core-js/stable/object/seal": [
|
|
"es.object.seal"
|
|
],
|
|
"core-js/stable/object/set-prototype-of": [
|
|
"es.object.set-prototype-of"
|
|
],
|
|
"core-js/stable/object/to-string": [
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/stable/object/values": [
|
|
"es.object.values"
|
|
],
|
|
"core-js/stable/parse-float": [
|
|
"es.parse-float"
|
|
],
|
|
"core-js/stable/parse-int": [
|
|
"es.parse-int"
|
|
],
|
|
"core-js/stable/promise": [
|
|
"es.aggregate-error",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.promise.any",
|
|
"es.promise.finally",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/promise/all-settled": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.all-settled",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/promise/any": [
|
|
"es.aggregate-error",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.any",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/promise/finally": [
|
|
"es.object.to-string",
|
|
"es.promise",
|
|
"es.promise.finally"
|
|
],
|
|
"core-js/stable/queue-microtask": [
|
|
"web.queue-microtask"
|
|
],
|
|
"core-js/stable/reflect": [
|
|
"es.object.to-string",
|
|
"es.reflect.apply",
|
|
"es.reflect.construct",
|
|
"es.reflect.define-property",
|
|
"es.reflect.delete-property",
|
|
"es.reflect.get",
|
|
"es.reflect.get-own-property-descriptor",
|
|
"es.reflect.get-prototype-of",
|
|
"es.reflect.has",
|
|
"es.reflect.is-extensible",
|
|
"es.reflect.own-keys",
|
|
"es.reflect.prevent-extensions",
|
|
"es.reflect.set",
|
|
"es.reflect.set-prototype-of",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/stable/reflect/apply": [
|
|
"es.reflect.apply"
|
|
],
|
|
"core-js/stable/reflect/construct": [
|
|
"es.reflect.construct"
|
|
],
|
|
"core-js/stable/reflect/define-property": [
|
|
"es.reflect.define-property"
|
|
],
|
|
"core-js/stable/reflect/delete-property": [
|
|
"es.reflect.delete-property"
|
|
],
|
|
"core-js/stable/reflect/get": [
|
|
"es.reflect.get"
|
|
],
|
|
"core-js/stable/reflect/get-own-property-descriptor": [
|
|
"es.reflect.get-own-property-descriptor"
|
|
],
|
|
"core-js/stable/reflect/get-prototype-of": [
|
|
"es.reflect.get-prototype-of"
|
|
],
|
|
"core-js/stable/reflect/has": [
|
|
"es.reflect.has"
|
|
],
|
|
"core-js/stable/reflect/is-extensible": [
|
|
"es.reflect.is-extensible"
|
|
],
|
|
"core-js/stable/reflect/own-keys": [
|
|
"es.reflect.own-keys"
|
|
],
|
|
"core-js/stable/reflect/prevent-extensions": [
|
|
"es.reflect.prevent-extensions"
|
|
],
|
|
"core-js/stable/reflect/set": [
|
|
"es.reflect.set"
|
|
],
|
|
"core-js/stable/reflect/set-prototype-of": [
|
|
"es.reflect.set-prototype-of"
|
|
],
|
|
"core-js/stable/reflect/to-string-tag": [
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/stable/regexp": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.flags",
|
|
"es.regexp.sticky",
|
|
"es.regexp.test",
|
|
"es.regexp.to-string",
|
|
"es.string.match",
|
|
"es.string.replace",
|
|
"es.string.search",
|
|
"es.string.split"
|
|
],
|
|
"core-js/stable/regexp/constructor": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec",
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/stable/regexp/dot-all": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.dot-all",
|
|
"es.regexp.exec"
|
|
],
|
|
"core-js/stable/regexp/flags": [
|
|
"es.regexp.flags"
|
|
],
|
|
"core-js/stable/regexp/match": [
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/stable/regexp/replace": [
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/stable/regexp/search": [
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/stable/regexp/split": [
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/stable/regexp/sticky": [
|
|
"es.regexp.constructor",
|
|
"es.regexp.exec",
|
|
"es.regexp.sticky"
|
|
],
|
|
"core-js/stable/regexp/test": [
|
|
"es.regexp.exec",
|
|
"es.regexp.test"
|
|
],
|
|
"core-js/stable/regexp/to-string": [
|
|
"es.regexp.to-string"
|
|
],
|
|
"core-js/stable/self": [
|
|
"web.self"
|
|
],
|
|
"core-js/stable/set": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.set",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/set-immediate": [
|
|
"web.immediate"
|
|
],
|
|
"core-js/stable/set-interval": [
|
|
"web.timers"
|
|
],
|
|
"core-js/stable/set-timeout": [
|
|
"web.timers"
|
|
],
|
|
"core-js/stable/string": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.from-code-point",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.raw",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup"
|
|
],
|
|
"core-js/stable/string/anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/stable/string/at": [
|
|
"es.string.at-alternative"
|
|
],
|
|
"core-js/stable/string/big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/stable/string/blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/stable/string/bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/stable/string/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/stable/string/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/stable/string/fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/stable/string/fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/stable/string/fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/stable/string/from-code-point": [
|
|
"es.string.from-code-point"
|
|
],
|
|
"core-js/stable/string/includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/stable/string/italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/stable/string/iterator": [
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/stable/string/link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/stable/string/match": [
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/stable/string/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/stable/string/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/stable/string/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/stable/string/raw": [
|
|
"es.string.raw"
|
|
],
|
|
"core-js/stable/string/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/stable/string/replace": [
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/stable/string/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/stable/string/search": [
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/stable/string/small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/stable/string/split": [
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/stable/string/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/stable/string/strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/stable/string/sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/stable/string/substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/stable/string/sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/stable/string/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/stable/string/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/stable/string/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/stable/string/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/stable/string/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/stable/string/virtual": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.at-alternative",
|
|
"es.string.code-point-at",
|
|
"es.string.ends-with",
|
|
"es.string.includes",
|
|
"es.string.iterator",
|
|
"es.string.match",
|
|
"es.string.match-all",
|
|
"es.string.pad-end",
|
|
"es.string.pad-start",
|
|
"es.string.repeat",
|
|
"es.string.replace",
|
|
"es.string.replace-all",
|
|
"es.string.search",
|
|
"es.string.split",
|
|
"es.string.starts-with",
|
|
"es.string.substr",
|
|
"es.string.trim",
|
|
"es.string.trim-end",
|
|
"es.string.trim-start",
|
|
"es.string.anchor",
|
|
"es.string.big",
|
|
"es.string.blink",
|
|
"es.string.bold",
|
|
"es.string.fixed",
|
|
"es.string.fontcolor",
|
|
"es.string.fontsize",
|
|
"es.string.italics",
|
|
"es.string.link",
|
|
"es.string.small",
|
|
"es.string.strike",
|
|
"es.string.sub",
|
|
"es.string.sup"
|
|
],
|
|
"core-js/stable/string/virtual/anchor": [
|
|
"es.string.anchor"
|
|
],
|
|
"core-js/stable/string/virtual/at": [
|
|
"es.string.at-alternative"
|
|
],
|
|
"core-js/stable/string/virtual/big": [
|
|
"es.string.big"
|
|
],
|
|
"core-js/stable/string/virtual/blink": [
|
|
"es.string.blink"
|
|
],
|
|
"core-js/stable/string/virtual/bold": [
|
|
"es.string.bold"
|
|
],
|
|
"core-js/stable/string/virtual/code-point-at": [
|
|
"es.string.code-point-at"
|
|
],
|
|
"core-js/stable/string/virtual/ends-with": [
|
|
"es.string.ends-with"
|
|
],
|
|
"core-js/stable/string/virtual/fixed": [
|
|
"es.string.fixed"
|
|
],
|
|
"core-js/stable/string/virtual/fontcolor": [
|
|
"es.string.fontcolor"
|
|
],
|
|
"core-js/stable/string/virtual/fontsize": [
|
|
"es.string.fontsize"
|
|
],
|
|
"core-js/stable/string/virtual/includes": [
|
|
"es.string.includes"
|
|
],
|
|
"core-js/stable/string/virtual/italics": [
|
|
"es.string.italics"
|
|
],
|
|
"core-js/stable/string/virtual/iterator": [
|
|
"es.object.to-string",
|
|
"es.string.iterator"
|
|
],
|
|
"core-js/stable/string/virtual/link": [
|
|
"es.string.link"
|
|
],
|
|
"core-js/stable/string/virtual/match-all": [
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/stable/string/virtual/pad-end": [
|
|
"es.string.pad-end"
|
|
],
|
|
"core-js/stable/string/virtual/pad-start": [
|
|
"es.string.pad-start"
|
|
],
|
|
"core-js/stable/string/virtual/repeat": [
|
|
"es.string.repeat"
|
|
],
|
|
"core-js/stable/string/virtual/replace-all": [
|
|
"es.regexp.exec",
|
|
"es.string.replace",
|
|
"es.string.replace-all"
|
|
],
|
|
"core-js/stable/string/virtual/small": [
|
|
"es.string.small"
|
|
],
|
|
"core-js/stable/string/virtual/starts-with": [
|
|
"es.string.starts-with"
|
|
],
|
|
"core-js/stable/string/virtual/strike": [
|
|
"es.string.strike"
|
|
],
|
|
"core-js/stable/string/virtual/sub": [
|
|
"es.string.sub"
|
|
],
|
|
"core-js/stable/string/virtual/substr": [
|
|
"es.string.substr"
|
|
],
|
|
"core-js/stable/string/virtual/sup": [
|
|
"es.string.sup"
|
|
],
|
|
"core-js/stable/string/virtual/trim": [
|
|
"es.string.trim"
|
|
],
|
|
"core-js/stable/string/virtual/trim-end": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/stable/string/virtual/trim-left": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/stable/string/virtual/trim-right": [
|
|
"es.string.trim-end"
|
|
],
|
|
"core-js/stable/string/virtual/trim-start": [
|
|
"es.string.trim-start"
|
|
],
|
|
"core-js/stable/structured-clone": [
|
|
"es.error.to-string",
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.object.keys",
|
|
"es.object.to-string",
|
|
"es.set",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.structured-clone"
|
|
],
|
|
"core-js/stable/symbol": [
|
|
"es.symbol",
|
|
"es.symbol.description",
|
|
"es.symbol.async-iterator",
|
|
"es.symbol.has-instance",
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.symbol.iterator",
|
|
"es.symbol.match",
|
|
"es.symbol.match-all",
|
|
"es.symbol.replace",
|
|
"es.symbol.search",
|
|
"es.symbol.species",
|
|
"es.symbol.split",
|
|
"es.symbol.to-primitive",
|
|
"es.symbol.to-string-tag",
|
|
"es.symbol.unscopables",
|
|
"es.array.concat",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/symbol/async-iterator": [
|
|
"es.symbol.async-iterator"
|
|
],
|
|
"core-js/stable/symbol/description": [
|
|
"es.symbol.description"
|
|
],
|
|
"core-js/stable/symbol/for": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/stable/symbol/has-instance": [
|
|
"es.symbol.has-instance",
|
|
"es.function.has-instance"
|
|
],
|
|
"core-js/stable/symbol/is-concat-spreadable": [
|
|
"es.symbol.is-concat-spreadable",
|
|
"es.array.concat"
|
|
],
|
|
"core-js/stable/symbol/iterator": [
|
|
"es.symbol.iterator",
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/symbol/key-for": [
|
|
"es.symbol"
|
|
],
|
|
"core-js/stable/symbol/match": [
|
|
"es.symbol.match",
|
|
"es.regexp.exec",
|
|
"es.string.match"
|
|
],
|
|
"core-js/stable/symbol/match-all": [
|
|
"es.symbol.match-all",
|
|
"es.object.to-string",
|
|
"es.regexp.exec",
|
|
"es.string.match-all"
|
|
],
|
|
"core-js/stable/symbol/replace": [
|
|
"es.symbol.replace",
|
|
"es.regexp.exec",
|
|
"es.string.replace"
|
|
],
|
|
"core-js/stable/symbol/search": [
|
|
"es.symbol.search",
|
|
"es.regexp.exec",
|
|
"es.string.search"
|
|
],
|
|
"core-js/stable/symbol/species": [
|
|
"es.symbol.species"
|
|
],
|
|
"core-js/stable/symbol/split": [
|
|
"es.symbol.split",
|
|
"es.regexp.exec",
|
|
"es.string.split"
|
|
],
|
|
"core-js/stable/symbol/to-primitive": [
|
|
"es.symbol.to-primitive",
|
|
"es.date.to-primitive"
|
|
],
|
|
"core-js/stable/symbol/to-string-tag": [
|
|
"es.symbol.to-string-tag",
|
|
"es.json.to-string-tag",
|
|
"es.math.to-string-tag",
|
|
"es.object.to-string",
|
|
"es.reflect.to-string-tag"
|
|
],
|
|
"core-js/stable/symbol/unscopables": [
|
|
"es.symbol.unscopables"
|
|
],
|
|
"core-js/stable/typed-array": [
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/at": [
|
|
"es.typed-array.at"
|
|
],
|
|
"core-js/stable/typed-array/copy-within": [
|
|
"es.typed-array.copy-within"
|
|
],
|
|
"core-js/stable/typed-array/entries": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/stable/typed-array/every": [
|
|
"es.typed-array.every"
|
|
],
|
|
"core-js/stable/typed-array/fill": [
|
|
"es.typed-array.fill"
|
|
],
|
|
"core-js/stable/typed-array/filter": [
|
|
"es.typed-array.filter"
|
|
],
|
|
"core-js/stable/typed-array/find": [
|
|
"es.typed-array.find"
|
|
],
|
|
"core-js/stable/typed-array/find-index": [
|
|
"es.typed-array.find-index"
|
|
],
|
|
"core-js/stable/typed-array/find-last": [
|
|
"es.typed-array.find-last"
|
|
],
|
|
"core-js/stable/typed-array/find-last-index": [
|
|
"es.typed-array.find-last-index"
|
|
],
|
|
"core-js/stable/typed-array/float32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.float32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/float64-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.float64-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/for-each": [
|
|
"es.typed-array.for-each"
|
|
],
|
|
"core-js/stable/typed-array/from": [
|
|
"es.typed-array.from"
|
|
],
|
|
"core-js/stable/typed-array/includes": [
|
|
"es.typed-array.includes"
|
|
],
|
|
"core-js/stable/typed-array/index-of": [
|
|
"es.typed-array.index-of"
|
|
],
|
|
"core-js/stable/typed-array/int16-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.int16-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/int32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.int32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/int8-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.int8-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/iterator": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/stable/typed-array/join": [
|
|
"es.typed-array.join"
|
|
],
|
|
"core-js/stable/typed-array/keys": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/stable/typed-array/last-index-of": [
|
|
"es.typed-array.last-index-of"
|
|
],
|
|
"core-js/stable/typed-array/map": [
|
|
"es.typed-array.map"
|
|
],
|
|
"core-js/stable/typed-array/methods": [
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/of": [
|
|
"es.typed-array.of"
|
|
],
|
|
"core-js/stable/typed-array/reduce": [
|
|
"es.typed-array.reduce"
|
|
],
|
|
"core-js/stable/typed-array/reduce-right": [
|
|
"es.typed-array.reduce-right"
|
|
],
|
|
"core-js/stable/typed-array/reverse": [
|
|
"es.typed-array.reverse"
|
|
],
|
|
"core-js/stable/typed-array/set": [
|
|
"es.typed-array.set"
|
|
],
|
|
"core-js/stable/typed-array/slice": [
|
|
"es.typed-array.slice"
|
|
],
|
|
"core-js/stable/typed-array/some": [
|
|
"es.typed-array.some"
|
|
],
|
|
"core-js/stable/typed-array/sort": [
|
|
"es.typed-array.sort"
|
|
],
|
|
"core-js/stable/typed-array/subarray": [
|
|
"es.typed-array.subarray"
|
|
],
|
|
"core-js/stable/typed-array/to-locale-string": [
|
|
"es.typed-array.to-locale-string"
|
|
],
|
|
"core-js/stable/typed-array/to-reversed": [
|
|
"esnext.typed-array.to-reversed"
|
|
],
|
|
"core-js/stable/typed-array/to-sorted": [
|
|
"es.typed-array.sort",
|
|
"es.typed-array.to-sorted"
|
|
],
|
|
"core-js/stable/typed-array/to-string": [
|
|
"es.typed-array.to-string"
|
|
],
|
|
"core-js/stable/typed-array/uint16-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint16-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/uint32-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint32-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/uint8-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint8-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/uint8-clamped-array": [
|
|
"es.array-buffer.constructor",
|
|
"es.array-buffer.slice",
|
|
"es.object.to-string",
|
|
"es.string.iterator",
|
|
"es.typed-array.uint8-clamped-array",
|
|
"es.typed-array.at",
|
|
"es.typed-array.copy-within",
|
|
"es.typed-array.every",
|
|
"es.typed-array.fill",
|
|
"es.typed-array.filter",
|
|
"es.typed-array.find",
|
|
"es.typed-array.find-index",
|
|
"es.typed-array.find-last",
|
|
"es.typed-array.find-last-index",
|
|
"es.typed-array.for-each",
|
|
"es.typed-array.from",
|
|
"es.typed-array.includes",
|
|
"es.typed-array.index-of",
|
|
"es.typed-array.iterator",
|
|
"es.typed-array.join",
|
|
"es.typed-array.last-index-of",
|
|
"es.typed-array.map",
|
|
"es.typed-array.of",
|
|
"es.typed-array.reduce",
|
|
"es.typed-array.reduce-right",
|
|
"es.typed-array.reverse",
|
|
"es.typed-array.set",
|
|
"es.typed-array.slice",
|
|
"es.typed-array.some",
|
|
"es.typed-array.sort",
|
|
"es.typed-array.subarray",
|
|
"es.typed-array.to-locale-string",
|
|
"es.typed-array.to-reversed",
|
|
"es.typed-array.to-sorted",
|
|
"es.typed-array.to-string",
|
|
"es.typed-array.with"
|
|
],
|
|
"core-js/stable/typed-array/values": [
|
|
"es.object.to-string",
|
|
"es.typed-array.iterator"
|
|
],
|
|
"core-js/stable/typed-array/with": [
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/stable/unescape": [
|
|
"es.unescape"
|
|
],
|
|
"core-js/stable/url": [
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/stable/url-search-params": [
|
|
"web.dom-collections.iterator",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/stable/url/to-json": [
|
|
"web.url.to-json"
|
|
],
|
|
"core-js/stable/weak-map": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.weak-map",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stable/weak-set": [
|
|
"es.array.iterator",
|
|
"es.object.to-string",
|
|
"es.weak-set",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/stage": [
|
|
"es.map",
|
|
"es.string.at-alternative",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.bigint.range",
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"esnext.observable",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"esnext.string.at",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/stage/0": [
|
|
"es.map",
|
|
"es.string.at-alternative",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.bigint.range",
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"esnext.observable",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"esnext.string.at",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/stage/1": [
|
|
"es.map",
|
|
"es.string.at-alternative",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.bigint.range",
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"esnext.observable",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of"
|
|
],
|
|
"core-js/stage/2": [
|
|
"es.string.at-alternative",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.map.emplace",
|
|
"esnext.object.has-own",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with",
|
|
"esnext.weak-map.emplace"
|
|
],
|
|
"core-js/stage/3": [
|
|
"es.string.at-alternative",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.object.has-own",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.union.v2",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.dispose",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/stage/4": [
|
|
"es.string.at-alternative",
|
|
"esnext.aggregate-error",
|
|
"esnext.array.at",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.with",
|
|
"esnext.global-this",
|
|
"esnext.object.has-own",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.with"
|
|
],
|
|
"core-js/stage/pre": [
|
|
"es.map",
|
|
"es.string.at-alternative",
|
|
"esnext.aggregate-error",
|
|
"esnext.suppressed-error.constructor",
|
|
"esnext.array.from-async",
|
|
"esnext.array.at",
|
|
"esnext.array.filter-out",
|
|
"esnext.array.filter-reject",
|
|
"esnext.array.find-last",
|
|
"esnext.array.find-last-index",
|
|
"esnext.array.group",
|
|
"esnext.array.group-by",
|
|
"esnext.array.group-by-to-map",
|
|
"esnext.array.group-to-map",
|
|
"esnext.array.is-template-object",
|
|
"esnext.array.last-index",
|
|
"esnext.array.last-item",
|
|
"esnext.array.to-reversed",
|
|
"esnext.array.to-sorted",
|
|
"esnext.array.to-spliced",
|
|
"esnext.array.unique-by",
|
|
"esnext.array.with",
|
|
"esnext.array-buffer.detached",
|
|
"esnext.array-buffer.transfer",
|
|
"esnext.array-buffer.transfer-to-fixed-length",
|
|
"esnext.async-disposable-stack.constructor",
|
|
"esnext.async-iterator.constructor",
|
|
"esnext.async-iterator.as-indexed-pairs",
|
|
"esnext.async-iterator.async-dispose",
|
|
"esnext.async-iterator.drop",
|
|
"esnext.async-iterator.every",
|
|
"esnext.async-iterator.filter",
|
|
"esnext.async-iterator.find",
|
|
"esnext.async-iterator.flat-map",
|
|
"esnext.async-iterator.for-each",
|
|
"esnext.async-iterator.from",
|
|
"esnext.async-iterator.indexed",
|
|
"esnext.async-iterator.map",
|
|
"esnext.async-iterator.reduce",
|
|
"esnext.async-iterator.some",
|
|
"esnext.async-iterator.take",
|
|
"esnext.async-iterator.to-array",
|
|
"esnext.bigint.range",
|
|
"esnext.composite-key",
|
|
"esnext.composite-symbol",
|
|
"esnext.disposable-stack.constructor",
|
|
"esnext.function.demethodize",
|
|
"esnext.function.is-callable",
|
|
"esnext.function.is-constructor",
|
|
"esnext.function.un-this",
|
|
"esnext.global-this",
|
|
"esnext.iterator.constructor",
|
|
"esnext.iterator.as-indexed-pairs",
|
|
"esnext.iterator.dispose",
|
|
"esnext.iterator.drop",
|
|
"esnext.iterator.every",
|
|
"esnext.iterator.filter",
|
|
"esnext.iterator.find",
|
|
"esnext.iterator.flat-map",
|
|
"esnext.iterator.for-each",
|
|
"esnext.iterator.from",
|
|
"esnext.iterator.indexed",
|
|
"esnext.iterator.map",
|
|
"esnext.iterator.range",
|
|
"esnext.iterator.reduce",
|
|
"esnext.iterator.some",
|
|
"esnext.iterator.take",
|
|
"esnext.iterator.to-array",
|
|
"esnext.iterator.to-async",
|
|
"esnext.json.is-raw-json",
|
|
"esnext.json.parse",
|
|
"esnext.json.raw-json",
|
|
"esnext.map.delete-all",
|
|
"esnext.map.emplace",
|
|
"esnext.map.every",
|
|
"esnext.map.filter",
|
|
"esnext.map.find",
|
|
"esnext.map.find-key",
|
|
"esnext.map.from",
|
|
"esnext.map.group-by",
|
|
"esnext.map.includes",
|
|
"esnext.map.key-by",
|
|
"esnext.map.key-of",
|
|
"esnext.map.map-keys",
|
|
"esnext.map.map-values",
|
|
"esnext.map.merge",
|
|
"esnext.map.of",
|
|
"esnext.map.reduce",
|
|
"esnext.map.some",
|
|
"esnext.map.update",
|
|
"esnext.map.update-or-insert",
|
|
"esnext.map.upsert",
|
|
"esnext.math.clamp",
|
|
"esnext.math.deg-per-rad",
|
|
"esnext.math.degrees",
|
|
"esnext.math.fscale",
|
|
"esnext.math.iaddh",
|
|
"esnext.math.imulh",
|
|
"esnext.math.isubh",
|
|
"esnext.math.rad-per-deg",
|
|
"esnext.math.radians",
|
|
"esnext.math.scale",
|
|
"esnext.math.seeded-prng",
|
|
"esnext.math.signbit",
|
|
"esnext.math.umulh",
|
|
"esnext.number.from-string",
|
|
"esnext.number.range",
|
|
"esnext.object.has-own",
|
|
"esnext.object.iterate-entries",
|
|
"esnext.object.iterate-keys",
|
|
"esnext.object.iterate-values",
|
|
"esnext.observable",
|
|
"esnext.promise.all-settled",
|
|
"esnext.promise.any",
|
|
"esnext.promise.try",
|
|
"esnext.reflect.define-metadata",
|
|
"esnext.reflect.delete-metadata",
|
|
"esnext.reflect.get-metadata",
|
|
"esnext.reflect.get-metadata-keys",
|
|
"esnext.reflect.get-own-metadata",
|
|
"esnext.reflect.get-own-metadata-keys",
|
|
"esnext.reflect.has-metadata",
|
|
"esnext.reflect.has-own-metadata",
|
|
"esnext.reflect.metadata",
|
|
"esnext.set.add-all",
|
|
"esnext.set.delete-all",
|
|
"esnext.set.difference.v2",
|
|
"esnext.set.difference",
|
|
"esnext.set.every",
|
|
"esnext.set.filter",
|
|
"esnext.set.find",
|
|
"esnext.set.from",
|
|
"esnext.set.intersection.v2",
|
|
"esnext.set.intersection",
|
|
"esnext.set.is-disjoint-from.v2",
|
|
"esnext.set.is-disjoint-from",
|
|
"esnext.set.is-subset-of.v2",
|
|
"esnext.set.is-subset-of",
|
|
"esnext.set.is-superset-of.v2",
|
|
"esnext.set.is-superset-of",
|
|
"esnext.set.join",
|
|
"esnext.set.map",
|
|
"esnext.set.of",
|
|
"esnext.set.reduce",
|
|
"esnext.set.some",
|
|
"esnext.set.symmetric-difference.v2",
|
|
"esnext.set.symmetric-difference",
|
|
"esnext.set.union.v2",
|
|
"esnext.set.union",
|
|
"esnext.string.at",
|
|
"esnext.string.cooked",
|
|
"esnext.string.code-points",
|
|
"esnext.string.dedent",
|
|
"esnext.string.is-well-formed",
|
|
"esnext.string.match-all",
|
|
"esnext.string.replace-all",
|
|
"esnext.string.to-well-formed",
|
|
"esnext.symbol.async-dispose",
|
|
"esnext.symbol.dispose",
|
|
"esnext.symbol.is-registered",
|
|
"esnext.symbol.is-well-known",
|
|
"esnext.symbol.matcher",
|
|
"esnext.symbol.metadata",
|
|
"esnext.symbol.metadata-key",
|
|
"esnext.symbol.observable",
|
|
"esnext.symbol.pattern-match",
|
|
"esnext.symbol.replace-all",
|
|
"esnext.typed-array.from-async",
|
|
"esnext.typed-array.at",
|
|
"esnext.typed-array.filter-out",
|
|
"esnext.typed-array.filter-reject",
|
|
"esnext.typed-array.find-last",
|
|
"esnext.typed-array.find-last-index",
|
|
"esnext.typed-array.group-by",
|
|
"esnext.typed-array.to-reversed",
|
|
"esnext.typed-array.to-sorted",
|
|
"esnext.typed-array.to-spliced",
|
|
"esnext.typed-array.unique-by",
|
|
"esnext.typed-array.with",
|
|
"esnext.weak-map.delete-all",
|
|
"esnext.weak-map.from",
|
|
"esnext.weak-map.of",
|
|
"esnext.weak-map.emplace",
|
|
"esnext.weak-map.upsert",
|
|
"esnext.weak-set.add-all",
|
|
"esnext.weak-set.delete-all",
|
|
"esnext.weak-set.from",
|
|
"esnext.weak-set.of",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/web": [
|
|
"web.atob",
|
|
"web.btoa",
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag",
|
|
"web.immediate",
|
|
"web.queue-microtask",
|
|
"web.self",
|
|
"web.structured-clone",
|
|
"web.timers",
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/web/dom-collections": [
|
|
"web.dom-collections.for-each",
|
|
"web.dom-collections.iterator"
|
|
],
|
|
"core-js/web/dom-exception": [
|
|
"es.error.to-string",
|
|
"web.dom-exception.constructor",
|
|
"web.dom-exception.stack",
|
|
"web.dom-exception.to-string-tag"
|
|
],
|
|
"core-js/web/immediate": [
|
|
"web.immediate"
|
|
],
|
|
"core-js/web/queue-microtask": [
|
|
"web.queue-microtask"
|
|
],
|
|
"core-js/web/structured-clone": [
|
|
"es.array.iterator",
|
|
"es.map",
|
|
"es.object.to-string",
|
|
"es.set",
|
|
"web.structured-clone"
|
|
],
|
|
"core-js/web/timers": [
|
|
"web.timers"
|
|
],
|
|
"core-js/web/url": [
|
|
"web.url",
|
|
"web.url.to-json",
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
],
|
|
"core-js/web/url-search-params": [
|
|
"web.url-search-params",
|
|
"web.url-search-params.size"
|
|
]
|
|
};
|
|
|
|
var entries$1 = require$$0$2;
|
|
|
|
var _InstanceProperties$1;
|
|
var corejs3ShippedProposalsList$1 = new Set(["esnext.array.group", "esnext.array.group-to-map", "esnext.array.to-reversed", "esnext.array.to-sorted", "esnext.array.to-spliced", "esnext.array.with", "esnext.typed-array.to-reversed", "esnext.typed-array.to-sorted", "esnext.typed-array.with"]);
|
|
var polyfillsOrder$1 = {};
|
|
Object.keys(data$1).forEach(function (name, index) {
|
|
polyfillsOrder$1[name] = index;
|
|
});
|
|
var define$2 = function define(pure, global, name, exclude) {
|
|
if (name === void 0) {
|
|
name = global[0];
|
|
}
|
|
return {
|
|
name: name,
|
|
pure: pure,
|
|
global: global.sort(function (a, b) {
|
|
return polyfillsOrder$1[a] - polyfillsOrder$1[b];
|
|
}),
|
|
exclude: exclude
|
|
};
|
|
};
|
|
var typed$1 = function typed(name) {
|
|
return define$2(null, [name].concat(TypedArrayDependencies$1));
|
|
};
|
|
var ArrayNatureIterators$2 = ["es.array.iterator", "web.dom-collections.iterator"];
|
|
var CommonIterators$2 = ["es.string.iterator"].concat(ArrayNatureIterators$2);
|
|
var ArrayNatureIteratorsWithTag$1 = ["es.object.to-string"].concat(ArrayNatureIterators$2);
|
|
var CommonIteratorsWithTag$1 = ["es.object.to-string"].concat(_toConsumableArray(CommonIterators$2));
|
|
var ErrorDependencies$1 = ["es.error.cause", "es.error.to-string"];
|
|
var TypedArrayDependencies$1 = ["es.typed-array.at", "es.typed-array.copy-within", "es.typed-array.every", "es.typed-array.fill", "es.typed-array.filter", "es.typed-array.find", "es.typed-array.find-index", "es.typed-array.find-last", "es.typed-array.find-last-index", "es.typed-array.for-each", "es.typed-array.includes", "es.typed-array.index-of", "es.typed-array.iterator", "es.typed-array.join", "es.typed-array.last-index-of", "es.typed-array.map", "es.typed-array.reduce", "es.typed-array.reduce-right", "es.typed-array.reverse", "es.typed-array.set", "es.typed-array.slice", "es.typed-array.some", "es.typed-array.sort", "es.typed-array.subarray", "es.typed-array.to-locale-string", "es.typed-array.to-string", "es.object.to-string", "es.array.iterator", "es.array-buffer.slice", "esnext.typed-array.filter-reject", "esnext.typed-array.group-by", "esnext.typed-array.to-reversed", "esnext.typed-array.to-sorted", "esnext.typed-array.to-spliced", "esnext.typed-array.unique-by", "esnext.typed-array.with"];
|
|
var PromiseDependencies$2 = ["es.promise", "es.object.to-string"];
|
|
var PromiseDependenciesWithIterators$1 = [].concat(PromiseDependencies$2, _toConsumableArray(CommonIterators$2));
|
|
var SymbolDependencies$1 = ["es.symbol", "es.symbol.description", "es.object.to-string"];
|
|
var MapDependencies$1 = ["es.map", "esnext.map.delete-all", "esnext.map.emplace", "esnext.map.every", "esnext.map.filter", "esnext.map.find", "esnext.map.find-key", "esnext.map.includes", "esnext.map.key-of", "esnext.map.map-keys", "esnext.map.map-values", "esnext.map.merge", "esnext.map.reduce", "esnext.map.some", "esnext.map.update"].concat(_toConsumableArray(CommonIteratorsWithTag$1));
|
|
var SetDependencies$1 = ["es.set", "esnext.set.add-all", "esnext.set.delete-all", "esnext.set.difference", "esnext.set.every", "esnext.set.filter", "esnext.set.find", "esnext.set.intersection", "esnext.set.is-disjoint-from", "esnext.set.is-subset-of", "esnext.set.is-superset-of", "esnext.set.join", "esnext.set.map", "esnext.set.reduce", "esnext.set.some", "esnext.set.symmetric-difference", "esnext.set.union"].concat(_toConsumableArray(CommonIteratorsWithTag$1));
|
|
var WeakMapDependencies$1 = ["es.weak-map", "esnext.weak-map.delete-all", "esnext.weak-map.emplace"].concat(_toConsumableArray(CommonIteratorsWithTag$1));
|
|
var WeakSetDependencies$1 = ["es.weak-set", "esnext.weak-set.add-all", "esnext.weak-set.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag$1));
|
|
var DOMExceptionDependencies$1 = ["web.dom-exception.constructor", "web.dom-exception.stack", "web.dom-exception.to-string-tag", "es.error.to-string"];
|
|
var URLSearchParamsDependencies$1 = ["web.url-search-params"].concat(_toConsumableArray(CommonIteratorsWithTag$1));
|
|
var AsyncIteratorDependencies$1 = ["esnext.async-iterator.constructor"].concat(PromiseDependencies$2);
|
|
var AsyncIteratorProblemMethods$1 = ["esnext.async-iterator.every", "esnext.async-iterator.filter", "esnext.async-iterator.find", "esnext.async-iterator.flat-map", "esnext.async-iterator.for-each", "esnext.async-iterator.map", "esnext.async-iterator.reduce", "esnext.async-iterator.some"];
|
|
var IteratorDependencies$1 = ["esnext.iterator.constructor", "es.object.to-string"];
|
|
var TypedArrayStaticMethods$1 = {
|
|
from: define$2(null, ["es.typed-array.from"]),
|
|
fromAsync: define$2(null, ["esnext.typed-array.from-async"].concat(_toConsumableArray(PromiseDependenciesWithIterators$1))),
|
|
of: define$2(null, ["es.typed-array.of"])
|
|
};
|
|
var BuiltIns$2 = {
|
|
AsyncIterator: define$2("async-iterator/index", AsyncIteratorDependencies$1),
|
|
AggregateError: define$2("aggregate-error", ["es.aggregate-error"].concat(ErrorDependencies$1, _toConsumableArray(CommonIteratorsWithTag$1), ["es.aggregate-error.cause"])),
|
|
ArrayBuffer: define$2(null, ["es.array-buffer.constructor", "es.array-buffer.slice", "es.object.to-string"]),
|
|
DataView: define$2(null, ["es.data-view", "es.array-buffer.slice", "es.object.to-string"]),
|
|
Date: define$2(null, ["es.date.to-string"]),
|
|
DOMException: define$2("dom-exception", DOMExceptionDependencies$1),
|
|
Error: define$2(null, ErrorDependencies$1),
|
|
EvalError: define$2(null, ErrorDependencies$1),
|
|
Float32Array: typed$1("es.typed-array.float32-array"),
|
|
Float64Array: typed$1("es.typed-array.float64-array"),
|
|
Int8Array: typed$1("es.typed-array.int8-array"),
|
|
Int16Array: typed$1("es.typed-array.int16-array"),
|
|
Int32Array: typed$1("es.typed-array.int32-array"),
|
|
Iterator: define$2("iterator/index", IteratorDependencies$1),
|
|
Uint8Array: typed$1("es.typed-array.uint8-array"),
|
|
Uint8ClampedArray: typed$1("es.typed-array.uint8-clamped-array"),
|
|
Uint16Array: typed$1("es.typed-array.uint16-array"),
|
|
Uint32Array: typed$1("es.typed-array.uint32-array"),
|
|
Map: define$2("map/index", MapDependencies$1),
|
|
Number: define$2(null, ["es.number.constructor"]),
|
|
Observable: define$2("observable/index", ["esnext.observable", "esnext.symbol.observable", "es.object.to-string"].concat(_toConsumableArray(CommonIteratorsWithTag$1))),
|
|
Promise: define$2("promise/index", PromiseDependencies$2),
|
|
RangeError: define$2(null, ErrorDependencies$1),
|
|
ReferenceError: define$2(null, ErrorDependencies$1),
|
|
Reflect: define$2(null, ["es.reflect.to-string-tag", "es.object.to-string"]),
|
|
RegExp: define$2(null, ["es.regexp.constructor", "es.regexp.dot-all", "es.regexp.exec", "es.regexp.sticky", "es.regexp.to-string"]),
|
|
Set: define$2("set/index", SetDependencies$1),
|
|
Symbol: define$2("symbol/index", SymbolDependencies$1),
|
|
SyntaxError: define$2(null, ErrorDependencies$1),
|
|
TypeError: define$2(null, ErrorDependencies$1),
|
|
URIError: define$2(null, ErrorDependencies$1),
|
|
URL: define$2("url/index", ["web.url"].concat(_toConsumableArray(URLSearchParamsDependencies$1))),
|
|
URLSearchParams: define$2("url-search-params/index", URLSearchParamsDependencies$1),
|
|
WeakMap: define$2("weak-map/index", WeakMapDependencies$1),
|
|
WeakSet: define$2("weak-set/index", WeakSetDependencies$1),
|
|
atob: define$2("atob", ["web.atob"].concat(DOMExceptionDependencies$1)),
|
|
btoa: define$2("btoa", ["web.btoa"].concat(DOMExceptionDependencies$1)),
|
|
clearImmediate: define$2("clear-immediate", ["web.immediate"]),
|
|
compositeKey: define$2("composite-key", ["esnext.composite-key"]),
|
|
compositeSymbol: define$2("composite-symbol", ["esnext.composite-symbol"]),
|
|
escape: define$2("escape", ["es.escape"]),
|
|
fetch: define$2(null, PromiseDependencies$2),
|
|
globalThis: define$2("global-this", ["es.global-this"]),
|
|
parseFloat: define$2("parse-float", ["es.parse-float"]),
|
|
parseInt: define$2("parse-int", ["es.parse-int"]),
|
|
queueMicrotask: define$2("queue-microtask", ["web.queue-microtask"]),
|
|
setImmediate: define$2("set-immediate", ["web.immediate"]),
|
|
setInterval: define$2("set-interval", ["web.timers"]),
|
|
setTimeout: define$2("set-timeout", ["web.timers"]),
|
|
structuredClone: define$2("structured-clone", ["web.structured-clone"].concat(DOMExceptionDependencies$1, ["es.array.iterator", "es.object.keys", "es.object.to-string", "es.map", "es.set"])),
|
|
unescape: define$2("unescape", ["es.unescape"])
|
|
};
|
|
var StaticProperties$2 = {
|
|
AsyncIterator: {
|
|
from: define$2("async-iterator/from", ["esnext.async-iterator.from"].concat(_toConsumableArray(AsyncIteratorDependencies$1), AsyncIteratorProblemMethods$1, _toConsumableArray(CommonIterators$2)))
|
|
},
|
|
Array: {
|
|
from: define$2("array/from", ["es.array.from", "es.string.iterator"]),
|
|
fromAsync: define$2("array/from-async", ["esnext.array.from-async"].concat(_toConsumableArray(PromiseDependenciesWithIterators$1))),
|
|
isArray: define$2("array/is-array", ["es.array.is-array"]),
|
|
isTemplateObject: define$2("array/is-template-object", ["esnext.array.is-template-object"]),
|
|
of: define$2("array/of", ["es.array.of"])
|
|
},
|
|
ArrayBuffer: {
|
|
isView: define$2(null, ["es.array-buffer.is-view"])
|
|
},
|
|
BigInt: {
|
|
range: define$2("bigint/range", ["esnext.bigint.range", "es.object.to-string"])
|
|
},
|
|
Date: {
|
|
now: define$2("date/now", ["es.date.now"])
|
|
},
|
|
Function: {
|
|
isCallable: define$2("function/is-callable", ["esnext.function.is-callable"]),
|
|
isConstructor: define$2("function/is-constructor", ["esnext.function.is-constructor"])
|
|
},
|
|
Iterator: {
|
|
from: define$2("iterator/from", ["esnext.iterator.from"].concat(IteratorDependencies$1, _toConsumableArray(CommonIterators$2)))
|
|
},
|
|
JSON: {
|
|
stringify: define$2("json/stringify", ["es.json.stringify"], "es.symbol")
|
|
},
|
|
Math: {
|
|
DEG_PER_RAD: define$2("math/deg-per-rad", ["esnext.math.deg-per-rad"]),
|
|
RAD_PER_DEG: define$2("math/rad-per-deg", ["esnext.math.rad-per-deg"]),
|
|
acosh: define$2("math/acosh", ["es.math.acosh"]),
|
|
asinh: define$2("math/asinh", ["es.math.asinh"]),
|
|
atanh: define$2("math/atanh", ["es.math.atanh"]),
|
|
cbrt: define$2("math/cbrt", ["es.math.cbrt"]),
|
|
clamp: define$2("math/clamp", ["esnext.math.clamp"]),
|
|
clz32: define$2("math/clz32", ["es.math.clz32"]),
|
|
cosh: define$2("math/cosh", ["es.math.cosh"]),
|
|
degrees: define$2("math/degrees", ["esnext.math.degrees"]),
|
|
expm1: define$2("math/expm1", ["es.math.expm1"]),
|
|
fround: define$2("math/fround", ["es.math.fround"]),
|
|
fscale: define$2("math/fscale", ["esnext.math.fscale"]),
|
|
hypot: define$2("math/hypot", ["es.math.hypot"]),
|
|
iaddh: define$2("math/iaddh", ["esnext.math.iaddh"]),
|
|
imul: define$2("math/imul", ["es.math.imul"]),
|
|
imulh: define$2("math/imulh", ["esnext.math.imulh"]),
|
|
isubh: define$2("math/isubh", ["esnext.math.isubh"]),
|
|
log10: define$2("math/log10", ["es.math.log10"]),
|
|
log1p: define$2("math/log1p", ["es.math.log1p"]),
|
|
log2: define$2("math/log2", ["es.math.log2"]),
|
|
radians: define$2("math/radians", ["esnext.math.radians"]),
|
|
scale: define$2("math/scale", ["esnext.math.scale"]),
|
|
seededPRNG: define$2("math/seeded-prng", ["esnext.math.seeded-prng"]),
|
|
sign: define$2("math/sign", ["es.math.sign"]),
|
|
signbit: define$2("math/signbit", ["esnext.math.signbit"]),
|
|
sinh: define$2("math/sinh", ["es.math.sinh"]),
|
|
tanh: define$2("math/tanh", ["es.math.tanh"]),
|
|
trunc: define$2("math/trunc", ["es.math.trunc"]),
|
|
umulh: define$2("math/umulh", ["esnext.math.umulh"])
|
|
},
|
|
Map: {
|
|
from: define$2(null, ["esnext.map.from"].concat(_toConsumableArray(MapDependencies$1))),
|
|
groupBy: define$2(null, ["esnext.map.group-by"].concat(_toConsumableArray(MapDependencies$1))),
|
|
keyBy: define$2(null, ["esnext.map.key-by"].concat(_toConsumableArray(MapDependencies$1))),
|
|
of: define$2(null, ["esnext.map.of"].concat(_toConsumableArray(MapDependencies$1)))
|
|
},
|
|
Number: {
|
|
EPSILON: define$2("number/epsilon", ["es.number.epsilon"]),
|
|
MAX_SAFE_INTEGER: define$2("number/max-safe-integer", ["es.number.max-safe-integer"]),
|
|
MIN_SAFE_INTEGER: define$2("number/min-safe-integer", ["es.number.min-safe-integer"]),
|
|
fromString: define$2("number/from-string", ["esnext.number.from-string"]),
|
|
isFinite: define$2("number/is-finite", ["es.number.is-finite"]),
|
|
isInteger: define$2("number/is-integer", ["es.number.is-integer"]),
|
|
isNaN: define$2("number/is-nan", ["es.number.is-nan"]),
|
|
isSafeInteger: define$2("number/is-safe-integer", ["es.number.is-safe-integer"]),
|
|
parseFloat: define$2("number/parse-float", ["es.number.parse-float"]),
|
|
parseInt: define$2("number/parse-int", ["es.number.parse-int"]),
|
|
range: define$2("number/range", ["esnext.number.range", "es.object.to-string"])
|
|
},
|
|
Object: {
|
|
assign: define$2("object/assign", ["es.object.assign"]),
|
|
create: define$2("object/create", ["es.object.create"]),
|
|
defineProperties: define$2("object/define-properties", ["es.object.define-properties"]),
|
|
defineProperty: define$2("object/define-property", ["es.object.define-property"]),
|
|
entries: define$2("object/entries", ["es.object.entries"]),
|
|
freeze: define$2("object/freeze", ["es.object.freeze"]),
|
|
fromEntries: define$2("object/from-entries", ["es.object.from-entries", "es.array.iterator"]),
|
|
getOwnPropertyDescriptor: define$2("object/get-own-property-descriptor", ["es.object.get-own-property-descriptor"]),
|
|
getOwnPropertyDescriptors: define$2("object/get-own-property-descriptors", ["es.object.get-own-property-descriptors"]),
|
|
getOwnPropertyNames: define$2("object/get-own-property-names", ["es.object.get-own-property-names"]),
|
|
getOwnPropertySymbols: define$2("object/get-own-property-symbols", ["es.symbol"]),
|
|
getPrototypeOf: define$2("object/get-prototype-of", ["es.object.get-prototype-of"]),
|
|
hasOwn: define$2("object/has-own", ["es.object.has-own"]),
|
|
is: define$2("object/is", ["es.object.is"]),
|
|
isExtensible: define$2("object/is-extensible", ["es.object.is-extensible"]),
|
|
isFrozen: define$2("object/is-frozen", ["es.object.is-frozen"]),
|
|
isSealed: define$2("object/is-sealed", ["es.object.is-sealed"]),
|
|
keys: define$2("object/keys", ["es.object.keys"]),
|
|
preventExtensions: define$2("object/prevent-extensions", ["es.object.prevent-extensions"]),
|
|
seal: define$2("object/seal", ["es.object.seal"]),
|
|
setPrototypeOf: define$2("object/set-prototype-of", ["es.object.set-prototype-of"]),
|
|
values: define$2("object/values", ["es.object.values"])
|
|
},
|
|
Promise: {
|
|
all: define$2(null, PromiseDependenciesWithIterators$1),
|
|
allSettled: define$2(null, ["es.promise.all-settled"].concat(_toConsumableArray(PromiseDependenciesWithIterators$1))),
|
|
any: define$2(null, ["es.promise.any", "es.aggregate-error"].concat(_toConsumableArray(PromiseDependenciesWithIterators$1))),
|
|
race: define$2(null, PromiseDependenciesWithIterators$1),
|
|
"try": define$2(null, ["esnext.promise.try"].concat(_toConsumableArray(PromiseDependenciesWithIterators$1)))
|
|
},
|
|
Reflect: {
|
|
apply: define$2("reflect/apply", ["es.reflect.apply"]),
|
|
construct: define$2("reflect/construct", ["es.reflect.construct"]),
|
|
defineMetadata: define$2("reflect/define-metadata", ["esnext.reflect.define-metadata"]),
|
|
defineProperty: define$2("reflect/define-property", ["es.reflect.define-property"]),
|
|
deleteMetadata: define$2("reflect/delete-metadata", ["esnext.reflect.delete-metadata"]),
|
|
deleteProperty: define$2("reflect/delete-property", ["es.reflect.delete-property"]),
|
|
get: define$2("reflect/get", ["es.reflect.get"]),
|
|
getMetadata: define$2("reflect/get-metadata", ["esnext.reflect.get-metadata"]),
|
|
getMetadataKeys: define$2("reflect/get-metadata-keys", ["esnext.reflect.get-metadata-keys"]),
|
|
getOwnMetadata: define$2("reflect/get-own-metadata", ["esnext.reflect.get-own-metadata"]),
|
|
getOwnMetadataKeys: define$2("reflect/get-own-metadata-keys", ["esnext.reflect.get-own-metadata-keys"]),
|
|
getOwnPropertyDescriptor: define$2("reflect/get-own-property-descriptor", ["es.reflect.get-own-property-descriptor"]),
|
|
getPrototypeOf: define$2("reflect/get-prototype-of", ["es.reflect.get-prototype-of"]),
|
|
has: define$2("reflect/has", ["es.reflect.has"]),
|
|
hasMetadata: define$2("reflect/has-metadata", ["esnext.reflect.has-metadata"]),
|
|
hasOwnMetadata: define$2("reflect/has-own-metadata", ["esnext.reflect.has-own-metadata"]),
|
|
isExtensible: define$2("reflect/is-extensible", ["es.reflect.is-extensible"]),
|
|
metadata: define$2("reflect/metadata", ["esnext.reflect.metadata"]),
|
|
ownKeys: define$2("reflect/own-keys", ["es.reflect.own-keys"]),
|
|
preventExtensions: define$2("reflect/prevent-extensions", ["es.reflect.prevent-extensions"]),
|
|
set: define$2("reflect/set", ["es.reflect.set"]),
|
|
setPrototypeOf: define$2("reflect/set-prototype-of", ["es.reflect.set-prototype-of"])
|
|
},
|
|
Set: {
|
|
from: define$2(null, ["esnext.set.from"].concat(_toConsumableArray(SetDependencies$1))),
|
|
of: define$2(null, ["esnext.set.of"].concat(_toConsumableArray(SetDependencies$1)))
|
|
},
|
|
String: {
|
|
cooked: define$2("string/cooked", ["esnext.string.cooked"]),
|
|
fromCodePoint: define$2("string/from-code-point", ["es.string.from-code-point"]),
|
|
raw: define$2("string/raw", ["es.string.raw"])
|
|
},
|
|
Symbol: {
|
|
asyncDispose: define$2("symbol/async-dispose", ["esnext.symbol.async-dispose"]),
|
|
asyncIterator: define$2("symbol/async-iterator", ["es.symbol.async-iterator"]),
|
|
dispose: define$2("symbol/dispose", ["esnext.symbol.dispose"]),
|
|
"for": define$2("symbol/for", [], "es.symbol"),
|
|
hasInstance: define$2("symbol/has-instance", ["es.symbol.has-instance", "es.function.has-instance"]),
|
|
isConcatSpreadable: define$2("symbol/is-concat-spreadable", ["es.symbol.is-concat-spreadable", "es.array.concat"]),
|
|
iterator: define$2("symbol/iterator", ["es.symbol.iterator"].concat(_toConsumableArray(CommonIteratorsWithTag$1))),
|
|
keyFor: define$2("symbol/key-for", [], "es.symbol"),
|
|
match: define$2("symbol/match", ["es.symbol.match", "es.string.match"]),
|
|
matcher: define$2("symbol/matcher", ["esnext.symbol.matcher"]),
|
|
matchAll: define$2("symbol/match-all", ["es.symbol.match-all", "es.string.match-all"]),
|
|
metadata: define$2("symbol/metadata", ["esnext.symbol.metadata"]),
|
|
metadataKey: define$2("symbol/metadata-key", ["esnext.symbol.metadata-key"]),
|
|
observable: define$2("symbol/observable", ["esnext.symbol.observable"]),
|
|
patternMatch: define$2("symbol/pattern-match", ["esnext.symbol.pattern-match"]),
|
|
replace: define$2("symbol/replace", ["es.symbol.replace", "es.string.replace"]),
|
|
search: define$2("symbol/search", ["es.symbol.search", "es.string.search"]),
|
|
species: define$2("symbol/species", ["es.symbol.species", "es.array.species"]),
|
|
split: define$2("symbol/split", ["es.symbol.split", "es.string.split"]),
|
|
toPrimitive: define$2("symbol/to-primitive", ["es.symbol.to-primitive", "es.date.to-primitive"]),
|
|
toStringTag: define$2("symbol/to-string-tag", ["es.symbol.to-string-tag", "es.object.to-string", "es.math.to-string-tag", "es.json.to-string-tag"]),
|
|
unscopables: define$2("symbol/unscopables", ["es.symbol.unscopables"])
|
|
},
|
|
WeakMap: {
|
|
from: define$2(null, ["esnext.weak-map.from"].concat(_toConsumableArray(WeakMapDependencies$1))),
|
|
of: define$2(null, ["esnext.weak-map.of"].concat(_toConsumableArray(WeakMapDependencies$1)))
|
|
},
|
|
WeakSet: {
|
|
from: define$2(null, ["esnext.weak-set.from"].concat(_toConsumableArray(WeakSetDependencies$1))),
|
|
of: define$2(null, ["esnext.weak-set.of"].concat(_toConsumableArray(WeakSetDependencies$1)))
|
|
},
|
|
Int8Array: TypedArrayStaticMethods$1,
|
|
Uint8Array: TypedArrayStaticMethods$1,
|
|
Uint8ClampedArray: TypedArrayStaticMethods$1,
|
|
Int16Array: TypedArrayStaticMethods$1,
|
|
Uint16Array: TypedArrayStaticMethods$1,
|
|
Int32Array: TypedArrayStaticMethods$1,
|
|
Uint32Array: TypedArrayStaticMethods$1,
|
|
Float32Array: TypedArrayStaticMethods$1,
|
|
Float64Array: TypedArrayStaticMethods$1,
|
|
WebAssembly: {
|
|
CompileError: define$2(null, ErrorDependencies$1),
|
|
LinkError: define$2(null, ErrorDependencies$1),
|
|
RuntimeError: define$2(null, ErrorDependencies$1)
|
|
}
|
|
};
|
|
var InstanceProperties$2 = (_InstanceProperties$1 = {
|
|
asIndexedPairs: define$2("instance/asIndexedPairs", ["esnext.async-iterator.as-indexed-pairs"].concat(_toConsumableArray(AsyncIteratorDependencies$1), ["esnext.iterator.as-indexed-pairs"], IteratorDependencies$1)),
|
|
at: define$2("instance/at", ["esnext.string.at", "es.string.at-alternative", "es.array.at"]),
|
|
anchor: define$2(null, ["es.string.anchor"]),
|
|
big: define$2(null, ["es.string.big"]),
|
|
bind: define$2("instance/bind", ["es.function.bind"]),
|
|
blink: define$2(null, ["es.string.blink"]),
|
|
bold: define$2(null, ["es.string.bold"]),
|
|
codePointAt: define$2("instance/code-point-at", ["es.string.code-point-at"]),
|
|
codePoints: define$2("instance/code-points", ["esnext.string.code-points"]),
|
|
concat: define$2("instance/concat", ["es.array.concat"], undefined, ["String"]),
|
|
copyWithin: define$2("instance/copy-within", ["es.array.copy-within"]),
|
|
description: define$2(null, ["es.symbol", "es.symbol.description"]),
|
|
dotAll: define$2("instance/dot-all", ["es.regexp.dot-all"]),
|
|
drop: define$2("instance/drop", ["esnext.async-iterator.drop"].concat(_toConsumableArray(AsyncIteratorDependencies$1), ["esnext.iterator.drop"], IteratorDependencies$1)),
|
|
emplace: define$2("instance/emplace", ["esnext.map.emplace", "esnext.weak-map.emplace"]),
|
|
endsWith: define$2("instance/ends-with", ["es.string.ends-with"]),
|
|
entries: define$2("instance/entries", ArrayNatureIteratorsWithTag$1),
|
|
every: define$2("instance/every", ["es.array.every", "esnext.async-iterator.every", "esnext.iterator.every"].concat(IteratorDependencies$1)),
|
|
exec: define$2(null, ["es.regexp.exec"]),
|
|
fill: define$2("instance/fill", ["es.array.fill"]),
|
|
filter: define$2("instance/filter", ["es.array.filter", "esnext.async-iterator.filter", "esnext.iterator.filter"].concat(IteratorDependencies$1)),
|
|
filterReject: define$2("instance/filterReject", ["esnext.array.filter-reject"]),
|
|
"finally": define$2(null, ["es.promise.finally"].concat(PromiseDependencies$2)),
|
|
find: define$2("instance/find", ["es.array.find", "esnext.async-iterator.find", "esnext.iterator.find"].concat(IteratorDependencies$1)),
|
|
findIndex: define$2("instance/find-index", ["es.array.find-index"]),
|
|
findLast: define$2("instance/find-last", ["es.array.find-last"]),
|
|
findLastIndex: define$2("instance/find-last-index", ["es.array.find-last-index"]),
|
|
fixed: define$2(null, ["es.string.fixed"]),
|
|
flags: define$2("instance/flags", ["es.regexp.flags"]),
|
|
flatMap: define$2("instance/flat-map", ["es.array.flat-map", "es.array.unscopables.flat-map", "esnext.async-iterator.flat-map", "esnext.iterator.flat-map"].concat(IteratorDependencies$1)),
|
|
flat: define$2("instance/flat", ["es.array.flat", "es.array.unscopables.flat"]),
|
|
getYear: define$2(null, ["es.date.get-year"]),
|
|
group: define$2("instance/group", ["esnext.array.group"]),
|
|
groupBy: define$2("instance/group-by", ["esnext.array.group-by"]),
|
|
groupByToMap: define$2("instance/group-by-to-map", ["esnext.array.group-by-to-map", "es.map", "es.object.to-string"]),
|
|
groupToMap: define$2("instance/group-to-map", ["esnext.array.group-to-map", "es.map", "es.object.to-string"]),
|
|
fontcolor: define$2(null, ["es.string.fontcolor"]),
|
|
fontsize: define$2(null, ["es.string.fontsize"]),
|
|
forEach: define$2("instance/for-each", ["es.array.for-each", "esnext.async-iterator.for-each", "esnext.iterator.for-each"].concat(IteratorDependencies$1, ["web.dom-collections.for-each"])),
|
|
includes: define$2("instance/includes", ["es.array.includes", "es.string.includes"]),
|
|
indexed: define$2("instance/indexed", ["esnext.async-iterator.indexed"].concat(_toConsumableArray(AsyncIteratorDependencies$1), ["esnext.iterator.indexed"], IteratorDependencies$1)),
|
|
indexOf: define$2("instance/index-of", ["es.array.index-of"]),
|
|
italic: define$2(null, ["es.string.italics"]),
|
|
join: define$2(null, ["es.array.join"]),
|
|
keys: define$2("instance/keys", ArrayNatureIteratorsWithTag$1),
|
|
lastIndex: define$2(null, ["esnext.array.last-index"]),
|
|
lastIndexOf: define$2("instance/last-index-of", ["es.array.last-index-of"]),
|
|
lastItem: define$2(null, ["esnext.array.last-item"]),
|
|
link: define$2(null, ["es.string.link"]),
|
|
map: define$2("instance/map", ["es.array.map", "esnext.async-iterator.map", "esnext.iterator.map"]),
|
|
match: define$2(null, ["es.string.match", "es.regexp.exec"]),
|
|
matchAll: define$2("instance/match-all", ["es.string.match-all", "es.regexp.exec"]),
|
|
name: define$2(null, ["es.function.name"]),
|
|
padEnd: define$2("instance/pad-end", ["es.string.pad-end"]),
|
|
padStart: define$2("instance/pad-start", ["es.string.pad-start"]),
|
|
push: define$2("instance/push", ["es.array.push"]),
|
|
reduce: define$2("instance/reduce", ["es.array.reduce", "esnext.async-iterator.reduce", "esnext.iterator.reduce"].concat(IteratorDependencies$1)),
|
|
reduceRight: define$2("instance/reduce-right", ["es.array.reduce-right"]),
|
|
repeat: define$2("instance/repeat", ["es.string.repeat"]),
|
|
replace: define$2(null, ["es.string.replace", "es.regexp.exec"]),
|
|
replaceAll: define$2("instance/replace-all", ["es.string.replace-all", "es.string.replace", "es.regexp.exec"]),
|
|
reverse: define$2("instance/reverse", ["es.array.reverse"]),
|
|
search: define$2(null, ["es.string.search", "es.regexp.exec"]),
|
|
setYear: define$2(null, ["es.date.set-year"]),
|
|
slice: define$2("instance/slice", ["es.array.slice"]),
|
|
small: define$2(null, ["es.string.small"]),
|
|
some: define$2("instance/some", ["es.array.some", "esnext.async-iterator.some", "esnext.iterator.some"].concat(IteratorDependencies$1)),
|
|
sort: define$2("instance/sort", ["es.array.sort"]),
|
|
splice: define$2("instance/splice", ["es.array.splice"]),
|
|
split: define$2(null, ["es.string.split", "es.regexp.exec"]),
|
|
startsWith: define$2("instance/starts-with", ["es.string.starts-with"]),
|
|
sticky: define$2("instance/sticky", ["es.regexp.sticky"]),
|
|
strike: define$2(null, ["es.string.strike"]),
|
|
sub: define$2(null, ["es.string.sub"]),
|
|
substr: define$2(null, ["es.string.substr"]),
|
|
sup: define$2(null, ["es.string.sup"]),
|
|
take: define$2("instance/take", ["esnext.async-iterator.take"].concat(_toConsumableArray(AsyncIteratorDependencies$1), ["esnext.iterator.take"], IteratorDependencies$1)),
|
|
test: define$2(null, ["es.regexp.test", "es.regexp.exec"]),
|
|
toArray: define$2("instance/to-array", ["esnext.async-iterator.to-array"].concat(_toConsumableArray(AsyncIteratorDependencies$1), ["esnext.iterator.to-array"], IteratorDependencies$1)),
|
|
toAsync: define$2(null, ["esnext.iterator.to-async"].concat(IteratorDependencies$1, _toConsumableArray(AsyncIteratorDependencies$1), AsyncIteratorProblemMethods$1)),
|
|
toExponential: define$2(null, ["es.number.to-exponential"]),
|
|
toFixed: define$2(null, ["es.number.to-fixed"]),
|
|
toGMTString: define$2(null, ["es.date.to-gmt-string"]),
|
|
toISOString: define$2(null, ["es.date.to-iso-string"]),
|
|
toJSON: define$2(null, ["es.date.to-json", "web.url.to-json"]),
|
|
toPrecision: define$2(null, ["es.number.to-precision"]),
|
|
toReversed: define$2("instance/to-reversed", ["esnext.array.to-reversed"]),
|
|
toSorted: define$2("instance/to-sorted", ["esnext.array.to-sorted", "es.array.sort"]),
|
|
toSpliced: define$2("instance/to-spliced", ["esnext.array.to-spliced"]),
|
|
toString: define$2(null, ["es.object.to-string", "es.error.to-string", "es.date.to-string", "es.regexp.to-string"]),
|
|
trim: define$2("instance/trim", ["es.string.trim"]),
|
|
trimEnd: define$2("instance/trim-end", ["es.string.trim-end"]),
|
|
trimLeft: define$2("instance/trim-left", ["es.string.trim-start"]),
|
|
trimRight: define$2("instance/trim-right", ["es.string.trim-end"]),
|
|
trimStart: define$2("instance/trim-start", ["es.string.trim-start"]),
|
|
uniqueBy: define$2("instance/unique-by", ["esnext.array.unique-by", "es.map"]),
|
|
unshift: define$2("instance/unshift", ["es.array.unshift"]),
|
|
unThis: define$2("instance/un-this", ["esnext.function.un-this"]),
|
|
values: define$2("instance/values", ArrayNatureIteratorsWithTag$1),
|
|
"with": define$2("instance/with", ["esnext.array.with"]),
|
|
__defineGetter__: define$2(null, ["es.object.define-getter"]),
|
|
__defineSetter__: define$2(null, ["es.object.define-setter"]),
|
|
__lookupGetter__: define$2(null, ["es.object.lookup-getter"]),
|
|
__lookupSetter__: define$2(null, ["es.object.lookup-setter"])
|
|
}, _InstanceProperties$1["__proto__"] = define$2(null, ["es.object.proto"]), _InstanceProperties$1);
|
|
var CommonInstanceDependencies$1 = new Set(["es.object.to-string", "es.object.define-getter", "es.object.define-setter", "es.object.lookup-getter", "es.object.lookup-setter", "es.regexp.exec"]);
|
|
var _ref$3 = undefined || _babel,
|
|
t$2$1 = _ref$3.types;
|
|
function canSkipPolyfill$1(desc, path) {
|
|
var node = path.node,
|
|
parent = path.parent;
|
|
switch (desc.name) {
|
|
case "es.string.split":
|
|
{
|
|
if (!t$2$1.isCallExpression(parent, {
|
|
callee: node
|
|
})) return false;
|
|
if (parent.arguments.length < 1) return true;
|
|
var splitter = parent.arguments[0];
|
|
return t$2$1.isStringLiteral(splitter) || t$2$1.isTemplateLiteral(splitter);
|
|
}
|
|
}
|
|
}
|
|
var _ref2$1 = undefined || _babel,
|
|
t$1$2 = _ref2$1.types;
|
|
function callMethod$1(path, id) {
|
|
var object = path.node.object;
|
|
var context1, context2;
|
|
if (t$1$2.isIdentifier(object)) {
|
|
context1 = object;
|
|
context2 = t$1$2.cloneNode(object);
|
|
} else {
|
|
context1 = path.scope.generateDeclaredUidIdentifier("context");
|
|
context2 = t$1$2.assignmentExpression("=", t$1$2.cloneNode(context1), object);
|
|
}
|
|
path.replaceWith(t$1$2.memberExpression(t$1$2.callExpression(id, [context2]), t$1$2.identifier("call")));
|
|
path.parentPath.unshiftContainer("arguments", context1);
|
|
}
|
|
function isCoreJSSource$1(source) {
|
|
if (typeof source === "string") {
|
|
source = source.replace(/\\/g, "/").replace(/(\/(index)?)?(\.js)?$/i, "").toLowerCase();
|
|
}
|
|
return Object.prototype.hasOwnProperty.call(entries$1, source) && entries$1[source];
|
|
}
|
|
function coreJSModule$1(name) {
|
|
return "core-js/modules/" + name + ".js";
|
|
}
|
|
function coreJSPureHelper$1(name, useBabelRuntime, ext) {
|
|
return useBabelRuntime ? useBabelRuntime + "/core-js/" + name + ext : "core-js-pure/features/" + name + ".js";
|
|
}
|
|
var _ref3$1 = undefined || _babel,
|
|
t$5 = _ref3$1.types;
|
|
var runtimeCompat$4 = "#__secret_key__@babel/runtime__compatibility";
|
|
var esnextFallback$1 = function esnextFallback(name, cb) {
|
|
if (cb(name)) return true;
|
|
if (!name.startsWith("es.")) return false;
|
|
var fallback = "esnext." + name.slice(3);
|
|
if (!data$1[fallback]) return false;
|
|
return cb(fallback);
|
|
};
|
|
var index$4 = definePolyfillProvider$1(function (_ref4, _ref5) {
|
|
var getUtils = _ref4.getUtils,
|
|
method = _ref4.method,
|
|
shouldInjectPolyfill = _ref4.shouldInjectPolyfill,
|
|
createMetaResolver = _ref4.createMetaResolver,
|
|
debug = _ref4.debug,
|
|
babel = _ref4.babel;
|
|
var _ref5$version = _ref5.version,
|
|
version = _ref5$version === void 0 ? 3 : _ref5$version,
|
|
proposals = _ref5.proposals,
|
|
shippedProposals = _ref5.shippedProposals,
|
|
_ref5$runtimeCompat = _ref5[runtimeCompat$4],
|
|
_ref5$runtimeCompat2 = _ref5$runtimeCompat === void 0 ? {
|
|
useBabelRuntime: ""
|
|
} : _ref5$runtimeCompat,
|
|
useBabelRuntime = _ref5$runtimeCompat2.useBabelRuntime,
|
|
_ref5$runtimeCompat2$ = _ref5$runtimeCompat2.ext,
|
|
ext = _ref5$runtimeCompat2$ === void 0 ? ".js" : _ref5$runtimeCompat2$;
|
|
var isWebpack = babel.caller(function (caller) {
|
|
return (caller == null ? void 0 : caller.name) === "babel-loader";
|
|
});
|
|
var resolve = createMetaResolver({
|
|
global: BuiltIns$2,
|
|
"static": StaticProperties$2,
|
|
instance: InstanceProperties$2
|
|
});
|
|
var available = new Set(getModulesListForTargetVersion$1(version));
|
|
function getCoreJSPureBase(useProposalBase) {
|
|
return useBabelRuntime ? useProposalBase ? useBabelRuntime + "/core-js" : useBabelRuntime + "/core-js-stable" : useProposalBase ? "core-js-pure/features" : "core-js-pure/stable";
|
|
}
|
|
function maybeInjectGlobalImpl(name, utils) {
|
|
if (shouldInjectPolyfill(name)) {
|
|
debug(name);
|
|
utils.injectGlobalImport(coreJSModule$1(name));
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function maybeInjectGlobal(names, utils, fallback) {
|
|
if (fallback === void 0) {
|
|
fallback = true;
|
|
}
|
|
for (var _iterator = _createForOfIteratorHelperLoose(names), _step; !(_step = _iterator()).done;) {
|
|
var name = _step.value;
|
|
if (fallback) {
|
|
esnextFallback$1(name, function (name) {
|
|
return maybeInjectGlobalImpl(name, utils);
|
|
});
|
|
} else {
|
|
maybeInjectGlobalImpl(name, utils);
|
|
}
|
|
}
|
|
}
|
|
function maybeInjectPure(desc, hint, utils, object) {
|
|
if (desc.pure && !(object && desc.exclude && desc.exclude.includes(object)) && esnextFallback$1(desc.name, shouldInjectPolyfill)) {
|
|
var name = desc.name;
|
|
var useProposalBase = false;
|
|
if (proposals || shippedProposals && name.startsWith("esnext.")) {
|
|
useProposalBase = true;
|
|
} else if (name.startsWith("es.") && !available.has(name)) {
|
|
useProposalBase = true;
|
|
}
|
|
var coreJSPureBase = getCoreJSPureBase(useProposalBase);
|
|
return utils.injectDefaultImport(coreJSPureBase + "/" + desc.pure + ext, hint);
|
|
}
|
|
}
|
|
function isFeatureStable(name) {
|
|
if (name.startsWith("esnext.")) {
|
|
var esName = "es." + name.slice(7);
|
|
return esName in data$1;
|
|
}
|
|
return true;
|
|
}
|
|
return {
|
|
name: "corejs3",
|
|
polyfills: data$1,
|
|
filterPolyfills: function filterPolyfills(name) {
|
|
if (!available.has(name)) return false;
|
|
if (proposals || method === "entry-global") return true;
|
|
if (shippedProposals && corejs3ShippedProposalsList$1.has(name)) {
|
|
return true;
|
|
}
|
|
return isFeatureStable(name);
|
|
},
|
|
entryGlobal: function entryGlobal(meta, utils, path) {
|
|
if (meta.kind !== "import") return;
|
|
var modules = isCoreJSSource$1(meta.source);
|
|
if (!modules) return;
|
|
if (modules.length === 1 && meta.source === coreJSModule$1(modules[0]) && shouldInjectPolyfill(modules[0])) {
|
|
debug(null);
|
|
return;
|
|
}
|
|
var modulesSet = new Set(modules);
|
|
var filteredModules = modules.filter(function (module) {
|
|
if (!module.startsWith("esnext.")) return true;
|
|
var stable = module.replace("esnext.", "es.");
|
|
if (modulesSet.has(stable) && shouldInjectPolyfill(stable)) {
|
|
return false;
|
|
}
|
|
return true;
|
|
});
|
|
maybeInjectGlobal(filteredModules, utils, false);
|
|
path.remove();
|
|
},
|
|
usageGlobal: function usageGlobal(meta, utils, path) {
|
|
var resolved = resolve(meta);
|
|
if (!resolved) return;
|
|
if (canSkipPolyfill$1(resolved.desc, path)) return;
|
|
var deps = resolved.desc.global;
|
|
if (resolved.kind !== "global" && "object" in meta && meta.object && meta.placement === "prototype") {
|
|
var low = meta.object.toLowerCase();
|
|
deps = deps.filter(function (m) {
|
|
return m.includes(low) || CommonInstanceDependencies$1.has(m);
|
|
});
|
|
}
|
|
maybeInjectGlobal(deps, utils);
|
|
},
|
|
usagePure: function usagePure(meta, utils, path) {
|
|
if (meta.kind === "in") {
|
|
if (meta.key === "Symbol.iterator") {
|
|
path.replaceWith(t$5.callExpression(utils.injectDefaultImport(coreJSPureHelper$1("is-iterable", useBabelRuntime, ext), "isIterable"), [path.node.right]));
|
|
}
|
|
return;
|
|
}
|
|
if (path.parentPath.isUnaryExpression({
|
|
operator: "delete"
|
|
})) return;
|
|
if (meta.kind === "property") {
|
|
if (!path.isMemberExpression()) return;
|
|
if (!path.isReferenced()) return;
|
|
if (path.parentPath.isUpdateExpression()) return;
|
|
if (t$5.isSuper(path.node.object)) {
|
|
return;
|
|
}
|
|
if (meta.key === "Symbol.iterator") {
|
|
if (!shouldInjectPolyfill("es.symbol.iterator")) return;
|
|
var parent = path.parent,
|
|
node = path.node;
|
|
if (t$5.isCallExpression(parent, {
|
|
callee: node
|
|
})) {
|
|
if (parent.arguments.length === 0) {
|
|
path.parentPath.replaceWith(t$5.callExpression(utils.injectDefaultImport(coreJSPureHelper$1("get-iterator", useBabelRuntime, ext), "getIterator"), [node.object]));
|
|
path.skip();
|
|
} else {
|
|
callMethod$1(path, utils.injectDefaultImport(coreJSPureHelper$1("get-iterator-method", useBabelRuntime, ext), "getIteratorMethod"));
|
|
}
|
|
} else {
|
|
path.replaceWith(t$5.callExpression(utils.injectDefaultImport(coreJSPureHelper$1("get-iterator-method", useBabelRuntime, ext), "getIteratorMethod"), [path.node.object]));
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
var resolved = resolve(meta);
|
|
if (!resolved) return;
|
|
if (canSkipPolyfill$1(resolved.desc, path)) return;
|
|
if (useBabelRuntime && resolved.desc.pure && resolved.desc.pure.slice(-6) === "/index") {
|
|
resolved = Object.assign(Object.assign({}, resolved), {}, {
|
|
desc: Object.assign(Object.assign({}, resolved.desc), {}, {
|
|
pure: resolved.desc.pure.slice(0, -6)
|
|
})
|
|
});
|
|
}
|
|
if (resolved.kind === "global") {
|
|
var id = maybeInjectPure(resolved.desc, resolved.name, utils);
|
|
if (id) path.replaceWith(id);
|
|
} else if (resolved.kind === "static") {
|
|
var _id = maybeInjectPure(resolved.desc, resolved.name, utils, meta.object);
|
|
if (_id) path.replaceWith(_id);
|
|
} else if (resolved.kind === "instance") {
|
|
var _id2 = maybeInjectPure(resolved.desc, resolved.name + "InstanceProperty", utils, meta.object);
|
|
if (!_id2) return;
|
|
var _node = path.node;
|
|
if (t$5.isCallExpression(path.parent, {
|
|
callee: _node
|
|
})) {
|
|
callMethod$1(path, _id2);
|
|
} else {
|
|
path.replaceWith(t$5.callExpression(_id2, [_node.object]));
|
|
}
|
|
}
|
|
},
|
|
visitor: method === "usage-global" && {
|
|
CallExpression: function CallExpression(path) {
|
|
if (path.get("callee").isImport()) {
|
|
var utils = getUtils(path);
|
|
if (isWebpack) {
|
|
maybeInjectGlobal(PromiseDependenciesWithIterators$1, utils);
|
|
} else {
|
|
maybeInjectGlobal(PromiseDependencies$2, utils);
|
|
}
|
|
}
|
|
},
|
|
Function: function Function(path) {
|
|
if (path.node.async) {
|
|
maybeInjectGlobal(PromiseDependencies$2, getUtils(path));
|
|
}
|
|
},
|
|
"ForOfStatement|ArrayPattern": function ForOfStatementArrayPattern(path) {
|
|
maybeInjectGlobal(CommonIterators$2, getUtils(path));
|
|
},
|
|
SpreadElement: function SpreadElement(path) {
|
|
if (!path.parentPath.isObjectExpression()) {
|
|
maybeInjectGlobal(CommonIterators$2, getUtils(path));
|
|
}
|
|
},
|
|
YieldExpression: function YieldExpression(path) {
|
|
if (path.node.delegate) {
|
|
maybeInjectGlobal(CommonIterators$2, getUtils(path));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var runtimeCompat$3 = "#__secret_key__@babel/runtime__compatibility";
|
|
var index$3 = definePolyfillProvider$1(function (_ref, options) {
|
|
var debug = _ref.debug,
|
|
targets = _ref.targets,
|
|
babel = _ref.babel;
|
|
if (!shallowEqual$1(targets, babel.targets())) {
|
|
throw new Error("This plugin does not use the targets option. Only preset-env's targets" + " or top-level targets need to be configured for this plugin to work." + " See https://github.com/babel/babel-polyfills/issues/36 for more" + " details.");
|
|
}
|
|
var _options$runtimeCompa = options[runtimeCompat$3],
|
|
_options$runtimeCompa2 = _options$runtimeCompa === void 0 ? {
|
|
useBabelRuntime: ""
|
|
} : _options$runtimeCompa,
|
|
useBabelRuntime = _options$runtimeCompa2.useBabelRuntime;
|
|
var pureName = useBabelRuntime ? useBabelRuntime + "/regenerator" : "regenerator-runtime";
|
|
return {
|
|
name: "regenerator",
|
|
polyfills: ["regenerator-runtime"],
|
|
usageGlobal: function usageGlobal(meta, utils) {
|
|
if (isRegenerator$1(meta)) {
|
|
debug("regenerator-runtime");
|
|
utils.injectGlobalImport("regenerator-runtime/runtime.js");
|
|
}
|
|
},
|
|
usagePure: function usagePure(meta, utils, path) {
|
|
if (isRegenerator$1(meta)) {
|
|
path.replaceWith(utils.injectDefaultImport(pureName, "regenerator-runtime"));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
var isRegenerator$1 = function isRegenerator(meta) {
|
|
return meta.kind === "global" && meta.name === "regeneratorRuntime";
|
|
};
|
|
function shallowEqual$1(obj1, obj2) {
|
|
return JSON.stringify(obj1) === JSON.stringify(obj2);
|
|
}
|
|
|
|
var pluginCorejs2 = index$5["default"] || index$5;
|
|
var pluginCorejs3 = index$4["default"] || index$4;
|
|
var pluginRegenerator$1 = index$3["default"] || index$3;
|
|
var pluginsCompat = "#__secret_key__@babel/runtime__compatibility";
|
|
function supportsStaticESM$1(caller) {
|
|
return !!(caller != null && caller.supportsStaticESM);
|
|
}
|
|
var transformRuntime = declare(function (api, options, dirname) {
|
|
var _createCorejsPlugin, _createRegeneratorPlu, _createCorejsPlugin2, _createRegeneratorPlu2, _createRegeneratorPlu3;
|
|
api.assertVersion(7);
|
|
var corejs = options.corejs,
|
|
_options$helpers = options.helpers,
|
|
useRuntimeHelpers = _options$helpers === void 0 ? true : _options$helpers,
|
|
_options$regenerator = options.regenerator,
|
|
useRuntimeRegenerator = _options$regenerator === void 0 ? true : _options$regenerator,
|
|
_options$useESModules = options.useESModules,
|
|
useESModules = _options$useESModules === void 0 ? false : _options$useESModules,
|
|
_options$version = options.version,
|
|
runtimeVersion = _options$version === void 0 ? "7.0.0-beta.0" : _options$version,
|
|
_options$absoluteRunt = options.absoluteRuntime,
|
|
absoluteRuntime = _options$absoluteRunt === void 0 ? false : _options$absoluteRunt;
|
|
var proposals = false;
|
|
var rawVersion;
|
|
if (typeof corejs === "object" && corejs !== null) {
|
|
rawVersion = corejs.version;
|
|
proposals = Boolean(corejs.proposals);
|
|
} else {
|
|
rawVersion = corejs;
|
|
}
|
|
var corejsVersion = rawVersion ? Number(rawVersion) : false;
|
|
if (![false, 2, 3].includes(corejsVersion)) {
|
|
throw new Error("The `core-js` version must be false, 2 or 3, but got " + JSON.stringify(rawVersion) + ".");
|
|
}
|
|
if (proposals && (!corejsVersion || corejsVersion < 3)) {
|
|
throw new Error("The 'proposals' option is only supported when using 'corejs: 3'");
|
|
}
|
|
if (typeof useRuntimeRegenerator !== "boolean") {
|
|
throw new Error("The 'regenerator' option must be undefined, or a boolean.");
|
|
}
|
|
if (typeof useRuntimeHelpers !== "boolean") {
|
|
throw new Error("The 'helpers' option must be undefined, or a boolean.");
|
|
}
|
|
if (typeof useESModules !== "boolean" && useESModules !== "auto") {
|
|
throw new Error("The 'useESModules' option must be undefined, or a boolean, or 'auto'.");
|
|
}
|
|
if (typeof absoluteRuntime !== "boolean" && typeof absoluteRuntime !== "string") {
|
|
throw new Error("The 'absoluteRuntime' option must be undefined, a boolean, or a string.");
|
|
}
|
|
if (typeof runtimeVersion !== "string") {
|
|
throw new Error("The 'version' option must be a version string.");
|
|
}
|
|
{
|
|
var DUAL_MODE_RUNTIME = "7.13.0";
|
|
var supportsCJSDefault = hasMinVersion$2(DUAL_MODE_RUNTIME, runtimeVersion);
|
|
}
|
|
function has(obj, key) {
|
|
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
}
|
|
if (has(options, "useBuiltIns")) {
|
|
if (options["useBuiltIns"]) {
|
|
throw new Error("The 'useBuiltIns' option has been removed. The @babel/runtime " + "module now uses builtins by default.");
|
|
} else {
|
|
throw new Error("The 'useBuiltIns' option has been removed. Use the 'corejs'" + "option to polyfill with `core-js` via @babel/runtime.");
|
|
}
|
|
}
|
|
if (has(options, "polyfill")) {
|
|
if (options["polyfill"] === false) {
|
|
throw new Error("The 'polyfill' option has been removed. The @babel/runtime " + "module now skips polyfilling by default.");
|
|
} else {
|
|
throw new Error("The 'polyfill' option has been removed. Use the 'corejs'" + "option to polyfill with `core-js` via @babel/runtime.");
|
|
}
|
|
}
|
|
if (has(options, "moduleName")) {
|
|
throw new Error("The 'moduleName' option has been removed. @babel/transform-runtime " + "no longer supports arbitrary runtimes. If you were using this to " + "set an absolute path for Babel's standard runtimes, please use the " + "'absoluteRuntime' option.");
|
|
}
|
|
var esModules = useESModules === "auto" ? api.caller(supportsStaticESM$1) : useESModules;
|
|
var injectCoreJS2 = corejsVersion === 2;
|
|
var injectCoreJS3 = corejsVersion === 3;
|
|
var moduleName = injectCoreJS3 ? "@babel/runtime-corejs3" : injectCoreJS2 ? "@babel/runtime-corejs2" : "@babel/runtime";
|
|
var HEADER_HELPERS = ["interopRequireWildcard", "interopRequireDefault"];
|
|
var modulePath = getRuntimePath(moduleName, dirname, absoluteRuntime);
|
|
function createCorejsPlugin(plugin, options, regeneratorPlugin) {
|
|
return function (api, _, filename) {
|
|
return Object.assign({}, plugin(api, options, filename), {
|
|
inherits: regeneratorPlugin
|
|
});
|
|
};
|
|
}
|
|
function createRegeneratorPlugin(options) {
|
|
if (!useRuntimeRegenerator) return undefined;
|
|
return function (api, _, filename) {
|
|
return pluginRegenerator$1(api, options, filename);
|
|
};
|
|
}
|
|
return {
|
|
name: "transform-runtime",
|
|
inherits: injectCoreJS2 ? createCorejsPlugin(pluginCorejs2, (_createCorejsPlugin = {
|
|
method: "usage-pure",
|
|
absoluteImports: absoluteRuntime ? modulePath : false
|
|
}, _createCorejsPlugin[pluginsCompat] = {
|
|
runtimeVersion: runtimeVersion,
|
|
useBabelRuntime: modulePath,
|
|
ext: ""
|
|
}, _createCorejsPlugin), createRegeneratorPlugin((_createRegeneratorPlu = {
|
|
method: "usage-pure",
|
|
absoluteImports: absoluteRuntime ? modulePath : false
|
|
}, _createRegeneratorPlu[pluginsCompat] = {
|
|
useBabelRuntime: modulePath
|
|
}, _createRegeneratorPlu))) : injectCoreJS3 ? createCorejsPlugin(pluginCorejs3, (_createCorejsPlugin2 = {
|
|
method: "usage-pure",
|
|
version: 3,
|
|
proposals: proposals,
|
|
absoluteImports: absoluteRuntime ? modulePath : false
|
|
}, _createCorejsPlugin2[pluginsCompat] = {
|
|
useBabelRuntime: modulePath,
|
|
ext: ""
|
|
}, _createCorejsPlugin2), createRegeneratorPlugin((_createRegeneratorPlu2 = {
|
|
method: "usage-pure",
|
|
absoluteImports: absoluteRuntime ? modulePath : false
|
|
}, _createRegeneratorPlu2[pluginsCompat] = {
|
|
useBabelRuntime: modulePath
|
|
}, _createRegeneratorPlu2))) : createRegeneratorPlugin((_createRegeneratorPlu3 = {
|
|
method: "usage-pure",
|
|
absoluteImports: absoluteRuntime ? modulePath : false
|
|
}, _createRegeneratorPlu3[pluginsCompat] = {
|
|
useBabelRuntime: modulePath
|
|
}, _createRegeneratorPlu3)),
|
|
pre: function pre(file) {
|
|
if (!useRuntimeHelpers) return;
|
|
file.set("helperGenerator", function (name) {
|
|
{
|
|
if (!(file.availableHelper != null && file.availableHelper(name, runtimeVersion))) {
|
|
if (name === "regeneratorRuntime") {
|
|
return arrowFunctionExpression$4([], identifier$i("regeneratorRuntime"));
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
var isInteropHelper = HEADER_HELPERS.indexOf(name) !== -1;
|
|
var blockHoist = isInteropHelper && !isModule(file.path) ? 4 : undefined;
|
|
var helpersDir = esModules && file.path.node.sourceType === "module" ? "helpers/esm" : "helpers";
|
|
var helperPath = modulePath + "/" + helpersDir + "/" + name;
|
|
if (absoluteRuntime) helperPath = resolveFSPath();
|
|
return addDefaultImport(helperPath, name, blockHoist, true);
|
|
});
|
|
var cache = new Map();
|
|
function addDefaultImport(source, nameHint, blockHoist, isHelper) {
|
|
if (isHelper === void 0) {
|
|
isHelper = false;
|
|
}
|
|
var cacheKey = isModule(file.path);
|
|
var key = source + ":" + nameHint + ":" + (cacheKey || "");
|
|
var cached = cache.get(key);
|
|
if (cached) {
|
|
cached = cloneNode$j(cached);
|
|
} else {
|
|
cached = addDefault(file.path, source, {
|
|
importedInterop: isHelper && supportsCJSDefault ? "compiled" : "uncompiled",
|
|
nameHint: nameHint,
|
|
blockHoist: blockHoist
|
|
});
|
|
cache.set(key, cached);
|
|
}
|
|
return cached;
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformShorthandProperties = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-shorthand-properties",
|
|
visitor: {
|
|
ObjectMethod: function ObjectMethod(path) {
|
|
var node = path.node;
|
|
if (node.kind === "method") {
|
|
var func = functionExpression$2(null, node.params, node.body, node.generator, node.async);
|
|
func.returnType = node.returnType;
|
|
var computedKey = toComputedKey$2(node);
|
|
if (isStringLiteral$6(computedKey, {
|
|
value: "__proto__"
|
|
})) {
|
|
path.replaceWith(objectProperty$1(computedKey, func, true));
|
|
} else {
|
|
path.replaceWith(objectProperty$1(node.key, func, node.computed));
|
|
}
|
|
}
|
|
},
|
|
ObjectProperty: function ObjectProperty(path) {
|
|
var node = path.node;
|
|
if (node.shorthand) {
|
|
var computedKey = toComputedKey$2(node);
|
|
if (isStringLiteral$6(computedKey, {
|
|
value: "__proto__"
|
|
})) {
|
|
path.replaceWith(objectProperty$1(computedKey, node.value, true));
|
|
} else {
|
|
node.shorthand = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformSpread = declare(function (api, options) {
|
|
var _api$assumption, _options$allowArrayLi;
|
|
api.assertVersion(7);
|
|
var iterableIsArray = (_api$assumption = api.assumption("iterableIsArray")) != null ? _api$assumption : options.loose;
|
|
var arrayLikeIsIterable = (_options$allowArrayLi = options.allowArrayLike) != null ? _options$allowArrayLi : api.assumption("arrayLikeIsIterable");
|
|
function getSpreadLiteral(spread, scope) {
|
|
if (iterableIsArray && !isIdentifier$j(spread.argument, {
|
|
name: "arguments"
|
|
})) {
|
|
return spread.argument;
|
|
} else {
|
|
return scope.toArray(spread.argument, true, arrayLikeIsIterable);
|
|
}
|
|
}
|
|
function hasHole(spread) {
|
|
return spread.elements.some(function (el) {
|
|
return el === null;
|
|
});
|
|
}
|
|
function hasSpread(nodes) {
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
if (isSpreadElement$1(nodes[i])) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function push(_props, nodes) {
|
|
if (!_props.length) return _props;
|
|
nodes.push(arrayExpression$1(_props));
|
|
return [];
|
|
}
|
|
function build(props, scope, file) {
|
|
var nodes = [];
|
|
var _props = [];
|
|
for (var _iterator = _createForOfIteratorHelperLoose(props), _step; !(_step = _iterator()).done;) {
|
|
var prop = _step.value;
|
|
if (isSpreadElement$1(prop)) {
|
|
_props = push(_props, nodes);
|
|
var spreadLiteral = getSpreadLiteral(prop, scope);
|
|
if (isArrayExpression$2(spreadLiteral) && hasHole(spreadLiteral)) {
|
|
spreadLiteral = callExpression$e(file.addHelper("arrayWithoutHoles"), [spreadLiteral]);
|
|
}
|
|
nodes.push(spreadLiteral);
|
|
} else {
|
|
_props.push(prop);
|
|
}
|
|
}
|
|
push(_props, nodes);
|
|
return nodes;
|
|
}
|
|
return {
|
|
name: "transform-spread",
|
|
visitor: {
|
|
ArrayExpression: function ArrayExpression(path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var elements = node.elements;
|
|
if (!hasSpread(elements)) return;
|
|
var nodes = build(elements, scope, this.file);
|
|
var first = nodes[0];
|
|
if (nodes.length === 1 && first !== elements[0].argument) {
|
|
path.replaceWith(first);
|
|
return;
|
|
}
|
|
if (!isArrayExpression$2(first)) {
|
|
first = arrayExpression$1([]);
|
|
} else {
|
|
nodes.shift();
|
|
}
|
|
path.replaceWith(callExpression$e(memberExpression$c(first, identifier$i("concat")), nodes));
|
|
},
|
|
CallExpression: function CallExpression(path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
var args = node.arguments;
|
|
if (!hasSpread(args)) return;
|
|
var calleePath = skipTransparentExprWrappers(path.get("callee"));
|
|
if (calleePath.isSuper()) {
|
|
throw path.buildCodeFrameError("It's not possible to compile spread arguments in `super()` without compiling classes.\n" + "Please add '@babel/plugin-transform-classes' to your Babel configuration.");
|
|
}
|
|
var contextLiteral = scope.buildUndefinedNode();
|
|
node.arguments = [];
|
|
var nodes;
|
|
if (args.length === 1 && isIdentifier$j(args[0].argument, {
|
|
name: "arguments"
|
|
})) {
|
|
nodes = [args[0].argument];
|
|
} else {
|
|
nodes = build(args, scope, this.file);
|
|
}
|
|
var first = nodes.shift();
|
|
if (nodes.length) {
|
|
node.arguments.push(callExpression$e(memberExpression$c(first, identifier$i("concat")), nodes));
|
|
} else {
|
|
node.arguments.push(first);
|
|
}
|
|
var callee = calleePath.node;
|
|
if (isMemberExpression$8(callee)) {
|
|
var temp = scope.maybeGenerateMemoised(callee.object);
|
|
if (temp) {
|
|
callee.object = assignmentExpression$d("=", temp, callee.object);
|
|
contextLiteral = temp;
|
|
} else {
|
|
contextLiteral = cloneNode$j(callee.object);
|
|
}
|
|
}
|
|
node.callee = memberExpression$c(node.callee, identifier$i("apply"));
|
|
if (isSuper$3(contextLiteral)) {
|
|
contextLiteral = thisExpression$4();
|
|
}
|
|
node.arguments.unshift(cloneNode$j(contextLiteral));
|
|
},
|
|
NewExpression: function NewExpression(path) {
|
|
var node = path.node,
|
|
scope = path.scope;
|
|
if (!hasSpread(node.arguments)) return;
|
|
var nodes = build(node.arguments, scope, this.file);
|
|
var first = nodes.shift();
|
|
var args;
|
|
if (nodes.length) {
|
|
args = callExpression$e(memberExpression$c(first, identifier$i("concat")), nodes);
|
|
} else {
|
|
args = first;
|
|
}
|
|
path.replaceWith(callExpression$e(path.hub.addHelper("construct"), [node.callee, args]));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformStickyRegex = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-sticky-regex",
|
|
visitor: {
|
|
RegExpLiteral: function RegExpLiteral(path) {
|
|
var node = path.node;
|
|
if (!node.flags.includes("y")) return;
|
|
path.replaceWith(newExpression(identifier$i("RegExp"), [stringLiteral$8(node.pattern), stringLiteral$8(node.flags)]));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var transformStrictMode = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-strict-mode",
|
|
visitor: {
|
|
Program: function Program(path) {
|
|
var node = path.node;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(node.directives), _step; !(_step = _iterator()).done;) {
|
|
var directive = _step.value;
|
|
if (directive.value.value === "use strict") return;
|
|
}
|
|
path.unshiftContainer("directives", directive$1(directiveLiteral$1("use strict")));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _templateObject$4;
|
|
var _transformTemplateLiterals = declare(function (api, options) {
|
|
var _api$assumption, _api$assumption2;
|
|
api.assertVersion(7);
|
|
var ignoreToPrimitiveHint = (_api$assumption = api.assumption("ignoreToPrimitiveHint")) != null ? _api$assumption : options.loose;
|
|
var mutableTemplateObject = (_api$assumption2 = api.assumption("mutableTemplateObject")) != null ? _api$assumption2 : options.loose;
|
|
var helperName = "taggedTemplateLiteral";
|
|
if (mutableTemplateObject) helperName += "Loose";
|
|
function buildConcatCallExpressions(items) {
|
|
var avail = true;
|
|
return items.reduce(function (left, right) {
|
|
var canBeInserted = isLiteral$6(right);
|
|
if (!canBeInserted && avail) {
|
|
canBeInserted = true;
|
|
avail = false;
|
|
}
|
|
if (canBeInserted && isCallExpression$8(left)) {
|
|
left.arguments.push(right);
|
|
return left;
|
|
}
|
|
return callExpression$e(memberExpression$c(left, identifier$i("concat")), [right]);
|
|
});
|
|
}
|
|
return {
|
|
name: "transform-template-literals",
|
|
visitor: {
|
|
TaggedTemplateExpression: function TaggedTemplateExpression(path) {
|
|
var node = path.node;
|
|
var quasi = node.quasi;
|
|
var strings = [];
|
|
var raws = [];
|
|
var isStringsRawEqual = true;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(quasi.quasis), _step; !(_step = _iterator()).done;) {
|
|
var elem = _step.value;
|
|
var _elem$value = elem.value,
|
|
raw = _elem$value.raw,
|
|
cooked = _elem$value.cooked;
|
|
var value = cooked == null ? path.scope.buildUndefinedNode() : stringLiteral$8(cooked);
|
|
strings.push(value);
|
|
raws.push(stringLiteral$8(raw));
|
|
if (raw !== cooked) {
|
|
isStringsRawEqual = false;
|
|
}
|
|
}
|
|
var helperArgs = [arrayExpression$1(strings)];
|
|
if (!isStringsRawEqual) {
|
|
helperArgs.push(arrayExpression$1(raws));
|
|
}
|
|
var tmp = path.scope.generateUidIdentifier("templateObject");
|
|
path.scope.getProgramParent().push({
|
|
id: cloneNode$j(tmp)
|
|
});
|
|
path.replaceWith(callExpression$e(node.tag, [template$2.expression.ast(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteralLoose(["\n ", " || (\n ", " = ", "(", ")\n )\n "])), cloneNode$j(tmp), tmp, this.addHelper(helperName), helperArgs)].concat(_toConsumableArray(quasi.expressions))));
|
|
},
|
|
TemplateLiteral: function TemplateLiteral(path) {
|
|
if (path.parent.type === "TSLiteralType") {
|
|
return;
|
|
}
|
|
var nodes = [];
|
|
var expressions = path.get("expressions");
|
|
var index = 0;
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(path.node.quasis), _step2; !(_step2 = _iterator2()).done;) {
|
|
var elem = _step2.value;
|
|
if (elem.value.cooked) {
|
|
nodes.push(stringLiteral$8(elem.value.cooked));
|
|
}
|
|
if (index < expressions.length) {
|
|
var expr = expressions[index++];
|
|
var node = expr.node;
|
|
if (!isStringLiteral$6(node, {
|
|
value: ""
|
|
})) {
|
|
nodes.push(node);
|
|
}
|
|
}
|
|
}
|
|
if (!isStringLiteral$6(nodes[0]) && !(ignoreToPrimitiveHint && isStringLiteral$6(nodes[1]))) {
|
|
nodes.unshift(stringLiteral$8(""));
|
|
}
|
|
var root = nodes[0];
|
|
if (ignoreToPrimitiveHint) {
|
|
for (var i = 1; i < nodes.length; i++) {
|
|
root = binaryExpression$5("+", root, nodes[i]);
|
|
}
|
|
} else if (nodes.length > 1) {
|
|
root = buildConcatCallExpressions(nodes);
|
|
}
|
|
path.replaceWith(root);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformTypeofSymbol = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-typeof-symbol",
|
|
visitor: {
|
|
Scope: function Scope(_ref) {
|
|
var scope = _ref.scope;
|
|
if (!scope.getBinding("Symbol")) {
|
|
return;
|
|
}
|
|
scope.rename("Symbol");
|
|
},
|
|
UnaryExpression: function UnaryExpression(path) {
|
|
var node = path.node,
|
|
parent = path.parent;
|
|
if (node.operator !== "typeof") return;
|
|
if (path.parentPath.isBinaryExpression() && EQUALITY_BINARY_OPERATORS.indexOf(parent.operator) >= 0) {
|
|
var opposite = path.getOpposite();
|
|
if (opposite.isStringLiteral() && opposite.node.value !== "symbol" && opposite.node.value !== "object") {
|
|
return;
|
|
}
|
|
}
|
|
var isUnderHelper = path.findParent(function (path) {
|
|
if (path.isFunction()) {
|
|
var _path$get;
|
|
return ((_path$get = path.get("body.directives.0")) == null ? void 0 : _path$get.node.value.value) === "@babel/helpers - typeof";
|
|
}
|
|
});
|
|
if (isUnderHelper) return;
|
|
var helper = this.addHelper("typeof");
|
|
isUnderHelper = path.findParent(function (path) {
|
|
return path.isVariableDeclarator() && path.node.id === helper || path.isFunctionDeclaration() && path.node.id && path.node.id.name === helper.name;
|
|
});
|
|
if (isUnderHelper) {
|
|
return;
|
|
}
|
|
var call = callExpression$e(helper, [node.argument]);
|
|
var arg = path.get("argument");
|
|
if (arg.isIdentifier() && !path.scope.hasBinding(arg.node.name, true)) {
|
|
var unary = unaryExpression$7("typeof", cloneNode$j(node.argument));
|
|
path.replaceWith(conditionalExpression$4(binaryExpression$5("===", unary, stringLiteral$8("undefined")), stringLiteral$8("undefined"), call));
|
|
} else {
|
|
path.replaceWith(call);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var ENUMS = new WeakMap();
|
|
var buildEnumWrapper = template$2.expression("\n (function (ID) {\n ASSIGNMENTS;\n return ID;\n })(INIT)\n ");
|
|
function transpileEnum(path, t) {
|
|
var node = path.node,
|
|
parentPath = path.parentPath;
|
|
if (node.declare) {
|
|
path.remove();
|
|
return;
|
|
}
|
|
var name = node.id.name;
|
|
var _enumFill = enumFill(path, t, node.id),
|
|
fill = _enumFill.fill,
|
|
data = _enumFill.data,
|
|
isPure = _enumFill.isPure;
|
|
switch (parentPath.type) {
|
|
case "BlockStatement":
|
|
case "ExportNamedDeclaration":
|
|
case "Program":
|
|
{
|
|
var isGlobal = t.isProgram(path.parent);
|
|
var isSeen = seen(parentPath);
|
|
var init = t.objectExpression([]);
|
|
if (isSeen || isGlobal) {
|
|
init = t.logicalExpression("||", t.cloneNode(fill.ID), init);
|
|
}
|
|
var enumIIFE = buildEnumWrapper(Object.assign({}, fill, {
|
|
INIT: init
|
|
}));
|
|
if (isPure) annotateAsPure(enumIIFE);
|
|
if (isSeen) {
|
|
var toReplace = parentPath.isExportDeclaration() ? parentPath : path;
|
|
toReplace.replaceWith(t.expressionStatement(t.assignmentExpression("=", t.cloneNode(node.id), enumIIFE)));
|
|
} else {
|
|
path.scope.registerDeclaration(path.replaceWith(t.variableDeclaration(isGlobal ? "var" : "let", [t.variableDeclarator(node.id, enumIIFE)]))[0]);
|
|
}
|
|
ENUMS.set(path.scope.getBindingIdentifier(name), data);
|
|
break;
|
|
}
|
|
default:
|
|
throw new Error("Unexpected enum parent '" + path.parent.type);
|
|
}
|
|
function seen(parentPath) {
|
|
if (parentPath.isExportDeclaration()) {
|
|
return seen(parentPath.parentPath);
|
|
}
|
|
if (parentPath.getData(name)) {
|
|
return true;
|
|
} else {
|
|
parentPath.setData(name, true);
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
var buildStringAssignment = template$2("\n ENUM[\"NAME\"] = VALUE;\n");
|
|
var buildNumericAssignment = template$2("\n ENUM[ENUM[\"NAME\"] = VALUE] = \"NAME\";\n");
|
|
var buildEnumMember = function buildEnumMember(isString, options) {
|
|
return (isString ? buildStringAssignment : buildNumericAssignment)(options);
|
|
};
|
|
function enumFill(path, t, id) {
|
|
var _translateEnumValues = translateEnumValues(path, t),
|
|
x = _translateEnumValues.enumValues,
|
|
data = _translateEnumValues.data,
|
|
isPure = _translateEnumValues.isPure;
|
|
var assignments = x.map(function (_ref) {
|
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
memberName = _ref2[0],
|
|
memberValue = _ref2[1];
|
|
return buildEnumMember(t.isStringLiteral(memberValue), {
|
|
ENUM: t.cloneNode(id),
|
|
NAME: memberName,
|
|
VALUE: memberValue
|
|
});
|
|
});
|
|
return {
|
|
fill: {
|
|
ID: t.cloneNode(id),
|
|
ASSIGNMENTS: assignments
|
|
},
|
|
data: data,
|
|
isPure: isPure
|
|
};
|
|
}
|
|
function ReferencedIdentifier(expr, state) {
|
|
var seen = state.seen,
|
|
path = state.path,
|
|
t = state.t;
|
|
var name = expr.node.name;
|
|
if (seen.has(name) && !expr.scope.hasOwnBinding(name)) {
|
|
expr.replaceWith(t.memberExpression(t.cloneNode(path.node.id), t.cloneNode(expr.node)));
|
|
expr.skip();
|
|
}
|
|
}
|
|
var enumSelfReferenceVisitor = {
|
|
ReferencedIdentifier: ReferencedIdentifier
|
|
};
|
|
function translateEnumValues(path, t) {
|
|
var seen = new Map();
|
|
var constValue = -1;
|
|
var lastName;
|
|
var isPure = true;
|
|
var enumValues = path.get("members").map(function (memberPath) {
|
|
var member = memberPath.node;
|
|
var name = t.isIdentifier(member.id) ? member.id.name : member.id.value;
|
|
var initializerPath = memberPath.get("initializer");
|
|
var initializer = member.initializer;
|
|
var value;
|
|
if (initializer) {
|
|
constValue = computeConstantValue(initializerPath, seen);
|
|
if (constValue !== undefined) {
|
|
seen.set(name, constValue);
|
|
if (typeof constValue === "number") {
|
|
value = t.numericLiteral(constValue);
|
|
} else {
|
|
assert$1.exports(typeof constValue === "string");
|
|
value = t.stringLiteral(constValue);
|
|
}
|
|
} else {
|
|
isPure && (isPure = initializerPath.isPure());
|
|
if (initializerPath.isReferencedIdentifier()) {
|
|
ReferencedIdentifier(initializerPath, {
|
|
t: t,
|
|
seen: seen,
|
|
path: path
|
|
});
|
|
} else {
|
|
initializerPath.traverse(enumSelfReferenceVisitor, {
|
|
t: t,
|
|
seen: seen,
|
|
path: path
|
|
});
|
|
}
|
|
value = initializerPath.node;
|
|
seen.set(name, undefined);
|
|
}
|
|
} else if (typeof constValue === "number") {
|
|
constValue += 1;
|
|
value = t.numericLiteral(constValue);
|
|
seen.set(name, constValue);
|
|
} else if (typeof constValue === "string") {
|
|
throw path.buildCodeFrameError("Enum member must have initializer.");
|
|
} else {
|
|
var lastRef = t.memberExpression(t.cloneNode(path.node.id), t.stringLiteral(lastName), true);
|
|
value = t.binaryExpression("+", t.numericLiteral(1), lastRef);
|
|
seen.set(name, undefined);
|
|
}
|
|
lastName = name;
|
|
return [name, value];
|
|
});
|
|
return {
|
|
isPure: isPure,
|
|
data: seen,
|
|
enumValues: enumValues
|
|
};
|
|
}
|
|
function computeConstantValue(path, prevMembers, seen) {
|
|
if (seen === void 0) {
|
|
seen = new Set();
|
|
}
|
|
return evaluate(path);
|
|
function evaluate(path) {
|
|
var expr = path.node;
|
|
switch (expr.type) {
|
|
case "MemberExpression":
|
|
return evaluateRef(path, prevMembers, seen);
|
|
case "StringLiteral":
|
|
return expr.value;
|
|
case "UnaryExpression":
|
|
return evalUnaryExpression(path);
|
|
case "BinaryExpression":
|
|
return evalBinaryExpression(path);
|
|
case "NumericLiteral":
|
|
return expr.value;
|
|
case "ParenthesizedExpression":
|
|
return evaluate(path.get("expression"));
|
|
case "Identifier":
|
|
return evaluateRef(path, prevMembers, seen);
|
|
case "TemplateLiteral":
|
|
{
|
|
if (expr.quasis.length === 1) {
|
|
return expr.quasis[0].value.cooked;
|
|
}
|
|
var paths = path.get("expressions");
|
|
var quasis = expr.quasis;
|
|
var str = "";
|
|
for (var i = 0; i < quasis.length; i++) {
|
|
str += quasis[i].value.cooked;
|
|
if (i + 1 < quasis.length) {
|
|
var _value = evaluateRef(paths[i], prevMembers, seen);
|
|
if (_value === undefined) return undefined;
|
|
str += _value;
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
default:
|
|
return undefined;
|
|
}
|
|
}
|
|
function evaluateRef(path, prevMembers, seen) {
|
|
if (path.isMemberExpression()) {
|
|
var expr = path.node;
|
|
var obj = expr.object;
|
|
var prop = expr.property;
|
|
if (!isIdentifier$j(obj) || (expr.computed ? !isStringLiteral$6(prop) : !isIdentifier$j(prop))) {
|
|
return;
|
|
}
|
|
var bindingIdentifier = path.scope.getBindingIdentifier(obj.name);
|
|
var data = ENUMS.get(bindingIdentifier);
|
|
if (!data) return;
|
|
return data.get(prop.computed ? prop.value : prop.name);
|
|
} else if (path.isIdentifier()) {
|
|
var _name = path.node.name;
|
|
var _value2 = prevMembers == null ? void 0 : prevMembers.get(_name);
|
|
if (_value2 !== undefined) {
|
|
return _value2;
|
|
}
|
|
if (seen.has(path.node)) return;
|
|
var bindingInitPath = path.resolve();
|
|
if (bindingInitPath) {
|
|
seen.add(path.node);
|
|
_value2 = computeConstantValue(bindingInitPath, undefined, seen);
|
|
prevMembers == null ? void 0 : prevMembers.set(_name, _value2);
|
|
return _value2;
|
|
}
|
|
}
|
|
}
|
|
function evalUnaryExpression(path) {
|
|
var value = evaluate(path.get("argument"));
|
|
if (value === undefined) {
|
|
return undefined;
|
|
}
|
|
switch (path.node.operator) {
|
|
case "+":
|
|
return value;
|
|
case "-":
|
|
return -value;
|
|
case "~":
|
|
return ~value;
|
|
default:
|
|
return undefined;
|
|
}
|
|
}
|
|
function evalBinaryExpression(path) {
|
|
var left = evaluate(path.get("left"));
|
|
if (left === undefined) {
|
|
return undefined;
|
|
}
|
|
var right = evaluate(path.get("right"));
|
|
if (right === undefined) {
|
|
return undefined;
|
|
}
|
|
switch (path.node.operator) {
|
|
case "|":
|
|
return left | right;
|
|
case "&":
|
|
return left & right;
|
|
case ">>":
|
|
return left >> right;
|
|
case ">>>":
|
|
return left >>> right;
|
|
case "<<":
|
|
return left << right;
|
|
case "^":
|
|
return left ^ right;
|
|
case "*":
|
|
return left * right;
|
|
case "/":
|
|
return left / right;
|
|
case "+":
|
|
return left + right;
|
|
case "-":
|
|
return left - right;
|
|
case "%":
|
|
return left % right;
|
|
case "**":
|
|
return Math.pow(left, right);
|
|
default:
|
|
return undefined;
|
|
}
|
|
}
|
|
}
|
|
|
|
function transpileConstEnum(path, t) {
|
|
var name = path.node.id.name;
|
|
var parentIsExport = path.parentPath.isExportNamedDeclaration();
|
|
var isExported = parentIsExport;
|
|
if (!isExported && t.isProgram(path.parent)) {
|
|
isExported = path.parent.body.some(function (stmt) {
|
|
return t.isExportNamedDeclaration(stmt) && stmt.exportKind !== "type" && !stmt.source && stmt.specifiers.some(function (spec) {
|
|
return t.isExportSpecifier(spec) && spec.exportKind !== "type" && spec.local.name === name;
|
|
});
|
|
});
|
|
}
|
|
var _translateEnumValues = translateEnumValues(path, t),
|
|
entries = _translateEnumValues.enumValues;
|
|
if (isExported) {
|
|
var obj = t.objectExpression(entries.map(function (_ref) {
|
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
name = _ref2[0],
|
|
value = _ref2[1];
|
|
return t.objectProperty(t.isValidIdentifier(name) ? t.identifier(name) : t.stringLiteral(name), value);
|
|
}));
|
|
if (path.scope.hasOwnBinding(name)) {
|
|
(parentIsExport ? path.parentPath : path).replaceWith(t.expressionStatement(t.callExpression(t.memberExpression(t.identifier("Object"), t.identifier("assign")), [path.node.id, obj])));
|
|
} else {
|
|
path.replaceWith(t.variableDeclaration("var", [t.variableDeclarator(path.node.id, obj)]));
|
|
path.scope.registerDeclaration(path);
|
|
}
|
|
return;
|
|
}
|
|
var entriesMap = new Map(entries);
|
|
path.scope.path.traverse({
|
|
Scope: function Scope(path) {
|
|
if (path.scope.hasOwnBinding(name)) path.skip();
|
|
},
|
|
MemberExpression: function MemberExpression(path) {
|
|
if (!t.isIdentifier(path.node.object, {
|
|
name: name
|
|
})) return;
|
|
var key;
|
|
if (path.node.computed) {
|
|
if (t.isStringLiteral(path.node.property)) {
|
|
key = path.node.property.value;
|
|
} else {
|
|
return;
|
|
}
|
|
} else if (t.isIdentifier(path.node.property)) {
|
|
key = path.node.property.name;
|
|
} else {
|
|
return;
|
|
}
|
|
if (!entriesMap.has(key)) return;
|
|
path.replaceWith(t.cloneNode(entriesMap.get(key)));
|
|
}
|
|
});
|
|
path.remove();
|
|
}
|
|
|
|
var _templateObject$3, _templateObject2$2;
|
|
function transpileNamespace(path, allowNamespaces) {
|
|
if (path.node.declare || path.node.id.type === "StringLiteral") {
|
|
path.remove();
|
|
return;
|
|
}
|
|
if (!allowNamespaces) {
|
|
throw path.get("id").buildCodeFrameError("Namespace not marked type-only declare." + " Non-declarative namespaces are only supported experimentally in Babel." + " To enable and review caveats see:" + " https://babeljs.io/docs/en/babel-plugin-transform-typescript");
|
|
}
|
|
var name = path.node.id.name;
|
|
var value = handleNested(path, cloneNode$j(path.node, true));
|
|
var bound = path.scope.hasOwnBinding(name);
|
|
if (path.parent.type === "ExportNamedDeclaration") {
|
|
if (!bound) {
|
|
path.parentPath.insertAfter(value);
|
|
path.replaceWith(getDeclaration(name));
|
|
path.scope.registerDeclaration(path.parentPath);
|
|
} else {
|
|
path.parentPath.replaceWith(value);
|
|
}
|
|
} else if (bound) {
|
|
path.replaceWith(value);
|
|
} else {
|
|
path.scope.registerDeclaration(path.replaceWithMultiple([getDeclaration(name), value])[0]);
|
|
}
|
|
}
|
|
function getDeclaration(name) {
|
|
return variableDeclaration$8("let", [variableDeclarator$8(identifier$i(name))]);
|
|
}
|
|
function getMemberExpression(name, itemName) {
|
|
return memberExpression$c(identifier$i(name), identifier$i(itemName));
|
|
}
|
|
function handleVariableDeclaration(node, name, hub) {
|
|
if (node.kind !== "const") {
|
|
throw hub.file.buildCodeFrameError(node, "Namespaces exporting non-const are not supported by Babel." + " Change to const or see:" + " https://babeljs.io/docs/en/babel-plugin-transform-typescript");
|
|
}
|
|
var declarations = node.declarations;
|
|
if (declarations.every(function (declarator) {
|
|
return isIdentifier$j(declarator.id);
|
|
})) {
|
|
for (var _iterator = _createForOfIteratorHelperLoose(declarations), _step; !(_step = _iterator()).done;) {
|
|
var declarator = _step.value;
|
|
declarator.init = assignmentExpression$d("=", getMemberExpression(name, declarator.id.name), declarator.init);
|
|
}
|
|
return [node];
|
|
}
|
|
var bindingIdentifiers = getBindingIdentifiers$2(node);
|
|
var assignments = [];
|
|
for (var idName in bindingIdentifiers) {
|
|
assignments.push(assignmentExpression$d("=", getMemberExpression(name, idName), cloneNode$j(bindingIdentifiers[idName])));
|
|
}
|
|
return [node, expressionStatement$a(sequenceExpression$7(assignments))];
|
|
}
|
|
function buildNestedAmbientModuleError(path, node) {
|
|
return path.hub.buildError(node, "Ambient modules cannot be nested in other modules or namespaces.", Error);
|
|
}
|
|
function handleNested(path, node, parentExport) {
|
|
var names = new Set();
|
|
var realName = node.id;
|
|
assertIdentifier(realName);
|
|
var name = path.scope.generateUid(realName.name);
|
|
var namespaceTopLevel = isTSModuleBlock(node.body) ? node.body.body : [exportNamedDeclaration$2(node.body)];
|
|
for (var i = 0; i < namespaceTopLevel.length; i++) {
|
|
var subNode = namespaceTopLevel[i];
|
|
switch (subNode.type) {
|
|
case "TSModuleDeclaration":
|
|
{
|
|
if (!isIdentifier$j(subNode.id)) {
|
|
throw buildNestedAmbientModuleError(path, subNode);
|
|
}
|
|
var transformed = handleNested(path, subNode);
|
|
var moduleName = subNode.id.name;
|
|
if (names.has(moduleName)) {
|
|
namespaceTopLevel[i] = transformed;
|
|
} else {
|
|
names.add(moduleName);
|
|
namespaceTopLevel.splice(i++, 1, getDeclaration(moduleName), transformed);
|
|
}
|
|
continue;
|
|
}
|
|
case "TSEnumDeclaration":
|
|
case "FunctionDeclaration":
|
|
case "ClassDeclaration":
|
|
names.add(subNode.id.name);
|
|
continue;
|
|
case "VariableDeclaration":
|
|
{
|
|
for (var _name in getBindingIdentifiers$2(subNode)) {
|
|
names.add(_name);
|
|
}
|
|
continue;
|
|
}
|
|
default:
|
|
continue;
|
|
case "ExportNamedDeclaration":
|
|
}
|
|
if ("declare" in subNode.declaration && subNode.declaration.declare) {
|
|
continue;
|
|
}
|
|
switch (subNode.declaration.type) {
|
|
case "TSEnumDeclaration":
|
|
case "FunctionDeclaration":
|
|
case "ClassDeclaration":
|
|
{
|
|
var itemName = subNode.declaration.id.name;
|
|
names.add(itemName);
|
|
namespaceTopLevel.splice(i++, 1, subNode.declaration, expressionStatement$a(assignmentExpression$d("=", getMemberExpression(name, itemName), identifier$i(itemName))));
|
|
break;
|
|
}
|
|
case "VariableDeclaration":
|
|
{
|
|
var nodes = handleVariableDeclaration(subNode.declaration, name, path.hub);
|
|
namespaceTopLevel.splice.apply(namespaceTopLevel, [i, nodes.length].concat(_toConsumableArray(nodes)));
|
|
i += nodes.length - 1;
|
|
break;
|
|
}
|
|
case "TSModuleDeclaration":
|
|
{
|
|
if (!isIdentifier$j(subNode.declaration.id)) {
|
|
throw buildNestedAmbientModuleError(path, subNode.declaration);
|
|
}
|
|
var _transformed = handleNested(path, subNode.declaration, identifier$i(name));
|
|
var _moduleName = subNode.declaration.id.name;
|
|
if (names.has(_moduleName)) {
|
|
namespaceTopLevel[i] = _transformed;
|
|
} else {
|
|
names.add(_moduleName);
|
|
namespaceTopLevel.splice(i++, 1, getDeclaration(_moduleName), _transformed);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var fallthroughValue = objectExpression$3([]);
|
|
if (parentExport) {
|
|
var memberExpr = memberExpression$c(parentExport, realName);
|
|
fallthroughValue = template$2.expression.ast(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteralLoose(["\n ", " ||\n (", " = ", ")\n "])), cloneNode$j(memberExpr), cloneNode$j(memberExpr), fallthroughValue);
|
|
}
|
|
return template$2.statement.ast(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteralLoose(["\n (function (", ") {\n ", "\n })(", " || (", " = ", "));\n "])), identifier$i(name), namespaceTopLevel, realName, cloneNode$j(realName), fallthroughValue);
|
|
}
|
|
|
|
var _templateObject$2;
|
|
function isInType(path) {
|
|
switch (path.parent.type) {
|
|
case "TSTypeReference":
|
|
case "TSExpressionWithTypeArguments":
|
|
case "TSTypeQuery":
|
|
return true;
|
|
case "TSQualifiedName":
|
|
return path.parentPath.findParent(function (path) {
|
|
return path.type !== "TSQualifiedName";
|
|
}).type !== "TSImportEqualsDeclaration";
|
|
case "ExportSpecifier":
|
|
return path.parent.exportKind === "type" || path.parentPath.parent.exportKind === "type";
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
var GLOBAL_TYPES = new WeakMap();
|
|
var NEEDS_EXPLICIT_ESM = new WeakMap();
|
|
var PARSED_PARAMS = new WeakSet();
|
|
function isGlobalType(_ref, name) {
|
|
var scope = _ref.scope;
|
|
if (scope.hasBinding(name)) return false;
|
|
if (GLOBAL_TYPES.get(scope).has(name)) return true;
|
|
console.warn("The exported identifier \"" + name + "\" is not declared in Babel's scope tracker\n" + "as a JavaScript value binding, and \"@babel/plugin-transform-typescript\"\n" + "never encountered it as a TypeScript type declaration.\n" + "It will be treated as a JavaScript value.\n\n" + "This problem is likely caused by another plugin injecting\n" + ("\"" + name + "\" without registering it in the scope tracker. If you are the author\n") + " of that plugin, please use \"scope.registerDeclaration(declarationPath)\".");
|
|
return false;
|
|
}
|
|
function registerGlobalType(programScope, name) {
|
|
GLOBAL_TYPES.get(programScope).add(name);
|
|
}
|
|
function safeRemove(path) {
|
|
var ids = path.getBindingIdentifiers();
|
|
for (var _i = 0, _Object$keys = Object.keys(ids); _i < _Object$keys.length; _i++) {
|
|
var name = _Object$keys[_i];
|
|
var binding = path.scope.getBinding(name);
|
|
if (binding && binding.identifier === ids[name]) {
|
|
binding.scope.removeBinding(name);
|
|
}
|
|
}
|
|
path.opts.noScope = true;
|
|
path.remove();
|
|
path.opts.noScope = false;
|
|
}
|
|
var transformTypeScript = declare(function (api, opts) {
|
|
var _visitor;
|
|
var t = api.types,
|
|
template = api.template;
|
|
api.assertVersion(7);
|
|
var JSX_PRAGMA_REGEX = /\*?\s*@jsx((?:Frag)?)\s+([^\s]+)/;
|
|
var _opts$allowNamespaces = opts.allowNamespaces,
|
|
allowNamespaces = _opts$allowNamespaces === void 0 ? true : _opts$allowNamespaces,
|
|
_opts$jsxPragma = opts.jsxPragma,
|
|
jsxPragma = _opts$jsxPragma === void 0 ? "React.createElement" : _opts$jsxPragma,
|
|
_opts$jsxPragmaFrag = opts.jsxPragmaFrag,
|
|
jsxPragmaFrag = _opts$jsxPragmaFrag === void 0 ? "React.Fragment" : _opts$jsxPragmaFrag,
|
|
_opts$onlyRemoveTypeI = opts.onlyRemoveTypeImports,
|
|
onlyRemoveTypeImports = _opts$onlyRemoveTypeI === void 0 ? false : _opts$onlyRemoveTypeI,
|
|
_opts$optimizeConstEn = opts.optimizeConstEnums,
|
|
optimizeConstEnums = _opts$optimizeConstEn === void 0 ? false : _opts$optimizeConstEn;
|
|
{
|
|
var _opts$allowDeclareFie = opts.allowDeclareFields,
|
|
allowDeclareFields = _opts$allowDeclareFie === void 0 ? false : _opts$allowDeclareFie;
|
|
}
|
|
var classMemberVisitors = {
|
|
field: function field(path) {
|
|
var node = path.node;
|
|
{
|
|
if (!allowDeclareFields && node.declare) {
|
|
throw path.buildCodeFrameError("The 'declare' modifier is only allowed when the 'allowDeclareFields' option of " + "@babel/plugin-transform-typescript or @babel/preset-typescript is enabled.");
|
|
}
|
|
}
|
|
if (node.declare) {
|
|
if (node.value) {
|
|
throw path.buildCodeFrameError("Fields with the 'declare' modifier cannot be initialized here, but only in the constructor");
|
|
}
|
|
if (!node.decorators) {
|
|
path.remove();
|
|
}
|
|
} else if (node.definite) {
|
|
if (node.value) {
|
|
throw path.buildCodeFrameError("Definitely assigned fields cannot be initialized here, but only in the constructor");
|
|
}
|
|
{
|
|
if (!allowDeclareFields && !node.decorators && !t.isClassPrivateProperty(node)) {
|
|
path.remove();
|
|
}
|
|
}
|
|
} else if (node["abstract"]) {
|
|
path.remove();
|
|
} else {
|
|
if (!allowDeclareFields && !node.value && !node.decorators && !t.isClassPrivateProperty(node)) {
|
|
path.remove();
|
|
}
|
|
}
|
|
if (node.accessibility) node.accessibility = null;
|
|
if (node["abstract"]) node["abstract"] = null;
|
|
if (node.readonly) node.readonly = null;
|
|
if (node.optional) node.optional = null;
|
|
if (node.typeAnnotation) node.typeAnnotation = null;
|
|
if (node.definite) node.definite = null;
|
|
if (node.declare) node.declare = null;
|
|
if (node.override) node.override = null;
|
|
},
|
|
method: function method(_ref2) {
|
|
var node = _ref2.node;
|
|
if (node.accessibility) node.accessibility = null;
|
|
if (node["abstract"]) node["abstract"] = null;
|
|
if (node.optional) node.optional = null;
|
|
if (node.override) node.override = null;
|
|
},
|
|
constructor: function constructor(path, classPath) {
|
|
if (path.node.accessibility) path.node.accessibility = null;
|
|
var assigns = [];
|
|
var scope = path.scope;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(path.get("params")), _step; !(_step = _iterator()).done;) {
|
|
var paramPath = _step.value;
|
|
var param = paramPath.node;
|
|
if (param.type === "TSParameterProperty") {
|
|
var parameter = param.parameter;
|
|
if (PARSED_PARAMS.has(parameter)) continue;
|
|
PARSED_PARAMS.add(parameter);
|
|
var id = void 0;
|
|
if (t.isIdentifier(parameter)) {
|
|
id = parameter;
|
|
} else if (t.isAssignmentPattern(parameter) && t.isIdentifier(parameter.left)) {
|
|
id = parameter.left;
|
|
} else {
|
|
throw paramPath.buildCodeFrameError("Parameter properties can not be destructuring patterns.");
|
|
}
|
|
assigns.push(template.statement.ast(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteralLoose(["\n this.", " = ", ""])), t.cloneNode(id), t.cloneNode(id)));
|
|
paramPath.replaceWith(paramPath.get("parameter"));
|
|
scope.registerBinding("param", paramPath);
|
|
}
|
|
}
|
|
injectInitialization(classPath, path, assigns);
|
|
}
|
|
};
|
|
return {
|
|
name: "transform-typescript",
|
|
inherits: syntaxTypescript,
|
|
visitor: (_visitor = {
|
|
Pattern: visitPattern,
|
|
Identifier: visitPattern,
|
|
RestElement: visitPattern,
|
|
Program: {
|
|
enter: function enter(path, state) {
|
|
var file = state.file;
|
|
var fileJsxPragma = null;
|
|
var fileJsxPragmaFrag = null;
|
|
var programScope = path.scope;
|
|
if (!GLOBAL_TYPES.has(programScope)) {
|
|
GLOBAL_TYPES.set(programScope, new Set());
|
|
}
|
|
if (file.ast.comments) {
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(file.ast.comments), _step2; !(_step2 = _iterator2()).done;) {
|
|
var comment = _step2.value;
|
|
var jsxMatches = JSX_PRAGMA_REGEX.exec(comment.value);
|
|
if (jsxMatches) {
|
|
if (jsxMatches[1]) {
|
|
fileJsxPragmaFrag = jsxMatches[2];
|
|
} else {
|
|
fileJsxPragma = jsxMatches[2];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var pragmaImportName = fileJsxPragma || jsxPragma;
|
|
if (pragmaImportName) {
|
|
var _pragmaImportName$spl = pragmaImportName.split(".");
|
|
var _pragmaImportName$spl2 = _slicedToArray(_pragmaImportName$spl, 1);
|
|
pragmaImportName = _pragmaImportName$spl2[0];
|
|
}
|
|
var pragmaFragImportName = fileJsxPragmaFrag || jsxPragmaFrag;
|
|
if (pragmaFragImportName) {
|
|
var _pragmaFragImportName = pragmaFragImportName.split(".");
|
|
var _pragmaFragImportName2 = _slicedToArray(_pragmaFragImportName, 1);
|
|
pragmaFragImportName = _pragmaFragImportName2[0];
|
|
}
|
|
var _loop = function _loop() {
|
|
var stmt = _step3.value;
|
|
if (stmt.isImportDeclaration()) {
|
|
if (!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)) {
|
|
NEEDS_EXPLICIT_ESM.set(state.file.ast.program, true);
|
|
}
|
|
if (stmt.node.importKind === "type") {
|
|
for (var _iterator4 = _createForOfIteratorHelperLoose(stmt.node.specifiers), _step4; !(_step4 = _iterator4()).done;) {
|
|
var specifier = _step4.value;
|
|
registerGlobalType(programScope, specifier.local.name);
|
|
}
|
|
stmt.remove();
|
|
return "continue";
|
|
}
|
|
var importsToRemove = new Set();
|
|
var specifiersLength = stmt.node.specifiers.length;
|
|
var isAllSpecifiersElided = function isAllSpecifiersElided() {
|
|
return specifiersLength > 0 && specifiersLength === importsToRemove.size;
|
|
};
|
|
for (var _iterator5 = _createForOfIteratorHelperLoose(stmt.node.specifiers), _step5; !(_step5 = _iterator5()).done;) {
|
|
var _specifier2 = _step5.value;
|
|
if (_specifier2.type === "ImportSpecifier" && _specifier2.importKind === "type") {
|
|
registerGlobalType(programScope, _specifier2.local.name);
|
|
var _binding = stmt.scope.getBinding(_specifier2.local.name);
|
|
if (_binding) {
|
|
importsToRemove.add(_binding.path);
|
|
}
|
|
}
|
|
}
|
|
if (onlyRemoveTypeImports) {
|
|
NEEDS_EXPLICIT_ESM.set(path.node, false);
|
|
} else {
|
|
if (stmt.node.specifiers.length === 0) {
|
|
NEEDS_EXPLICIT_ESM.set(path.node, false);
|
|
return "continue";
|
|
}
|
|
for (var _iterator6 = _createForOfIteratorHelperLoose(stmt.node.specifiers), _step6; !(_step6 = _iterator6()).done;) {
|
|
var _specifier = _step6.value;
|
|
var binding = stmt.scope.getBinding(_specifier.local.name);
|
|
if (binding && !importsToRemove.has(binding.path)) {
|
|
if (isImportTypeOnly({
|
|
binding: binding,
|
|
programPath: path,
|
|
pragmaImportName: pragmaImportName,
|
|
pragmaFragImportName: pragmaFragImportName
|
|
})) {
|
|
importsToRemove.add(binding.path);
|
|
} else {
|
|
NEEDS_EXPLICIT_ESM.set(path.node, false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (isAllSpecifiersElided() && !onlyRemoveTypeImports) {
|
|
stmt.remove();
|
|
} else {
|
|
for (var _iterator7 = _createForOfIteratorHelperLoose(importsToRemove), _step7; !(_step7 = _iterator7()).done;) {
|
|
var importPath = _step7.value;
|
|
importPath.remove();
|
|
}
|
|
}
|
|
return "continue";
|
|
}
|
|
if (stmt.isExportDeclaration()) {
|
|
stmt = stmt.get("declaration");
|
|
}
|
|
if (stmt.isVariableDeclaration({
|
|
declare: true
|
|
})) {
|
|
for (var _i2 = 0, _Object$keys2 = Object.keys(stmt.getBindingIdentifiers()); _i2 < _Object$keys2.length; _i2++) {
|
|
var name = _Object$keys2[_i2];
|
|
registerGlobalType(programScope, name);
|
|
}
|
|
} else if (stmt.isTSTypeAliasDeclaration() || stmt.isTSDeclareFunction() && stmt.get("id").isIdentifier() || stmt.isTSInterfaceDeclaration() || stmt.isClassDeclaration({
|
|
declare: true
|
|
}) || stmt.isTSEnumDeclaration({
|
|
declare: true
|
|
}) || stmt.isTSModuleDeclaration({
|
|
declare: true
|
|
}) && stmt.get("id").isIdentifier()) {
|
|
registerGlobalType(programScope, stmt.node.id.name);
|
|
}
|
|
};
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(path.get("body")), _step3; !(_step3 = _iterator3()).done;) {
|
|
var _ret = _loop();
|
|
if (_ret === "continue") continue;
|
|
}
|
|
},
|
|
exit: function exit(path) {
|
|
if (path.node.sourceType === "module" && NEEDS_EXPLICIT_ESM.get(path.node)) {
|
|
path.pushContainer("body", t.exportNamedDeclaration());
|
|
}
|
|
}
|
|
},
|
|
ExportNamedDeclaration: function ExportNamedDeclaration(path, state) {
|
|
if (!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)) {
|
|
NEEDS_EXPLICIT_ESM.set(state.file.ast.program, true);
|
|
}
|
|
if (path.node.exportKind === "type") {
|
|
path.remove();
|
|
return;
|
|
}
|
|
if (path.node.source && path.node.specifiers.length > 0 && path.node.specifiers.every(function (specifier) {
|
|
return specifier.type === "ExportSpecifier" && specifier.exportKind === "type";
|
|
})) {
|
|
path.remove();
|
|
return;
|
|
}
|
|
if (!path.node.source && path.node.specifiers.length > 0 && path.node.specifiers.every(function (specifier) {
|
|
return t.isExportSpecifier(specifier) && isGlobalType(path, specifier.local.name);
|
|
})) {
|
|
path.remove();
|
|
return;
|
|
}
|
|
NEEDS_EXPLICIT_ESM.set(state.file.ast.program, false);
|
|
},
|
|
ExportAllDeclaration: function ExportAllDeclaration(path) {
|
|
if (path.node.exportKind === "type") path.remove();
|
|
},
|
|
ExportSpecifier: function ExportSpecifier(path) {
|
|
var parent = path.parent;
|
|
if (!parent.source && isGlobalType(path, path.node.local.name) || path.node.exportKind === "type") {
|
|
path.remove();
|
|
}
|
|
},
|
|
ExportDefaultDeclaration: function ExportDefaultDeclaration(path, state) {
|
|
if (!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)) {
|
|
NEEDS_EXPLICIT_ESM.set(state.file.ast.program, true);
|
|
}
|
|
if (t.isIdentifier(path.node.declaration) && isGlobalType(path, path.node.declaration.name)) {
|
|
path.remove();
|
|
return;
|
|
}
|
|
NEEDS_EXPLICIT_ESM.set(state.file.ast.program, false);
|
|
},
|
|
TSDeclareFunction: function TSDeclareFunction(path) {
|
|
safeRemove(path);
|
|
},
|
|
TSDeclareMethod: function TSDeclareMethod(path) {
|
|
safeRemove(path);
|
|
},
|
|
VariableDeclaration: function VariableDeclaration(path) {
|
|
if (path.node.declare) {
|
|
safeRemove(path);
|
|
}
|
|
},
|
|
VariableDeclarator: function VariableDeclarator(_ref3) {
|
|
var node = _ref3.node;
|
|
if (node.definite) node.definite = null;
|
|
},
|
|
TSIndexSignature: function TSIndexSignature(path) {
|
|
path.remove();
|
|
},
|
|
ClassDeclaration: function ClassDeclaration(path) {
|
|
var node = path.node;
|
|
if (node.declare) {
|
|
safeRemove(path);
|
|
}
|
|
},
|
|
Class: function Class(path) {
|
|
var node = path.node;
|
|
if (node.typeParameters) node.typeParameters = null;
|
|
if (node.superTypeParameters) node.superTypeParameters = null;
|
|
if (node["implements"]) node["implements"] = null;
|
|
if (node["abstract"]) node["abstract"] = null;
|
|
path.get("body.body").forEach(function (child) {
|
|
if (child.isClassMethod() || child.isClassPrivateMethod()) {
|
|
if (child.node.kind === "constructor") {
|
|
classMemberVisitors.constructor(child, path);
|
|
} else {
|
|
classMemberVisitors.method(child);
|
|
}
|
|
} else if (child.isClassProperty() || child.isClassPrivateProperty() || child.isClassAccessorProperty()) {
|
|
classMemberVisitors.field(child);
|
|
}
|
|
});
|
|
},
|
|
Function: function Function(path) {
|
|
var node = path.node;
|
|
if (node.typeParameters) node.typeParameters = null;
|
|
if (node.returnType) node.returnType = null;
|
|
var params = node.params;
|
|
if (params.length > 0 && t.isIdentifier(params[0], {
|
|
name: "this"
|
|
})) {
|
|
params.shift();
|
|
}
|
|
},
|
|
TSModuleDeclaration: function TSModuleDeclaration(path) {
|
|
transpileNamespace(path, allowNamespaces);
|
|
},
|
|
TSInterfaceDeclaration: function TSInterfaceDeclaration(path) {
|
|
path.remove();
|
|
},
|
|
TSTypeAliasDeclaration: function TSTypeAliasDeclaration(path) {
|
|
path.remove();
|
|
},
|
|
TSEnumDeclaration: function TSEnumDeclaration(path) {
|
|
if (optimizeConstEnums && path.node["const"]) {
|
|
transpileConstEnum(path, t);
|
|
} else {
|
|
transpileEnum(path, t);
|
|
}
|
|
},
|
|
TSImportEqualsDeclaration: function (_TSImportEqualsDeclaration) {
|
|
function TSImportEqualsDeclaration(_x) {
|
|
return _TSImportEqualsDeclaration.apply(this, arguments);
|
|
}
|
|
TSImportEqualsDeclaration.toString = function () {
|
|
return _TSImportEqualsDeclaration.toString();
|
|
};
|
|
return TSImportEqualsDeclaration;
|
|
}(function (path) {
|
|
if (t.isTSExternalModuleReference(path.node.moduleReference)) {
|
|
throw path.buildCodeFrameError("`import " + path.node.id.name + " = require('" + path.node.moduleReference.expression.value + "')` " + "is not supported by @babel/plugin-transform-typescript\n" + "Please consider using " + ("`import " + path.node.id.name + " from '" + path.node.moduleReference.expression.value + "';` alongside ") + "Typescript's --allowSyntheticDefaultImports option.");
|
|
}
|
|
path.replaceWith(t.variableDeclaration("var", [t.variableDeclarator(path.node.id, entityNameToExpr(path.node.moduleReference))]));
|
|
path.scope.registerDeclaration(path);
|
|
}),
|
|
TSExportAssignment: function TSExportAssignment(path) {
|
|
throw path.buildCodeFrameError("`export =` is not supported by @babel/plugin-transform-typescript\n" + "Please consider using `export <value>;`.");
|
|
},
|
|
TSTypeAssertion: function TSTypeAssertion(path) {
|
|
path.replaceWith(path.node.expression);
|
|
}
|
|
}, _visitor["TSAsExpression" + (t.tsSatisfiesExpression ? "|TSSatisfiesExpression" : "")] = function (_TSAsExpression) {
|
|
function TSAsExpression(_x2) {
|
|
return _TSAsExpression.apply(this, arguments);
|
|
}
|
|
TSAsExpression.toString = function () {
|
|
return _TSAsExpression.toString();
|
|
};
|
|
return TSAsExpression;
|
|
}(function (path) {
|
|
var node = path.node;
|
|
do {
|
|
node = node.expression;
|
|
} while (t.isTSAsExpression(node) || t.isTSSatisfiesExpression != null && t.isTSSatisfiesExpression(node));
|
|
path.replaceWith(node);
|
|
}), _visitor[api.types.tsInstantiationExpression ? "TSNonNullExpression|TSInstantiationExpression" : "TSNonNullExpression"] = function (path) {
|
|
path.replaceWith(path.node.expression);
|
|
}, _visitor.CallExpression = function CallExpression(path) {
|
|
path.node.typeParameters = null;
|
|
}, _visitor.OptionalCallExpression = function OptionalCallExpression(path) {
|
|
path.node.typeParameters = null;
|
|
}, _visitor.NewExpression = function NewExpression(path) {
|
|
path.node.typeParameters = null;
|
|
}, _visitor.JSXOpeningElement = function JSXOpeningElement(path) {
|
|
path.node.typeParameters = null;
|
|
}, _visitor.TaggedTemplateExpression = function TaggedTemplateExpression(path) {
|
|
path.node.typeParameters = null;
|
|
}, _visitor)
|
|
};
|
|
function entityNameToExpr(node) {
|
|
if (t.isTSQualifiedName(node)) {
|
|
return t.memberExpression(entityNameToExpr(node.left), node.right);
|
|
}
|
|
return node;
|
|
}
|
|
function visitPattern(_ref4) {
|
|
var node = _ref4.node;
|
|
if (node.typeAnnotation) node.typeAnnotation = null;
|
|
if (t.isIdentifier(node) && node.optional) node.optional = null;
|
|
}
|
|
function isImportTypeOnly(_ref5) {
|
|
var binding = _ref5.binding,
|
|
programPath = _ref5.programPath,
|
|
pragmaImportName = _ref5.pragmaImportName,
|
|
pragmaFragImportName = _ref5.pragmaFragImportName;
|
|
for (var _iterator8 = _createForOfIteratorHelperLoose(binding.referencePaths), _step8; !(_step8 = _iterator8()).done;) {
|
|
var path = _step8.value;
|
|
if (!isInType(path)) {
|
|
return false;
|
|
}
|
|
}
|
|
if (binding.identifier.name !== pragmaImportName && binding.identifier.name !== pragmaFragImportName) {
|
|
return true;
|
|
}
|
|
var sourceFileHasJsx = false;
|
|
programPath.traverse({
|
|
"JSXElement|JSXFragment": function JSXElementJSXFragment(path) {
|
|
sourceFileHasJsx = true;
|
|
path.stop();
|
|
}
|
|
});
|
|
return !sourceFileHasJsx;
|
|
}
|
|
});
|
|
|
|
var _transformUnicodeEscapes = declare(function (api) {
|
|
api.assertVersion(7);
|
|
var surrogate = /[\ud800-\udfff]/g;
|
|
var unicodeEscape = /(\\+)u\{([0-9a-fA-F]+)\}/g;
|
|
function escape(code) {
|
|
{
|
|
var str = code.toString(16);
|
|
while (str.length < 4) str = "0" + str;
|
|
return "\\u" + str;
|
|
}
|
|
}
|
|
function replacer(match, backslashes, code) {
|
|
if (backslashes.length % 2 === 0) {
|
|
return match;
|
|
}
|
|
var _char = String.fromCodePoint(parseInt(code, 16));
|
|
var escaped = backslashes.slice(0, -1) + escape(_char.charCodeAt(0));
|
|
return _char.length === 1 ? escaped : escaped + escape(_char.charCodeAt(1));
|
|
}
|
|
function replaceUnicodeEscapes(str) {
|
|
return str.replace(unicodeEscape, replacer);
|
|
}
|
|
function getUnicodeEscape(str) {
|
|
var match;
|
|
while (match = unicodeEscape.exec(str)) {
|
|
if (match[1].length % 2 === 0) continue;
|
|
unicodeEscape.lastIndex = 0;
|
|
return match[0];
|
|
}
|
|
return null;
|
|
}
|
|
return {
|
|
name: "transform-unicode-escapes",
|
|
manipulateOptions: function manipulateOptions(_ref) {
|
|
var _generatorOpts$jsescO, _generatorOpts$jsescO2;
|
|
var generatorOpts = _ref.generatorOpts;
|
|
if (!generatorOpts.jsescOption) {
|
|
generatorOpts.jsescOption = {};
|
|
}
|
|
(_generatorOpts$jsescO2 = (_generatorOpts$jsescO = generatorOpts.jsescOption).minimal) != null ? _generatorOpts$jsescO2 : _generatorOpts$jsescO.minimal = false;
|
|
},
|
|
visitor: {
|
|
Identifier: function Identifier(path) {
|
|
var node = path.node,
|
|
key = path.key;
|
|
var name = node.name;
|
|
var replaced = name.replace(surrogate, function (c) {
|
|
return "_u" + c.charCodeAt(0).toString(16);
|
|
});
|
|
if (name === replaced) return;
|
|
var str = inherits$1(stringLiteral$8(name), node);
|
|
if (key === "key") {
|
|
path.replaceWith(str);
|
|
return;
|
|
}
|
|
var parentPath = path.parentPath,
|
|
scope = path.scope;
|
|
if (parentPath.isMemberExpression({
|
|
property: node
|
|
}) || parentPath.isOptionalMemberExpression({
|
|
property: node
|
|
})) {
|
|
parentPath.node.computed = true;
|
|
path.replaceWith(str);
|
|
return;
|
|
}
|
|
var binding = scope.getBinding(name);
|
|
if (binding) {
|
|
scope.rename(name, scope.generateUid(replaced));
|
|
return;
|
|
}
|
|
throw path.buildCodeFrameError("Can't reference '" + name + "' as a bare identifier");
|
|
},
|
|
"StringLiteral|DirectiveLiteral": function StringLiteralDirectiveLiteral(path) {
|
|
var node = path.node;
|
|
var extra = node.extra;
|
|
if (extra != null && extra.raw) extra.raw = replaceUnicodeEscapes(extra.raw);
|
|
},
|
|
TemplateElement: function TemplateElement(path) {
|
|
var node = path.node,
|
|
parentPath = path.parentPath;
|
|
var value = node.value;
|
|
var firstEscape = getUnicodeEscape(value.raw);
|
|
if (!firstEscape) return;
|
|
var grandParent = parentPath.parentPath;
|
|
if (grandParent.isTaggedTemplateExpression()) {
|
|
throw path.buildCodeFrameError("Can't replace Unicode escape '" + firstEscape + "' inside tagged template literals. You can enable '@babel/plugin-transform-template-literals' to compile them to classic strings.");
|
|
}
|
|
value.raw = replaceUnicodeEscapes(value.raw);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var _transformUnicodeRegex = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return createRegExpFeaturePlugin({
|
|
name: "transform-unicode-regex",
|
|
feature: "unicodeFlag"
|
|
});
|
|
});
|
|
|
|
var syntaxAsyncGenerators = makeNoopPlugin(),
|
|
syntaxClassProperties = makeNoopPlugin(),
|
|
syntaxClassStaticBlock = makeNoopPlugin(),
|
|
syntaxImportMeta = makeNoopPlugin(),
|
|
syntaxObjectRestSpread = makeNoopPlugin(),
|
|
syntaxOptionalCatchBinding = makeNoopPlugin(),
|
|
syntaxTopLevelAwait = makeNoopPlugin();
|
|
var all = {
|
|
"syntax-async-generators": syntaxAsyncGenerators,
|
|
"syntax-class-properties": syntaxClassProperties,
|
|
"syntax-class-static-block": syntaxClassStaticBlock,
|
|
"syntax-import-meta": syntaxImportMeta,
|
|
"syntax-object-rest-spread": syntaxObjectRestSpread,
|
|
"syntax-optional-catch-binding": syntaxOptionalCatchBinding,
|
|
"syntax-top-level-await": syntaxTopLevelAwait,
|
|
"external-helpers": externalHelpers,
|
|
"syntax-decimal": syntaxDecimal,
|
|
"syntax-decorators": syntaxDecorators,
|
|
"syntax-destructuring-private": syntaxDestructuringPrivate,
|
|
"syntax-do-expressions": syntaxDoExpressions,
|
|
"syntax-explicit-resource-management": syntaxExplicitResourceManagement,
|
|
"syntax-export-default-from": syntaxExportDefaultFrom,
|
|
"syntax-flow": syntaxFlow,
|
|
"syntax-function-bind": syntaxFunctionBind,
|
|
"syntax-function-sent": syntaxFunctionSent,
|
|
"syntax-import-assertions": _syntaxImportAssertions,
|
|
"syntax-import-reflection": syntaxImportReflection,
|
|
"syntax-module-blocks": syntaxModuleBlocks,
|
|
"syntax-jsx": syntaxJsx,
|
|
"syntax-pipeline-operator": syntaxPipelineOperator,
|
|
"syntax-record-and-tuple": syntaxRecordAndTuple,
|
|
"syntax-typescript": syntaxTypescript,
|
|
"proposal-async-generator-functions": proposalAsyncGeneratorFunctions,
|
|
"proposal-class-properties": proposalClassProperties,
|
|
"proposal-class-static-block": proposalClassStaticBlock,
|
|
"proposal-decorators": proposalDecorators,
|
|
"proposal-destructuring-private": proposalDestructuringPrivate,
|
|
"proposal-do-expressions": proposalDoExpressions,
|
|
"proposal-duplicate-named-capturing-groups-regex": proposalDuplicateNamedCapturingGroupsRegex,
|
|
"proposal-dynamic-import": proposalDynamicImport,
|
|
"proposal-export-default-from": proposalExportDefaultFrom,
|
|
"proposal-export-namespace-from": proposalExportNamespaceFrom,
|
|
"proposal-function-bind": proposalFunctionBind,
|
|
"proposal-function-sent": proposalFunctionSent,
|
|
"proposal-json-strings": proposalJsonStrings,
|
|
"proposal-logical-assignment-operators": proposalLogicalAssignmentOperators,
|
|
"proposal-nullish-coalescing-operator": proposalNullishCoalescingOperator,
|
|
"proposal-numeric-separator": proposalNumericSeparator,
|
|
"proposal-object-rest-spread": proposalObjectRestSpread,
|
|
"proposal-optional-catch-binding": proposalOptionalCatchBinding,
|
|
"proposal-optional-chaining": proposalOptionalChaining,
|
|
"proposal-pipeline-operator": proposalPipelineOperator,
|
|
"proposal-private-methods": proposalPrivateMethods,
|
|
"proposal-private-property-in-object": proposalPrivatePropertyInObject,
|
|
"proposal-record-and-tuple": proposalRecordAndTuple,
|
|
"proposal-regexp-modifiers": proposalRegexpModifiers,
|
|
"proposal-throw-expressions": proposalThrowExpressions,
|
|
"proposal-unicode-property-regex": proposalUnicodePropertyRegex,
|
|
"proposal-unicode-sets-regex": proposalUnicodeSetsRegex,
|
|
"transform-async-to-generator": _transformAsyncToGenerator,
|
|
"transform-arrow-functions": _transformArrowFunctions,
|
|
"transform-block-scoped-functions": _transformBlockScopedFunctions,
|
|
"transform-block-scoping": _transformBlockScoping,
|
|
"transform-classes": _transformClasses,
|
|
"transform-computed-properties": _transformComputedProperties,
|
|
"transform-destructuring": _transformDestructuring,
|
|
"transform-dotall-regex": _transformDotallRegex,
|
|
"transform-duplicate-keys": _transformDuplicateKeys,
|
|
"transform-exponentiation-operator": transformExponentialOperator,
|
|
"transform-flow-comments": transformFlowComments,
|
|
"transform-flow-strip-types": transformFlowStripTypes,
|
|
"transform-for-of": _transformForOf,
|
|
"transform-function-name": _transformFunctionName,
|
|
"transform-instanceof": transformInstanceof,
|
|
"transform-jscript": transformJscript,
|
|
"transform-literals": _transformLiterals,
|
|
"transform-member-expression-literals": _transformMemberExpressionLiterals,
|
|
"transform-modules-amd": _transformModulesAmd,
|
|
"transform-modules-commonjs": transformModulesCommonJS,
|
|
"transform-modules-systemjs": _transformModulesSystemjs,
|
|
"transform-modules-umd": _transformModulesUmd,
|
|
"transform-named-capturing-groups-regex": _transformNamedCapturingGroupsRegex,
|
|
"transform-new-target": _transformNewTarget,
|
|
"transform-object-assign": transformObjectAssign,
|
|
"transform-object-super": _transformObjectSuper,
|
|
"transform-object-set-prototype-of-to-assign": transformObjectSetPrototypeOfToAssign,
|
|
"transform-parameters": _transformParameters,
|
|
"transform-property-literals": _transformPropertyLiterals,
|
|
"transform-property-mutators": transformPropertyMutators,
|
|
"transform-proto-to-assign": transformProtoToAssign,
|
|
"transform-react-constant-elements": transformReactConstantElements,
|
|
"transform-react-display-name": transformReactDisplayName,
|
|
"transform-react-inline-elements": transformReactInlineElements,
|
|
"transform-react-jsx": transformReactJSX,
|
|
"transform-react-jsx-compat": transformReactJsxCompat,
|
|
"transform-react-jsx-development": transformReactJSXDevelopment,
|
|
"transform-react-jsx-self": transformReactJsxSelf,
|
|
"transform-react-jsx-source": transformReactJsxSource,
|
|
"transform-regenerator": _transformRegenerator,
|
|
"transform-reserved-words": _transformReservedWords,
|
|
"transform-runtime": transformRuntime,
|
|
"transform-shorthand-properties": _transformShorthandProperties,
|
|
"transform-spread": _transformSpread,
|
|
"transform-sticky-regex": _transformStickyRegex,
|
|
"transform-strict-mode": transformStrictMode,
|
|
"transform-template-literals": _transformTemplateLiterals,
|
|
"transform-typeof-symbol": _transformTypeofSymbol,
|
|
"transform-typescript": transformTypeScript,
|
|
"transform-unicode-escapes": _transformUnicodeEscapes,
|
|
"transform-unicode-regex": _transformUnicodeRegex
|
|
};
|
|
|
|
var preset2015 = (function (_, opts) {
|
|
var loose = false;
|
|
var modules = "commonjs";
|
|
var spec = false;
|
|
if (opts !== undefined) {
|
|
if (opts.loose !== undefined) loose = opts.loose;
|
|
if (opts.modules !== undefined) modules = opts.modules;
|
|
if (opts.spec !== undefined) spec = opts.spec;
|
|
}
|
|
var optsLoose = {
|
|
loose: loose
|
|
};
|
|
return {
|
|
plugins: [[_transformTemplateLiterals, {
|
|
loose: loose,
|
|
spec: spec
|
|
}], _transformLiterals, _transformFunctionName, [_transformArrowFunctions, {
|
|
spec: spec
|
|
}], _transformBlockScopedFunctions, [_transformClasses, optsLoose], _transformObjectSuper, _transformShorthandProperties, _transformDuplicateKeys, [_transformComputedProperties, optsLoose], [_transformForOf, optsLoose], _transformStickyRegex, _transformUnicodeEscapes, _transformUnicodeRegex, [_transformSpread, optsLoose], [_transformParameters, optsLoose], [_transformDestructuring, optsLoose], _transformBlockScoping, _transformTypeofSymbol, transformInstanceof, (modules === "commonjs" || modules === "cjs") && [transformModulesCommonJS, optsLoose], modules === "systemjs" && [_transformModulesSystemjs, optsLoose], modules === "amd" && [_transformModulesAmd, optsLoose], modules === "umd" && [_transformModulesUmd, optsLoose], [_transformRegenerator, {
|
|
async: false,
|
|
asyncGenerators: false
|
|
}]].filter(Boolean)
|
|
};
|
|
});
|
|
|
|
var presetStage3 = (function (_, opts) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
var _opts = opts,
|
|
_opts$loose = _opts.loose,
|
|
loose = _opts$loose === void 0 ? false : _opts$loose,
|
|
_opts$decoratorsLegac = _opts.decoratorsLegacy,
|
|
decoratorsLegacy = _opts$decoratorsLegac === void 0 ? false : _opts$decoratorsLegac,
|
|
_opts$decoratorsVersi = _opts.decoratorsVersion,
|
|
decoratorsVersion = _opts$decoratorsVersi === void 0 ? "2018-09" : _opts$decoratorsVersi,
|
|
decoratorsBeforeExport = _opts.decoratorsBeforeExport;
|
|
var plugins = [_syntaxImportAssertions, proposalUnicodeSetsRegex, proposalDuplicateNamedCapturingGroupsRegex, [proposalDecorators, {
|
|
version: decoratorsLegacy ? "legacy" : decoratorsVersion,
|
|
decoratorsBeforeExport: decoratorsBeforeExport
|
|
}], proposalRegexpModifiers].concat(_toConsumableArray([proposalExportNamespaceFrom, proposalLogicalAssignmentOperators, [proposalOptionalChaining, {
|
|
loose: loose
|
|
}], [proposalNullishCoalescingOperator, {
|
|
loose: loose
|
|
}], [proposalClassProperties, {
|
|
loose: loose
|
|
}], proposalJsonStrings, proposalNumericSeparator, [proposalPrivateMethods, {
|
|
loose: loose
|
|
}], proposalPrivatePropertyInObject, proposalClassStaticBlock]));
|
|
return {
|
|
plugins: plugins
|
|
};
|
|
});
|
|
|
|
var presetStage2 = (function (_, opts) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
var _opts = opts,
|
|
_opts$pipelineProposa = _opts.pipelineProposal,
|
|
pipelineProposal = _opts$pipelineProposa === void 0 ? "minimal" : _opts$pipelineProposa,
|
|
_opts$pipelineTopicTo = _opts.pipelineTopicToken,
|
|
pipelineTopicToken = _opts$pipelineTopicTo === void 0 ? "%" : _opts$pipelineTopicTo,
|
|
_opts$recordAndTupleS = _opts.recordAndTupleSyntax,
|
|
recordAndTupleSyntax = _opts$recordAndTupleS === void 0 ? "hash" : _opts$recordAndTupleS;
|
|
return {
|
|
presets: [[presetStage3, opts]],
|
|
plugins: [proposalDestructuringPrivate, [proposalPipelineOperator, {
|
|
proposal: pipelineProposal,
|
|
topicToken: pipelineTopicToken
|
|
}], proposalFunctionSent, proposalThrowExpressions, [proposalRecordAndTuple, {
|
|
syntaxType: recordAndTupleSyntax
|
|
}], syntaxExplicitResourceManagement, syntaxModuleBlocks, syntaxImportReflection]
|
|
};
|
|
});
|
|
|
|
var presetStage1 = (function (_, opts) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
var _opts = opts,
|
|
_opts$loose = _opts.loose,
|
|
loose = _opts$loose === void 0 ? false : _opts$loose,
|
|
_opts$useBuiltIns = _opts.useBuiltIns,
|
|
useBuiltIns = _opts$useBuiltIns === void 0 ? false : _opts$useBuiltIns,
|
|
decoratorsLegacy = _opts.decoratorsLegacy,
|
|
decoratorsVersion = _opts.decoratorsVersion,
|
|
decoratorsBeforeExport = _opts.decoratorsBeforeExport,
|
|
pipelineProposal = _opts.pipelineProposal,
|
|
pipelineTopicToken = _opts.pipelineTopicToken,
|
|
recordAndTupleSyntax = _opts.recordAndTupleSyntax;
|
|
return {
|
|
presets: [[presetStage2, {
|
|
loose: loose,
|
|
useBuiltIns: useBuiltIns,
|
|
decoratorsLegacy: decoratorsLegacy,
|
|
decoratorsVersion: decoratorsVersion,
|
|
decoratorsBeforeExport: decoratorsBeforeExport,
|
|
pipelineProposal: pipelineProposal,
|
|
pipelineTopicToken: pipelineTopicToken,
|
|
recordAndTupleSyntax: recordAndTupleSyntax
|
|
}]],
|
|
plugins: [syntaxDecimal, proposalExportDefaultFrom, proposalDoExpressions]
|
|
};
|
|
});
|
|
|
|
var presetStage0 = (function (_, opts) {
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
var _opts = opts,
|
|
_opts$loose = _opts.loose,
|
|
loose = _opts$loose === void 0 ? false : _opts$loose,
|
|
_opts$useBuiltIns = _opts.useBuiltIns,
|
|
useBuiltIns = _opts$useBuiltIns === void 0 ? false : _opts$useBuiltIns,
|
|
decoratorsLegacy = _opts.decoratorsLegacy,
|
|
decoratorsVersion = _opts.decoratorsVersion,
|
|
decoratorsBeforeExport = _opts.decoratorsBeforeExport,
|
|
pipelineProposal = _opts.pipelineProposal,
|
|
pipelineTopicToken = _opts.pipelineTopicToken,
|
|
_opts$importAssertion = _opts.importAssertionsVersion,
|
|
importAssertionsVersion = _opts$importAssertion === void 0 ? "september-2020" : _opts$importAssertion;
|
|
return {
|
|
presets: [[presetStage1, {
|
|
loose: loose,
|
|
useBuiltIns: useBuiltIns,
|
|
decoratorsLegacy: decoratorsLegacy,
|
|
decoratorsVersion: decoratorsVersion,
|
|
decoratorsBeforeExport: decoratorsBeforeExport,
|
|
pipelineProposal: pipelineProposal,
|
|
pipelineTopicToken: pipelineTopicToken,
|
|
importAssertionsVersion: importAssertionsVersion
|
|
}]],
|
|
plugins: [proposalFunctionBind]
|
|
};
|
|
});
|
|
|
|
function bool(value) {
|
|
if (value == null) return false;
|
|
return value && value !== "false" && value !== "0";
|
|
}
|
|
var semver$2 = bool(browser$1$1.env["BABEL_8_BREAKING"]) ? requireSemverBABEL_8_BREAKINGTrue() : requireSemver();
|
|
|
|
var logPlugin = function logPlugin(item, targetVersions, list) {
|
|
var filteredList = getInclusionReasons(item, targetVersions, list);
|
|
var support = list[item];
|
|
{
|
|
if (item.startsWith("transform-")) {
|
|
var proposalName = "proposal-" + item.slice(10);
|
|
if (proposalName === "proposal-dynamic-import" || Object.prototype.hasOwnProperty.call(plugins$1, proposalName)) {
|
|
item = proposalName;
|
|
}
|
|
}
|
|
}
|
|
if (!support) {
|
|
console.log(" " + item);
|
|
return;
|
|
}
|
|
var formattedTargets = "{";
|
|
var first = true;
|
|
for (var _i = 0, _arr = Object.keys(filteredList); _i < _arr.length; _i++) {
|
|
var target = _arr[_i];
|
|
if (!first) formattedTargets += ",";
|
|
first = false;
|
|
formattedTargets += " " + target;
|
|
if (support[target]) formattedTargets += " < " + support[target];
|
|
}
|
|
formattedTargets += " }";
|
|
console.log(" " + item + " " + formattedTargets);
|
|
};
|
|
|
|
var defaultExcludesForLooseMode = ["transform-typeof-symbol"];
|
|
function getOptionSpecificExcludesFor (_ref) {
|
|
var loose = _ref.loose;
|
|
return loose ? defaultExcludesForLooseMode : null;
|
|
}
|
|
|
|
var lib = {};
|
|
|
|
Object.defineProperty(lib, "__esModule", {
|
|
value: true
|
|
});
|
|
lib["default"] = void 0;
|
|
var _helperPluginUtils = require$$0$5;
|
|
var _default = (0, _helperPluginUtils.declare)(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "syntax-json-strings",
|
|
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
|
parserOpts.plugins.push("jsonStrings");
|
|
}
|
|
};
|
|
});
|
|
lib["default"] = _default;
|
|
|
|
var transformAsyncArrowsInClass = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
|
|
exports.__esModule = true;
|
|
exports["default"] = void 0;
|
|
var OPTS = {
|
|
allowInsertArrow: false,
|
|
specCompliant: false
|
|
};
|
|
var _default = function _default(_ref) {
|
|
var t = _ref.types;
|
|
return {
|
|
name: "transform-async-arrows-in-class",
|
|
visitor: {
|
|
ArrowFunctionExpression: function ArrowFunctionExpression(path) {
|
|
if (path.node.async && path.findParent(t.isClassMethod)) {
|
|
path.arrowFunctionToExpression(OPTS);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
exports["default"] = _default;
|
|
module.exports = exports["default"];
|
|
})(transformAsyncArrowsInClass, transformAsyncArrowsInClass.exports);
|
|
var bugfixAsyncArrowsInClass = transformAsyncArrowsInClass.exports;
|
|
|
|
var transformEdgeDefaultParameters = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
|
|
exports.__esModule = true;
|
|
exports["default"] = void 0;
|
|
var _default = function _default(_ref) {
|
|
var t = _ref.types;
|
|
var isArrowParent = function isArrowParent(p) {
|
|
return p.parentKey === "params" && p.parentPath && t.isArrowFunctionExpression(p.parentPath);
|
|
};
|
|
return {
|
|
name: "transform-edge-default-parameters",
|
|
visitor: {
|
|
AssignmentPattern: function AssignmentPattern(path) {
|
|
var arrowArgParent = path.find(isArrowParent);
|
|
if (arrowArgParent && path.parent.shorthand) {
|
|
path.parent.shorthand = false;
|
|
(path.parent.extra || {}).shorthand = false;
|
|
path.scope.rename(path.parent.key.name);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
exports["default"] = _default;
|
|
module.exports = exports["default"];
|
|
})(transformEdgeDefaultParameters, transformEdgeDefaultParameters.exports);
|
|
var bugfixEdgeDefaultParameters = transformEdgeDefaultParameters.exports;
|
|
|
|
var transformEdgeFunctionName = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
|
|
exports.__esModule = true;
|
|
exports["default"] = void 0;
|
|
var _default = function _default(_ref) {
|
|
var t = _ref.types;
|
|
return {
|
|
name: "transform-edge-function-name",
|
|
visitor: {
|
|
FunctionExpression: {
|
|
exit: function exit(path) {
|
|
if (!path.node.id && t.isIdentifier(path.parent.id)) {
|
|
var id = t.cloneNode(path.parent.id);
|
|
var binding = path.scope.getBinding(id.name);
|
|
if (binding == null ? void 0 : binding.constantViolations.length) {
|
|
path.scope.rename(id.name);
|
|
}
|
|
path.node.id = id;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
exports["default"] = _default;
|
|
module.exports = exports["default"];
|
|
})(transformEdgeFunctionName, transformEdgeFunctionName.exports);
|
|
var bugfixEdgeFunctionName = transformEdgeFunctionName.exports;
|
|
|
|
var transformTaggedTemplateCaching = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
|
|
exports.__esModule = true;
|
|
exports["default"] = void 0;
|
|
var _default = function _default(_ref) {
|
|
var t = _ref.types;
|
|
return {
|
|
name: "transform-tagged-template-caching",
|
|
visitor: {
|
|
TaggedTemplateExpression: function TaggedTemplateExpression(path, state) {
|
|
var processed = state.get("processed");
|
|
if (!processed) {
|
|
processed = new WeakSet();
|
|
state.set("processed", processed);
|
|
}
|
|
if (processed.has(path.node)) return path.skip();
|
|
var expressions = path.node.quasi.expressions;
|
|
var identity = state.get("identity");
|
|
if (!identity) {
|
|
identity = path.scope.getProgramParent().generateDeclaredUidIdentifier("_");
|
|
state.set("identity", identity);
|
|
var binding = path.scope.getBinding(identity.name);
|
|
binding.path.get("init").replaceWith(t.arrowFunctionExpression([t.identifier("t")], t.identifier("t")));
|
|
}
|
|
var template = t.taggedTemplateExpression(t.cloneNode(identity), t.templateLiteral(path.node.quasi.quasis, expressions.map(function () {
|
|
return t.numericLiteral(0);
|
|
})));
|
|
processed.add(template);
|
|
var ident = path.scope.getProgramParent().generateDeclaredUidIdentifier("t");
|
|
path.scope.getBinding(ident.name).path.parent.kind = "let";
|
|
var inlineCache = t.logicalExpression("||", ident, t.assignmentExpression("=", t.cloneNode(ident), template));
|
|
var node = t.callExpression(path.node.tag, [inlineCache].concat(_toConsumableArray(expressions)));
|
|
path.replaceWith(node);
|
|
}
|
|
}
|
|
};
|
|
};
|
|
exports["default"] = _default;
|
|
module.exports = exports["default"];
|
|
})(transformTaggedTemplateCaching, transformTaggedTemplateCaching.exports);
|
|
var bugfixTaggedTemplateCaching = transformTaggedTemplateCaching.exports;
|
|
|
|
var transformSafariBlockShadowing = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
|
|
exports.__esModule = true;
|
|
exports["default"] = _default;
|
|
function _default(_ref) {
|
|
var t = _ref.types;
|
|
return {
|
|
name: "transform-safari-block-shadowing",
|
|
visitor: {
|
|
VariableDeclarator: function VariableDeclarator(path) {
|
|
var kind = path.parent.kind;
|
|
if (kind !== "let" && kind !== "const") return;
|
|
var block = path.scope.block;
|
|
if (t.isFunction(block) || t.isProgram(block)) return;
|
|
var bindings = t.getOuterBindingIdentifiers(path.node.id);
|
|
for (var _i = 0, _Object$keys = Object.keys(bindings); _i < _Object$keys.length; _i++) {
|
|
var name = _Object$keys[_i];
|
|
var scope = path.scope;
|
|
if (!scope.hasOwnBinding(name)) continue;
|
|
while (scope = scope.parent) {
|
|
if (scope.hasOwnBinding(name)) {
|
|
path.scope.rename(name);
|
|
break;
|
|
}
|
|
if (t.isFunction(scope.block) || t.isProgram(scope.block)) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
module.exports = exports["default"];
|
|
})(transformSafariBlockShadowing, transformSafariBlockShadowing.exports);
|
|
var bugfixSafariBlockShadowing = transformSafariBlockShadowing.exports;
|
|
|
|
var transformSafariForShadowing = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
|
|
exports.__esModule = true;
|
|
exports["default"] = void 0;
|
|
function handle(declaration) {
|
|
if (!declaration.isVariableDeclaration()) return;
|
|
var fn = declaration.getFunctionParent();
|
|
var name = declaration.node.declarations[0].id.name;
|
|
if (fn && fn.scope.hasOwnBinding(name) && fn.scope.getOwnBinding(name).kind === "param") {
|
|
declaration.scope.rename(name);
|
|
}
|
|
}
|
|
var _default = function _default() {
|
|
return {
|
|
name: "transform-safari-for-shadowing",
|
|
visitor: {
|
|
ForXStatement: function ForXStatement(path) {
|
|
handle(path.get("left"));
|
|
},
|
|
ForStatement: function ForStatement(path) {
|
|
handle(path.get("init"));
|
|
}
|
|
}
|
|
};
|
|
};
|
|
exports["default"] = _default;
|
|
module.exports = exports["default"];
|
|
})(transformSafariForShadowing, transformSafariForShadowing.exports);
|
|
var bugfixSafariForShadowing = transformSafariForShadowing.exports;
|
|
|
|
function shouldTransform$1(path) {
|
|
var node = path.node;
|
|
var functionId = node.id;
|
|
if (!functionId) return false;
|
|
var name = functionId.name;
|
|
var paramNameBinding = path.scope.getOwnBinding(name);
|
|
if (paramNameBinding === undefined) {
|
|
return false;
|
|
}
|
|
if (paramNameBinding.kind !== "param") {
|
|
return false;
|
|
}
|
|
if (paramNameBinding.identifier === paramNameBinding.path.node) {
|
|
return false;
|
|
}
|
|
return name;
|
|
}
|
|
|
|
var bugfixSafariIdDestructuringCollisionInFunctionExpression = declare(function (api) {
|
|
api.assertVersion("^7.16.0");
|
|
return {
|
|
name: "plugin-bugfix-safari-id-destructuring-collision-in-function-expression",
|
|
visitor: {
|
|
FunctionExpression: function FunctionExpression(path) {
|
|
var name = shouldTransform$1(path);
|
|
if (name) {
|
|
var scope = path.scope;
|
|
var newParamName = scope.generateUid(name);
|
|
scope.rename(name, newParamName);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
function matchAffectedArguments(argumentNodes) {
|
|
var spreadIndex = argumentNodes.findIndex(function (node) {
|
|
return isSpreadElement$1(node);
|
|
});
|
|
return spreadIndex >= 0 && spreadIndex !== argumentNodes.length - 1;
|
|
}
|
|
function shouldTransform(path) {
|
|
var optionalPath = path;
|
|
var chains = [];
|
|
for (;;) {
|
|
if (optionalPath.isOptionalMemberExpression()) {
|
|
chains.push(optionalPath.node);
|
|
optionalPath = skipTransparentExprWrappers(optionalPath.get("object"));
|
|
} else if (optionalPath.isOptionalCallExpression()) {
|
|
chains.push(optionalPath.node);
|
|
optionalPath = skipTransparentExprWrappers(optionalPath.get("callee"));
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
for (var i = 0; i < chains.length; i++) {
|
|
var node = chains[i];
|
|
if (isOptionalCallExpression$3(node) && matchAffectedArguments(node.arguments)) {
|
|
if (node.optional) {
|
|
return true;
|
|
}
|
|
var callee = chains[i + 1];
|
|
if (isOptionalMemberExpression$3(callee, {
|
|
optional: true
|
|
})) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
var bugfixV8SpreadParametersInOptionalChaining = declare(function (api) {
|
|
var _api$assumption, _api$assumption2;
|
|
api.assertVersion(7);
|
|
var noDocumentAll = (_api$assumption = api.assumption("noDocumentAll")) != null ? _api$assumption : false;
|
|
var pureGetters = (_api$assumption2 = api.assumption("pureGetters")) != null ? _api$assumption2 : false;
|
|
return {
|
|
name: "bugfix-v8-spread-parameters-in-optional-chaining",
|
|
visitor: {
|
|
"OptionalCallExpression|OptionalMemberExpression": function OptionalCallExpressionOptionalMemberExpression(path) {
|
|
if (shouldTransform(path)) {
|
|
transform$1(path, {
|
|
noDocumentAll: noDocumentAll,
|
|
pureGetters: pureGetters
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var availablePlugins$1 = {
|
|
"bugfix/transform-async-arrows-in-class": function bugfixTransformAsyncArrowsInClass() {
|
|
return bugfixAsyncArrowsInClass;
|
|
},
|
|
"bugfix/transform-edge-default-parameters": function bugfixTransformEdgeDefaultParameters() {
|
|
return bugfixEdgeDefaultParameters;
|
|
},
|
|
"bugfix/transform-edge-function-name": function bugfixTransformEdgeFunctionName() {
|
|
return bugfixEdgeFunctionName;
|
|
},
|
|
"bugfix/transform-safari-block-shadowing": function bugfixTransformSafariBlockShadowing() {
|
|
return bugfixSafariBlockShadowing;
|
|
},
|
|
"bugfix/transform-safari-for-shadowing": function bugfixTransformSafariForShadowing() {
|
|
return bugfixSafariForShadowing;
|
|
},
|
|
"bugfix/transform-safari-id-destructuring-collision-in-function-expression": function bugfixTransformSafariIdDestructuringCollisionInFunctionExpression() {
|
|
return bugfixSafariIdDestructuringCollisionInFunctionExpression;
|
|
},
|
|
"bugfix/transform-tagged-template-caching": function bugfixTransformTaggedTemplateCaching() {
|
|
return bugfixTaggedTemplateCaching;
|
|
},
|
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining": function bugfixTransformV8SpreadParametersInOptionalChaining() {
|
|
return bugfixV8SpreadParametersInOptionalChaining;
|
|
},
|
|
"syntax-async-generators": function syntaxAsyncGenerators$1() {
|
|
return syntaxAsyncGenerators;
|
|
},
|
|
"syntax-class-properties": function syntaxClassProperties$1() {
|
|
return syntaxClassProperties;
|
|
},
|
|
"syntax-class-static-block": function syntaxClassStaticBlock$1() {
|
|
return syntaxClassStaticBlock;
|
|
},
|
|
"syntax-dynamic-import": function syntaxDynamicImport() {
|
|
return _syntaxDynamicImport;
|
|
},
|
|
"syntax-export-namespace-from": function syntaxExportNamespaceFrom() {
|
|
return _syntaxExportNamespaceFrom;
|
|
},
|
|
"syntax-import-assertions": function syntaxImportAssertions() {
|
|
return _syntaxImportAssertions;
|
|
},
|
|
"syntax-import-meta": function syntaxImportMeta$1() {
|
|
return syntaxImportMeta;
|
|
},
|
|
"syntax-json-strings": function syntaxJsonStrings() {
|
|
return lib;
|
|
},
|
|
"syntax-logical-assignment-operators": function syntaxLogicalAssignmentOperators() {
|
|
return _syntaxLogicalAssignmentOperators;
|
|
},
|
|
"syntax-nullish-coalescing-operator": function syntaxNullishCoalescingOperator() {
|
|
return _syntaxNullishCoalescingOperator;
|
|
},
|
|
"syntax-numeric-separator": function syntaxNumericSeparator() {
|
|
return _syntaxNumericSeparator;
|
|
},
|
|
"syntax-object-rest-spread": function syntaxObjectRestSpread$1() {
|
|
return syntaxObjectRestSpread;
|
|
},
|
|
"syntax-optional-catch-binding": function syntaxOptionalCatchBinding$1() {
|
|
return syntaxOptionalCatchBinding;
|
|
},
|
|
"syntax-optional-chaining": function syntaxOptionalChaining() {
|
|
return _syntaxOptionalChaining;
|
|
},
|
|
"syntax-private-property-in-object": function syntaxPrivatePropertyInObject() {
|
|
return _syntaxPrivatePropertyInObject;
|
|
},
|
|
"syntax-top-level-await": function syntaxTopLevelAwait$1() {
|
|
return syntaxTopLevelAwait;
|
|
},
|
|
"transform-arrow-functions": function transformArrowFunctions() {
|
|
return _transformArrowFunctions;
|
|
},
|
|
"transform-async-generator-functions": function transformAsyncGeneratorFunctions() {
|
|
return proposalAsyncGeneratorFunctions;
|
|
},
|
|
"transform-async-to-generator": function transformAsyncToGenerator() {
|
|
return _transformAsyncToGenerator;
|
|
},
|
|
"transform-block-scoped-functions": function transformBlockScopedFunctions() {
|
|
return _transformBlockScopedFunctions;
|
|
},
|
|
"transform-block-scoping": function transformBlockScoping() {
|
|
return _transformBlockScoping;
|
|
},
|
|
"transform-class-properties": function transformClassProperties() {
|
|
return proposalClassProperties;
|
|
},
|
|
"transform-class-static-block": function transformClassStaticBlock() {
|
|
return proposalClassStaticBlock;
|
|
},
|
|
"transform-classes": function transformClasses() {
|
|
return _transformClasses;
|
|
},
|
|
"transform-computed-properties": function transformComputedProperties() {
|
|
return _transformComputedProperties;
|
|
},
|
|
"transform-destructuring": function transformDestructuring() {
|
|
return _transformDestructuring;
|
|
},
|
|
"transform-dotall-regex": function transformDotallRegex() {
|
|
return _transformDotallRegex;
|
|
},
|
|
"transform-duplicate-keys": function transformDuplicateKeys() {
|
|
return _transformDuplicateKeys;
|
|
},
|
|
"transform-dynamic-import": function transformDynamicImport() {
|
|
return proposalDynamicImport;
|
|
},
|
|
"transform-exponentiation-operator": function transformExponentiationOperator() {
|
|
return transformExponentialOperator;
|
|
},
|
|
"transform-export-namespace-from": function transformExportNamespaceFrom() {
|
|
return proposalExportNamespaceFrom;
|
|
},
|
|
"transform-for-of": function transformForOf() {
|
|
return _transformForOf;
|
|
},
|
|
"transform-function-name": function transformFunctionName() {
|
|
return _transformFunctionName;
|
|
},
|
|
"transform-json-strings": function transformJsonStrings() {
|
|
return proposalJsonStrings;
|
|
},
|
|
"transform-literals": function transformLiterals() {
|
|
return _transformLiterals;
|
|
},
|
|
"transform-logical-assignment-operators": function transformLogicalAssignmentOperators() {
|
|
return proposalLogicalAssignmentOperators;
|
|
},
|
|
"transform-member-expression-literals": function transformMemberExpressionLiterals() {
|
|
return _transformMemberExpressionLiterals;
|
|
},
|
|
"transform-modules-amd": function transformModulesAmd() {
|
|
return _transformModulesAmd;
|
|
},
|
|
"transform-modules-commonjs": function transformModulesCommonjs() {
|
|
return transformModulesCommonJS;
|
|
},
|
|
"transform-modules-systemjs": function transformModulesSystemjs() {
|
|
return _transformModulesSystemjs;
|
|
},
|
|
"transform-modules-umd": function transformModulesUmd() {
|
|
return _transformModulesUmd;
|
|
},
|
|
"transform-named-capturing-groups-regex": function transformNamedCapturingGroupsRegex() {
|
|
return _transformNamedCapturingGroupsRegex;
|
|
},
|
|
"transform-new-target": function transformNewTarget() {
|
|
return _transformNewTarget;
|
|
},
|
|
"transform-nullish-coalescing-operator": function transformNullishCoalescingOperator() {
|
|
return proposalNullishCoalescingOperator;
|
|
},
|
|
"transform-numeric-separator": function transformNumericSeparator() {
|
|
return proposalNumericSeparator;
|
|
},
|
|
"transform-object-rest-spread": function transformObjectRestSpread() {
|
|
return proposalObjectRestSpread;
|
|
},
|
|
"transform-object-super": function transformObjectSuper() {
|
|
return _transformObjectSuper;
|
|
},
|
|
"transform-optional-catch-binding": function transformOptionalCatchBinding() {
|
|
return proposalOptionalCatchBinding;
|
|
},
|
|
"transform-optional-chaining": function transformOptionalChaining() {
|
|
return proposalOptionalChaining;
|
|
},
|
|
"transform-parameters": function transformParameters() {
|
|
return _transformParameters;
|
|
},
|
|
"transform-private-methods": function transformPrivateMethods() {
|
|
return proposalPrivateMethods;
|
|
},
|
|
"transform-private-property-in-object": function transformPrivatePropertyInObject() {
|
|
return proposalPrivatePropertyInObject;
|
|
},
|
|
"transform-property-literals": function transformPropertyLiterals() {
|
|
return _transformPropertyLiterals;
|
|
},
|
|
"transform-regenerator": function transformRegenerator() {
|
|
return _transformRegenerator;
|
|
},
|
|
"transform-reserved-words": function transformReservedWords() {
|
|
return _transformReservedWords;
|
|
},
|
|
"transform-shorthand-properties": function transformShorthandProperties() {
|
|
return _transformShorthandProperties;
|
|
},
|
|
"transform-spread": function transformSpread() {
|
|
return _transformSpread;
|
|
},
|
|
"transform-sticky-regex": function transformStickyRegex() {
|
|
return _transformStickyRegex;
|
|
},
|
|
"transform-template-literals": function transformTemplateLiterals() {
|
|
return _transformTemplateLiterals;
|
|
},
|
|
"transform-typeof-symbol": function transformTypeofSymbol() {
|
|
return _transformTypeofSymbol;
|
|
},
|
|
"transform-unicode-escapes": function transformUnicodeEscapes() {
|
|
return _transformUnicodeEscapes;
|
|
},
|
|
"transform-unicode-property-regex": function transformUnicodePropertyRegex() {
|
|
return proposalUnicodePropertyRegex;
|
|
},
|
|
"transform-unicode-regex": function transformUnicodeRegex() {
|
|
return _transformUnicodeRegex;
|
|
}
|
|
};
|
|
var minVersions = {
|
|
"bugfix/transform-safari-id-destructuring-collision-in-function-expression": "7.16.0",
|
|
"transform-class-static-block": "7.12.0",
|
|
"transform-private-property-in-object": "7.10.0"
|
|
};
|
|
|
|
var has$3 = Function.call.bind(Object.hasOwnProperty);
|
|
function addProposalSyntaxPlugins(items, proposalSyntaxPlugins) {
|
|
proposalSyntaxPlugins.forEach(function (plugin) {
|
|
items.add(plugin);
|
|
});
|
|
}
|
|
function removeUnnecessaryItems(items, overlapping) {
|
|
items.forEach(function (item) {
|
|
var _overlapping$item;
|
|
(_overlapping$item = overlapping[item]) == null ? void 0 : _overlapping$item.forEach(function (name) {
|
|
return items["delete"](name);
|
|
});
|
|
});
|
|
}
|
|
function removeUnsupportedItems(items, babelVersion) {
|
|
items.forEach(function (item) {
|
|
if (has$3(minVersions, item) && semver$2.lt(babelVersion, minVersions[item])) {
|
|
items["delete"](item);
|
|
}
|
|
});
|
|
}
|
|
|
|
var moduleTransformations = {
|
|
auto: "transform-modules-commonjs",
|
|
amd: "transform-modules-amd",
|
|
commonjs: "transform-modules-commonjs",
|
|
cjs: "transform-modules-commonjs",
|
|
systemjs: "transform-modules-systemjs",
|
|
umd: "transform-modules-umd"
|
|
};
|
|
|
|
var coreJsCompat = require$$0$3;
|
|
|
|
var require$$0$1 = {
|
|
"bugfix/transform-async-arrows-in-class": {
|
|
chrome: "55",
|
|
opera: "42",
|
|
edge: "15",
|
|
firefox: "52",
|
|
safari: "11",
|
|
node: "7.6",
|
|
deno: "1",
|
|
ios: "11",
|
|
samsung: "6",
|
|
electron: "1.6"
|
|
},
|
|
"bugfix/transform-edge-default-parameters": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "18",
|
|
firefox: "52",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"bugfix/transform-edge-function-name": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "79",
|
|
firefox: "53",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"bugfix/transform-safari-block-shadowing": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "44",
|
|
safari: "11",
|
|
node: "6",
|
|
deno: "1",
|
|
ie: "11",
|
|
ios: "11",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"bugfix/transform-safari-for-shadowing": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "12",
|
|
firefox: "4",
|
|
safari: "11",
|
|
node: "6",
|
|
deno: "1",
|
|
ie: "11",
|
|
ios: "11",
|
|
samsung: "5",
|
|
rhino: "1.7.13",
|
|
electron: "0.37"
|
|
},
|
|
"bugfix/transform-safari-id-destructuring-collision-in-function-expression": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "14",
|
|
firefox: "2",
|
|
node: "6",
|
|
deno: "1",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"bugfix/transform-tagged-template-caching": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "12",
|
|
firefox: "34",
|
|
safari: "13",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "13",
|
|
samsung: "3.4",
|
|
rhino: "1.7.14",
|
|
electron: "0.21"
|
|
},
|
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining": {
|
|
chrome: "91",
|
|
opera: "77",
|
|
edge: "91",
|
|
firefox: "74",
|
|
safari: "13.1",
|
|
node: "16.9",
|
|
deno: "1.9",
|
|
ios: "13.4",
|
|
samsung: "16",
|
|
electron: "13.0"
|
|
},
|
|
"transform-optional-chaining": {
|
|
chrome: "80",
|
|
opera: "67",
|
|
edge: "80",
|
|
firefox: "74",
|
|
safari: "13.1",
|
|
node: "14",
|
|
deno: "1",
|
|
ios: "13.4",
|
|
samsung: "13",
|
|
electron: "8.0"
|
|
},
|
|
"proposal-optional-chaining": {
|
|
chrome: "80",
|
|
opera: "67",
|
|
edge: "80",
|
|
firefox: "74",
|
|
safari: "13.1",
|
|
node: "14",
|
|
deno: "1",
|
|
ios: "13.4",
|
|
samsung: "13",
|
|
electron: "8.0"
|
|
},
|
|
"transform-parameters": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "15",
|
|
firefox: "53",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
},
|
|
"transform-async-to-generator": {
|
|
chrome: "55",
|
|
opera: "42",
|
|
edge: "15",
|
|
firefox: "52",
|
|
safari: "10.1",
|
|
node: "7.6",
|
|
deno: "1",
|
|
ios: "10.3",
|
|
samsung: "6",
|
|
electron: "1.6"
|
|
},
|
|
"transform-template-literals": {
|
|
chrome: "41",
|
|
opera: "28",
|
|
edge: "13",
|
|
firefox: "34",
|
|
safari: "9",
|
|
node: "4",
|
|
deno: "1",
|
|
ios: "9",
|
|
samsung: "3.4",
|
|
electron: "0.21"
|
|
},
|
|
"transform-function-name": {
|
|
chrome: "51",
|
|
opera: "38",
|
|
edge: "14",
|
|
firefox: "53",
|
|
safari: "10",
|
|
node: "6.5",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "1.2"
|
|
},
|
|
"transform-block-scoping": {
|
|
chrome: "49",
|
|
opera: "36",
|
|
edge: "14",
|
|
firefox: "51",
|
|
safari: "10",
|
|
node: "6",
|
|
deno: "1",
|
|
ios: "10",
|
|
samsung: "5",
|
|
electron: "0.37"
|
|
}
|
|
};
|
|
|
|
var pluginBugfixes = require$$0$1;
|
|
|
|
var require$$0 = {
|
|
"transform-async-to-generator": [
|
|
"bugfix/transform-async-arrows-in-class"
|
|
],
|
|
"transform-parameters": [
|
|
"bugfix/transform-edge-default-parameters",
|
|
"bugfix/transform-safari-id-destructuring-collision-in-function-expression"
|
|
],
|
|
"transform-function-name": [
|
|
"bugfix/transform-edge-function-name"
|
|
],
|
|
"transform-block-scoping": [
|
|
"bugfix/transform-safari-block-shadowing",
|
|
"bugfix/transform-safari-for-shadowing"
|
|
],
|
|
"transform-template-literals": [
|
|
"bugfix/transform-tagged-template-caching"
|
|
],
|
|
"transform-optional-chaining": [
|
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining"
|
|
],
|
|
"proposal-optional-chaining": [
|
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining"
|
|
]
|
|
};
|
|
|
|
var overlappingPlugins$1 = require$$0;
|
|
|
|
var keys = Object.keys;
|
|
var plugins = filterAvailable(plugins$1);
|
|
var pluginsBugfixes = filterAvailable(pluginBugfixes);
|
|
var overlappingPlugins = filterAvailable(overlappingPlugins$1);
|
|
function filterAvailable(data) {
|
|
var result = {};
|
|
for (var _iterator = _createForOfIteratorHelperLoose(keys(data)), _step; !(_step = _iterator()).done;) {
|
|
var plugin = _step.value;
|
|
if (Object.hasOwnProperty.call(availablePlugins$1, plugin)) {
|
|
result[plugin] = data[plugin];
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
var TopLevelOptions = {
|
|
bugfixes: "bugfixes",
|
|
configPath: "configPath",
|
|
corejs: "corejs",
|
|
debug: "debug",
|
|
exclude: "exclude",
|
|
forceAllTransforms: "forceAllTransforms",
|
|
ignoreBrowserslistConfig: "ignoreBrowserslistConfig",
|
|
include: "include",
|
|
loose: "loose",
|
|
modules: "modules",
|
|
shippedProposals: "shippedProposals",
|
|
spec: "spec",
|
|
targets: "targets",
|
|
useBuiltIns: "useBuiltIns",
|
|
browserslistEnv: "browserslistEnv"
|
|
};
|
|
var ModulesOption = {
|
|
"false": false,
|
|
auto: "auto",
|
|
amd: "amd",
|
|
commonjs: "commonjs",
|
|
cjs: "cjs",
|
|
systemjs: "systemjs",
|
|
umd: "umd"
|
|
};
|
|
var UseBuiltInsOption = {
|
|
"false": false,
|
|
entry: "entry",
|
|
usage: "usage"
|
|
};
|
|
|
|
var corejs2DefaultWebIncludes = ["web.timers", "web.immediate", "web.dom.iterable"];
|
|
var v$1 = new OptionValidator("@babel/preset-env");
|
|
var allPluginsList = Object.keys(plugins);
|
|
var modulePlugins = ["transform-dynamic-import"].concat(_toConsumableArray(Object.keys(moduleTransformations).map(function (m) {
|
|
return moduleTransformations[m];
|
|
})));
|
|
var getValidIncludesAndExcludes = function getValidIncludesAndExcludes(type, corejs) {
|
|
return Array.from(new Set([].concat(allPluginsList, _toConsumableArray(type === "exclude" ? modulePlugins : []), _toConsumableArray(corejs ? corejs == 2 ? [].concat(_toConsumableArray(Object.keys(corejs2BuiltIns)), corejs2DefaultWebIncludes) : Object.keys(coreJsCompat) : []))));
|
|
};
|
|
function flatMap(array, fn) {
|
|
return Array.prototype.concat.apply([], array.map(fn));
|
|
}
|
|
var normalizePluginName = function normalizePluginName(plugin) {
|
|
return plugin.replace(/^(@babel\/|babel-)(plugin-)?/, "");
|
|
};
|
|
var expandIncludesAndExcludes = function expandIncludesAndExcludes(filterList, type, corejs) {
|
|
if (filterList === void 0) {
|
|
filterList = [];
|
|
}
|
|
if (filterList.length === 0) return [];
|
|
var filterableItems = getValidIncludesAndExcludes(type, corejs);
|
|
var invalidFilters = [];
|
|
var selectedPlugins = flatMap(filterList, function (filter) {
|
|
var re;
|
|
if (typeof filter === "string") {
|
|
try {
|
|
re = new RegExp("^" + normalizePluginName(filter) + "$");
|
|
} catch (e) {
|
|
invalidFilters.push(filter);
|
|
return [];
|
|
}
|
|
} else {
|
|
re = filter;
|
|
}
|
|
var items = filterableItems.filter(function (item) {
|
|
return re.test(item) || re.test(item.replace(/^transform-/, "proposal-"));
|
|
});
|
|
if (items.length === 0) invalidFilters.push(filter);
|
|
return items;
|
|
});
|
|
v$1.invariant(invalidFilters.length === 0, "The plugins/built-ins '" + invalidFilters.join(", ") + "' passed to the '" + type + "' option are not\n valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env");
|
|
return selectedPlugins;
|
|
};
|
|
var checkDuplicateIncludeExcludes = function checkDuplicateIncludeExcludes(include, exclude) {
|
|
if (include === void 0) {
|
|
include = [];
|
|
}
|
|
if (exclude === void 0) {
|
|
exclude = [];
|
|
}
|
|
var duplicates = include.filter(function (opt) {
|
|
return exclude.indexOf(opt) >= 0;
|
|
});
|
|
v$1.invariant(duplicates.length === 0, "The plugins/built-ins '" + duplicates.join(", ") + "' were found in both the \"include\" and\n \"exclude\" options.");
|
|
};
|
|
var normalizeTargets = function normalizeTargets(targets) {
|
|
if (typeof targets === "string" || Array.isArray(targets)) {
|
|
return {
|
|
browsers: targets
|
|
};
|
|
}
|
|
return Object.assign({}, targets);
|
|
};
|
|
var validateModulesOption = function validateModulesOption(modulesOpt) {
|
|
if (modulesOpt === void 0) {
|
|
modulesOpt = ModulesOption.auto;
|
|
}
|
|
v$1.invariant(ModulesOption[modulesOpt.toString()] || modulesOpt === ModulesOption["false"], "The 'modules' option must be one of \n" + " - 'false' to indicate no module processing\n" + " - a specific module type: 'commonjs', 'amd', 'umd', 'systemjs'" + " - 'auto' (default) which will automatically select 'false' if the current\n" + " process is known to support ES module syntax, or \"commonjs\" otherwise\n");
|
|
return modulesOpt;
|
|
};
|
|
var validateUseBuiltInsOption = function validateUseBuiltInsOption(builtInsOpt) {
|
|
if (builtInsOpt === void 0) {
|
|
builtInsOpt = false;
|
|
}
|
|
v$1.invariant(UseBuiltInsOption[builtInsOpt.toString()] || builtInsOpt === UseBuiltInsOption["false"], "The 'useBuiltIns' option must be either\n 'false' (default) to indicate no polyfill,\n '\"entry\"' to indicate replacing the entry polyfill, or\n '\"usage\"' to import only used polyfills per file");
|
|
return builtInsOpt;
|
|
};
|
|
function normalizeCoreJSOption(corejs, useBuiltIns) {
|
|
var proposals = false;
|
|
var rawVersion;
|
|
if (useBuiltIns && corejs === undefined) {
|
|
rawVersion = 2;
|
|
console.warn("\nWARNING (@babel/preset-env): We noticed you're using the `useBuiltIns` option without declaring a " + "core-js version. Currently, we assume version 2.x when no version " + "is passed. Since this default version will likely change in future " + "versions of Babel, we recommend explicitly setting the core-js version " + "you are using via the `corejs` option.\n" + "\nYou should also be sure that the version you pass to the `corejs` " + "option matches the version specified in your `package.json`'s " + "`dependencies` section. If it doesn't, you need to run one of the " + "following commands:\n\n" + " npm install --save core-js@2 npm install --save core-js@3\n" + " yarn add core-js@2 yarn add core-js@3\n\n" + "More info about useBuiltIns: https://babeljs.io/docs/en/babel-preset-env#usebuiltins\n" + "More info about core-js: https://babeljs.io/docs/en/babel-preset-env#corejs");
|
|
} else if (typeof corejs === "object" && corejs !== null) {
|
|
rawVersion = corejs.version;
|
|
proposals = Boolean(corejs.proposals);
|
|
} else {
|
|
rawVersion = corejs;
|
|
}
|
|
var version = rawVersion ? semver$2.coerce(String(rawVersion)) : false;
|
|
if (!useBuiltIns && version) {
|
|
console.warn("\nWARNING (@babel/preset-env): The `corejs` option only has an effect when the `useBuiltIns` option is not `false`\n");
|
|
}
|
|
if (useBuiltIns && (!version || version.major < 2 || version.major > 3)) {
|
|
throw new RangeError("Invalid Option: The version passed to `corejs` is invalid. Currently, " + "only core-js@2 and core-js@3 are supported.");
|
|
}
|
|
return {
|
|
version: version,
|
|
proposals: proposals
|
|
};
|
|
}
|
|
function normalizeOptions$3(opts) {
|
|
v$1.validateTopLevelOptions(opts, TopLevelOptions);
|
|
var useBuiltIns = validateUseBuiltInsOption(opts.useBuiltIns);
|
|
var corejs = normalizeCoreJSOption(opts.corejs, useBuiltIns);
|
|
var include = expandIncludesAndExcludes(opts.include, TopLevelOptions.include, !!corejs.version && corejs.version.major);
|
|
var exclude = expandIncludesAndExcludes(opts.exclude, TopLevelOptions.exclude, !!corejs.version && corejs.version.major);
|
|
checkDuplicateIncludeExcludes(include, exclude);
|
|
return {
|
|
bugfixes: v$1.validateBooleanOption(TopLevelOptions.bugfixes, opts.bugfixes, false),
|
|
configPath: v$1.validateStringOption(TopLevelOptions.configPath, opts.configPath, browser$1$1.cwd()),
|
|
corejs: corejs,
|
|
debug: v$1.validateBooleanOption(TopLevelOptions.debug, opts.debug, false),
|
|
include: include,
|
|
exclude: exclude,
|
|
forceAllTransforms: v$1.validateBooleanOption(TopLevelOptions.forceAllTransforms, opts.forceAllTransforms, false),
|
|
ignoreBrowserslistConfig: v$1.validateBooleanOption(TopLevelOptions.ignoreBrowserslistConfig, opts.ignoreBrowserslistConfig, false),
|
|
loose: v$1.validateBooleanOption(TopLevelOptions.loose, opts.loose),
|
|
modules: validateModulesOption(opts.modules),
|
|
shippedProposals: v$1.validateBooleanOption(TopLevelOptions.shippedProposals, opts.shippedProposals, false),
|
|
spec: v$1.validateBooleanOption(TopLevelOptions.spec, opts.spec, false),
|
|
targets: normalizeTargets(opts.targets),
|
|
useBuiltIns: useBuiltIns,
|
|
browserslistEnv: v$1.validateStringOption(TopLevelOptions.browserslistEnv, opts.browserslistEnv)
|
|
};
|
|
}
|
|
|
|
var proposalPlugins = new Set();
|
|
var proposalSyntaxPlugins = ["syntax-import-assertions"];
|
|
var pluginSyntaxObject = {
|
|
"transform-async-generator-functions": "syntax-async-generators",
|
|
"transform-class-properties": "syntax-class-properties",
|
|
"transform-class-static-block": "syntax-class-static-block",
|
|
"transform-json-strings": "syntax-json-strings",
|
|
"transform-nullish-coalescing-operator": "syntax-nullish-coalescing-operator",
|
|
"transform-numeric-separator": "syntax-numeric-separator",
|
|
"transform-object-rest-spread": "syntax-object-rest-spread",
|
|
"transform-optional-catch-binding": "syntax-optional-catch-binding",
|
|
"transform-optional-chaining": "syntax-optional-chaining",
|
|
"transform-private-methods": "syntax-class-properties",
|
|
"transform-private-property-in-object": "syntax-private-property-in-object",
|
|
"transform-unicode-property-regex": null
|
|
};
|
|
var pluginSyntaxEntries = Object.keys(pluginSyntaxObject).map(function (key) {
|
|
return [key, pluginSyntaxObject[key]];
|
|
});
|
|
var pluginSyntaxMap = new Map(pluginSyntaxEntries);
|
|
|
|
var isCallExpression = isCallExpression$8,
|
|
isExpressionStatement = isExpressionStatement$3,
|
|
isIdentifier = isIdentifier$j,
|
|
isStringLiteral = isStringLiteral$6;
|
|
function getImportSource$1(_ref) {
|
|
var node = _ref.node;
|
|
if (node.specifiers.length === 0) return node.source.value;
|
|
}
|
|
function getRequireSource$1(_ref2) {
|
|
var node = _ref2.node;
|
|
if (!isExpressionStatement(node)) return;
|
|
var expression = node.expression;
|
|
if (isCallExpression(expression) && isIdentifier(expression.callee) && expression.callee.name === "require" && expression.arguments.length === 1 && isStringLiteral(expression.arguments[0])) {
|
|
return expression.arguments[0].value;
|
|
}
|
|
}
|
|
function isPolyfillSource(source) {
|
|
return source === "@babel/polyfill" || source === "core-js";
|
|
}
|
|
|
|
function isRegeneratorSource(source) {
|
|
return source === "regenerator-runtime/runtime" || source === "regenerator-runtime/runtime.js";
|
|
}
|
|
function removeRegeneratorEntryPlugin () {
|
|
var visitor = {
|
|
ImportDeclaration: function ImportDeclaration(path) {
|
|
if (isRegeneratorSource(getImportSource$1(path))) {
|
|
this.regeneratorImportExcluded = true;
|
|
path.remove();
|
|
}
|
|
},
|
|
Program: function Program(path) {
|
|
var _this = this;
|
|
path.get("body").forEach(function (bodyPath) {
|
|
if (isRegeneratorSource(getRequireSource$1(bodyPath))) {
|
|
_this.regeneratorImportExcluded = true;
|
|
bodyPath.remove();
|
|
}
|
|
});
|
|
}
|
|
};
|
|
return {
|
|
name: "preset-env/remove-regenerator",
|
|
visitor: visitor,
|
|
pre: function pre() {
|
|
this.regeneratorImportExcluded = false;
|
|
},
|
|
post: function post() {
|
|
if (this.opts.debug && this.regeneratorImportExcluded) {
|
|
var filename = this.file.opts.filename;
|
|
if (browser$1$1.env.BABEL_ENV === "test") {
|
|
filename = filename.replace(/\\/g, "/");
|
|
}
|
|
console.log("\n[" + filename + "] Based on your targets, regenerator-runtime import excluded.");
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4;
|
|
var BABEL_POLYFILL_DEPRECATION = "\n `@babel/polyfill` is deprecated. Please, use required parts of `core-js`\n and `regenerator-runtime/runtime` separately";
|
|
var NO_DIRECT_POLYFILL_IMPORT = "\n When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.\n Please remove the direct import of `SPECIFIER` or use `useBuiltIns: 'entry'` instead.";
|
|
function legacyBabelPolyfillPlugin (_ref, _ref2) {
|
|
var template = _ref.template;
|
|
var regenerator = _ref2.regenerator,
|
|
deprecated = _ref2.deprecated,
|
|
usage = _ref2.usage;
|
|
return {
|
|
name: "preset-env/replace-babel-polyfill",
|
|
visitor: {
|
|
ImportDeclaration: function (_ImportDeclaration) {
|
|
function ImportDeclaration(_x) {
|
|
return _ImportDeclaration.apply(this, arguments);
|
|
}
|
|
ImportDeclaration.toString = function () {
|
|
return _ImportDeclaration.toString();
|
|
};
|
|
return ImportDeclaration;
|
|
}(function (path) {
|
|
var src = getImportSource$1(path);
|
|
if (usage && isPolyfillSource(src)) {
|
|
console.warn(NO_DIRECT_POLYFILL_IMPORT.replace("SPECIFIER", src));
|
|
if (!deprecated) path.remove();
|
|
} else if (src === "@babel/polyfill") {
|
|
if (deprecated) {
|
|
console.warn(BABEL_POLYFILL_DEPRECATION);
|
|
} else if (regenerator) {
|
|
path.replaceWithMultiple(template.ast(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose(["\n import \"core-js\";\n import \"regenerator-runtime/runtime.js\";\n "]))));
|
|
} else {
|
|
path.replaceWith(template.ast(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteralLoose(["\n import \"core-js\";\n "]))));
|
|
}
|
|
}
|
|
}),
|
|
Program: function (_Program) {
|
|
function Program(_x2) {
|
|
return _Program.apply(this, arguments);
|
|
}
|
|
Program.toString = function () {
|
|
return _Program.toString();
|
|
};
|
|
return Program;
|
|
}(function (path) {
|
|
path.get("body").forEach(function (bodyPath) {
|
|
var src = getRequireSource$1(bodyPath);
|
|
if (usage && isPolyfillSource(src)) {
|
|
console.warn(NO_DIRECT_POLYFILL_IMPORT.replace("SPECIFIER", src));
|
|
if (!deprecated) bodyPath.remove();
|
|
} else if (src === "@babel/polyfill") {
|
|
if (deprecated) {
|
|
console.warn(BABEL_POLYFILL_DEPRECATION);
|
|
} else if (regenerator) {
|
|
bodyPath.replaceWithMultiple(template.ast(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteralLoose(["\n require(\"core-js\");\n require(\"regenerator-runtime/runtime.js\");\n "]))));
|
|
} else {
|
|
bodyPath.replaceWith(template.ast(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n require(\"core-js\");\n "]))));
|
|
}
|
|
}
|
|
});
|
|
})
|
|
}
|
|
};
|
|
}
|
|
|
|
var semver$1 = {exports: {}};
|
|
|
|
(function (module, exports) {
|
|
exports = module.exports = SemVer;
|
|
var debug;
|
|
if (typeof browser$1$1 === 'object' && browser$1$1.env && browser$1$1.env.NODE_DEBUG && /\bsemver\b/i.test(browser$1$1.env.NODE_DEBUG)) {
|
|
debug = function debug() {
|
|
var args = Array.prototype.slice.call(arguments, 0);
|
|
args.unshift('SEMVER');
|
|
console.log.apply(console, args);
|
|
};
|
|
} else {
|
|
debug = function debug() {};
|
|
}
|
|
exports.SEMVER_SPEC_VERSION = '2.0.0';
|
|
var MAX_LENGTH = 256;
|
|
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
|
var MAX_SAFE_COMPONENT_LENGTH = 16;
|
|
var re = exports.re = [];
|
|
var src = exports.src = [];
|
|
var t = exports.tokens = {};
|
|
var R = 0;
|
|
function tok(n) {
|
|
t[n] = R++;
|
|
}
|
|
tok('NUMERICIDENTIFIER');
|
|
src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*';
|
|
tok('NUMERICIDENTIFIERLOOSE');
|
|
src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+';
|
|
tok('NONNUMERICIDENTIFIER');
|
|
src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
|
|
tok('MAINVERSION');
|
|
src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')';
|
|
tok('MAINVERSIONLOOSE');
|
|
src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')';
|
|
tok('PRERELEASEIDENTIFIER');
|
|
src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
|
|
tok('PRERELEASEIDENTIFIERLOOSE');
|
|
src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + '|' + src[t.NONNUMERICIDENTIFIER] + ')';
|
|
tok('PRERELEASE');
|
|
src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))';
|
|
tok('PRERELEASELOOSE');
|
|
src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))';
|
|
tok('BUILDIDENTIFIER');
|
|
src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
|
|
tok('BUILD');
|
|
src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))';
|
|
tok('FULL');
|
|
tok('FULLPLAIN');
|
|
src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + src[t.PRERELEASE] + '?' + src[t.BUILD] + '?';
|
|
src[t.FULL] = '^' + src[t.FULLPLAIN] + '$';
|
|
tok('LOOSEPLAIN');
|
|
src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + '?' + src[t.BUILD] + '?';
|
|
tok('LOOSE');
|
|
src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$';
|
|
tok('GTLT');
|
|
src[t.GTLT] = '((?:<|>)?=?)';
|
|
tok('XRANGEIDENTIFIERLOOSE');
|
|
src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
|
|
tok('XRANGEIDENTIFIER');
|
|
src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*';
|
|
tok('XRANGEPLAIN');
|
|
src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:' + src[t.PRERELEASE] + ')?' + src[t.BUILD] + '?' + ')?)?';
|
|
tok('XRANGEPLAINLOOSE');
|
|
src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:' + src[t.PRERELEASELOOSE] + ')?' + src[t.BUILD] + '?' + ')?)?';
|
|
tok('XRANGE');
|
|
src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$';
|
|
tok('XRANGELOOSE');
|
|
src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$';
|
|
tok('COERCE');
|
|
src[t.COERCE] = '(^|[^\\d])' + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:$|[^\\d])';
|
|
tok('COERCERTL');
|
|
re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g');
|
|
tok('LONETILDE');
|
|
src[t.LONETILDE] = '(?:~>?)';
|
|
tok('TILDETRIM');
|
|
src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+';
|
|
re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g');
|
|
var tildeTrimReplace = '$1~';
|
|
tok('TILDE');
|
|
src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$';
|
|
tok('TILDELOOSE');
|
|
src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$';
|
|
tok('LONECARET');
|
|
src[t.LONECARET] = '(?:\\^)';
|
|
tok('CARETTRIM');
|
|
src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+';
|
|
re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g');
|
|
var caretTrimReplace = '$1^';
|
|
tok('CARET');
|
|
src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$';
|
|
tok('CARETLOOSE');
|
|
src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$';
|
|
tok('COMPARATORLOOSE');
|
|
src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$';
|
|
tok('COMPARATOR');
|
|
src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$';
|
|
tok('COMPARATORTRIM');
|
|
src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')';
|
|
re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g');
|
|
var comparatorTrimReplace = '$1$2$3';
|
|
tok('HYPHENRANGE');
|
|
src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAIN] + ')' + '\\s*$';
|
|
tok('HYPHENRANGELOOSE');
|
|
src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s*$';
|
|
tok('STAR');
|
|
src[t.STAR] = '(<|>)?=?\\s*\\*';
|
|
for (var i = 0; i < R; i++) {
|
|
debug(i, src[i]);
|
|
if (!re[i]) {
|
|
re[i] = new RegExp(src[i]);
|
|
}
|
|
}
|
|
exports.parse = parse;
|
|
function parse(version, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (version instanceof SemVer) {
|
|
return version;
|
|
}
|
|
if (typeof version !== 'string') {
|
|
return null;
|
|
}
|
|
if (version.length > MAX_LENGTH) {
|
|
return null;
|
|
}
|
|
var r = options.loose ? re[t.LOOSE] : re[t.FULL];
|
|
if (!r.test(version)) {
|
|
return null;
|
|
}
|
|
try {
|
|
return new SemVer(version, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.valid = valid;
|
|
function valid(version, options) {
|
|
var v = parse(version, options);
|
|
return v ? v.version : null;
|
|
}
|
|
exports.clean = clean;
|
|
function clean(version, options) {
|
|
var s = parse(version.trim().replace(/^[=v]+/, ''), options);
|
|
return s ? s.version : null;
|
|
}
|
|
exports.SemVer = SemVer;
|
|
function SemVer(version, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (version instanceof SemVer) {
|
|
if (version.loose === options.loose) {
|
|
return version;
|
|
} else {
|
|
version = version.version;
|
|
}
|
|
} else if (typeof version !== 'string') {
|
|
throw new TypeError('Invalid Version: ' + version);
|
|
}
|
|
if (version.length > MAX_LENGTH) {
|
|
throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters');
|
|
}
|
|
if (!(this instanceof SemVer)) {
|
|
return new SemVer(version, options);
|
|
}
|
|
debug('SemVer', version, options);
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
|
|
if (!m) {
|
|
throw new TypeError('Invalid Version: ' + version);
|
|
}
|
|
this.raw = version;
|
|
this.major = +m[1];
|
|
this.minor = +m[2];
|
|
this.patch = +m[3];
|
|
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
|
|
throw new TypeError('Invalid major version');
|
|
}
|
|
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
|
|
throw new TypeError('Invalid minor version');
|
|
}
|
|
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
|
|
throw new TypeError('Invalid patch version');
|
|
}
|
|
if (!m[4]) {
|
|
this.prerelease = [];
|
|
} else {
|
|
this.prerelease = m[4].split('.').map(function (id) {
|
|
if (/^[0-9]+$/.test(id)) {
|
|
var num = +id;
|
|
if (num >= 0 && num < MAX_SAFE_INTEGER) {
|
|
return num;
|
|
}
|
|
}
|
|
return id;
|
|
});
|
|
}
|
|
this.build = m[5] ? m[5].split('.') : [];
|
|
this.format();
|
|
}
|
|
SemVer.prototype.format = function () {
|
|
this.version = this.major + '.' + this.minor + '.' + this.patch;
|
|
if (this.prerelease.length) {
|
|
this.version += '-' + this.prerelease.join('.');
|
|
}
|
|
return this.version;
|
|
};
|
|
SemVer.prototype.toString = function () {
|
|
return this.version;
|
|
};
|
|
SemVer.prototype.compare = function (other) {
|
|
debug('SemVer.compare', this.version, this.options, other);
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
return this.compareMain(other) || this.comparePre(other);
|
|
};
|
|
SemVer.prototype.compareMain = function (other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
|
|
};
|
|
SemVer.prototype.comparePre = function (other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
if (this.prerelease.length && !other.prerelease.length) {
|
|
return -1;
|
|
} else if (!this.prerelease.length && other.prerelease.length) {
|
|
return 1;
|
|
} else if (!this.prerelease.length && !other.prerelease.length) {
|
|
return 0;
|
|
}
|
|
var i = 0;
|
|
do {
|
|
var a = this.prerelease[i];
|
|
var b = other.prerelease[i];
|
|
debug('prerelease compare', i, a, b);
|
|
if (a === undefined && b === undefined) {
|
|
return 0;
|
|
} else if (b === undefined) {
|
|
return 1;
|
|
} else if (a === undefined) {
|
|
return -1;
|
|
} else if (a === b) {
|
|
continue;
|
|
} else {
|
|
return compareIdentifiers(a, b);
|
|
}
|
|
} while (++i);
|
|
};
|
|
SemVer.prototype.compareBuild = function (other) {
|
|
if (!(other instanceof SemVer)) {
|
|
other = new SemVer(other, this.options);
|
|
}
|
|
var i = 0;
|
|
do {
|
|
var a = this.build[i];
|
|
var b = other.build[i];
|
|
debug('prerelease compare', i, a, b);
|
|
if (a === undefined && b === undefined) {
|
|
return 0;
|
|
} else if (b === undefined) {
|
|
return 1;
|
|
} else if (a === undefined) {
|
|
return -1;
|
|
} else if (a === b) {
|
|
continue;
|
|
} else {
|
|
return compareIdentifiers(a, b);
|
|
}
|
|
} while (++i);
|
|
};
|
|
SemVer.prototype.inc = function (release, identifier) {
|
|
switch (release) {
|
|
case 'premajor':
|
|
this.prerelease.length = 0;
|
|
this.patch = 0;
|
|
this.minor = 0;
|
|
this.major++;
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'preminor':
|
|
this.prerelease.length = 0;
|
|
this.patch = 0;
|
|
this.minor++;
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'prepatch':
|
|
this.prerelease.length = 0;
|
|
this.inc('patch', identifier);
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'prerelease':
|
|
if (this.prerelease.length === 0) {
|
|
this.inc('patch', identifier);
|
|
}
|
|
this.inc('pre', identifier);
|
|
break;
|
|
case 'major':
|
|
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
|
|
this.major++;
|
|
}
|
|
this.minor = 0;
|
|
this.patch = 0;
|
|
this.prerelease = [];
|
|
break;
|
|
case 'minor':
|
|
if (this.patch !== 0 || this.prerelease.length === 0) {
|
|
this.minor++;
|
|
}
|
|
this.patch = 0;
|
|
this.prerelease = [];
|
|
break;
|
|
case 'patch':
|
|
if (this.prerelease.length === 0) {
|
|
this.patch++;
|
|
}
|
|
this.prerelease = [];
|
|
break;
|
|
case 'pre':
|
|
if (this.prerelease.length === 0) {
|
|
this.prerelease = [0];
|
|
} else {
|
|
var i = this.prerelease.length;
|
|
while (--i >= 0) {
|
|
if (typeof this.prerelease[i] === 'number') {
|
|
this.prerelease[i]++;
|
|
i = -2;
|
|
}
|
|
}
|
|
if (i === -1) {
|
|
this.prerelease.push(0);
|
|
}
|
|
}
|
|
if (identifier) {
|
|
if (this.prerelease[0] === identifier) {
|
|
if (isNaN(this.prerelease[1])) {
|
|
this.prerelease = [identifier, 0];
|
|
}
|
|
} else {
|
|
this.prerelease = [identifier, 0];
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
throw new Error('invalid increment argument: ' + release);
|
|
}
|
|
this.format();
|
|
this.raw = this.version;
|
|
return this;
|
|
};
|
|
exports.inc = inc;
|
|
function inc(version, release, loose, identifier) {
|
|
if (typeof loose === 'string') {
|
|
identifier = loose;
|
|
loose = undefined;
|
|
}
|
|
try {
|
|
return new SemVer(version, loose).inc(release, identifier).version;
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.diff = diff;
|
|
function diff(version1, version2) {
|
|
if (eq(version1, version2)) {
|
|
return null;
|
|
} else {
|
|
var v1 = parse(version1);
|
|
var v2 = parse(version2);
|
|
var prefix = '';
|
|
if (v1.prerelease.length || v2.prerelease.length) {
|
|
prefix = 'pre';
|
|
var defaultResult = 'prerelease';
|
|
}
|
|
for (var key in v1) {
|
|
if (key === 'major' || key === 'minor' || key === 'patch') {
|
|
if (v1[key] !== v2[key]) {
|
|
return prefix + key;
|
|
}
|
|
}
|
|
}
|
|
return defaultResult;
|
|
}
|
|
}
|
|
exports.compareIdentifiers = compareIdentifiers;
|
|
var numeric = /^[0-9]+$/;
|
|
function compareIdentifiers(a, b) {
|
|
var anum = numeric.test(a);
|
|
var bnum = numeric.test(b);
|
|
if (anum && bnum) {
|
|
a = +a;
|
|
b = +b;
|
|
}
|
|
return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
|
|
}
|
|
exports.rcompareIdentifiers = rcompareIdentifiers;
|
|
function rcompareIdentifiers(a, b) {
|
|
return compareIdentifiers(b, a);
|
|
}
|
|
exports.major = major;
|
|
function major(a, loose) {
|
|
return new SemVer(a, loose).major;
|
|
}
|
|
exports.minor = minor;
|
|
function minor(a, loose) {
|
|
return new SemVer(a, loose).minor;
|
|
}
|
|
exports.patch = patch;
|
|
function patch(a, loose) {
|
|
return new SemVer(a, loose).patch;
|
|
}
|
|
exports.compare = compare;
|
|
function compare(a, b, loose) {
|
|
return new SemVer(a, loose).compare(new SemVer(b, loose));
|
|
}
|
|
exports.compareLoose = compareLoose;
|
|
function compareLoose(a, b) {
|
|
return compare(a, b, true);
|
|
}
|
|
exports.compareBuild = compareBuild;
|
|
function compareBuild(a, b, loose) {
|
|
var versionA = new SemVer(a, loose);
|
|
var versionB = new SemVer(b, loose);
|
|
return versionA.compare(versionB) || versionA.compareBuild(versionB);
|
|
}
|
|
exports.rcompare = rcompare;
|
|
function rcompare(a, b, loose) {
|
|
return compare(b, a, loose);
|
|
}
|
|
exports.sort = sort;
|
|
function sort(list, loose) {
|
|
return list.sort(function (a, b) {
|
|
return exports.compareBuild(a, b, loose);
|
|
});
|
|
}
|
|
exports.rsort = rsort;
|
|
function rsort(list, loose) {
|
|
return list.sort(function (a, b) {
|
|
return exports.compareBuild(b, a, loose);
|
|
});
|
|
}
|
|
exports.gt = gt;
|
|
function gt(a, b, loose) {
|
|
return compare(a, b, loose) > 0;
|
|
}
|
|
exports.lt = lt;
|
|
function lt(a, b, loose) {
|
|
return compare(a, b, loose) < 0;
|
|
}
|
|
exports.eq = eq;
|
|
function eq(a, b, loose) {
|
|
return compare(a, b, loose) === 0;
|
|
}
|
|
exports.neq = neq;
|
|
function neq(a, b, loose) {
|
|
return compare(a, b, loose) !== 0;
|
|
}
|
|
exports.gte = gte;
|
|
function gte(a, b, loose) {
|
|
return compare(a, b, loose) >= 0;
|
|
}
|
|
exports.lte = lte;
|
|
function lte(a, b, loose) {
|
|
return compare(a, b, loose) <= 0;
|
|
}
|
|
exports.cmp = cmp;
|
|
function cmp(a, op, b, loose) {
|
|
switch (op) {
|
|
case '===':
|
|
if (typeof a === 'object') a = a.version;
|
|
if (typeof b === 'object') b = b.version;
|
|
return a === b;
|
|
case '!==':
|
|
if (typeof a === 'object') a = a.version;
|
|
if (typeof b === 'object') b = b.version;
|
|
return a !== b;
|
|
case '':
|
|
case '=':
|
|
case '==':
|
|
return eq(a, b, loose);
|
|
case '!=':
|
|
return neq(a, b, loose);
|
|
case '>':
|
|
return gt(a, b, loose);
|
|
case '>=':
|
|
return gte(a, b, loose);
|
|
case '<':
|
|
return lt(a, b, loose);
|
|
case '<=':
|
|
return lte(a, b, loose);
|
|
default:
|
|
throw new TypeError('Invalid operator: ' + op);
|
|
}
|
|
}
|
|
exports.Comparator = Comparator;
|
|
function Comparator(comp, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (comp instanceof Comparator) {
|
|
if (comp.loose === !!options.loose) {
|
|
return comp;
|
|
} else {
|
|
comp = comp.value;
|
|
}
|
|
}
|
|
if (!(this instanceof Comparator)) {
|
|
return new Comparator(comp, options);
|
|
}
|
|
debug('comparator', comp, options);
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
this.parse(comp);
|
|
if (this.semver === ANY) {
|
|
this.value = '';
|
|
} else {
|
|
this.value = this.operator + this.semver.version;
|
|
}
|
|
debug('comp', this);
|
|
}
|
|
var ANY = {};
|
|
Comparator.prototype.parse = function (comp) {
|
|
var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
var m = comp.match(r);
|
|
if (!m) {
|
|
throw new TypeError('Invalid comparator: ' + comp);
|
|
}
|
|
this.operator = m[1] !== undefined ? m[1] : '';
|
|
if (this.operator === '=') {
|
|
this.operator = '';
|
|
}
|
|
if (!m[2]) {
|
|
this.semver = ANY;
|
|
} else {
|
|
this.semver = new SemVer(m[2], this.options.loose);
|
|
}
|
|
};
|
|
Comparator.prototype.toString = function () {
|
|
return this.value;
|
|
};
|
|
Comparator.prototype.test = function (version) {
|
|
debug('Comparator.test', version, this.options.loose);
|
|
if (this.semver === ANY || version === ANY) {
|
|
return true;
|
|
}
|
|
if (typeof version === 'string') {
|
|
try {
|
|
version = new SemVer(version, this.options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
}
|
|
return cmp(version, this.operator, this.semver, this.options);
|
|
};
|
|
Comparator.prototype.intersects = function (comp, options) {
|
|
if (!(comp instanceof Comparator)) {
|
|
throw new TypeError('a Comparator is required');
|
|
}
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
var rangeTmp;
|
|
if (this.operator === '') {
|
|
if (this.value === '') {
|
|
return true;
|
|
}
|
|
rangeTmp = new Range(comp.value, options);
|
|
return satisfies(this.value, rangeTmp, options);
|
|
} else if (comp.operator === '') {
|
|
if (comp.value === '') {
|
|
return true;
|
|
}
|
|
rangeTmp = new Range(this.value, options);
|
|
return satisfies(comp.semver, rangeTmp, options);
|
|
}
|
|
var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');
|
|
var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');
|
|
var sameSemVer = this.semver.version === comp.semver.version;
|
|
var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');
|
|
var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<');
|
|
var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>');
|
|
return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
|
|
};
|
|
exports.Range = Range;
|
|
function Range(range, options) {
|
|
if (!options || typeof options !== 'object') {
|
|
options = {
|
|
loose: !!options,
|
|
includePrerelease: false
|
|
};
|
|
}
|
|
if (range instanceof Range) {
|
|
if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
|
|
return range;
|
|
} else {
|
|
return new Range(range.raw, options);
|
|
}
|
|
}
|
|
if (range instanceof Comparator) {
|
|
return new Range(range.value, options);
|
|
}
|
|
if (!(this instanceof Range)) {
|
|
return new Range(range, options);
|
|
}
|
|
this.options = options;
|
|
this.loose = !!options.loose;
|
|
this.includePrerelease = !!options.includePrerelease;
|
|
this.raw = range;
|
|
this.set = range.split(/\s*\|\|\s*/).map(function (range) {
|
|
return this.parseRange(range.trim());
|
|
}, this).filter(function (c) {
|
|
return c.length;
|
|
});
|
|
if (!this.set.length) {
|
|
throw new TypeError('Invalid SemVer Range: ' + range);
|
|
}
|
|
this.format();
|
|
}
|
|
Range.prototype.format = function () {
|
|
this.range = this.set.map(function (comps) {
|
|
return comps.join(' ').trim();
|
|
}).join('||').trim();
|
|
return this.range;
|
|
};
|
|
Range.prototype.toString = function () {
|
|
return this.range;
|
|
};
|
|
Range.prototype.parseRange = function (range) {
|
|
var loose = this.options.loose;
|
|
range = range.trim();
|
|
var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
|
|
range = range.replace(hr, hyphenReplace);
|
|
debug('hyphen replace', range);
|
|
range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
|
|
debug('comparator trim', range, re[t.COMPARATORTRIM]);
|
|
range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
|
|
range = range.replace(re[t.CARETTRIM], caretTrimReplace);
|
|
range = range.split(/\s+/).join(' ');
|
|
var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
var set = range.split(' ').map(function (comp) {
|
|
return parseComparator(comp, this.options);
|
|
}, this).join(' ').split(/\s+/);
|
|
if (this.options.loose) {
|
|
set = set.filter(function (comp) {
|
|
return !!comp.match(compRe);
|
|
});
|
|
}
|
|
set = set.map(function (comp) {
|
|
return new Comparator(comp, this.options);
|
|
}, this);
|
|
return set;
|
|
};
|
|
Range.prototype.intersects = function (range, options) {
|
|
if (!(range instanceof Range)) {
|
|
throw new TypeError('a Range is required');
|
|
}
|
|
return this.set.some(function (thisComparators) {
|
|
return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) {
|
|
return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) {
|
|
return rangeComparators.every(function (rangeComparator) {
|
|
return thisComparator.intersects(rangeComparator, options);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
};
|
|
function isSatisfiable(comparators, options) {
|
|
var result = true;
|
|
var remainingComparators = comparators.slice();
|
|
var testComparator = remainingComparators.pop();
|
|
while (result && remainingComparators.length) {
|
|
result = remainingComparators.every(function (otherComparator) {
|
|
return testComparator.intersects(otherComparator, options);
|
|
});
|
|
testComparator = remainingComparators.pop();
|
|
}
|
|
return result;
|
|
}
|
|
exports.toComparators = toComparators;
|
|
function toComparators(range, options) {
|
|
return new Range(range, options).set.map(function (comp) {
|
|
return comp.map(function (c) {
|
|
return c.value;
|
|
}).join(' ').trim().split(' ');
|
|
});
|
|
}
|
|
function parseComparator(comp, options) {
|
|
debug('comp', comp, options);
|
|
comp = replaceCarets(comp, options);
|
|
debug('caret', comp);
|
|
comp = replaceTildes(comp, options);
|
|
debug('tildes', comp);
|
|
comp = replaceXRanges(comp, options);
|
|
debug('xrange', comp);
|
|
comp = replaceStars(comp, options);
|
|
debug('stars', comp);
|
|
return comp;
|
|
}
|
|
function isX(id) {
|
|
return !id || id.toLowerCase() === 'x' || id === '*';
|
|
}
|
|
function replaceTildes(comp, options) {
|
|
return comp.trim().split(/\s+/).map(function (comp) {
|
|
return replaceTilde(comp, options);
|
|
}).join(' ');
|
|
}
|
|
function replaceTilde(comp, options) {
|
|
var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
return comp.replace(r, function (_, M, m, p, pr) {
|
|
debug('tilde', comp, _, M, m, p, pr);
|
|
var ret;
|
|
if (isX(M)) {
|
|
ret = '';
|
|
} else if (isX(m)) {
|
|
ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
|
|
} else if (isX(p)) {
|
|
ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
|
|
} else if (pr) {
|
|
debug('replaceTilde pr', pr);
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
|
|
}
|
|
debug('tilde return', ret);
|
|
return ret;
|
|
});
|
|
}
|
|
function replaceCarets(comp, options) {
|
|
return comp.trim().split(/\s+/).map(function (comp) {
|
|
return replaceCaret(comp, options);
|
|
}).join(' ');
|
|
}
|
|
function replaceCaret(comp, options) {
|
|
debug('caret', comp, options);
|
|
var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
|
|
return comp.replace(r, function (_, M, m, p, pr) {
|
|
debug('caret', comp, _, M, m, p, pr);
|
|
var ret;
|
|
if (isX(M)) {
|
|
ret = '';
|
|
} else if (isX(m)) {
|
|
ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
|
|
} else if (isX(p)) {
|
|
if (M === '0') {
|
|
ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';
|
|
}
|
|
} else if (pr) {
|
|
debug('replaceCaret pr', pr);
|
|
if (M === '0') {
|
|
if (m === '0') {
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1);
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0';
|
|
}
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0';
|
|
}
|
|
} else {
|
|
debug('no pr');
|
|
if (M === '0') {
|
|
if (m === '0') {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1);
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0';
|
|
}
|
|
} else {
|
|
ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0';
|
|
}
|
|
}
|
|
debug('caret return', ret);
|
|
return ret;
|
|
});
|
|
}
|
|
function replaceXRanges(comp, options) {
|
|
debug('replaceXRanges', comp, options);
|
|
return comp.split(/\s+/).map(function (comp) {
|
|
return replaceXRange(comp, options);
|
|
}).join(' ');
|
|
}
|
|
function replaceXRange(comp, options) {
|
|
comp = comp.trim();
|
|
var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
|
|
debug('xRange', comp, ret, gtlt, M, m, p, pr);
|
|
var xM = isX(M);
|
|
var xm = xM || isX(m);
|
|
var xp = xm || isX(p);
|
|
var anyX = xp;
|
|
if (gtlt === '=' && anyX) {
|
|
gtlt = '';
|
|
}
|
|
pr = options.includePrerelease ? '-0' : '';
|
|
if (xM) {
|
|
if (gtlt === '>' || gtlt === '<') {
|
|
ret = '<0.0.0-0';
|
|
} else {
|
|
ret = '*';
|
|
}
|
|
} else if (gtlt && anyX) {
|
|
if (xm) {
|
|
m = 0;
|
|
}
|
|
p = 0;
|
|
if (gtlt === '>') {
|
|
gtlt = '>=';
|
|
if (xm) {
|
|
M = +M + 1;
|
|
m = 0;
|
|
p = 0;
|
|
} else {
|
|
m = +m + 1;
|
|
p = 0;
|
|
}
|
|
} else if (gtlt === '<=') {
|
|
gtlt = '<';
|
|
if (xm) {
|
|
M = +M + 1;
|
|
} else {
|
|
m = +m + 1;
|
|
}
|
|
}
|
|
ret = gtlt + M + '.' + m + '.' + p + pr;
|
|
} else if (xm) {
|
|
ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr;
|
|
} else if (xp) {
|
|
ret = '>=' + M + '.' + m + '.0' + pr + ' <' + M + '.' + (+m + 1) + '.0' + pr;
|
|
}
|
|
debug('xRange return', ret);
|
|
return ret;
|
|
});
|
|
}
|
|
function replaceStars(comp, options) {
|
|
debug('replaceStars', comp, options);
|
|
return comp.trim().replace(re[t.STAR], '');
|
|
}
|
|
function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
|
|
if (isX(fM)) {
|
|
from = '';
|
|
} else if (isX(fm)) {
|
|
from = '>=' + fM + '.0.0';
|
|
} else if (isX(fp)) {
|
|
from = '>=' + fM + '.' + fm + '.0';
|
|
} else {
|
|
from = '>=' + from;
|
|
}
|
|
if (isX(tM)) {
|
|
to = '';
|
|
} else if (isX(tm)) {
|
|
to = '<' + (+tM + 1) + '.0.0';
|
|
} else if (isX(tp)) {
|
|
to = '<' + tM + '.' + (+tm + 1) + '.0';
|
|
} else if (tpr) {
|
|
to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
|
|
} else {
|
|
to = '<=' + to;
|
|
}
|
|
return (from + ' ' + to).trim();
|
|
}
|
|
Range.prototype.test = function (version) {
|
|
if (!version) {
|
|
return false;
|
|
}
|
|
if (typeof version === 'string') {
|
|
try {
|
|
version = new SemVer(version, this.options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
}
|
|
for (var i = 0; i < this.set.length; i++) {
|
|
if (testSet(this.set[i], version, this.options)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
function testSet(set, version, options) {
|
|
for (var i = 0; i < set.length; i++) {
|
|
if (!set[i].test(version)) {
|
|
return false;
|
|
}
|
|
}
|
|
if (version.prerelease.length && !options.includePrerelease) {
|
|
for (i = 0; i < set.length; i++) {
|
|
debug(set[i].semver);
|
|
if (set[i].semver === ANY) {
|
|
continue;
|
|
}
|
|
if (set[i].semver.prerelease.length > 0) {
|
|
var allowed = set[i].semver;
|
|
if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
exports.satisfies = satisfies;
|
|
function satisfies(version, range, options) {
|
|
try {
|
|
range = new Range(range, options);
|
|
} catch (er) {
|
|
return false;
|
|
}
|
|
return range.test(version);
|
|
}
|
|
exports.maxSatisfying = maxSatisfying;
|
|
function maxSatisfying(versions, range, options) {
|
|
var max = null;
|
|
var maxSV = null;
|
|
try {
|
|
var rangeObj = new Range(range, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
versions.forEach(function (v) {
|
|
if (rangeObj.test(v)) {
|
|
if (!max || maxSV.compare(v) === -1) {
|
|
max = v;
|
|
maxSV = new SemVer(max, options);
|
|
}
|
|
}
|
|
});
|
|
return max;
|
|
}
|
|
exports.minSatisfying = minSatisfying;
|
|
function minSatisfying(versions, range, options) {
|
|
var min = null;
|
|
var minSV = null;
|
|
try {
|
|
var rangeObj = new Range(range, options);
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
versions.forEach(function (v) {
|
|
if (rangeObj.test(v)) {
|
|
if (!min || minSV.compare(v) === 1) {
|
|
min = v;
|
|
minSV = new SemVer(min, options);
|
|
}
|
|
}
|
|
});
|
|
return min;
|
|
}
|
|
exports.minVersion = minVersion;
|
|
function minVersion(range, loose) {
|
|
range = new Range(range, loose);
|
|
var minver = new SemVer('0.0.0');
|
|
if (range.test(minver)) {
|
|
return minver;
|
|
}
|
|
minver = new SemVer('0.0.0-0');
|
|
if (range.test(minver)) {
|
|
return minver;
|
|
}
|
|
minver = null;
|
|
for (var i = 0; i < range.set.length; ++i) {
|
|
var comparators = range.set[i];
|
|
comparators.forEach(function (comparator) {
|
|
var compver = new SemVer(comparator.semver.version);
|
|
switch (comparator.operator) {
|
|
case '>':
|
|
if (compver.prerelease.length === 0) {
|
|
compver.patch++;
|
|
} else {
|
|
compver.prerelease.push(0);
|
|
}
|
|
compver.raw = compver.format();
|
|
case '':
|
|
case '>=':
|
|
if (!minver || gt(minver, compver)) {
|
|
minver = compver;
|
|
}
|
|
break;
|
|
case '<':
|
|
case '<=':
|
|
break;
|
|
default:
|
|
throw new Error('Unexpected operation: ' + comparator.operator);
|
|
}
|
|
});
|
|
}
|
|
if (minver && range.test(minver)) {
|
|
return minver;
|
|
}
|
|
return null;
|
|
}
|
|
exports.validRange = validRange;
|
|
function validRange(range, options) {
|
|
try {
|
|
return new Range(range, options).range || '*';
|
|
} catch (er) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.ltr = ltr;
|
|
function ltr(version, range, options) {
|
|
return outside(version, range, '<', options);
|
|
}
|
|
exports.gtr = gtr;
|
|
function gtr(version, range, options) {
|
|
return outside(version, range, '>', options);
|
|
}
|
|
exports.outside = outside;
|
|
function outside(version, range, hilo, options) {
|
|
version = new SemVer(version, options);
|
|
range = new Range(range, options);
|
|
var gtfn, ltefn, ltfn, comp, ecomp;
|
|
switch (hilo) {
|
|
case '>':
|
|
gtfn = gt;
|
|
ltefn = lte;
|
|
ltfn = lt;
|
|
comp = '>';
|
|
ecomp = '>=';
|
|
break;
|
|
case '<':
|
|
gtfn = lt;
|
|
ltefn = gte;
|
|
ltfn = gt;
|
|
comp = '<';
|
|
ecomp = '<=';
|
|
break;
|
|
default:
|
|
throw new TypeError('Must provide a hilo val of "<" or ">"');
|
|
}
|
|
if (satisfies(version, range, options)) {
|
|
return false;
|
|
}
|
|
for (var i = 0; i < range.set.length; ++i) {
|
|
var comparators = range.set[i];
|
|
var high = null;
|
|
var low = null;
|
|
comparators.forEach(function (comparator) {
|
|
if (comparator.semver === ANY) {
|
|
comparator = new Comparator('>=0.0.0');
|
|
}
|
|
high = high || comparator;
|
|
low = low || comparator;
|
|
if (gtfn(comparator.semver, high.semver, options)) {
|
|
high = comparator;
|
|
} else if (ltfn(comparator.semver, low.semver, options)) {
|
|
low = comparator;
|
|
}
|
|
});
|
|
if (high.operator === comp || high.operator === ecomp) {
|
|
return false;
|
|
}
|
|
if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
|
|
return false;
|
|
} else if (low.operator === ecomp && ltfn(version, low.semver)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
exports.prerelease = prerelease;
|
|
function prerelease(version, options) {
|
|
var parsed = parse(version, options);
|
|
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
}
|
|
exports.intersects = intersects;
|
|
function intersects(r1, r2, options) {
|
|
r1 = new Range(r1, options);
|
|
r2 = new Range(r2, options);
|
|
return r1.intersects(r2);
|
|
}
|
|
exports.coerce = coerce;
|
|
function coerce(version, options) {
|
|
if (version instanceof SemVer) {
|
|
return version;
|
|
}
|
|
if (typeof version === 'number') {
|
|
version = String(version);
|
|
}
|
|
if (typeof version !== 'string') {
|
|
return null;
|
|
}
|
|
options = options || {};
|
|
var match = null;
|
|
if (!options.rtl) {
|
|
match = version.match(re[t.COERCE]);
|
|
} else {
|
|
var next;
|
|
while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
|
|
if (!match || next.index + next[0].length !== match.index + match[0].length) {
|
|
match = next;
|
|
}
|
|
re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
|
|
}
|
|
re[t.COERCERTL].lastIndex = -1;
|
|
}
|
|
if (match === null) {
|
|
return null;
|
|
}
|
|
return parse(match[2] + '.' + (match[3] || '0') + '.' + (match[4] || '0'), options);
|
|
}
|
|
})(semver$1, semver$1.exports);
|
|
var semver = semver$1.exports;
|
|
|
|
var _excluded = ["method", "targets", "ignoreBrowserslistConfig", "configPath", "debug", "shouldInjectPolyfill", "absoluteImports"];
|
|
var _templateObject, _templateObject2, _templateObject3;
|
|
var _ref$2 = undefined || _babel,
|
|
t$1$1 = _ref$2.types,
|
|
template = _ref$2.template;
|
|
function intersection(a, b) {
|
|
var result = new Set();
|
|
a.forEach(function (v) {
|
|
return b.has(v) && result.add(v);
|
|
});
|
|
return result;
|
|
}
|
|
function has$1(object, key) {
|
|
return Object.prototype.hasOwnProperty.call(object, key);
|
|
}
|
|
function getType(target) {
|
|
return Object.prototype.toString.call(target).slice(8, -1);
|
|
}
|
|
function resolveId(path) {
|
|
if (path.isIdentifier() && !path.scope.hasBinding(path.node.name, true)) {
|
|
return path.node.name;
|
|
}
|
|
var _path$evaluate = path.evaluate(),
|
|
deopt = _path$evaluate.deopt;
|
|
if (deopt && deopt.isIdentifier()) {
|
|
return deopt.node.name;
|
|
}
|
|
}
|
|
function resolveKey(path, computed) {
|
|
if (computed === void 0) {
|
|
computed = false;
|
|
}
|
|
var scope = path.scope;
|
|
if (path.isStringLiteral()) return path.node.value;
|
|
var isIdentifier = path.isIdentifier();
|
|
if (isIdentifier && !(computed || path.parent.computed)) {
|
|
return path.node.name;
|
|
}
|
|
if (computed && path.isMemberExpression() && path.get("object").isIdentifier({
|
|
name: "Symbol"
|
|
}) && !scope.hasBinding("Symbol", true)) {
|
|
var sym = resolveKey(path.get("property"), path.node.computed);
|
|
if (sym) return "Symbol." + sym;
|
|
}
|
|
if (!isIdentifier || scope.hasBinding(path.node.name, true)) {
|
|
var _path$evaluate2 = path.evaluate(),
|
|
value = _path$evaluate2.value;
|
|
if (typeof value === "string") return value;
|
|
}
|
|
}
|
|
function resolveSource(obj) {
|
|
if (obj.isMemberExpression() && obj.get("property").isIdentifier({
|
|
name: "prototype"
|
|
})) {
|
|
var _id = resolveId(obj.get("object"));
|
|
if (_id) {
|
|
return {
|
|
id: _id,
|
|
placement: "prototype"
|
|
};
|
|
}
|
|
return {
|
|
id: null,
|
|
placement: null
|
|
};
|
|
}
|
|
var id = resolveId(obj);
|
|
if (id) {
|
|
return {
|
|
id: id,
|
|
placement: "static"
|
|
};
|
|
}
|
|
var _obj$evaluate = obj.evaluate(),
|
|
value = _obj$evaluate.value;
|
|
if (value !== undefined) {
|
|
return {
|
|
id: getType(value),
|
|
placement: "prototype"
|
|
};
|
|
} else if (obj.isRegExpLiteral()) {
|
|
return {
|
|
id: "RegExp",
|
|
placement: "prototype"
|
|
};
|
|
} else if (obj.isFunction()) {
|
|
return {
|
|
id: "Function",
|
|
placement: "prototype"
|
|
};
|
|
}
|
|
return {
|
|
id: null,
|
|
placement: null
|
|
};
|
|
}
|
|
function getImportSource(_ref2) {
|
|
var node = _ref2.node;
|
|
if (node.specifiers.length === 0) return node.source.value;
|
|
}
|
|
function getRequireSource(_ref3) {
|
|
var node = _ref3.node;
|
|
if (!t$1$1.isExpressionStatement(node)) return;
|
|
var expression = node.expression;
|
|
if (t$1$1.isCallExpression(expression) && t$1$1.isIdentifier(expression.callee) && expression.callee.name === "require" && expression.arguments.length === 1 && t$1$1.isStringLiteral(expression.arguments[0])) {
|
|
return expression.arguments[0].value;
|
|
}
|
|
}
|
|
function hoist(node) {
|
|
node._blockHoist = 3;
|
|
return node;
|
|
}
|
|
function createUtilsGetter(cache) {
|
|
return function (path) {
|
|
var prog = path.findParent(function (p) {
|
|
return p.isProgram();
|
|
});
|
|
return {
|
|
injectGlobalImport: function injectGlobalImport(url) {
|
|
cache.storeAnonymous(prog, url, function (isScript, source) {
|
|
return isScript ? template.statement.ast(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["require(", ")"])), source) : t$1$1.importDeclaration([], source);
|
|
});
|
|
},
|
|
injectNamedImport: function injectNamedImport(url, name, hint) {
|
|
if (hint === void 0) {
|
|
hint = name;
|
|
}
|
|
return cache.storeNamed(prog, url, name, function (isScript, source, name) {
|
|
var id = prog.scope.generateUidIdentifier(hint);
|
|
return {
|
|
node: isScript ? hoist(template.statement.ast(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n var ", " = require(", ").", "\n "])), id, source, name)) : t$1$1.importDeclaration([t$1$1.importSpecifier(id, name)], source),
|
|
name: id.name
|
|
};
|
|
});
|
|
},
|
|
injectDefaultImport: function injectDefaultImport(url, hint) {
|
|
if (hint === void 0) {
|
|
hint = url;
|
|
}
|
|
return cache.storeNamed(prog, url, "default", function (isScript, source) {
|
|
var id = prog.scope.generateUidIdentifier(hint);
|
|
return {
|
|
node: isScript ? hoist(template.statement.ast(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["var ", " = require(", ")"])), id, source)) : t$1$1.importDeclaration([t$1$1.importDefaultSpecifier(id)], source),
|
|
name: id.name
|
|
};
|
|
});
|
|
}
|
|
};
|
|
};
|
|
}
|
|
var _ref4 = undefined || _babel,
|
|
t$4 = _ref4.types;
|
|
var ImportsCache = function () {
|
|
function ImportsCache(resolver) {
|
|
this._imports = new WeakMap();
|
|
this._anonymousImports = new WeakMap();
|
|
this._lastImports = new WeakMap();
|
|
this._resolver = resolver;
|
|
}
|
|
var _proto = ImportsCache.prototype;
|
|
_proto.storeAnonymous = function storeAnonymous(programPath, url, getVal) {
|
|
var key = this._normalizeKey(programPath, url);
|
|
var imports = this._ensure(this._anonymousImports, programPath, Set);
|
|
if (imports.has(key)) return;
|
|
var node = getVal(programPath.node.sourceType === "script", t$4.stringLiteral(this._resolver(url)));
|
|
imports.add(key);
|
|
this._injectImport(programPath, node);
|
|
};
|
|
_proto.storeNamed = function storeNamed(programPath, url, name, getVal) {
|
|
var key = this._normalizeKey(programPath, url, name);
|
|
var imports = this._ensure(this._imports, programPath, Map);
|
|
if (!imports.has(key)) {
|
|
var _getVal = getVal(programPath.node.sourceType === "script", t$4.stringLiteral(this._resolver(url)), t$4.identifier(name)),
|
|
node = _getVal.node,
|
|
id = _getVal.name;
|
|
imports.set(key, id);
|
|
this._injectImport(programPath, node);
|
|
}
|
|
return t$4.identifier(imports.get(key));
|
|
};
|
|
_proto._injectImport = function _injectImport(programPath, node) {
|
|
var lastImport = this._lastImports.get(programPath);
|
|
var newNodes;
|
|
if (lastImport && lastImport.node && lastImport.parent === programPath.node && lastImport.container === programPath.node.body) {
|
|
newNodes = lastImport.insertAfter(node);
|
|
} else {
|
|
newNodes = programPath.unshiftContainer("body", node);
|
|
}
|
|
var newNode = newNodes[newNodes.length - 1];
|
|
this._lastImports.set(programPath, newNode);
|
|
};
|
|
_proto._ensure = function _ensure(map, programPath, Collection) {
|
|
var collection = map.get(programPath);
|
|
if (!collection) {
|
|
collection = new Collection();
|
|
map.set(programPath, collection);
|
|
}
|
|
return collection;
|
|
};
|
|
_proto._normalizeKey = function _normalizeKey(programPath, url, name) {
|
|
if (name === void 0) {
|
|
name = "";
|
|
}
|
|
var sourceType = programPath.node.sourceType;
|
|
return (name && sourceType) + "::" + url + "::" + name;
|
|
};
|
|
return _createClass(ImportsCache);
|
|
}();
|
|
var presetEnvSilentDebugHeader = "#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets";
|
|
function stringifyTargetsMultiline(targets) {
|
|
return JSON.stringify(prettifyTargets(targets), null, 2);
|
|
}
|
|
function patternToRegExp(pattern) {
|
|
if (pattern instanceof RegExp) return pattern;
|
|
try {
|
|
return new RegExp("^" + pattern + "$");
|
|
} catch (_unused) {
|
|
return null;
|
|
}
|
|
}
|
|
function buildUnusedError(label, unused) {
|
|
if (!unused.length) return "";
|
|
return " - The following \"" + label + "\" patterns didn't match any polyfill:\n" + unused.map(function (original) {
|
|
return " " + String(original) + "\n";
|
|
}).join("");
|
|
}
|
|
function buldDuplicatesError(duplicates) {
|
|
if (!duplicates.size) return "";
|
|
return " - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\n" + Array.from(duplicates, function (name) {
|
|
return " " + name + "\n";
|
|
}).join("");
|
|
}
|
|
function validateIncludeExclude(provider, polyfills, includePatterns, excludePatterns) {
|
|
var current;
|
|
var filter = function filter(pattern) {
|
|
var regexp = patternToRegExp(pattern);
|
|
if (!regexp) return false;
|
|
var matched = false;
|
|
for (var _iterator = _createForOfIteratorHelperLoose(polyfills), _step; !(_step = _iterator()).done;) {
|
|
var polyfill = _step.value;
|
|
if (regexp.test(polyfill)) {
|
|
matched = true;
|
|
current.add(polyfill);
|
|
}
|
|
}
|
|
return !matched;
|
|
};
|
|
var include = current = new Set();
|
|
var unusedInclude = Array.from(includePatterns).filter(filter);
|
|
var exclude = current = new Set();
|
|
var unusedExclude = Array.from(excludePatterns).filter(filter);
|
|
var duplicates = intersection(include, exclude);
|
|
if (duplicates.size > 0 || unusedInclude.length > 0 || unusedExclude.length > 0) {
|
|
throw new Error("Error while validating the \"" + provider + "\" provider options:\n" + buildUnusedError("include", unusedInclude) + buildUnusedError("exclude", unusedExclude) + buldDuplicatesError(duplicates));
|
|
}
|
|
return {
|
|
include: include,
|
|
exclude: exclude
|
|
};
|
|
}
|
|
function applyMissingDependenciesDefaults(options, babelApi) {
|
|
var _options$missingDepen = options.missingDependencies,
|
|
missingDependencies = _options$missingDepen === void 0 ? {} : _options$missingDepen;
|
|
if (missingDependencies === false) return false;
|
|
var caller = babelApi.caller(function (caller) {
|
|
return caller == null ? void 0 : caller.name;
|
|
});
|
|
var _missingDependencies$ = missingDependencies.log,
|
|
log = _missingDependencies$ === void 0 ? "deferred" : _missingDependencies$,
|
|
_missingDependencies$2 = missingDependencies.inject,
|
|
inject = _missingDependencies$2 === void 0 ? caller === "rollup-plugin-babel" ? "throw" : "import" : _missingDependencies$2,
|
|
_missingDependencies$3 = missingDependencies.all,
|
|
all = _missingDependencies$3 === void 0 ? false : _missingDependencies$3;
|
|
return {
|
|
log: log,
|
|
inject: inject,
|
|
all: all
|
|
};
|
|
}
|
|
var usage = function usage(callProvider) {
|
|
function property(object, key, placement, path) {
|
|
return callProvider({
|
|
kind: "property",
|
|
object: object,
|
|
key: key,
|
|
placement: placement
|
|
}, path);
|
|
}
|
|
return {
|
|
ReferencedIdentifier: function ReferencedIdentifier(path) {
|
|
var name = path.node.name,
|
|
scope = path.scope;
|
|
if (scope.getBindingIdentifier(name)) return;
|
|
callProvider({
|
|
kind: "global",
|
|
name: name
|
|
}, path);
|
|
},
|
|
MemberExpression: function MemberExpression(path) {
|
|
var key = resolveKey(path.get("property"), path.node.computed);
|
|
if (!key || key === "prototype") return;
|
|
var object = path.get("object");
|
|
if (object.isIdentifier()) {
|
|
var binding = object.scope.getBinding(object.node.name);
|
|
if (binding && binding.path.isImportNamespaceSpecifier()) return;
|
|
}
|
|
var source = resolveSource(object);
|
|
return property(source.id, key, source.placement, path);
|
|
},
|
|
ObjectPattern: function ObjectPattern(path) {
|
|
var parentPath = path.parentPath,
|
|
parent = path.parent;
|
|
var obj;
|
|
if (parentPath.isVariableDeclarator()) {
|
|
obj = parentPath.get("init");
|
|
} else if (parentPath.isAssignmentExpression()) {
|
|
obj = parentPath.get("right");
|
|
} else if (parentPath.isFunction()) {
|
|
var grand = parentPath.parentPath;
|
|
if (grand.isCallExpression() || grand.isNewExpression()) {
|
|
if (grand.node.callee === parent) {
|
|
obj = grand.get("arguments")[path.key];
|
|
}
|
|
}
|
|
}
|
|
var id = null;
|
|
var placement = null;
|
|
if (obj) {
|
|
var _resolveSource = resolveSource(obj);
|
|
id = _resolveSource.id;
|
|
placement = _resolveSource.placement;
|
|
}
|
|
for (var _iterator2 = _createForOfIteratorHelperLoose(path.get("properties")), _step2; !(_step2 = _iterator2()).done;) {
|
|
var prop = _step2.value;
|
|
if (prop.isObjectProperty()) {
|
|
var key = resolveKey(prop.get("key"));
|
|
if (key) property(id, key, placement, prop);
|
|
}
|
|
}
|
|
},
|
|
BinaryExpression: function BinaryExpression(path) {
|
|
if (path.node.operator !== "in") return;
|
|
var source = resolveSource(path.get("right"));
|
|
var key = resolveKey(path.get("left"), true);
|
|
if (!key) return;
|
|
callProvider({
|
|
kind: "in",
|
|
object: source.id,
|
|
key: key,
|
|
placement: source.placement
|
|
}, path);
|
|
}
|
|
};
|
|
};
|
|
var entry = function entry(callProvider) {
|
|
return {
|
|
ImportDeclaration: function ImportDeclaration(path) {
|
|
var source = getImportSource(path);
|
|
if (!source) return;
|
|
callProvider({
|
|
kind: "import",
|
|
source: source
|
|
}, path);
|
|
},
|
|
Program: function Program(path) {
|
|
path.get("body").forEach(function (bodyPath) {
|
|
var source = getRequireSource(bodyPath);
|
|
if (!source) return;
|
|
callProvider({
|
|
kind: "import",
|
|
source: source
|
|
}, bodyPath);
|
|
});
|
|
}
|
|
};
|
|
};
|
|
function resolve(dirname, moduleName, absoluteImports) {
|
|
if (absoluteImports === false) return moduleName;
|
|
throw new Error("\"absoluteImports\" is not supported in bundles prepared for the browser.");
|
|
}
|
|
function has$2(basedir, name) {
|
|
return true;
|
|
}
|
|
function logMissing(missingDeps) {}
|
|
function laterLogMissing(missingDeps) {}
|
|
var PossibleGlobalObjects = new Set(["global", "globalThis", "self", "window"]);
|
|
function createMetaResolver(polyfills) {
|
|
var staticP = polyfills["static"],
|
|
instanceP = polyfills.instance,
|
|
globalP = polyfills.global;
|
|
return function (meta) {
|
|
if (meta.kind === "global" && globalP && has$1(globalP, meta.name)) {
|
|
return {
|
|
kind: "global",
|
|
desc: globalP[meta.name],
|
|
name: meta.name
|
|
};
|
|
}
|
|
if (meta.kind === "property" || meta.kind === "in") {
|
|
var placement = meta.placement,
|
|
object = meta.object,
|
|
key = meta.key;
|
|
if (object && placement === "static") {
|
|
if (globalP && PossibleGlobalObjects.has(object) && has$1(globalP, key)) {
|
|
return {
|
|
kind: "global",
|
|
desc: globalP[key],
|
|
name: key
|
|
};
|
|
}
|
|
if (staticP && has$1(staticP, object) && has$1(staticP[object], key)) {
|
|
return {
|
|
kind: "static",
|
|
desc: staticP[object][key],
|
|
name: object + "$" + key
|
|
};
|
|
}
|
|
}
|
|
if (instanceP && has$1(instanceP, key)) {
|
|
return {
|
|
kind: "instance",
|
|
desc: instanceP[key],
|
|
name: "" + key
|
|
};
|
|
}
|
|
}
|
|
};
|
|
}
|
|
var getTargets = getTargets$2["default"] || getTargets$2;
|
|
function resolveOptions(options, babelApi) {
|
|
var method = options.method,
|
|
targetsOption = options.targets,
|
|
ignoreBrowserslistConfig = options.ignoreBrowserslistConfig,
|
|
configPath = options.configPath,
|
|
debug = options.debug,
|
|
shouldInjectPolyfill = options.shouldInjectPolyfill,
|
|
absoluteImports = options.absoluteImports,
|
|
providerOptions = _objectWithoutProperties(options, _excluded);
|
|
if (isEmpty(options)) {
|
|
throw new Error("This plugin requires options, for example:\n {\n \"plugins\": [\n [\"<plugin name>\", { method: \"usage-pure\" }]\n ]\n }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md");
|
|
}
|
|
var methodName;
|
|
if (method === "usage-global") methodName = "usageGlobal";else if (method === "entry-global") methodName = "entryGlobal";else if (method === "usage-pure") methodName = "usagePure";else if (typeof method !== "string") {
|
|
throw new Error(".method must be a string");
|
|
} else {
|
|
throw new Error(".method must be one of \"entry-global\", \"usage-global\"" + (" or \"usage-pure\" (received " + JSON.stringify(method) + ")"));
|
|
}
|
|
if (typeof shouldInjectPolyfill === "function") {
|
|
if (options.include || options.exclude) {
|
|
throw new Error(".include and .exclude are not supported when using the" + " .shouldInjectPolyfill function.");
|
|
}
|
|
} else if (shouldInjectPolyfill != null) {
|
|
throw new Error(".shouldInjectPolyfill must be a function, or undefined" + (" (received " + JSON.stringify(shouldInjectPolyfill) + ")"));
|
|
}
|
|
if (absoluteImports != null && typeof absoluteImports !== "boolean" && typeof absoluteImports !== "string") {
|
|
throw new Error(".absoluteImports must be a boolean, a string, or undefined" + (" (received " + JSON.stringify(absoluteImports) + ")"));
|
|
}
|
|
var targets;
|
|
if (targetsOption || configPath || ignoreBrowserslistConfig) {
|
|
var targetsObj = typeof targetsOption === "string" || Array.isArray(targetsOption) ? {
|
|
browsers: targetsOption
|
|
} : targetsOption;
|
|
targets = getTargets(targetsObj, {
|
|
ignoreBrowserslistConfig: ignoreBrowserslistConfig,
|
|
configPath: configPath
|
|
});
|
|
} else {
|
|
targets = babelApi.targets();
|
|
}
|
|
return {
|
|
method: method,
|
|
methodName: methodName,
|
|
targets: targets,
|
|
absoluteImports: absoluteImports != null ? absoluteImports : false,
|
|
shouldInjectPolyfill: shouldInjectPolyfill,
|
|
debug: !!debug,
|
|
providerOptions: providerOptions
|
|
};
|
|
}
|
|
function instantiateProvider(factory, options, missingDependencies, dirname, debugLog, babelApi) {
|
|
var _resolveOptions = resolveOptions(options, babelApi),
|
|
method = _resolveOptions.method,
|
|
methodName = _resolveOptions.methodName,
|
|
targets = _resolveOptions.targets,
|
|
_debug = _resolveOptions.debug,
|
|
_shouldInjectPolyfill = _resolveOptions.shouldInjectPolyfill,
|
|
providerOptions = _resolveOptions.providerOptions,
|
|
absoluteImports = _resolveOptions.absoluteImports;
|
|
var getUtils = createUtilsGetter(new ImportsCache(function (moduleName) {
|
|
return resolve(dirname, moduleName, absoluteImports);
|
|
}));
|
|
var include, exclude;
|
|
var polyfillsSupport;
|
|
var polyfillsNames;
|
|
var filterPolyfills;
|
|
var depsCache = new Map();
|
|
var api = {
|
|
babel: babelApi,
|
|
getUtils: getUtils,
|
|
method: options.method,
|
|
targets: targets,
|
|
createMetaResolver: createMetaResolver,
|
|
shouldInjectPolyfill: function shouldInjectPolyfill(name) {
|
|
if (polyfillsNames === undefined) {
|
|
throw new Error("Internal error in the " + factory.name + " provider: " + "shouldInjectPolyfill() can't be called during initialization.");
|
|
}
|
|
if (!polyfillsNames.has(name)) {
|
|
console.warn("Internal error in the " + provider.name + " provider: " + ("unknown polyfill \"" + name + "\"."));
|
|
}
|
|
if (filterPolyfills && !filterPolyfills(name)) return false;
|
|
var shouldInject = isRequired(name, targets, {
|
|
compatData: polyfillsSupport,
|
|
includes: include,
|
|
excludes: exclude
|
|
});
|
|
if (_shouldInjectPolyfill) {
|
|
shouldInject = _shouldInjectPolyfill(name, shouldInject);
|
|
if (typeof shouldInject !== "boolean") {
|
|
throw new Error(".shouldInjectPolyfill must return a boolean.");
|
|
}
|
|
}
|
|
return shouldInject;
|
|
},
|
|
debug: function debug(name) {
|
|
var _debugLog, _debugLog$polyfillsSu;
|
|
debugLog().found = true;
|
|
if (!_debug || !name) return;
|
|
if (debugLog().polyfills.has(provider.name)) return;
|
|
debugLog().polyfills.add(name);
|
|
(_debugLog$polyfillsSu = (_debugLog = debugLog()).polyfillsSupport) != null ? _debugLog$polyfillsSu : _debugLog.polyfillsSupport = polyfillsSupport;
|
|
},
|
|
assertDependency: function assertDependency(name, version) {
|
|
if (version === void 0) {
|
|
version = "*";
|
|
}
|
|
if (missingDependencies === false) return;
|
|
if (absoluteImports) {
|
|
return;
|
|
}
|
|
var dep = version === "*" ? name : name + "@^" + version;
|
|
var found = missingDependencies.all ? false : mapGetOr(depsCache, name + " :: " + dirname, function () {
|
|
return has$2();
|
|
});
|
|
if (!found) {
|
|
debugLog().missingDeps.add(dep);
|
|
}
|
|
}
|
|
};
|
|
var provider = factory(api, providerOptions, dirname);
|
|
if (typeof provider[methodName] !== "function") {
|
|
throw new Error("The \"" + (provider.name || factory.name) + "\" provider doesn't " + ("support the \"" + method + "\" polyfilling method."));
|
|
}
|
|
if (Array.isArray(provider.polyfills)) {
|
|
polyfillsNames = new Set(provider.polyfills);
|
|
filterPolyfills = provider.filterPolyfills;
|
|
} else if (provider.polyfills) {
|
|
polyfillsNames = new Set(Object.keys(provider.polyfills));
|
|
polyfillsSupport = provider.polyfills;
|
|
filterPolyfills = provider.filterPolyfills;
|
|
} else {
|
|
polyfillsNames = new Set();
|
|
}
|
|
var _validateIncludeExclu = validateIncludeExclude(provider.name || factory.name, polyfillsNames, providerOptions.include || [], providerOptions.exclude || []);
|
|
include = _validateIncludeExclu.include;
|
|
exclude = _validateIncludeExclu.exclude;
|
|
return {
|
|
debug: _debug,
|
|
method: method,
|
|
targets: targets,
|
|
provider: provider,
|
|
callProvider: function callProvider(payload, path) {
|
|
var utils = getUtils(path);
|
|
provider[methodName](payload, utils, path);
|
|
}
|
|
};
|
|
}
|
|
function definePolyfillProvider(factory) {
|
|
return declare(function (babelApi, options, dirname) {
|
|
babelApi.assertVersion(7);
|
|
var traverse = babelApi.traverse;
|
|
var debugLog;
|
|
var missingDependencies = applyMissingDependenciesDefaults(options, babelApi);
|
|
var _instantiateProvider = instantiateProvider(factory, options, missingDependencies, dirname, function () {
|
|
return debugLog;
|
|
}, babelApi),
|
|
debug = _instantiateProvider.debug,
|
|
method = _instantiateProvider.method,
|
|
targets = _instantiateProvider.targets,
|
|
provider = _instantiateProvider.provider,
|
|
callProvider = _instantiateProvider.callProvider;
|
|
var createVisitor = method === "entry-global" ? entry : usage;
|
|
var visitor = provider.visitor ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor]) : createVisitor(callProvider);
|
|
if (debug && debug !== presetEnvSilentDebugHeader) {
|
|
console.log(provider.name + ": `DEBUG` option");
|
|
console.log("\nUsing targets: " + stringifyTargetsMultiline(targets));
|
|
console.log("\nUsing polyfills with `" + method + "` method:");
|
|
}
|
|
return {
|
|
name: "inject-polyfills",
|
|
visitor: visitor,
|
|
pre: function pre() {
|
|
var _provider$pre;
|
|
debugLog = {
|
|
polyfills: new Set(),
|
|
polyfillsSupport: undefined,
|
|
found: false,
|
|
providers: new Set(),
|
|
missingDeps: new Set()
|
|
};
|
|
(_provider$pre = provider.pre) == null ? void 0 : _provider$pre.apply(this, arguments);
|
|
},
|
|
post: function post() {
|
|
var _provider$post;
|
|
(_provider$post = provider.post) == null ? void 0 : _provider$post.apply(this, arguments);
|
|
if (missingDependencies !== false) {
|
|
if (missingDependencies.log === "per-file") {
|
|
logMissing(debugLog.missingDeps);
|
|
} else {
|
|
laterLogMissing(debugLog.missingDeps);
|
|
}
|
|
}
|
|
if (!debug) return;
|
|
if (this.filename) console.log("\n[" + this.filename + "]");
|
|
if (debugLog.polyfills.size === 0) {
|
|
console.log(method === "entry-global" ? debugLog.found ? "Based on your targets, the " + provider.name + " polyfill did not add any polyfill." : "The entry point for the " + provider.name + " polyfill has not been found." : "Based on your code and targets, the " + provider.name + " polyfill did not add any polyfill.");
|
|
return;
|
|
}
|
|
if (method === "entry-global") {
|
|
console.log("The " + provider.name + " polyfill entry has been replaced with " + "the following polyfills:");
|
|
} else {
|
|
console.log("The " + provider.name + " polyfill added the following polyfills:");
|
|
}
|
|
for (var _iterator3 = _createForOfIteratorHelperLoose(debugLog.polyfills), _step3; !(_step3 = _iterator3()).done;) {
|
|
var name = _step3.value;
|
|
var _debugLog$polyfillsSu2;
|
|
if ((_debugLog$polyfillsSu2 = debugLog.polyfillsSupport) != null && _debugLog$polyfillsSu2[name]) {
|
|
var filteredTargets = getInclusionReasons(name, targets, debugLog.polyfillsSupport);
|
|
var formattedTargets = JSON.stringify(filteredTargets).replace(/,/g, ", ").replace(/^\{"/, '{ "').replace(/"\}$/, '" }');
|
|
console.log(" " + name + " " + formattedTargets);
|
|
} else {
|
|
console.log(" " + name);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
}
|
|
function mapGetOr(map, key, getDefault) {
|
|
var val = map.get(key);
|
|
if (val === undefined) {
|
|
val = getDefault();
|
|
map.set(key, val);
|
|
}
|
|
return val;
|
|
}
|
|
function isEmpty(obj) {
|
|
return Object.keys(obj).length === 0;
|
|
}
|
|
|
|
var define$1 = function define(name, pure, global, meta) {
|
|
if (global === void 0) {
|
|
global = [];
|
|
}
|
|
return {
|
|
name: name,
|
|
pure: pure,
|
|
global: global,
|
|
meta: meta
|
|
};
|
|
};
|
|
var pureAndGlobal = function pureAndGlobal(pure, global, minRuntimeVersion) {
|
|
if (minRuntimeVersion === void 0) {
|
|
minRuntimeVersion = null;
|
|
}
|
|
return define$1(global[0], pure, global, {
|
|
minRuntimeVersion: minRuntimeVersion
|
|
});
|
|
};
|
|
var globalOnly = function globalOnly(global) {
|
|
return define$1(global[0], null, global);
|
|
};
|
|
var pureOnly = function pureOnly(pure, name) {
|
|
return define$1(name, pure, []);
|
|
};
|
|
var ArrayNatureIterators$1 = ["es6.object.to-string", "es6.array.iterator", "web.dom.iterable"];
|
|
var CommonIterators$1 = ["es6.string.iterator"].concat(ArrayNatureIterators$1);
|
|
var PromiseDependencies$1 = ["es6.object.to-string", "es6.promise"];
|
|
var BuiltIns$1 = {
|
|
DataView: globalOnly(["es6.typed.data-view"]),
|
|
Float32Array: globalOnly(["es6.typed.float32-array"]),
|
|
Float64Array: globalOnly(["es6.typed.float64-array"]),
|
|
Int8Array: globalOnly(["es6.typed.int8-array"]),
|
|
Int16Array: globalOnly(["es6.typed.int16-array"]),
|
|
Int32Array: globalOnly(["es6.typed.int32-array"]),
|
|
Map: pureAndGlobal("map", ["es6.map"].concat(_toConsumableArray(CommonIterators$1))),
|
|
Number: globalOnly(["es6.number.constructor"]),
|
|
Promise: pureAndGlobal("promise", PromiseDependencies$1),
|
|
RegExp: globalOnly(["es6.regexp.constructor"]),
|
|
Set: pureAndGlobal("set", ["es6.set"].concat(_toConsumableArray(CommonIterators$1))),
|
|
Symbol: pureAndGlobal("symbol", ["es6.symbol"]),
|
|
Uint8Array: globalOnly(["es6.typed.uint8-array"]),
|
|
Uint8ClampedArray: globalOnly(["es6.typed.uint8-clamped-array"]),
|
|
Uint16Array: globalOnly(["es6.typed.uint16-array"]),
|
|
Uint32Array: globalOnly(["es6.typed.uint32-array"]),
|
|
WeakMap: pureAndGlobal("weak-map", ["es6.weak-map"].concat(_toConsumableArray(CommonIterators$1))),
|
|
WeakSet: pureAndGlobal("weak-set", ["es6.weak-set"].concat(_toConsumableArray(CommonIterators$1))),
|
|
setImmediate: pureOnly("set-immediate", "web.immediate"),
|
|
clearImmediate: pureOnly("clear-immediate", "web.immediate"),
|
|
parseFloat: pureOnly("parse-float", "es6.parse-float"),
|
|
parseInt: pureOnly("parse-int", "es6.parse-int")
|
|
};
|
|
var InstanceProperties$1 = {
|
|
__defineGetter__: globalOnly(["es7.object.define-getter"]),
|
|
__defineSetter__: globalOnly(["es7.object.define-setter"]),
|
|
__lookupGetter__: globalOnly(["es7.object.lookup-getter"]),
|
|
__lookupSetter__: globalOnly(["es7.object.lookup-setter"]),
|
|
anchor: globalOnly(["es6.string.anchor"]),
|
|
big: globalOnly(["es6.string.big"]),
|
|
bind: globalOnly(["es6.function.bind"]),
|
|
blink: globalOnly(["es6.string.blink"]),
|
|
bold: globalOnly(["es6.string.bold"]),
|
|
codePointAt: globalOnly(["es6.string.code-point-at"]),
|
|
copyWithin: globalOnly(["es6.array.copy-within"]),
|
|
endsWith: globalOnly(["es6.string.ends-with"]),
|
|
entries: globalOnly(ArrayNatureIterators$1),
|
|
every: globalOnly(["es6.array.every"]),
|
|
fill: globalOnly(["es6.array.fill"]),
|
|
filter: globalOnly(["es6.array.filter"]),
|
|
"finally": globalOnly(["es7.promise.finally"].concat(PromiseDependencies$1)),
|
|
find: globalOnly(["es6.array.find"]),
|
|
findIndex: globalOnly(["es6.array.find-index"]),
|
|
fixed: globalOnly(["es6.string.fixed"]),
|
|
flags: globalOnly(["es6.regexp.flags"]),
|
|
flatMap: globalOnly(["es7.array.flat-map"]),
|
|
fontcolor: globalOnly(["es6.string.fontcolor"]),
|
|
fontsize: globalOnly(["es6.string.fontsize"]),
|
|
forEach: globalOnly(["es6.array.for-each"]),
|
|
includes: globalOnly(["es6.string.includes", "es7.array.includes"]),
|
|
indexOf: globalOnly(["es6.array.index-of"]),
|
|
italics: globalOnly(["es6.string.italics"]),
|
|
keys: globalOnly(ArrayNatureIterators$1),
|
|
lastIndexOf: globalOnly(["es6.array.last-index-of"]),
|
|
link: globalOnly(["es6.string.link"]),
|
|
map: globalOnly(["es6.array.map"]),
|
|
match: globalOnly(["es6.regexp.match"]),
|
|
name: globalOnly(["es6.function.name"]),
|
|
padStart: globalOnly(["es7.string.pad-start"]),
|
|
padEnd: globalOnly(["es7.string.pad-end"]),
|
|
reduce: globalOnly(["es6.array.reduce"]),
|
|
reduceRight: globalOnly(["es6.array.reduce-right"]),
|
|
repeat: globalOnly(["es6.string.repeat"]),
|
|
replace: globalOnly(["es6.regexp.replace"]),
|
|
search: globalOnly(["es6.regexp.search"]),
|
|
small: globalOnly(["es6.string.small"]),
|
|
some: globalOnly(["es6.array.some"]),
|
|
sort: globalOnly(["es6.array.sort"]),
|
|
split: globalOnly(["es6.regexp.split"]),
|
|
startsWith: globalOnly(["es6.string.starts-with"]),
|
|
strike: globalOnly(["es6.string.strike"]),
|
|
sub: globalOnly(["es6.string.sub"]),
|
|
sup: globalOnly(["es6.string.sup"]),
|
|
toISOString: globalOnly(["es6.date.to-iso-string"]),
|
|
toJSON: globalOnly(["es6.date.to-json"]),
|
|
toString: globalOnly(["es6.object.to-string", "es6.date.to-string", "es6.regexp.to-string"]),
|
|
trim: globalOnly(["es6.string.trim"]),
|
|
trimEnd: globalOnly(["es7.string.trim-right"]),
|
|
trimLeft: globalOnly(["es7.string.trim-left"]),
|
|
trimRight: globalOnly(["es7.string.trim-right"]),
|
|
trimStart: globalOnly(["es7.string.trim-left"]),
|
|
values: globalOnly(ArrayNatureIterators$1)
|
|
};
|
|
if ("es6.array.slice" in corejs2BuiltIns) {
|
|
InstanceProperties$1.slice = globalOnly(["es6.array.slice"]);
|
|
}
|
|
var StaticProperties$1 = {
|
|
Array: {
|
|
from: pureAndGlobal("array/from", ["es6.symbol", "es6.array.from"].concat(_toConsumableArray(CommonIterators$1))),
|
|
isArray: pureAndGlobal("array/is-array", ["es6.array.is-array"]),
|
|
of: pureAndGlobal("array/of", ["es6.array.of"])
|
|
},
|
|
Date: {
|
|
now: pureAndGlobal("date/now", ["es6.date.now"])
|
|
},
|
|
JSON: {
|
|
stringify: pureOnly("json/stringify", "es6.symbol")
|
|
},
|
|
Math: {
|
|
acosh: pureAndGlobal("math/acosh", ["es6.math.acosh"], "7.0.1"),
|
|
asinh: pureAndGlobal("math/asinh", ["es6.math.asinh"], "7.0.1"),
|
|
atanh: pureAndGlobal("math/atanh", ["es6.math.atanh"], "7.0.1"),
|
|
cbrt: pureAndGlobal("math/cbrt", ["es6.math.cbrt"], "7.0.1"),
|
|
clz32: pureAndGlobal("math/clz32", ["es6.math.clz32"], "7.0.1"),
|
|
cosh: pureAndGlobal("math/cosh", ["es6.math.cosh"], "7.0.1"),
|
|
expm1: pureAndGlobal("math/expm1", ["es6.math.expm1"], "7.0.1"),
|
|
fround: pureAndGlobal("math/fround", ["es6.math.fround"], "7.0.1"),
|
|
hypot: pureAndGlobal("math/hypot", ["es6.math.hypot"], "7.0.1"),
|
|
imul: pureAndGlobal("math/imul", ["es6.math.imul"], "7.0.1"),
|
|
log1p: pureAndGlobal("math/log1p", ["es6.math.log1p"], "7.0.1"),
|
|
log10: pureAndGlobal("math/log10", ["es6.math.log10"], "7.0.1"),
|
|
log2: pureAndGlobal("math/log2", ["es6.math.log2"], "7.0.1"),
|
|
sign: pureAndGlobal("math/sign", ["es6.math.sign"], "7.0.1"),
|
|
sinh: pureAndGlobal("math/sinh", ["es6.math.sinh"], "7.0.1"),
|
|
tanh: pureAndGlobal("math/tanh", ["es6.math.tanh"], "7.0.1"),
|
|
trunc: pureAndGlobal("math/trunc", ["es6.math.trunc"], "7.0.1")
|
|
},
|
|
Number: {
|
|
EPSILON: pureAndGlobal("number/epsilon", ["es6.number.epsilon"]),
|
|
MIN_SAFE_INTEGER: pureAndGlobal("number/min-safe-integer", ["es6.number.min-safe-integer"]),
|
|
MAX_SAFE_INTEGER: pureAndGlobal("number/max-safe-integer", ["es6.number.max-safe-integer"]),
|
|
isFinite: pureAndGlobal("number/is-finite", ["es6.number.is-finite"]),
|
|
isInteger: pureAndGlobal("number/is-integer", ["es6.number.is-integer"]),
|
|
isSafeInteger: pureAndGlobal("number/is-safe-integer", ["es6.number.is-safe-integer"]),
|
|
isNaN: pureAndGlobal("number/is-nan", ["es6.number.is-nan"]),
|
|
parseFloat: pureAndGlobal("number/parse-float", ["es6.number.parse-float"]),
|
|
parseInt: pureAndGlobal("number/parse-int", ["es6.number.parse-int"])
|
|
},
|
|
Object: {
|
|
assign: pureAndGlobal("object/assign", ["es6.object.assign"]),
|
|
create: pureAndGlobal("object/create", ["es6.object.create"]),
|
|
defineProperties: pureAndGlobal("object/define-properties", ["es6.object.define-properties"]),
|
|
defineProperty: pureAndGlobal("object/define-property", ["es6.object.define-property"]),
|
|
entries: pureAndGlobal("object/entries", ["es7.object.entries"]),
|
|
freeze: pureAndGlobal("object/freeze", ["es6.object.freeze"]),
|
|
getOwnPropertyDescriptor: pureAndGlobal("object/get-own-property-descriptor", ["es6.object.get-own-property-descriptor"]),
|
|
getOwnPropertyDescriptors: pureAndGlobal("object/get-own-property-descriptors", ["es7.object.get-own-property-descriptors"]),
|
|
getOwnPropertyNames: pureAndGlobal("object/get-own-property-names", ["es6.object.get-own-property-names"]),
|
|
getOwnPropertySymbols: pureAndGlobal("object/get-own-property-symbols", ["es6.symbol"]),
|
|
getPrototypeOf: pureAndGlobal("object/get-prototype-of", ["es6.object.get-prototype-of"]),
|
|
is: pureAndGlobal("object/is", ["es6.object.is"]),
|
|
isExtensible: pureAndGlobal("object/is-extensible", ["es6.object.is-extensible"]),
|
|
isFrozen: pureAndGlobal("object/is-frozen", ["es6.object.is-frozen"]),
|
|
isSealed: pureAndGlobal("object/is-sealed", ["es6.object.is-sealed"]),
|
|
keys: pureAndGlobal("object/keys", ["es6.object.keys"]),
|
|
preventExtensions: pureAndGlobal("object/prevent-extensions", ["es6.object.prevent-extensions"]),
|
|
seal: pureAndGlobal("object/seal", ["es6.object.seal"]),
|
|
setPrototypeOf: pureAndGlobal("object/set-prototype-of", ["es6.object.set-prototype-of"]),
|
|
values: pureAndGlobal("object/values", ["es7.object.values"])
|
|
},
|
|
Promise: {
|
|
all: globalOnly(CommonIterators$1),
|
|
race: globalOnly(CommonIterators$1)
|
|
},
|
|
Reflect: {
|
|
apply: pureAndGlobal("reflect/apply", ["es6.reflect.apply"]),
|
|
construct: pureAndGlobal("reflect/construct", ["es6.reflect.construct"]),
|
|
defineProperty: pureAndGlobal("reflect/define-property", ["es6.reflect.define-property"]),
|
|
deleteProperty: pureAndGlobal("reflect/delete-property", ["es6.reflect.delete-property"]),
|
|
get: pureAndGlobal("reflect/get", ["es6.reflect.get"]),
|
|
getOwnPropertyDescriptor: pureAndGlobal("reflect/get-own-property-descriptor", ["es6.reflect.get-own-property-descriptor"]),
|
|
getPrototypeOf: pureAndGlobal("reflect/get-prototype-of", ["es6.reflect.get-prototype-of"]),
|
|
has: pureAndGlobal("reflect/has", ["es6.reflect.has"]),
|
|
isExtensible: pureAndGlobal("reflect/is-extensible", ["es6.reflect.is-extensible"]),
|
|
ownKeys: pureAndGlobal("reflect/own-keys", ["es6.reflect.own-keys"]),
|
|
preventExtensions: pureAndGlobal("reflect/prevent-extensions", ["es6.reflect.prevent-extensions"]),
|
|
set: pureAndGlobal("reflect/set", ["es6.reflect.set"]),
|
|
setPrototypeOf: pureAndGlobal("reflect/set-prototype-of", ["es6.reflect.set-prototype-of"])
|
|
},
|
|
String: {
|
|
at: pureOnly("string/at", "es7.string.at"),
|
|
fromCodePoint: pureAndGlobal("string/from-code-point", ["es6.string.from-code-point"]),
|
|
raw: pureAndGlobal("string/raw", ["es6.string.raw"])
|
|
},
|
|
Symbol: {
|
|
asyncIterator: globalOnly(["es6.symbol", "es7.symbol.async-iterator"]),
|
|
"for": pureOnly("symbol/for", "es6.symbol"),
|
|
hasInstance: pureOnly("symbol/has-instance", "es6.symbol"),
|
|
isConcatSpreadable: pureOnly("symbol/is-concat-spreadable", "es6.symbol"),
|
|
iterator: define$1("es6.symbol", "symbol/iterator", CommonIterators$1),
|
|
keyFor: pureOnly("symbol/key-for", "es6.symbol"),
|
|
match: pureAndGlobal("symbol/match", ["es6.regexp.match"]),
|
|
replace: pureOnly("symbol/replace", "es6.symbol"),
|
|
search: pureOnly("symbol/search", "es6.symbol"),
|
|
species: pureOnly("symbol/species", "es6.symbol"),
|
|
split: pureOnly("symbol/split", "es6.symbol"),
|
|
toPrimitive: pureOnly("symbol/to-primitive", "es6.symbol"),
|
|
toStringTag: pureOnly("symbol/to-string-tag", "es6.symbol"),
|
|
unscopables: pureOnly("symbol/unscopables", "es6.symbol")
|
|
}
|
|
};
|
|
var webPolyfills = {
|
|
"web.timers": {},
|
|
"web.immediate": {},
|
|
"web.dom.iterable": {}
|
|
};
|
|
var purePolyfills = {
|
|
"es6.parse-float": {},
|
|
"es6.parse-int": {},
|
|
"es7.string.at": {}
|
|
};
|
|
function addPlatformSpecificPolyfills(targets, method, polyfills) {
|
|
var targetNames = Object.keys(targets);
|
|
var isAnyTarget = !targetNames.length;
|
|
var isWebTarget = targetNames.some(function (name) {
|
|
return name !== "node";
|
|
});
|
|
return Object.assign(Object.assign(Object.assign({}, polyfills), method === "usage-pure" ? purePolyfills : null), isAnyTarget || isWebTarget ? webPolyfills : null);
|
|
}
|
|
function hasMinVersion(minVersion, runtimeVersion) {
|
|
if (!runtimeVersion || !minVersion) return true;
|
|
if (semver.valid(runtimeVersion)) runtimeVersion = "^" + runtimeVersion;
|
|
return !semver.intersects("<" + minVersion, runtimeVersion) && !semver.intersects(">=8.0.0", runtimeVersion);
|
|
}
|
|
var _ref$1 = undefined || _babel,
|
|
t$3 = _ref$1.types;
|
|
var presetEnvCompat = "#__secret_key__@babel/preset-env__compatibility";
|
|
var runtimeCompat$2 = "#__secret_key__@babel/runtime__compatibility";
|
|
var has = Function.call.bind(Object.hasOwnProperty);
|
|
var index$2 = definePolyfillProvider(function (api, _ref2) {
|
|
var _ref2$presetEnvCompat = _ref2[presetEnvCompat],
|
|
_ref2$presetEnvCompat2 = _ref2$presetEnvCompat === void 0 ? {
|
|
entryInjectRegenerator: false
|
|
} : _ref2$presetEnvCompat,
|
|
entryInjectRegenerator = _ref2$presetEnvCompat2.entryInjectRegenerator,
|
|
_ref2$runtimeCompat = _ref2[runtimeCompat$2],
|
|
_ref2$runtimeCompat2 = _ref2$runtimeCompat === void 0 ? {
|
|
useBabelRuntime: "",
|
|
runtimeVersion: ""
|
|
} : _ref2$runtimeCompat,
|
|
useBabelRuntime = _ref2$runtimeCompat2.useBabelRuntime,
|
|
runtimeVersion = _ref2$runtimeCompat2.runtimeVersion,
|
|
_ref2$runtimeCompat2$ = _ref2$runtimeCompat2.ext,
|
|
ext = _ref2$runtimeCompat2$ === void 0 ? ".js" : _ref2$runtimeCompat2$;
|
|
var resolve = api.createMetaResolver({
|
|
global: BuiltIns$1,
|
|
"static": StaticProperties$1,
|
|
instance: InstanceProperties$1
|
|
});
|
|
var debug = api.debug,
|
|
shouldInjectPolyfill = api.shouldInjectPolyfill,
|
|
method = api.method;
|
|
var polyfills = addPlatformSpecificPolyfills(api.targets, method, corejs2BuiltIns);
|
|
var coreJSBase = useBabelRuntime ? useBabelRuntime + "/core-js" : method === "usage-pure" ? "core-js/library/fn" : "core-js/modules";
|
|
function inject(name, utils) {
|
|
if (typeof name === "string") {
|
|
if (has(polyfills, name) && shouldInjectPolyfill(name)) {
|
|
debug(name);
|
|
utils.injectGlobalImport(coreJSBase + "/" + name + ".js");
|
|
}
|
|
return;
|
|
}
|
|
name.forEach(function (name) {
|
|
return inject(name, utils);
|
|
});
|
|
}
|
|
function maybeInjectPure(desc, hint, utils) {
|
|
var pure = desc.pure,
|
|
meta = desc.meta,
|
|
name = desc.name;
|
|
if (!pure || !shouldInjectPolyfill(name)) return;
|
|
if (runtimeVersion && meta && meta.minRuntimeVersion && !hasMinVersion(meta && meta.minRuntimeVersion, runtimeVersion)) {
|
|
return;
|
|
}
|
|
return utils.injectDefaultImport(coreJSBase + "/" + pure + ext, hint);
|
|
}
|
|
return {
|
|
name: "corejs2",
|
|
polyfills: polyfills,
|
|
entryGlobal: function entryGlobal(meta, utils, path) {
|
|
if (meta.kind === "import" && meta.source === "core-js") {
|
|
debug(null);
|
|
inject(Object.keys(polyfills), utils);
|
|
if (entryInjectRegenerator) {
|
|
utils.injectGlobalImport("regenerator-runtime/runtime.js");
|
|
}
|
|
path.remove();
|
|
}
|
|
},
|
|
usageGlobal: function usageGlobal(meta, utils) {
|
|
var resolved = resolve(meta);
|
|
if (!resolved) return;
|
|
var deps = resolved.desc.global;
|
|
if (resolved.kind !== "global" && "object" in meta && meta.object && meta.placement === "prototype") {
|
|
var low = meta.object.toLowerCase();
|
|
deps = deps.filter(function (m) {
|
|
return m.includes(low);
|
|
});
|
|
}
|
|
inject(deps, utils);
|
|
},
|
|
usagePure: function usagePure(meta, utils, path) {
|
|
if (meta.kind === "in") {
|
|
if (meta.key === "Symbol.iterator") {
|
|
path.replaceWith(t$3.callExpression(utils.injectDefaultImport(coreJSBase + "/is-iterable" + ext, "isIterable"), [path.node.right]));
|
|
}
|
|
return;
|
|
}
|
|
if (path.parentPath.isUnaryExpression({
|
|
operator: "delete"
|
|
})) return;
|
|
if (meta.kind === "property") {
|
|
if (!path.isMemberExpression()) return;
|
|
if (!path.isReferenced()) return;
|
|
if (meta.key === "Symbol.iterator" && shouldInjectPolyfill("es6.symbol") && path.parentPath.isCallExpression({
|
|
callee: path.node
|
|
}) && path.parentPath.node.arguments.length === 0) {
|
|
path.parentPath.replaceWith(t$3.callExpression(utils.injectDefaultImport(coreJSBase + "/get-iterator" + ext, "getIterator"), [path.node.object]));
|
|
path.skip();
|
|
return;
|
|
}
|
|
}
|
|
var resolved = resolve(meta);
|
|
if (!resolved) return;
|
|
var id = maybeInjectPure(resolved.desc, resolved.name, utils);
|
|
if (id) path.replaceWith(id);
|
|
},
|
|
visitor: method === "usage-global" && {
|
|
YieldExpression: function YieldExpression(path) {
|
|
if (path.node.delegate) {
|
|
inject("web.dom.iterable", api.getUtils(path));
|
|
}
|
|
},
|
|
"ForOfStatement|ArrayPattern": function ForOfStatementArrayPattern(path) {
|
|
CommonIterators$1.forEach(function (name) {
|
|
return inject(name, api.getUtils(path));
|
|
});
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var data = require$$0$3;
|
|
|
|
var getModulesListForTargetVersion = getModulesListForTargetVersion$2;
|
|
|
|
var entries = require$$0$2;
|
|
|
|
var _InstanceProperties;
|
|
var corejs3ShippedProposalsList = new Set(["esnext.array.group", "esnext.array.group-to-map", "esnext.array.to-reversed", "esnext.array.to-sorted", "esnext.array.to-spliced", "esnext.array.with", "esnext.typed-array.to-reversed", "esnext.typed-array.to-sorted", "esnext.typed-array.with"]);
|
|
var polyfillsOrder = {};
|
|
Object.keys(data).forEach(function (name, index) {
|
|
polyfillsOrder[name] = index;
|
|
});
|
|
var define = function define(pure, global, name, exclude) {
|
|
if (name === void 0) {
|
|
name = global[0];
|
|
}
|
|
return {
|
|
name: name,
|
|
pure: pure,
|
|
global: global.sort(function (a, b) {
|
|
return polyfillsOrder[a] - polyfillsOrder[b];
|
|
}),
|
|
exclude: exclude
|
|
};
|
|
};
|
|
var typed = function typed(name) {
|
|
return define(null, [name].concat(TypedArrayDependencies));
|
|
};
|
|
var ArrayNatureIterators = ["es.array.iterator", "web.dom-collections.iterator"];
|
|
var CommonIterators = ["es.string.iterator"].concat(ArrayNatureIterators);
|
|
var ArrayNatureIteratorsWithTag = ["es.object.to-string"].concat(ArrayNatureIterators);
|
|
var CommonIteratorsWithTag = ["es.object.to-string"].concat(_toConsumableArray(CommonIterators));
|
|
var ErrorDependencies = ["es.error.cause", "es.error.to-string"];
|
|
var TypedArrayDependencies = ["es.typed-array.at", "es.typed-array.copy-within", "es.typed-array.every", "es.typed-array.fill", "es.typed-array.filter", "es.typed-array.find", "es.typed-array.find-index", "es.typed-array.find-last", "es.typed-array.find-last-index", "es.typed-array.for-each", "es.typed-array.includes", "es.typed-array.index-of", "es.typed-array.iterator", "es.typed-array.join", "es.typed-array.last-index-of", "es.typed-array.map", "es.typed-array.reduce", "es.typed-array.reduce-right", "es.typed-array.reverse", "es.typed-array.set", "es.typed-array.slice", "es.typed-array.some", "es.typed-array.sort", "es.typed-array.subarray", "es.typed-array.to-locale-string", "es.typed-array.to-string", "es.object.to-string", "es.array.iterator", "es.array-buffer.slice", "esnext.typed-array.filter-reject", "esnext.typed-array.group-by", "esnext.typed-array.to-reversed", "esnext.typed-array.to-sorted", "esnext.typed-array.to-spliced", "esnext.typed-array.unique-by", "esnext.typed-array.with"];
|
|
var PromiseDependencies = ["es.promise", "es.object.to-string"];
|
|
var PromiseDependenciesWithIterators = [].concat(PromiseDependencies, _toConsumableArray(CommonIterators));
|
|
var SymbolDependencies = ["es.symbol", "es.symbol.description", "es.object.to-string"];
|
|
var MapDependencies = ["es.map", "esnext.map.delete-all", "esnext.map.emplace", "esnext.map.every", "esnext.map.filter", "esnext.map.find", "esnext.map.find-key", "esnext.map.includes", "esnext.map.key-of", "esnext.map.map-keys", "esnext.map.map-values", "esnext.map.merge", "esnext.map.reduce", "esnext.map.some", "esnext.map.update"].concat(_toConsumableArray(CommonIteratorsWithTag));
|
|
var SetDependencies = ["es.set", "esnext.set.add-all", "esnext.set.delete-all", "esnext.set.difference", "esnext.set.every", "esnext.set.filter", "esnext.set.find", "esnext.set.intersection", "esnext.set.is-disjoint-from", "esnext.set.is-subset-of", "esnext.set.is-superset-of", "esnext.set.join", "esnext.set.map", "esnext.set.reduce", "esnext.set.some", "esnext.set.symmetric-difference", "esnext.set.union"].concat(_toConsumableArray(CommonIteratorsWithTag));
|
|
var WeakMapDependencies = ["es.weak-map", "esnext.weak-map.delete-all", "esnext.weak-map.emplace"].concat(_toConsumableArray(CommonIteratorsWithTag));
|
|
var WeakSetDependencies = ["es.weak-set", "esnext.weak-set.add-all", "esnext.weak-set.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag));
|
|
var DOMExceptionDependencies = ["web.dom-exception.constructor", "web.dom-exception.stack", "web.dom-exception.to-string-tag", "es.error.to-string"];
|
|
var URLSearchParamsDependencies = ["web.url-search-params"].concat(_toConsumableArray(CommonIteratorsWithTag));
|
|
var AsyncIteratorDependencies = ["esnext.async-iterator.constructor"].concat(PromiseDependencies);
|
|
var AsyncIteratorProblemMethods = ["esnext.async-iterator.every", "esnext.async-iterator.filter", "esnext.async-iterator.find", "esnext.async-iterator.flat-map", "esnext.async-iterator.for-each", "esnext.async-iterator.map", "esnext.async-iterator.reduce", "esnext.async-iterator.some"];
|
|
var IteratorDependencies = ["esnext.iterator.constructor", "es.object.to-string"];
|
|
var TypedArrayStaticMethods = {
|
|
from: define(null, ["es.typed-array.from"]),
|
|
fromAsync: define(null, ["esnext.typed-array.from-async"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),
|
|
of: define(null, ["es.typed-array.of"])
|
|
};
|
|
var BuiltIns = {
|
|
AsyncIterator: define("async-iterator/index", AsyncIteratorDependencies),
|
|
AggregateError: define("aggregate-error", ["es.aggregate-error"].concat(ErrorDependencies, _toConsumableArray(CommonIteratorsWithTag), ["es.aggregate-error.cause"])),
|
|
ArrayBuffer: define(null, ["es.array-buffer.constructor", "es.array-buffer.slice", "es.object.to-string"]),
|
|
DataView: define(null, ["es.data-view", "es.array-buffer.slice", "es.object.to-string"]),
|
|
Date: define(null, ["es.date.to-string"]),
|
|
DOMException: define("dom-exception", DOMExceptionDependencies),
|
|
Error: define(null, ErrorDependencies),
|
|
EvalError: define(null, ErrorDependencies),
|
|
Float32Array: typed("es.typed-array.float32-array"),
|
|
Float64Array: typed("es.typed-array.float64-array"),
|
|
Int8Array: typed("es.typed-array.int8-array"),
|
|
Int16Array: typed("es.typed-array.int16-array"),
|
|
Int32Array: typed("es.typed-array.int32-array"),
|
|
Iterator: define("iterator/index", IteratorDependencies),
|
|
Uint8Array: typed("es.typed-array.uint8-array"),
|
|
Uint8ClampedArray: typed("es.typed-array.uint8-clamped-array"),
|
|
Uint16Array: typed("es.typed-array.uint16-array"),
|
|
Uint32Array: typed("es.typed-array.uint32-array"),
|
|
Map: define("map/index", MapDependencies),
|
|
Number: define(null, ["es.number.constructor"]),
|
|
Observable: define("observable/index", ["esnext.observable", "esnext.symbol.observable", "es.object.to-string"].concat(_toConsumableArray(CommonIteratorsWithTag))),
|
|
Promise: define("promise/index", PromiseDependencies),
|
|
RangeError: define(null, ErrorDependencies),
|
|
ReferenceError: define(null, ErrorDependencies),
|
|
Reflect: define(null, ["es.reflect.to-string-tag", "es.object.to-string"]),
|
|
RegExp: define(null, ["es.regexp.constructor", "es.regexp.dot-all", "es.regexp.exec", "es.regexp.sticky", "es.regexp.to-string"]),
|
|
Set: define("set/index", SetDependencies),
|
|
Symbol: define("symbol/index", SymbolDependencies),
|
|
SyntaxError: define(null, ErrorDependencies),
|
|
TypeError: define(null, ErrorDependencies),
|
|
URIError: define(null, ErrorDependencies),
|
|
URL: define("url/index", ["web.url"].concat(_toConsumableArray(URLSearchParamsDependencies))),
|
|
URLSearchParams: define("url-search-params/index", URLSearchParamsDependencies),
|
|
WeakMap: define("weak-map/index", WeakMapDependencies),
|
|
WeakSet: define("weak-set/index", WeakSetDependencies),
|
|
atob: define("atob", ["web.atob"].concat(DOMExceptionDependencies)),
|
|
btoa: define("btoa", ["web.btoa"].concat(DOMExceptionDependencies)),
|
|
clearImmediate: define("clear-immediate", ["web.immediate"]),
|
|
compositeKey: define("composite-key", ["esnext.composite-key"]),
|
|
compositeSymbol: define("composite-symbol", ["esnext.composite-symbol"]),
|
|
escape: define("escape", ["es.escape"]),
|
|
fetch: define(null, PromiseDependencies),
|
|
globalThis: define("global-this", ["es.global-this"]),
|
|
parseFloat: define("parse-float", ["es.parse-float"]),
|
|
parseInt: define("parse-int", ["es.parse-int"]),
|
|
queueMicrotask: define("queue-microtask", ["web.queue-microtask"]),
|
|
setImmediate: define("set-immediate", ["web.immediate"]),
|
|
setInterval: define("set-interval", ["web.timers"]),
|
|
setTimeout: define("set-timeout", ["web.timers"]),
|
|
structuredClone: define("structured-clone", ["web.structured-clone"].concat(DOMExceptionDependencies, ["es.array.iterator", "es.object.keys", "es.object.to-string", "es.map", "es.set"])),
|
|
unescape: define("unescape", ["es.unescape"])
|
|
};
|
|
var StaticProperties = {
|
|
AsyncIterator: {
|
|
from: define("async-iterator/from", ["esnext.async-iterator.from"].concat(_toConsumableArray(AsyncIteratorDependencies), AsyncIteratorProblemMethods, _toConsumableArray(CommonIterators)))
|
|
},
|
|
Array: {
|
|
from: define("array/from", ["es.array.from", "es.string.iterator"]),
|
|
fromAsync: define("array/from-async", ["esnext.array.from-async"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),
|
|
isArray: define("array/is-array", ["es.array.is-array"]),
|
|
isTemplateObject: define("array/is-template-object", ["esnext.array.is-template-object"]),
|
|
of: define("array/of", ["es.array.of"])
|
|
},
|
|
ArrayBuffer: {
|
|
isView: define(null, ["es.array-buffer.is-view"])
|
|
},
|
|
BigInt: {
|
|
range: define("bigint/range", ["esnext.bigint.range", "es.object.to-string"])
|
|
},
|
|
Date: {
|
|
now: define("date/now", ["es.date.now"])
|
|
},
|
|
Function: {
|
|
isCallable: define("function/is-callable", ["esnext.function.is-callable"]),
|
|
isConstructor: define("function/is-constructor", ["esnext.function.is-constructor"])
|
|
},
|
|
Iterator: {
|
|
from: define("iterator/from", ["esnext.iterator.from"].concat(IteratorDependencies, _toConsumableArray(CommonIterators)))
|
|
},
|
|
JSON: {
|
|
stringify: define("json/stringify", ["es.json.stringify"], "es.symbol")
|
|
},
|
|
Math: {
|
|
DEG_PER_RAD: define("math/deg-per-rad", ["esnext.math.deg-per-rad"]),
|
|
RAD_PER_DEG: define("math/rad-per-deg", ["esnext.math.rad-per-deg"]),
|
|
acosh: define("math/acosh", ["es.math.acosh"]),
|
|
asinh: define("math/asinh", ["es.math.asinh"]),
|
|
atanh: define("math/atanh", ["es.math.atanh"]),
|
|
cbrt: define("math/cbrt", ["es.math.cbrt"]),
|
|
clamp: define("math/clamp", ["esnext.math.clamp"]),
|
|
clz32: define("math/clz32", ["es.math.clz32"]),
|
|
cosh: define("math/cosh", ["es.math.cosh"]),
|
|
degrees: define("math/degrees", ["esnext.math.degrees"]),
|
|
expm1: define("math/expm1", ["es.math.expm1"]),
|
|
fround: define("math/fround", ["es.math.fround"]),
|
|
fscale: define("math/fscale", ["esnext.math.fscale"]),
|
|
hypot: define("math/hypot", ["es.math.hypot"]),
|
|
iaddh: define("math/iaddh", ["esnext.math.iaddh"]),
|
|
imul: define("math/imul", ["es.math.imul"]),
|
|
imulh: define("math/imulh", ["esnext.math.imulh"]),
|
|
isubh: define("math/isubh", ["esnext.math.isubh"]),
|
|
log10: define("math/log10", ["es.math.log10"]),
|
|
log1p: define("math/log1p", ["es.math.log1p"]),
|
|
log2: define("math/log2", ["es.math.log2"]),
|
|
radians: define("math/radians", ["esnext.math.radians"]),
|
|
scale: define("math/scale", ["esnext.math.scale"]),
|
|
seededPRNG: define("math/seeded-prng", ["esnext.math.seeded-prng"]),
|
|
sign: define("math/sign", ["es.math.sign"]),
|
|
signbit: define("math/signbit", ["esnext.math.signbit"]),
|
|
sinh: define("math/sinh", ["es.math.sinh"]),
|
|
tanh: define("math/tanh", ["es.math.tanh"]),
|
|
trunc: define("math/trunc", ["es.math.trunc"]),
|
|
umulh: define("math/umulh", ["esnext.math.umulh"])
|
|
},
|
|
Map: {
|
|
from: define(null, ["esnext.map.from"].concat(_toConsumableArray(MapDependencies))),
|
|
groupBy: define(null, ["esnext.map.group-by"].concat(_toConsumableArray(MapDependencies))),
|
|
keyBy: define(null, ["esnext.map.key-by"].concat(_toConsumableArray(MapDependencies))),
|
|
of: define(null, ["esnext.map.of"].concat(_toConsumableArray(MapDependencies)))
|
|
},
|
|
Number: {
|
|
EPSILON: define("number/epsilon", ["es.number.epsilon"]),
|
|
MAX_SAFE_INTEGER: define("number/max-safe-integer", ["es.number.max-safe-integer"]),
|
|
MIN_SAFE_INTEGER: define("number/min-safe-integer", ["es.number.min-safe-integer"]),
|
|
fromString: define("number/from-string", ["esnext.number.from-string"]),
|
|
isFinite: define("number/is-finite", ["es.number.is-finite"]),
|
|
isInteger: define("number/is-integer", ["es.number.is-integer"]),
|
|
isNaN: define("number/is-nan", ["es.number.is-nan"]),
|
|
isSafeInteger: define("number/is-safe-integer", ["es.number.is-safe-integer"]),
|
|
parseFloat: define("number/parse-float", ["es.number.parse-float"]),
|
|
parseInt: define("number/parse-int", ["es.number.parse-int"]),
|
|
range: define("number/range", ["esnext.number.range", "es.object.to-string"])
|
|
},
|
|
Object: {
|
|
assign: define("object/assign", ["es.object.assign"]),
|
|
create: define("object/create", ["es.object.create"]),
|
|
defineProperties: define("object/define-properties", ["es.object.define-properties"]),
|
|
defineProperty: define("object/define-property", ["es.object.define-property"]),
|
|
entries: define("object/entries", ["es.object.entries"]),
|
|
freeze: define("object/freeze", ["es.object.freeze"]),
|
|
fromEntries: define("object/from-entries", ["es.object.from-entries", "es.array.iterator"]),
|
|
getOwnPropertyDescriptor: define("object/get-own-property-descriptor", ["es.object.get-own-property-descriptor"]),
|
|
getOwnPropertyDescriptors: define("object/get-own-property-descriptors", ["es.object.get-own-property-descriptors"]),
|
|
getOwnPropertyNames: define("object/get-own-property-names", ["es.object.get-own-property-names"]),
|
|
getOwnPropertySymbols: define("object/get-own-property-symbols", ["es.symbol"]),
|
|
getPrototypeOf: define("object/get-prototype-of", ["es.object.get-prototype-of"]),
|
|
hasOwn: define("object/has-own", ["es.object.has-own"]),
|
|
is: define("object/is", ["es.object.is"]),
|
|
isExtensible: define("object/is-extensible", ["es.object.is-extensible"]),
|
|
isFrozen: define("object/is-frozen", ["es.object.is-frozen"]),
|
|
isSealed: define("object/is-sealed", ["es.object.is-sealed"]),
|
|
keys: define("object/keys", ["es.object.keys"]),
|
|
preventExtensions: define("object/prevent-extensions", ["es.object.prevent-extensions"]),
|
|
seal: define("object/seal", ["es.object.seal"]),
|
|
setPrototypeOf: define("object/set-prototype-of", ["es.object.set-prototype-of"]),
|
|
values: define("object/values", ["es.object.values"])
|
|
},
|
|
Promise: {
|
|
all: define(null, PromiseDependenciesWithIterators),
|
|
allSettled: define(null, ["es.promise.all-settled"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),
|
|
any: define(null, ["es.promise.any", "es.aggregate-error"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),
|
|
race: define(null, PromiseDependenciesWithIterators),
|
|
"try": define(null, ["esnext.promise.try"].concat(_toConsumableArray(PromiseDependenciesWithIterators)))
|
|
},
|
|
Reflect: {
|
|
apply: define("reflect/apply", ["es.reflect.apply"]),
|
|
construct: define("reflect/construct", ["es.reflect.construct"]),
|
|
defineMetadata: define("reflect/define-metadata", ["esnext.reflect.define-metadata"]),
|
|
defineProperty: define("reflect/define-property", ["es.reflect.define-property"]),
|
|
deleteMetadata: define("reflect/delete-metadata", ["esnext.reflect.delete-metadata"]),
|
|
deleteProperty: define("reflect/delete-property", ["es.reflect.delete-property"]),
|
|
get: define("reflect/get", ["es.reflect.get"]),
|
|
getMetadata: define("reflect/get-metadata", ["esnext.reflect.get-metadata"]),
|
|
getMetadataKeys: define("reflect/get-metadata-keys", ["esnext.reflect.get-metadata-keys"]),
|
|
getOwnMetadata: define("reflect/get-own-metadata", ["esnext.reflect.get-own-metadata"]),
|
|
getOwnMetadataKeys: define("reflect/get-own-metadata-keys", ["esnext.reflect.get-own-metadata-keys"]),
|
|
getOwnPropertyDescriptor: define("reflect/get-own-property-descriptor", ["es.reflect.get-own-property-descriptor"]),
|
|
getPrototypeOf: define("reflect/get-prototype-of", ["es.reflect.get-prototype-of"]),
|
|
has: define("reflect/has", ["es.reflect.has"]),
|
|
hasMetadata: define("reflect/has-metadata", ["esnext.reflect.has-metadata"]),
|
|
hasOwnMetadata: define("reflect/has-own-metadata", ["esnext.reflect.has-own-metadata"]),
|
|
isExtensible: define("reflect/is-extensible", ["es.reflect.is-extensible"]),
|
|
metadata: define("reflect/metadata", ["esnext.reflect.metadata"]),
|
|
ownKeys: define("reflect/own-keys", ["es.reflect.own-keys"]),
|
|
preventExtensions: define("reflect/prevent-extensions", ["es.reflect.prevent-extensions"]),
|
|
set: define("reflect/set", ["es.reflect.set"]),
|
|
setPrototypeOf: define("reflect/set-prototype-of", ["es.reflect.set-prototype-of"])
|
|
},
|
|
Set: {
|
|
from: define(null, ["esnext.set.from"].concat(_toConsumableArray(SetDependencies))),
|
|
of: define(null, ["esnext.set.of"].concat(_toConsumableArray(SetDependencies)))
|
|
},
|
|
String: {
|
|
cooked: define("string/cooked", ["esnext.string.cooked"]),
|
|
fromCodePoint: define("string/from-code-point", ["es.string.from-code-point"]),
|
|
raw: define("string/raw", ["es.string.raw"])
|
|
},
|
|
Symbol: {
|
|
asyncDispose: define("symbol/async-dispose", ["esnext.symbol.async-dispose"]),
|
|
asyncIterator: define("symbol/async-iterator", ["es.symbol.async-iterator"]),
|
|
dispose: define("symbol/dispose", ["esnext.symbol.dispose"]),
|
|
"for": define("symbol/for", [], "es.symbol"),
|
|
hasInstance: define("symbol/has-instance", ["es.symbol.has-instance", "es.function.has-instance"]),
|
|
isConcatSpreadable: define("symbol/is-concat-spreadable", ["es.symbol.is-concat-spreadable", "es.array.concat"]),
|
|
iterator: define("symbol/iterator", ["es.symbol.iterator"].concat(_toConsumableArray(CommonIteratorsWithTag))),
|
|
keyFor: define("symbol/key-for", [], "es.symbol"),
|
|
match: define("symbol/match", ["es.symbol.match", "es.string.match"]),
|
|
matcher: define("symbol/matcher", ["esnext.symbol.matcher"]),
|
|
matchAll: define("symbol/match-all", ["es.symbol.match-all", "es.string.match-all"]),
|
|
metadata: define("symbol/metadata", ["esnext.symbol.metadata"]),
|
|
metadataKey: define("symbol/metadata-key", ["esnext.symbol.metadata-key"]),
|
|
observable: define("symbol/observable", ["esnext.symbol.observable"]),
|
|
patternMatch: define("symbol/pattern-match", ["esnext.symbol.pattern-match"]),
|
|
replace: define("symbol/replace", ["es.symbol.replace", "es.string.replace"]),
|
|
search: define("symbol/search", ["es.symbol.search", "es.string.search"]),
|
|
species: define("symbol/species", ["es.symbol.species", "es.array.species"]),
|
|
split: define("symbol/split", ["es.symbol.split", "es.string.split"]),
|
|
toPrimitive: define("symbol/to-primitive", ["es.symbol.to-primitive", "es.date.to-primitive"]),
|
|
toStringTag: define("symbol/to-string-tag", ["es.symbol.to-string-tag", "es.object.to-string", "es.math.to-string-tag", "es.json.to-string-tag"]),
|
|
unscopables: define("symbol/unscopables", ["es.symbol.unscopables"])
|
|
},
|
|
WeakMap: {
|
|
from: define(null, ["esnext.weak-map.from"].concat(_toConsumableArray(WeakMapDependencies))),
|
|
of: define(null, ["esnext.weak-map.of"].concat(_toConsumableArray(WeakMapDependencies)))
|
|
},
|
|
WeakSet: {
|
|
from: define(null, ["esnext.weak-set.from"].concat(_toConsumableArray(WeakSetDependencies))),
|
|
of: define(null, ["esnext.weak-set.of"].concat(_toConsumableArray(WeakSetDependencies)))
|
|
},
|
|
Int8Array: TypedArrayStaticMethods,
|
|
Uint8Array: TypedArrayStaticMethods,
|
|
Uint8ClampedArray: TypedArrayStaticMethods,
|
|
Int16Array: TypedArrayStaticMethods,
|
|
Uint16Array: TypedArrayStaticMethods,
|
|
Int32Array: TypedArrayStaticMethods,
|
|
Uint32Array: TypedArrayStaticMethods,
|
|
Float32Array: TypedArrayStaticMethods,
|
|
Float64Array: TypedArrayStaticMethods,
|
|
WebAssembly: {
|
|
CompileError: define(null, ErrorDependencies),
|
|
LinkError: define(null, ErrorDependencies),
|
|
RuntimeError: define(null, ErrorDependencies)
|
|
}
|
|
};
|
|
var InstanceProperties = (_InstanceProperties = {
|
|
asIndexedPairs: define("instance/asIndexedPairs", ["esnext.async-iterator.as-indexed-pairs"].concat(_toConsumableArray(AsyncIteratorDependencies), ["esnext.iterator.as-indexed-pairs"], IteratorDependencies)),
|
|
at: define("instance/at", ["esnext.string.at", "es.string.at-alternative", "es.array.at"]),
|
|
anchor: define(null, ["es.string.anchor"]),
|
|
big: define(null, ["es.string.big"]),
|
|
bind: define("instance/bind", ["es.function.bind"]),
|
|
blink: define(null, ["es.string.blink"]),
|
|
bold: define(null, ["es.string.bold"]),
|
|
codePointAt: define("instance/code-point-at", ["es.string.code-point-at"]),
|
|
codePoints: define("instance/code-points", ["esnext.string.code-points"]),
|
|
concat: define("instance/concat", ["es.array.concat"], undefined, ["String"]),
|
|
copyWithin: define("instance/copy-within", ["es.array.copy-within"]),
|
|
description: define(null, ["es.symbol", "es.symbol.description"]),
|
|
dotAll: define("instance/dot-all", ["es.regexp.dot-all"]),
|
|
drop: define("instance/drop", ["esnext.async-iterator.drop"].concat(_toConsumableArray(AsyncIteratorDependencies), ["esnext.iterator.drop"], IteratorDependencies)),
|
|
emplace: define("instance/emplace", ["esnext.map.emplace", "esnext.weak-map.emplace"]),
|
|
endsWith: define("instance/ends-with", ["es.string.ends-with"]),
|
|
entries: define("instance/entries", ArrayNatureIteratorsWithTag),
|
|
every: define("instance/every", ["es.array.every", "esnext.async-iterator.every", "esnext.iterator.every"].concat(IteratorDependencies)),
|
|
exec: define(null, ["es.regexp.exec"]),
|
|
fill: define("instance/fill", ["es.array.fill"]),
|
|
filter: define("instance/filter", ["es.array.filter", "esnext.async-iterator.filter", "esnext.iterator.filter"].concat(IteratorDependencies)),
|
|
filterReject: define("instance/filterReject", ["esnext.array.filter-reject"]),
|
|
"finally": define(null, ["es.promise.finally"].concat(PromiseDependencies)),
|
|
find: define("instance/find", ["es.array.find", "esnext.async-iterator.find", "esnext.iterator.find"].concat(IteratorDependencies)),
|
|
findIndex: define("instance/find-index", ["es.array.find-index"]),
|
|
findLast: define("instance/find-last", ["es.array.find-last"]),
|
|
findLastIndex: define("instance/find-last-index", ["es.array.find-last-index"]),
|
|
fixed: define(null, ["es.string.fixed"]),
|
|
flags: define("instance/flags", ["es.regexp.flags"]),
|
|
flatMap: define("instance/flat-map", ["es.array.flat-map", "es.array.unscopables.flat-map", "esnext.async-iterator.flat-map", "esnext.iterator.flat-map"].concat(IteratorDependencies)),
|
|
flat: define("instance/flat", ["es.array.flat", "es.array.unscopables.flat"]),
|
|
getYear: define(null, ["es.date.get-year"]),
|
|
group: define("instance/group", ["esnext.array.group"]),
|
|
groupBy: define("instance/group-by", ["esnext.array.group-by"]),
|
|
groupByToMap: define("instance/group-by-to-map", ["esnext.array.group-by-to-map", "es.map", "es.object.to-string"]),
|
|
groupToMap: define("instance/group-to-map", ["esnext.array.group-to-map", "es.map", "es.object.to-string"]),
|
|
fontcolor: define(null, ["es.string.fontcolor"]),
|
|
fontsize: define(null, ["es.string.fontsize"]),
|
|
forEach: define("instance/for-each", ["es.array.for-each", "esnext.async-iterator.for-each", "esnext.iterator.for-each"].concat(IteratorDependencies, ["web.dom-collections.for-each"])),
|
|
includes: define("instance/includes", ["es.array.includes", "es.string.includes"]),
|
|
indexed: define("instance/indexed", ["esnext.async-iterator.indexed"].concat(_toConsumableArray(AsyncIteratorDependencies), ["esnext.iterator.indexed"], IteratorDependencies)),
|
|
indexOf: define("instance/index-of", ["es.array.index-of"]),
|
|
italic: define(null, ["es.string.italics"]),
|
|
join: define(null, ["es.array.join"]),
|
|
keys: define("instance/keys", ArrayNatureIteratorsWithTag),
|
|
lastIndex: define(null, ["esnext.array.last-index"]),
|
|
lastIndexOf: define("instance/last-index-of", ["es.array.last-index-of"]),
|
|
lastItem: define(null, ["esnext.array.last-item"]),
|
|
link: define(null, ["es.string.link"]),
|
|
map: define("instance/map", ["es.array.map", "esnext.async-iterator.map", "esnext.iterator.map"]),
|
|
match: define(null, ["es.string.match", "es.regexp.exec"]),
|
|
matchAll: define("instance/match-all", ["es.string.match-all", "es.regexp.exec"]),
|
|
name: define(null, ["es.function.name"]),
|
|
padEnd: define("instance/pad-end", ["es.string.pad-end"]),
|
|
padStart: define("instance/pad-start", ["es.string.pad-start"]),
|
|
push: define("instance/push", ["es.array.push"]),
|
|
reduce: define("instance/reduce", ["es.array.reduce", "esnext.async-iterator.reduce", "esnext.iterator.reduce"].concat(IteratorDependencies)),
|
|
reduceRight: define("instance/reduce-right", ["es.array.reduce-right"]),
|
|
repeat: define("instance/repeat", ["es.string.repeat"]),
|
|
replace: define(null, ["es.string.replace", "es.regexp.exec"]),
|
|
replaceAll: define("instance/replace-all", ["es.string.replace-all", "es.string.replace", "es.regexp.exec"]),
|
|
reverse: define("instance/reverse", ["es.array.reverse"]),
|
|
search: define(null, ["es.string.search", "es.regexp.exec"]),
|
|
setYear: define(null, ["es.date.set-year"]),
|
|
slice: define("instance/slice", ["es.array.slice"]),
|
|
small: define(null, ["es.string.small"]),
|
|
some: define("instance/some", ["es.array.some", "esnext.async-iterator.some", "esnext.iterator.some"].concat(IteratorDependencies)),
|
|
sort: define("instance/sort", ["es.array.sort"]),
|
|
splice: define("instance/splice", ["es.array.splice"]),
|
|
split: define(null, ["es.string.split", "es.regexp.exec"]),
|
|
startsWith: define("instance/starts-with", ["es.string.starts-with"]),
|
|
sticky: define("instance/sticky", ["es.regexp.sticky"]),
|
|
strike: define(null, ["es.string.strike"]),
|
|
sub: define(null, ["es.string.sub"]),
|
|
substr: define(null, ["es.string.substr"]),
|
|
sup: define(null, ["es.string.sup"]),
|
|
take: define("instance/take", ["esnext.async-iterator.take"].concat(_toConsumableArray(AsyncIteratorDependencies), ["esnext.iterator.take"], IteratorDependencies)),
|
|
test: define(null, ["es.regexp.test", "es.regexp.exec"]),
|
|
toArray: define("instance/to-array", ["esnext.async-iterator.to-array"].concat(_toConsumableArray(AsyncIteratorDependencies), ["esnext.iterator.to-array"], IteratorDependencies)),
|
|
toAsync: define(null, ["esnext.iterator.to-async"].concat(IteratorDependencies, _toConsumableArray(AsyncIteratorDependencies), AsyncIteratorProblemMethods)),
|
|
toExponential: define(null, ["es.number.to-exponential"]),
|
|
toFixed: define(null, ["es.number.to-fixed"]),
|
|
toGMTString: define(null, ["es.date.to-gmt-string"]),
|
|
toISOString: define(null, ["es.date.to-iso-string"]),
|
|
toJSON: define(null, ["es.date.to-json", "web.url.to-json"]),
|
|
toPrecision: define(null, ["es.number.to-precision"]),
|
|
toReversed: define("instance/to-reversed", ["esnext.array.to-reversed"]),
|
|
toSorted: define("instance/to-sorted", ["esnext.array.to-sorted", "es.array.sort"]),
|
|
toSpliced: define("instance/to-spliced", ["esnext.array.to-spliced"]),
|
|
toString: define(null, ["es.object.to-string", "es.error.to-string", "es.date.to-string", "es.regexp.to-string"]),
|
|
trim: define("instance/trim", ["es.string.trim"]),
|
|
trimEnd: define("instance/trim-end", ["es.string.trim-end"]),
|
|
trimLeft: define("instance/trim-left", ["es.string.trim-start"]),
|
|
trimRight: define("instance/trim-right", ["es.string.trim-end"]),
|
|
trimStart: define("instance/trim-start", ["es.string.trim-start"]),
|
|
uniqueBy: define("instance/unique-by", ["esnext.array.unique-by", "es.map"]),
|
|
unshift: define("instance/unshift", ["es.array.unshift"]),
|
|
unThis: define("instance/un-this", ["esnext.function.un-this"]),
|
|
values: define("instance/values", ArrayNatureIteratorsWithTag),
|
|
"with": define("instance/with", ["esnext.array.with"]),
|
|
__defineGetter__: define(null, ["es.object.define-getter"]),
|
|
__defineSetter__: define(null, ["es.object.define-setter"]),
|
|
__lookupGetter__: define(null, ["es.object.lookup-getter"]),
|
|
__lookupSetter__: define(null, ["es.object.lookup-setter"])
|
|
}, _InstanceProperties["__proto__"] = define(null, ["es.object.proto"]), _InstanceProperties);
|
|
var CommonInstanceDependencies = new Set(["es.object.to-string", "es.object.define-getter", "es.object.define-setter", "es.object.lookup-getter", "es.object.lookup-setter", "es.regexp.exec"]);
|
|
var _ref = undefined || _babel,
|
|
t$2 = _ref.types;
|
|
function canSkipPolyfill(desc, path) {
|
|
var node = path.node,
|
|
parent = path.parent;
|
|
switch (desc.name) {
|
|
case "es.string.split":
|
|
{
|
|
if (!t$2.isCallExpression(parent, {
|
|
callee: node
|
|
})) return false;
|
|
if (parent.arguments.length < 1) return true;
|
|
var splitter = parent.arguments[0];
|
|
return t$2.isStringLiteral(splitter) || t$2.isTemplateLiteral(splitter);
|
|
}
|
|
}
|
|
}
|
|
var _ref2 = undefined || _babel,
|
|
t$1 = _ref2.types;
|
|
function callMethod(path, id) {
|
|
var object = path.node.object;
|
|
var context1, context2;
|
|
if (t$1.isIdentifier(object)) {
|
|
context1 = object;
|
|
context2 = t$1.cloneNode(object);
|
|
} else {
|
|
context1 = path.scope.generateDeclaredUidIdentifier("context");
|
|
context2 = t$1.assignmentExpression("=", t$1.cloneNode(context1), object);
|
|
}
|
|
path.replaceWith(t$1.memberExpression(t$1.callExpression(id, [context2]), t$1.identifier("call")));
|
|
path.parentPath.unshiftContainer("arguments", context1);
|
|
}
|
|
function isCoreJSSource(source) {
|
|
if (typeof source === "string") {
|
|
source = source.replace(/\\/g, "/").replace(/(\/(index)?)?(\.js)?$/i, "").toLowerCase();
|
|
}
|
|
return Object.prototype.hasOwnProperty.call(entries, source) && entries[source];
|
|
}
|
|
function coreJSModule(name) {
|
|
return "core-js/modules/" + name + ".js";
|
|
}
|
|
function coreJSPureHelper(name, useBabelRuntime, ext) {
|
|
return useBabelRuntime ? useBabelRuntime + "/core-js/" + name + ext : "core-js-pure/features/" + name + ".js";
|
|
}
|
|
var _ref3 = undefined || _babel,
|
|
t = _ref3.types;
|
|
var runtimeCompat$1 = "#__secret_key__@babel/runtime__compatibility";
|
|
var esnextFallback = function esnextFallback(name, cb) {
|
|
if (cb(name)) return true;
|
|
if (!name.startsWith("es.")) return false;
|
|
var fallback = "esnext." + name.slice(3);
|
|
if (!data[fallback]) return false;
|
|
return cb(fallback);
|
|
};
|
|
var index$1 = definePolyfillProvider(function (_ref4, _ref5) {
|
|
var getUtils = _ref4.getUtils,
|
|
method = _ref4.method,
|
|
shouldInjectPolyfill = _ref4.shouldInjectPolyfill,
|
|
createMetaResolver = _ref4.createMetaResolver,
|
|
debug = _ref4.debug,
|
|
babel = _ref4.babel;
|
|
var _ref5$version = _ref5.version,
|
|
version = _ref5$version === void 0 ? 3 : _ref5$version,
|
|
proposals = _ref5.proposals,
|
|
shippedProposals = _ref5.shippedProposals,
|
|
_ref5$runtimeCompat = _ref5[runtimeCompat$1],
|
|
_ref5$runtimeCompat2 = _ref5$runtimeCompat === void 0 ? {
|
|
useBabelRuntime: ""
|
|
} : _ref5$runtimeCompat,
|
|
useBabelRuntime = _ref5$runtimeCompat2.useBabelRuntime,
|
|
_ref5$runtimeCompat2$ = _ref5$runtimeCompat2.ext,
|
|
ext = _ref5$runtimeCompat2$ === void 0 ? ".js" : _ref5$runtimeCompat2$;
|
|
var isWebpack = babel.caller(function (caller) {
|
|
return (caller == null ? void 0 : caller.name) === "babel-loader";
|
|
});
|
|
var resolve = createMetaResolver({
|
|
global: BuiltIns,
|
|
"static": StaticProperties,
|
|
instance: InstanceProperties
|
|
});
|
|
var available = new Set(getModulesListForTargetVersion(version));
|
|
function getCoreJSPureBase(useProposalBase) {
|
|
return useBabelRuntime ? useProposalBase ? useBabelRuntime + "/core-js" : useBabelRuntime + "/core-js-stable" : useProposalBase ? "core-js-pure/features" : "core-js-pure/stable";
|
|
}
|
|
function maybeInjectGlobalImpl(name, utils) {
|
|
if (shouldInjectPolyfill(name)) {
|
|
debug(name);
|
|
utils.injectGlobalImport(coreJSModule(name));
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function maybeInjectGlobal(names, utils, fallback) {
|
|
if (fallback === void 0) {
|
|
fallback = true;
|
|
}
|
|
for (var _iterator = _createForOfIteratorHelperLoose(names), _step; !(_step = _iterator()).done;) {
|
|
var name = _step.value;
|
|
if (fallback) {
|
|
esnextFallback(name, function (name) {
|
|
return maybeInjectGlobalImpl(name, utils);
|
|
});
|
|
} else {
|
|
maybeInjectGlobalImpl(name, utils);
|
|
}
|
|
}
|
|
}
|
|
function maybeInjectPure(desc, hint, utils, object) {
|
|
if (desc.pure && !(object && desc.exclude && desc.exclude.includes(object)) && esnextFallback(desc.name, shouldInjectPolyfill)) {
|
|
var name = desc.name;
|
|
var useProposalBase = false;
|
|
if (proposals || shippedProposals && name.startsWith("esnext.")) {
|
|
useProposalBase = true;
|
|
} else if (name.startsWith("es.") && !available.has(name)) {
|
|
useProposalBase = true;
|
|
}
|
|
var coreJSPureBase = getCoreJSPureBase(useProposalBase);
|
|
return utils.injectDefaultImport(coreJSPureBase + "/" + desc.pure + ext, hint);
|
|
}
|
|
}
|
|
function isFeatureStable(name) {
|
|
if (name.startsWith("esnext.")) {
|
|
var esName = "es." + name.slice(7);
|
|
return esName in data;
|
|
}
|
|
return true;
|
|
}
|
|
return {
|
|
name: "corejs3",
|
|
polyfills: data,
|
|
filterPolyfills: function filterPolyfills(name) {
|
|
if (!available.has(name)) return false;
|
|
if (proposals || method === "entry-global") return true;
|
|
if (shippedProposals && corejs3ShippedProposalsList.has(name)) {
|
|
return true;
|
|
}
|
|
return isFeatureStable(name);
|
|
},
|
|
entryGlobal: function entryGlobal(meta, utils, path) {
|
|
if (meta.kind !== "import") return;
|
|
var modules = isCoreJSSource(meta.source);
|
|
if (!modules) return;
|
|
if (modules.length === 1 && meta.source === coreJSModule(modules[0]) && shouldInjectPolyfill(modules[0])) {
|
|
debug(null);
|
|
return;
|
|
}
|
|
var modulesSet = new Set(modules);
|
|
var filteredModules = modules.filter(function (module) {
|
|
if (!module.startsWith("esnext.")) return true;
|
|
var stable = module.replace("esnext.", "es.");
|
|
if (modulesSet.has(stable) && shouldInjectPolyfill(stable)) {
|
|
return false;
|
|
}
|
|
return true;
|
|
});
|
|
maybeInjectGlobal(filteredModules, utils, false);
|
|
path.remove();
|
|
},
|
|
usageGlobal: function usageGlobal(meta, utils, path) {
|
|
var resolved = resolve(meta);
|
|
if (!resolved) return;
|
|
if (canSkipPolyfill(resolved.desc, path)) return;
|
|
var deps = resolved.desc.global;
|
|
if (resolved.kind !== "global" && "object" in meta && meta.object && meta.placement === "prototype") {
|
|
var low = meta.object.toLowerCase();
|
|
deps = deps.filter(function (m) {
|
|
return m.includes(low) || CommonInstanceDependencies.has(m);
|
|
});
|
|
}
|
|
maybeInjectGlobal(deps, utils);
|
|
},
|
|
usagePure: function usagePure(meta, utils, path) {
|
|
if (meta.kind === "in") {
|
|
if (meta.key === "Symbol.iterator") {
|
|
path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper("is-iterable", useBabelRuntime, ext), "isIterable"), [path.node.right]));
|
|
}
|
|
return;
|
|
}
|
|
if (path.parentPath.isUnaryExpression({
|
|
operator: "delete"
|
|
})) return;
|
|
if (meta.kind === "property") {
|
|
if (!path.isMemberExpression()) return;
|
|
if (!path.isReferenced()) return;
|
|
if (path.parentPath.isUpdateExpression()) return;
|
|
if (t.isSuper(path.node.object)) {
|
|
return;
|
|
}
|
|
if (meta.key === "Symbol.iterator") {
|
|
if (!shouldInjectPolyfill("es.symbol.iterator")) return;
|
|
var parent = path.parent,
|
|
node = path.node;
|
|
if (t.isCallExpression(parent, {
|
|
callee: node
|
|
})) {
|
|
if (parent.arguments.length === 0) {
|
|
path.parentPath.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper("get-iterator", useBabelRuntime, ext), "getIterator"), [node.object]));
|
|
path.skip();
|
|
} else {
|
|
callMethod(path, utils.injectDefaultImport(coreJSPureHelper("get-iterator-method", useBabelRuntime, ext), "getIteratorMethod"));
|
|
}
|
|
} else {
|
|
path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper("get-iterator-method", useBabelRuntime, ext), "getIteratorMethod"), [path.node.object]));
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
var resolved = resolve(meta);
|
|
if (!resolved) return;
|
|
if (canSkipPolyfill(resolved.desc, path)) return;
|
|
if (useBabelRuntime && resolved.desc.pure && resolved.desc.pure.slice(-6) === "/index") {
|
|
resolved = Object.assign(Object.assign({}, resolved), {}, {
|
|
desc: Object.assign(Object.assign({}, resolved.desc), {}, {
|
|
pure: resolved.desc.pure.slice(0, -6)
|
|
})
|
|
});
|
|
}
|
|
if (resolved.kind === "global") {
|
|
var id = maybeInjectPure(resolved.desc, resolved.name, utils);
|
|
if (id) path.replaceWith(id);
|
|
} else if (resolved.kind === "static") {
|
|
var _id = maybeInjectPure(resolved.desc, resolved.name, utils, meta.object);
|
|
if (_id) path.replaceWith(_id);
|
|
} else if (resolved.kind === "instance") {
|
|
var _id2 = maybeInjectPure(resolved.desc, resolved.name + "InstanceProperty", utils, meta.object);
|
|
if (!_id2) return;
|
|
var _node = path.node;
|
|
if (t.isCallExpression(path.parent, {
|
|
callee: _node
|
|
})) {
|
|
callMethod(path, _id2);
|
|
} else {
|
|
path.replaceWith(t.callExpression(_id2, [_node.object]));
|
|
}
|
|
}
|
|
},
|
|
visitor: method === "usage-global" && {
|
|
CallExpression: function CallExpression(path) {
|
|
if (path.get("callee").isImport()) {
|
|
var utils = getUtils(path);
|
|
if (isWebpack) {
|
|
maybeInjectGlobal(PromiseDependenciesWithIterators, utils);
|
|
} else {
|
|
maybeInjectGlobal(PromiseDependencies, utils);
|
|
}
|
|
}
|
|
},
|
|
Function: function Function(path) {
|
|
if (path.node.async) {
|
|
maybeInjectGlobal(PromiseDependencies, getUtils(path));
|
|
}
|
|
},
|
|
"ForOfStatement|ArrayPattern": function ForOfStatementArrayPattern(path) {
|
|
maybeInjectGlobal(CommonIterators, getUtils(path));
|
|
},
|
|
SpreadElement: function SpreadElement(path) {
|
|
if (!path.parentPath.isObjectExpression()) {
|
|
maybeInjectGlobal(CommonIterators, getUtils(path));
|
|
}
|
|
},
|
|
YieldExpression: function YieldExpression(path) {
|
|
if (path.node.delegate) {
|
|
maybeInjectGlobal(CommonIterators, getUtils(path));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
|
|
var runtimeCompat = "#__secret_key__@babel/runtime__compatibility";
|
|
var index = definePolyfillProvider(function (_ref, options) {
|
|
var debug = _ref.debug,
|
|
targets = _ref.targets,
|
|
babel = _ref.babel;
|
|
if (!shallowEqual(targets, babel.targets())) {
|
|
throw new Error("This plugin does not use the targets option. Only preset-env's targets" + " or top-level targets need to be configured for this plugin to work." + " See https://github.com/babel/babel-polyfills/issues/36 for more" + " details.");
|
|
}
|
|
var _options$runtimeCompa = options[runtimeCompat],
|
|
_options$runtimeCompa2 = _options$runtimeCompa === void 0 ? {
|
|
useBabelRuntime: ""
|
|
} : _options$runtimeCompa,
|
|
useBabelRuntime = _options$runtimeCompa2.useBabelRuntime;
|
|
var pureName = useBabelRuntime ? useBabelRuntime + "/regenerator" : "regenerator-runtime";
|
|
return {
|
|
name: "regenerator",
|
|
polyfills: ["regenerator-runtime"],
|
|
usageGlobal: function usageGlobal(meta, utils) {
|
|
if (isRegenerator(meta)) {
|
|
debug("regenerator-runtime");
|
|
utils.injectGlobalImport("regenerator-runtime/runtime.js");
|
|
}
|
|
},
|
|
usagePure: function usagePure(meta, utils, path) {
|
|
if (isRegenerator(meta)) {
|
|
path.replaceWith(utils.injectDefaultImport(pureName, "regenerator-runtime"));
|
|
}
|
|
}
|
|
};
|
|
});
|
|
var isRegenerator = function isRegenerator(meta) {
|
|
return meta.kind === "global" && meta.name === "regeneratorRuntime";
|
|
};
|
|
function shallowEqual(obj1, obj2) {
|
|
return JSON.stringify(obj1) === JSON.stringify(obj2);
|
|
}
|
|
|
|
var pluginCoreJS2 = index$2["default"] || index$2;
|
|
var pluginCoreJS3 = index$1["default"] || index$1;
|
|
var pluginRegenerator = index["default"] || index;
|
|
function filterStageFromList(list, stageList) {
|
|
return Object.keys(list).reduce(function (result, item) {
|
|
if (!stageList.has(item)) {
|
|
result[item] = list[item];
|
|
}
|
|
return result;
|
|
}, {});
|
|
}
|
|
var pluginLists = {
|
|
withProposals: {
|
|
withoutBugfixes: plugins,
|
|
withBugfixes: Object.assign({}, plugins, pluginsBugfixes)
|
|
},
|
|
withoutProposals: {
|
|
withoutBugfixes: filterStageFromList(plugins, proposalPlugins),
|
|
withBugfixes: filterStageFromList(Object.assign({}, plugins, pluginsBugfixes), proposalPlugins)
|
|
}
|
|
};
|
|
function getPluginList(proposals, bugfixes) {
|
|
if (proposals) {
|
|
if (bugfixes) return pluginLists.withProposals.withBugfixes;else return pluginLists.withProposals.withoutBugfixes;
|
|
} else {
|
|
if (bugfixes) return pluginLists.withoutProposals.withBugfixes;else return pluginLists.withoutProposals.withoutBugfixes;
|
|
}
|
|
}
|
|
var getPlugin = function getPlugin(pluginName) {
|
|
var plugin = availablePlugins$1[pluginName]();
|
|
if (!plugin) {
|
|
throw new Error("Could not find plugin \"" + pluginName + "\". Ensure there is an entry in ./available-plugins.js for it.");
|
|
}
|
|
return plugin;
|
|
};
|
|
var transformIncludesAndExcludes = function transformIncludesAndExcludes(opts) {
|
|
return opts.reduce(function (result, opt) {
|
|
var target = opt.match(/^(es|es6|es7|esnext|web)\./) ? "builtIns" : "plugins";
|
|
result[target].add(opt);
|
|
return result;
|
|
}, {
|
|
all: opts,
|
|
plugins: new Set(),
|
|
builtIns: new Set()
|
|
});
|
|
};
|
|
var getModulesPluginNames = function getModulesPluginNames(_ref) {
|
|
var modules = _ref.modules,
|
|
transformations = _ref.transformations,
|
|
shouldTransformESM = _ref.shouldTransformESM,
|
|
shouldTransformDynamicImport = _ref.shouldTransformDynamicImport,
|
|
shouldTransformExportNamespaceFrom = _ref.shouldTransformExportNamespaceFrom,
|
|
shouldParseTopLevelAwait = _ref.shouldParseTopLevelAwait;
|
|
var modulesPluginNames = [];
|
|
if (modules !== false && transformations[modules]) {
|
|
if (shouldTransformESM) {
|
|
modulesPluginNames.push(transformations[modules]);
|
|
}
|
|
if (shouldTransformDynamicImport && shouldTransformESM && modules !== "umd") {
|
|
modulesPluginNames.push("transform-dynamic-import");
|
|
} else {
|
|
if (shouldTransformDynamicImport) {
|
|
console.warn("Dynamic import can only be supported when transforming ES modules" + " to AMD, CommonJS or SystemJS. Only the parser plugin will be enabled.");
|
|
}
|
|
modulesPluginNames.push("syntax-dynamic-import");
|
|
}
|
|
} else {
|
|
modulesPluginNames.push("syntax-dynamic-import");
|
|
}
|
|
if (shouldTransformExportNamespaceFrom) {
|
|
modulesPluginNames.push("transform-export-namespace-from");
|
|
} else {
|
|
modulesPluginNames.push("syntax-export-namespace-from");
|
|
}
|
|
if (shouldParseTopLevelAwait) {
|
|
modulesPluginNames.push("syntax-top-level-await");
|
|
}
|
|
modulesPluginNames.push("syntax-import-meta");
|
|
return modulesPluginNames;
|
|
};
|
|
var getPolyfillPlugins = function getPolyfillPlugins(_ref2) {
|
|
var useBuiltIns = _ref2.useBuiltIns,
|
|
corejs = _ref2.corejs,
|
|
polyfillTargets = _ref2.polyfillTargets,
|
|
include = _ref2.include,
|
|
exclude = _ref2.exclude,
|
|
proposals = _ref2.proposals,
|
|
shippedProposals = _ref2.shippedProposals,
|
|
regenerator = _ref2.regenerator,
|
|
debug = _ref2.debug;
|
|
var polyfillPlugins = [];
|
|
if (useBuiltIns === "usage" || useBuiltIns === "entry") {
|
|
var pluginOptions = {
|
|
method: useBuiltIns + "-global",
|
|
version: corejs ? corejs.toString() : undefined,
|
|
targets: polyfillTargets,
|
|
include: include,
|
|
exclude: exclude,
|
|
proposals: proposals,
|
|
shippedProposals: shippedProposals,
|
|
debug: debug
|
|
};
|
|
if (corejs) {
|
|
if (useBuiltIns === "usage") {
|
|
if (corejs.major === 2) {
|
|
polyfillPlugins.push([pluginCoreJS2, pluginOptions], [legacyBabelPolyfillPlugin, {
|
|
usage: true
|
|
}]);
|
|
} else {
|
|
polyfillPlugins.push([pluginCoreJS3, pluginOptions], [legacyBabelPolyfillPlugin, {
|
|
usage: true,
|
|
deprecated: true
|
|
}]);
|
|
}
|
|
if (regenerator) {
|
|
polyfillPlugins.push([pluginRegenerator, {
|
|
method: "usage-global",
|
|
debug: debug
|
|
}]);
|
|
}
|
|
} else {
|
|
if (corejs.major === 2) {
|
|
polyfillPlugins.push([legacyBabelPolyfillPlugin, {
|
|
regenerator: regenerator
|
|
}], [pluginCoreJS2, pluginOptions]);
|
|
} else {
|
|
polyfillPlugins.push([pluginCoreJS3, pluginOptions], [legacyBabelPolyfillPlugin, {
|
|
deprecated: true
|
|
}]);
|
|
if (!regenerator) {
|
|
polyfillPlugins.push([removeRegeneratorEntryPlugin, pluginOptions]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return polyfillPlugins;
|
|
};
|
|
function getLocalTargets(optionsTargets, ignoreBrowserslistConfig, configPath, browserslistEnv) {
|
|
if (optionsTargets != null && optionsTargets.esmodules && optionsTargets.browsers) {
|
|
console.warn("\n@babel/preset-env: esmodules and browsers targets have been specified together.\n`browsers` target, `" + optionsTargets.browsers.toString() + "` will be ignored.\n");
|
|
}
|
|
return getTargets$2(optionsTargets, {
|
|
ignoreBrowserslistConfig: ignoreBrowserslistConfig,
|
|
configPath: configPath,
|
|
browserslistEnv: browserslistEnv
|
|
});
|
|
}
|
|
function supportsStaticESM(caller) {
|
|
return !!(caller != null && caller.supportsStaticESM);
|
|
}
|
|
function supportsDynamicImport(caller) {
|
|
return !!(caller != null && caller.supportsDynamicImport);
|
|
}
|
|
function supportsExportNamespaceFrom(caller) {
|
|
return !!(caller != null && caller.supportsExportNamespaceFrom);
|
|
}
|
|
function supportsTopLevelAwait(caller) {
|
|
return !!(caller != null && caller.supportsTopLevelAwait);
|
|
}
|
|
var presetEnv = declare(function (api, opts) {
|
|
api.assertVersion(7);
|
|
var babelTargets = api.targets();
|
|
var _normalizeOptions = normalizeOptions$3(opts),
|
|
bugfixes = _normalizeOptions.bugfixes,
|
|
configPath = _normalizeOptions.configPath,
|
|
debug = _normalizeOptions.debug,
|
|
optionsExclude = _normalizeOptions.exclude,
|
|
forceAllTransforms = _normalizeOptions.forceAllTransforms,
|
|
ignoreBrowserslistConfig = _normalizeOptions.ignoreBrowserslistConfig,
|
|
optionsInclude = _normalizeOptions.include,
|
|
loose = _normalizeOptions.loose,
|
|
modules = _normalizeOptions.modules,
|
|
shippedProposals = _normalizeOptions.shippedProposals,
|
|
spec = _normalizeOptions.spec,
|
|
optionsTargets = _normalizeOptions.targets,
|
|
useBuiltIns = _normalizeOptions.useBuiltIns,
|
|
_normalizeOptions$cor = _normalizeOptions.corejs,
|
|
corejs = _normalizeOptions$cor.version,
|
|
proposals = _normalizeOptions$cor.proposals,
|
|
browserslistEnv = _normalizeOptions.browserslistEnv;
|
|
var targets = babelTargets;
|
|
if (semver$2.lt(api.version, "7.13.0") || opts.targets || opts.configPath || opts.browserslistEnv || opts.ignoreBrowserslistConfig) {
|
|
{
|
|
var hasUglifyTarget = false;
|
|
if (optionsTargets != null && optionsTargets.uglify) {
|
|
hasUglifyTarget = true;
|
|
delete optionsTargets.uglify;
|
|
console.warn("\nThe uglify target has been deprecated. Set the top level\noption `forceAllTransforms: true` instead.\n");
|
|
}
|
|
}
|
|
targets = getLocalTargets(optionsTargets, ignoreBrowserslistConfig, configPath, browserslistEnv);
|
|
}
|
|
var transformTargets = forceAllTransforms || hasUglifyTarget ? {} : targets;
|
|
var include = transformIncludesAndExcludes(optionsInclude);
|
|
var exclude = transformIncludesAndExcludes(optionsExclude);
|
|
var compatData = getPluginList(shippedProposals, bugfixes);
|
|
var shouldSkipExportNamespaceFrom = modules === "auto" && (api.caller == null ? void 0 : api.caller(supportsExportNamespaceFrom)) || modules === false && !isRequired("transform-export-namespace-from", transformTargets, {
|
|
compatData: compatData,
|
|
includes: include.plugins,
|
|
excludes: exclude.plugins
|
|
});
|
|
var modulesPluginNames = getModulesPluginNames({
|
|
modules: modules,
|
|
transformations: moduleTransformations,
|
|
shouldTransformESM: modules !== "auto" || !(api.caller != null && api.caller(supportsStaticESM)),
|
|
shouldTransformDynamicImport: modules !== "auto" || !(api.caller != null && api.caller(supportsDynamicImport)),
|
|
shouldTransformExportNamespaceFrom: !shouldSkipExportNamespaceFrom,
|
|
shouldParseTopLevelAwait: !api.caller || api.caller(supportsTopLevelAwait)
|
|
});
|
|
var pluginNames = filterItems(compatData, include.plugins, exclude.plugins, transformTargets, modulesPluginNames, getOptionSpecificExcludesFor({
|
|
loose: loose
|
|
}), pluginSyntaxMap);
|
|
removeUnnecessaryItems(pluginNames, overlappingPlugins);
|
|
removeUnsupportedItems(pluginNames, api.version);
|
|
if (shippedProposals) {
|
|
addProposalSyntaxPlugins(pluginNames, proposalSyntaxPlugins);
|
|
}
|
|
var polyfillPlugins = getPolyfillPlugins({
|
|
useBuiltIns: useBuiltIns,
|
|
corejs: corejs,
|
|
polyfillTargets: targets,
|
|
include: include.builtIns,
|
|
exclude: exclude.builtIns,
|
|
proposals: proposals,
|
|
shippedProposals: shippedProposals,
|
|
regenerator: pluginNames.has("transform-regenerator"),
|
|
debug: debug
|
|
});
|
|
var pluginUseBuiltIns = useBuiltIns !== false;
|
|
var plugins = Array.from(pluginNames).map(function (pluginName) {
|
|
if (pluginName === "transform-class-properties" || pluginName === "transform-private-methods" || pluginName === "transform-private-property-in-object") {
|
|
return [getPlugin(pluginName), {
|
|
loose: loose ? "#__internal__@babel/preset-env__prefer-true-but-false-is-ok-if-it-prevents-an-error" : "#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error"
|
|
}];
|
|
}
|
|
return [getPlugin(pluginName), {
|
|
spec: spec,
|
|
loose: loose,
|
|
useBuiltIns: pluginUseBuiltIns
|
|
}];
|
|
}).concat(polyfillPlugins);
|
|
if (debug) {
|
|
console.log("@babel/preset-env: `DEBUG` option");
|
|
console.log("\nUsing targets:");
|
|
console.log(JSON.stringify(prettifyTargets(targets), null, 2));
|
|
console.log("\nUsing modules transform: " + modules.toString());
|
|
console.log("\nUsing plugins:");
|
|
pluginNames.forEach(function (pluginName) {
|
|
logPlugin(pluginName, targets, compatData);
|
|
});
|
|
if (!useBuiltIns) {
|
|
console.log("\nUsing polyfills: No polyfills were added, since the `useBuiltIns` option was not set.");
|
|
}
|
|
}
|
|
return {
|
|
plugins: plugins
|
|
};
|
|
});
|
|
|
|
new OptionValidator("@babel/preset-flow");
|
|
function normalizeOptions$2(options) {
|
|
if (options === void 0) {
|
|
options = {};
|
|
}
|
|
var _options = options,
|
|
all = _options.all,
|
|
ignoreExtensions = _options.ignoreExtensions;
|
|
var _options2 = options,
|
|
allowDeclareFields = _options2.allowDeclareFields;
|
|
{
|
|
return {
|
|
all: all,
|
|
allowDeclareFields: allowDeclareFields,
|
|
ignoreExtensions: ignoreExtensions
|
|
};
|
|
}
|
|
}
|
|
|
|
var presetFlow = declare(function (api, opts) {
|
|
api.assertVersion(7);
|
|
var _normalizeOptions = normalizeOptions$2(opts),
|
|
all = _normalizeOptions.all,
|
|
allowDeclareFields = _normalizeOptions.allowDeclareFields;
|
|
_normalizeOptions.ignoreExtensions;
|
|
var flowPlugin = [transformFlowStripTypes, {
|
|
all: all,
|
|
allowDeclareFields: allowDeclareFields
|
|
}];
|
|
{
|
|
return {
|
|
plugins: [flowPlugin]
|
|
};
|
|
}
|
|
});
|
|
|
|
var PURE_CALLS = [["react", new Set(["cloneElement", "createContext", "createElement", "createFactory", "createRef", "forwardRef", "isValidElement", "memo", "lazy"])], ["react-dom", new Set(["createPortal"])]];
|
|
var transformReactPure = declare(function (api) {
|
|
api.assertVersion(7);
|
|
return {
|
|
name: "transform-react-pure-annotations",
|
|
visitor: {
|
|
CallExpression: function CallExpression(path) {
|
|
if (isReactCall(path)) {
|
|
annotateAsPure(path);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
function isReactCall(path) {
|
|
var calleePath = path.get("callee");
|
|
if (!calleePath.isMemberExpression()) {
|
|
for (var _i = 0, _PURE_CALLS = PURE_CALLS; _i < _PURE_CALLS.length; _i++) {
|
|
var _PURE_CALLS$_i = _slicedToArray(_PURE_CALLS[_i], 2),
|
|
module = _PURE_CALLS$_i[0],
|
|
methods = _PURE_CALLS$_i[1];
|
|
for (var _iterator = _createForOfIteratorHelperLoose(methods), _step; !(_step = _iterator()).done;) {
|
|
var method = _step.value;
|
|
if (calleePath.referencesImport(module, method)) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
var object = calleePath.get("object");
|
|
var callee = calleePath.node;
|
|
if (!callee.computed && isIdentifier$j(callee.property)) {
|
|
var propertyName = callee.property.name;
|
|
for (var _i2 = 0, _PURE_CALLS2 = PURE_CALLS; _i2 < _PURE_CALLS2.length; _i2++) {
|
|
var _PURE_CALLS2$_i = _slicedToArray(_PURE_CALLS2[_i2], 2),
|
|
_module = _PURE_CALLS2$_i[0],
|
|
_methods = _PURE_CALLS2$_i[1];
|
|
if (object.referencesImport(_module, "default") || object.referencesImport(_module, "*")) {
|
|
return _methods.has(propertyName);
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
new OptionValidator("@babel/preset-react");
|
|
function normalizeOptions$1(options) {
|
|
if (options === void 0) {
|
|
options = {};
|
|
}
|
|
{
|
|
var _options = options,
|
|
pragma = _options.pragma,
|
|
pragmaFrag = _options.pragmaFrag;
|
|
var _options2 = options,
|
|
pure = _options2.pure,
|
|
_options2$throwIfName = _options2.throwIfNamespace,
|
|
throwIfNamespace = _options2$throwIfName === void 0 ? true : _options2$throwIfName,
|
|
_options2$runtime = _options2.runtime,
|
|
runtime = _options2$runtime === void 0 ? "classic" : _options2$runtime,
|
|
importSource = _options2.importSource,
|
|
useBuiltIns = _options2.useBuiltIns,
|
|
useSpread = _options2.useSpread;
|
|
if (runtime === "classic") {
|
|
pragma = pragma || "React.createElement";
|
|
pragmaFrag = pragmaFrag || "React.Fragment";
|
|
}
|
|
var development = !!options.development;
|
|
return {
|
|
development: development,
|
|
importSource: importSource,
|
|
pragma: pragma,
|
|
pragmaFrag: pragmaFrag,
|
|
pure: pure,
|
|
runtime: runtime,
|
|
throwIfNamespace: throwIfNamespace,
|
|
useBuiltIns: useBuiltIns,
|
|
useSpread: useSpread
|
|
};
|
|
}
|
|
}
|
|
|
|
var presetReact = declare(function (api, opts) {
|
|
api.assertVersion(7);
|
|
var _normalizeOptions = normalizeOptions$1(opts),
|
|
development = _normalizeOptions.development,
|
|
importSource = _normalizeOptions.importSource,
|
|
pragma = _normalizeOptions.pragma,
|
|
pragmaFrag = _normalizeOptions.pragmaFrag,
|
|
pure = _normalizeOptions.pure,
|
|
runtime = _normalizeOptions.runtime,
|
|
throwIfNamespace = _normalizeOptions.throwIfNamespace;
|
|
return {
|
|
plugins: [[development ? transformReactJSXDevelopment : transformReactJSX, {
|
|
importSource: importSource,
|
|
pragma: pragma,
|
|
pragmaFrag: pragmaFrag,
|
|
runtime: runtime,
|
|
throwIfNamespace: throwIfNamespace,
|
|
pure: pure,
|
|
useBuiltIns: !!opts.useBuiltIns,
|
|
useSpread: opts.useSpread
|
|
}], transformReactDisplayName, pure !== false && transformReactPure].filter(Boolean)
|
|
};
|
|
});
|
|
|
|
var v = new OptionValidator("@babel/preset-typescript");
|
|
function normalizeOptions(options) {
|
|
if (options === void 0) {
|
|
options = {};
|
|
}
|
|
var _options = options,
|
|
_options$allowNamespa = _options.allowNamespaces,
|
|
allowNamespaces = _options$allowNamespa === void 0 ? true : _options$allowNamespa,
|
|
jsxPragma = _options.jsxPragma,
|
|
onlyRemoveTypeImports = _options.onlyRemoveTypeImports;
|
|
var TopLevelOptions = {
|
|
ignoreExtensions: "ignoreExtensions",
|
|
allowNamespaces: "allowNamespaces",
|
|
disallowAmbiguousJSXLike: "disallowAmbiguousJSXLike",
|
|
jsxPragma: "jsxPragma",
|
|
jsxPragmaFrag: "jsxPragmaFrag",
|
|
onlyRemoveTypeImports: "onlyRemoveTypeImports",
|
|
optimizeConstEnums: "optimizeConstEnums",
|
|
allExtensions: "allExtensions",
|
|
isTSX: "isTSX"
|
|
};
|
|
var jsxPragmaFrag = v.validateStringOption(TopLevelOptions.jsxPragmaFrag, options.jsxPragmaFrag, "React.Fragment");
|
|
{
|
|
var allExtensions = v.validateBooleanOption(TopLevelOptions.allExtensions, options.allExtensions, false);
|
|
var isTSX = v.validateBooleanOption(TopLevelOptions.isTSX, options.isTSX, false);
|
|
if (isTSX) {
|
|
v.invariant(allExtensions, "isTSX:true requires allExtensions:true");
|
|
}
|
|
}
|
|
var ignoreExtensions = v.validateBooleanOption(TopLevelOptions.ignoreExtensions, options.ignoreExtensions, false);
|
|
var disallowAmbiguousJSXLike = v.validateBooleanOption(TopLevelOptions.disallowAmbiguousJSXLike, options.disallowAmbiguousJSXLike, false);
|
|
if (disallowAmbiguousJSXLike) {
|
|
{
|
|
v.invariant(allExtensions, "disallowAmbiguousJSXLike:true requires allExtensions:true");
|
|
}
|
|
}
|
|
var optimizeConstEnums = v.validateBooleanOption(TopLevelOptions.optimizeConstEnums, options.optimizeConstEnums, false);
|
|
var normalized = {
|
|
ignoreExtensions: ignoreExtensions,
|
|
allowNamespaces: allowNamespaces,
|
|
disallowAmbiguousJSXLike: disallowAmbiguousJSXLike,
|
|
jsxPragma: jsxPragma,
|
|
jsxPragmaFrag: jsxPragmaFrag,
|
|
onlyRemoveTypeImports: onlyRemoveTypeImports,
|
|
optimizeConstEnums: optimizeConstEnums
|
|
};
|
|
{
|
|
normalized.allExtensions = allExtensions;
|
|
normalized.isTSX = isTSX;
|
|
}
|
|
return normalized;
|
|
}
|
|
|
|
var presetTypescript = declare(function (api, opts) {
|
|
api.assertVersion(7);
|
|
var _normalizeOptions = normalizeOptions(opts),
|
|
allExtensions = _normalizeOptions.allExtensions,
|
|
ignoreExtensions = _normalizeOptions.ignoreExtensions,
|
|
allowNamespaces = _normalizeOptions.allowNamespaces,
|
|
disallowAmbiguousJSXLike = _normalizeOptions.disallowAmbiguousJSXLike,
|
|
isTSX = _normalizeOptions.isTSX,
|
|
jsxPragma = _normalizeOptions.jsxPragma,
|
|
jsxPragmaFrag = _normalizeOptions.jsxPragmaFrag,
|
|
onlyRemoveTypeImports = _normalizeOptions.onlyRemoveTypeImports,
|
|
optimizeConstEnums = _normalizeOptions.optimizeConstEnums;
|
|
var pluginOptions = function pluginOptions(disallowAmbiguousJSXLike) {
|
|
return {
|
|
allowDeclareFields: opts.allowDeclareFields,
|
|
allowNamespaces: allowNamespaces,
|
|
disallowAmbiguousJSXLike: disallowAmbiguousJSXLike,
|
|
jsxPragma: jsxPragma,
|
|
jsxPragmaFrag: jsxPragmaFrag,
|
|
onlyRemoveTypeImports: onlyRemoveTypeImports,
|
|
optimizeConstEnums: optimizeConstEnums
|
|
};
|
|
};
|
|
var getPlugins = function getPlugins(isTSX, disallowAmbiguousJSXLike) {
|
|
{
|
|
return [[transformTypeScript, Object.assign({
|
|
isTSX: isTSX
|
|
}, pluginOptions(disallowAmbiguousJSXLike))]];
|
|
}
|
|
};
|
|
var disableExtensionDetect = allExtensions || ignoreExtensions;
|
|
return {
|
|
overrides: disableExtensionDetect ? [{
|
|
plugins: getPlugins(isTSX, disallowAmbiguousJSXLike)
|
|
}] : [{
|
|
test: /\.ts$/,
|
|
plugins: getPlugins(false, false)
|
|
}, {
|
|
test: /\.mts$/,
|
|
sourceType: "module",
|
|
plugins: getPlugins(false, true)
|
|
}, {
|
|
test: /\.cts$/,
|
|
sourceType: "unambiguous",
|
|
plugins: [[transformModulesCommonJS, {
|
|
allowTopLevelThis: true
|
|
}], [transformTypeScript, pluginOptions(true)]]
|
|
}, {
|
|
test: /\.tsx$/,
|
|
plugins: getPlugins(true, false)
|
|
}]
|
|
};
|
|
});
|
|
|
|
var scriptTypes = ["text/jsx", "text/babel"];
|
|
var headEl;
|
|
var inlineScriptCount = 0;
|
|
function transformCode(transformFn, script) {
|
|
var source;
|
|
if (script.url != null) {
|
|
source = script.url;
|
|
} else {
|
|
source = "Inline Babel script";
|
|
inlineScriptCount++;
|
|
if (inlineScriptCount > 1) {
|
|
source += " (" + inlineScriptCount + ")";
|
|
}
|
|
}
|
|
return transformFn(script.content, buildBabelOptions(script, source)).code;
|
|
}
|
|
function buildBabelOptions(script, filename) {
|
|
var presets = script.presets;
|
|
if (!presets) {
|
|
if (script.type === "module") {
|
|
presets = ["react", ["env", {
|
|
targets: {
|
|
esmodules: true
|
|
},
|
|
modules: false
|
|
}]];
|
|
} else {
|
|
presets = ["react", "env"];
|
|
}
|
|
}
|
|
return {
|
|
filename: filename,
|
|
presets: presets,
|
|
plugins: script.plugins || ["proposal-class-properties", "proposal-object-rest-spread", "transform-flow-strip-types"],
|
|
sourceMaps: "inline",
|
|
sourceFileName: filename
|
|
};
|
|
}
|
|
function run(transformFn, script) {
|
|
var scriptEl = document.createElement("script");
|
|
if (script.type) {
|
|
scriptEl.setAttribute("type", script.type);
|
|
}
|
|
scriptEl.text = transformCode(transformFn, script);
|
|
headEl.appendChild(scriptEl);
|
|
}
|
|
function load(url, successCallback, errorCallback) {
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open("GET", url, true);
|
|
if ("overrideMimeType" in xhr) {
|
|
xhr.overrideMimeType("text/plain");
|
|
}
|
|
xhr.onreadystatechange = function () {
|
|
if (xhr.readyState === 4) {
|
|
if (xhr.status === 0 || xhr.status === 200) {
|
|
successCallback(xhr.responseText);
|
|
} else {
|
|
errorCallback();
|
|
throw new Error("Could not load " + url);
|
|
}
|
|
}
|
|
};
|
|
xhr.send(null);
|
|
}
|
|
function getPluginsOrPresetsFromScript(script, attributeName) {
|
|
var rawValue = script.getAttribute(attributeName);
|
|
if (rawValue === "") {
|
|
return [];
|
|
}
|
|
if (!rawValue) {
|
|
return null;
|
|
}
|
|
return rawValue.split(",").map(function (item) {
|
|
return item.trim();
|
|
});
|
|
}
|
|
function loadScripts(transformFn, scripts) {
|
|
var result = [];
|
|
var count = scripts.length;
|
|
function check() {
|
|
var script, i;
|
|
for (i = 0; i < count; i++) {
|
|
script = result[i];
|
|
if (script.loaded && !script.executed) {
|
|
script.executed = true;
|
|
run(transformFn, script);
|
|
} else if (!script.loaded && !script.error && !script.async) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
scripts.forEach(function (script, i) {
|
|
var scriptData = {
|
|
async: script.hasAttribute("async"),
|
|
type: script.getAttribute("data-type"),
|
|
error: false,
|
|
executed: false,
|
|
plugins: getPluginsOrPresetsFromScript(script, "data-plugins"),
|
|
presets: getPluginsOrPresetsFromScript(script, "data-presets")
|
|
};
|
|
if (script.src) {
|
|
result[i] = Object.assign({}, scriptData, {
|
|
content: null,
|
|
loaded: false,
|
|
url: script.src
|
|
});
|
|
load(script.src, function (content) {
|
|
result[i].loaded = true;
|
|
result[i].content = content;
|
|
check();
|
|
}, function () {
|
|
result[i].error = true;
|
|
check();
|
|
});
|
|
} else {
|
|
result[i] = Object.assign({}, scriptData, {
|
|
content: script.innerHTML,
|
|
loaded: true,
|
|
url: script.getAttribute("data-module") || null
|
|
});
|
|
}
|
|
});
|
|
check();
|
|
}
|
|
function runScripts(transformFn, scripts) {
|
|
headEl = document.getElementsByTagName("head")[0];
|
|
if (!scripts) {
|
|
scripts = document.getElementsByTagName("script");
|
|
}
|
|
var jsxScripts = [];
|
|
for (var i = 0; i < scripts.length; i++) {
|
|
var script = scripts.item(i);
|
|
var type = script.type.split(";")[0];
|
|
if (scriptTypes.indexOf(type) !== -1) {
|
|
jsxScripts.push(script);
|
|
}
|
|
}
|
|
if (jsxScripts.length === 0) {
|
|
return;
|
|
}
|
|
console.warn("You are using the in-browser Babel transformer. Be sure to precompile " + "your scripts for production - https://babeljs.io/docs/setup/");
|
|
loadScripts(transformFn, jsxScripts);
|
|
}
|
|
|
|
var _window;
|
|
var availablePlugins = {};
|
|
registerPlugins(all);
|
|
var availablePresets = {
|
|
env: presetEnv,
|
|
es2015: preset2015,
|
|
es2016: function es2016() {
|
|
return {
|
|
plugins: [availablePlugins["transform-exponentiation-operator"]]
|
|
};
|
|
},
|
|
es2017: function es2017() {
|
|
return {
|
|
plugins: [availablePlugins["transform-async-to-generator"]]
|
|
};
|
|
},
|
|
react: presetReact,
|
|
"stage-0": presetStage0,
|
|
"stage-1": presetStage1,
|
|
"stage-2": presetStage2,
|
|
"stage-3": presetStage3,
|
|
"es2015-loose": {
|
|
presets: [[preset2015, {
|
|
loose: true
|
|
}]]
|
|
},
|
|
"es2015-no-commonjs": {
|
|
presets: [[preset2015, {
|
|
modules: false
|
|
}]]
|
|
},
|
|
typescript: presetTypescript,
|
|
flow: presetFlow
|
|
};
|
|
var isArray = Array.isArray || function (arg) {
|
|
return Object.prototype.toString.call(arg) === "[object Array]";
|
|
};
|
|
function loadBuiltin(builtinTable, name) {
|
|
if (isArray(name) && typeof name[0] === "string") {
|
|
if (Object.prototype.hasOwnProperty.call(builtinTable, name[0])) {
|
|
return [builtinTable[name[0]]].concat(name.slice(1));
|
|
}
|
|
return;
|
|
} else if (typeof name === "string") {
|
|
return builtinTable[name];
|
|
}
|
|
return name;
|
|
}
|
|
function processOptions(options) {
|
|
var presets = (options.presets || []).map(function (presetName) {
|
|
var preset = loadBuiltin(availablePresets, presetName);
|
|
if (preset) {
|
|
if (isArray(preset) && typeof preset[0] === "object" && Object.prototype.hasOwnProperty.call(preset[0], "buildPreset")) {
|
|
preset[0] = Object.assign({}, preset[0], {
|
|
buildPreset: preset[0].buildPreset
|
|
});
|
|
}
|
|
} else {
|
|
throw new Error("Invalid preset specified in Babel options: \"" + presetName + "\"");
|
|
}
|
|
return preset;
|
|
});
|
|
var plugins = (options.plugins || []).map(function (pluginName) {
|
|
var plugin = loadBuiltin(availablePlugins, pluginName);
|
|
if (!plugin) {
|
|
throw new Error("Invalid plugin specified in Babel options: \"" + pluginName + "\"");
|
|
}
|
|
return plugin;
|
|
});
|
|
return Object.assign({
|
|
babelrc: false
|
|
}, options, {
|
|
presets: presets,
|
|
plugins: plugins
|
|
});
|
|
}
|
|
function transform(code, options) {
|
|
return transformSync(code, processOptions(options));
|
|
}
|
|
function transformFromAst(ast, code, options) {
|
|
return transformFromAstSync(ast, code, processOptions(options));
|
|
}
|
|
var buildExternalHelpers = babelBuildExternalHelpers;
|
|
function registerPlugin(name, plugin) {
|
|
if (Object.prototype.hasOwnProperty.call(availablePlugins, name)) {
|
|
console.warn("A plugin named \"" + name + "\" is already registered, it will be overridden");
|
|
}
|
|
availablePlugins[name] = plugin;
|
|
}
|
|
function registerPlugins(newPlugins) {
|
|
Object.keys(newPlugins).forEach(function (name) {
|
|
return registerPlugin(name, newPlugins[name]);
|
|
});
|
|
}
|
|
function registerPreset(name, preset) {
|
|
if (Object.prototype.hasOwnProperty.call(availablePresets, name)) {
|
|
if (name === "env") {
|
|
console.warn("@babel/preset-env is now included in @babel/standalone, please remove @babel/preset-env-standalone");
|
|
} else {
|
|
console.warn("A preset named \"" + name + "\" is already registered, it will be overridden");
|
|
}
|
|
}
|
|
availablePresets[name] = preset;
|
|
}
|
|
function registerPresets(newPresets) {
|
|
Object.keys(newPresets).forEach(function (name) {
|
|
return registerPreset(name, newPresets[name]);
|
|
});
|
|
}
|
|
var version = "7.21.8";
|
|
function onDOMContentLoaded() {
|
|
transformScriptTags();
|
|
}
|
|
if (typeof window !== "undefined" && (_window = window) != null && _window.addEventListener) {
|
|
window.addEventListener("DOMContentLoaded", onDOMContentLoaded, false);
|
|
}
|
|
function transformScriptTags(scriptTags) {
|
|
runScripts(transform, scriptTags);
|
|
}
|
|
function disableScriptTags() {
|
|
window.removeEventListener("DOMContentLoaded", onDOMContentLoaded);
|
|
}
|
|
|
|
exports.availablePlugins = availablePlugins;
|
|
exports.availablePresets = availablePresets;
|
|
exports.buildExternalHelpers = buildExternalHelpers;
|
|
exports.disableScriptTags = disableScriptTags;
|
|
exports.registerPlugin = registerPlugin;
|
|
exports.registerPlugins = registerPlugins;
|
|
exports.registerPreset = registerPreset;
|
|
exports.registerPresets = registerPresets;
|
|
exports.transform = transform;
|
|
exports.transformFromAst = transformFromAst;
|
|
exports.transformScriptTags = transformScriptTags;
|
|
exports.version = version;
|
|
|
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
|
}));
|
|
//# sourceMappingURL=babel.js.map |