1import * as _ from 'lodash-es' 5type BetLogFormatter = (arg: any, key?: string | number) => any 7// Hook for serverF to inject silencing logic (set by mcpSilentCtx in serverF) 8export let isSilenced: () => boolean = () => false 9export const setIsSilenced = (fn: () => boolean) => { isSilenced = fn } 11export let getQuiet: () => boolean = () => false 12export const setGetQuiet = (fn: () => boolean) => { getQuiet = fn } 14export const registerBetLogFormatter = (fn: BetLogFormatter) => { 15 betLogFormatters.push(fn) 18export { notFormatted as betLogNotFormatted } 20export const betLog = (...argA: any[]): void => { 21 if (isSilenced() || getQuiet()) return 22 argA = _.map(argA, betInspect) 24 const noWindow = ((typeof window) == 'undefined') 26 console.log(..._.map(argA, (arg : unknown) => { 27 if (_.isString(arg)) return arg 28 if (!noWindow) return arg 29 return util.inspect(arg, { 30 showHidden: false, depth: null, 33 colors: !!process.stdout.isTTY // disable colors when piping into subl or code - 38export const betVerboseLog = (...props: any[]): void => { 39 if (!process.env.VERYVERBOSE) return