summaryrefslogtreecommitdiff
path: root/node_modules/@babel/traverse/lib/path/inference/inferers.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:10:59 +0800
committerlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:41:44 +0800
commitfc87c009806dcc98867f6b58efe29b042aa01dee (patch)
tree8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/@babel/traverse/lib/path/inference/inferers.js
parent3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff)
node: updatemain
Diffstat (limited to 'node_modules/@babel/traverse/lib/path/inference/inferers.js')
-rw-r--r--node_modules/@babel/traverse/lib/path/inference/inferers.js207
1 files changed, 0 insertions, 207 deletions
diff --git a/node_modules/@babel/traverse/lib/path/inference/inferers.js b/node_modules/@babel/traverse/lib/path/inference/inferers.js
deleted file mode 100644
index a0124999..00000000
--- a/node_modules/@babel/traverse/lib/path/inference/inferers.js
+++ /dev/null
@@ -1,207 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.ArrayExpression = ArrayExpression;
-exports.AssignmentExpression = AssignmentExpression;
-exports.BinaryExpression = BinaryExpression;
-exports.BooleanLiteral = BooleanLiteral;
-exports.CallExpression = CallExpression;
-exports.ConditionalExpression = ConditionalExpression;
-exports.ClassDeclaration = exports.ClassExpression = exports.FunctionDeclaration = exports.ArrowFunctionExpression = exports.FunctionExpression = Func;
-Object.defineProperty(exports, "Identifier", {
- enumerable: true,
- get: function () {
- return _infererReference.default;
- }
-});
-exports.LogicalExpression = LogicalExpression;
-exports.NewExpression = NewExpression;
-exports.NullLiteral = NullLiteral;
-exports.NumericLiteral = NumericLiteral;
-exports.ObjectExpression = ObjectExpression;
-exports.ParenthesizedExpression = ParenthesizedExpression;
-exports.RegExpLiteral = RegExpLiteral;
-exports.RestElement = RestElement;
-exports.SequenceExpression = SequenceExpression;
-exports.StringLiteral = StringLiteral;
-exports.TSAsExpression = TSAsExpression;
-exports.TSNonNullExpression = TSNonNullExpression;
-exports.TaggedTemplateExpression = TaggedTemplateExpression;
-exports.TemplateLiteral = TemplateLiteral;
-exports.TypeCastExpression = TypeCastExpression;
-exports.UnaryExpression = UnaryExpression;
-exports.UpdateExpression = UpdateExpression;
-exports.VariableDeclarator = VariableDeclarator;
-var _t = require("@babel/types");
-var _infererReference = require("./inferer-reference.js");
-var _util = require("./util.js");
-const {
- BOOLEAN_BINARY_OPERATORS,
- BOOLEAN_UNARY_OPERATORS,
- NUMBER_BINARY_OPERATORS,
- NUMBER_UNARY_OPERATORS,
- STRING_UNARY_OPERATORS,
- anyTypeAnnotation,
- arrayTypeAnnotation,
- booleanTypeAnnotation,
- buildMatchMemberExpression,
- genericTypeAnnotation,
- identifier,
- nullLiteralTypeAnnotation,
- numberTypeAnnotation,
- stringTypeAnnotation,
- tupleTypeAnnotation,
- unionTypeAnnotation,
- voidTypeAnnotation,
- isIdentifier
-} = _t;
-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();
-}
-function UnaryExpression(node) {
- const operator = node.operator;
- if (operator === "void") {
- return voidTypeAnnotation();
- } else if (NUMBER_UNARY_OPERATORS.includes(operator)) {
- return numberTypeAnnotation();
- } else if (STRING_UNARY_OPERATORS.includes(operator)) {
- return stringTypeAnnotation();
- } else if (BOOLEAN_UNARY_OPERATORS.includes(operator)) {
- return booleanTypeAnnotation();
- }
-}
-function BinaryExpression(node) {
- const operator = node.operator;
- if (NUMBER_BINARY_OPERATORS.includes(operator)) {
- return numberTypeAnnotation();
- } else if (BOOLEAN_BINARY_OPERATORS.includes(operator)) {
- return booleanTypeAnnotation();
- } else if (operator === "+") {
- const right = this.get("right");
- const left = this.get("left");
- if (left.isBaseType("number") && right.isBaseType("number")) {
- return numberTypeAnnotation();
- } else if (left.isBaseType("string") || right.isBaseType("string")) {
- return stringTypeAnnotation();
- }
- return unionTypeAnnotation([stringTypeAnnotation(), numberTypeAnnotation()]);
- }
-}
-function LogicalExpression() {
- const argumentTypes = [this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()];
- return (0, _util.createUnionType)(argumentTypes);
-}
-function ConditionalExpression() {
- const argumentTypes = [this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()];
- return (0, _util.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) {
- const operator = node.operator;
- if (operator === "++" || operator === "--") {
- return numberTypeAnnotation();
- }
-}
-function StringLiteral() {
- return stringTypeAnnotation();
-}
-function NumericLiteral() {
- return numberTypeAnnotation();
-}
-function BooleanLiteral() {
- return booleanTypeAnnotation();
-}
-function NullLiteral() {
- return nullLiteralTypeAnnotation();
-}
-function RegExpLiteral() {
- return genericTypeAnnotation(identifier("RegExp"));
-}
-function ObjectExpression() {
- return genericTypeAnnotation(identifier("Object"));
-}
-function ArrayExpression() {
- return genericTypeAnnotation(identifier("Array"));
-}
-function RestElement() {
- return ArrayExpression();
-}
-RestElement.validParent = true;
-function Func() {
- return genericTypeAnnotation(identifier("Function"));
-}
-const isArrayFrom = buildMatchMemberExpression("Array.from");
-const isObjectKeys = buildMatchMemberExpression("Object.keys");
-const isObjectValues = buildMatchMemberExpression("Object.values");
-const isObjectEntries = buildMatchMemberExpression("Object.entries");
-function CallExpression() {
- const {
- callee
- } = this.node;
- if (isObjectKeys(callee)) {
- return arrayTypeAnnotation(stringTypeAnnotation());
- } else if (isArrayFrom(callee) || isObjectValues(callee) || isIdentifier(callee, {
- name: "Array"
- })) {
- return arrayTypeAnnotation(anyTypeAnnotation());
- } else if (isObjectEntries(callee)) {
- return arrayTypeAnnotation(tupleTypeAnnotation([stringTypeAnnotation(), anyTypeAnnotation()]));
- }
- return resolveCall(this.get("callee"));
-}
-function TaggedTemplateExpression() {
- return resolveCall(this.get("tag"));
-}
-function resolveCall(callee) {
- callee = callee.resolve();
- if (callee.isFunction()) {
- const {
- node
- } = callee;
- if (node.async) {
- if (node.generator) {
- return genericTypeAnnotation(identifier("AsyncIterator"));
- } else {
- return genericTypeAnnotation(identifier("Promise"));
- }
- } else {
- if (node.generator) {
- return genericTypeAnnotation(identifier("Iterator"));
- } else if (callee.node.returnType) {
- return callee.node.returnType;
- } else {}
- }
- }
-}
-
-//# sourceMappingURL=inferers.js.map