From 4b30449ddb4ce7145a4e69ace7f93d6bb38c25b1 Mon Sep 17 00:00:00 2001
From: Philipp Stracker
Date: Wed, 7 Aug 2024 14:36:51 +0200
Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9=20ConsoleLogger=20will=20always=20?=
=?UTF-8?q?output=20error=20messages?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../resources/js/GooglepayButton.js | 4 ++--
.../resources/js/helper/ConsoleLogger.js | 21 ++++++++++++++++---
2 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/modules/ppcp-googlepay/resources/js/GooglepayButton.js b/modules/ppcp-googlepay/resources/js/GooglepayButton.js
index 832768401..ec0f4bd7a 100644
--- a/modules/ppcp-googlepay/resources/js/GooglepayButton.js
+++ b/modules/ppcp-googlepay/resources/js/GooglepayButton.js
@@ -227,8 +227,8 @@ class GooglepayButton extends PaymentButton {
this.paymentsClient.loadPaymentData( paymentDataRequest );
},
- () => {
- console.error( '[GooglePayButton] Form validation failed.' );
+ ( reason ) => {
+ this.error( 'Form validation failed.', reason );
}
);
}
diff --git a/modules/ppcp-wc-gateway/resources/js/helper/ConsoleLogger.js b/modules/ppcp-wc-gateway/resources/js/helper/ConsoleLogger.js
index 4b8891247..c76aa8960 100644
--- a/modules/ppcp-wc-gateway/resources/js/helper/ConsoleLogger.js
+++ b/modules/ppcp-wc-gateway/resources/js/helper/ConsoleLogger.js
@@ -24,10 +24,20 @@ export default class ConsoleLogger {
}
}
+ /**
+ * Enable or disable logging. Only impacts `log()` output.
+ *
+ * @param {boolean} state True to enable log output.
+ */
set enabled( state ) {
this.#enabled = state;
}
+ /**
+ * Output log-level details to the browser console, if logging is enabled.
+ *
+ * @param {...any} args - All provided values are output to the browser console.
+ */
log( ...args ) {
if ( this.#enabled ) {
// eslint-disable-next-line
@@ -35,9 +45,14 @@ export default class ConsoleLogger {
}
}
+ /**
+ * Generate an error message in the browser's console.
+ *
+ * Error messages are always output, even when logging is disabled.
+ *
+ * @param {...any} args - All provided values are output to the browser console.
+ */
error( ...args ) {
- if ( this.#enabled ) {
- console.error( this.#prefix, ...args );
- }
+ console.error( this.#prefix, ...args );
}
}