UNPKG

@fink/loxia

Version:

A fink to JavaScript compiler.

126 lines (111 loc) 2.83 kB
import { update_value as update_value_0 } from "../ir/context.js"; import { get_value as get_value_0 } from "../ir/context.js"; import { ident as ident_0 } from "./identifier/init.js"; const set_js_0 = (id_0, js_0, ctx_0) => { const result_0 = update_value_0(id_0, { js: js_0 }, ctx_0); return result_0; }; const set_js2_0 = (dlst_0, js_1, ctx_1) => { const result_1 = update_value_0(dlst_0[1][0], { js: { ...js_1, loc: dlst_0[0].loc } }, ctx_1); return result_1; }; const with_loc_0 = (drec_1, expr_0) => { return { ...expr_0, loc: drec_1.loc }; }; const get_js_0 = (id_2, ctx_2) => { const val_4 = get_value_0(id_2, ctx_2); /* istanbul ignore else */ if (null != val_4) { /* istanbul ignore else */ if (val_4.ignore_refs === true) { const result_10 = with_loc_0(id_2, val_4.js); return result_10; } } /* istanbul ignore else */ if (null != val_4) { /* istanbul ignore else */ if (val_4.inline === true) { const result_9 = with_loc_0(id_2, val_4.js); return result_9; } } /* istanbul ignore else */ if (null != val_4) { /* istanbul ignore else */ if (val_4.inline === false) { const result_8 = ident_0(id_2); return result_8; } } /* istanbul ignore else */ if (null != val_4) { /* istanbul ignore else */ if (true === val_4.refs > 1) { const result_7 = ident_0(id_2); return result_7; } } /* istanbul ignore else */ if (null != val_4) { /* istanbul ignore else */ if (undefined !== val_4.js) { const result_6 = with_loc_0(id_2, val_4.js); return result_6; } } const result_5 = ident_0(id_2); return result_5; }; const add_runtime_requirement_0 = (func_0, drec_2) => { const key_21 = `runtime`; const { runtime: _key_21, ...ctx_3 } = drec_2; return { ...ctx_3, runtime: { ...drec_2.runtime, [func_0]: true } }; }; const get_js_literal_0 = (id_3, ctx_4) => { const drec_3 = get_value_0(id_3, ctx_4); const flbk_0 = get_js_0(id_3, ctx_4); const hdm_0 = drec_3.js; return undefined === hdm_0 ? flbk_0 : hdm_0; }; const add_0 = (name_0, transformer_0) => { return drec_4 => { const key_27 = `transformers`; const { transformers: _key_27, ...ctx_5 } = drec_4; return { transformers: { ...drec_4.transformers, [name_0]: transformer_0 }, ...ctx_5 }; }; }; const get_transformer_0 = (dlst_2, drec_6) => { return drec_6.transformers[dlst_2[0].f]; }; export const set_js = set_js_0, set_js2 = set_js2_0, with_loc = with_loc_0, get_js = get_js_0, add_runtime_requirement = add_runtime_requirement_0, get_js_literal = get_js_literal_0, add = add_0, get_transformer = get_transformer_0;