{"version":3,"sources":["../../src/logger.ts"],"sourcesContent":["import type { CustomIntlayerConfig } from './types/config';\n\nexport type Details = {\n  isVerbose?: boolean;\n  level?: 'info' | 'warn' | 'error' | 'debug';\n  config?: CustomIntlayerConfig['log'];\n};\n\nexport type Logger = (content: any, details?: Details) => void;\n\nexport const logger: Logger = (\n  content,\n  details = {\n    isVerbose: false,\n    level: undefined,\n    config: { mode: 'default', prefix: '' },\n  }\n) => {\n  const mode = details.config?.mode ?? 'default';\n  const prefix = Boolean(details.config?.prefix)\n    ? details.config?.prefix\n    : undefined;\n\n  if (mode === 'disabled') return;\n\n  if (details.isVerbose && mode !== 'verbose') return;\n\n  const flatContent = prefix ? [prefix, ...[content].flat()] : [content].flat();\n\n  if (details.level === 'debug') {\n    return console.debug(...flatContent);\n  }\n\n  if (details.level === 'info') {\n    return console.info(...flatContent);\n  }\n\n  if (details.level === 'warn') {\n    return console.warn(...flatContent);\n  }\n\n  if (details.level === 'error') {\n    return console.error(...flatContent);\n  }\n\n  console.log(...flatContent);\n};\n\n/**\n * The appLogger function takes the logger and merges it with the configuration from the intlayer config file.\n * It allows overriding the default configuration by passing a config object in the details parameter.\n * The configuration is merged with the default configuration from the intlayer config file.\n */\nexport const getAppLogger =\n  (configuration?: CustomIntlayerConfig) => (content: any, details?: Details) =>\n    logger(content, {\n      ...(details ?? {}),\n      config: { ...configuration?.log, ...(details?.config ?? {}) },\n    });\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,MAAM,SAAiB,CAC5B,SACA,UAAU;AAAA,EACR,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ,EAAE,MAAM,WAAW,QAAQ,GAAG;AACxC,MACG;AACH,QAAM,OAAO,QAAQ,QAAQ,QAAQ;AACrC,QAAM,SAAS,QAAQ,QAAQ,QAAQ,MAAM,IACzC,QAAQ,QAAQ,SAChB;AAEJ,MAAI,SAAS,WAAY;AAEzB,MAAI,QAAQ,aAAa,SAAS,UAAW;AAE7C,QAAM,cAAc,SAAS,CAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK;AAE5E,MAAI,QAAQ,UAAU,SAAS;AAC7B,WAAO,QAAQ,MAAM,GAAG,WAAW;AAAA,EACrC;AAEA,MAAI,QAAQ,UAAU,QAAQ;AAC5B,WAAO,QAAQ,KAAK,GAAG,WAAW;AAAA,EACpC;AAEA,MAAI,QAAQ,UAAU,QAAQ;AAC5B,WAAO,QAAQ,KAAK,GAAG,WAAW;AAAA,EACpC;AAEA,MAAI,QAAQ,UAAU,SAAS;AAC7B,WAAO,QAAQ,MAAM,GAAG,WAAW;AAAA,EACrC;AAEA,UAAQ,IAAI,GAAG,WAAW;AAC5B;AAOO,MAAM,eACX,CAAC,kBAAyC,CAAC,SAAc,YACvD,OAAO,SAAS;AAAA,EACd,GAAI,WAAW,CAAC;AAAA,EAChB,QAAQ,EAAE,GAAG,eAAe,KAAK,GAAI,SAAS,UAAU,CAAC,EAAG;AAC9D,CAAC;","names":[]}