@fink/loxia
Version:
A fink to JavaScript compiler.
56 lines (46 loc) • 1.41 kB
JavaScript
import types_0 from "@babel/types";
import { set_props as set_props_0 } from "@fink/js-interop/reflect.js";
import { add as add_0 } from "../context.js";
import { get_js as get_js_0 } from "../context.js";
import { set_js2 as set_js2_0 } from "../context.js";
const transform_async_0 = path_0 => {
let ret_0;
ret_0: {
const val_0 = types_0.isArrowFunctionExpression(path_0);
/* istanbul ignore else */
if (true === val_0) {
const result_2 = set_props_0(path_0.node, {
async: true
});
ret_0 = result_2;
/* istanbul ignore next */
break ret_0;
}
/* istanbul ignore else */
if (null != path_0) {
/* istanbul ignore else */
if (undefined !== path_0.parentPath) {
const result_1 = transform_async_0(path_0.parentPath);
ret_0 = result_1;
/* istanbul ignore next */
break ret_0;
}
}
}
const result_0 = ret_0;
return [][0];
};
const transform_wt_0 = (expr_0, ctx_0) => {
const arg_3 = get_js_0(expr_0[0].args[0], ctx_0);
const js_0 = types_0.awaitExpression(arg_3);
const result_6 = set_js2_0(expr_0, js_0, ctx_0);
return result_6;
};
const add_async_0 = ctx_1 => {
const pfn_0 = add_0(`wt`, transform_wt_0);
const ppr_0 = pfn_0(ctx_1);
return ppr_0;
};
export const transform_async = transform_async_0,
transform_wt = transform_wt_0,
add_async = add_async_0;