UNPKG

@fink/loxia

Version:

A fink to JavaScript compiler.

43 lines (36 loc) 1.07 kB
const types_0 = require("@babel/types"); const { add: add_0 } = require("../context.js"); const { get_js: get_js_0 } = require("../context.js"); const { set_js2: set_js2_0 } = require("../context.js"); const { transform_unary: transform_unary_0 } = require("../transform.js"); const transform_binary_0 = jsop_0 => { return (expr_0, ctx_0) => { const val_0 = expr_0[0].args; const left_0 = get_js_0(val_0[0], ctx_0); const right_0 = get_js_0(val_0[1], ctx_0); const js_0 = types_0.logicalExpression(jsop_0, left_0, right_0); const result_5 = set_js2_0(expr_0, js_0, ctx_0); return result_5; }; }; const add_logical_0 = ctx_1 => { const arg_11 = transform_binary_0(`&&`); const pfn_0 = add_0(`and`, arg_11); const ppr_0 = pfn_0(ctx_1); const arg_14 = transform_binary_0(`||`); const pfn_1 = add_0(`or`, arg_14); const ppr_1 = pfn_1(ppr_0); const pfn_2 = add_0(`not`, transform_unary_0); const ppr_2 = pfn_2(ppr_1); return ppr_2; }; exports.transform_binary = transform_binary_0; exports.add_logical = add_logical_0;