electron/lib/browser/api/in-app-purchase.js

26 lines
809 B
JavaScript
Raw Normal View History

2017-11-30 13:27:33 +00:00
'use strict'
const { deprecate } = require('electron')
if (process.platform === 'darwin') {
2018-09-13 16:10:51 +00:00
const { EventEmitter } = require('events')
const { inAppPurchase, InAppPurchase } = process.electronBinding('in_app_purchase')
2017-11-30 13:27:33 +00:00
// inAppPurchase is an EventEmitter.
Object.setPrototypeOf(InAppPurchase.prototype, EventEmitter.prototype)
EventEmitter.call(inAppPurchase)
2017-11-30 13:27:33 +00:00
module.exports = inAppPurchase
} else {
module.exports = {
purchaseProduct: (productID, quantity, callback) => {
throw new Error('The inAppPurchase module can only be used on macOS')
},
canMakePayments: () => false,
getReceiptURL: () => ''
}
}
module.exports.purchaseProduct = deprecate.promisify(module.exports.purchaseProduct)
module.exports.getProducts = deprecate.promisify(module.exports.getProducts)