'use strict';

const { deprecate } = require('electron');

if (process.platform === 'darwin') {
  const { EventEmitter } = require('events');
  const { inAppPurchase, InAppPurchase } = process.electronBinding('in_app_purchase');

  // inAppPurchase is an EventEmitter.
  Object.setPrototypeOf(InAppPurchase.prototype, EventEmitter.prototype);
  EventEmitter.call(inAppPurchase);

  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: () => ''
  };
}
