import { ERROR_TYPES as r } from "./error.constants"
export function areEqualErrors(r, o) {
return r.message === o.message && r.stack === o.stack
}
export function isErrorObject(r) {
return r instanceof Error || !(!r.message || !r.stack)
}
export function createLogEntry(o, e) {
return {
grouped: 1,
notifyAll: o?.notifyAll ?? !1,
timestamp: Date.now(),
type: o?.type || e || r.INFO,
message: o?.message || "Unknown error",
stack: o?.stack || "",
errorCode: o?.errorCode || "",
roomId: o?.roomId || "",
roomTitle: o?.roomTitle || "",
}
}
export function setLogEntry(r, o, e) {
const t = createLogEntry(o, e),
s = r.errors.findIndex((r) => areEqualErrors(r, t))
;-1 !== s
? ((r.errors[s].grouped += t.grouped), (r.errors[s].timestamp = t.timestamp))
: (r.errors = [t, ...r.errors])
}
export const createInfoError = (r) => {
const o = new Error(r)
return ((o.isInfo = !0), o)
}
export const isInfoError = (r) => !!r?.isInfo