var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.firstDefined = exports.nodeHasTokens = exports.createError = exports.convertTokens = exports.convertToken = exports.getTokenType = exports.isChildOptionalChain = exports.isOptionalChain = exports.isOptional = exports.isComputedProperty = exports.unescapeStringLiteralText = exports.hasJSXAncestor = exports.findFirstMatchingAncestor = exports.findNextToken = exports.getTSNodeAccessibility = exports.getDeclarationKind = exports.isJSXToken = exports.isToken = exports.getRange = exports.canContainDirective = exports.getLocFor = exports.getLineAndCharacterFor = exports.getBinaryExpressionType = exports.isJSDocComment = exports.isComment = exports.isComma = exports.getLastModifier = exports.hasModifier = exports.isESTreeClassMember = exports.getTextForTokenKind = exports.isLogicalOperator = exports.isAssignmentOperator = void 0;
const unescape_1 = __importDefault(require("lodash/unescape"));
-const semver = __importStar(require("semver"));
const ts = __importStar(require("typescript"));
const ts_estree_1 = require("./ts-estree");
+const version_check_1 = require("./version-check");
const SyntaxKind = ts.SyntaxKind;
const LOGICAL_OPERATORS = [
SyntaxKind.BarBarToken,
node.type == ts_estree_1.AST_NODE_TYPES.OptionalMemberExpression);
}
exports.isOptionalChain = isOptionalChain;
-/**
- * Returns true if the current TS version is TS 3.9
- */
-function isTSv3dot9() {
- return !semver.satisfies(ts.version, '< 3.9.0 || < 3.9.1-rc || < 3.9.0-beta');
-}
/**
* Returns true of the child of property access expression is an optional chain
*/
node.expression.kind !== ts.SyntaxKind.ParenthesizedExpression) {
return true;
}
- if (!isTSv3dot9()) {
+ if (!version_check_1.typescriptVersionIsAtLeast['3.9']) {
return false;
}
// TS3.9 made a breaking change to how non-null works with optional chains.