Files
tauri-plugins-workspace/plugins/log/api-iife.js
T
Lucas Fernandes Nogueira ae3c808eb6 fix: global API script should reuse window.__TAURI__ types (#3602)
currently each script inlines what it needs from @tauri-apps/api, so type checks like `image instanceof Image` all fail
2026-09-22 06:04:28 -03:00

2 lines
2.0 KiB
JavaScript

if("__TAURI__"in window){var __TAURI_PLUGIN_LOG__=function(e,n,o){"use strict";var r;async function a(e,o,r){const a=function(e){if(e){if(!e.startsWith("Error")){const n=e.split("\n").map(e=>e.split("@")).filter(([e,n])=>e.length>0&&"[native code]"!==n);return n[2]?.filter(e=>e.length>0).join("@")}{const n=e.split("\n"),o=n[3]?.trim();if(!o)return;const r=/at\s+(?<functionName>.*?)\s+\((?<fileName>.*?):(?<lineNumber>\d+):(?<columnNumber>\d+)\)/,a=o.match(r);if(a){const{functionName:e,fileName:n,lineNumber:o,columnNumber:r}=a.groups;return`${e}@${n}:${o}:${r}`}{const e=/at\s+(?<fileName>.*?):(?<lineNumber>\d+):(?<columnNumber>\d+)/,n=o.match(e);if(n){const{fileName:e,lineNumber:o,columnNumber:r}=n.groups;return`<anonymous>@${e}:${o}:${r}`}}}}}((new Error).stack),{file:l,line:t,keyValues:i}=r??{};await n.invoke("plugin:log|log",{level:e,message:o,location:a,file:l,line:t,keyValues:i})}async function l(e){return await o.listen("log://log",n=>{const{level:o}=n.payload;let{message:r}=n.payload;r=r.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),e({message:r,level:o})})}return e.LogLevel=void 0,(r=e.LogLevel||(e.LogLevel={}))[r.Trace=1]="Trace",r[r.Debug=2]="Debug",r[r.Info=3]="Info",r[r.Warn=4]="Warn",r[r.Error=5]="Error",e.attachConsole=async function(){return await l(({level:n,message:o})=>{switch(n){case e.LogLevel.Trace:console.log(o);break;case e.LogLevel.Debug:console.debug(o);break;case e.LogLevel.Info:console.info(o);break;case e.LogLevel.Warn:console.warn(o);break;case e.LogLevel.Error:console.error(o);break;default:throw new Error(`unknown log level ${n}`)}})},e.attachLogger=l,e.debug=async function(n,o){await a(e.LogLevel.Debug,n,o)},e.error=async function(n,o){await a(e.LogLevel.Error,n,o)},e.info=async function(n,o){await a(e.LogLevel.Info,n,o)},e.trace=async function(n,o){await a(e.LogLevel.Trace,n,o)},e.warn=async function(n,o){await a(e.LogLevel.Warn,n,o)},e}({},window.__TAURI__.core,window.__TAURI__.event);Object.defineProperty(window.__TAURI__,"log",{value:__TAURI_PLUGIN_LOG__})}