@fink/loxia
Version:
A fink to JavaScript compiler.
68 lines (54 loc) • 1.44 kB
JavaScript
const types_0 = require("@babel/types");
const {
set_props: set_props_0
} = require("@fink/js-interop/reflect.js");
const {
add: add_0
} = require("../context.js");
const {
get_js: get_js_0
} = require("../context.js");
const {
set_js2: set_js2_0
} = require("../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;
};
exports.transform_async = transform_async_0;
exports.transform_wt = transform_wt_0;
exports.add_async = add_async_0;