UNPKG

vue-culqi-checkout

Version:

<p align="center"> <h1 align="center">Vue Culqi Checkout 💳</h1> </p>

98 lines (79 loc) • 2.69 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var plugin = { install: function install(Vue, options) { var vue = Vue; this.loadScript('culqi-lib').then(function (win) { if (win.Culqi && options) { win.Culqi.publicKey = options.publicKey; var qResolve; var qReject; win.culqi = function () { var _win$Culqi; if ((_win$Culqi = win.Culqi) != null && _win$Culqi.token) { var _win$Culqi2; qResolve((_win$Culqi2 = win.Culqi) == null ? void 0 : _win$Culqi2.token); } else { var _win$Culqi3, _win$Culqi3$error; qReject(new Error((_win$Culqi3 = win.Culqi) == null ? void 0 : (_win$Culqi3$error = _win$Culqi3.error) == null ? void 0 : _win$Culqi3$error.user_message)); } }; vue.prototype.$culqi = { openCheckout: function openCheckout(subOptions) { var _win$Culqi4, _win$Culqi5; if (subOptions === void 0) { subOptions = {}; } (_win$Culqi4 = win.Culqi) == null ? void 0 : _win$Culqi4.settings(_extends({}, options, subOptions)); (_win$Culqi5 = win.Culqi) == null ? void 0 : _win$Culqi5.open(); return new Promise(function (resolve, reject) { qResolve = resolve; qReject = reject; }); } }; } })["catch"](window.alert); }, loadScript: function loadScript(id) { return new Promise(function (resolve, reject) { var c = 0; var win = window; if (!document.getElementById(id)) { var doc = document; var script = doc.createElement('script'); script.async = true; script.src = 'https://checkout.culqi.com/js/v3'; script.id = id; doc.body.appendChild(script); } var checkCulqi = setInterval(function () { c += 1; if (c > 10) { clearInterval(checkCulqi); reject(new Error('The Culqi plugin could not be loaded.')); } if (win.Culqi) { clearInterval(checkCulqi); resolve(win); } }, 1000); }); } }; exports.default = plugin; //# sourceMappingURL=vue-culqi-checkout.cjs.development.js.map