platform_specific 1.0.0 copy "platform_specific: ^1.0.0" to clipboard
platform_specific: ^1.0.0 copied to clipboard

Package that simplifies handling platform-specific operations and callbacks in your Dart/Flutter applications.

Platform Specific #

style: very good analysis Powered by Mason License: MIT

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
    ...
  }
}
5
likes
140
pub points
0%
popularity

Publisher

verified publisherclevertasks.de

Package that simplifies handling platform-specific operations and callbacks in your Dart/Flutter applications.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

universal_platform

More

Packages that depend on platform_specific