{"version":3,"file":"axiom-js.cjs","sources":["../../../src/transports/axiom-js.ts"],"sourcesContent":["import { Axiom, AxiomWithoutBatching } from '@axiomhq/js';\nimport { LogLevel, LogLevelValue } from '../logger';\nimport { Transport } from './transport';\n\ninterface AxiomJSTransportConfig {\n  axiom: Axiom | AxiomWithoutBatching;\n  dataset: string;\n  logLevel?: LogLevel;\n}\nexport class AxiomJSTransport implements Transport {\n  private config: AxiomJSTransportConfig;\n  private promises: Promise<any>[] = [];\n\n  constructor(config: AxiomJSTransportConfig) {\n    this.config = config;\n  }\n\n  log(logs: any[]) {\n    const filteredLogs = logs.filter(\n      (log) =>\n        LogLevelValue[(log.level as LogLevel) ?? LogLevel.info] >= LogLevelValue[this.config.logLevel ?? LogLevel.info],\n    );\n\n    if (filteredLogs.length === 0) {\n      return;\n    }\n\n    if (this.config.axiom instanceof Axiom) {\n      this.config.axiom.ingest(this.config.dataset, filteredLogs);\n    } else if (this.config.axiom instanceof AxiomWithoutBatching) {\n      this.promises.push(this.config.axiom.ingest(this.config.dataset, filteredLogs));\n    }\n  }\n\n  async flush() {\n    if (this.config.axiom instanceof Axiom) {\n      await this.config.axiom.flush();\n    } else {\n      await Promise.allSettled(this.promises);\n    }\n    this.promises = [];\n  }\n}\n"],"names":["LogLevelValue","LogLevel","Axiom","AxiomWithoutBatching"],"mappings":";;;;;;;;;;AASO,MAAM,iBAAsC;AAAA,EAIjD,YAAY,QAAgC;AAHpC;AACA,oCAA2B,CAAA;AAGjC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,IAAI,MAAa;AACf,UAAM,eAAe,KAAK;AAAA,MACxB,CAAC,QACCA,OAAe,cAAA,IAAI,SAAsBC,OAAAA,SAAS,IAAI,KAAKD,OAAAA,cAAc,KAAK,OAAO,YAAYC,OAAAA,SAAS,IAAI;AAAA,IAAA;AAG9G,QAAA,aAAa,WAAW,GAAG;AAC7B;AAAA,IACF;AAEI,QAAA,KAAK,OAAO,iBAAiBC,UAAO;AACtC,WAAK,OAAO,MAAM,OAAO,KAAK,OAAO,SAAS,YAAY;AAAA,IACjD,WAAA,KAAK,OAAO,iBAAiBC,GAAAA,sBAAsB;AACvD,WAAA,SAAS,KAAK,KAAK,OAAO,MAAM,OAAO,KAAK,OAAO,SAAS,YAAY,CAAC;AAAA,IAChF;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ;AACR,QAAA,KAAK,OAAO,iBAAiBD,UAAO;AAChC,YAAA,KAAK,OAAO,MAAM,MAAM;AAAA,IAAA,OACzB;AACC,YAAA,QAAQ,WAAW,KAAK,QAAQ;AAAA,IACxC;AACA,SAAK,WAAW;EAClB;AACF;;"}