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

25 lines
683 B
TypeScript
Raw Normal View History

import { EventEmitter } from 'events';
2017-11-30 13:27:33 +00:00
let _inAppPurchase;
if (process.platform === 'darwin') {
const { inAppPurchase, InAppPurchase } = process._linkedBinding('electron_browser_in_app_purchase');
2017-11-30 13:27:33 +00:00
// inAppPurchase is an EventEmitter.
2020-03-20 20:28:31 +00:00
Object.setPrototypeOf(InAppPurchase.prototype, EventEmitter.prototype);
EventEmitter.call(inAppPurchase);
2017-11-30 13:27:33 +00:00
_inAppPurchase = inAppPurchase;
} else {
_inAppPurchase = new EventEmitter();
Object.assign(_inAppPurchase, {
purchaseProduct: () => {
2020-03-20 20:28:31 +00:00
throw new Error('The inAppPurchase module can only be used on macOS');
},
canMakePayments: () => false,
getReceiptURL: () => ''
});
}
export default _inAppPurchase;