woocommerce-paypal-payments/modules/ppcp-button/resources/js/modules/Helper/SimulateCart.js
Pedro Silva 4e50d1d6ba
* Add paypal script reloading
* Add button reloading in cart and product page
* Add checking filters asynchronously
2023-07-20 08:02:15 +01:00

48 lines
1.2 KiB
JavaScript

class SimulateCart {
constructor(endpoint, nonce)
{
this.endpoint = endpoint;
this.nonce = nonce;
}
/**
*
* @param onResolve
* @param {Product[]} products
* @returns {Promise<unknown>}
*/
simulate(onResolve, products)
{
return new Promise((resolve, reject) => {
fetch(
this.endpoint,
{
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
credentials: 'same-origin',
body: JSON.stringify({
nonce: this.nonce,
products,
})
}
).then(
(result) => {
return result.json();
}
).then((result) => {
if (! result.success) {
reject(result.data);
return;
}
const resolved = onResolve(result.data);
resolve(resolved);
})
});
}
}
export default SimulateCart;