kangaroo_app_sdk_platform_interface 0.0.3
kangaroo_app_sdk_platform_interface: ^0.0.3 copied to clipboard
Shared interfaces and serializable models for Kangaroo Rewards customer SDK Flutter implementations.
example/example.dart
import 'package:kangaroo_app_sdk_platform_interface/platform_interface/base_platform_interface.dart';
import 'package:kangaroo_app_sdk_platform_interface/platform_interface/features/countries/countries_platform_interface.dart';
/// Demonstrates bridge-side response decoding without a native SDK or network.
///
/// Application integration belongs to the separately released customer SDK.
/// These synthetic envelopes exercise the same deserializer used by a bridge.
Future<void> main() async {
final success = await CountriesApiInterface.deSerializedPlatformResponse(
Future.value('{"data":[]}'),
);
final failure = await CountriesApiInterface.deSerializedPlatformResponse(
Future.value(
'{"type":"UnauthorizedError","code":401,"msg":"fixture session expired"}',
),
);
print(describeCountriesResult(success));
print(describeCountriesResult(failure));
}
/// Handles typed payloads and native errors without casting union subclasses.
String describeCountriesResult(Result<Countries>? result) {
return result?.whenOrNull(
success: (countries) =>
'Countries decoded: ${countries?.data?.length ?? 0}',
unauthorized: (code, message) => 'Authorization required ($code)',
error: (code, message) => 'Request failed ($code)',
) ??
'No completed result';
}