@fink/loxia
Version:
A fink to JavaScript compiler.
61 lines (49 loc) • 1.34 kB
JavaScript
const {
add: add_0
} = require("../context.js");
const {
any: any_0
} = require("../context.js");
const {
transform: transform_0
} = require("../transform.js");
const {
str: str_3
} = require("../literals/string.js");
const {
rec_g: rec_g_0
} = require("../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;
};
exports.transform_member = transform_member_0;
exports.add_member = add_member_0;