UNPKG

@fink/loxia

Version:

A fink to JavaScript compiler.

48 lines (42 loc) 1.43 kB
import { add as add_0 } from "../context.js"; import { any as any_0 } from "../context.js"; import { transform as transform_0 } from "../transform.js"; const transform_exprs_0 = (...args_0) => { transform_exprs_0: do { const dlst_0 = args_0[0]; const expr_0 = dlst_0[0]; const tail_1 = dlst_0.slice(1); const res_id_0 = args_0[1]; const ctx_0 = args_0[2]; const hdm_0 = args_0[3]; const out_0 = undefined === hdm_0 ? [] : hdm_0; /* istanbul ignore else */ if (null != tail_1) { /* istanbul ignore else */ if (undefined !== dlst_0[1]) { const dlst_2 = transform_0(expr_0, `blkv`, ctx_0); args_0 = [tail_1, res_id_0, dlst_2[2], [...out_0, ...dlst_2[0]]]; continue transform_exprs_0; } } const dlst_1 = transform_0(expr_0, res_id_0, ctx_0); return [[...out_0, ...dlst_1[0]], dlst_1[2]]; } while (true); }; const transform_block_0 = (expr_1, res_id_1, ctx_1) => { const scopes_0 = ctx_1.scopes; const dlst_3 = transform_exprs_0(expr_1.exprs, res_id_1, { ...ctx_1, scopes: [{}, ...scopes_0] }); return [dlst_3[0], { ...dlst_3[1], scopes: scopes_0 }]; }; const add_block_0 = ctx_2 => { const pfn_0 = add_0(`block`, any_0, transform_block_0); const ppr_0 = pfn_0(ctx_2); return ppr_0; }; export const transform_exprs = transform_exprs_0, transform_block = transform_block_0, add_block = add_block_0;