| // Copyright (c) 2026, 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. | |
| /// @docImport 'dart:io'; | |
| library; | |
| import 'package:analyzer/src/util/platform_info_js.dart' | |
| if (dart.library.io) 'package:analyzer/src/util/platform_info_io.dart'; | |
| /// A proxy for [Platform] from `dart:io` which also works on web. | |
| const platform = PlatformInfoImpl(); | |
| abstract class PlatformInfo { | |
| const PlatformInfo(); | |
| /// Returns [Platform.environment]. | |
| /// | |
| /// On web this will return an empty map. | |
| Map<String, String> get environment; | |
| /// Returns [Platform.executable], or empty string on web. | |
| String get executable; | |
| /// Returns [Platform.isAndroid]. | |
| bool get isAndroid; | |
| /// Returns [Platform.isFuchsia]. | |
| bool get isFuchsia; | |
| /// Returns [Platform.isIOS]. | |
| bool get isIOS; | |
| /// Returns [Platform.isLinux]. | |
| bool get isLinux; | |
| /// Returns [Platform.isMacOS]. | |
| bool get isMacOS; | |
| /// Returns [Platform.isWindows]. | |
| bool get isWindows; | |
| /// Returns [Platform.lineTerminator], or `'\n'` on web. | |
| String get lineTerminator; | |
| /// Returns [Platform.operatingSystem], or `'browser'` on web. | |
| String get operatingSystem; | |
| /// Returns [Platform.pathSeparator], or `'/'` on web. | |
| String get pathSeparator; | |
| /// Returns [Platform.resolvedExecutable], or empty string on web. | |
| String get resolvedExecutable; | |
| /// Returns [Platform.version] from 'dart:io'. | |
| /// | |
| /// On web this will return `String.fromEnvironment('dart.sdk.version')` | |
| /// which the person building the Dart SDK for web is required to set | |
| /// themselves, pending: | |
| /// https://github.com/dart-lang/sdk/issues/54785 | |
| String get version; | |
| } |