@quadible/web-sdk
Version:
The web sdk for Quadible's behavioral authentication service.
28 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = getApplePayState;
exports.getStateFromError = getStateFromError;
const dom_1 = require("../utils/dom");
function getApplePayState() {
const { ApplePaySession } = window;
if (typeof ApplePaySession?.canMakePayments !== 'function') {
return -1 /* ApplePayState.NoAPI */;
}
if (willPrintConsoleError()) {
return -3 /* ApplePayState.NotAvailableInFrame */;
}
try {
return ApplePaySession.canMakePayments() ? 1 /* ApplePayState.Enabled */ : 0 /* ApplePayState.Disabled */;
}
catch (error) {
return getStateFromError(error);
}
}
const willPrintConsoleError = dom_1.isAnyParentCrossOrigin;
function getStateFromError(error) {
if (error instanceof Error && error.name === 'InvalidAccessError' && /\bfrom\b.*\binsecure\b/i.test(error.message)) {
return -2 /* ApplePayState.NotAvailableInInsecureContext */;
}
throw error;
}
//# sourceMappingURL=apple_pay.js.map