Skip to content

Commit

Permalink
feat: expose currencyCode on Product struct in IAP module
Browse files Browse the repository at this point in the history
  • Loading branch information
Shur Singh committed Aug 20, 2020
1 parent 5366844 commit 0d73d7c
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/api/structures/product.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@
* `contentLengths` Number[] - The total size of the content, in bytes.
* `price` Number - The cost of the product in the local currency.
* `formattedPrice` String - The locale formatted price of the product.
* `currencyCode` String - 3 character code presenting a product's currency based on the ISO 4217 standard.
* `isDownloadable` Boolean - A Boolean value that indicates whether the App Store has downloadable content for this product. `true` if at least one file has been associated with the product.
3 changes: 3 additions & 0 deletions shell/browser/api/electron_api_in_app_purchase.cc
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ struct Converter<in_app_purchase::Product> {
dict.Set("price", val.price);
dict.Set("formattedPrice", val.formattedPrice);

// Currency Information
dict.Set("currencyCode", val.currencyCode);

// Downloadable Content Information
dict.Set("isDownloadable", val.isDownloadable);

Expand Down
3 changes: 3 additions & 0 deletions shell/browser/mac/in_app_purchase_product.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ struct Product {
double price = 0.0;
std::string formattedPrice;

// Currency Information
std::string currencyCode;

// Downloadable Content Information
bool isDownloadable = false;

Expand Down
7 changes: 7 additions & 0 deletions shell/browser/mac/in_app_purchase_product.mm
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,13 @@ - (NSString*)formatPrice:(NSDecimalNumber*)price
productStruct.formattedPrice =
[[self formatPrice:product.price
withLocal:product.priceLocale] UTF8String];

// Currency Information
if (@available(macOS 10.12, *)) {
if (product.priceLocale.currencyCode != nil) {
productStruct.currencyCode = [product.priceLocale.currencyCode UTF8String]);
}
}
}
}

Expand Down

0 comments on commit 0d73d7c

Please sign in to comment.