@fink/loxia
Version:
A fink to JavaScript compiler.
47 lines (39 loc) • 1.32 kB
JavaScript
import { add as add_0 } from "../context.js";
import { any as any_0 } from "../context.js";
import { transform as transform_0 } from "../transform.js";
import { str as str_3 } from "../literals/string.js";
import { rec_g as rec_g_0 } from "../assignment/init.js";
const transform_member_0 = (drec_0, result_0, ctx_0) => {
const right_0 = drec_0.right;
const dlst_0 = transform_0(drec_0.left, `left`, ctx_0);
const key_ctx_0 = dlst_0[2];
let ret_0;
ret_0: {
/* istanbul ignore else */
if (null != right_0) {
/* istanbul ignore else */
if (right_0.type === `ident`) {
const result_4 = str_3(right_0.value, `key`, right_0, key_ctx_0);
ret_0 = result_4;
/* istanbul ignore next */
break ret_0;
}
}
const result_3 = transform_0(right_0, `key`, key_ctx_0);
ret_0 = result_3;
/* istanbul ignore next */
break ret_0;
}
const dlst_1 = ret_0;
const dlst_2 = rec_g_0(dlst_0[1], dlst_1[1], result_0, {
loc: drec_0.loc
}, dlst_1[2]);
return [[...dlst_0[0], ...dlst_1[0], ...dlst_2[0]], dlst_2[2]];
};
const add_member_0 = ctx_1 => {
const pfn_0 = add_0(any_0, `.`, transform_member_0);
const ppr_0 = pfn_0(ctx_1);
return ppr_0;
};
export const transform_member = transform_member_0,
add_member = add_member_0;