blob: ade62bde080a0abc1aa8ee462faec000d2dabcab [file] [log] [blame]
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Generated from Web IDL definitions.
import 'dart:js_interop';
import 'payment_request.dart';
typedef ItemType = String;
@JS('DigitalGoodsService')
@staticInterop
class DigitalGoodsService {}
extension DigitalGoodsServiceExtension on DigitalGoodsService {
external JSPromise getDetails(JSArray itemIds);
external JSPromise listPurchases();
external JSPromise listPurchaseHistory();
external JSPromise consume(String purchaseToken);
}
@JS()
@staticInterop
@anonymous
class ItemDetails {
external factory ItemDetails({
required String itemId,
required String title,
required PaymentCurrencyAmount price,
ItemType type,
String description,
JSArray iconURLs,
String subscriptionPeriod,
String freeTrialPeriod,
PaymentCurrencyAmount introductoryPrice,
String introductoryPricePeriod,
int introductoryPriceCycles,
});
}
extension ItemDetailsExtension on ItemDetails {
external set itemId(String value);
external String get itemId;
external set title(String value);
external String get title;
external set price(PaymentCurrencyAmount value);
external PaymentCurrencyAmount get price;
external set type(ItemType value);
external ItemType get type;
external set description(String value);
external String get description;
external set iconURLs(JSArray value);
external JSArray get iconURLs;
external set subscriptionPeriod(String value);
external String get subscriptionPeriod;
external set freeTrialPeriod(String value);
external String get freeTrialPeriod;
external set introductoryPrice(PaymentCurrencyAmount value);
external PaymentCurrencyAmount get introductoryPrice;
external set introductoryPricePeriod(String value);
external String get introductoryPricePeriod;
external set introductoryPriceCycles(int value);
external int get introductoryPriceCycles;
}
@JS()
@staticInterop
@anonymous
class PurchaseDetails {
external factory PurchaseDetails({
required String itemId,
required String purchaseToken,
});
}
extension PurchaseDetailsExtension on PurchaseDetails {
external set itemId(String value);
external String get itemId;
external set purchaseToken(String value);
external String get purchaseToken;
}