У меня есть некоторый javascript, написанный для маски ввода в rails 4. Маска ввода отлично работает на стороне разработки, но не удается выполнить предварительную компиляцию на сервере со следующей ошибкой:
ExecJS::RuntimeError: SyntaxError: Unexpected token: operator (>) (line: 6, col: 33, pos: 222)
Я пытался переформатировать функцию несколькими способами, но только жирная стрелка =>, кажется, позволяет моей маске ввода работать.
const mask = originalTemplate => (function() {
let template = originalTemplate;
const input = $(this).val().replace(/[^0-9]/g, '');
for (let x = 0, end = input.length, asc = 0 <= end; asc ? x < end : x > end; asc ? x++ : x--) {
template = template.replace('x', input[x]);
}
if (input.length === 0) { template = ''; }
let index = template.indexOf('x');
while ((index > 0) && !(numbers.indexOf(template[index-1]) >= 0)) {
index = index - 1;
}
if (index < 0) { index = template.length; }
return $(this).val(template.substring(0, index));
});
Есть ли способ написать это, который выполнит то же самоевещь, но без использования =>?