anonymous top-level constant

_Anonymous const anonymous

An annotation that indicates a JS annotated class is structural and does not have a known JavaScript prototype.

A class marked with anonymous allows external factories with named parameters. Invoking these factories creates JavaScript object literals with name-value pairs corresponding to any named parameters and their values. If there are no named parameters, an empty JavaScript object is created.

anonymous classes have the following restrictions:

  • They must contain a JS annotation, either from this library or from dart:js_interop. If the latter, the class must also contain staticInterop.
  • They cannot contain any non-external members unless it's a staticInterop class, in which case it can also contain non-external factories and static methods.
  • They cannot contain any external generative constructors.
  • Any external factory must not contain any positional parameters.
  • They cannot extend or be extended by a non-JS annotated class.
  • The annotation should only be applied to non-mixin classes and no other declarations.

Implementation

const _Anonymous anonymous = _Anonymous();