@fink/loxia
Version:
A fink to JavaScript compiler.
51 lines (42 loc) • 1.2 kB
JavaScript
const types_0 = require("@babel/types");
const numericLiteral_0 = types_0.numericLiteral;
const {
parse_int: parse_int_0
} = require("@fink/std-lib/num.js");
const {
parse_float: parse_float_0
} = require("@fink/std-lib/num.js");
const {
add: add_0
} = require("../context.js");
const {
set_js2: set_js2_0
} = require("../context.js");
const transform_int_0 = (expr_0, ctx_0) => {
const value_0 = expr_0[0].args[0];
const val_1 = parse_int_0(value_0);
const sprd_0 = numericLiteral_0(val_1);
const result_3 = set_js2_0(expr_0, { ...sprd_0,
extra: {
rawValue: val_1,
raw: value_0
}
}, ctx_0);
return result_3;
};
const transform_float_0 = (expr_1, ctx_1) => {
const arg_5 = parse_float_0(expr_1[0].args[0]);
const js_1 = numericLiteral_0(arg_5);
const result_6 = set_js2_0(expr_1, js_1, ctx_1);
return result_6;
};
const add_number_0 = ctx_2 => {
const pfn_0 = add_0(`int`, transform_int_0);
const ppr_0 = pfn_0(ctx_2);
const pfn_1 = add_0(`float`, transform_float_0);
const ppr_1 = pfn_1(ppr_0);
return ppr_1;
};
exports.transform_int = transform_int_0;
exports.transform_float = transform_float_0;
exports.add_number = add_number_0;