platform_info 5.0.0 platform_info: ^5.0.0 copied to clipboard
Contains info about current platform such as Build mode and Operating system.
platform_info #
About #
Cross-platform io/html package. Works on the web, mobile phones, desktops and console. Fully caches itself on first initialization.
Easy to use, just add to pubspec.yaml
as dependency and then import:
import 'package:platform_info/platform_info.dart';
Platform is a singleton, and the default way to access an instance of Platform is to call static getters:
Platform.instance
or Platform.I
or platform
Usage #
Example of using the library to get the current platform info
Platform Information #
Provides platform information such as:
-
Build mode
- release
- profile
- debug
-
Host platform type
- vm (io, desktops, mobile, console, server)
- js (web, html, browser)
-
Operating system
- Fuchsia
- Linux
- MacOS
- Windows
- iOS
- Android
- Unknown
-
Version (
unknown
if not available) -
Locale string (
en
if not available) -
The number of individual execution units of the machine (
0
if not available) -
Operating system is a known type
-
Is a Web-based applications
-
Is a VM supporting for non-web applications
-
Is a mobile device (Android, iOS)
-
Is a desktop device (Windows, macOS, Fuchsia)
-
Is Material design device (Android, Fuchsia)
-
Is Cupertino design device (macOS, iOS)
-
is Linux
-
is macOS
-
is Windows
-
is android
-
is iOS
-
is fuchsia
-
when
method allowing to compose a complex condition
Pattern matching #
Run functions that satisfy the current state of the platform. You can use nested methods to compose more complex queries.
Operating System
[fuchsia] - whether the operating system is a version of Fuchsia [windows] - whether the operating system is a version of Windows [android] - whether the operating system is a version of Android [iOS] - whether the operating system is a version of iOS [macOS] - whether the operating system is a version of MacOS [linux] - whether the operating system is a version of Linux [unknown] - operating system unknown
Design
[material] - is material (Android, Fuchsia) [cupertino] - is cupertino (macOS, iOS)
Mobile or desktop
[mobile] - is mobile device (Android, iOS) [desktop] - is desktop device (Windows, MacOS, Fuchsia)
VM (IO) or JS (Web)
[js] - is web-based applications [vm] - is I/O supporting for non-web applications
Build mode
[release] - release build mode [profile] - profile build mode [debug] - debug build mode [orElse] - any callback was not called
Sequence of checks
- Operating System
- Design
- Mobile/Desktop
- VM/JS
- Build mode
- Call [orElse] if any callback was not called
Coverage #
Changelog #
Refer to the Changelog to get all release notes.
Maintainers #
Funding #
If you want to support the development of our library, there are several ways you can do it:
We appreciate any form of support, whether it's a financial donation or just a star on GitHub. It helps us to continue developing and improving our library. Thank you for your support!
License #
Tags #
cross, platform, info