first
This commit is contained in:
92
node_modules/@babel/parser/lib/util/class-scope.js
generated
vendored
Normal file
92
node_modules/@babel/parser/lib/util/class-scope.js
generated
vendored
Normal file
@ -0,0 +1,92 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = exports.ClassScope = void 0;
|
||||
var _scopeflags = require("./scopeflags");
|
||||
var _parseError = require("../parse-error");
|
||||
class ClassScope {
|
||||
constructor() {
|
||||
this.privateNames = new Set();
|
||||
this.loneAccessors = new Map();
|
||||
this.undefinedPrivateNames = new Map();
|
||||
}
|
||||
}
|
||||
exports.ClassScope = ClassScope;
|
||||
class ClassScopeHandler {
|
||||
constructor(parser) {
|
||||
this.parser = void 0;
|
||||
this.stack = [];
|
||||
this.undefinedPrivateNames = new Map();
|
||||
this.parser = parser;
|
||||
}
|
||||
current() {
|
||||
return this.stack[this.stack.length - 1];
|
||||
}
|
||||
enter() {
|
||||
this.stack.push(new ClassScope());
|
||||
}
|
||||
exit() {
|
||||
const oldClassScope = this.stack.pop();
|
||||
const current = this.current();
|
||||
for (const [name, loc] of Array.from(oldClassScope.undefinedPrivateNames)) {
|
||||
if (current) {
|
||||
if (!current.undefinedPrivateNames.has(name)) {
|
||||
current.undefinedPrivateNames.set(name, loc);
|
||||
}
|
||||
} else {
|
||||
this.parser.raise(_parseError.Errors.InvalidPrivateFieldResolution, {
|
||||
at: loc,
|
||||
identifierName: name
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
declarePrivateName(name, elementType, loc) {
|
||||
const {
|
||||
privateNames,
|
||||
loneAccessors,
|
||||
undefinedPrivateNames
|
||||
} = this.current();
|
||||
let redefined = privateNames.has(name);
|
||||
if (elementType & _scopeflags.ClassElementType.KIND_ACCESSOR) {
|
||||
const accessor = redefined && loneAccessors.get(name);
|
||||
if (accessor) {
|
||||
const oldStatic = accessor & _scopeflags.ClassElementType.FLAG_STATIC;
|
||||
const newStatic = elementType & _scopeflags.ClassElementType.FLAG_STATIC;
|
||||
const oldKind = accessor & _scopeflags.ClassElementType.KIND_ACCESSOR;
|
||||
const newKind = elementType & _scopeflags.ClassElementType.KIND_ACCESSOR;
|
||||
redefined = oldKind === newKind || oldStatic !== newStatic;
|
||||
if (!redefined) loneAccessors.delete(name);
|
||||
} else if (!redefined) {
|
||||
loneAccessors.set(name, elementType);
|
||||
}
|
||||
}
|
||||
if (redefined) {
|
||||
this.parser.raise(_parseError.Errors.PrivateNameRedeclaration, {
|
||||
at: loc,
|
||||
identifierName: name
|
||||
});
|
||||
}
|
||||
privateNames.add(name);
|
||||
undefinedPrivateNames.delete(name);
|
||||
}
|
||||
usePrivateName(name, loc) {
|
||||
let classScope;
|
||||
for (classScope of this.stack) {
|
||||
if (classScope.privateNames.has(name)) return;
|
||||
}
|
||||
if (classScope) {
|
||||
classScope.undefinedPrivateNames.set(name, loc);
|
||||
} else {
|
||||
this.parser.raise(_parseError.Errors.InvalidPrivateFieldResolution, {
|
||||
at: loc,
|
||||
identifierName: name
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.default = ClassScopeHandler;
|
||||
|
||||
//# sourceMappingURL=class-scope.js.map
|
1
node_modules/@babel/parser/lib/util/class-scope.js.map
generated
vendored
Normal file
1
node_modules/@babel/parser/lib/util/class-scope.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
142
node_modules/@babel/parser/lib/util/expression-scope.js
generated
vendored
Normal file
142
node_modules/@babel/parser/lib/util/expression-scope.js
generated
vendored
Normal file
@ -0,0 +1,142 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
exports.newArrowHeadScope = newArrowHeadScope;
|
||||
exports.newAsyncArrowScope = newAsyncArrowScope;
|
||||
exports.newExpressionScope = newExpressionScope;
|
||||
exports.newParameterDeclarationScope = newParameterDeclarationScope;
|
||||
var _parseError = require("../parse-error");
|
||||
class ExpressionScope {
|
||||
constructor(type = 0) {
|
||||
this.type = type;
|
||||
}
|
||||
canBeArrowParameterDeclaration() {
|
||||
return this.type === 2 || this.type === 1;
|
||||
}
|
||||
isCertainlyParameterDeclaration() {
|
||||
return this.type === 3;
|
||||
}
|
||||
}
|
||||
class ArrowHeadParsingScope extends ExpressionScope {
|
||||
constructor(type) {
|
||||
super(type);
|
||||
this.declarationErrors = new Map();
|
||||
}
|
||||
recordDeclarationError(ParsingErrorClass, {
|
||||
at
|
||||
}) {
|
||||
const index = at.index;
|
||||
this.declarationErrors.set(index, [ParsingErrorClass, at]);
|
||||
}
|
||||
clearDeclarationError(index) {
|
||||
this.declarationErrors.delete(index);
|
||||
}
|
||||
iterateErrors(iterator) {
|
||||
this.declarationErrors.forEach(iterator);
|
||||
}
|
||||
}
|
||||
class ExpressionScopeHandler {
|
||||
constructor(parser) {
|
||||
this.parser = void 0;
|
||||
this.stack = [new ExpressionScope()];
|
||||
this.parser = parser;
|
||||
}
|
||||
enter(scope) {
|
||||
this.stack.push(scope);
|
||||
}
|
||||
exit() {
|
||||
this.stack.pop();
|
||||
}
|
||||
recordParameterInitializerError(toParseError, {
|
||||
at: node
|
||||
}) {
|
||||
const origin = {
|
||||
at: node.loc.start
|
||||
};
|
||||
const {
|
||||
stack
|
||||
} = this;
|
||||
let i = stack.length - 1;
|
||||
let scope = stack[i];
|
||||
while (!scope.isCertainlyParameterDeclaration()) {
|
||||
if (scope.canBeArrowParameterDeclaration()) {
|
||||
scope.recordDeclarationError(toParseError, origin);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
scope = stack[--i];
|
||||
}
|
||||
this.parser.raise(toParseError, origin);
|
||||
}
|
||||
recordArrowParameterBindingError(error, {
|
||||
at: node
|
||||
}) {
|
||||
const {
|
||||
stack
|
||||
} = this;
|
||||
const scope = stack[stack.length - 1];
|
||||
const origin = {
|
||||
at: node.loc.start
|
||||
};
|
||||
if (scope.isCertainlyParameterDeclaration()) {
|
||||
this.parser.raise(error, origin);
|
||||
} else if (scope.canBeArrowParameterDeclaration()) {
|
||||
scope.recordDeclarationError(error, origin);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
recordAsyncArrowParametersError({
|
||||
at
|
||||
}) {
|
||||
const {
|
||||
stack
|
||||
} = this;
|
||||
let i = stack.length - 1;
|
||||
let scope = stack[i];
|
||||
while (scope.canBeArrowParameterDeclaration()) {
|
||||
if (scope.type === 2) {
|
||||
scope.recordDeclarationError(_parseError.Errors.AwaitBindingIdentifier, {
|
||||
at
|
||||
});
|
||||
}
|
||||
scope = stack[--i];
|
||||
}
|
||||
}
|
||||
validateAsPattern() {
|
||||
const {
|
||||
stack
|
||||
} = this;
|
||||
const currentScope = stack[stack.length - 1];
|
||||
if (!currentScope.canBeArrowParameterDeclaration()) return;
|
||||
currentScope.iterateErrors(([toParseError, loc]) => {
|
||||
this.parser.raise(toParseError, {
|
||||
at: loc
|
||||
});
|
||||
let i = stack.length - 2;
|
||||
let scope = stack[i];
|
||||
while (scope.canBeArrowParameterDeclaration()) {
|
||||
scope.clearDeclarationError(loc.index);
|
||||
scope = stack[--i];
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.default = ExpressionScopeHandler;
|
||||
function newParameterDeclarationScope() {
|
||||
return new ExpressionScope(3);
|
||||
}
|
||||
function newArrowHeadScope() {
|
||||
return new ArrowHeadParsingScope(1);
|
||||
}
|
||||
function newAsyncArrowScope() {
|
||||
return new ArrowHeadParsingScope(2);
|
||||
}
|
||||
function newExpressionScope() {
|
||||
return new ExpressionScope();
|
||||
}
|
||||
|
||||
//# sourceMappingURL=expression-scope.js.map
|
1
node_modules/@babel/parser/lib/util/expression-scope.js.map
generated
vendored
Normal file
1
node_modules/@babel/parser/lib/util/expression-scope.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
62
node_modules/@babel/parser/lib/util/identifier.js
generated
vendored
Normal file
62
node_modules/@babel/parser/lib/util/identifier.js
generated
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.canBeReservedWord = canBeReservedWord;
|
||||
Object.defineProperty(exports, "isIdentifierChar", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _helperValidatorIdentifier.isIdentifierChar;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "isIdentifierStart", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _helperValidatorIdentifier.isIdentifierStart;
|
||||
}
|
||||
});
|
||||
exports.isIteratorStart = isIteratorStart;
|
||||
Object.defineProperty(exports, "isKeyword", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _helperValidatorIdentifier.isKeyword;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "isReservedWord", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _helperValidatorIdentifier.isReservedWord;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "isStrictBindOnlyReservedWord", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _helperValidatorIdentifier.isStrictBindOnlyReservedWord;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "isStrictBindReservedWord", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _helperValidatorIdentifier.isStrictBindReservedWord;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "isStrictReservedWord", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _helperValidatorIdentifier.isStrictReservedWord;
|
||||
}
|
||||
});
|
||||
exports.keywordRelationalOperator = void 0;
|
||||
var _helperValidatorIdentifier = require("@babel/helper-validator-identifier");
|
||||
const keywordRelationalOperator = /^in(stanceof)?$/;
|
||||
exports.keywordRelationalOperator = keywordRelationalOperator;
|
||||
function isIteratorStart(current, next, next2) {
|
||||
return current === 64 && next === 64 && (0, _helperValidatorIdentifier.isIdentifierStart)(next2);
|
||||
}
|
||||
const 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);
|
||||
}
|
||||
|
||||
//# sourceMappingURL=identifier.js.map
|
1
node_modules/@babel/parser/lib/util/identifier.js.map
generated
vendored
Normal file
1
node_modules/@babel/parser/lib/util/identifier.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"names":["_helperValidatorIdentifier","require","keywordRelationalOperator","exports","isIteratorStart","current","next","next2","isIdentifierStart","reservedWordLikeSet","Set","canBeReservedWord","word","has"],"sources":["../../src/util/identifier.ts"],"sourcesContent":["/* eslint max-len: 0 */\n\nimport * as charCodes from \"charcodes\";\nimport { isIdentifierStart } from \"@babel/helper-validator-identifier\";\n\nexport {\n isIdentifierStart,\n isIdentifierChar,\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\nexport const keywordRelationalOperator = /^in(stanceof)?$/;\n\n// Test whether a current state character code and next character code is @\n\nexport function isIteratorStart(\n current: number,\n next: number,\n next2: number,\n): boolean {\n return (\n current === charCodes.atSign &&\n next === charCodes.atSign &&\n isIdentifierStart(next2)\n );\n}\n\n// This is the comprehensive set of JavaScript reserved words\n// If a word is in this set, it could be a reserved word,\n// depending on sourceType/strictMode/binding info. In other words\n// if a word is not in this set, it is not a reserved word under\n// any circumstance.\nconst reservedWordLikeSet = new Set([\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n // strict\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n // strictBind\n \"eval\",\n \"arguments\",\n // reservedWorkLike\n \"enum\",\n \"await\",\n]);\n\nexport function canBeReservedWord(word: string): boolean {\n return reservedWordLikeSet.has(word);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAAA,0BAAA,GAAAC,OAAA;AAYO,MAAMC,yBAAyB,GAAG,iBAAiB;AAACC,OAAA,CAAAD,yBAAA,GAAAA,yBAAA;AAIpD,SAASE,eAAeA,CAC7BC,OAAe,EACfC,IAAY,EACZC,KAAa,EACJ;EACT,OACEF,OAAO,OAAqB,IAC5BC,IAAI,OAAqB,IACzB,IAAAE,4CAAiB,EAACD,KAAK,CAAC;AAE5B;AAOA,MAAME,mBAAmB,GAAG,IAAIC,GAAG,CAAC,CAClC,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,SAAS,EACT,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,QAAQ,EAER,YAAY,EACZ,WAAW,EACX,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EAEP,MAAM,EACN,WAAW,EAEX,MAAM,EACN,OAAO,CACR,CAAC;AAEK,SAASC,iBAAiBA,CAACC,IAAY,EAAW;EACvD,OAAOH,mBAAmB,CAACI,GAAG,CAACD,IAAI,CAAC;AACtC"}
|
39
node_modules/@babel/parser/lib/util/location.js
generated
vendored
Normal file
39
node_modules/@babel/parser/lib/util/location.js
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.SourceLocation = exports.Position = void 0;
|
||||
exports.createPositionWithColumnOffset = createPositionWithColumnOffset;
|
||||
class Position {
|
||||
constructor(line, col, index) {
|
||||
this.line = void 0;
|
||||
this.column = void 0;
|
||||
this.index = void 0;
|
||||
this.line = line;
|
||||
this.column = col;
|
||||
this.index = index;
|
||||
}
|
||||
}
|
||||
exports.Position = Position;
|
||||
class SourceLocation {
|
||||
constructor(start, end) {
|
||||
this.start = void 0;
|
||||
this.end = void 0;
|
||||
this.filename = void 0;
|
||||
this.identifierName = void 0;
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
}
|
||||
}
|
||||
exports.SourceLocation = SourceLocation;
|
||||
function createPositionWithColumnOffset(position, columnOffset) {
|
||||
const {
|
||||
line,
|
||||
column,
|
||||
index
|
||||
} = position;
|
||||
return new Position(line, column + columnOffset, index + columnOffset);
|
||||
}
|
||||
|
||||
//# sourceMappingURL=location.js.map
|
1
node_modules/@babel/parser/lib/util/location.js.map
generated
vendored
Normal file
1
node_modules/@babel/parser/lib/util/location.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"names":["Position","constructor","line","col","index","column","exports","SourceLocation","start","end","filename","identifierName","createPositionWithColumnOffset","position","columnOffset"],"sources":["../../src/util/location.ts"],"sourcesContent":["export type Pos = {\n start: number;\n};\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nexport class Position {\n line: number;\n column: number;\n index: number;\n\n constructor(line: number, col: number, index: number) {\n this.line = line;\n this.column = col;\n this.index = index;\n }\n}\n\nexport class SourceLocation {\n start: Position;\n end: Position;\n filename: string;\n identifierName: string | undefined | null;\n\n constructor(start: Position, end?: Position) {\n this.start = start;\n // (may start as null, but initialized later)\n this.end = end;\n }\n}\n\n/**\n * creates a new position with a non-zero column offset from the given position.\n * This function should be only be used when we create AST node out of the token\n * boundaries, such as TemplateElement ends before tt.templateNonTail. This\n * function does not skip whitespaces.\n */\nexport function createPositionWithColumnOffset(\n position: Position,\n columnOffset: number,\n) {\n const { line, column, index } = position;\n return new Position(line, column + columnOffset, index + columnOffset);\n}\n"],"mappings":";;;;;;;AAOO,MAAMA,QAAQ,CAAC;EAKpBC,WAAWA,CAACC,IAAY,EAAEC,GAAW,EAAEC,KAAa,EAAE;IAAA,KAJtDF,IAAI;IAAA,KACJG,MAAM;IAAA,KACND,KAAK;IAGH,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACG,MAAM,GAAGF,GAAG;IACjB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;AACF;AAACE,OAAA,CAAAN,QAAA,GAAAA,QAAA;AAEM,MAAMO,cAAc,CAAC;EAM1BN,WAAWA,CAACO,KAAe,EAAEC,GAAc,EAAE;IAAA,KAL7CD,KAAK;IAAA,KACLC,GAAG;IAAA,KACHC,QAAQ;IAAA,KACRC,cAAc;IAGZ,IAAI,CAACH,KAAK,GAAGA,KAAK;IAElB,IAAI,CAACC,GAAG,GAAGA,GAAG;EAChB;AACF;AAACH,OAAA,CAAAC,cAAA,GAAAA,cAAA;AAQM,SAASK,8BAA8BA,CAC5CC,QAAkB,EAClBC,YAAoB,EACpB;EACA,MAAM;IAAEZ,IAAI;IAAEG,MAAM;IAAED;EAAM,CAAC,GAAGS,QAAQ;EACxC,OAAO,IAAIb,QAAQ,CAACE,IAAI,EAAEG,MAAM,GAAGS,YAAY,EAAEV,KAAK,GAAGU,YAAY,CAAC;AACxE"}
|
49
node_modules/@babel/parser/lib/util/production-parameter.js
generated
vendored
Normal file
49
node_modules/@babel/parser/lib/util/production-parameter.js
generated
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = exports.PARAM_YIELD = exports.PARAM_RETURN = exports.PARAM_IN = exports.PARAM_AWAIT = exports.PARAM = void 0;
|
||||
exports.functionFlags = functionFlags;
|
||||
const PARAM = 0b0000,
|
||||
PARAM_YIELD = 0b0001,
|
||||
PARAM_AWAIT = 0b0010,
|
||||
PARAM_RETURN = 0b0100,
|
||||
PARAM_IN = 0b1000;
|
||||
exports.PARAM_IN = PARAM_IN;
|
||||
exports.PARAM_RETURN = PARAM_RETURN;
|
||||
exports.PARAM_AWAIT = PARAM_AWAIT;
|
||||
exports.PARAM_YIELD = PARAM_YIELD;
|
||||
exports.PARAM = PARAM;
|
||||
class ProductionParameterHandler {
|
||||
constructor() {
|
||||
this.stacks = [];
|
||||
}
|
||||
enter(flags) {
|
||||
this.stacks.push(flags);
|
||||
}
|
||||
exit() {
|
||||
this.stacks.pop();
|
||||
}
|
||||
currentFlags() {
|
||||
return this.stacks[this.stacks.length - 1];
|
||||
}
|
||||
get hasAwait() {
|
||||
return (this.currentFlags() & PARAM_AWAIT) > 0;
|
||||
}
|
||||
get hasYield() {
|
||||
return (this.currentFlags() & PARAM_YIELD) > 0;
|
||||
}
|
||||
get hasReturn() {
|
||||
return (this.currentFlags() & PARAM_RETURN) > 0;
|
||||
}
|
||||
get hasIn() {
|
||||
return (this.currentFlags() & PARAM_IN) > 0;
|
||||
}
|
||||
}
|
||||
exports.default = ProductionParameterHandler;
|
||||
function functionFlags(isAsync, isGenerator) {
|
||||
return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0);
|
||||
}
|
||||
|
||||
//# sourceMappingURL=production-parameter.js.map
|
1
node_modules/@babel/parser/lib/util/production-parameter.js.map
generated
vendored
Normal file
1
node_modules/@babel/parser/lib/util/production-parameter.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"names":["PARAM","PARAM_YIELD","PARAM_AWAIT","PARAM_RETURN","PARAM_IN","exports","ProductionParameterHandler","constructor","stacks","enter","flags","push","exit","pop","currentFlags","length","hasAwait","hasYield","hasReturn","hasIn","default","functionFlags","isAsync","isGenerator"],"sources":["../../src/util/production-parameter.ts"],"sourcesContent":["export const // Initial Parameter flags\n PARAM = 0b0000,\n // track [Yield] production parameter\n PARAM_YIELD = 0b0001,\n // track [Await] production parameter\n PARAM_AWAIT = 0b0010,\n // track [Return] production parameter\n PARAM_RETURN = 0b0100,\n PARAM_IN = 0b1000; // track [In] production parameter\n\n// ProductionParameterHandler is a stack fashioned production parameter tracker\n// https://tc39.es/ecma262/#sec-grammar-notation\n// The tracked parameters are defined above.\n//\n// Whenever [+Await]/[+Yield] appears in the right-hand sides of a production,\n// we must enter a new tracking stack. For example when parsing\n//\n// AsyncFunctionDeclaration [Yield, Await]:\n// async [no LineTerminator here] function BindingIdentifier[?Yield, ?Await]\n// ( FormalParameters[~Yield, +Await] ) { AsyncFunctionBody }\n//\n// we must follow such process:\n//\n// 1. parse async keyword\n// 2. parse function keyword\n// 3. parse bindingIdentifier <= inherit current parameters: [?Await]\n// 4. enter new stack with (PARAM_AWAIT)\n// 5. parse formal parameters <= must have [Await] parameter [+Await]\n// 6. parse function body\n// 7. exit current stack\n\nexport type ParamKind = number;\n\n// todo(flow->ts) - check if more granular type can be used,\n// type below is not good because things like PARAM_AWAIT|PARAM_YIELD are not included\n// export type ParamKind =\n// | typeof PARAM\n// | typeof PARAM_AWAIT\n// | typeof PARAM_IN\n// | typeof PARAM_RETURN\n// | typeof PARAM_YIELD;\n\nexport default class ProductionParameterHandler {\n stacks: Array<number> = [];\n enter(flags: number) {\n this.stacks.push(flags);\n }\n\n exit() {\n this.stacks.pop();\n }\n\n currentFlags(): number {\n return this.stacks[this.stacks.length - 1];\n }\n\n get hasAwait(): boolean {\n return (this.currentFlags() & PARAM_AWAIT) > 0;\n }\n\n get hasYield(): boolean {\n return (this.currentFlags() & PARAM_YIELD) > 0;\n }\n\n get hasReturn(): boolean {\n return (this.currentFlags() & PARAM_RETURN) > 0;\n }\n\n get hasIn(): boolean {\n return (this.currentFlags() & PARAM_IN) > 0;\n }\n}\n\nexport function functionFlags(\n isAsync: boolean,\n isGenerator: boolean,\n): ParamKind {\n return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0);\n}\n"],"mappings":";;;;;;;AAAO,MACLA,KAAK,GAAG,MAAM;EAEdC,WAAW,GAAG,MAAM;EAEpBC,WAAW,GAAG,MAAM;EAEpBC,YAAY,GAAG,MAAM;EACrBC,QAAQ,GAAG,MAAM;AAACC,OAAA,CAAAD,QAAA,GAAAA,QAAA;AAAAC,OAAA,CAAAF,YAAA,GAAAA,YAAA;AAAAE,OAAA,CAAAH,WAAA,GAAAA,WAAA;AAAAG,OAAA,CAAAJ,WAAA,GAAAA,WAAA;AAAAI,OAAA,CAAAL,KAAA,GAAAA,KAAA;AAkCL,MAAMM,0BAA0B,CAAC;EAAAC,YAAA;IAAA,KAC9CC,MAAM,GAAkB,EAAE;EAAA;EAC1BC,KAAKA,CAACC,KAAa,EAAE;IACnB,IAAI,CAACF,MAAM,CAACG,IAAI,CAACD,KAAK,CAAC;EACzB;EAEAE,IAAIA,CAAA,EAAG;IACL,IAAI,CAACJ,MAAM,CAACK,GAAG,CAAC,CAAC;EACnB;EAEAC,YAAYA,CAAA,EAAW;IACrB,OAAO,IAAI,CAACN,MAAM,CAAC,IAAI,CAACA,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC;EAC5C;EAEA,IAAIC,QAAQA,CAAA,EAAY;IACtB,OAAO,CAAC,IAAI,CAACF,YAAY,CAAC,CAAC,GAAGZ,WAAW,IAAI,CAAC;EAChD;EAEA,IAAIe,QAAQA,CAAA,EAAY;IACtB,OAAO,CAAC,IAAI,CAACH,YAAY,CAAC,CAAC,GAAGb,WAAW,IAAI,CAAC;EAChD;EAEA,IAAIiB,SAASA,CAAA,EAAY;IACvB,OAAO,CAAC,IAAI,CAACJ,YAAY,CAAC,CAAC,GAAGX,YAAY,IAAI,CAAC;EACjD;EAEA,IAAIgB,KAAKA,CAAA,EAAY;IACnB,OAAO,CAAC,IAAI,CAACL,YAAY,CAAC,CAAC,GAAGV,QAAQ,IAAI,CAAC;EAC7C;AACF;AAACC,OAAA,CAAAe,OAAA,GAAAd,0BAAA;AAEM,SAASe,aAAaA,CAC3BC,OAAgB,EAChBC,WAAoB,EACT;EACX,OAAO,CAACD,OAAO,GAAGpB,WAAW,GAAG,CAAC,KAAKqB,WAAW,GAAGtB,WAAW,GAAG,CAAC,CAAC;AACtE"}
|
161
node_modules/@babel/parser/lib/util/scope.js
generated
vendored
Normal file
161
node_modules/@babel/parser/lib/util/scope.js
generated
vendored
Normal file
@ -0,0 +1,161 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = exports.Scope = void 0;
|
||||
var _scopeflags = require("./scopeflags");
|
||||
var _parseError = require("../parse-error");
|
||||
class Scope {
|
||||
constructor(flags) {
|
||||
this.var = new Set();
|
||||
this.lexical = new Set();
|
||||
this.functions = new Set();
|
||||
this.flags = flags;
|
||||
}
|
||||
}
|
||||
exports.Scope = Scope;
|
||||
class ScopeHandler {
|
||||
constructor(parser, inModule) {
|
||||
this.parser = void 0;
|
||||
this.scopeStack = [];
|
||||
this.inModule = void 0;
|
||||
this.undefinedExports = new Map();
|
||||
this.parser = parser;
|
||||
this.inModule = inModule;
|
||||
}
|
||||
get inTopLevel() {
|
||||
return (this.currentScope().flags & _scopeflags.ScopeFlag.PROGRAM) > 0;
|
||||
}
|
||||
get inFunction() {
|
||||
return (this.currentVarScopeFlags() & _scopeflags.ScopeFlag.FUNCTION) > 0;
|
||||
}
|
||||
get allowSuper() {
|
||||
return (this.currentThisScopeFlags() & _scopeflags.ScopeFlag.SUPER) > 0;
|
||||
}
|
||||
get allowDirectSuper() {
|
||||
return (this.currentThisScopeFlags() & _scopeflags.ScopeFlag.DIRECT_SUPER) > 0;
|
||||
}
|
||||
get inClass() {
|
||||
return (this.currentThisScopeFlags() & _scopeflags.ScopeFlag.CLASS) > 0;
|
||||
}
|
||||
get inClassAndNotInNonArrowFunction() {
|
||||
const flags = this.currentThisScopeFlags();
|
||||
return (flags & _scopeflags.ScopeFlag.CLASS) > 0 && (flags & _scopeflags.ScopeFlag.FUNCTION) === 0;
|
||||
}
|
||||
get inStaticBlock() {
|
||||
for (let i = this.scopeStack.length - 1;; i--) {
|
||||
const {
|
||||
flags
|
||||
} = this.scopeStack[i];
|
||||
if (flags & _scopeflags.ScopeFlag.STATIC_BLOCK) {
|
||||
return true;
|
||||
}
|
||||
if (flags & (_scopeflags.ScopeFlag.VAR | _scopeflags.ScopeFlag.CLASS)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
get inNonArrowFunction() {
|
||||
return (this.currentThisScopeFlags() & _scopeflags.ScopeFlag.FUNCTION) > 0;
|
||||
}
|
||||
get treatFunctionsAsVar() {
|
||||
return this.treatFunctionsAsVarInScope(this.currentScope());
|
||||
}
|
||||
createScope(flags) {
|
||||
return new Scope(flags);
|
||||
}
|
||||
enter(flags) {
|
||||
this.scopeStack.push(this.createScope(flags));
|
||||
}
|
||||
exit() {
|
||||
const scope = this.scopeStack.pop();
|
||||
return scope.flags;
|
||||
}
|
||||
treatFunctionsAsVarInScope(scope) {
|
||||
return !!(scope.flags & (_scopeflags.ScopeFlag.FUNCTION | _scopeflags.ScopeFlag.STATIC_BLOCK) || !this.parser.inModule && scope.flags & _scopeflags.ScopeFlag.PROGRAM);
|
||||
}
|
||||
declareName(name, bindingType, loc) {
|
||||
let scope = this.currentScope();
|
||||
if (bindingType & _scopeflags.BindingFlag.SCOPE_LEXICAL || bindingType & _scopeflags.BindingFlag.SCOPE_FUNCTION) {
|
||||
this.checkRedeclarationInScope(scope, name, bindingType, loc);
|
||||
if (bindingType & _scopeflags.BindingFlag.SCOPE_FUNCTION) {
|
||||
scope.functions.add(name);
|
||||
} else {
|
||||
scope.lexical.add(name);
|
||||
}
|
||||
if (bindingType & _scopeflags.BindingFlag.SCOPE_LEXICAL) {
|
||||
this.maybeExportDefined(scope, name);
|
||||
}
|
||||
} else if (bindingType & _scopeflags.BindingFlag.SCOPE_VAR) {
|
||||
for (let 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 & _scopeflags.ScopeFlag.VAR) break;
|
||||
}
|
||||
}
|
||||
if (this.parser.inModule && scope.flags & _scopeflags.ScopeFlag.PROGRAM) {
|
||||
this.undefinedExports.delete(name);
|
||||
}
|
||||
}
|
||||
maybeExportDefined(scope, name) {
|
||||
if (this.parser.inModule && scope.flags & _scopeflags.ScopeFlag.PROGRAM) {
|
||||
this.undefinedExports.delete(name);
|
||||
}
|
||||
}
|
||||
checkRedeclarationInScope(scope, name, bindingType, loc) {
|
||||
if (this.isRedeclaredInScope(scope, name, bindingType)) {
|
||||
this.parser.raise(_parseError.Errors.VarRedeclaration, {
|
||||
at: loc,
|
||||
identifierName: name
|
||||
});
|
||||
}
|
||||
}
|
||||
isRedeclaredInScope(scope, name, bindingType) {
|
||||
if (!(bindingType & _scopeflags.BindingFlag.KIND_VALUE)) return false;
|
||||
if (bindingType & _scopeflags.BindingFlag.SCOPE_LEXICAL) {
|
||||
return scope.lexical.has(name) || scope.functions.has(name) || scope.var.has(name);
|
||||
}
|
||||
if (bindingType & _scopeflags.BindingFlag.SCOPE_FUNCTION) {
|
||||
return scope.lexical.has(name) || !this.treatFunctionsAsVarInScope(scope) && scope.var.has(name);
|
||||
}
|
||||
return scope.lexical.has(name) && !(scope.flags & _scopeflags.ScopeFlag.SIMPLE_CATCH && scope.lexical.values().next().value === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name);
|
||||
}
|
||||
checkLocalExport(id) {
|
||||
const {
|
||||
name
|
||||
} = id;
|
||||
const topLevelScope = this.scopeStack[0];
|
||||
if (!topLevelScope.lexical.has(name) && !topLevelScope.var.has(name) && !topLevelScope.functions.has(name)) {
|
||||
this.undefinedExports.set(name, id.loc.start);
|
||||
}
|
||||
}
|
||||
currentScope() {
|
||||
return this.scopeStack[this.scopeStack.length - 1];
|
||||
}
|
||||
currentVarScopeFlags() {
|
||||
for (let i = this.scopeStack.length - 1;; i--) {
|
||||
const {
|
||||
flags
|
||||
} = this.scopeStack[i];
|
||||
if (flags & _scopeflags.ScopeFlag.VAR) {
|
||||
return flags;
|
||||
}
|
||||
}
|
||||
}
|
||||
currentThisScopeFlags() {
|
||||
for (let i = this.scopeStack.length - 1;; i--) {
|
||||
const {
|
||||
flags
|
||||
} = this.scopeStack[i];
|
||||
if (flags & (_scopeflags.ScopeFlag.VAR | _scopeflags.ScopeFlag.CLASS) && !(flags & _scopeflags.ScopeFlag.ARROW)) {
|
||||
return flags;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.default = ScopeHandler;
|
||||
|
||||
//# sourceMappingURL=scope.js.map
|
1
node_modules/@babel/parser/lib/util/scope.js.map
generated
vendored
Normal file
1
node_modules/@babel/parser/lib/util/scope.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
67
node_modules/@babel/parser/lib/util/scopeflags.js
generated
vendored
Normal file
67
node_modules/@babel/parser/lib/util/scopeflags.js
generated
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.ScopeFlag = exports.ClassElementType = exports.BindingFlag = void 0;
|
||||
var ScopeFlag = {
|
||||
OTHER: 0,
|
||||
PROGRAM: 1,
|
||||
FUNCTION: 2,
|
||||
ARROW: 4,
|
||||
SIMPLE_CATCH: 8,
|
||||
SUPER: 16,
|
||||
DIRECT_SUPER: 32,
|
||||
CLASS: 64,
|
||||
STATIC_BLOCK: 128,
|
||||
TS_MODULE: 256,
|
||||
VAR: 387
|
||||
};
|
||||
exports.ScopeFlag = ScopeFlag;
|
||||
var BindingFlag = {
|
||||
KIND_VALUE: 1,
|
||||
KIND_TYPE: 2,
|
||||
SCOPE_VAR: 4,
|
||||
SCOPE_LEXICAL: 8,
|
||||
SCOPE_FUNCTION: 16,
|
||||
SCOPE_OUTSIDE: 32,
|
||||
FLAG_NONE: 64,
|
||||
FLAG_CLASS: 128,
|
||||
FLAG_TS_ENUM: 256,
|
||||
FLAG_TS_CONST_ENUM: 512,
|
||||
FLAG_TS_EXPORT_ONLY: 1024,
|
||||
FLAG_FLOW_DECLARE_FN: 2048,
|
||||
FLAG_TS_IMPORT: 4096,
|
||||
FLAG_NO_LET_IN_LEXICAL: 8192,
|
||||
TYPE_CLASS: 8331,
|
||||
TYPE_LEXICAL: 8201,
|
||||
TYPE_CATCH_PARAM: 9,
|
||||
TYPE_VAR: 5,
|
||||
TYPE_FUNCTION: 17,
|
||||
TYPE_TS_INTERFACE: 130,
|
||||
TYPE_TS_TYPE: 2,
|
||||
TYPE_TS_ENUM: 8459,
|
||||
TYPE_TS_AMBIENT: 1024,
|
||||
TYPE_NONE: 64,
|
||||
TYPE_OUTSIDE: 65,
|
||||
TYPE_TS_CONST_ENUM: 8971,
|
||||
TYPE_TS_NAMESPACE: 1024,
|
||||
TYPE_TS_TYPE_IMPORT: 4098,
|
||||
TYPE_TS_VALUE_IMPORT: 4096,
|
||||
TYPE_FLOW_DECLARE_FN: 2048
|
||||
};
|
||||
exports.BindingFlag = BindingFlag;
|
||||
var ClassElementType = {
|
||||
OTHER: 0,
|
||||
FLAG_STATIC: 4,
|
||||
KIND_GETTER: 2,
|
||||
KIND_SETTER: 1,
|
||||
KIND_ACCESSOR: 3,
|
||||
STATIC_GETTER: 6,
|
||||
STATIC_SETTER: 5,
|
||||
INSTANCE_GETTER: 2,
|
||||
INSTANCE_SETTER: 1
|
||||
};
|
||||
exports.ClassElementType = ClassElementType;
|
||||
|
||||
//# sourceMappingURL=scopeflags.js.map
|
1
node_modules/@babel/parser/lib/util/scopeflags.js.map
generated
vendored
Normal file
1
node_modules/@babel/parser/lib/util/scopeflags.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
59
node_modules/@babel/parser/lib/util/whitespace.js
generated
vendored
Normal file
59
node_modules/@babel/parser/lib/util/whitespace.js
generated
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.isNewLine = isNewLine;
|
||||
exports.isWhitespace = isWhitespace;
|
||||
exports.skipWhiteSpaceToLineBreak = exports.skipWhiteSpaceInLine = exports.skipWhiteSpace = exports.lineBreakG = exports.lineBreak = void 0;
|
||||
const lineBreak = /\r\n?|[\n\u2028\u2029]/;
|
||||
exports.lineBreak = lineBreak;
|
||||
const lineBreakG = new RegExp(lineBreak.source, "g");
|
||||
exports.lineBreakG = lineBreakG;
|
||||
function isNewLine(code) {
|
||||
switch (code) {
|
||||
case 10:
|
||||
case 13:
|
||||
case 8232:
|
||||
case 8233:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
|
||||
exports.skipWhiteSpace = skipWhiteSpace;
|
||||
const skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;
|
||||
exports.skipWhiteSpaceInLine = skipWhiteSpaceInLine;
|
||||
const skipWhiteSpaceToLineBreak = new RegExp("(?=(" + skipWhiteSpaceInLine.source + "))\\1" + /(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source, "y");
|
||||
exports.skipWhiteSpaceToLineBreak = skipWhiteSpaceToLineBreak;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=whitespace.js.map
|
1
node_modules/@babel/parser/lib/util/whitespace.js.map
generated
vendored
Normal file
1
node_modules/@babel/parser/lib/util/whitespace.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"names":["lineBreak","exports","lineBreakG","RegExp","source","isNewLine","code","skipWhiteSpace","skipWhiteSpaceInLine","skipWhiteSpaceToLineBreak","isWhitespace"],"sources":["../../src/util/whitespace.ts"],"sourcesContent":["import * as charCodes from \"charcodes\";\n\n// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\nexport const lineBreak = /\\r\\n?|[\\n\\u2028\\u2029]/;\nexport const lineBreakG = new RegExp(lineBreak.source, \"g\");\n\n// https://tc39.github.io/ecma262/#sec-line-terminators\nexport function isNewLine(code: number): boolean {\n switch (code) {\n case charCodes.lineFeed:\n case charCodes.carriageReturn:\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return true;\n\n default:\n return false;\n }\n}\n\nexport const skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\n\nexport const skipWhiteSpaceInLine =\n /(?:[^\\S\\n\\r\\u2028\\u2029]|\\/\\/.*|\\/\\*.*?\\*\\/)*/g;\n\n// Skip whitespace and single-line comments, including /* no newline here */.\n// After this RegExp matches, its lastIndex points to a line terminator, or\n// the start of multi-line comment (which is effectively a line terminator),\n// or the end of string.\nexport const skipWhiteSpaceToLineBreak = new RegExp(\n // Unfortunately JS doesn't support Perl's atomic /(?>pattern)/ or\n // possessive quantifiers, so we use a trick to prevent backtracking\n // when the look-ahead for line terminator fails.\n \"(?=(\" +\n // Capture the whitespace and comments that should be skipped inside\n // a look-ahead assertion, and then re-match the group as a unit.\n skipWhiteSpaceInLine.source +\n \"))\\\\1\" +\n // Look-ahead for either line terminator, start of multi-line comment,\n // or end of string.\n /(?=[\\n\\r\\u2028\\u2029]|\\/\\*(?!.*?\\*\\/)|$)/.source,\n \"y\", // sticky\n);\n\n// https://tc39.github.io/ecma262/#sec-white-space\nexport function isWhitespace(code: number): boolean {\n switch (code) {\n case 0x0009: // CHARACTER TABULATION\n case 0x000b: // LINE TABULATION\n case 0x000c: // FORM FEED\n case charCodes.space:\n case charCodes.nonBreakingSpace:\n case charCodes.oghamSpaceMark:\n case 0x2000: // EN QUAD\n case 0x2001: // EM QUAD\n case 0x2002: // EN SPACE\n case 0x2003: // EM SPACE\n case 0x2004: // THREE-PER-EM SPACE\n case 0x2005: // FOUR-PER-EM SPACE\n case 0x2006: // SIX-PER-EM SPACE\n case 0x2007: // FIGURE SPACE\n case 0x2008: // PUNCTUATION SPACE\n case 0x2009: // THIN SPACE\n case 0x200a: // HAIR SPACE\n case 0x202f: // NARROW NO-BREAK SPACE\n case 0x205f: // MEDIUM MATHEMATICAL SPACE\n case 0x3000: // IDEOGRAPHIC SPACE\n case 0xfeff: // ZERO WIDTH NO-BREAK SPACE\n return true;\n\n default:\n return false;\n }\n}\n"],"mappings":";;;;;;;;AAIO,MAAMA,SAAS,GAAG,wBAAwB;AAACC,OAAA,CAAAD,SAAA,GAAAA,SAAA;AAC3C,MAAME,UAAU,GAAG,IAAIC,MAAM,CAACH,SAAS,CAACI,MAAM,EAAE,GAAG,CAAC;AAACH,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAGrD,SAASG,SAASA,CAACC,IAAY,EAAW;EAC/C,QAAQA,IAAI;IACV;IACA;IACA;IACA;MACE,OAAO,IAAI;IAEb;MACE,OAAO,KAAK;EAChB;AACF;AAEO,MAAMC,cAAc,GAAG,+BAA+B;AAACN,OAAA,CAAAM,cAAA,GAAAA,cAAA;AAEvD,MAAMC,oBAAoB,GAC/B,gDAAgD;AAACP,OAAA,CAAAO,oBAAA,GAAAA,oBAAA;AAM5C,MAAMC,yBAAyB,GAAG,IAAIN,MAAM,CAIjD,MAAM,GAGJK,oBAAoB,CAACJ,MAAM,GAC3B,OAAO,GAGP,0CAA0C,CAACA,MAAM,EACnD,GACF,CAAC;AAACH,OAAA,CAAAQ,yBAAA,GAAAA,yBAAA;AAGK,SAASC,YAAYA,CAACJ,IAAY,EAAW;EAClD,QAAQA,IAAI;IACV,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX;IACA;IACA;IACA,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;MACT,OAAO,IAAI;IAEb;MACE,OAAO,KAAK;EAChB;AACF"}
|
Reference in New Issue
Block a user