@lytjs/core 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs ADDED
@@ -0,0 +1,52 @@
1
+ var B=Object.defineProperty;var Ce=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var De=Object.prototype.hasOwnProperty;var Pe=(e,t)=>{for(var n in t)B(e,n,{get:t[n],enumerable:!0})},Se=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of he(t))!De.call(e,c)&&c!==n&&B(e,c,{get:()=>t[c],enumerable:!(o=Ce(t,c))||o.enumerable});return e};var be=e=>Se(B({},"__esModule",{value:!0}),e);var We={};Pe(We,{ErrorBoundary:()=>P,ErrorCategory:()=>O,Fragment:()=>z,LytError:()=>C,LytErrorCodes:()=>K,NewLytError:()=>L,NewLytErrorCodes:()=>Z,ShapeFlags:()=>X,callWithErrorHandling:()=>_e,createApp:()=>ae,createCompilerError:()=>fe,createComponentError:()=>Re,createErrorOverlay:()=>Ie,createMessage:()=>pe,createProvidesContext:()=>v,createRendererError:()=>de,defineCustomElement:()=>$,defineCustomElementFromSFC:()=>Ae,error:()=>Oe,formatError:()=>te,getCategory:()=>w,getComponentStack:()=>ge,getDevMode:()=>j,getErrorMessage:()=>U,getPluginName:()=>b,h:()=>A,handleError:()=>J,installPlugin:()=>Y,isBrowser:()=>k,isPluginFunction:()=>S,isPluginObject:()=>D,registerComponents:()=>Ne,resetWarnedMessages:()=>ye,setDevMode:()=>ce,uninstallPlugin:()=>M,unregisterElement:()=>Le,warn:()=>ue,warnOnce:()=>Ee,warnOnceUtil:()=>me,warnUtil:()=>Te});module.exports=be(We);var X=(_=>(_[_.ELEMENT=1]="ELEMENT",_[_.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",_[_.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",_[_.TEXT_CHILDREN=8]="TEXT_CHILDREN",_[_.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",_[_.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",_))(X||{}),z=Symbol("Fragment");function ve(e){return typeof e=="string"||typeof e=="number"}function ne(e){return Array.isArray(e)}function re(e){return e!==null&&typeof e=="object"&&e.type!==void 0&&e.shapeFlag!==void 0}function Ye(e,t){if(t!=null)if(ve(t))e.children=String(t),e.shapeFlag|=8;else if(ne(t)){let n=[];for(let o=0;o<t.length;o++){let c=t[o];if(!(c==null||typeof c=="boolean"))if(ne(c))for(let T=0;T<c.length;T++){let _=c[T];_!=null&&typeof _!="boolean"&&n.push(re(_)?_:W(String(_)))}else re(c)?n.push(c):n.push(W(String(c)))}e.children=n,e.shapeFlag|=16}else typeof t=="object"&&(e.children=t,e.shapeFlag|=32)}function W(e,t=null,n=null){var R,y;let o=0;typeof e=="string"?o=1:e===z?o=0:typeof e=="function"?o=2:typeof e=="object"&&e!==null&&(e.setup||e.__vccOpts||e.render)&&(o=4);let c=(R=t==null?void 0:t.key)!=null?R:null,T=(y=t==null?void 0:t.ref)!=null?y:null,_=t;if(t){let{key:g,ref:i,...a}=t;_=a}let m={type:e,props:_,children:null,key:c,ref:T,shapeFlag:o,el:null,component:null};return n!=null&&Ye(m,n),m}function A(e,t,n){return W(e,t||null,n||null)}function v(e){return Object.create(e||null)}function D(e){return e!==null&&typeof e=="object"&&typeof e.install=="function"}function S(e){return typeof e=="function"}function b(e){return D(e)&&e.name||S(e)&&e.name?e.name:D(e)?"[PluginObject]":"[PluginFunction]"}function Y(e,t,...n){if(D(t)){let o=t.onBeforeInstall?t.onBeforeInstall(e,...n):void 0;if(q(o))return o.then(()=>{let c=t.install(e,...n);if(q(c))return c.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)});{let c=t.install(e,...n);if(q(c))return c.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)}}else{if(S(t))return t(e,...n);console.warn("[Lyt] \u65E0\u6548\u7684\u63D2\u4EF6\uFF1A\u63D2\u4EF6\u5FC5\u987B\u662F\u5E26\u6709 install \u65B9\u6CD5\u7684\u5BF9\u8C61\u6216\u51FD\u6570\u3002")}}function M(e,t){if(D(t)){if(typeof t.uninstall=="function")return t.uninstall(e);console.warn(`[Lyt] \u63D2\u4EF6 "${b(t)}" \u672A\u5B9A\u4E49 uninstall \u65B9\u6CD5\uFF0C\u65E0\u6CD5\u5B8C\u5168\u5378\u8F7D\u3002`)}else S(t)&&console.warn(`[Lyt] \u51FD\u6570\u5F62\u5F0F\u63D2\u4EF6 "${b(t)}" \u4E0D\u652F\u6301\u5378\u8F7D\u3002`)}function q(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var x=require("@lytjs/reactivity"),ie=require("@lytjs/compiler"),N=require("@lytjs/component"),se=require("@lytjs/renderer"),oe=new Map;function Me(e){let t=oe.get(e);if(t)return t;let{code:n}=(0,ie.compile)(e);return t=new Function("h","_ctx",`return ${n}`),oe.set(e,t),t}function xe(e){let t={...e};if(e.state&&typeof e.state!="function"){let n=e.state;t.state=()=>({...n})}if(typeof e.render=="function"){let n=e.render;t.render=(o,c)=>n(c.renderProxy)}if(e.computed){let n={};for(let o of Object.keys(e.computed)){let c=e.computed[o];typeof c=="function"?n[o]={get:c}:n[o]=c}t.computed=n}if(typeof e.init=="function"){let n=e.init;t.init=function(o,c){return n.call(this,o)}}return t}function Ve(){return{createElement(e){return document.createElement(e)},createText(e){return document.createTextNode(e)},createComment(e){return document.createComment(e)},setAttribute(e,t,n){e.setAttribute(t,String(n))},removeAttribute(e,t){e.removeAttribute(t)},setStyle(e,t){if(typeof t=="string")e.style.cssText=t;else if(t&&typeof t=="object")for(let n in t)e.style[n]=t[n]},setClass(e,t){if(typeof t=="string")e.className=t;else if(t&&typeof t=="object"){let n=[];for(let[o,c]of Object.entries(t))c&&n.push(o);e.className=n.join(" ")}else e.className=""},insert(e,t,n){n!=null?e.insertBefore(t,n):e.appendChild(t)},remove(e){e.parentNode&&e.parentNode.removeChild(e)},replace(e,t,n){e.replaceChild(n,t)},addEventListener(e,t,n,o){e.addEventListener(t,n,o)},removeEventListener(e,t,n){e.removeEventListener(t,n)},nextTick(e){Promise.resolve().then(e)},parentNode(e){return e.parentNode},nextSibling(e){return e.nextSibling},querySelector(e){return document.querySelector(e)}}}function ae(e,t){let n=new Set,o={},c={},T=v(),_={},m={},R=null,y=null,g=null,i=null,a=!1,s=xe(typeof e=="function"?{render:e}:e),p=(0,N.defineComponent)(s),l={config:_,globalProperties:m,get _instance(){return R},mount(f){if(a)return console.warn("[Lyt] \u5E94\u7528\u5DF2\u7ECF\u6302\u8F7D\uFF0C\u4E0D\u80FD\u91CD\u590D\u6302\u8F7D\u3002"),l;let d;if(typeof f=="string"){if(d=document.querySelector(f),!d)throw new Error(`[Lyt] \u627E\u4E0D\u5230\u6302\u8F7D\u76EE\u6807: "${f}"`)}else d=f;i=d;let I=Ve();y=(0,se.createRenderer)(I),R=(0,N.createComponentInstance)(p),(0,N.setupComponent)(R,t||{},null);let h=R.type;if(!h.render&&h.template){let H=Me(h.template);h.render=(G,u)=>H(G,u.renderProxy)}return(0,N.mountComponent)(R,A),R.subTree&&y.mount(R.subTree,d),g=(0,x.effect)(()=>{if(!(!R||!R.isMounted||!y)&&((0,N.updateComponent)(R,A),R.subTree&&i)){let H=i.firstChild,G=R.subTree;i.innerHTML="",y.mount(G,i)}},{lazy:!0}),a=!0,l},unmount(){if(!a){console.warn("[Lyt] \u5E94\u7528\u672A\u6302\u8F7D\uFF0C\u65E0\u6CD5\u5378\u8F7D\u3002");return}g&&((0,x.stop)(g),g=null),R&&(0,N.unmountComponent)(R),i&&(i.innerHTML=""),R=null,y=null,i=null,a=!1},use(f,...d){if(n.has(f))return console.warn("[Lyt] \u63D2\u4EF6\u5DF2\u7ECF\u5B89\u88C5\uFF0C\u4E0D\u80FD\u91CD\u590D\u5B89\u88C5\u3002"),l;n.add(f);let I=Y({use:l.use.bind(l),unuse:l.unuse.bind(l),isInstalled:l.isInstalled.bind(l),provide:l.provide.bind(l),inject:l.inject.bind(l),config:_,globalProperties:m},f,...d);return I instanceof Promise?I.then(()=>l):l},unuse(f){if(!n.has(f))return console.warn("[Lyt] \u63D2\u4EF6\u672A\u5B89\u88C5\uFF0C\u65E0\u6CD5\u5378\u8F7D\u3002"),l;n.delete(f);let d=M({use:l.use.bind(l),unuse:l.unuse.bind(l),isInstalled:l.isInstalled.bind(l),provide:l.provide.bind(l),inject:l.inject.bind(l),config:_,globalProperties:m},f);return d instanceof Promise?d.then(()=>l):l},isInstalled(f){return n.has(f)},provide(f,d){return T[f]=d,l},inject(f,d){let I=T[f];return I!==void 0?I:d},component(f,d){return d?(o[f]=d,l):o[f]},directive(f,d){return d?(c[f]=d,l):c[f]}};return l}var K=(u=>(u[u.INVALID_ARGUMENT=1001]="INVALID_ARGUMENT",u[u.NOT_FOUND=1002]="NOT_FOUND",u[u.ALREADY_EXISTS=1003]="ALREADY_EXISTS",u[u.OPERATION_FAILED=1004]="OPERATION_FAILED",u[u.REACTIVE_READONLY=2001]="REACTIVE_READONLY",u[u.REACTIVE_EFFECT_DISPOSED=2002]="REACTIVE_EFFECT_DISPOSED",u[u.COMPUTED_CYCLE=2003]="COMPUTED_CYCLE",u[u.PARSE_ERROR=3001]="PARSE_ERROR",u[u.INVALID_EXPRESSION=3002]="INVALID_EXPRESSION",u[u.INVALID_DIRECTIVE=3003]="INVALID_DIRECTIVE",u[u.INVALID_TEMPLATE=3004]="INVALID_TEMPLATE",u[u.RENDER_ERROR=4001]="RENDER_ERROR",u[u.HYDRATION_MISMATCH=4002]="HYDRATION_MISMATCH",u[u.INVALID_VNODE=4003]="INVALID_VNODE",u[u.COMPONENT_INVALID_PROPS=5001]="COMPONENT_INVALID_PROPS",u[u.COMPONENT_MISSING_TEMPLATE=5002]="COMPONENT_MISSING_TEMPLATE",u[u.COMPONENT_LIFECYCLE_ERROR=5003]="COMPONENT_LIFECYCLE_ERROR",u[u.ROUTE_NOT_FOUND=6001]="ROUTE_NOT_FOUND",u[u.ROUTE_DUPLICATE=6002]="ROUTE_DUPLICATE",u[u.NAVIGATION_ABORTED=6003]="NAVIGATION_ABORTED",u[u.NAVIGATION_FAILED=6004]="NAVIGATION_FAILED",u[u.STORE_NOT_FOUND=7001]="STORE_NOT_FOUND",u[u.STORE_DUPLICATE=7002]="STORE_DUPLICATE",u))(K||{});var C=class extends Error{constructor(t,n,o){let c=`[Lyt ${t}] ${n}`;super(c),this.name="LytError",this.code=t,this.details=o}};var V=class V{constructor(t){this.errors=[],this.options=t||{},this._hasError=!1}get hasError(){return this._hasError}static setGlobalHandler(t){V.globalHandler=t}capture(t,n,o){var _;let c={error:t,vm:n,info:o||"",timestamp:Date.now()};this.errors.push(c),this._hasError=!0;let T=(_=this.options.maxErrors)!=null?_:100;this.errors.length>T&&this.errors.splice(0,this.errors.length-T),!(this.options.onErrorCaptured&&this.options.onErrorCaptured(t instanceof C?t:new C(1004,t.message),n,c.info)===!0)&&this.options.onError&&this.options.onError(t instanceof C?t:new C(1004,t.message),n)}getFallback(t){if(!this.options.fallback||this.errors.length===0)return null;let n=this.errors[this.errors.length-1];return this.options.fallback(n.error,n.vm,n.info)}getErrors(){return this.errors.slice()}getErrorCount(){return this.errors.length}getLastErrors(){return this.errors.length===0?null:{...this.errors[this.errors.length-1]}}clear(){this.errors=[],this._hasError=!1}};V.globalHandler=null;var P=V,F=!0,le=new Set;function ce(e){F=e}function ue(e){F&&console.warn(`[Lyt warn] ${e}`)}function Ee(e){F&&(le.has(e)||(le.add(e),console.warn(`[Lyt warn] ${e}`)))}var Fe={1001:e=>`\u53C2\u6570 "${e}" \u65E0\u6548\u3002\u8BF7\u68C0\u67E5\u4F20\u5165\u7684\u503C\u7C7B\u578B\u548C\u8303\u56F4\u3002`,1002:e=>`"${e}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4\u8D44\u6E90\u540D\u79F0\u6216\u8DEF\u5F84\u662F\u5426\u6B63\u786E\u3002`,1003:e=>`"${e}" \u5DF2\u5B58\u5728\u3002\u8BF7\u4F7F\u7528\u4E0D\u540C\u7684\u540D\u79F0\u3002`,1004:e=>`\u64CD\u4F5C "${e}" \u6267\u884C\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u76F8\u5173\u914D\u7F6E\u548C\u72B6\u6001\u3002`,2001:e=>`\u65E0\u6CD5\u4FEE\u6539\u53EA\u8BFB\u54CD\u5E94\u5F0F\u5C5E\u6027 "${e}"\u3002\u53EA\u8BFB\u5BF9\u8C61\u4E0D\u5141\u8BB8\u76F4\u63A5\u8D4B\u503C\u3002`,2002:()=>"\u526F\u4F5C\u7528\u51FD\u6570\u5DF2\u88AB\u9500\u6BC1\uFF0C\u65E0\u6CD5\u518D\u6B21\u6267\u884C\u3002\u8BF7\u521B\u5EFA\u65B0\u7684\u526F\u4F5C\u7528\u3002",2003:()=>"\u8BA1\u7B97\u5C5E\u6027\u68C0\u6D4B\u5230\u5FAA\u73AF\u4F9D\u8D56\u3002\u8BF7\u68C0\u67E5 computed \u51FD\u6570\u662F\u5426\u5F15\u7528\u4E86\u81EA\u8EAB\u3002",3001:e=>`\u6A21\u677F\u89E3\u6790\u9519\u8BEF\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u6A21\u677F\u8BED\u6CD5\u662F\u5426\u6B63\u786E\u3002`,3002:e=>`\u65E0\u6548\u7684\u8868\u8FBE\u5F0F "${e}"\u3002\u8BF7\u68C0\u67E5\u8868\u8FBE\u5F0F\u8BED\u6CD5\u3002`,3003:e=>`\u65E0\u6548\u7684\u6307\u4EE4 "${e}"\u3002\u8BF7\u786E\u8BA4\u6307\u4EE4\u540D\u79F0\u662F\u5426\u6B63\u786E\u3002`,3004:e=>`\u65E0\u6548\u7684\u6A21\u677F\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u6A21\u677F\u5185\u5BB9\u3002`,4001:e=>`\u6E32\u67D3\u9519\u8BEF\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u7684 render \u51FD\u6570\u6216\u6A21\u677F\u3002`,4002:e=>`\u6C34\u5408\u4E0D\u5339\u914D\uFF1A${e}\u3002\u670D\u52A1\u7AEF\u6E32\u67D3\u4E0E\u5BA2\u6237\u7AEF\u6E32\u67D3\u7ED3\u679C\u4E0D\u4E00\u81F4\u3002`,4003:e=>`\u65E0\u6548\u7684\u865A\u62DF\u8282\u70B9\uFF1A${e}\u3002VNode \u7F3A\u5C11\u5FC5\u8981\u7684 type \u6216\u5176\u4ED6\u5C5E\u6027\u3002`,5001:e=>`\u7EC4\u4EF6\u5C5E\u6027\u65E0\u6548\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u4F20\u5165\u7684 props \u662F\u5426\u7B26\u5408\u7EC4\u4EF6\u5B9A\u4E49\u3002`,5002:e=>`\u7EC4\u4EF6 "${e}" \u7F3A\u5C11 template \u6216 render \u51FD\u6570\u3002\u8BF7\u786E\u4FDD\u7EC4\u4EF6\u5B9A\u4E49\u4E2D\u5305\u542B template \u5B57\u7B26\u4E32\u6216 render \u65B9\u6CD5\u3002`,5003:e=>`\u7EC4\u4EF6\u751F\u547D\u5468\u671F\u9519\u8BEF\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u751F\u547D\u5468\u671F\u94A9\u5B50\u51FD\u6570\u3002`,6001:e=>`\u8DEF\u7531 "${e}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4\u8DEF\u7531\u8DEF\u5F84\u662F\u5426\u5DF2\u6CE8\u518C\u3002`,6002:e=>`\u8DEF\u7531 "${e}" \u5DF2\u5B58\u5728\u3002\u8BF7\u907F\u514D\u91CD\u590D\u6CE8\u518C\u76F8\u540C\u7684\u8DEF\u7531\u8DEF\u5F84\u3002`,6003:e=>`\u5BFC\u822A\u88AB\u4E2D\u6B62\uFF1A${e}\u3002\u53EF\u80FD\u88AB\u5BFC\u822A\u5B88\u536B\u62E6\u622A\u3002`,6004:e=>`\u5BFC\u822A\u5931\u8D25\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u76EE\u6807\u8DEF\u7531\u662F\u5426\u6709\u6548\u3002`,7001:e=>`Store "${e}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4 store \u662F\u5426\u5DF2\u6CE8\u518C\u3002`,7002:e=>`Store "${e}" \u5DF2\u5B58\u5728\u3002\u8BF7\u907F\u514D\u91CD\u590D\u521B\u5EFA\u76F8\u540C ID \u7684 store\u3002`};function pe(e,...t){let n=Fe[e];if(n){let o=n(...t);return`[Lyt ${e}] ${o}`}return`[Lyt ${e}] \u672A\u77E5\u9519\u8BEF\u3002`}function J(e,t,n){P.globalHandler&&P.globalHandler(e,t,n||""),F&&(e instanceof C?(console.error(e.message),e.details&&console.error("\u8BE6\u7EC6\u4FE1\u606F:",e.details)):console.error(`[Lyt Error] ${e.message}`),t&&console.error("\u7EC4\u4EF6\u5B9E\u4F8B:",t),n&&console.error("\u9519\u8BEF\u6765\u6E90:",n))}function _e(e,t){try{return e()}catch(n){J(n instanceof Error?n:new Error(String(n)),t);return}}var Z=(r=>(r[r.LYT_COMPILER_PARSE_ERROR=1001]="LYT_COMPILER_PARSE_ERROR",r[r.LYT_COMPILER_INVALID_EXPRESSION=1002]="LYT_COMPILER_INVALID_EXPRESSION",r[r.LYT_COMPILER_INVALID_TEMPLATE=1003]="LYT_COMPILER_INVALID_TEMPLATE",r[r.LYT_COMPILER_INVALID_DIRECTIVE=1004]="LYT_COMPILER_INVALID_DIRECTIVE",r[r.LYT_COMPILER_CODEGEN_ERROR=1005]="LYT_COMPILER_CODEGEN_ERROR",r[r.LYT_COMPILER_SFC_PARSE_ERROR=1006]="LYT_COMPILER_SFC_PARSE_ERROR",r[r.LYT_COMPILER_TRANSFORM_ERROR=1007]="LYT_COMPILER_TRANSFORM_ERROR",r[r.LYT_RENDERER_MOUNT_FAILED=2001]="LYT_RENDERER_MOUNT_FAILED",r[r.LYT_RENDERER_PATCH_FAILED=2002]="LYT_RENDERER_PATCH_FAILED",r[r.LYT_RENDERER_HYDRATION_MISMATCH=2003]="LYT_RENDERER_HYDRATION_MISMATCH",r[r.LYT_RENDERER_INVALID_VNODE=2004]="LYT_RENDERER_INVALID_VNODE",r[r.LYT_RENDERER_UNMOUNT_FAILED=2005]="LYT_RENDERER_UNMOUNT_FAILED",r[r.LYT_COMPONENT_INVALID_PROPS=3001]="LYT_COMPONENT_INVALID_PROPS",r[r.LYT_COMPONENT_MISSING_RENDER=3002]="LYT_COMPONENT_MISSING_RENDER",r[r.LYT_COMPONENT_LIFECYCLE_ERROR=3003]="LYT_COMPONENT_LIFECYCLE_ERROR",r[r.LYT_COMPONENT_INVALID=3004]="LYT_COMPONENT_INVALID",r[r.LYT_COMPONENT_EMIT_INVALID=3005]="LYT_COMPONENT_EMIT_INVALID",r[r.LYT_COMPONENT_RENDER_ERROR=3006]="LYT_COMPONENT_RENDER_ERROR",r[r.LYT_ROUTER_INVALID_ROUTE=4001]="LYT_ROUTER_INVALID_ROUTE",r[r.LYT_ROUTER_NAVIGATION_FAILED=4002]="LYT_ROUTER_NAVIGATION_FAILED",r[r.LYT_ROUTER_DUPLICATE_ROUTE=4003]="LYT_ROUTER_DUPLICATE_ROUTE",r[r.LYT_ROUTER_NAVIGATION_ABORTED=4004]="LYT_ROUTER_NAVIGATION_ABORTED",r[r.LYT_ROUTER_GUARD_ERROR=4005]="LYT_ROUTER_GUARD_ERROR",r[r.LYT_STORE_ALREADY_EXISTS=5001]="LYT_STORE_ALREADY_EXISTS",r[r.LYT_STORE_NOT_FOUND=5002]="LYT_STORE_NOT_FOUND",r[r.LYT_STORE_DISPOSED=5003]="LYT_STORE_DISPOSED",r[r.LYT_STORE_PATCH_ERROR=5004]="LYT_STORE_PATCH_ERROR",r[r.LYT_REACTIVITY_READONLY_SET=6001]="LYT_REACTIVITY_READONLY_SET",r[r.LYT_REACTIVITY_READONLY_DELETE=6002]="LYT_REACTIVITY_READONLY_DELETE",r[r.LYT_REACTIVITY_EFFECT_ERROR=6003]="LYT_REACTIVITY_EFFECT_ERROR",r[r.LYT_REACTIVITY_COMPUTED_CYCLE=6004]="LYT_REACTIVITY_COMPUTED_CYCLE",r[r.LYT_REACTIVITY_EFFECT_DISPOSED=6005]="LYT_REACTIVITY_EFFECT_DISPOSED",r[r.LYT_CORE_PLUGIN_ERROR=7001]="LYT_CORE_PLUGIN_ERROR",r[r.LYT_CORE_MOUNT_NO_CONTAINER=7002]="LYT_CORE_MOUNT_NO_CONTAINER",r[r.LYT_CORE_ALREADY_MOUNTED=7003]="LYT_CORE_ALREADY_MOUNTED",r[r.LYT_CORE_INVALID_ARGUMENT=7004]="LYT_CORE_INVALID_ARGUMENT",r[r.LYT_CORE_NOT_FOUND=7005]="LYT_CORE_NOT_FOUND",r[r.LYT_CORE_ALREADY_EXISTS=7006]="LYT_CORE_ALREADY_EXISTS",r[r.LYT_CORE_OPERATION_FAILED=7007]="LYT_CORE_OPERATION_FAILED",r[r.LYT_CLI_SCAFFOLD_FAILED=8001]="LYT_CLI_SCAFFOLD_FAILED",r[r.LYT_CLI_BUILD_FAILED=8002]="LYT_CLI_BUILD_FAILED",r[r.LYT_CLI_DEV_SERVER_ERROR=8003]="LYT_CLI_DEV_SERVER_ERROR",r[r.LYT_CLI_CONFIG_INVALID=8004]="LYT_CLI_CONFIG_INVALID",r[r.LYT_CLI_HMR_CONNECTION_FAILED=8005]="LYT_CLI_HMR_CONNECTION_FAILED",r[r.LYT_DEVTOOLS_CONNECTION_FAILED=9001]="LYT_DEVTOOLS_CONNECTION_FAILED",r[r.LYT_DEVTOOLS_PANEL_ERROR=9002]="LYT_DEVTOOLS_PANEL_ERROR",r[r.LYT_DEVTOOLS_PERF_OVERFLOW=9003]="LYT_DEVTOOLS_PERF_OVERFLOW",r[r.LYT_DEVTOOLS_COMPONENT_TREE_ERROR=9004]="LYT_DEVTOOLS_COMPONENT_TREE_ERROR",r[r.LYT_PLUGIN_INSTALL_FAILED=10001]="LYT_PLUGIN_INSTALL_FAILED",r[r.LYT_PLUGIN_ALREADY_INSTALLED=10002]="LYT_PLUGIN_ALREADY_INSTALLED",r[r.LYT_PLUGIN_INVALID=10003]="LYT_PLUGIN_INVALID",r[r.LYT_PLUGIN_UNINSTALL_FAILED=10004]="LYT_PLUGIN_UNINSTALL_FAILED",r[r.LYT_SSR_STREAM_ERROR=11001]="LYT_SSR_STREAM_ERROR",r[r.LYT_SSR_SUSPENSE_TIMEOUT=11002]="LYT_SSR_SUSPENSE_TIMEOUT",r[r.LYT_SSR_HYDRATION_ERROR=11003]="LYT_SSR_HYDRATION_ERROR",r[r.LYT_SSR_ISLAND_ERROR=11004]="LYT_SSR_ISLAND_ERROR",r))(Z||{}),O={COMPILER:"COMPILER",RENDERER:"RENDERER",COMPONENT:"COMPONENT",ROUTER:"ROUTER",STORE:"STORE",REACTIVITY:"REACTIVITY",CORE:"CORE",CLI:"CLI",DEVTOOLS:"DEVTOOLS",PLUGIN:"PLUGIN",SSR:"SSR"},Ue={1001:"\u6A21\u677F\u89E3\u6790\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u6A21\u677F\u8BED\u6CD5\u662F\u5426\u6B63\u786E\u3002",1002:"\u65E0\u6548\u7684\u8868\u8FBE\u5F0F\uFF0C\u8BF7\u68C0\u67E5\u8868\u8FBE\u5F0F\u8BED\u6CD5\u3002",1003:"\u65E0\u6548\u7684\u6A21\u677F\uFF0C\u8BF7\u68C0\u67E5\u6A21\u677F\u5185\u5BB9\u3002",1004:"\u65E0\u6548\u7684\u6307\u4EE4\uFF0C\u8BF7\u786E\u8BA4\u6307\u4EE4\u540D\u79F0\u662F\u5426\u6B63\u786E\u3002",1005:"\u4EE3\u7801\u751F\u6210\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u6A21\u677F\u7F16\u8BD1\u914D\u7F6E\u3002",1006:"\u5355\u6587\u4EF6\u7EC4\u4EF6\u89E3\u6790\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5 SFC \u8BED\u6CD5\u3002",1007:"\u6A21\u677F\u8F6C\u6362\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5 AST \u8F6C\u6362\u903B\u8F91\u3002",2001:"\u6302\u8F7D\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u5BB9\u5668\u5143\u7D20\u662F\u5426\u5B58\u5728\u3002",2002:"\u8865\u4E01\u66F4\u65B0\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5 VNode \u7ED3\u6784\u3002",2003:"\u6C34\u5408\u4E0D\u5339\u914D\uFF0C\u670D\u52A1\u7AEF\u4E0E\u5BA2\u6237\u7AEF\u6E32\u67D3\u7ED3\u679C\u4E0D\u4E00\u81F4\u3002",2004:"\u65E0\u6548\u7684\u865A\u62DF\u8282\u70B9\uFF0CVNode \u7F3A\u5C11\u5FC5\u8981\u7684 type \u5C5E\u6027\u3002",2005:"\u5378\u8F7D\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u662F\u5426\u5DF2\u6302\u8F7D\u3002",3001:"\u7EC4\u4EF6\u5C5E\u6027\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u4F20\u5165\u7684 props\u3002",3002:"\u7EC4\u4EF6\u7F3A\u5C11 template \u6216 render \u51FD\u6570\u3002",3003:"\u7EC4\u4EF6\u751F\u547D\u5468\u671F\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u751F\u547D\u5468\u671F\u94A9\u5B50\u51FD\u6570\u3002",3004:"\u65E0\u6548\u7684\u7EC4\u4EF6\u5B9A\u4E49\uFF0C\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u914D\u7F6E\u3002",3005:"\u65E0\u6548\u7684\u4E8B\u4EF6\u53D1\u5C04\uFF0C\u8BF7\u68C0\u67E5 emits \u58F0\u660E\u3002",3006:"\u7EC4\u4EF6\u6E32\u67D3\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5 render \u51FD\u6570\u3002",4001:"\u65E0\u6548\u7684\u8DEF\u7531\uFF0C\u8BF7\u786E\u8BA4\u8DEF\u7531\u8DEF\u5F84\u662F\u5426\u5DF2\u6CE8\u518C\u3002",4002:"\u5BFC\u822A\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u76EE\u6807\u8DEF\u7531\u662F\u5426\u6709\u6548\u3002",4003:"\u8DEF\u7531\u5DF2\u5B58\u5728\uFF0C\u8BF7\u907F\u514D\u91CD\u590D\u6CE8\u518C\u76F8\u540C\u7684\u8DEF\u7531\u8DEF\u5F84\u3002",4004:"\u5BFC\u822A\u88AB\u4E2D\u6B62\uFF0C\u53EF\u80FD\u88AB\u5BFC\u822A\u5B88\u536B\u62E6\u622A\u3002",4005:"\u8DEF\u7531\u5B88\u536B\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u5B88\u536B\u51FD\u6570\u3002",5001:"Store \u5DF2\u5B58\u5728\uFF0C\u8BF7\u907F\u514D\u91CD\u590D\u521B\u5EFA\u76F8\u540C ID \u7684 store\u3002",5002:"Store \u672A\u627E\u5230\uFF0C\u8BF7\u786E\u8BA4 store \u662F\u5426\u5DF2\u6CE8\u518C\u3002",5003:"Store \u5DF2\u88AB\u9500\u6BC1\uFF0C\u65E0\u6CD5\u7EE7\u7EED\u64CD\u4F5C\u3002",5004:"Store \u72B6\u6001\u66F4\u65B0\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5 patch \u6570\u636E\u3002",6001:"\u65E0\u6CD5\u4FEE\u6539\u53EA\u8BFB\u54CD\u5E94\u5F0F\u5C5E\u6027\u3002",6002:"\u65E0\u6CD5\u5220\u9664\u53EA\u8BFB\u54CD\u5E94\u5F0F\u5C5E\u6027\u3002",6003:"\u526F\u4F5C\u7528\u51FD\u6570\u6267\u884C\u9519\u8BEF\u3002",6004:"\u8BA1\u7B97\u5C5E\u6027\u68C0\u6D4B\u5230\u5FAA\u73AF\u4F9D\u8D56\u3002",6005:"\u526F\u4F5C\u7528\u51FD\u6570\u5DF2\u88AB\u9500\u6BC1\uFF0C\u65E0\u6CD5\u518D\u6B21\u6267\u884C\u3002",7001:"\u63D2\u4EF6\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u63D2\u4EF6\u914D\u7F6E\u548C\u5B89\u88C5\u903B\u8F91\u3002",7002:"\u627E\u4E0D\u5230\u6302\u8F7D\u76EE\u6807\u5BB9\u5668\u3002",7003:"\u5E94\u7528\u5DF2\u7ECF\u6302\u8F7D\uFF0C\u4E0D\u80FD\u91CD\u590D\u6302\u8F7D\u3002",7004:"\u53C2\u6570\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u4F20\u5165\u7684\u503C\u7C7B\u578B\u548C\u8303\u56F4\u3002",7005:"\u8D44\u6E90\u672A\u627E\u5230\uFF0C\u8BF7\u786E\u8BA4\u540D\u79F0\u6216\u8DEF\u5F84\u662F\u5426\u6B63\u786E\u3002",7006:"\u8D44\u6E90\u5DF2\u5B58\u5728\uFF0C\u8BF7\u4F7F\u7528\u4E0D\u540C\u7684\u540D\u79F0\u3002",7007:"\u64CD\u4F5C\u6267\u884C\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u76F8\u5173\u914D\u7F6E\u548C\u72B6\u6001\u3002",8001:"\u9879\u76EE\u811A\u624B\u67B6\u521B\u5EFA\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6A21\u677F\u548C\u76EE\u6807\u76EE\u5F55\u3002",8002:"\u9879\u76EE\u6784\u5EFA\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6784\u5EFA\u914D\u7F6E\u548C\u6E90\u4EE3\u7801\u3002",8003:"\u5F00\u53D1\u670D\u52A1\u5668\u542F\u52A8\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7AEF\u53E3\u548C\u914D\u7F6E\u3002",8004:"\u914D\u7F6E\u6587\u4EF6\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\u683C\u5F0F\u548C\u5FC5\u586B\u5B57\u6BB5\u3002",8005:"\u70ED\u6A21\u5757\u66FF\u6362\u8FDE\u63A5\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5 WebSocket \u914D\u7F6E\u3002",9001:"DevTools \u8FDE\u63A5\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6269\u5C55\u548C\u8FD0\u884C\u65F6\u7248\u672C\u662F\u5426\u5339\u914D\u3002",9002:"DevTools \u9762\u677F\u52A0\u8F7D\u9519\u8BEF\uFF0C\u8BF7\u5C1D\u8BD5\u5237\u65B0\u9875\u9762\u3002",9003:"\u6027\u80FD\u6570\u636E\u6EA2\u51FA\uFF0C\u8BF7\u51CF\u5C11\u76D1\u63A7\u7684\u7EC4\u4EF6\u6570\u91CF\u6216\u7F29\u77ED\u91C7\u96C6\u5468\u671F\u3002",9004:"\u7EC4\u4EF6\u6811\u89E3\u6790\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u5B9E\u4F8B\u72B6\u6001\u3002",10001:"\u63D2\u4EF6\u5B89\u88C5\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u63D2\u4EF6\u5305\u548C\u5B89\u88C5\u903B\u8F91\u3002",10002:"\u63D2\u4EF6\u5DF2\u5B89\u88C5\uFF0C\u8BF7\u907F\u514D\u91CD\u590D\u5B89\u88C5\u76F8\u540C\u63D2\u4EF6\u3002",10003:"\u65E0\u6548\u7684\u63D2\u4EF6\uFF0C\u8BF7\u68C0\u67E5\u63D2\u4EF6\u662F\u5426\u6EE1\u8DB3\u63A5\u53E3\u8981\u6C42\u3002",10004:"\u63D2\u4EF6\u5378\u8F7D\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u63D2\u4EF6\u662F\u5426\u5DF2\u88AB\u6B63\u786E\u6E05\u7406\u3002",11001:"SSR \u6D41\u5F0F\u6E32\u67D3\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u6D41\u7BA1\u9053\u914D\u7F6E\u3002",11002:"SSR Suspense \u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u5F02\u6B65\u7EC4\u4EF6\u7684\u52A0\u8F7D\u65F6\u95F4\u3002",11003:"SSR \u6C34\u5408\u9519\u8BEF\uFF0C\u670D\u52A1\u7AEF\u4E0E\u5BA2\u6237\u7AEF\u6E32\u67D3\u7ED3\u679C\u4E0D\u4E00\u81F4\u3002",11004:"SSR Island \u7EC4\u4EF6\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u5B64\u5C9B\u7EC4\u4EF6\u7684\u5E8F\u5217\u5316\u548C\u6E32\u67D3\u903B\u8F91\u3002"};function we(e){return e>=1e3&&e<2e3?O.COMPILER:e>=2e3&&e<3e3?O.RENDERER:e>=3e3&&e<4e3?O.COMPONENT:e>=4e3&&e<5e3?O.ROUTER:e>=5e3&&e<6e3?O.STORE:e>=6e3&&e<7e3?O.REACTIVITY:e>=7e3&&e<8e3?O.CORE:e>=8e3&&e<9e3?O.CLI:e>=9e3&&e<1e4?O.DEVTOOLS:e>=1e4&&e<11e3?O.PLUGIN:e>=11e3&&e<12e3?O.SSR:"UNKNOWN"}function U(e){return Ue[e]||"\u672A\u77E5\u9519\u8BEF\u3002"}function w(e){return we(e)}var L=class extends Error{constructor(t,n,o){super(n||U(t)),this.name="LytError",this.code=t,this.category=w(t),this.details=o}};function fe(e,t,n){let o=new L(e,n);return o.loc=t,o}function de(e,t,n){let o=new L(e,n);return o.details={vnode:t},o}function Re(e,t,n){let o=typeof t=="string"?t:t==null?void 0:t.name,c=new L(e,n);return c.details={component:o},c}var ee=!0;function j(){return ee}var Q=new Set;function Te(e){ee&&console.warn(`[Lyt warn] ${e}`)}function me(e){ee&&(Q.has(e)||(Q.add(e),console.warn(`[Lyt warn] ${e}`)))}function Oe(e){console.error(`[Lyt error] ${e}`)}function ye(){Q.clear()}function te(e){let t=[];if(e instanceof L?(t.push(`[Lyt Error] [${e.category}] Code: ${e.code}`),t.push(` Message: ${e.message}`)):t.push(`[Lyt Error] ${e.message}`),e instanceof L&&e.loc){let o=e.loc,c="";o.file&&(c+=o.file),o.line!=null&&(c+=`:${o.line}`),o.column!=null&&(c+=`:${o.column}`),c&&t.push(` Location: ${c}`),o.source&&t.push(` Source: ${o.source}`)}if(e instanceof L&&e.details&&e.details.component&&t.push(` Component: ${e.details.component}`),e.stack){t.push(""),t.push(" Stack:");let o=e.stack.split(`
2
+ `).slice(1);for(let c of o)t.push(` ${c.trim()}`)}let n=je(e);return n&&(t.push(""),t.push(` Suggestion: ${n}`)),t.join(`
3
+ `)}function ge(e){if(!e)return"";let t=[],n=e;for(;n;){let o=n.name||n.$name||"Anonymous";t.push(o),n=n.parent||n.$parent}return t.join(" > ")}function je(e){if(!(e instanceof L))return"\u8BF7\u68C0\u67E5\u4EE3\u7801\u903B\u8F91\uFF0C\u786E\u4FDD\u6CA1\u6709\u8FD0\u884C\u65F6\u5F02\u5E38\u3002";let t=e.code;return t>=1e3&&t<2e3?"\u8BF7\u68C0\u67E5\u6A21\u677F\u8BED\u6CD5\u662F\u5426\u6B63\u786E\uFF0C\u53C2\u8003 Lyt.js \u6A21\u677F\u8BED\u6CD5\u6587\u6863\u3002":t>=2e3&&t<3e3?t===2003?"\u6C34\u5408\u4E0D\u5339\u914D\u901A\u5E38\u7531\u670D\u52A1\u7AEF\u548C\u5BA2\u6237\u7AEF\u6E32\u67D3\u7ED3\u679C\u4E0D\u4E00\u81F4\u5F15\u8D77\u3002\u8BF7\u786E\u4FDD\u670D\u52A1\u7AEF\u548C\u5BA2\u6237\u7AEF\u4F7F\u7528\u76F8\u540C\u7684\u6570\u636E\u548C\u7EC4\u4EF6\u7248\u672C\u3002":"\u8BF7\u68C0\u67E5 VNode \u7ED3\u6784\u548C DOM \u5BB9\u5668\u662F\u5426\u6B63\u786E\u3002":t>=3e3&&t<4e3?t===3001?"\u8BF7\u68C0\u67E5\u4F20\u5165\u7684 props \u662F\u5426\u7B26\u5408\u7EC4\u4EF6\u5B9A\u4E49\u4E2D\u7684 props \u58F0\u660E\u3002":t===3002?"\u8BF7\u786E\u4FDD\u7EC4\u4EF6\u5B9A\u4E49\u4E2D\u5305\u542B template \u5B57\u7B26\u4E32\u6216 render \u65B9\u6CD5\u3002":"\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u5B9A\u4E49\u548C\u751F\u547D\u5468\u671F\u94A9\u5B50\u51FD\u6570\u3002":t>=4e3&&t<5e3?"\u8BF7\u68C0\u67E5\u8DEF\u7531\u914D\u7F6E\uFF0C\u786E\u4FDD\u8DEF\u7531\u8DEF\u5F84\u5DF2\u6B63\u786E\u6CE8\u518C\u3002":t>=5e3&&t<6e3?"\u8BF7\u68C0\u67E5 Store \u7684\u521B\u5EFA\u548C\u4F7F\u7528\uFF0C\u786E\u4FDD ID \u552F\u4E00\u4E14 Store \u672A\u88AB\u9500\u6BC1\u3002":t>=6e3&&t<7e3?t===6004?"\u8BF7\u68C0\u67E5 computed \u51FD\u6570\u662F\u5426\u5F15\u7528\u4E86\u81EA\u8EAB\uFF0C\u79FB\u9664\u5FAA\u73AF\u4F9D\u8D56\u3002":"\u8BF7\u68C0\u67E5\u54CD\u5E94\u5F0F\u6570\u636E\u7684\u8BFB\u5199\u64CD\u4F5C\u3002":t>=7e3&&t<8e3?t===7002?"\u8BF7\u786E\u4FDD\u6302\u8F7D\u76EE\u6807\u5BB9\u5668\u5728\u8C03\u7528 mount() \u4E4B\u524D\u5DF2\u5B58\u5728\u4E8E DOM \u4E2D\u3002":t===7003?"\u5E94\u7528\u5DF2\u6302\u8F7D\uFF0C\u5982\u9700\u91CD\u65B0\u6302\u8F7D\u8BF7\u5148\u8C03\u7528 unmount()\u3002":"\u8BF7\u68C0\u67E5\u5E94\u7528\u914D\u7F6E\u548C\u53C2\u6570\u3002":null}function Ie(e){if(!j())return"";let t=te(e),n=e.message.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),o=t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return`<div style="
4
+ position: fixed;
5
+ top: 0;
6
+ left: 0;
7
+ right: 0;
8
+ bottom: 0;
9
+ z-index: 999999;
10
+ background: rgba(0, 0, 0, 0.75);
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ font-family: monospace;
15
+ ">
16
+ <div style="
17
+ background: #1e1e1e;
18
+ color: #d4d4d4;
19
+ border-radius: 8px;
20
+ max-width: 640px;
21
+ width: 90%;
22
+ max-height: 80vh;
23
+ overflow: auto;
24
+ padding: 20px;
25
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
26
+ ">
27
+ <div style="
28
+ color: #f44747;
29
+ font-size: 16px;
30
+ font-weight: bold;
31
+ margin-bottom: 12px;
32
+ border-bottom: 1px solid #333;
33
+ padding-bottom: 8px;
34
+ ">Lyt.js Runtime Error</div>
35
+ <div style="
36
+ color: #ce9178;
37
+ font-size: 14px;
38
+ margin-bottom: 16px;
39
+ ">${n}</div>
40
+ <pre style="
41
+ color: #d4d4d4;
42
+ font-size: 12px;
43
+ background: #2d2d2d;
44
+ padding: 12px;
45
+ border-radius: 4px;
46
+ overflow-x: auto;
47
+ white-space: pre-wrap;
48
+ word-break: break-all;
49
+ ">${o}</pre>
50
+ </div>
51
+ </div>`}function k(){return typeof window!="undefined"&&typeof document!="undefined"&&typeof HTMLElement!="undefined"&&typeof customElements!="undefined"}function ke(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function $e(e){if(e===""||e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e==="undefined")return;let t=Number(e);if(!isNaN(t)&&e.trim()!=="")return t;if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e)}catch(n){}return e}function He(e,t){return t&&t[e]?t[e]:ke(e)}function Ge(e){let t=[],n=e;if(n.emits&&(Array.isArray(n.emits)?t.push(...n.emits):typeof n.emits=="object"&&t.push(...Object.keys(n.emits))),n.methods){for(let o of Object.keys(n.methods))if(o.startsWith("on")&&o.length>2){let c=o.charAt(2).toLowerCase()+o.slice(3);t.push(c)}}return t}function Be(e,t={}){let{shadowMode:n="open",styles:o="",propMappings:c,eventMappings:T={},attributeConverters:_={}}=t,m=t.observedAttributes||[],R=Ge(e);return class extends HTMLElement{constructor(){super();this._shadowRoot=null;this._instance=null;this._props={};this._container=null;this._connected=!1;this._eventCleanups=[];this._effectCleanup=null;this._updateScheduled=!1}static get observedAttributes(){return m}connectedCallback(){if(!this._connected){if(this._connected=!0,this._shadowRoot=this.attachShadow({mode:n}),o){let i=document.createElement("style");i.textContent=o,this._shadowRoot.appendChild(i)}this._container=document.createElement("div"),this._shadowRoot.appendChild(this._container),this._syncAttributesToProps(),this._mountComponent(),this._forwardSlots()}}disconnectedCallback(){if(this._connected){this._connected=!1;for(let i of this._eventCleanups)i();this._eventCleanups=[],this._effectCleanup&&(this._effectCleanup(),this._effectCleanup=null),this._instance=null,this._container&&(this._container.innerHTML="")}}attributeChangedCallback(i,a,E){a!==E&&this._connected&&(this._syncAttributesToProps(),this._updateComponent())}_syncAttributesToProps(){let i={};for(let a of m)if(this.hasAttribute(a)){let E=this.getAttribute(a),s=He(a,c);_[a]?i[s]=_[a](E):i[s]=$e(E)}if(e.props){for(let[a,E]of Object.entries(e.props))if(i[a]===void 0){let s=E;s&&typeof s=="object"&&"default"in s?i[a]=typeof s.default=="function"?s.default():s.default:s==null}}this._props=i}_mountComponent(){let i=e.render?e.render:e.template?this._compileTemplate(e.template):null;if(!i)return;let a=this._createComponentContext(),E=i.call(a,A,a);E&&this._container&&this._renderVNode(E,this._container),this._setupReactiveUpdates(a,i)}_compileTemplate(i){try{let a=Function("return require")(),{compile:E}=a("../../compiler/src/index.ts"),{code:s}=E(i);return new Function("h","_ctx",`return ${s}`)}catch(a){return console.warn("[Lyt Web Component] \u6A21\u677F\u7F16\u8BD1\u9700\u8981 @lytjs/compiler \u5305"),null}}_createComponentContext(){let i=e.state?typeof e.state=="function"?e.state():{...e.state}:{},a=e.computed||{},E=e.methods||{},s={...this._props,...i};for(let[p,l]of Object.entries(a))typeof l=="function"?Object.defineProperty(s,p,{get:l.bind(s),enumerable:!0}):l&&typeof l=="object"&&"get"in l&&Object.defineProperty(s,p,{get:l.get.bind(s),enumerable:!0});for(let[p,l]of Object.entries(E))typeof l=="function"&&(s[p]=l.bind(s));return s.emit=(p,...l)=>{let f=T[p]||p,d=new CustomEvent(f,{detail:l.length===1?l[0]:l,bubbles:!0,composed:!0});this.dispatchEvent(d)},s.$el=this._container,s.$attrs={...this._props},s.$slots=this._getSlotContent(),s}_setupReactiveUpdates(i,a){try{let E=Function("return require")(),{effect:s,stop:p}=E("../../reactivity/src/index.ts"),l=s(()=>{if(!this._connected||!this._container)return;let d=a.call(i,A,i);d&&(this._container.innerHTML="",this._renderVNode(d,this._container))},{lazy:!0}),f=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let d of f){let I=i[d];Object.defineProperty(i,d,{get(){return I},set(h){I=h;try{l()}catch(H){}},enumerable:!0})}this._effectCleanup=()=>{try{p(l)}catch(d){}}}catch(E){let s=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let p of s){let f=i[p],d=this;Object.defineProperty(i,p,{get(){return f},set(I){f=I,d._scheduleUpdate(i,a)},enumerable:!0})}}}_scheduleUpdate(i,a){this._updateScheduled||(this._updateScheduled=!0,Promise.resolve().then(()=>{if(this._updateScheduled=!1,!this._connected||!this._container)return;let E=a.call(i,A,i);E&&(this._container.innerHTML="",this._renderVNode(E,this._container))}))}_updateComponent(){if(!this._container)return;let i=e.render?e.render:e.template?this._compileTemplate(e.template):null;if(!i)return;let a=this._createComponentContext(),E=i.call(a,A,a);this._container.innerHTML="",E&&this._renderVNode(E,this._container)}_renderVNode(i,a){let E=this._vNodeToElement(i);E&&a.appendChild(E)}_vNodeToElement(i){if(!i)return null;if(typeof i.type=="symbol"){let a=document.createDocumentFragment();if(Array.isArray(i.children))for(let E of i.children){let s=this._vNodeToElement(E);s&&a.appendChild(s)}return a}if(typeof i.children=="string")return document.createTextNode(i.children);if(typeof i.type=="string"){let a=document.createElement(i.type);if(i.props)for(let[E,s]of Object.entries(i.props))if(E==="style"&&typeof s=="object")for(let[p,l]of Object.entries(s))a.style[p]=l;else if(E==="class"){if(typeof s=="string")a.className=s;else if(typeof s=="object"){let p=[];for(let[l,f]of Object.entries(s))f&&p.push(l);a.className=p.join(" ")}}else if(E.startsWith("on")&&typeof s=="function"){let p=E.slice(2).toLowerCase();a.addEventListener(p,s),this._eventCleanups.push(()=>{a.removeEventListener(p,s)})}else E==="ref"&&typeof s=="function"?s(a):a.setAttribute(E,String(s));if(Array.isArray(i.children))for(let E of i.children){let s=this._vNodeToElement(E);s&&a.appendChild(s)}else typeof i.children=="string"&&(a.textContent=i.children);return a}return typeof i.type=="object"||typeof i.type=="function"?i.component?this._vNodeToElement(i.component.subTree||i):document.createComment("component"):null}_forwardSlots(){if(!this._shadowRoot||!this._container)return;let i=this.querySelectorAll("[slot]");for(let E of i){let s=E.getAttribute("slot")||"default",p=document.createElement("slot");s!=="default"&&p.setAttribute("name",s),this._container.appendChild(p)}let a=document.createElement("slot");this._container.appendChild(a)}_getSlotContent(){var s;let i={},a=this.querySelectorAll("[slot]");for(let p of a){let l=p.getAttribute("slot")||"default";i[l]||(i[l]=[]),i[l].push(p.cloneNode(!0))}let E=[];for(let p of Array.from(this.childNodes))(s=p.hasAttribute)!=null&&s.call(p,"slot")||E.push(p.cloneNode(!0));return E.length>0&&(i.default=E),i}get _lytInstance(){return this._instance}get _lytProps(){return{...this._props}}}}function $(e,t,n){if(!e.includes("-"))throw new Error(`[Lyt Web Component] \u6807\u7B7E\u540D "${e}" \u5FC5\u987B\u5305\u542B\u8FDE\u5B57\u7B26 (-)\u3002\u8FD9\u662F Custom Element \u89C4\u8303\u7684\u8981\u6C42\u3002`);if(!k()){console.warn("[Lyt Web Component] defineCustomElement \u53EA\u80FD\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u4E2D\u4F7F\u7528\u3002\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301 Custom Elements API\u3002");return}let o=Be(t,n);customElements.define(e,o)}function Ne(e){for(let{tagName:t,component:n,options:o}of e)$(t,n,o)}function Le(e){if(k())try{let t=customElements;t.__unregister&&t.__unregister(e)}catch(t){console.warn(`[Lyt Web Component] \u65E0\u6CD5\u6CE8\u9500 "${e}"\u3002Custom Elements \u89C4\u8303\u4E0D\u652F\u6301\u76F4\u63A5\u6CE8\u9500\u5DF2\u6CE8\u518C\u7684\u5143\u7D20\u3002`)}}async function Ae(e,t,n){let o=t.match(/<template>([\s\S]*?)<\/template>/),c=t.match(/<script[^>]*>([\s\S]*?)<\/script>/),T=/<style[^>]*>([\s\S]*?)<\/style>/g,_=[],m;for(;(m=T.exec(t))!==null;)_.push(m);let R=(n==null?void 0:n.styles)||"";for(let a of _)R+=a[1]+`
52
+ `;let y=o?o[1].trim():void 0,g={};if(c){let a=c[1].trim();if(a.match(/export\s+default\s*(\{[\s\S]*\}|\([\s\S]*\)[\s\S]*?\))/))try{let s={},p={exports:s};new Function("module","exports",`"use strict"; ${a.replace(/export\s+default\s*/,"module.exports =")}`)(p,s),g=p.exports||s}catch(s){console.warn("[Lyt Web Component] \u65E0\u6CD5\u89E3\u6790 SFC \u811A\u672C\u5185\u5BB9")}}let i={...n,styles:R};y&&!g.template&&!g.render&&(g.template=y),$(e,g,i)}
package/dist/index.mjs ADDED
@@ -0,0 +1,52 @@
1
+ var q=(_=>(_[_.ELEMENT=1]="ELEMENT",_[_.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",_[_.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",_[_.TEXT_CHILDREN=8]="TEXT_CHILDREN",_[_.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",_[_.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",_))(q||{}),K=Symbol("Fragment");function re(e){return typeof e=="string"||typeof e=="number"}function X(e){return Array.isArray(e)}function z(e){return e!==null&&typeof e=="object"&&e.type!==void 0&&e.shapeFlag!==void 0}function oe(e,t){if(t!=null)if(re(t))e.children=String(t),e.shapeFlag|=8;else if(X(t)){let n=[];for(let i=0;i<t.length;i++){let c=t[i];if(!(c==null||typeof c=="boolean"))if(X(c))for(let T=0;T<c.length;T++){let _=c[T];_!=null&&typeof _!="boolean"&&n.push(z(_)?_:M(String(_)))}else z(c)?n.push(c):n.push(M(String(c)))}e.children=n,e.shapeFlag|=16}else typeof t=="object"&&(e.children=t,e.shapeFlag|=32)}function M(e,t=null,n=null){var R,O;let i=0;typeof e=="string"?i=1:e===K?i=0:typeof e=="function"?i=2:typeof e=="object"&&e!==null&&(e.setup||e.__vccOpts||e.render)&&(i=4);let c=(R=t==null?void 0:t.key)!=null?R:null,T=(O=t==null?void 0:t.ref)!=null?O:null,_=t;if(t){let{key:y,ref:o,...a}=t;_=a}let m={type:e,props:_,children:null,key:c,ref:T,shapeFlag:i,el:null,component:null};return n!=null&&oe(m,n),m}function L(e,t,n){return M(e,t||null,n||null)}function F(e){return Object.create(e||null)}function h(e){return e!==null&&typeof e=="object"&&typeof e.install=="function"}function P(e){return typeof e=="function"}function V(e){return h(e)&&e.name||P(e)&&e.name?e.name:h(e)?"[PluginObject]":"[PluginFunction]"}function U(e,t,...n){if(h(t)){let i=t.onBeforeInstall?t.onBeforeInstall(e,...n):void 0;if(x(i))return i.then(()=>{let c=t.install(e,...n);if(x(c))return c.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)});{let c=t.install(e,...n);if(x(c))return c.then(()=>{if(t.onInstalled)return t.onInstalled(e,...n)});if(t.onInstalled)return t.onInstalled(e,...n)}}else{if(P(t))return t(e,...n);console.warn("[Lyt] \u65E0\u6548\u7684\u63D2\u4EF6\uFF1A\u63D2\u4EF6\u5FC5\u987B\u662F\u5E26\u6709 install \u65B9\u6CD5\u7684\u5BF9\u8C61\u6216\u51FD\u6570\u3002")}}function w(e,t){if(h(t)){if(typeof t.uninstall=="function")return t.uninstall(e);console.warn(`[Lyt] \u63D2\u4EF6 "${V(t)}" \u672A\u5B9A\u4E49 uninstall \u65B9\u6CD5\uFF0C\u65E0\u6CD5\u5B8C\u5168\u5378\u8F7D\u3002`)}else P(t)&&console.warn(`[Lyt] \u51FD\u6570\u5F62\u5F0F\u63D2\u4EF6 "${V(t)}" \u4E0D\u652F\u6301\u5378\u8F7D\u3002`)}function x(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}import{effect as ie,stop as se}from"@lytjs/reactivity";import{compile as ae}from"@lytjs/compiler";import{defineComponent as le,createComponentInstance as ce,setupComponent as ue,mountComponent as Ee,updateComponent as pe,unmountComponent as _e}from"@lytjs/component";import{createRenderer as fe}from"@lytjs/renderer";var J=new Map;function de(e){let t=J.get(e);if(t)return t;let{code:n}=ae(e);return t=new Function("h","_ctx",`return ${n}`),J.set(e,t),t}function Re(e){let t={...e};if(e.state&&typeof e.state!="function"){let n=e.state;t.state=()=>({...n})}if(typeof e.render=="function"){let n=e.render;t.render=(i,c)=>n(c.renderProxy)}if(e.computed){let n={};for(let i of Object.keys(e.computed)){let c=e.computed[i];typeof c=="function"?n[i]={get:c}:n[i]=c}t.computed=n}if(typeof e.init=="function"){let n=e.init;t.init=function(i,c){return n.call(this,i)}}return t}function Te(){return{createElement(e){return document.createElement(e)},createText(e){return document.createTextNode(e)},createComment(e){return document.createComment(e)},setAttribute(e,t,n){e.setAttribute(t,String(n))},removeAttribute(e,t){e.removeAttribute(t)},setStyle(e,t){if(typeof t=="string")e.style.cssText=t;else if(t&&typeof t=="object")for(let n in t)e.style[n]=t[n]},setClass(e,t){if(typeof t=="string")e.className=t;else if(t&&typeof t=="object"){let n=[];for(let[i,c]of Object.entries(t))c&&n.push(i);e.className=n.join(" ")}else e.className=""},insert(e,t,n){n!=null?e.insertBefore(t,n):e.appendChild(t)},remove(e){e.parentNode&&e.parentNode.removeChild(e)},replace(e,t,n){e.replaceChild(n,t)},addEventListener(e,t,n,i){e.addEventListener(t,n,i)},removeEventListener(e,t,n){e.removeEventListener(t,n)},nextTick(e){Promise.resolve().then(e)},parentNode(e){return e.parentNode},nextSibling(e){return e.nextSibling},querySelector(e){return document.querySelector(e)}}}function me(e,t){let n=new Set,i={},c={},T=F(),_={},m={},R=null,O=null,y=null,o=null,a=!1,s=Re(typeof e=="function"?{render:e}:e),p=le(s),l={config:_,globalProperties:m,get _instance(){return R},mount(f){if(a)return console.warn("[Lyt] \u5E94\u7528\u5DF2\u7ECF\u6302\u8F7D\uFF0C\u4E0D\u80FD\u91CD\u590D\u6302\u8F7D\u3002"),l;let d;if(typeof f=="string"){if(d=document.querySelector(f),!d)throw new Error(`[Lyt] \u627E\u4E0D\u5230\u6302\u8F7D\u76EE\u6807: "${f}"`)}else d=f;o=d;let g=Te();O=fe(g),R=ce(p),ue(R,t||{},null);let C=R.type;if(!C.render&&C.template){let v=de(C.template);C.render=(Y,u)=>v(Y,u.renderProxy)}return Ee(R,L),R.subTree&&O.mount(R.subTree,d),y=ie(()=>{if(!(!R||!R.isMounted||!O)&&(pe(R,L),R.subTree&&o)){let v=o.firstChild,Y=R.subTree;o.innerHTML="",O.mount(Y,o)}},{lazy:!0}),a=!0,l},unmount(){if(!a){console.warn("[Lyt] \u5E94\u7528\u672A\u6302\u8F7D\uFF0C\u65E0\u6CD5\u5378\u8F7D\u3002");return}y&&(se(y),y=null),R&&_e(R),o&&(o.innerHTML=""),R=null,O=null,o=null,a=!1},use(f,...d){if(n.has(f))return console.warn("[Lyt] \u63D2\u4EF6\u5DF2\u7ECF\u5B89\u88C5\uFF0C\u4E0D\u80FD\u91CD\u590D\u5B89\u88C5\u3002"),l;n.add(f);let g=U({use:l.use.bind(l),unuse:l.unuse.bind(l),isInstalled:l.isInstalled.bind(l),provide:l.provide.bind(l),inject:l.inject.bind(l),config:_,globalProperties:m},f,...d);return g instanceof Promise?g.then(()=>l):l},unuse(f){if(!n.has(f))return console.warn("[Lyt] \u63D2\u4EF6\u672A\u5B89\u88C5\uFF0C\u65E0\u6CD5\u5378\u8F7D\u3002"),l;n.delete(f);let d=w({use:l.use.bind(l),unuse:l.unuse.bind(l),isInstalled:l.isInstalled.bind(l),provide:l.provide.bind(l),inject:l.inject.bind(l),config:_,globalProperties:m},f);return d instanceof Promise?d.then(()=>l):l},isInstalled(f){return n.has(f)},provide(f,d){return T[f]=d,l},inject(f,d){let g=T[f];return g!==void 0?g:d},component(f,d){return d?(i[f]=d,l):i[f]},directive(f,d){return d?(c[f]=d,l):c[f]}};return l}var Q=(u=>(u[u.INVALID_ARGUMENT=1001]="INVALID_ARGUMENT",u[u.NOT_FOUND=1002]="NOT_FOUND",u[u.ALREADY_EXISTS=1003]="ALREADY_EXISTS",u[u.OPERATION_FAILED=1004]="OPERATION_FAILED",u[u.REACTIVE_READONLY=2001]="REACTIVE_READONLY",u[u.REACTIVE_EFFECT_DISPOSED=2002]="REACTIVE_EFFECT_DISPOSED",u[u.COMPUTED_CYCLE=2003]="COMPUTED_CYCLE",u[u.PARSE_ERROR=3001]="PARSE_ERROR",u[u.INVALID_EXPRESSION=3002]="INVALID_EXPRESSION",u[u.INVALID_DIRECTIVE=3003]="INVALID_DIRECTIVE",u[u.INVALID_TEMPLATE=3004]="INVALID_TEMPLATE",u[u.RENDER_ERROR=4001]="RENDER_ERROR",u[u.HYDRATION_MISMATCH=4002]="HYDRATION_MISMATCH",u[u.INVALID_VNODE=4003]="INVALID_VNODE",u[u.COMPONENT_INVALID_PROPS=5001]="COMPONENT_INVALID_PROPS",u[u.COMPONENT_MISSING_TEMPLATE=5002]="COMPONENT_MISSING_TEMPLATE",u[u.COMPONENT_LIFECYCLE_ERROR=5003]="COMPONENT_LIFECYCLE_ERROR",u[u.ROUTE_NOT_FOUND=6001]="ROUTE_NOT_FOUND",u[u.ROUTE_DUPLICATE=6002]="ROUTE_DUPLICATE",u[u.NAVIGATION_ABORTED=6003]="NAVIGATION_ABORTED",u[u.NAVIGATION_FAILED=6004]="NAVIGATION_FAILED",u[u.STORE_NOT_FOUND=7001]="STORE_NOT_FOUND",u[u.STORE_DUPLICATE=7002]="STORE_DUPLICATE",u))(Q||{});var A=class extends Error{constructor(t,n,i){let c=`[Lyt ${t}] ${n}`;super(c),this.name="LytError",this.code=t,this.details=i}};var S=class S{constructor(t){this.errors=[],this.options=t||{},this._hasError=!1}get hasError(){return this._hasError}static setGlobalHandler(t){S.globalHandler=t}capture(t,n,i){var _;let c={error:t,vm:n,info:i||"",timestamp:Date.now()};this.errors.push(c),this._hasError=!0;let T=(_=this.options.maxErrors)!=null?_:100;this.errors.length>T&&this.errors.splice(0,this.errors.length-T),!(this.options.onErrorCaptured&&this.options.onErrorCaptured(t instanceof A?t:new A(1004,t.message),n,c.info)===!0)&&this.options.onError&&this.options.onError(t instanceof A?t:new A(1004,t.message),n)}getFallback(t){if(!this.options.fallback||this.errors.length===0)return null;let n=this.errors[this.errors.length-1];return this.options.fallback(n.error,n.vm,n.info)}getErrors(){return this.errors.slice()}getErrorCount(){return this.errors.length}getLastErrors(){return this.errors.length===0?null:{...this.errors[this.errors.length-1]}}clear(){this.errors=[],this._hasError=!1}};S.globalHandler=null;var D=S,b=!0,Z=new Set;function Oe(e){b=e}function ye(e){b&&console.warn(`[Lyt warn] ${e}`)}function ge(e){b&&(Z.has(e)||(Z.add(e),console.warn(`[Lyt warn] ${e}`)))}var Ie={1001:e=>`\u53C2\u6570 "${e}" \u65E0\u6548\u3002\u8BF7\u68C0\u67E5\u4F20\u5165\u7684\u503C\u7C7B\u578B\u548C\u8303\u56F4\u3002`,1002:e=>`"${e}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4\u8D44\u6E90\u540D\u79F0\u6216\u8DEF\u5F84\u662F\u5426\u6B63\u786E\u3002`,1003:e=>`"${e}" \u5DF2\u5B58\u5728\u3002\u8BF7\u4F7F\u7528\u4E0D\u540C\u7684\u540D\u79F0\u3002`,1004:e=>`\u64CD\u4F5C "${e}" \u6267\u884C\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u76F8\u5173\u914D\u7F6E\u548C\u72B6\u6001\u3002`,2001:e=>`\u65E0\u6CD5\u4FEE\u6539\u53EA\u8BFB\u54CD\u5E94\u5F0F\u5C5E\u6027 "${e}"\u3002\u53EA\u8BFB\u5BF9\u8C61\u4E0D\u5141\u8BB8\u76F4\u63A5\u8D4B\u503C\u3002`,2002:()=>"\u526F\u4F5C\u7528\u51FD\u6570\u5DF2\u88AB\u9500\u6BC1\uFF0C\u65E0\u6CD5\u518D\u6B21\u6267\u884C\u3002\u8BF7\u521B\u5EFA\u65B0\u7684\u526F\u4F5C\u7528\u3002",2003:()=>"\u8BA1\u7B97\u5C5E\u6027\u68C0\u6D4B\u5230\u5FAA\u73AF\u4F9D\u8D56\u3002\u8BF7\u68C0\u67E5 computed \u51FD\u6570\u662F\u5426\u5F15\u7528\u4E86\u81EA\u8EAB\u3002",3001:e=>`\u6A21\u677F\u89E3\u6790\u9519\u8BEF\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u6A21\u677F\u8BED\u6CD5\u662F\u5426\u6B63\u786E\u3002`,3002:e=>`\u65E0\u6548\u7684\u8868\u8FBE\u5F0F "${e}"\u3002\u8BF7\u68C0\u67E5\u8868\u8FBE\u5F0F\u8BED\u6CD5\u3002`,3003:e=>`\u65E0\u6548\u7684\u6307\u4EE4 "${e}"\u3002\u8BF7\u786E\u8BA4\u6307\u4EE4\u540D\u79F0\u662F\u5426\u6B63\u786E\u3002`,3004:e=>`\u65E0\u6548\u7684\u6A21\u677F\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u6A21\u677F\u5185\u5BB9\u3002`,4001:e=>`\u6E32\u67D3\u9519\u8BEF\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u7684 render \u51FD\u6570\u6216\u6A21\u677F\u3002`,4002:e=>`\u6C34\u5408\u4E0D\u5339\u914D\uFF1A${e}\u3002\u670D\u52A1\u7AEF\u6E32\u67D3\u4E0E\u5BA2\u6237\u7AEF\u6E32\u67D3\u7ED3\u679C\u4E0D\u4E00\u81F4\u3002`,4003:e=>`\u65E0\u6548\u7684\u865A\u62DF\u8282\u70B9\uFF1A${e}\u3002VNode \u7F3A\u5C11\u5FC5\u8981\u7684 type \u6216\u5176\u4ED6\u5C5E\u6027\u3002`,5001:e=>`\u7EC4\u4EF6\u5C5E\u6027\u65E0\u6548\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u4F20\u5165\u7684 props \u662F\u5426\u7B26\u5408\u7EC4\u4EF6\u5B9A\u4E49\u3002`,5002:e=>`\u7EC4\u4EF6 "${e}" \u7F3A\u5C11 template \u6216 render \u51FD\u6570\u3002\u8BF7\u786E\u4FDD\u7EC4\u4EF6\u5B9A\u4E49\u4E2D\u5305\u542B template \u5B57\u7B26\u4E32\u6216 render \u65B9\u6CD5\u3002`,5003:e=>`\u7EC4\u4EF6\u751F\u547D\u5468\u671F\u9519\u8BEF\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u751F\u547D\u5468\u671F\u94A9\u5B50\u51FD\u6570\u3002`,6001:e=>`\u8DEF\u7531 "${e}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4\u8DEF\u7531\u8DEF\u5F84\u662F\u5426\u5DF2\u6CE8\u518C\u3002`,6002:e=>`\u8DEF\u7531 "${e}" \u5DF2\u5B58\u5728\u3002\u8BF7\u907F\u514D\u91CD\u590D\u6CE8\u518C\u76F8\u540C\u7684\u8DEF\u7531\u8DEF\u5F84\u3002`,6003:e=>`\u5BFC\u822A\u88AB\u4E2D\u6B62\uFF1A${e}\u3002\u53EF\u80FD\u88AB\u5BFC\u822A\u5B88\u536B\u62E6\u622A\u3002`,6004:e=>`\u5BFC\u822A\u5931\u8D25\uFF1A${e}\u3002\u8BF7\u68C0\u67E5\u76EE\u6807\u8DEF\u7531\u662F\u5426\u6709\u6548\u3002`,7001:e=>`Store "${e}" \u672A\u627E\u5230\u3002\u8BF7\u786E\u8BA4 store \u662F\u5426\u5DF2\u6CE8\u518C\u3002`,7002:e=>`Store "${e}" \u5DF2\u5B58\u5728\u3002\u8BF7\u907F\u514D\u91CD\u590D\u521B\u5EFA\u76F8\u540C ID \u7684 store\u3002`};function Ne(e,...t){let n=Ie[e];if(n){let i=n(...t);return`[Lyt ${e}] ${i}`}return`[Lyt ${e}] \u672A\u77E5\u9519\u8BEF\u3002`}function ee(e,t,n){D.globalHandler&&D.globalHandler(e,t,n||""),b&&(e instanceof A?(console.error(e.message),e.details&&console.error("\u8BE6\u7EC6\u4FE1\u606F:",e.details)):console.error(`[Lyt Error] ${e.message}`),t&&console.error("\u7EC4\u4EF6\u5B9E\u4F8B:",t),n&&console.error("\u9519\u8BEF\u6765\u6E90:",n))}function Le(e,t){try{return e()}catch(n){ee(n instanceof Error?n:new Error(String(n)),t);return}}var te=(r=>(r[r.LYT_COMPILER_PARSE_ERROR=1001]="LYT_COMPILER_PARSE_ERROR",r[r.LYT_COMPILER_INVALID_EXPRESSION=1002]="LYT_COMPILER_INVALID_EXPRESSION",r[r.LYT_COMPILER_INVALID_TEMPLATE=1003]="LYT_COMPILER_INVALID_TEMPLATE",r[r.LYT_COMPILER_INVALID_DIRECTIVE=1004]="LYT_COMPILER_INVALID_DIRECTIVE",r[r.LYT_COMPILER_CODEGEN_ERROR=1005]="LYT_COMPILER_CODEGEN_ERROR",r[r.LYT_COMPILER_SFC_PARSE_ERROR=1006]="LYT_COMPILER_SFC_PARSE_ERROR",r[r.LYT_COMPILER_TRANSFORM_ERROR=1007]="LYT_COMPILER_TRANSFORM_ERROR",r[r.LYT_RENDERER_MOUNT_FAILED=2001]="LYT_RENDERER_MOUNT_FAILED",r[r.LYT_RENDERER_PATCH_FAILED=2002]="LYT_RENDERER_PATCH_FAILED",r[r.LYT_RENDERER_HYDRATION_MISMATCH=2003]="LYT_RENDERER_HYDRATION_MISMATCH",r[r.LYT_RENDERER_INVALID_VNODE=2004]="LYT_RENDERER_INVALID_VNODE",r[r.LYT_RENDERER_UNMOUNT_FAILED=2005]="LYT_RENDERER_UNMOUNT_FAILED",r[r.LYT_COMPONENT_INVALID_PROPS=3001]="LYT_COMPONENT_INVALID_PROPS",r[r.LYT_COMPONENT_MISSING_RENDER=3002]="LYT_COMPONENT_MISSING_RENDER",r[r.LYT_COMPONENT_LIFECYCLE_ERROR=3003]="LYT_COMPONENT_LIFECYCLE_ERROR",r[r.LYT_COMPONENT_INVALID=3004]="LYT_COMPONENT_INVALID",r[r.LYT_COMPONENT_EMIT_INVALID=3005]="LYT_COMPONENT_EMIT_INVALID",r[r.LYT_COMPONENT_RENDER_ERROR=3006]="LYT_COMPONENT_RENDER_ERROR",r[r.LYT_ROUTER_INVALID_ROUTE=4001]="LYT_ROUTER_INVALID_ROUTE",r[r.LYT_ROUTER_NAVIGATION_FAILED=4002]="LYT_ROUTER_NAVIGATION_FAILED",r[r.LYT_ROUTER_DUPLICATE_ROUTE=4003]="LYT_ROUTER_DUPLICATE_ROUTE",r[r.LYT_ROUTER_NAVIGATION_ABORTED=4004]="LYT_ROUTER_NAVIGATION_ABORTED",r[r.LYT_ROUTER_GUARD_ERROR=4005]="LYT_ROUTER_GUARD_ERROR",r[r.LYT_STORE_ALREADY_EXISTS=5001]="LYT_STORE_ALREADY_EXISTS",r[r.LYT_STORE_NOT_FOUND=5002]="LYT_STORE_NOT_FOUND",r[r.LYT_STORE_DISPOSED=5003]="LYT_STORE_DISPOSED",r[r.LYT_STORE_PATCH_ERROR=5004]="LYT_STORE_PATCH_ERROR",r[r.LYT_REACTIVITY_READONLY_SET=6001]="LYT_REACTIVITY_READONLY_SET",r[r.LYT_REACTIVITY_READONLY_DELETE=6002]="LYT_REACTIVITY_READONLY_DELETE",r[r.LYT_REACTIVITY_EFFECT_ERROR=6003]="LYT_REACTIVITY_EFFECT_ERROR",r[r.LYT_REACTIVITY_COMPUTED_CYCLE=6004]="LYT_REACTIVITY_COMPUTED_CYCLE",r[r.LYT_REACTIVITY_EFFECT_DISPOSED=6005]="LYT_REACTIVITY_EFFECT_DISPOSED",r[r.LYT_CORE_PLUGIN_ERROR=7001]="LYT_CORE_PLUGIN_ERROR",r[r.LYT_CORE_MOUNT_NO_CONTAINER=7002]="LYT_CORE_MOUNT_NO_CONTAINER",r[r.LYT_CORE_ALREADY_MOUNTED=7003]="LYT_CORE_ALREADY_MOUNTED",r[r.LYT_CORE_INVALID_ARGUMENT=7004]="LYT_CORE_INVALID_ARGUMENT",r[r.LYT_CORE_NOT_FOUND=7005]="LYT_CORE_NOT_FOUND",r[r.LYT_CORE_ALREADY_EXISTS=7006]="LYT_CORE_ALREADY_EXISTS",r[r.LYT_CORE_OPERATION_FAILED=7007]="LYT_CORE_OPERATION_FAILED",r[r.LYT_CLI_SCAFFOLD_FAILED=8001]="LYT_CLI_SCAFFOLD_FAILED",r[r.LYT_CLI_BUILD_FAILED=8002]="LYT_CLI_BUILD_FAILED",r[r.LYT_CLI_DEV_SERVER_ERROR=8003]="LYT_CLI_DEV_SERVER_ERROR",r[r.LYT_CLI_CONFIG_INVALID=8004]="LYT_CLI_CONFIG_INVALID",r[r.LYT_CLI_HMR_CONNECTION_FAILED=8005]="LYT_CLI_HMR_CONNECTION_FAILED",r[r.LYT_DEVTOOLS_CONNECTION_FAILED=9001]="LYT_DEVTOOLS_CONNECTION_FAILED",r[r.LYT_DEVTOOLS_PANEL_ERROR=9002]="LYT_DEVTOOLS_PANEL_ERROR",r[r.LYT_DEVTOOLS_PERF_OVERFLOW=9003]="LYT_DEVTOOLS_PERF_OVERFLOW",r[r.LYT_DEVTOOLS_COMPONENT_TREE_ERROR=9004]="LYT_DEVTOOLS_COMPONENT_TREE_ERROR",r[r.LYT_PLUGIN_INSTALL_FAILED=10001]="LYT_PLUGIN_INSTALL_FAILED",r[r.LYT_PLUGIN_ALREADY_INSTALLED=10002]="LYT_PLUGIN_ALREADY_INSTALLED",r[r.LYT_PLUGIN_INVALID=10003]="LYT_PLUGIN_INVALID",r[r.LYT_PLUGIN_UNINSTALL_FAILED=10004]="LYT_PLUGIN_UNINSTALL_FAILED",r[r.LYT_SSR_STREAM_ERROR=11001]="LYT_SSR_STREAM_ERROR",r[r.LYT_SSR_SUSPENSE_TIMEOUT=11002]="LYT_SSR_SUSPENSE_TIMEOUT",r[r.LYT_SSR_HYDRATION_ERROR=11003]="LYT_SSR_HYDRATION_ERROR",r[r.LYT_SSR_ISLAND_ERROR=11004]="LYT_SSR_ISLAND_ERROR",r))(te||{}),I={COMPILER:"COMPILER",RENDERER:"RENDERER",COMPONENT:"COMPONENT",ROUTER:"ROUTER",STORE:"STORE",REACTIVITY:"REACTIVITY",CORE:"CORE",CLI:"CLI",DEVTOOLS:"DEVTOOLS",PLUGIN:"PLUGIN",SSR:"SSR"},Ae={1001:"\u6A21\u677F\u89E3\u6790\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u6A21\u677F\u8BED\u6CD5\u662F\u5426\u6B63\u786E\u3002",1002:"\u65E0\u6548\u7684\u8868\u8FBE\u5F0F\uFF0C\u8BF7\u68C0\u67E5\u8868\u8FBE\u5F0F\u8BED\u6CD5\u3002",1003:"\u65E0\u6548\u7684\u6A21\u677F\uFF0C\u8BF7\u68C0\u67E5\u6A21\u677F\u5185\u5BB9\u3002",1004:"\u65E0\u6548\u7684\u6307\u4EE4\uFF0C\u8BF7\u786E\u8BA4\u6307\u4EE4\u540D\u79F0\u662F\u5426\u6B63\u786E\u3002",1005:"\u4EE3\u7801\u751F\u6210\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u6A21\u677F\u7F16\u8BD1\u914D\u7F6E\u3002",1006:"\u5355\u6587\u4EF6\u7EC4\u4EF6\u89E3\u6790\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5 SFC \u8BED\u6CD5\u3002",1007:"\u6A21\u677F\u8F6C\u6362\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5 AST \u8F6C\u6362\u903B\u8F91\u3002",2001:"\u6302\u8F7D\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u5BB9\u5668\u5143\u7D20\u662F\u5426\u5B58\u5728\u3002",2002:"\u8865\u4E01\u66F4\u65B0\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5 VNode \u7ED3\u6784\u3002",2003:"\u6C34\u5408\u4E0D\u5339\u914D\uFF0C\u670D\u52A1\u7AEF\u4E0E\u5BA2\u6237\u7AEF\u6E32\u67D3\u7ED3\u679C\u4E0D\u4E00\u81F4\u3002",2004:"\u65E0\u6548\u7684\u865A\u62DF\u8282\u70B9\uFF0CVNode \u7F3A\u5C11\u5FC5\u8981\u7684 type \u5C5E\u6027\u3002",2005:"\u5378\u8F7D\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u662F\u5426\u5DF2\u6302\u8F7D\u3002",3001:"\u7EC4\u4EF6\u5C5E\u6027\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u4F20\u5165\u7684 props\u3002",3002:"\u7EC4\u4EF6\u7F3A\u5C11 template \u6216 render \u51FD\u6570\u3002",3003:"\u7EC4\u4EF6\u751F\u547D\u5468\u671F\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u751F\u547D\u5468\u671F\u94A9\u5B50\u51FD\u6570\u3002",3004:"\u65E0\u6548\u7684\u7EC4\u4EF6\u5B9A\u4E49\uFF0C\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u914D\u7F6E\u3002",3005:"\u65E0\u6548\u7684\u4E8B\u4EF6\u53D1\u5C04\uFF0C\u8BF7\u68C0\u67E5 emits \u58F0\u660E\u3002",3006:"\u7EC4\u4EF6\u6E32\u67D3\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5 render \u51FD\u6570\u3002",4001:"\u65E0\u6548\u7684\u8DEF\u7531\uFF0C\u8BF7\u786E\u8BA4\u8DEF\u7531\u8DEF\u5F84\u662F\u5426\u5DF2\u6CE8\u518C\u3002",4002:"\u5BFC\u822A\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u76EE\u6807\u8DEF\u7531\u662F\u5426\u6709\u6548\u3002",4003:"\u8DEF\u7531\u5DF2\u5B58\u5728\uFF0C\u8BF7\u907F\u514D\u91CD\u590D\u6CE8\u518C\u76F8\u540C\u7684\u8DEF\u7531\u8DEF\u5F84\u3002",4004:"\u5BFC\u822A\u88AB\u4E2D\u6B62\uFF0C\u53EF\u80FD\u88AB\u5BFC\u822A\u5B88\u536B\u62E6\u622A\u3002",4005:"\u8DEF\u7531\u5B88\u536B\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u5B88\u536B\u51FD\u6570\u3002",5001:"Store \u5DF2\u5B58\u5728\uFF0C\u8BF7\u907F\u514D\u91CD\u590D\u521B\u5EFA\u76F8\u540C ID \u7684 store\u3002",5002:"Store \u672A\u627E\u5230\uFF0C\u8BF7\u786E\u8BA4 store \u662F\u5426\u5DF2\u6CE8\u518C\u3002",5003:"Store \u5DF2\u88AB\u9500\u6BC1\uFF0C\u65E0\u6CD5\u7EE7\u7EED\u64CD\u4F5C\u3002",5004:"Store \u72B6\u6001\u66F4\u65B0\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5 patch \u6570\u636E\u3002",6001:"\u65E0\u6CD5\u4FEE\u6539\u53EA\u8BFB\u54CD\u5E94\u5F0F\u5C5E\u6027\u3002",6002:"\u65E0\u6CD5\u5220\u9664\u53EA\u8BFB\u54CD\u5E94\u5F0F\u5C5E\u6027\u3002",6003:"\u526F\u4F5C\u7528\u51FD\u6570\u6267\u884C\u9519\u8BEF\u3002",6004:"\u8BA1\u7B97\u5C5E\u6027\u68C0\u6D4B\u5230\u5FAA\u73AF\u4F9D\u8D56\u3002",6005:"\u526F\u4F5C\u7528\u51FD\u6570\u5DF2\u88AB\u9500\u6BC1\uFF0C\u65E0\u6CD5\u518D\u6B21\u6267\u884C\u3002",7001:"\u63D2\u4EF6\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u63D2\u4EF6\u914D\u7F6E\u548C\u5B89\u88C5\u903B\u8F91\u3002",7002:"\u627E\u4E0D\u5230\u6302\u8F7D\u76EE\u6807\u5BB9\u5668\u3002",7003:"\u5E94\u7528\u5DF2\u7ECF\u6302\u8F7D\uFF0C\u4E0D\u80FD\u91CD\u590D\u6302\u8F7D\u3002",7004:"\u53C2\u6570\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u4F20\u5165\u7684\u503C\u7C7B\u578B\u548C\u8303\u56F4\u3002",7005:"\u8D44\u6E90\u672A\u627E\u5230\uFF0C\u8BF7\u786E\u8BA4\u540D\u79F0\u6216\u8DEF\u5F84\u662F\u5426\u6B63\u786E\u3002",7006:"\u8D44\u6E90\u5DF2\u5B58\u5728\uFF0C\u8BF7\u4F7F\u7528\u4E0D\u540C\u7684\u540D\u79F0\u3002",7007:"\u64CD\u4F5C\u6267\u884C\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u76F8\u5173\u914D\u7F6E\u548C\u72B6\u6001\u3002",8001:"\u9879\u76EE\u811A\u624B\u67B6\u521B\u5EFA\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6A21\u677F\u548C\u76EE\u6807\u76EE\u5F55\u3002",8002:"\u9879\u76EE\u6784\u5EFA\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6784\u5EFA\u914D\u7F6E\u548C\u6E90\u4EE3\u7801\u3002",8003:"\u5F00\u53D1\u670D\u52A1\u5668\u542F\u52A8\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7AEF\u53E3\u548C\u914D\u7F6E\u3002",8004:"\u914D\u7F6E\u6587\u4EF6\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\u683C\u5F0F\u548C\u5FC5\u586B\u5B57\u6BB5\u3002",8005:"\u70ED\u6A21\u5757\u66FF\u6362\u8FDE\u63A5\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5 WebSocket \u914D\u7F6E\u3002",9001:"DevTools \u8FDE\u63A5\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6269\u5C55\u548C\u8FD0\u884C\u65F6\u7248\u672C\u662F\u5426\u5339\u914D\u3002",9002:"DevTools \u9762\u677F\u52A0\u8F7D\u9519\u8BEF\uFF0C\u8BF7\u5C1D\u8BD5\u5237\u65B0\u9875\u9762\u3002",9003:"\u6027\u80FD\u6570\u636E\u6EA2\u51FA\uFF0C\u8BF7\u51CF\u5C11\u76D1\u63A7\u7684\u7EC4\u4EF6\u6570\u91CF\u6216\u7F29\u77ED\u91C7\u96C6\u5468\u671F\u3002",9004:"\u7EC4\u4EF6\u6811\u89E3\u6790\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u5B9E\u4F8B\u72B6\u6001\u3002",10001:"\u63D2\u4EF6\u5B89\u88C5\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u63D2\u4EF6\u5305\u548C\u5B89\u88C5\u903B\u8F91\u3002",10002:"\u63D2\u4EF6\u5DF2\u5B89\u88C5\uFF0C\u8BF7\u907F\u514D\u91CD\u590D\u5B89\u88C5\u76F8\u540C\u63D2\u4EF6\u3002",10003:"\u65E0\u6548\u7684\u63D2\u4EF6\uFF0C\u8BF7\u68C0\u67E5\u63D2\u4EF6\u662F\u5426\u6EE1\u8DB3\u63A5\u53E3\u8981\u6C42\u3002",10004:"\u63D2\u4EF6\u5378\u8F7D\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u63D2\u4EF6\u662F\u5426\u5DF2\u88AB\u6B63\u786E\u6E05\u7406\u3002",11001:"SSR \u6D41\u5F0F\u6E32\u67D3\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u6D41\u7BA1\u9053\u914D\u7F6E\u3002",11002:"SSR Suspense \u8D85\u65F6\uFF0C\u8BF7\u68C0\u67E5\u5F02\u6B65\u7EC4\u4EF6\u7684\u52A0\u8F7D\u65F6\u95F4\u3002",11003:"SSR \u6C34\u5408\u9519\u8BEF\uFF0C\u670D\u52A1\u7AEF\u4E0E\u5BA2\u6237\u7AEF\u6E32\u67D3\u7ED3\u679C\u4E0D\u4E00\u81F4\u3002",11004:"SSR Island \u7EC4\u4EF6\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u5B64\u5C9B\u7EC4\u4EF6\u7684\u5E8F\u5217\u5316\u548C\u6E32\u67D3\u903B\u8F91\u3002"};function Ce(e){return e>=1e3&&e<2e3?I.COMPILER:e>=2e3&&e<3e3?I.RENDERER:e>=3e3&&e<4e3?I.COMPONENT:e>=4e3&&e<5e3?I.ROUTER:e>=5e3&&e<6e3?I.STORE:e>=6e3&&e<7e3?I.REACTIVITY:e>=7e3&&e<8e3?I.CORE:e>=8e3&&e<9e3?I.CLI:e>=9e3&&e<1e4?I.DEVTOOLS:e>=1e4&&e<11e3?I.PLUGIN:e>=11e3&&e<12e3?I.SSR:"UNKNOWN"}function j(e){return Ae[e]||"\u672A\u77E5\u9519\u8BEF\u3002"}function k(e){return Ce(e)}var N=class extends Error{constructor(t,n,i){super(n||j(t)),this.name="LytError",this.code=t,this.category=k(t),this.details=i}};function he(e,t,n){let i=new N(e,n);return i.loc=t,i}function De(e,t,n){let i=new N(e,n);return i.details={vnode:t},i}function Pe(e,t,n){let i=typeof t=="string"?t:t==null?void 0:t.name,c=new N(e,n);return c.details={component:i},c}var H=!0;function G(){return H}var $=new Set;function Se(e){H&&console.warn(`[Lyt warn] ${e}`)}function be(e){H&&($.has(e)||($.add(e),console.warn(`[Lyt warn] ${e}`)))}function ve(e){console.error(`[Lyt error] ${e}`)}function Ye(){$.clear()}function ne(e){let t=[];if(e instanceof N?(t.push(`[Lyt Error] [${e.category}] Code: ${e.code}`),t.push(` Message: ${e.message}`)):t.push(`[Lyt Error] ${e.message}`),e instanceof N&&e.loc){let i=e.loc,c="";i.file&&(c+=i.file),i.line!=null&&(c+=`:${i.line}`),i.column!=null&&(c+=`:${i.column}`),c&&t.push(` Location: ${c}`),i.source&&t.push(` Source: ${i.source}`)}if(e instanceof N&&e.details&&e.details.component&&t.push(` Component: ${e.details.component}`),e.stack){t.push(""),t.push(" Stack:");let i=e.stack.split(`
2
+ `).slice(1);for(let c of i)t.push(` ${c.trim()}`)}let n=xe(e);return n&&(t.push(""),t.push(` Suggestion: ${n}`)),t.join(`
3
+ `)}function Me(e){if(!e)return"";let t=[],n=e;for(;n;){let i=n.name||n.$name||"Anonymous";t.push(i),n=n.parent||n.$parent}return t.join(" > ")}function xe(e){if(!(e instanceof N))return"\u8BF7\u68C0\u67E5\u4EE3\u7801\u903B\u8F91\uFF0C\u786E\u4FDD\u6CA1\u6709\u8FD0\u884C\u65F6\u5F02\u5E38\u3002";let t=e.code;return t>=1e3&&t<2e3?"\u8BF7\u68C0\u67E5\u6A21\u677F\u8BED\u6CD5\u662F\u5426\u6B63\u786E\uFF0C\u53C2\u8003 Lyt.js \u6A21\u677F\u8BED\u6CD5\u6587\u6863\u3002":t>=2e3&&t<3e3?t===2003?"\u6C34\u5408\u4E0D\u5339\u914D\u901A\u5E38\u7531\u670D\u52A1\u7AEF\u548C\u5BA2\u6237\u7AEF\u6E32\u67D3\u7ED3\u679C\u4E0D\u4E00\u81F4\u5F15\u8D77\u3002\u8BF7\u786E\u4FDD\u670D\u52A1\u7AEF\u548C\u5BA2\u6237\u7AEF\u4F7F\u7528\u76F8\u540C\u7684\u6570\u636E\u548C\u7EC4\u4EF6\u7248\u672C\u3002":"\u8BF7\u68C0\u67E5 VNode \u7ED3\u6784\u548C DOM \u5BB9\u5668\u662F\u5426\u6B63\u786E\u3002":t>=3e3&&t<4e3?t===3001?"\u8BF7\u68C0\u67E5\u4F20\u5165\u7684 props \u662F\u5426\u7B26\u5408\u7EC4\u4EF6\u5B9A\u4E49\u4E2D\u7684 props \u58F0\u660E\u3002":t===3002?"\u8BF7\u786E\u4FDD\u7EC4\u4EF6\u5B9A\u4E49\u4E2D\u5305\u542B template \u5B57\u7B26\u4E32\u6216 render \u65B9\u6CD5\u3002":"\u8BF7\u68C0\u67E5\u7EC4\u4EF6\u5B9A\u4E49\u548C\u751F\u547D\u5468\u671F\u94A9\u5B50\u51FD\u6570\u3002":t>=4e3&&t<5e3?"\u8BF7\u68C0\u67E5\u8DEF\u7531\u914D\u7F6E\uFF0C\u786E\u4FDD\u8DEF\u7531\u8DEF\u5F84\u5DF2\u6B63\u786E\u6CE8\u518C\u3002":t>=5e3&&t<6e3?"\u8BF7\u68C0\u67E5 Store \u7684\u521B\u5EFA\u548C\u4F7F\u7528\uFF0C\u786E\u4FDD ID \u552F\u4E00\u4E14 Store \u672A\u88AB\u9500\u6BC1\u3002":t>=6e3&&t<7e3?t===6004?"\u8BF7\u68C0\u67E5 computed \u51FD\u6570\u662F\u5426\u5F15\u7528\u4E86\u81EA\u8EAB\uFF0C\u79FB\u9664\u5FAA\u73AF\u4F9D\u8D56\u3002":"\u8BF7\u68C0\u67E5\u54CD\u5E94\u5F0F\u6570\u636E\u7684\u8BFB\u5199\u64CD\u4F5C\u3002":t>=7e3&&t<8e3?t===7002?"\u8BF7\u786E\u4FDD\u6302\u8F7D\u76EE\u6807\u5BB9\u5668\u5728\u8C03\u7528 mount() \u4E4B\u524D\u5DF2\u5B58\u5728\u4E8E DOM \u4E2D\u3002":t===7003?"\u5E94\u7528\u5DF2\u6302\u8F7D\uFF0C\u5982\u9700\u91CD\u65B0\u6302\u8F7D\u8BF7\u5148\u8C03\u7528 unmount()\u3002":"\u8BF7\u68C0\u67E5\u5E94\u7528\u914D\u7F6E\u548C\u53C2\u6570\u3002":null}function Ve(e){if(!G())return"";let t=ne(e),n=e.message.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),i=t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return`<div style="
4
+ position: fixed;
5
+ top: 0;
6
+ left: 0;
7
+ right: 0;
8
+ bottom: 0;
9
+ z-index: 999999;
10
+ background: rgba(0, 0, 0, 0.75);
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ font-family: monospace;
15
+ ">
16
+ <div style="
17
+ background: #1e1e1e;
18
+ color: #d4d4d4;
19
+ border-radius: 8px;
20
+ max-width: 640px;
21
+ width: 90%;
22
+ max-height: 80vh;
23
+ overflow: auto;
24
+ padding: 20px;
25
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
26
+ ">
27
+ <div style="
28
+ color: #f44747;
29
+ font-size: 16px;
30
+ font-weight: bold;
31
+ margin-bottom: 12px;
32
+ border-bottom: 1px solid #333;
33
+ padding-bottom: 8px;
34
+ ">Lyt.js Runtime Error</div>
35
+ <div style="
36
+ color: #ce9178;
37
+ font-size: 14px;
38
+ margin-bottom: 16px;
39
+ ">${n}</div>
40
+ <pre style="
41
+ color: #d4d4d4;
42
+ font-size: 12px;
43
+ background: #2d2d2d;
44
+ padding: 12px;
45
+ border-radius: 4px;
46
+ overflow-x: auto;
47
+ white-space: pre-wrap;
48
+ word-break: break-all;
49
+ ">${i}</pre>
50
+ </div>
51
+ </div>`}function B(){return typeof window!="undefined"&&typeof document!="undefined"&&typeof HTMLElement!="undefined"&&typeof customElements!="undefined"}function Fe(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Ue(e){if(e===""||e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e==="undefined")return;let t=Number(e);if(!isNaN(t)&&e.trim()!=="")return t;if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e)}catch(n){}return e}function we(e,t){return t&&t[e]?t[e]:Fe(e)}function je(e){let t=[],n=e;if(n.emits&&(Array.isArray(n.emits)?t.push(...n.emits):typeof n.emits=="object"&&t.push(...Object.keys(n.emits))),n.methods){for(let i of Object.keys(n.methods))if(i.startsWith("on")&&i.length>2){let c=i.charAt(2).toLowerCase()+i.slice(3);t.push(c)}}return t}function ke(e,t={}){let{shadowMode:n="open",styles:i="",propMappings:c,eventMappings:T={},attributeConverters:_={}}=t,m=t.observedAttributes||[],R=je(e);return class extends HTMLElement{constructor(){super();this._shadowRoot=null;this._instance=null;this._props={};this._container=null;this._connected=!1;this._eventCleanups=[];this._effectCleanup=null;this._updateScheduled=!1}static get observedAttributes(){return m}connectedCallback(){if(!this._connected){if(this._connected=!0,this._shadowRoot=this.attachShadow({mode:n}),i){let o=document.createElement("style");o.textContent=i,this._shadowRoot.appendChild(o)}this._container=document.createElement("div"),this._shadowRoot.appendChild(this._container),this._syncAttributesToProps(),this._mountComponent(),this._forwardSlots()}}disconnectedCallback(){if(this._connected){this._connected=!1;for(let o of this._eventCleanups)o();this._eventCleanups=[],this._effectCleanup&&(this._effectCleanup(),this._effectCleanup=null),this._instance=null,this._container&&(this._container.innerHTML="")}}attributeChangedCallback(o,a,E){a!==E&&this._connected&&(this._syncAttributesToProps(),this._updateComponent())}_syncAttributesToProps(){let o={};for(let a of m)if(this.hasAttribute(a)){let E=this.getAttribute(a),s=we(a,c);_[a]?o[s]=_[a](E):o[s]=Ue(E)}if(e.props){for(let[a,E]of Object.entries(e.props))if(o[a]===void 0){let s=E;s&&typeof s=="object"&&"default"in s?o[a]=typeof s.default=="function"?s.default():s.default:s==null}}this._props=o}_mountComponent(){let o=e.render?e.render:e.template?this._compileTemplate(e.template):null;if(!o)return;let a=this._createComponentContext(),E=o.call(a,L,a);E&&this._container&&this._renderVNode(E,this._container),this._setupReactiveUpdates(a,o)}_compileTemplate(o){try{let a=Function("return require")(),{compile:E}=a("../../compiler/src/index.ts"),{code:s}=E(o);return new Function("h","_ctx",`return ${s}`)}catch(a){return console.warn("[Lyt Web Component] \u6A21\u677F\u7F16\u8BD1\u9700\u8981 @lytjs/compiler \u5305"),null}}_createComponentContext(){let o=e.state?typeof e.state=="function"?e.state():{...e.state}:{},a=e.computed||{},E=e.methods||{},s={...this._props,...o};for(let[p,l]of Object.entries(a))typeof l=="function"?Object.defineProperty(s,p,{get:l.bind(s),enumerable:!0}):l&&typeof l=="object"&&"get"in l&&Object.defineProperty(s,p,{get:l.get.bind(s),enumerable:!0});for(let[p,l]of Object.entries(E))typeof l=="function"&&(s[p]=l.bind(s));return s.emit=(p,...l)=>{let f=T[p]||p,d=new CustomEvent(f,{detail:l.length===1?l[0]:l,bubbles:!0,composed:!0});this.dispatchEvent(d)},s.$el=this._container,s.$attrs={...this._props},s.$slots=this._getSlotContent(),s}_setupReactiveUpdates(o,a){try{let E=Function("return require")(),{effect:s,stop:p}=E("../../reactivity/src/index.ts"),l=s(()=>{if(!this._connected||!this._container)return;let d=a.call(o,L,o);d&&(this._container.innerHTML="",this._renderVNode(d,this._container))},{lazy:!0}),f=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let d of f){let g=o[d];Object.defineProperty(o,d,{get(){return g},set(C){g=C;try{l()}catch(v){}},enumerable:!0})}this._effectCleanup=()=>{try{p(l)}catch(d){}}}catch(E){let s=e.state?typeof e.state=="function"?Object.keys(e.state()):Object.keys(e.state):[];for(let p of s){let f=o[p],d=this;Object.defineProperty(o,p,{get(){return f},set(g){f=g,d._scheduleUpdate(o,a)},enumerable:!0})}}}_scheduleUpdate(o,a){this._updateScheduled||(this._updateScheduled=!0,Promise.resolve().then(()=>{if(this._updateScheduled=!1,!this._connected||!this._container)return;let E=a.call(o,L,o);E&&(this._container.innerHTML="",this._renderVNode(E,this._container))}))}_updateComponent(){if(!this._container)return;let o=e.render?e.render:e.template?this._compileTemplate(e.template):null;if(!o)return;let a=this._createComponentContext(),E=o.call(a,L,a);this._container.innerHTML="",E&&this._renderVNode(E,this._container)}_renderVNode(o,a){let E=this._vNodeToElement(o);E&&a.appendChild(E)}_vNodeToElement(o){if(!o)return null;if(typeof o.type=="symbol"){let a=document.createDocumentFragment();if(Array.isArray(o.children))for(let E of o.children){let s=this._vNodeToElement(E);s&&a.appendChild(s)}return a}if(typeof o.children=="string")return document.createTextNode(o.children);if(typeof o.type=="string"){let a=document.createElement(o.type);if(o.props)for(let[E,s]of Object.entries(o.props))if(E==="style"&&typeof s=="object")for(let[p,l]of Object.entries(s))a.style[p]=l;else if(E==="class"){if(typeof s=="string")a.className=s;else if(typeof s=="object"){let p=[];for(let[l,f]of Object.entries(s))f&&p.push(l);a.className=p.join(" ")}}else if(E.startsWith("on")&&typeof s=="function"){let p=E.slice(2).toLowerCase();a.addEventListener(p,s),this._eventCleanups.push(()=>{a.removeEventListener(p,s)})}else E==="ref"&&typeof s=="function"?s(a):a.setAttribute(E,String(s));if(Array.isArray(o.children))for(let E of o.children){let s=this._vNodeToElement(E);s&&a.appendChild(s)}else typeof o.children=="string"&&(a.textContent=o.children);return a}return typeof o.type=="object"||typeof o.type=="function"?o.component?this._vNodeToElement(o.component.subTree||o):document.createComment("component"):null}_forwardSlots(){if(!this._shadowRoot||!this._container)return;let o=this.querySelectorAll("[slot]");for(let E of o){let s=E.getAttribute("slot")||"default",p=document.createElement("slot");s!=="default"&&p.setAttribute("name",s),this._container.appendChild(p)}let a=document.createElement("slot");this._container.appendChild(a)}_getSlotContent(){var s;let o={},a=this.querySelectorAll("[slot]");for(let p of a){let l=p.getAttribute("slot")||"default";o[l]||(o[l]=[]),o[l].push(p.cloneNode(!0))}let E=[];for(let p of Array.from(this.childNodes))(s=p.hasAttribute)!=null&&s.call(p,"slot")||E.push(p.cloneNode(!0));return E.length>0&&(o.default=E),o}get _lytInstance(){return this._instance}get _lytProps(){return{...this._props}}}}function W(e,t,n){if(!e.includes("-"))throw new Error(`[Lyt Web Component] \u6807\u7B7E\u540D "${e}" \u5FC5\u987B\u5305\u542B\u8FDE\u5B57\u7B26 (-)\u3002\u8FD9\u662F Custom Element \u89C4\u8303\u7684\u8981\u6C42\u3002`);if(!B()){console.warn("[Lyt Web Component] defineCustomElement \u53EA\u80FD\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u4E2D\u4F7F\u7528\u3002\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301 Custom Elements API\u3002");return}let i=ke(t,n);customElements.define(e,i)}function $e(e){for(let{tagName:t,component:n,options:i}of e)W(t,n,i)}function He(e){if(B())try{let t=customElements;t.__unregister&&t.__unregister(e)}catch(t){console.warn(`[Lyt Web Component] \u65E0\u6CD5\u6CE8\u9500 "${e}"\u3002Custom Elements \u89C4\u8303\u4E0D\u652F\u6301\u76F4\u63A5\u6CE8\u9500\u5DF2\u6CE8\u518C\u7684\u5143\u7D20\u3002`)}}async function Ge(e,t,n){let i=t.match(/<template>([\s\S]*?)<\/template>/),c=t.match(/<script[^>]*>([\s\S]*?)<\/script>/),T=/<style[^>]*>([\s\S]*?)<\/style>/g,_=[],m;for(;(m=T.exec(t))!==null;)_.push(m);let R=(n==null?void 0:n.styles)||"";for(let a of _)R+=a[1]+`
52
+ `;let O=i?i[1].trim():void 0,y={};if(c){let a=c[1].trim();if(a.match(/export\s+default\s*(\{[\s\S]*\}|\([\s\S]*\)[\s\S]*?\))/))try{let s={},p={exports:s};new Function("module","exports",`"use strict"; ${a.replace(/export\s+default\s*/,"module.exports =")}`)(p,s),y=p.exports||s}catch(s){console.warn("[Lyt Web Component] \u65E0\u6CD5\u89E3\u6790 SFC \u811A\u672C\u5185\u5BB9")}}let o={...n,styles:R};O&&!y.template&&!y.render&&(y.template=O),W(e,y,o)}export{D as ErrorBoundary,I as ErrorCategory,K as Fragment,A as LytError,Q as LytErrorCodes,N as NewLytError,te as NewLytErrorCodes,q as ShapeFlags,Le as callWithErrorHandling,me as createApp,he as createCompilerError,Pe as createComponentError,Ve as createErrorOverlay,Ne as createMessage,F as createProvidesContext,De as createRendererError,W as defineCustomElement,Ge as defineCustomElementFromSFC,ve as error,ne as formatError,k as getCategory,Me as getComponentStack,G as getDevMode,j as getErrorMessage,V as getPluginName,L as h,ee as handleError,U as installPlugin,B as isBrowser,P as isPluginFunction,h as isPluginObject,$e as registerComponents,Ye as resetWarnedMessages,Oe as setDevMode,w as uninstallPlugin,He as unregisterElement,ye as warn,ge as warnOnce,be as warnOnceUtil,Se as warnUtil};
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Lyt.js 核心入口 — 应用创建(createApp)
3
+ *
4
+ * 提供应用实例的创建、挂载、卸载等核心功能。
5
+ *
6
+ * 核心功能:
7
+ * - createApp(rootComponent, rootProps?) 创建应用实例
8
+ * - app.mount(container) 挂载到 DOM
9
+ * - app.unmount() 卸载应用
10
+ * - app.use(plugin) 安装插件
11
+ * - app.provide(key, value) / app.inject(key) 依赖注入
12
+ * - app.component(name, component) 全局组件注册
13
+ * - app.directive(name, directive) 全局指令注册
14
+ * - 支持模板字符串编译(通过 @lytjs/compiler)
15
+ * - 支持响应式 state 自动代理(通过 @lytjs/reactivity)
16
+ *
17
+ * 设计说明:
18
+ * - 组件实例创建委托给 @lytjs/component 的 defineComponent / createComponentInstance / setupComponent / mountComponent
19
+ * - DOM 渲染委托给 @lytjs/renderer 的 createRenderer
20
+ * - 响应式更新通过 @lytjs/reactivity 的 effect 实现
21
+ * - h.ts 中直接定义最小 VNode 结构
22
+ */
23
+ import { type VNode } from './h';
24
+ import { type Plugin, type AppConfig } from './plugin';
25
+ /**
26
+ * 组件定义(本地别名)
27
+ *
28
+ * 保留此接口以维持向后兼容性,现有代码可能从此模块导入 ComponentOptions。
29
+ * 内部实现委托给 @lytjs/component 的 ComponentOptions。
30
+ *
31
+ * 注意:此接口比 @lytjs/component 的 ComponentOptions 更宽松,
32
+ * 支持旧式的 state 对象形式和 render(ctx) 签名。
33
+ */
34
+ export interface ComponentOptions {
35
+ /** 组件名称 */
36
+ name?: string;
37
+ /** Props 定义 */
38
+ props?: Record<string, any>;
39
+ /** 响应式状态(对象或工厂函数) */
40
+ state?: Record<string, any> | (() => Record<string, any>);
41
+ /** 计算属性 */
42
+ computed?: Record<string, () => any>;
43
+ /** 方法 */
44
+ methods?: Record<string, (...args: any[]) => any>;
45
+ /** 模板字符串 */
46
+ template?: string;
47
+ /** 渲染函数(优先于 template) */
48
+ render?: (ctx: any) => VNode;
49
+ /** setup 函数(组合式 API) */
50
+ setup?: (props: Record<string, any>, ctx: any) => Record<string, any> | void;
51
+ /** 初始化函数 */
52
+ init?: (this: any, props: Record<string, any>) => void;
53
+ /** mounted 生命周期 */
54
+ mounted?: (this: any) => void;
55
+ /** beforeUnmount 生命周期 */
56
+ beforeUnmount?: (this: any) => void;
57
+ /** unmounted 生命周期 */
58
+ unmounted?: (this: any) => void;
59
+ /** 子组件 */
60
+ components?: Record<string, any>;
61
+ /** 标记为组件定义 */
62
+ _isComponentDefine?: true;
63
+ }
64
+ /** 指令钩子 */
65
+ export interface DirectiveHooks {
66
+ /** 指令绑定到元素时 */
67
+ created?: (el: any, binding: DirectiveBinding) => void;
68
+ /** 元素插入 DOM 前 */
69
+ beforeMount?: (el: any, binding: DirectiveBinding) => void;
70
+ /** 元素插入 DOM 后 */
71
+ mounted?: (el: any, binding: DirectiveBinding) => void;
72
+ /** 更新前 */
73
+ beforeUpdate?: (el: any, binding: DirectiveBinding) => void;
74
+ /** 更新后 */
75
+ updated?: (el: any, binding: DirectiveBinding) => void;
76
+ /** 卸载前 */
77
+ beforeUnmount?: (el: any, binding: DirectiveBinding) => void;
78
+ /** 卸载后 */
79
+ unmounted?: (el: any, binding: DirectiveBinding) => void;
80
+ }
81
+ /** 指令绑定信息 */
82
+ export interface DirectiveBinding {
83
+ /** 指令值 */
84
+ value: any;
85
+ /** 旧值 */
86
+ oldValue: any;
87
+ /** 传递给指令的参数 */
88
+ arg?: string;
89
+ /** 指令修饰符 */
90
+ modifiers: Record<string, boolean>;
91
+ /** 指令所在实例 */
92
+ instance: any;
93
+ }
94
+ /** 应用实例接口 */
95
+ export interface App {
96
+ /** 挂载应用 */
97
+ mount(container: string | Element): App;
98
+ /** 卸载应用 */
99
+ unmount(): void;
100
+ /** 安装插件(同步时返回 App,异步时返回 Promise<App>) */
101
+ use(plugin: Plugin, ...options: any[]): App | Promise<App>;
102
+ /** 卸载插件(同步时返回 App,异步时返回 Promise<App>) */
103
+ unuse(plugin: Plugin): App | Promise<App>;
104
+ /** 查询插件是否已安装 */
105
+ isInstalled(plugin: Plugin): boolean;
106
+ /** 提供依赖 */
107
+ provide<T = any>(key: string | symbol, value: T): App;
108
+ /** 注入依赖 */
109
+ inject<T = any>(key: string | symbol, defaultValue?: T): T | undefined;
110
+ /** 注册或获取全局组件 */
111
+ component(name: string, component?: ComponentOptions): App | ComponentOptions | undefined;
112
+ /** 注册或获取全局指令 */
113
+ directive(name: string, directive?: DirectiveHooks): App | DirectiveHooks | undefined;
114
+ /** 全局配置 */
115
+ config: AppConfig;
116
+ /** 全局属性 */
117
+ globalProperties: Record<string, any>;
118
+ /** 获取根组件实例 */
119
+ _instance: any;
120
+ }
121
+ /**
122
+ * 创建应用实例
123
+ *
124
+ * @param rootComponent - 根组件(组件选项对象或函数)
125
+ * @param rootProps - 传递给根组件的 props(可选)
126
+ * @returns 应用实例
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * import { createApp, h } from '@lytjs/core'
131
+ *
132
+ * const app = createApp({
133
+ * name: 'App',
134
+ * state: () => ({
135
+ * count: 0,
136
+ * message: 'Hello Lyt.js',
137
+ * }),
138
+ * render() {
139
+ * return h('div', { class: 'app' }, [
140
+ * h('h1', null, this.message),
141
+ * h('p', null, `Count: ${this.count}`),
142
+ * h('button', { onClick: () => this.count++ }, 'Increment'),
143
+ * ])
144
+ * },
145
+ * })
146
+ *
147
+ * // 安装插件
148
+ * app.use(myPlugin)
149
+ *
150
+ * // 提供依赖
151
+ * app.provide('config', { theme: 'dark' })
152
+ *
153
+ * // 注册全局组件
154
+ * app.component('MyButton', MyButtonComponent)
155
+ *
156
+ * // 挂载到 DOM
157
+ * app.mount('#app')
158
+ * ```
159
+ */
160
+ export declare function createApp(rootComponent: ComponentOptions | (() => VNode), rootProps?: Record<string, any>): App;
161
+ //# sourceMappingURL=create-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../src/create-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAK,KAAK,KAAK,EAAuC,MAAM,KAAK,CAAC;AACzE,OAAO,EAIL,KAAK,MAAM,EACX,KAAK,SAAS,EACf,MAAM,UAAU,CAAC;AAqDlB;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1D,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;IACrC,SAAS;IACT,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;IAClD,YAAY;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC;IAC7B,wBAAwB;IACxB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7E,YAAY;IACZ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACvD,mBAAmB;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,yBAAyB;IACzB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,qBAAqB;IACrB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,UAAU;IACV,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,cAAc;IACd,kBAAkB,CAAC,EAAE,IAAI,CAAC;CAC3B;AAED,WAAW;AACX,MAAM,WAAW,cAAc;IAC7B,eAAe;IACf,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,iBAAiB;IACjB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3D,iBAAiB;IACjB,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,UAAU;IACV,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5D,UAAU;IACV,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,UAAU;IACV,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7D,UAAU;IACV,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC1D;AAED,aAAa;AACb,MAAM,WAAW,gBAAgB;IAC/B,UAAU;IACV,KAAK,EAAE,GAAG,CAAC;IACX,SAAS;IACT,QAAQ,EAAE,GAAG,CAAC;IACd,eAAe;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,aAAa;IACb,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,aAAa;AACb,MAAM,WAAW,GAAG;IAClB,WAAW;IACX,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC;IACxC,WAAW;IACX,OAAO,IAAI,IAAI,CAAC;IAChB,yCAAyC;IACzC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,yCAAyC;IACzC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,gBAAgB;IAChB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,WAAW;IACX,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC;IACtD,WAAW;IACX,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACvE,gBAAgB;IAChB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,GAAG,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC1F,gBAAgB;IAChB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC;IACtF,WAAW;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW;IACX,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,cAAc;IACd,SAAS,EAAE,GAAG,CAAC;CAChB;AAiKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,SAAS,CACvB,aAAa,EAAE,gBAAgB,GAAG,CAAC,MAAM,KAAK,CAAC,EAC/C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9B,GAAG,CAiVL"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Lyt.js 开发模式错误增强
3
+ *
4
+ * 提供开发模式下的错误格式化、组件栈追踪和错误覆盖层。
5
+ * 纯原生零依赖 TypeScript 实现。
6
+ */
7
+ /**
8
+ * 格式化错误信息,包含源位置、组件栈和修复建议
9
+ *
10
+ * @param err 错误对象
11
+ * @returns 格式化后的错误信息字符串
12
+ */
13
+ export declare function formatError(err: Error): string;
14
+ /**
15
+ * 获取组件栈信息
16
+ *
17
+ * 沿组件树向上遍历,构建组件调用栈。
18
+ *
19
+ * @param instance 当前组件实例(需包含 parent 引用)
20
+ * @returns 组件栈字符串
21
+ */
22
+ export declare function getComponentStack(instance?: any): string;
23
+ /**
24
+ * 生成开发模式错误覆盖层 HTML
25
+ *
26
+ * 可以注入到页面中显示错误详情。
27
+ *
28
+ * @param err 错误对象
29
+ * @returns HTML 字符串
30
+ */
31
+ export declare function createErrorOverlay(err: Error): string;
32
+ //# sourceMappingURL=dev-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-error.d.ts","sourceRoot":"","sources":["../../src/dev-error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAmD9C;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,MAAM,CAaxD;AA4ED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAgErD"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Lyt.js 错误码系统
3
+ *
4
+ * 定义所有模块的错误码,使用 LYT_* 前缀。
5
+ * 按模块分类,每个模块有独立的编号范围。
6
+ * 纯原生零依赖 TypeScript 实现。
7
+ */
8
+ export declare enum LytErrorCodes {
9
+ LYT_COMPILER_PARSE_ERROR = 1001,
10
+ LYT_COMPILER_INVALID_EXPRESSION = 1002,
11
+ LYT_COMPILER_INVALID_TEMPLATE = 1003,
12
+ LYT_COMPILER_INVALID_DIRECTIVE = 1004,
13
+ LYT_COMPILER_CODEGEN_ERROR = 1005,
14
+ LYT_COMPILER_SFC_PARSE_ERROR = 1006,
15
+ LYT_COMPILER_TRANSFORM_ERROR = 1007,
16
+ LYT_RENDERER_MOUNT_FAILED = 2001,
17
+ LYT_RENDERER_PATCH_FAILED = 2002,
18
+ LYT_RENDERER_HYDRATION_MISMATCH = 2003,
19
+ LYT_RENDERER_INVALID_VNODE = 2004,
20
+ LYT_RENDERER_UNMOUNT_FAILED = 2005,
21
+ LYT_COMPONENT_INVALID_PROPS = 3001,
22
+ LYT_COMPONENT_MISSING_RENDER = 3002,
23
+ LYT_COMPONENT_LIFECYCLE_ERROR = 3003,
24
+ LYT_COMPONENT_INVALID = 3004,
25
+ LYT_COMPONENT_EMIT_INVALID = 3005,
26
+ LYT_COMPONENT_RENDER_ERROR = 3006,
27
+ LYT_ROUTER_INVALID_ROUTE = 4001,
28
+ LYT_ROUTER_NAVIGATION_FAILED = 4002,
29
+ LYT_ROUTER_DUPLICATE_ROUTE = 4003,
30
+ LYT_ROUTER_NAVIGATION_ABORTED = 4004,
31
+ LYT_ROUTER_GUARD_ERROR = 4005,
32
+ LYT_STORE_ALREADY_EXISTS = 5001,
33
+ LYT_STORE_NOT_FOUND = 5002,
34
+ LYT_STORE_DISPOSED = 5003,
35
+ LYT_STORE_PATCH_ERROR = 5004,
36
+ LYT_REACTIVITY_READONLY_SET = 6001,
37
+ LYT_REACTIVITY_READONLY_DELETE = 6002,
38
+ LYT_REACTIVITY_EFFECT_ERROR = 6003,
39
+ LYT_REACTIVITY_COMPUTED_CYCLE = 6004,
40
+ LYT_REACTIVITY_EFFECT_DISPOSED = 6005,
41
+ LYT_CORE_PLUGIN_ERROR = 7001,
42
+ LYT_CORE_MOUNT_NO_CONTAINER = 7002,
43
+ LYT_CORE_ALREADY_MOUNTED = 7003,
44
+ LYT_CORE_INVALID_ARGUMENT = 7004,
45
+ LYT_CORE_NOT_FOUND = 7005,
46
+ LYT_CORE_ALREADY_EXISTS = 7006,
47
+ LYT_CORE_OPERATION_FAILED = 7007,
48
+ LYT_CLI_SCAFFOLD_FAILED = 8001,
49
+ LYT_CLI_BUILD_FAILED = 8002,
50
+ LYT_CLI_DEV_SERVER_ERROR = 8003,
51
+ LYT_CLI_CONFIG_INVALID = 8004,
52
+ LYT_CLI_HMR_CONNECTION_FAILED = 8005,
53
+ LYT_DEVTOOLS_CONNECTION_FAILED = 9001,
54
+ LYT_DEVTOOLS_PANEL_ERROR = 9002,
55
+ LYT_DEVTOOLS_PERF_OVERFLOW = 9003,
56
+ LYT_DEVTOOLS_COMPONENT_TREE_ERROR = 9004,
57
+ LYT_PLUGIN_INSTALL_FAILED = 10001,
58
+ LYT_PLUGIN_ALREADY_INSTALLED = 10002,
59
+ LYT_PLUGIN_INVALID = 10003,
60
+ LYT_PLUGIN_UNINSTALL_FAILED = 10004,
61
+ LYT_SSR_STREAM_ERROR = 11001,
62
+ LYT_SSR_SUSPENSE_TIMEOUT = 11002,
63
+ LYT_SSR_HYDRATION_ERROR = 11003,
64
+ LYT_SSR_ISLAND_ERROR = 11004
65
+ }
66
+ export declare const ErrorCategory: {
67
+ readonly COMPILER: "COMPILER";
68
+ readonly RENDERER: "RENDERER";
69
+ readonly COMPONENT: "COMPONENT";
70
+ readonly ROUTER: "ROUTER";
71
+ readonly STORE: "STORE";
72
+ readonly REACTIVITY: "REACTIVITY";
73
+ readonly CORE: "CORE";
74
+ readonly CLI: "CLI";
75
+ readonly DEVTOOLS: "DEVTOOLS";
76
+ readonly PLUGIN: "PLUGIN";
77
+ readonly SSR: "SSR";
78
+ };
79
+ export type ErrorCategoryType = (typeof ErrorCategory)[keyof typeof ErrorCategory];
80
+ /**
81
+ * 根据错误码获取人类可读的错误消息
82
+ */
83
+ export declare function getErrorMessage(code: number): string;
84
+ /**
85
+ * 根据错误码获取错误分类
86
+ */
87
+ export declare function getCategory(code: number): string;
88
+ //# sourceMappingURL=error-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,oBAAY,aAAa;IAIvB,wBAAwB,OAAO;IAC/B,+BAA+B,OAAO;IACtC,6BAA6B,OAAO;IACpC,8BAA8B,OAAO;IACrC,0BAA0B,OAAO;IACjC,4BAA4B,OAAO;IACnC,4BAA4B,OAAO;IAKnC,yBAAyB,OAAO;IAChC,yBAAyB,OAAO;IAChC,+BAA+B,OAAO;IACtC,0BAA0B,OAAO;IACjC,2BAA2B,OAAO;IAKlC,2BAA2B,OAAO;IAClC,4BAA4B,OAAO;IACnC,6BAA6B,OAAO;IACpC,qBAAqB,OAAO;IAC5B,0BAA0B,OAAO;IACjC,0BAA0B,OAAO;IAKjC,wBAAwB,OAAO;IAC/B,4BAA4B,OAAO;IACnC,0BAA0B,OAAO;IACjC,6BAA6B,OAAO;IACpC,sBAAsB,OAAO;IAK7B,wBAAwB,OAAO;IAC/B,mBAAmB,OAAO;IAC1B,kBAAkB,OAAO;IACzB,qBAAqB,OAAO;IAK5B,2BAA2B,OAAO;IAClC,8BAA8B,OAAO;IACrC,2BAA2B,OAAO;IAClC,6BAA6B,OAAO;IACpC,8BAA8B,OAAO;IAKrC,qBAAqB,OAAO;IAC5B,2BAA2B,OAAO;IAClC,wBAAwB,OAAO;IAC/B,yBAAyB,OAAO;IAChC,kBAAkB,OAAO;IACzB,uBAAuB,OAAO;IAC9B,yBAAyB,OAAO;IAKhC,uBAAuB,OAAO;IAC9B,oBAAoB,OAAO;IAC3B,wBAAwB,OAAO;IAC/B,sBAAsB,OAAO;IAC7B,6BAA6B,OAAO;IAKpC,8BAA8B,OAAO;IACrC,wBAAwB,OAAO;IAC/B,0BAA0B,OAAO;IACjC,iCAAiC,OAAO;IAKxC,yBAAyB,QAAQ;IACjC,4BAA4B,QAAQ;IACpC,kBAAkB,QAAQ;IAC1B,2BAA2B,QAAQ;IAKnC,oBAAoB,QAAQ;IAC5B,wBAAwB,QAAQ;IAChC,uBAAuB,QAAQ;IAC/B,oBAAoB,QAAQ;CAC7B;AAMD,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYhB,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AA6GlF;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD"}