nandanmen/playground

Add support for other function parameters

Opened this issue · 0 comments

The transformer currently only supports Identifier-based function parameters, e.g.

function hello(a, b)

It doesn't support parameters made using things like array destructuring, object destructuring, rest operators, assignment patterns, etc. All of the following examples will throw errors:

  1. Array destructuring
function ([a, b])
  1. Object destructuring
function ({ a, b })
  1. Rest operators
function (a, b, ...others)
  1. Assignment/default parameters
function (a, b = 0)
function (a, b, c = a * b)

It would be nice to add support for these, however it's important to note that this will impact both the transformer and the application since:

  • for the transformer, we have to be able to parse and correctly record these parameters, and
  • for the app, we would have to change the argument form to correctly send the appropriate arguments to the function.