|
@@ -3,19 +3,35 @@ export const isProd = import.meta.env.MODE === 'production'
|
|
|
|
|
|
const logPrefix = '[TresJS ▲ ■ ●] '
|
|
const logPrefix = '[TresJS ▲ ■ ●] '
|
|
|
|
|
|
|
|
+type OneOrMore<T> = { 0: T } & Array<T>
|
|
|
|
+
|
|
interface LoggerComposition {
|
|
interface LoggerComposition {
|
|
- logError: (message: string, error?: Error | ErrorEvent) => void
|
|
|
|
- logWarning: (message: string) => void
|
|
|
|
|
|
+ logError: (...args: OneOrMore<any>) => void
|
|
|
|
+ logWarning: (...args: OneOrMore<any>) => void
|
|
logMessage: (name: string, value: any) => void
|
|
logMessage: (name: string, value: any) => void
|
|
}
|
|
}
|
|
|
|
|
|
export function useLogger(): LoggerComposition {
|
|
export function useLogger(): LoggerComposition {
|
|
- function logError(message: string, error?: Error | ErrorEvent) {
|
|
|
|
- console.error(`${logPrefix} ${message}`, error || '')
|
|
|
|
|
|
+ function logError(...args: OneOrMore<any>) {
|
|
|
|
+ if (typeof args[0] === 'string') {
|
|
|
|
+ // NOTE: Don't break console string substitution
|
|
|
|
+ args[0] = logPrefix + args[0]
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ args.unshift(logPrefix)
|
|
|
|
+ }
|
|
|
|
+ console.error(...args)
|
|
}
|
|
}
|
|
|
|
|
|
- function logWarning(message: string) {
|
|
|
|
- console.warn(`${logPrefix} ${message}`)
|
|
|
|
|
|
+ function logWarning(...args: OneOrMore<any>) {
|
|
|
|
+ if (typeof args[0] === 'string') {
|
|
|
|
+ // NOTE: Don't break console string substitution
|
|
|
|
+ args[0] = logPrefix + args[0]
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ args.unshift(logPrefix)
|
|
|
|
+ }
|
|
|
|
+ console.warn(...args)
|
|
}
|
|
}
|
|
|
|
|
|
function logMessage(name: string, value: any) {
|
|
function logMessage(name: string, value: any) {
|