@cmtlyt/logger
Version:
2 lines • 5.1 kB
JavaScript
;const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};function defineAdapter(e){return e}function stringifyObject(e,t,r){if(r.has(t)){let e=r.get(t);return`[Circular ${e?`key: ${e}`:"self"}]`}return r.set(t,e),t}function objectStringify(e){let t=new Map,r=JSON.stringify(e,(e,r)=>{if("bigint"==typeof r)return r.toString();if("function"==typeof r){let e=r.toString();return e.includes("=>")||e.startsWith("function")?e:`function ${e}`}return"object"==typeof r?stringifyObject(e,r,t):r},2);return r&&"function"==typeof r.replace?r.replace(/\n(\s+)/g,(e,{length:t})=>`
${"\xa0".repeat(t)}`):r}function isWeb(){return void 0!==globalThis.window}function isNode(){return"undefined"!=typeof process&&!!(process.versions&&process.versions.node)}function createAllowTypesChecker(e){let t=new Set(["debug","info","warn","error"]);if(!e)return t;if("function"==typeof e)return e;if(Array.isArray(e)){let r=new Set(t);return e.forEach(e=>{r.add(e)}),r}return e}function isTypeAllowed(e,t){return"function"==typeof t?t(e):t.has(e)}__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{nodeConsoleAdapter:()=>nodeConsoleAdapter});const tryImportColors=(()=>{let e=!1,t=null;return isWeb()?()=>null:async()=>e?t:import("yoctocolors").then(e=>{t=e.default},()=>{e||console.warn("yoctocolors is not available, fallback to plain text, you can customize the shader function through the customColorizer function, or add yoctocolors dependency")}).then(()=>(e=!0,t))})(),colorMap={error:{type:"red",label:"red",date:"gray",message:"white"},warn:{type:"yellow",label:"yellow",date:"gray",message:"white"},info:{type:"blue",label:"blue",date:"gray",message:"white"},debug:{type:"magenta",label:"magenta",date:"gray",message:"white"},success:{type:"green",label:"green",date:"gray",message:"white"}};function getDefaultColors(e){return colorMap[e]||{type:"cyan",label:"cyan",date:"gray",message:"white"}}function defaultApplyColor(e){let{text:t,colorName:r,colors:o,enableColors:n}=e;return n&&o&&o[r]?.(t)||t}function parseFormatString(e,t,r,o,n){let{options:a,colors:l}=n,{formatDate:s,customColors:i,enableColors:p,customColorizer:c,textCleaner:u}=a,_=getDefaultColors(t),f=i({type:t})||{},d={..._,...f},y=o.length>0?"string"==typeof o[0]?o[0]:objectStringify(o[0]):"",g=o.slice(1).map(e=>"string"==typeof e?e:objectStringify(e)).join(" "),b={"%type":c({text:t.toUpperCase(),colorName:d.type,colors:l,enableColors:p,part:"type"}),"%label":r?c({text:r,colorName:d.label,colors:l,enableColors:p,part:"label"}):"","%date":c({text:s(new Date),colorName:d.date,colors:l,enableColors:p,part:"date"}),"%message":c({text:y,colorName:d.message,colors:l,enableColors:p,part:"message"}),"%othermessages":g?c({text:g,colorName:d.message,colors:l,enableColors:p,part:"othermessages"}):""},m=Object.keys(b),w=e;for(let e=0;e<m.length;e++){let t=m[e],r=b[t];w=w.replaceAll(t,r)}return u(w)}function formatMessage(e,t,r,o){let{options:n}=o,{format:a}=n;return parseFormatString(a,e,t,r,o)}function defaultTextCleaner(e){return e&&"function"==typeof e.replace?e.replace(/\[\s*\]/g,"").replace(/\s+/g," ").trim():e}function normalizeOptions(e){return{enableColors:!1!==e.enableColors,outputLevel:e.outputLevel||"log",allowTypes:e.allowTypes||[],getLabel:e.getLabel||(()=>""),getMessages:e.getMessages||(()=>null),customColors:e.customColors||(()=>({})),customColorizer:e.customColorizer||defaultApplyColor,isEnvironmentValid:e.isEnvironmentValid||isNode,formatDate:e.formatDate||(e=>e.toISOString()),format:e.format||"[%type][%label][%date] %message %othermessages",textCleaner:e.textCleaner||defaultTextCleaner}}function getAdapter(e){let{outputLevel:t,getLabel:r,getMessages:o}=e.options;return n=>{let{type:a,messages:l}=n;console[t](formatMessage(a,r(n)||"",(o(n)||l).filter(e=>"object"!=typeof e||null===e||!("module"in e)),e))}}const nodeConsoleAdapter=defineAdapter(async e=>{let t="function"==typeof e?.customColorizer?null:await tryImportColors(),r={options:normalizeOptions(e||{}),colors:t};!t&&r.options.enableColors&&(r.options.enableColors=!1);let o=createAllowTypesChecker(r.options.allowTypes);return r.options.isEnvironmentValid()?e=>isTypeAllowed(e,o)?getAdapter(r):null:{}});for(var __rspack_i in exports.nodeConsoleAdapter=__webpack_exports__.nodeConsoleAdapter,__webpack_exports__)-1===["nodeConsoleAdapter"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});