mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-04 08:47:23 +08:00
✨ Introduce a new ConsoleLogger JS class
Extract debug logic to separate component
This commit is contained in:
parent
9da37a2cc6
commit
f1f243505c
2 changed files with 56 additions and 29 deletions
|
@ -0,0 +1,42 @@
|
|||
/**
|
||||
* Logs debug details to the console.
|
||||
*
|
||||
* A utility class that is used by payment buttons on the front-end, like the GooglePayButton.
|
||||
*/
|
||||
export default class ConsoleLogger {
|
||||
/**
|
||||
* The prefix to display before every log output.
|
||||
*
|
||||
* @type {string}
|
||||
*/
|
||||
#prefix = '';
|
||||
|
||||
/**
|
||||
* Whether logging is enabled, disabled by default.
|
||||
*
|
||||
* @type {boolean}
|
||||
*/
|
||||
#enabled = false;
|
||||
|
||||
constructor( ...prefixes ) {
|
||||
if ( prefixes.length ) {
|
||||
this.#prefix = `[${ prefixes.join( ' | ' ) }]`;
|
||||
}
|
||||
}
|
||||
|
||||
set enabled( state ) {
|
||||
this.#enabled = state;
|
||||
}
|
||||
|
||||
log( ...args ) {
|
||||
if ( this.#enabled ) {
|
||||
console.log( this.#prefix, ...args );
|
||||
}
|
||||
}
|
||||
|
||||
error( ...args ) {
|
||||
if ( this.#enabled ) {
|
||||
console.error( this.#prefix, ...args );
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue