本文整理汇总了TypeScript中babel-types.isImportSpecifier函数的典型用法代码示例。如果您正苦于以下问题:TypeScript isImportSpecifier函数的具体用法?TypeScript isImportSpecifier怎么用?TypeScript isImportSpecifier使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了isImportSpecifier函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: _rewriteImportStatements
/**
* Rewrite import declarations source URLs reference the bundle URL for
* bundled files and import names to correspond to names as exported by
* bundles.
*/
private _rewriteImportStatements(baseUrl: ResolvedUrl, node: babel.Node) {
const this_ = this;
traverse(node, {
noScope: true,
// Dynamic import() syntax doesn't have full type support yet, so we
// have to use generic `enter` and walk all nodes until that's fixed.
// TODO(usergenic): Switch this to the `Import: { enter }` style
// after dynamic imports fully supported.
enter(path: NodePath) {
if (path.node.type === 'Import') {
this_._rewriteDynamicImport(baseUrl, node, path);
}
},
});
traverse(node, {
noScope: true,
ImportDeclaration: {
enter(path: NodePath) {
const importDeclaration = path.node as babel.ImportDeclaration;
if (!babel.isStringLiteral(importDeclaration.source)) {
// We can't actually handle values which are not string literals, so
// we'll skip them.
return;
}
const source = importDeclaration.source.value as ResolvedUrl;
const sourceBundle = this_.manifest.getBundleForFile(source);
// If there is no import bundle, then this URL is not bundled (maybe
// excluded or something) so we should just ensure the URL is
// converted back to a relative URL.
if (!sourceBundle) {
importDeclaration.source.value =
this_.bundler.analyzer.urlResolver.relative(baseUrl, source);
return;
}
for (const specifier of importDeclaration.specifiers) {
if (babel.isImportSpecifier(specifier)) {
this_._rewriteImportSpecifierName(
specifier, source, sourceBundle);
}
if (babel.isImportDefaultSpecifier(specifier)) {
this_._rewriteImportDefaultSpecifier(
specifier, source, sourceBundle);
}
if (babel.isImportNamespaceSpecifier(specifier)) {
this_._rewriteImportNamespaceSpecifier(
specifier, source, sourceBundle);
}
}
importDeclaration.source.value =
ensureLeadingDot(this_.bundler.analyzer.urlResolver.relative(
baseUrl, sourceBundle.url));
}
}
});
}
示例2: Set
return importSpecifiers.reduce((prev, curr: t.ImportSpecifier) => {
if (t.isImportSpecifier(curr)) {
prev.add(curr.imported.name)
}
return prev
}, new Set())
示例3:
const specifier = specifiers.find(item => {
return t.isImportSpecifier(item) && item.imported.name === providerComponentName
})