UNPKG

log-tags

Version:

Color tags for devtools console.log

29 lines (28 loc) 782 B
import { isLogTag, isStyledText } from "./utils"; export function mergeTagsInArgs(loggerOrArgs) { if (typeof loggerOrArgs === "function") { return function (...args) { loggerOrArgs.apply(this, mergeTagsInArgs(args)); }; } const args = loggerOrArgs; let tagStr = ""; const tagStyles = []; const logArgs = []; for (let i = 0; i < args.length; i++) { const arg = args[i]; if (isStyledText(arg)) { tagStr += arg; tagStyles.push(args[i + 1]); i++; } else if (isLogTag(arg)) { tagStr += arg[0]; tagStyles.push(arg[1]); } else { logArgs.push(arg); } } return [tagStr, ...tagStyles, ...logArgs]; }