{"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,EACzC;AAAA,EACA,WAA2B,CAAA;AAAA,EAEnC,YAAY,QAAgC;AAC1C,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,IAAI,MAAa;AACf,UAAM,eAAe,KAAK;AAAA,MACxB,CAAC,QACCA,OAAAA,cAAe,IAAI,SAAsBC,OAAAA,SAAS,IAAI,KAAKD,OAAAA,cAAc,KAAK,OAAO,YAAYC,OAAAA,SAAS,IAAI;AAAA,IAAA;AAGlH,QAAI,aAAa,WAAW,GAAG;AAC7B;AAAA,IACF;AAEA,QAAI,KAAK,OAAO,iBAAiBC,UAAO;AACtC,WAAK,OAAO,MAAM,OAAO,KAAK,OAAO,SAAS,YAAY;AAAA,IAC5D,WAAW,KAAK,OAAO,iBAAiBC,GAAAA,sBAAsB;AAC5D,WAAK,SAAS,KAAK,KAAK,OAAO,MAAM,OAAO,KAAK,OAAO,SAAS,YAAY,CAAC;AAAA,IAChF;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ;AACZ,QAAI,KAAK,OAAO,iBAAiBD,UAAO;AACtC,YAAM,KAAK,OAAO,MAAM,MAAA;AAAA,IAC1B,OAAO;AACL,YAAM,QAAQ,WAAW,KAAK,QAAQ;AAAA,IACxC;AACA,SAAK,WAAW,CAAA;AAAA,EAClB;AACF;;"}