本文整理汇总了TypeScript中path.scope.getAllBindings方法的典型用法代码示例。如果您正苦于以下问题:TypeScript scope.getAllBindings方法的具体用法?TypeScript scope.getAllBindings怎么用?TypeScript scope.getAllBindings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类path.scope
的用法示例。
在下文中一共展示了scope.getAllBindings方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: return
return (path, state) => {
const bindings: { [identifier: string]: Binding } = (path.scope.getAllBindings() as any);
const camlExceptions = bindings["Caml_exceptions"];
if (camlExceptions) {
let referenceCount = camlExceptions.references;
const modulePath: string = state.file.opts.filename;
if (modulePath === "unknown")
return;
let json: BuckleScript.AttrsJSON;
if ((json = (BuckleScript.Attrs.json(modulePath) as any)) == null)
return;
for (const name in bindings) {
let replacement: string;
if ((replacement = json[name]) != null) {
const binding = bindings[name];
binding.path.replaceWith(
types.variableDeclarator(binding.identifier, types.stringLiteral(replacement))
);
referenceCount--;
}
}
if (referenceCount < 1) {
camlExceptions.path.remove();
}
}
};