UNPKG

@fink/loxia

Version:

A fink to JavaScript compiler.

100 lines (84 loc) 2.8 kB
import { transform as transform_0 } from "../transform.js"; import { lst as lst_0 } from "../literals/list.js"; import { lst_a as lst_a_0 } from "../literals/list.js"; import { ˆlet as let_0 } from "../identifier/init.js"; import { transform_with_partial as transform_with_partial_0 } from "./call.js"; import { af as af_0 } from "./call.js"; const apply_step_0 = (callee_id_0, arg_id_0, drec_0, ctx_0) => { const loc_0 = drec_0.loc; const dlst_0 = lst_0(`args`, { loc: loc_0 }, ctx_0); const emp_0 = dlst_0[0]; const empty_id_0 = dlst_0[1]; const args_ctx_0 = dlst_0[2]; let ret_0; ret_0: { /* istanbul ignore else */ if (arg_id_0 === false) { ret_0 = [emp_0, empty_id_0, args_ctx_0]; /* istanbul ignore next */ break ret_0; } const dlst_2 = lst_a_0(empty_id_0, arg_id_0, `args`, { loc: loc_0 }, args_ctx_0); ret_0 = [[...emp_0, ...dlst_2[0]], dlst_2[1], dlst_2[2]]; /* istanbul ignore next */ break ret_0; } const dlst_1 = ret_0; const dlst_3 = af_0(callee_id_0, dlst_1[1], `ppr`, { loc: loc_0 }, dlst_1[2]); return [[...dlst_1[0], ...dlst_3[0]], dlst_3[1], dlst_3[2]]; }; const pipe_all_0 = (...args_2) => { pipe_all_0: do { const dlst_4 = args_2[0]; const hdm_0 = dlst_4[0]; const expr_0 = undefined === hdm_0 ? false : hdm_0; const prev_res_id_0 = args_2[1]; const ctx_1 = args_2[2]; const hdm_1 = args_2[3]; const out_0 = undefined === hdm_1 ? [] : hdm_1; /* istanbul ignore else */ if (expr_0 === false) { return [out_0, prev_res_id_0, ctx_1]; } const dlst_5 = transform_with_partial_0(expr_0, `pfn`, ctx_1); const { partial_ident: _key_11, ...next_ctx_2 } = dlst_5[2]; const dlst_6 = apply_step_0(dlst_5[1], prev_res_id_0, expr_0, next_ctx_2); args_2 = [dlst_4.slice(1), dlst_6[1], dlst_6[2], [...out_0, ...dlst_5[0], ...dlst_6[0]]]; continue pipe_all_0; } while (true); }; const transform_pipe_0 = (expr_1, result_13, ctx_2) => { const value_2 = expr_1.args; let ret_4; ret_4: { /* istanbul ignore else */ if (null != value_2) { /* istanbul ignore else */ if (undefined !== value_2[0]) { const result_17 = transform_0(expr_1.args[0], `pps`, ctx_2); ret_4 = result_17; /* istanbul ignore next */ break ret_4; } } ret_4 = [[], false, ctx_2]; /* istanbul ignore next */ break ret_4; } const dlst_7 = ret_4; const dlst_9 = pipe_all_0(expr_1.exprs, dlst_7[1], dlst_7[2]); const dlst_10 = let_0(dlst_9[1], result_13, expr_1, dlst_9[2]); return [[...dlst_7[0], ...dlst_9[0], ...dlst_10[0]], dlst_10[2]]; }; export const apply_step = apply_step_0, pipe_all = pipe_all_0, transform_pipe = transform_pipe_0;