本文整理汇总了TypeScript中typescripting/nodes.isIdentifier函数的典型用法代码示例。如果您正苦于以下问题:TypeScript isIdentifier函数的具体用法?TypeScript isIdentifier怎么用?TypeScript isIdentifier使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了isIdentifier函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: apply
function apply(node: ts.Node, state: State): State {
if (isBinaryExpression(node) && isAssignmentBinaryExpression(node) && isIdentifier(node.left)) {
const symbol = state.checker.getSymbolAtLocation(node.left);
if (symbol !== undefined) {
const id = symbol.id;
const key = toKey(id);
const registration = bk.atOrElseAdd(state.all, key, () => ({
node: undefined,
wasReassigned: true
}));
registration.wasReassigned = true;
}
} else if (isVariableDeclaration(node) && isIdentifier(node.name)) {
const symbol = state.checker.getSymbolAtLocation(node.name);
if (symbol !== undefined) {
const registration = bk.atOrElseAdd(state.all, node.name.text, () => ({
node: undefined,
wasReassigned: false
}));
const hasLetModifier = node.parent !== undefined && (node.parent.flags & ts.NodeFlags.Let) > 0;
const hasVarModifier = node.parent !== undefined && (node.parent.flags & ts.NodeFlags.Let) === 0 && (node.parent.flags & ts.NodeFlags.Const) === 0;
registration.node = hasLetModifier || hasVarModifier ? node.name : undefined;
}
}
return state;
}
示例2: noUndeclaredSymbols
export default function noUndeclaredSymbols(node: ts.Node, checker: ts.TypeChecker): Issue | void {
if (isIdentifier(node)) {
const symbol = checker.getSymbolAtLocation(node);
if (symbol === undefined) {
return issueFrom(node, 'undeclared', 'undeclared');
}
}
}
示例3: nameIdentifierOutOf
// AB: TODO: move to a common place
function nameIdentifierOutOf(node: ts.Node): ts.Identifier | undefined {
if (isFunctionDeclaration(node)) {
if (node.name !== undefined) {
return node.name;
} else {
return undefined;
}
} else if (isClassDeclaration(node)) {
if (node.name !== undefined) {
return node.name;
} else {
return undefined;
}
} else if (isInterfaceDeclaration(node)) {
return node.name;
} else if (isPropertyDeclaration(node)) {
return isIdentifier(node.name) ? node.name : undefined;
} else if (isMethodDeclaration(node)) {
return isIdentifier(node.name) ? node.name : undefined;
} else {
return undefined;
}
}
示例4: noConstantLambdas
export default function noConstantLambdas(node: ts.Node, checker: ts.TypeChecker): Issue | void {
if (isArrowFunction(node)) {
const body = node.body;
if (isIdentifier(body)) {
return isUndefined(body)
? issueFrom(body, 'undefined returned', 'no-undefined-lambdas')
: verifyIdentifier(body, checker);
}
if (isStringLiteral(body) || isNumericLiteral(body) || isNullLiteral(body)) {
return issueFrom(body, 'literal returned', 'no-literal-lambdas');
}
}
}
示例5: viaTarget
(node, state) => {
if (isIdentifier(node)) {
const identifier = node;
state.issues = ba.fold(
state.checks,
state.issues,
(issues, rule) => viaTarget(
identifier,
rule.target,
identifier => rule.regex.test(identifier.text)
? bl.add(issues, issueFrom(node, rule.message, 'invalid-name'))
: issues,
() => issues
)
);
}
return state;
}
示例6: toNoPrimitiveToSelf
export default function toNoPrimitiveToSelf(node: ts.Node, checker: ts.TypeChecker): Issue | void {
if (isCallExpression(node)) {
if (isIdentifier(node.expression)) {
if (node.arguments.length > 1) {
} else if (node.arguments.length > 0) {
if (node.expression.text === 'String') {
const argument = node.arguments[0]!;
const expressionType = checker.getTypeAtLocation(argument);
if (expressionType.flags & ts.TypeFlags.String) {
return issueFrom(node, 'string to string conversion', 'string-to-string');
}
} else if (node.expression.text === 'Number') {
return issueFrom(node, 'number conversion', 'something-to-number');
} else if (node.expression.text === 'Boolean') {
return issueFrom(node, 'boolean conversion', 'something-to-boolean');
}
}
}
}
}
示例7: havingFirst
havingFirst('String("hey")', isExpressionStatement, querying => {
const node = querying.first().sure().hope(isCallExpression).sure().self();
if (isIdentifier(node.expression)) {
console.warn(node.expression.text);
}
});