UNPKG

@matthiesenxyz/astrolace

Version:

An easy way to use Shoelace.style within your Astro Project!

46 lines (42 loc) 1.06 kB
import type { AstroIntegrationLogger } from "astro"; export type IntegrationLoggerOpts = { logger: AstroIntegrationLogger, verbose: boolean, type: 'info' | 'warn' | 'error', } export const integrationLogger = async ( opts: IntegrationLoggerOpts, message: string ) => { if (opts.verbose) { if (opts.type === 'info') { opts.logger.info(message); } else if (opts.type === 'warn') { opts.logger.warn(message); } else if (opts.type === 'error') { opts.logger.error(message); } } if (!opts.verbose) { if (opts.type === 'warn') { opts.logger.warn(message); } else if (opts.type === 'error') { opts.logger.error(message); } } }; export type LoggerOpts = { infoLogger: IntegrationLoggerOpts, warnLogger: IntegrationLoggerOpts, errorLogger: IntegrationLoggerOpts, } export const loggerOpts = ( logger: AstroIntegrationLogger, verbose: boolean, ): LoggerOpts => { return { infoLogger: { logger, verbose, type: 'info' }, warnLogger: { logger, verbose, type: 'warn' }, errorLogger: { logger, verbose, type: 'error' }, } }