How to use the isIdentifier function from babel-types

Find comprehensive JavaScript babel-types.isIdentifier code examples handpicked from public code repositorys.

babel-types.isIdentifier is a function that checks if a given node is an identifier.

35
36
37
38
39
40
41
42
43
44

function isModuleDotExports(node) {
  return (
    t.isMemberExpression(node, { computed: false }) &&
    t.isIdentifier(node.object, { name: 'module' }) &&
    t.isIdentifier(node.property, { name: 'exports' })
  );
}
function isRequire(node, filename) {
  if (
fork icon59
star icon89
watch icon10

+ 103 other calls in file

89
90
91
92
93
94
95
96
97
98
// })
VariableDeclaration: function (path) {
  if (path.node.declarations &&
    t.isVariableDeclarator(path.node.declarations[0]) &&
    t.isNewExpression(path.node.declarations[0].init) &&
    t.isIdentifier(path.node.declarations[0].init.callee, { name: 'Vue' })
  ) {
    const fnExpression = t.functionExpression(
      null,
      [],
fork icon49
star icon47
watch icon12

+ 43 other calls in file

How does babel-types.isIdentifier work?

babel-types.isIdentifier is a function that checks whether a given object is an Identifier node in the Abstract Syntax Tree (AST) generated by Babel by examining its properties. It returns a boolean value indicating whether the object is an Identifier node or not.

139
140
141
142
143
144
145
146
147
148

function pushImportDeclaration(node) {
  const source = node.source.value;
  node.specifiers.forEach(spec =>
    symbols.push({
      name: T.isIdentifier(spec.exported)
        ? spec.exported.value
        : spec.local.name,
      type: resolveType(spec, {source, sourceName: spec.local.name}),
    }));
fork icon9
star icon299
watch icon18

+ 5 other calls in file

210
211
212
213
214
215
216
217
218
219
    column = loc.end.column + path.parent.operator.length;
}
if (t.isExpressionStatement(path.node)) {
    return;
}
if (loc.start.line === element.line && (column === element.columnNumber || t.isIdentifier(path.node, {name: error.getVariable()}))) {
    output = path;
    path.stop();
    stop = true;
}
fork icon8
star icon11
watch icon7

+ 13 other calls in file

Ai Example

1
2
3
4
5
6
7
8
9
const t = require("@babel/types");

const node = t.identifier("x");

if (t.isIdentifier(node)) {
  console.log("The node is an identifier!");
} else {
  console.log("The node is not an identifier.");
}

In this example, t.isIdentifier is used to check if the node object is an identifier. If it is, then the program prints "The node is an identifier!" to the console. If it's not, then the program prints "The node is not an identifier." instead.

48
49
50
51
52
53
54
55
56
57

if (!isReactComponent) {
  return null;
}

if (isStatefulComponent && t.isIdentifier(defaultExportNode)) {
  return defaultExportNode.name;
}

if (t.isCallExpression(defaultExportNode)) {
fork icon3
star icon24
watch icon2

+ 7 other calls in file

27
28
29
30
31
32
33
34
35
36

const names = {};

function add(node) {
  if (
    t.isIdentifier(node) &&
    !existsScope(node.name) &&
    // preserved identifier
    !isPreveredIdentifier(node.name) &&
    !isPreveredGlobalObject(node.name) &&
fork icon663
star icon1
watch icon2

+ 15 other calls in file

44
45
46
47
48
49
50
51
52
53
    )
  );
  node.object.done = true;
}
if (
  t.isIdentifier(node.object) &&
  !isPreveredGlobalObject(node.object.name) &&
  (t.isIdentifier(node.property) || isLiteral(node.property))
) {
  node.object.done = true;
fork icon663
star icon0
watch icon2

+ 13 other calls in file

151
152
153
154
155
156
157
158
159
160

/*
 * Same as above but for `b: c` vs `b: function () {}`.
 */
if (n.isProperty(path.node) &&
    n.isIdentifier(path.node.key)) {
  path = path.get('key');
}

// Foo.bar = ...;
fork icon510
star icon0
watch icon2

+ 3 other calls in file

54
55
56
57
58
59
60
61
62
  t.isVariableDeclaration(binding.path.parent) &&
  binding.path.parent.kind === 'const'
) {
  // pick out the right variable declarator
  const dec = binding.path.parent.declarations.find(
    d => t.isIdentifier(d.id) && d.id.name === k
  );
  // TODO: handle spread syntax
  if (!dec) continue;
fork icon62
star icon0
watch icon2

38
39
40
41
42
43
44
45
46
47
// 2. attr is a spread operator
(attr, idx) => {
  if (t.isJSXSpreadAttribute(attr)) {
    invariant(
      // only allow member expressions and identifiers to be spread for now
      t.isIdentifier(attr.argument) ||
        t.isMemberExpression(attr.argument),
      'Unhandled spread operator value of type `%s` (`%s`)',
      attr.argument.type,
      generate(attr).code
fork icon62
star icon0
watch icon2

+ 5 other calls in file

26
27
28
29
30
31
32
33
34
35
out_file.write('/*\n *\n * http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSS2Properties\n */\n\n');

function isModuleDotExports(node) {
  return (
    t.isMemberExpression(node, {computed: false}) &&
    t.isIdentifier(node.object, {name: 'module'}) &&
    t.isIdentifier(node.property, {name: 'exports'})
  );
}
function isRequire(node, filename) {
fork icon20
star icon50
watch icon8

+ 7 other calls in file

113
114
115
116
117
118
119
120
121
122
  return t.isExpressionStatement(c)
            && t.isCallExpression(c.expression)
            && t.isMemberExpression(c.expression.callee)
            && t.isIdentifier(c.expression.callee.object)
            && c.expression.callee.object.name === 'buf'
            && t.isIdentifier(c.expression.callee.property)
            && c.expression.callee.property.name === 'push'
}

let walk = function (node) {
fork icon5
star icon43
watch icon10

+ 15 other calls in file

133
134
135
136
137
138
139
140
141
142
}
// Start combining the objects. If we run into object keys that aren't strings/identifiers, we must abort, since
// we can't safely merge them.
let result = new Map();
for (let prop of this.value.properties) {
    if (!(t.isStringLiteral(prop.key) || t.isIdentifier(prop.key))) {
        return false;
    }
    result.set(prop.key.name || prop.key.value, prop);
}
fork icon7
star icon0
watch icon0

+ 15 other calls in file

27
28
29
30
31
32
33
34
35
36
  return parseArrayExpression(contextNode);
}
else if (t.isClassDeclaration(contextNode)) {
  return { type: K.TYPE_CLASS }; // TODO
}
else if (t.isObjectProperty(contextNode) && t.isIdentifier(contextNode.key)) {
  return {
    type: K.OBJECT_PROPERTY,
    key: contextNode.key.name,
    value: parseNode(contextNode.value),
fork icon3
star icon6
watch icon1

+ 7 other calls in file

40
41
42
43
44
45
46
47
48
49
CallExpression(path) {
  // If we see an `eval` call, wrap the module in a function.
  // Otherwise, local variables accessed inside the eval won't work.
  let callee = path.node.callee;
  if (
    t.isIdentifier(callee) &&
    callee.name === 'eval' &&
    !path.scope.hasBinding('eval', true)
  ) {
    asset.cacheData.isCommonJS = true;
fork icon0
star icon1
watch icon3

+ 9 other calls in file

139
140
141
142
143
144
145
146
147
148
function traverseObjectNode (node, obj) {
  if (node.type === 'ClassProperty' || node.type === 'ObjectProperty') {
    const properties = node.value.properties
    obj = {}
    properties.forEach(p => {
      let key = t.isIdentifier(p.key) ? p.key.name : p.key.value
      if (Util.CONFIG_MAP[buildAdapter][key]) {
        key = Util.CONFIG_MAP[buildAdapter][key]
      }
      obj[key] = traverseObjectNode(p.value)
fork icon0
star icon1
watch icon1

+ 3 other calls in file

119
120
121
122
123
124
125
126
127
128
var sourceFileName =  prefixAbsolutePath.concat(fileOpts.filename).join(DIRECTORY_SEPARATOR);
var styleSheetFullFilePath = getStyleSheetFullFilePath(sourceFileName, targetFileName);
var extensions = getAllowedExtensions(path);
var prefixExtension = getPrefixExtension(path);

if (!node || !isValidSourceFile(targetFileName, extensions) || types.isIdentifier(node)) return;

var source = parsePath(
  styleSheetFullFilePath,
  prefixExtension,
fork icon3
star icon26
watch icon2

127
128
129
130
131
132
133
134
135
136
                }
            }
        } else if (t.isMemberExpression(path.parent)) {
            if (t.isCallExpression(path.parent.object)) {
                return (t.isIdentifier(path.parent.object.callee, {name: "jQuery"}) || 
                    t.isIdentifier(path.parent.object.callee, {name: "$"}));
            }
        }
    }
} catch(e) {
fork icon8
star icon11
watch icon7

+ 3 other calls in file

200
201
202
203
204
205
206
207
208
209
  dependencyRequests.push(node.source.value);
},
CallExpression(node, ancestors) {
  let {callee, arguments: args} = node;
  let isRequire =
    babelTypes.isIdentifier(callee) &&
    callee.name === 'require' &&
    args.length === 1 &&
    babelTypes.isStringLiteral(args[0]) &&
    !hasBinding(ancestors, 'require') &&
fork icon0
star icon49
watch icon1

+ 11 other calls in file

34
35
36
37
38
39
40
41
42
43
        path.replaceWith(objectExpression({ OBJECT_EXPRESSION: path.node }));
    }
},
AssignmentExpression(path) {
    const left = path.node.left;
    if (t.isMemberExpression(left) && (t.isStringLiteral(left.property) || t.isIdentifier(left.property))) {
        const property = left.property;
        const name = t.isStringLiteral(property) ? property.value : property.name;
        path.replaceWith(assignmentExpression({
            OBJECT: left.object,
fork icon1
star icon0
watch icon0

+ 7 other calls in file

Other functions in babel-types

Sorted by popularity

function icon

babel-types.identifier is the most popular function in babel-types (4076 examples)