uni-ticket-system/node_modules/@babel/helper-member-expression-to-functions/lib/util.js
2023-12-05 10:11:10 +08:00

42 lines
949 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.willPathCastToBoolean = willPathCastToBoolean;
function willPathCastToBoolean(path) {
const maybeWrapped = path;
const {
node,
parentPath
} = maybeWrapped;
if (parentPath.isLogicalExpression()) {
const {
operator,
right
} = parentPath.node;
if (operator === "&&" || operator === "||" || operator === "??" && node === right) {
return willPathCastToBoolean(parentPath);
}
}
if (parentPath.isSequenceExpression()) {
const {
expressions
} = parentPath.node;
if (expressions[expressions.length - 1] === node) {
return willPathCastToBoolean(parentPath);
} else {
return true;
}
}
return parentPath.isConditional({
test: node
}) || parentPath.isUnaryExpression({
operator: "!"
}) || parentPath.isLoop({
test: node
});
}
//# sourceMappingURL=util.js.map