當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript types.callExpression函數代碼示例

本文整理匯總了TypeScript中@babel/types.callExpression函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript callExpression函數的具體用法?TypeScript callExpression怎麽用?TypeScript callExpression使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了callExpression函數的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: createVariableCallAST

export function createVariableCallAST(
  name: string,
  method: string,
  args: (Expression | SpreadElement)[],
) {
  return callExpression(
    memberExpression(createVariableAST(name), identifier(method)),
    args,
  );
}
開發者ID:Heigvd,項目名稱:Wegas,代碼行數:10,代碼來源:variableAST.ts

示例2: createGlobalCallAST

export function createGlobalCallAST(
  method: string,
  args: (Expression | SpreadElement)[],
) {
  const m = method.split('.').map(i => identifier(i));
  let ret: Identifier | MemberExpression = m.shift()!;
  while (m.length > 0) {
    ret = memberExpression(ret, m.shift());
  }
  return callExpression(ret, args);
}
開發者ID:Heigvd,項目名稱:Wegas,代碼行數:11,代碼來源:global.ts

示例3: addLoc

      originalDeclarations.forEach(function(decl) {
        newDeclarations.push(decl);
        if (!decl.init) {
          decl.init = addLoc(ignoredIdentifier("undefined"), decl.loc);
        }

        if (decl.id.type === "ArrayPattern") {
          // declaration are inserted into pattern already
        } else if (decl.id.type === "ObjectPattern") {
          // declarations are inserted into object pattern already
        } else {
          newDeclarations.push(
            t.variableDeclarator(
              addLoc(getTrackingIdentifier(decl.id.name), decl.id.loc),
              skipPath(
                t.callExpression(
                  t.identifier(FunctionNames.getLastOperationTrackingResult),
                  []
                )
              )
            )
          );
        }
      });
開發者ID:mattzeunert,項目名稱:fromjs,代碼行數:24,代碼來源:babelPlugin.ts

示例4: createVariableAST

export function createVariableAST(name: string) {
  return callExpression(
    memberExpression(identifier('Variable'), identifier('find')),
    [identifier('gameModel'), stringLiteral(name)],
  ) as VariableAST;
}
開發者ID:Heigvd,項目名稱:Wegas,代碼行數:6,代碼來源:variableAST.ts

示例5: if

 path.node.params.forEach((param, i) => {
   if (param.type === "ObjectPattern") {
     // do nothing for now, logic is in objectpattern visitor
     // for (var n = 0; n < param.properties.length; n++) {
     //   const prop = param.properties[n];
     //   declarators.push(
     //     t.variableDeclarator(
     //       addLoc(
     //         getTrackingIdentifier(
     //           prop.value ? prop.value.name : prop.key.name
     //         ),
     //         prop.loc
     //       ),
     //       t.nullLiteral()
     //     )
     //   );
     // }
   } else if (param.type === "ArrayPattern") {
     param.elements.forEach(elem => {
       let varName;
       if (elem.type === "Identifier") {
         varName = elem.name;
       } else if (elem.type === "AssignmentPattern") {
         varName = elem.left.name;
       } else if (elem.type === "RestParameter") {
         varName = elem.argument.name;
       } else if (elem.type === "ObjectPattern") {
         // will be processed in ObjectPattern visitor
       } else {
         throw Error("aaa unknown array pattern elem type " + elem.type);
       }
       declarators.push(
         t.variableDeclarator(
           addLoc(getTrackingIdentifier(varName), param.loc),
           ignoredCallExpression(FunctionNames.getEmptyTrackingInfo, [
             ignoredStringLiteral("arrayPatternInFunction"),
             getLocObjectASTNode(elem.loc)
           ])
         )
       );
     });
   } else if (param.type === "AssignmentPattern") {
     let varName = param.left.name;
     declarators.push(
       t.variableDeclarator(
         addLoc(getTrackingIdentifier(varName), param.loc),
         ignoredCallExpression(FunctionNames.getEmptyTrackingInfo, [
           ignoredStringLiteral("arrayPatternInFunction"),
           getLocObjectASTNode(param.loc)
         ])
       )
     );
   } else if (param.type === "RestElement") {
     let varName = param.argument.name;
     declarators.push(
       t.variableDeclarator(
         addLoc(getTrackingIdentifier(varName), param.loc),
         ignoredCallExpression(FunctionNames.getEmptyTrackingInfo, [
           ignoredStringLiteral("restElement"),
           getLocObjectASTNode(param.loc)
         ])
       )
     );
   } else {
     declarators.push(
       t.variableDeclarator(
         addLoc(getTrackingIdentifier(param.name), param.loc),
         t.callExpression(
           t.identifier(FunctionNames.getFunctionArgTrackingInfo),
           [t.numericLiteral(i)]
         )
       )
     );
   }
 });
開發者ID:mattzeunert,項目名稱:fromjs,代碼行數:75,代碼來源:babelPlugin.ts


注:本文中的@babel/types.callExpression函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。