本文整理匯總了TypeScript中@babel/types.stringLiteral函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript stringLiteral函數的具體用法?TypeScript stringLiteral怎麽用?TypeScript stringLiteral使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了stringLiteral函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: BinaryExpression
}
}
});
// Examples from https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#writing-your-first-babel-plugin
const v1: Visitor = {
BinaryExpression(path) {
if (t.isIdentifier(path.node.left)) {
// ...
}
path.replaceWith(
t.binaryExpression("**", path.node.left, t.numericLiteral(2))
);
path.parentPath.replaceWith(
t.expressionStatement(t.stringLiteral("Anyway the wind blows, doesn't really matter to me, to me."))
);
path.parentPath.remove();
},
Identifier(path) {
if (path.isReferencedIdentifier()) {
// ...
}
if (t.isQualifiedTypeIdentifier(path.node, path.parent)) {
// ...
}
},
ReturnStatement(path) {
path.replaceWithMultiple([
示例2: createVariableAST
export function createVariableAST(name: string) {
return callExpression(
memberExpression(identifier('Variable'), identifier('find')),
[identifier('gameModel'), stringLiteral(name)],
) as VariableAST;
}
示例3: require
import template from "@babel/template";
import generate from "@babel/generator";
import * as t from "@babel/types";
const buildRequire = template.statement(`
var IMPORT_NAME = require(SOURCE);
`);
const ast1 = buildRequire({
IMPORT_NAME: t.identifier("myModule"),
SOURCE: t.stringLiteral("my-module")
});
console.log(generate(ast1).code);
const ast2 = template.ast(`
var myModule = require("my-module");
`);
const fn = template.statement`
var IMPORT_NAME = require('${"my-module"}');
`;
const ast3 = fn({
IMPORT_NAME: t.identifier("myModule")
});
console.log(generate(ast3).code);
declare const mod: string;
示例4: plugin
//.........這裏部分代碼省略.........
path.get("object").traverse({
Identifier(path) {
path.replaceWith(i(path.node));
}
});
path.traverse({
Identifier(path) {
if (path.node.ignoreInWithStatementVisitor) {
return;
}
if (shouldSkipIdentifier(path)) {
return;
}
if (
["WithStatement", "FunctionExpression"].includes(path.parent.type)
) {
return;
}
if (path.parent.type === "MemberExpression") {
if ((path.parent.property = path.node)) {
console.log("ignoreing");
return;
}
}
path.node.ignoreInWithStatementVisitor = true;
const identifierName = path.node.name;
path.replaceWith(
ignoreNode(
t.conditionalExpression(
ignoreNode(
t.binaryExpression(
"in",
addLoc(t.stringLiteral(identifierName), path.node.loc),
obj
)
),
addLoc(
t.memberExpression(
obj,
addLoc(t.stringLiteral(identifierName), path.node.loc),
true
),
path.node.loc
),
i(addLoc(t.identifier(identifierName), path.node.loc))
)
)
);
}
});
},
CatchClause(path) {
const errName = path.node.param.name;
// We don't track anything, but this var has to exist to avoid "err___tv is undeclared" errors
const trackingVarDec = skipPath(
t.variableDeclaration("let", [
t.variableDeclarator(t.identifier(getTrackingVarName(errName)))
])
);
path.node.body.body.unshift(trackingVarDec);
},
ArrayPattern(path) {
const isForOfStatementWithVarDeclaration =