UNPKG

@fink/larix

Version:

A parser for generating fink's AST.

101 lines (84 loc) 1.81 kB
const { map, fold } = require("@fink/std-lib/iter.js"); const { serialize } = require("./serialize.js"); const print = ast => { const ˆvalue_1 = ast; /* istanbul ignore else */ if (ˆvalue_1 != null) { const { errors: ˆp_3 } = ˆvalue_1; /* istanbul ignore else */ if (typeof ˆp_3?.[Symbol.iterator] === "function") { const [ˆa_4] = ˆp_3; /* istanbul ignore else */ if (ˆa_4 != null) { { const { errors } = ast; let _do_result; { let ˆpipe_result_5 = errors; ˆpipe_result_5 = map(({ error }) => error)(ˆpipe_result_5); _do_result = ˆpipe_result_5 = fold(``, (err, str) => `${str}${err}\n`)(ˆpipe_result_5); } const errors_text = _do_result; _do_result = undefined; return `${serialize(ast)} error: ${errors_text} `; } } } } { return serialize(ast); } }; exports.print = print; const test = val => { const ˆvalue_6 = val; /* istanbul ignore else */ if (ˆvalue_6 != null) { const { type: ˆp_8, loc: ˆp_9 } = ˆvalue_6; /* istanbul ignore else */ if (ˆp_8 != null) /* istanbul ignore else */ if (ˆp_9 != null) { return true; } } /* istanbul ignore else */ if (ˆvalue_6 != null) { const { type: ˆp_10, errors: ˆp_11 } = ˆvalue_6; /* istanbul ignore else */ if (ˆp_10 != null) /* istanbul ignore else */ if (typeof ˆp_11?.[Symbol.iterator] === "function") { return true; } } { return false; } }; exports.test = test; const jest_serializer = { print, test }; exports.jest_serializer = jest_serializer;