{"version":3,"file":"log-memory.cjs","names":["useNamespaceFilter","useLevelFilter","getTimestamp","objectPlain"],"sources":["../../../src/common/log/log-memory.ts"],"sourcesContent":["import type { LogHandler, LogHandlerOptions, LogMessage, LogMessageCompact } from './log-base'\nimport { objectPlain } from '../data/object'\nimport { getTimestamp } from '../time'\nimport { useLevelFilter, useNamespaceFilter } from './log-filter'\n\nexport function logMessageFromCompact(m: LogMessageCompact): LogMessage {\n  const [timestamp, level, name, ...messages] = m\n  return { timestamp, level, name, messages }\n}\n\n/** Collect messages in a list. */\nexport function LoggerMemoryHandler(\n  opt: LogHandlerOptions & {\n    compact?: boolean\n    messages: LogMessageCompact[] | LogMessage[]\n    errorTrace?: boolean\n    limit?: number\n    maxDepth?: number\n    keepAsIs?: (v: any) => boolean\n  },\n): LogHandler {\n  const { level = undefined, filter = undefined, compact = false, messages = [], errorTrace = false, maxDepth = 20, keepAsIs } = opt\n  const matchesNamespace = useNamespaceFilter(filter)\n  const matchesLevel = useLevelFilter(level)\n\n  let counter = opt.limit ?? Number.POSITIVE_INFINITY\n\n  return (msg: LogMessage) => {\n    if (!matchesLevel(msg.level))\n      return\n    if (!matchesNamespace(msg.name))\n      return\n\n    msg.timestamp ??= getTimestamp()\n\n    const m = objectPlain(msg, {\n      maxDepth,\n      errorTrace,\n      keepAsIs, // : v => (v instanceof Error) || (typeof ErrorEvent !== 'undefined' && v instanceof ErrorEvent),\n    })\n\n    if (compact === true)\n      (messages as LogMessageCompact[]).push([m.timestamp, m.level, m.name, ...m.messages])\n    else\n      (messages as LogMessage[]).push(m)\n\n    if (counter <= 0)\n      messages.shift()\n    else\n      --counter\n  }\n}\n"],"mappings":";;;;;;AAKA,SAAgB,sBAAsB,GAAkC;CACtE,MAAM,CAAC,WAAW,OAAO,MAAM,GAAG,YAAY;AAC9C,QAAO;EAAE;EAAW;EAAO;EAAM;EAAU;;;AAI7C,SAAgB,oBACd,KAQY;CACZ,MAAM,EAAE,QAAQ,QAAW,SAAS,QAAW,UAAU,OAAO,WAAW,EAAE,EAAE,aAAa,OAAO,WAAW,IAAI,aAAa;CAC/H,MAAM,mBAAmBA,iDAAmB,OAAO;CACnD,MAAM,eAAeC,6CAAe,MAAM;CAE1C,IAAI,UAAU,IAAI,SAAS,OAAO;AAElC,SAAQ,QAAoB;AAC1B,MAAI,CAAC,aAAa,IAAI,MAAM,CAC1B;AACF,MAAI,CAAC,iBAAiB,IAAI,KAAK,CAC7B;AAEF,MAAI,cAAcC,kCAAc;EAEhC,MAAM,IAAIC,uCAAY,KAAK;GACzB;GACA;GACA;GACD,CAAC;AAEF,MAAI,YAAY,KACd,CAAC,SAAiC,KAAK;GAAC,EAAE;GAAW,EAAE;GAAO,EAAE;GAAM,GAAG,EAAE;GAAS,CAAC;MAErF,CAAC,SAA0B,KAAK,EAAE;AAEpC,MAAI,WAAW,EACb,UAAS,OAAO;MAEhB,GAAE"}