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
160
points
16
downloads

Publisher

verified publisherclevertasks.de

Weekly Downloads

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

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

universal_platform

More

Packages that depend on platform_specific