Compass export to languages breaks with template literals (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
This happens with basic examples from the mongodb docs:
[{ $addFields: { isFound: { $function: { body: function(name) { return hex_md5(name) == "15b0a220baa16331e8d80e15367677ad"; }, args: ["$name"], lang: "js" } }, message: { $function: { body: function(name, scores) { let total = Array.sum(scores); return `Hello ${name}. Your total score is ${total}.`; }, args: ["$name", "$scores"], lang: "js" } } } }]
There is no need for the export to language to parse the body of a function, ideally we should just avoid doing that. If that is not possible we may at least want to support template literals in our grammar.
- is related to
-
COMPASS-5112 $function NOT working in Node → Returns error 31261
- Closed