View Source mix es6_maps.format (es6_maps v0.2.1)

Replaces all map keys with their shorthand form.

mix es6_maps.format 'lib/**/*.ex' 'test/**/*.exs'

The arguments are expanded with Path.wildcard(match_dot: true).

The task manipulates the AST, not raw strings, so it's precise and will only change your code by:

  1. changing map keys into the shorthand form;
  2. reordering map keys so the shorthand form comes first;
  3. formatting the results with mix format.

Going back to old-style maps

You can revert all of the ES6-style shorthand uses with the --revert format flag:

mix es6_maps.format --revert lib/myapp/myapp.ex

Reordering map keys

When applicable, the formatting will reorder the keys to shorthand them, for example:

%{hello: "world", foo: foo, bar: bar} = var

will become:

%{foo, bar, hello: "world"} = var

Options

  • --revert - Reverts the transformation.
  • --locals-without-parens - Specifies a list of locals that should not have parentheses. The format is local_name/arity, where arity can be an integer or *. This option can be given multiple times, and/or multiple values can be separated by commas.