Add a promise version of each of Babel's transform functions.
This commit is contained in:
@@ -17,10 +17,18 @@ export { createConfigItem } from "./config/item";
|
||||
|
||||
export { loadPartialConfig, loadOptions } from "./config";
|
||||
|
||||
export { transform, transformSync } from "./transform";
|
||||
export { transformFile, transformFileSync } from "./transform-file";
|
||||
export { transformFromAst, transformFromAstSync } from "./transform-ast";
|
||||
export { parse, parseSync } from "./parse";
|
||||
export { transform, transformSync, transformAsync } from "./transform";
|
||||
export {
|
||||
transformFile,
|
||||
transformFileSync,
|
||||
transformFileAsync,
|
||||
} from "./transform-file";
|
||||
export {
|
||||
transformFromAst,
|
||||
transformFromAstSync,
|
||||
transformFromAstAsync,
|
||||
} from "./transform-ast";
|
||||
export { parse, parseSync, parseAsync } from "./parse";
|
||||
|
||||
/**
|
||||
* Recommended set of compilable extensions. Not used in @babel/core directly, but meant as
|
||||
|
||||
@@ -70,3 +70,15 @@ export function parseSync(
|
||||
|
||||
return normalizeFile(config.passes, normalizeOptions(config), code).ast;
|
||||
}
|
||||
|
||||
export function parseAsync(
|
||||
code: string,
|
||||
opts?: InputOptions,
|
||||
): Promise<ParseResult | null> {
|
||||
return new Promise((res, rej) => {
|
||||
parse(code, opts, (err, result) => {
|
||||
if (err == null) res(result);
|
||||
else rej(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -71,3 +71,16 @@ export function transformFromAstSync(
|
||||
|
||||
return runSync(config, code, ast);
|
||||
}
|
||||
|
||||
export function transformFromAstAsync(
|
||||
ast: AstRoot,
|
||||
code: string,
|
||||
opts: ?InputOptions,
|
||||
): Promise<FileResult | null> {
|
||||
return new Promise((res, rej) => {
|
||||
transformFromAst(ast, code, opts, (err, result) => {
|
||||
if (err == null) res(result);
|
||||
else rej(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -73,3 +73,15 @@ export function transformFileSync(
|
||||
|
||||
return runSync(config, fs.readFileSync(filename, "utf8"));
|
||||
}
|
||||
|
||||
export function transformFileAsync(
|
||||
filename: string,
|
||||
opts: ?InputOptions,
|
||||
): Promise<FileResult | null> {
|
||||
return new Promise((res, rej) => {
|
||||
transformFile(filename, opts, (err, result) => {
|
||||
if (err == null) res(result);
|
||||
else rej(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -53,3 +53,15 @@ export function transformSync(
|
||||
|
||||
return runSync(config, code);
|
||||
}
|
||||
|
||||
export function transformAsync(
|
||||
code: string,
|
||||
opts: ?InputOptions,
|
||||
): Promise<FileResult | null> {
|
||||
return new Promise((res, rej) => {
|
||||
transform(code, opts, (err, result) => {
|
||||
if (err == null) res(result);
|
||||
else rej(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user