[in_app_purchase] Update to the latest pkg:json_serializable (#4434)
- Remove unneeded class now that enum helpers can be generated without one
- Code reorganization
- Remove superflous JsonKey values
diff --git a/packages/in_app_purchase/in_app_purchase/build.yaml b/packages/in_app_purchase/in_app_purchase/build.yaml
deleted file mode 100644
index e15cf14..0000000
--- a/packages/in_app_purchase/in_app_purchase/build.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-targets:
- $default:
- builders:
- json_serializable:
- options:
- any_map: true
- create_to_json: true
diff --git a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
index a01eb9f..c504bd7 100644
--- a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
+++ b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md
@@ -1,6 +1,12 @@
+## 0.1.6
+
+* Require Dart SDK >= 2.14.
+* Update `json_annotation` dependency to `^4.3.0`.
+
## 0.1.5+1
* Fix a broken link in the README.
+
## 0.1.5
* Introduced the `SkuDetailsWrapper.introductoryPriceAmountMicros` field of the correct type (`int`) and deprecated the `SkuDetailsWrapper.introductoryPriceMicros` field.
diff --git a/packages/in_app_purchase/in_app_purchase_android/build.yaml b/packages/in_app_purchase/in_app_purchase_android/build.yaml
index e15cf14..651a557 100644
--- a/packages/in_app_purchase/in_app_purchase_android/build.yaml
+++ b/packages/in_app_purchase/in_app_purchase_android/build.yaml
@@ -1,7 +1,8 @@
+# See https://pub.dev/packages/build_config
targets:
$default:
builders:
json_serializable:
options:
any_map: true
- create_to_json: true
+ create_to_json: false
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_client_wrapper.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_client_wrapper.dart
index 4393d1d..0e7024a 100644
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_client_wrapper.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_client_wrapper.dart
@@ -3,14 +3,17 @@
// found in the LICENSE file.
import 'dart:async';
-import 'package:flutter/services.dart';
+
import 'package:flutter/foundation.dart';
+import 'package:flutter/services.dart';
import 'package:json_annotation/json_annotation.dart';
+
import '../../billing_client_wrappers.dart';
import '../channel.dart';
import 'purchase_wrapper.dart';
import 'sku_details_wrapper.dart';
-import 'enum_converters.dart';
+
+part 'billing_client_wrapper.g.dart';
/// Method identifier for the OnPurchaseUpdated method channel method.
@visibleForTesting
@@ -364,6 +367,7 @@
/// [`BillingClient.BillingResponse`](https://developer.android.com/reference/com/android/billingclient/api/BillingClient.BillingResponse).
/// See the `BillingResponse` docs for more explanation of the different
/// constants.
+@JsonEnum(alwaysCreate: true)
enum BillingResponse {
// WARNING: Changes to this class need to be reflected in our generated code.
// Run `flutter packages pub run build_runner watch` to rebuild and watch for
@@ -418,11 +422,32 @@
itemNotOwned,
}
+/// Serializer for [BillingResponse].
+///
+/// Use these in `@JsonSerializable()` classes by annotating them with
+/// `@BillingResponseConverter()`.
+class BillingResponseConverter implements JsonConverter<BillingResponse, int?> {
+ /// Default const constructor.
+ const BillingResponseConverter();
+
+ @override
+ BillingResponse fromJson(int? json) {
+ if (json == null) {
+ return BillingResponse.error;
+ }
+ return $enumDecode(_$BillingResponseEnumMap, json);
+ }
+
+ @override
+ int toJson(BillingResponse object) => _$BillingResponseEnumMap[object]!;
+}
+
/// Enum representing potential [SkuDetailsWrapper.type]s.
///
/// Wraps
/// [`BillingClient.SkuType`](https://developer.android.com/reference/com/android/billingclient/api/BillingClient.SkuType)
/// See the linked documentation for an explanation of the different constants.
+@JsonEnum(alwaysCreate: true)
enum SkuType {
// WARNING: Changes to this class need to be reflected in our generated code.
// Run `flutter packages pub run build_runner watch` to rebuild and watch for
@@ -437,6 +462,26 @@
subs,
}
+/// Serializer for [SkuType].
+///
+/// Use these in `@JsonSerializable()` classes by annotating them with
+/// `@SkuTypeConverter()`.
+class SkuTypeConverter implements JsonConverter<SkuType, String?> {
+ /// Default const constructor.
+ const SkuTypeConverter();
+
+ @override
+ SkuType fromJson(String? json) {
+ if (json == null) {
+ return SkuType.inapp;
+ }
+ return $enumDecode(_$SkuTypeEnumMap, json);
+ }
+
+ @override
+ String toJson(SkuType object) => _$SkuTypeEnumMap[object]!;
+}
+
/// Enum representing the proration mode.
///
/// When upgrading or downgrading a subscription, set this mode to provide details
@@ -444,6 +489,7 @@
///
/// Wraps [`BillingFlowParams.ProrationMode`](https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.ProrationMode)
/// See the linked documentation for an explanation of the different constants.
+@JsonEnum(alwaysCreate: true)
enum ProrationMode {
// WARNING: Changes to this class need to be reflected in our generated code.
// Run `flutter packages pub run build_runner watch` to rebuild and watch for
@@ -477,7 +523,28 @@
deferred,
}
+/// Serializer for [ProrationMode].
+///
+/// Use these in `@JsonSerializable()` classes by annotating them with
+/// `@ProrationModeConverter()`.
+class ProrationModeConverter implements JsonConverter<ProrationMode, int?> {
+ /// Default const constructor.
+ const ProrationModeConverter();
+
+ @override
+ ProrationMode fromJson(int? json) {
+ if (json == null) {
+ return ProrationMode.unknownSubscriptionUpgradeDowngradePolicy;
+ }
+ return $enumDecode(_$ProrationModeEnumMap, json);
+ }
+
+ @override
+ int toJson(ProrationMode object) => _$ProrationModeEnumMap[object]!;
+}
+
/// Features/capabilities supported by [BillingClient.isFeatureSupported()](https://developer.android.com/reference/com/android/billingclient/api/BillingClient.FeatureType).
+@JsonEnum(alwaysCreate: true)
enum BillingClientFeature {
// WARNING: Changes to this class need to be reflected in our generated code.
// Run `flutter packages pub run build_runner watch` to rebuild and watch for
@@ -504,3 +571,24 @@
@JsonValue('subscriptionsUpdate')
subscriptionsUpdate
}
+
+/// Serializer for [BillingClientFeature].
+///
+/// Use these in `@JsonSerializable()` classes by annotating them with
+/// `@BillingClientFeatureConverter()`.
+class BillingClientFeatureConverter
+ implements JsonConverter<BillingClientFeature, String> {
+ /// Default const constructor.
+ const BillingClientFeatureConverter();
+
+ @override
+ BillingClientFeature fromJson(String json) {
+ return $enumDecode<BillingClientFeature, dynamic>(
+ _$BillingClientFeatureEnumMap.cast<BillingClientFeature, dynamic>(),
+ json);
+ }
+
+ @override
+ String toJson(BillingClientFeature object) =>
+ _$BillingClientFeatureEnumMap[object]!;
+}
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_client_wrapper.g.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_client_wrapper.g.dart
new file mode 100644
index 0000000..efe7656
--- /dev/null
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_client_wrapper.g.dart
@@ -0,0 +1,43 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'billing_client_wrapper.dart';
+
+// **************************************************************************
+// JsonSerializableGenerator
+// **************************************************************************
+
+const _$BillingResponseEnumMap = {
+ BillingResponse.serviceTimeout: -3,
+ BillingResponse.featureNotSupported: -2,
+ BillingResponse.serviceDisconnected: -1,
+ BillingResponse.ok: 0,
+ BillingResponse.userCanceled: 1,
+ BillingResponse.serviceUnavailable: 2,
+ BillingResponse.billingUnavailable: 3,
+ BillingResponse.itemUnavailable: 4,
+ BillingResponse.developerError: 5,
+ BillingResponse.error: 6,
+ BillingResponse.itemAlreadyOwned: 7,
+ BillingResponse.itemNotOwned: 8,
+};
+
+const _$SkuTypeEnumMap = {
+ SkuType.inapp: 'inapp',
+ SkuType.subs: 'subs',
+};
+
+const _$ProrationModeEnumMap = {
+ ProrationMode.unknownSubscriptionUpgradeDowngradePolicy: 0,
+ ProrationMode.immediateWithTimeProration: 1,
+ ProrationMode.immediateAndChargeProratedPrice: 2,
+ ProrationMode.immediateWithoutProration: 3,
+ ProrationMode.deferred: 4,
+};
+
+const _$BillingClientFeatureEnumMap = {
+ BillingClientFeature.inAppItemsOnVR: 'inAppItemsOnVr',
+ BillingClientFeature.priceChangeConfirmation: 'priceChangeConfirmation',
+ BillingClientFeature.subscriptions: 'subscriptions',
+ BillingClientFeature.subscriptionsOnVR: 'subscriptionsOnVr',
+ BillingClientFeature.subscriptionsUpdate: 'subscriptionsUpdate',
+};
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/enum_converters.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/enum_converters.dart
deleted file mode 100644
index 931d92f..0000000
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/enum_converters.dart
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright 2013 The Flutter Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
-import 'package:json_annotation/json_annotation.dart';
-
-import '../../billing_client_wrappers.dart';
-
-part 'enum_converters.g.dart';
-
-/// Serializer for [BillingResponse].
-///
-/// Use these in `@JsonSerializable()` classes by annotating them with
-/// `@BillingResponseConverter()`.
-class BillingResponseConverter implements JsonConverter<BillingResponse, int?> {
- /// Default const constructor.
- const BillingResponseConverter();
-
- @override
- BillingResponse fromJson(int? json) {
- if (json == null) {
- return BillingResponse.error;
- }
- return _$enumDecode<BillingResponse, dynamic>(
- _$BillingResponseEnumMap.cast<BillingResponse, dynamic>(), json);
- }
-
- @override
- int toJson(BillingResponse object) => _$BillingResponseEnumMap[object]!;
-}
-
-/// Serializer for [SkuType].
-///
-/// Use these in `@JsonSerializable()` classes by annotating them with
-/// `@SkuTypeConverter()`.
-class SkuTypeConverter implements JsonConverter<SkuType, String?> {
- /// Default const constructor.
- const SkuTypeConverter();
-
- @override
- SkuType fromJson(String? json) {
- if (json == null) {
- return SkuType.inapp;
- }
- return _$enumDecode<SkuType, dynamic>(
- _$SkuTypeEnumMap.cast<SkuType, dynamic>(), json);
- }
-
- @override
- String toJson(SkuType object) => _$SkuTypeEnumMap[object]!;
-}
-
-/// Serializer for [ProrationMode].
-///
-/// Use these in `@JsonSerializable()` classes by annotating them with
-/// `@ProrationModeConverter()`.
-class ProrationModeConverter implements JsonConverter<ProrationMode, int?> {
- /// Default const constructor.
- const ProrationModeConverter();
-
- @override
- ProrationMode fromJson(int? json) {
- if (json == null) {
- return ProrationMode.unknownSubscriptionUpgradeDowngradePolicy;
- }
- return _$enumDecode<ProrationMode, dynamic>(
- _$ProrationModeEnumMap.cast<ProrationMode, dynamic>(), json);
- }
-
- @override
- int toJson(ProrationMode object) => _$ProrationModeEnumMap[object]!;
-}
-
-/// Serializer for [PurchaseStateWrapper].
-///
-/// Use these in `@JsonSerializable()` classes by annotating them with
-/// `@PurchaseStateConverter()`.
-class PurchaseStateConverter
- implements JsonConverter<PurchaseStateWrapper, int?> {
- /// Default const constructor.
- const PurchaseStateConverter();
-
- @override
- PurchaseStateWrapper fromJson(int? json) {
- if (json == null) {
- return PurchaseStateWrapper.unspecified_state;
- }
- return _$enumDecode<PurchaseStateWrapper, dynamic>(
- _$PurchaseStateWrapperEnumMap.cast<PurchaseStateWrapper, dynamic>(),
- json);
- }
-
- @override
- int toJson(PurchaseStateWrapper object) =>
- _$PurchaseStateWrapperEnumMap[object]!;
-
- /// Converts the purchase state stored in `object` to a [PurchaseStatus].
- ///
- /// [PurchaseStateWrapper.unspecified_state] is mapped to [PurchaseStatus.error].
- PurchaseStatus toPurchaseStatus(PurchaseStateWrapper object) {
- switch (object) {
- case PurchaseStateWrapper.pending:
- return PurchaseStatus.pending;
- case PurchaseStateWrapper.purchased:
- return PurchaseStatus.purchased;
- case PurchaseStateWrapper.unspecified_state:
- return PurchaseStatus.error;
- }
- }
-}
-
-/// Serializer for [BillingClientFeature].
-///
-/// Use these in `@JsonSerializable()` classes by annotating them with
-/// `@BillingClientFeatureConverter()`.
-class BillingClientFeatureConverter
- implements JsonConverter<BillingClientFeature, String> {
- /// Default const constructor.
- const BillingClientFeatureConverter();
-
- @override
- BillingClientFeature fromJson(String json) {
- return _$enumDecode<BillingClientFeature, dynamic>(
- _$BillingClientFeatureEnumMap.cast<BillingClientFeature, dynamic>(),
- json);
- }
-
- @override
- String toJson(BillingClientFeature object) =>
- _$BillingClientFeatureEnumMap[object]!;
-}
-
-// Define a class so we generate serializer helper methods for the enums
-// See https://github.com/google/json_serializable.dart/issues/778
-@JsonSerializable()
-class _SerializedEnums {
- late BillingResponse response;
- late SkuType type;
- late PurchaseStateWrapper purchaseState;
- late ProrationMode prorationMode;
- late BillingClientFeature billingClientFeature;
-}
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/enum_converters.g.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/enum_converters.g.dart
deleted file mode 100644
index fe92f56..0000000
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/enum_converters.g.dart
+++ /dev/null
@@ -1,94 +0,0 @@
-// GENERATED CODE - DO NOT MODIFY BY HAND
-
-part of 'enum_converters.dart';
-
-// **************************************************************************
-// JsonSerializableGenerator
-// **************************************************************************
-
-_SerializedEnums _$SerializedEnumsFromJson(Map json) => _SerializedEnums()
- ..response = _$enumDecode(_$BillingResponseEnumMap, json['response'])
- ..type = _$enumDecode(_$SkuTypeEnumMap, json['type'])
- ..purchaseState =
- _$enumDecode(_$PurchaseStateWrapperEnumMap, json['purchaseState'])
- ..prorationMode = _$enumDecode(_$ProrationModeEnumMap, json['prorationMode'])
- ..billingClientFeature =
- _$enumDecode(_$BillingClientFeatureEnumMap, json['billingClientFeature']);
-
-Map<String, dynamic> _$SerializedEnumsToJson(_SerializedEnums instance) =>
- <String, dynamic>{
- 'response': _$BillingResponseEnumMap[instance.response],
- 'type': _$SkuTypeEnumMap[instance.type],
- 'purchaseState': _$PurchaseStateWrapperEnumMap[instance.purchaseState],
- 'prorationMode': _$ProrationModeEnumMap[instance.prorationMode],
- 'billingClientFeature':
- _$BillingClientFeatureEnumMap[instance.billingClientFeature],
- };
-
-K _$enumDecode<K, V>(
- Map<K, V> enumValues,
- Object? source, {
- K? unknownValue,
-}) {
- if (source == null) {
- throw ArgumentError(
- 'A value must be provided. Supported values: '
- '${enumValues.values.join(', ')}',
- );
- }
-
- return enumValues.entries.singleWhere(
- (e) => e.value == source,
- orElse: () {
- if (unknownValue == null) {
- throw ArgumentError(
- '`$source` is not one of the supported values: '
- '${enumValues.values.join(', ')}',
- );
- }
- return MapEntry(unknownValue, enumValues.values.first);
- },
- ).key;
-}
-
-const _$BillingResponseEnumMap = {
- BillingResponse.serviceTimeout: -3,
- BillingResponse.featureNotSupported: -2,
- BillingResponse.serviceDisconnected: -1,
- BillingResponse.ok: 0,
- BillingResponse.userCanceled: 1,
- BillingResponse.serviceUnavailable: 2,
- BillingResponse.billingUnavailable: 3,
- BillingResponse.itemUnavailable: 4,
- BillingResponse.developerError: 5,
- BillingResponse.error: 6,
- BillingResponse.itemAlreadyOwned: 7,
- BillingResponse.itemNotOwned: 8,
-};
-
-const _$SkuTypeEnumMap = {
- SkuType.inapp: 'inapp',
- SkuType.subs: 'subs',
-};
-
-const _$PurchaseStateWrapperEnumMap = {
- PurchaseStateWrapper.unspecified_state: 0,
- PurchaseStateWrapper.purchased: 1,
- PurchaseStateWrapper.pending: 2,
-};
-
-const _$ProrationModeEnumMap = {
- ProrationMode.unknownSubscriptionUpgradeDowngradePolicy: 0,
- ProrationMode.immediateWithTimeProration: 1,
- ProrationMode.immediateAndChargeProratedPrice: 2,
- ProrationMode.immediateWithoutProration: 3,
- ProrationMode.deferred: 4,
-};
-
-const _$BillingClientFeatureEnumMap = {
- BillingClientFeature.inAppItemsOnVR: 'inAppItemsOnVr',
- BillingClientFeature.priceChangeConfirmation: 'priceChangeConfirmation',
- BillingClientFeature.subscriptions: 'subscriptions',
- BillingClientFeature.subscriptionsOnVR: 'subscriptionsOnVr',
- BillingClientFeature.subscriptionsUpdate: 'subscriptionsUpdate',
-};
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/purchase_wrapper.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/purchase_wrapper.dart
index 374c26a..742288e 100644
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/purchase_wrapper.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/purchase_wrapper.dart
@@ -3,10 +3,11 @@
// found in the LICENSE file.
import 'dart:ui' show hashValues;
+
import 'package:flutter/foundation.dart';
import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
import 'package:json_annotation/json_annotation.dart';
-import 'enum_converters.dart';
+
import 'billing_client_wrapper.dart';
import 'sku_details_wrapper.dart';
@@ -323,6 +324,7 @@
/// Wraps
/// [`BillingClient.api.Purchase.PurchaseState`](https://developer.android.com/reference/com/android/billingclient/api/Purchase.PurchaseState.html).
/// * See also: [PurchaseWrapper].
+@JsonEnum(alwaysCreate: true)
enum PurchaseStateWrapper {
/// The state is unspecified.
///
@@ -348,3 +350,39 @@
@JsonValue(2)
pending,
}
+
+/// Serializer for [PurchaseStateWrapper].
+///
+/// Use these in `@JsonSerializable()` classes by annotating them with
+/// `@PurchaseStateConverter()`.
+class PurchaseStateConverter
+ implements JsonConverter<PurchaseStateWrapper, int?> {
+ /// Default const constructor.
+ const PurchaseStateConverter();
+
+ @override
+ PurchaseStateWrapper fromJson(int? json) {
+ if (json == null) {
+ return PurchaseStateWrapper.unspecified_state;
+ }
+ return $enumDecode(_$PurchaseStateWrapperEnumMap, json);
+ }
+
+ @override
+ int toJson(PurchaseStateWrapper object) =>
+ _$PurchaseStateWrapperEnumMap[object]!;
+
+ /// Converts the purchase state stored in `object` to a [PurchaseStatus].
+ ///
+ /// [PurchaseStateWrapper.unspecified_state] is mapped to [PurchaseStatus.error].
+ PurchaseStatus toPurchaseStatus(PurchaseStateWrapper object) {
+ switch (object) {
+ case PurchaseStateWrapper.pending:
+ return PurchaseStatus.pending;
+ case PurchaseStateWrapper.purchased:
+ return PurchaseStatus.purchased;
+ case PurchaseStateWrapper.unspecified_state:
+ return PurchaseStatus.error;
+ }
+ }
+}
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/purchase_wrapper.g.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/purchase_wrapper.g.dart
index b5d9fe8..5815a86 100644
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/purchase_wrapper.g.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/purchase_wrapper.g.dart
@@ -23,24 +23,6 @@
obfuscatedProfileId: json['obfuscatedProfileId'] as String?,
);
-Map<String, dynamic> _$PurchaseWrapperToJson(PurchaseWrapper instance) =>
- <String, dynamic>{
- 'orderId': instance.orderId,
- 'packageName': instance.packageName,
- 'purchaseTime': instance.purchaseTime,
- 'purchaseToken': instance.purchaseToken,
- 'signature': instance.signature,
- 'sku': instance.sku,
- 'isAutoRenewing': instance.isAutoRenewing,
- 'originalJson': instance.originalJson,
- 'developerPayload': instance.developerPayload,
- 'isAcknowledged': instance.isAcknowledged,
- 'purchaseState':
- const PurchaseStateConverter().toJson(instance.purchaseState),
- 'obfuscatedAccountId': instance.obfuscatedAccountId,
- 'obfuscatedProfileId': instance.obfuscatedProfileId,
- };
-
PurchaseHistoryRecordWrapper _$PurchaseHistoryRecordWrapperFromJson(Map json) =>
PurchaseHistoryRecordWrapper(
purchaseTime: json['purchaseTime'] as int? ?? 0,
@@ -51,17 +33,6 @@
developerPayload: json['developerPayload'] as String?,
);
-Map<String, dynamic> _$PurchaseHistoryRecordWrapperToJson(
- PurchaseHistoryRecordWrapper instance) =>
- <String, dynamic>{
- 'purchaseTime': instance.purchaseTime,
- 'purchaseToken': instance.purchaseToken,
- 'signature': instance.signature,
- 'sku': instance.sku,
- 'originalJson': instance.originalJson,
- 'developerPayload': instance.developerPayload,
- };
-
PurchasesResultWrapper _$PurchasesResultWrapperFromJson(Map json) =>
PurchasesResultWrapper(
responseCode: const BillingResponseConverter()
@@ -77,15 +48,6 @@
[],
);
-Map<String, dynamic> _$PurchasesResultWrapperToJson(
- PurchasesResultWrapper instance) =>
- <String, dynamic>{
- 'billingResult': instance.billingResult,
- 'responseCode':
- const BillingResponseConverter().toJson(instance.responseCode),
- 'purchasesList': instance.purchasesList,
- };
-
PurchasesHistoryResult _$PurchasesHistoryResultFromJson(Map json) =>
PurchasesHistoryResult(
billingResult:
@@ -100,9 +62,8 @@
[],
);
-Map<String, dynamic> _$PurchasesHistoryResultToJson(
- PurchasesHistoryResult instance) =>
- <String, dynamic>{
- 'billingResult': instance.billingResult,
- 'purchaseHistoryRecordList': instance.purchaseHistoryRecordList,
- };
+const _$PurchaseStateWrapperEnumMap = {
+ PurchaseStateWrapper.unspecified_state: 0,
+ PurchaseStateWrapper.purchased: 1,
+ PurchaseStateWrapper.pending: 2,
+};
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/sku_details_wrapper.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/sku_details_wrapper.dart
index 754f7a3..8069a1f 100644
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/sku_details_wrapper.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/sku_details_wrapper.dart
@@ -3,10 +3,11 @@
// found in the LICENSE file.
import 'dart:ui' show hashValues;
+
import 'package:flutter/foundation.dart';
import 'package:json_annotation/json_annotation.dart';
+
import 'billing_client_wrapper.dart';
-import 'enum_converters.dart';
// WARNING: Changes to `@JsonSerializable` classes need to be reflected in the
// below generated file. Run `flutter packages pub run build_runner watch` to
@@ -75,7 +76,6 @@
///
/// Returns 0 if the SKU is not a subscription or doesn't have an introductory
/// period.
- @JsonKey(name: 'introductoryPriceAmountMicros', defaultValue: 0)
final int introductoryPriceAmountMicros;
/// String representation of [introductoryPrice] in micro-units 990000
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/sku_details_wrapper.g.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/sku_details_wrapper.g.dart
index 53d5931..05eb6be 100644
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/sku_details_wrapper.g.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/sku_details_wrapper.g.dart
@@ -26,26 +26,6 @@
originalPriceAmountMicros: json['originalPriceAmountMicros'] as int? ?? 0,
);
-Map<String, dynamic> _$SkuDetailsWrapperToJson(SkuDetailsWrapper instance) =>
- <String, dynamic>{
- 'description': instance.description,
- 'freeTrialPeriod': instance.freeTrialPeriod,
- 'introductoryPrice': instance.introductoryPrice,
- 'introductoryPriceAmountMicros': instance.introductoryPriceAmountMicros,
- 'introductoryPriceCycles': instance.introductoryPriceCycles,
- 'introductoryPricePeriod': instance.introductoryPricePeriod,
- 'price': instance.price,
- 'priceAmountMicros': instance.priceAmountMicros,
- 'priceCurrencyCode': instance.priceCurrencyCode,
- 'priceCurrencySymbol': instance.priceCurrencySymbol,
- 'sku': instance.sku,
- 'subscriptionPeriod': instance.subscriptionPeriod,
- 'title': instance.title,
- 'type': const SkuTypeConverter().toJson(instance.type),
- 'originalPrice': instance.originalPrice,
- 'originalPriceAmountMicros': instance.originalPriceAmountMicros,
- };
-
SkuDetailsResponseWrapper _$SkuDetailsResponseWrapperFromJson(Map json) =>
SkuDetailsResponseWrapper(
billingResult:
@@ -59,24 +39,9 @@
[],
);
-Map<String, dynamic> _$SkuDetailsResponseWrapperToJson(
- SkuDetailsResponseWrapper instance) =>
- <String, dynamic>{
- 'billingResult': instance.billingResult,
- 'skuDetailsList': instance.skuDetailsList,
- };
-
BillingResultWrapper _$BillingResultWrapperFromJson(Map json) =>
BillingResultWrapper(
responseCode: const BillingResponseConverter()
.fromJson(json['responseCode'] as int?),
debugMessage: json['debugMessage'] as String?,
);
-
-Map<String, dynamic> _$BillingResultWrapperToJson(
- BillingResultWrapper instance) =>
- <String, dynamic>{
- 'responseCode':
- const BillingResponseConverter().toJson(instance.responseCode),
- 'debugMessage': instance.debugMessage,
- };
diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart
index 53b58bd..e607164 100644
--- a/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/types/google_play_purchase_details.dart
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-import 'package:in_app_purchase_android/src/billing_client_wrappers/enum_converters.dart';
import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
import '../../billing_client_wrappers.dart';
diff --git a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
index d51abbb..7230b56 100644
--- a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml
@@ -2,10 +2,10 @@
description: An implementation for the Android platform of the Flutter `in_app_purchase` plugin. This uses the Android BillingClient APIs.
repository: https://github.com/flutter/plugins/tree/master/packages/in_app_purchase/in_app_purchase_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22
-version: 0.1.5+1
+version: 0.1.6
environment:
- sdk: ">=2.12.0 <3.0.0"
+ sdk: ">=2.14.0 <3.0.0"
flutter: ">=2.0.0"
flutter:
@@ -21,12 +21,12 @@
flutter:
sdk: flutter
in_app_purchase_platform_interface: ^1.1.0
- json_annotation: ^4.0.1
+ json_annotation: ^4.3.0
meta: ^1.3.0
dev_dependencies:
build_runner: ^2.0.0
flutter_test:
sdk: flutter
- json_serializable: ^5.0.2
+ json_serializable: ^6.0.0
test: ^1.16.0
diff --git a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_wrapper_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_wrapper_test.dart
index 02ae9ba..1a2a0e4 100644
--- a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_wrapper_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_wrapper_test.dart
@@ -2,15 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/services.dart';
+import 'package:flutter_test/flutter_test.dart';
import 'package:in_app_purchase_android/billing_client_wrappers.dart';
-import 'package:in_app_purchase_android/src/billing_client_wrappers/enum_converters.dart';
import 'package:in_app_purchase_android/src/channel.dart';
import '../stub_in_app_purchase_platform.dart';
-import 'sku_details_wrapper_test.dart';
import 'purchase_wrapper_test.dart';
+import 'sku_details_wrapper_test.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
diff --git a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/purchase_wrapper_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/purchase_wrapper_test.dart
index 70b9fca..f513420 100644
--- a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/purchase_wrapper_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/purchase_wrapper_test.dart
@@ -4,7 +4,6 @@
import 'package:in_app_purchase_android/billing_client_wrappers.dart';
import 'package:in_app_purchase_android/in_app_purchase_android.dart';
-import 'package:in_app_purchase_android/src/billing_client_wrappers/enum_converters.dart';
import 'package:test/test.dart';
final PurchaseWrapper dummyPurchase = PurchaseWrapper(
diff --git a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/sku_details_wrapper_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/sku_details_wrapper_test.dart
index 18804a4..08cde07 100644
--- a/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/sku_details_wrapper_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/sku_details_wrapper_test.dart
@@ -2,10 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+import 'package:in_app_purchase_android/billing_client_wrappers.dart';
import 'package:in_app_purchase_android/src/types/google_play_product_details.dart';
import 'package:test/test.dart';
-import 'package:in_app_purchase_android/billing_client_wrappers.dart';
-import 'package:in_app_purchase_android/src/billing_client_wrappers/enum_converters.dart';
final SkuDetailsWrapper dummySkuDetails = SkuDetailsWrapper(
description: 'description',
diff --git a/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_addition_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_addition_test.dart
index a478cab..ecefc4d 100644
--- a/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_addition_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_addition_test.dart
@@ -7,7 +7,6 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:in_app_purchase_android/billing_client_wrappers.dart';
import 'package:in_app_purchase_android/in_app_purchase_android.dart';
-import 'package:in_app_purchase_android/src/billing_client_wrappers/enum_converters.dart';
import 'package:in_app_purchase_android/src/channel.dart';
import 'package:in_app_purchase_android/src/in_app_purchase_android_platform_addition.dart';
diff --git a/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart b/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart
index 52ec08b..bd70489 100644
--- a/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart
+++ b/packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart
@@ -9,7 +9,6 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:in_app_purchase_android/billing_client_wrappers.dart';
import 'package:in_app_purchase_android/in_app_purchase_android.dart';
-import 'package:in_app_purchase_android/src/billing_client_wrappers/enum_converters.dart';
import 'package:in_app_purchase_android/src/channel.dart';
import 'package:in_app_purchase_android/src/in_app_purchase_android_platform_addition.dart';
import 'package:in_app_purchase_platform_interface/in_app_purchase_platform_interface.dart';
diff --git a/packages/in_app_purchase/in_app_purchase_ios/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_ios/CHANGELOG.md
index 76cafa9..4daa6a2 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/CHANGELOG.md
+++ b/packages/in_app_purchase/in_app_purchase_ios/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.1.4
+
+* Require Dart SDK >= 2.14.
+
## 0.1.3+5
* Updated example app to handle restored purchases properly.
diff --git a/packages/in_app_purchase/in_app_purchase_ios/build.yaml b/packages/in_app_purchase/in_app_purchase_ios/build.yaml
index e15cf14..651a557 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/build.yaml
+++ b/packages/in_app_purchase/in_app_purchase_ios/build.yaml
@@ -1,7 +1,8 @@
+# See https://pub.dev/packages/build_config
targets:
$default:
builders:
json_serializable:
options:
any_map: true
- create_to_json: true
+ create_to_json: false
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.dart b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.dart
index 7017826..8a0526f 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.dart
+++ b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.dart
@@ -23,7 +23,7 @@
if (json == null) {
return SKPaymentTransactionStateWrapper.unspecified;
}
- return _$enumDecode<SKPaymentTransactionStateWrapper, dynamic>(
+ return $enumDecode<SKPaymentTransactionStateWrapper, dynamic>(
_$SKPaymentTransactionStateWrapperEnumMap
.cast<SKPaymentTransactionStateWrapper, dynamic>(),
json);
@@ -64,7 +64,7 @@
if (json == null) {
return SKSubscriptionPeriodUnit.day;
}
- return _$enumDecode<SKSubscriptionPeriodUnit, dynamic>(
+ return $enumDecode<SKSubscriptionPeriodUnit, dynamic>(
_$SKSubscriptionPeriodUnitEnumMap
.cast<SKSubscriptionPeriodUnit, dynamic>(),
json);
@@ -89,7 +89,7 @@
if (json == null) {
return SKProductDiscountPaymentMode.payAsYouGo;
}
- return _$enumDecode<SKProductDiscountPaymentMode, dynamic>(
+ return $enumDecode<SKProductDiscountPaymentMode, dynamic>(
_$SKProductDiscountPaymentModeEnumMap
.cast<SKProductDiscountPaymentMode, dynamic>(),
json);
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.g.dart b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.g.dart
index ce0f56b..0d05720 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.g.dart
+++ b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/enum_converters.g.dart
@@ -8,45 +8,11 @@
_SerializedEnums _$SerializedEnumsFromJson(Map json) => _SerializedEnums()
..response =
- _$enumDecode(_$SKPaymentTransactionStateWrapperEnumMap, json['response'])
- ..unit = _$enumDecode(_$SKSubscriptionPeriodUnitEnumMap, json['unit'])
- ..discountPaymentMode = _$enumDecode(
+ $enumDecode(_$SKPaymentTransactionStateWrapperEnumMap, json['response'])
+ ..unit = $enumDecode(_$SKSubscriptionPeriodUnitEnumMap, json['unit'])
+ ..discountPaymentMode = $enumDecode(
_$SKProductDiscountPaymentModeEnumMap, json['discountPaymentMode']);
-Map<String, dynamic> _$SerializedEnumsToJson(_SerializedEnums instance) =>
- <String, dynamic>{
- 'response': _$SKPaymentTransactionStateWrapperEnumMap[instance.response],
- 'unit': _$SKSubscriptionPeriodUnitEnumMap[instance.unit],
- 'discountPaymentMode':
- _$SKProductDiscountPaymentModeEnumMap[instance.discountPaymentMode],
- };
-
-K _$enumDecode<K, V>(
- Map<K, V> enumValues,
- Object? source, {
- K? unknownValue,
-}) {
- if (source == null) {
- throw ArgumentError(
- 'A value must be provided. Supported values: '
- '${enumValues.values.join(', ')}',
- );
- }
-
- return enumValues.entries.singleWhere(
- (e) => e.value == source,
- orElse: () {
- if (unknownValue == null) {
- throw ArgumentError(
- '`$source` is not one of the supported values: '
- '${enumValues.values.join(', ')}',
- );
- }
- return MapEntry(unknownValue, enumValues.values.first);
- },
- ).key;
-}
-
const _$SKPaymentTransactionStateWrapperEnumMap = {
SKPaymentTransactionStateWrapper.purchasing: 0,
SKPaymentTransactionStateWrapper.purchased: 1,
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart
index 079e750..3decba2 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart
+++ b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.dart
@@ -375,7 +375,7 @@
/// [SKPaymentQueueWrapper.addPayment] directly with a product identifier to
/// initiate a payment.
@immutable
-@JsonSerializable()
+@JsonSerializable(createToJson: true)
class SKPaymentWrapper {
/// Creates a new [SKPaymentWrapper] with the provided information.
const SKPaymentWrapper(
@@ -448,7 +448,6 @@
///
/// See https://developer.apple.com/in-app-purchase/ for a guide on Sandbox
/// testing.
- @JsonKey(defaultValue: false)
final bool simulatesAskToBuyInSandbox;
@override
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.g.dart b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.g.dart
index 4d2b5e4..8c0e64b 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.g.dart
+++ b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_queue_wrapper.g.dart
@@ -15,12 +15,6 @@
{},
);
-Map<String, dynamic> _$SKErrorToJson(SKError instance) => <String, dynamic>{
- 'code': instance.code,
- 'domain': instance.domain,
- 'userInfo': instance.userInfo,
- };
-
SKPaymentWrapper _$SKPaymentWrapperFromJson(Map json) => SKPaymentWrapper(
productIdentifier: json['productIdentifier'] as String? ?? '',
applicationUsername: json['applicationUsername'] as String?,
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.dart b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.dart
index 01cd6db..885e9c0 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.dart
+++ b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_payment_transaction_wrappers.dart
@@ -3,10 +3,12 @@
// found in the LICENSE file.
import 'dart:ui' show hashValues;
+
import 'package:json_annotation/json_annotation.dart';
-import 'sk_product_wrapper.dart';
-import 'sk_payment_queue_wrapper.dart';
+
import 'enum_converters.dart';
+import 'sk_payment_queue_wrapper.dart';
+import 'sk_product_wrapper.dart';
part 'sk_payment_transaction_wrappers.g.dart';
@@ -101,7 +103,7 @@
///
/// Dart wrapper around StoreKit's
/// [SKPaymentTransaction](https://developer.apple.com/documentation/storekit/skpaymenttransaction?language=objc).
-@JsonSerializable()
+@JsonSerializable(createToJson: true)
class SKPaymentTransactionWrapper {
/// Creates a new [SKPaymentTransactionWrapper] with the provided information.
SKPaymentTransactionWrapper({
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_product_wrapper.g.dart b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_product_wrapper.g.dart
index 485bf19..c9079ff 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_product_wrapper.g.dart
+++ b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_product_wrapper.g.dart
@@ -20,13 +20,6 @@
[],
);
-Map<String, dynamic> _$SkProductResponseWrapperToJson(
- SkProductResponseWrapper instance) =>
- <String, dynamic>{
- 'products': instance.products,
- 'invalidProductIdentifiers': instance.invalidProductIdentifiers,
- };
-
SKProductSubscriptionPeriodWrapper _$SKProductSubscriptionPeriodWrapperFromJson(
Map json) =>
SKProductSubscriptionPeriodWrapper(
@@ -35,13 +28,6 @@
.fromJson(json['unit'] as int?),
);
-Map<String, dynamic> _$SKProductSubscriptionPeriodWrapperToJson(
- SKProductSubscriptionPeriodWrapper instance) =>
- <String, dynamic>{
- 'numberOfUnits': instance.numberOfUnits,
- 'unit': const SKSubscriptionPeriodUnitConverter().toJson(instance.unit),
- };
-
SKProductDiscountWrapper _$SKProductDiscountWrapperFromJson(Map json) =>
SKProductDiscountWrapper(
price: json['price'] as String? ?? '',
@@ -58,17 +44,6 @@
)),
);
-Map<String, dynamic> _$SKProductDiscountWrapperToJson(
- SKProductDiscountWrapper instance) =>
- <String, dynamic>{
- 'price': instance.price,
- 'priceLocale': instance.priceLocale,
- 'numberOfPeriods': instance.numberOfPeriods,
- 'paymentMode': const SKProductDiscountPaymentModeConverter()
- .toJson(instance.paymentMode),
- 'subscriptionPeriod': instance.subscriptionPeriod,
- };
-
SKProductWrapper _$SKProductWrapperFromJson(Map json) => SKProductWrapper(
productIdentifier: json['productIdentifier'] as String? ?? '',
localizedTitle: json['localizedTitle'] as String? ?? '',
@@ -92,29 +67,9 @@
Map<String, dynamic>.from(json['introductoryPrice'] as Map)),
);
-Map<String, dynamic> _$SKProductWrapperToJson(SKProductWrapper instance) =>
- <String, dynamic>{
- 'productIdentifier': instance.productIdentifier,
- 'localizedTitle': instance.localizedTitle,
- 'localizedDescription': instance.localizedDescription,
- 'priceLocale': instance.priceLocale,
- 'subscriptionGroupIdentifier': instance.subscriptionGroupIdentifier,
- 'price': instance.price,
- 'subscriptionPeriod': instance.subscriptionPeriod,
- 'introductoryPrice': instance.introductoryPrice,
- };
-
SKPriceLocaleWrapper _$SKPriceLocaleWrapperFromJson(Map json) =>
SKPriceLocaleWrapper(
currencySymbol: json['currencySymbol'] as String? ?? '',
currencyCode: json['currencyCode'] as String? ?? '',
countryCode: json['countryCode'] as String? ?? '',
);
-
-Map<String, dynamic> _$SKPriceLocaleWrapperToJson(
- SKPriceLocaleWrapper instance) =>
- <String, dynamic>{
- 'currencySymbol': instance.currencySymbol,
- 'currencyCode': instance.currencyCode,
- 'countryCode': instance.countryCode,
- };
diff --git a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_storefront_wrapper.dart b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_storefront_wrapper.dart
index 934fdea..bcdae32 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_storefront_wrapper.dart
+++ b/packages/in_app_purchase/in_app_purchase_ios/lib/src/store_kit_wrappers/sk_storefront_wrapper.dart
@@ -12,7 +12,7 @@
///
/// Dart wrapper around StoreKit's
/// [SKStorefront](https://developer.apple.com/documentation/storekit/skstorefront?language=objc).
-@JsonSerializable()
+@JsonSerializable(createToJson: true)
class SKStorefrontWrapper {
/// Creates a new [SKStorefrontWrapper] with the provided information.
SKStorefrontWrapper({
diff --git a/packages/in_app_purchase/in_app_purchase_ios/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_ios/pubspec.yaml
index fdd769e..b40ad1d 100644
--- a/packages/in_app_purchase/in_app_purchase_ios/pubspec.yaml
+++ b/packages/in_app_purchase/in_app_purchase_ios/pubspec.yaml
@@ -2,7 +2,7 @@
description: An implementation for the iOS platform of the Flutter `in_app_purchase` plugin. This uses the iOS StoreKit Framework.
repository: https://github.com/flutter/plugins/tree/master/packages/in_app_purchase/in_app_purchase_ios
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22
-version: 0.1.3+5
+version: 0.1.4
environment:
sdk: ">=2.14.0 <3.0.0"
@@ -20,12 +20,12 @@
flutter:
sdk: flutter
in_app_purchase_platform_interface: ^1.1.0
- json_annotation: ^4.0.1
+ json_annotation: ^4.3.0
meta: ^1.3.0
dev_dependencies:
build_runner: ^2.0.0
flutter_test:
sdk: flutter
- json_serializable: ^5.0.2
+ json_serializable: ^6.0.0
test: ^1.16.0