| // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// Allows interoperability with Javascript APIs. |
| library js; |
| |
| export 'dart:js' show allowInterop, allowInteropCaptureThis; |
| |
| /// A metadata annotation that indicates that a Library, Class, or member is |
| /// implemented directly in JavaScript. All external members of a class or |
| /// library with this annotation implicitly have it as well. |
| /// |
| /// Specifying [name] customizes the JavaScript name to use. By default the |
| /// dart name is used. It is not valid to specify a custom [name] for class |
| /// instance members. |
| class JS { |
| final String name; |
| const JS([this.name]); |
| } |
| |
| class _Anonymous { |
| const _Anonymous(); |
| } |
| |
| /// A metadata annotation that indicates that a @JS annotated class is |
| /// structural and does not have a known JavaScript prototype. |
| /// |
| /// Factory constructors for anonymous JavaScript classes desugar to creating |
| /// JavaScript object literals with name-value pairs corresponding to the |
| /// parameter names and values. |
| const _Anonymous anonymous = const _Anonymous(); |