platform_specific 1.0.0
platform_specific: ^1.0.0 copied to clipboard
Package that simplifies handling platform-specific operations and callbacks in your Dart/Flutter applications.
Platform Specific #
Dart package that simplifies handling platform-specific operations and callbacks in your Dart/Flutter applications.
Features ๐ #
- Execute platform-specific callback functions based on the detected platform type.
- Define custom platform types to handle specific platforms.
- Supports a wide range of platforms out of the box including web, Windows, Linux, Android, macOS, Fuchsia, and iOS.
Usage ๐งช #
Use the Platforms.on
method to execute the appropriate callback function based on the platform:
final myValue = Platforms.on<String>(
{
PlatformTypes.android: () {
return '๐ค';
},
PlatformTypes.windows: () {
return '๐ช';
},
PlatformTypes.oneOf([PlatformTypes.iOS, PlatformTypes.macOS]): () {
return '๐';
}
},
orElse: () {
return 'unknown';
},
);
print(myValue); // Output: ๐ (if running on iOS or macOS), ๐ค (if running on Android), ๐ช (if running on Windows), or 'unknown' (if running on any other platform)
Custom Platform Types #
You can create custom platform types by extending the PlatformType
class and overriding the isPlatform
method. This allows you to handle additional platforms not covered by the predefined types.
class MyCustomPlatform extends PlatformType {
const MyCustomPlatform();
@override
bool isPlatform(PlatformType? override) {
// Add your custom platform detection logic here
// Should return true if override == this
...
}
}