inloop / interpolator

Realtime interpolation equation editor
http://inloop.github.io/interpolator/
Apache License 2.0
385 stars 85 forks source link

Using variable 'limit_max' causes error: Unexpected token '.' #4

Open idbrii opened 3 years ago

idbrii commented 3 years ago

The automatic Math. prefix doesn't search for whole words so if your javascript code has any tokens that contain names in Math, they fail with a confusing error message:

// Error: Unexpected token '.'
function clamp(num, limit_min, limit_max) {
  return num <= limit_min ? limit_min : num >= limit_max ? limit_max : num;
}

// No error after renaming to avoid 'max' and 'min'
function clamp(num, limit_in, limit_ax) {
  return num <= limit_in ? limit_in : num >= limit_ax ? limit_ax : num;
}
idbrii commented 3 years ago

It's not really important, but for context, this is the full javascript I was using:

const c4 = (2 * PI) / 3;

var a = x === 0
  ? 0
  : x === 1
  ? 1
  : -pow(2, 10 * x - 10) * sin((x * 10 - 10.75) * c4);

// function clamp(num, limit_min, limit_max) {
//   return num <= limit_min ? limit_min : num >= limit_max ? limit_max : num;
// }

function clamp(num, limit_in, limit_ax) {
  return num <= limit_in ? limit_in : num >= limit_ax ? limit_ax : num;
}

y = 0.01 + 0.4*x + 1 * a
y = clamp(y,0,1.5)