UNPKG

@intuitionrobotics/ts-common

Version:
54 lines 2.04 kB
/* * ts-common is the basic building blocks of our typescript projects * * Copyright (C) 2020 Intuition Robotics * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { LogLevel } from "./types.js"; import { LogClient } from "./LogClient.js"; import { _logger_logException } from "./utils.js"; class LogClient_Function_class extends LogClient { constructor() { super(); this.setComposer((tag, level) => `${level} ${tag}: `); } logMessage(level, bold, prefix, toLog) { for (const logParam of toLog) { if (logParam) // @ts-expect-error TS struggles with this dynamic typing if (logParam.stack) { console.log(`${prefix}${_logger_logException(logParam)}`); continue; } switch (typeof logParam) { case "undefined": case "function": case "symbol": case "bigint": console.log(`${prefix}${typeof logParam}`); continue; case "boolean": case "number": case "string": console.log(`${prefix}${logParam}`); continue; case "object": console.log(`${prefix}${JSON.stringify(logParam)}`); continue; } } } } export const LogClient_Function = new LogClient_Function_class(); //# sourceMappingURL=LogClient_Function.js.map