| // Copyright (c) 2018, 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. |
| |
| /// Helper library used by `dart:js`. |
| /// |
| /// This library hides any logic that is specific to the web, and allows us to |
| /// support `dart:js` for compiling to javascript on the server (e.g. to target |
| /// nodejs). |
| library dart._js; |
| |
| /// Whether `o` is a browser object such as `Blob`, `Event`, `KeyRange`, |
| /// `ImageData`, `Node`, and `Window`. |
| /// |
| /// On non-web targets, this function always returns false. |
| external bool isBrowserObject(dynamic o); |
| |
| /// Convert a browser object to it's Dart counterpart. None of these types are |
| /// wrapped, but this function is needed to inform dart2js about the possible |
| /// types that are used and that therefore cannot be tree-shaken. |
| external Object convertFromBrowserObject(dynamic o); |