@vtj/coder 0.17.8 → 0.18.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 CHANGED
@@ -1,53 +1,76 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@vtj/base"),T=require("prettier/standalone"),Y=require("prettier/plugins/html"),K=require("prettier/plugins/babel"),ee=require("prettier/plugins/postcss"),te=require("prettier/plugins/estree");function N(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const n=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,n.get?n:{enumerable:!0,get:()=>t[s]})}}return e.default=t,Object.freeze(e)}const se=N(Y),J=N(K),q=N(ee),M=N(te);/**!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("@vtj/base"),W=require("prettier/standalone"),je=require("prettier/plugins/html"),ke=require("prettier/plugins/babel"),we=require("prettier/plugins/postcss"),Ae=require("prettier/plugins/estree");function L(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const n=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,n.get?n:{enumerable:!0,get:()=>t[s]})}}return e.default=t,Object.freeze(e)}const Oe=L(je),Q=L(ke),X=L(we),Y=L(Ae);/**!
2
2
  * Copyright (c) 2026, VTJ.PRO All rights reserved.
3
3
  * @name @vtj/coder
4
4
  * @author CHC chenhuachun1549@dingtalk.com
5
- * @version 0.17.8
5
+ * @version 0.18.0
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
- */const ne="0.17.8";/**!
7
+ */const Ie="0.18.0";/**!
8
8
  * Copyright (c) 2026, VTJ.PRO All rights reserved.
9
9
  * @name @vtj/core
10
10
  * @author CHC chenhuachun1549@dingtalk.com
11
- * @version 0.17.8
11
+ * @version 0.18.0
12
12
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
13
- */const re=["slot","template","component","img","div","p","h1","h2","h3","span","a"];m.mitt();const B={arrowParens:"always",bracketSpacing:!0,bracketSameLine:!0,endOfLine:"lf",htmlWhitespaceSensitivity:"css",insertPragma:!1,jsxBracketSameLine:!0,jsxSingleQuote:!0,printWidth:80,proseWrap:"preserve",quoteProps:"as-needed",requirePragma:!1,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"none",useTabs:!1,vueIndentScriptAndStyle:!0};async function W(t,e){return e?t:await T.format(t,{parser:"vue",...B,plugins:[se,J,M,q]})}async function U(t,e){if(e)return t;try{return(await T.format(t,{parser:"babel-ts",...B,plugins:[J,M]})).replace(/;\n$/gi,"")}catch(s){return console.warn(s),t}}async function F(t,e){return e?t:T.format(t,{parser:"scss",...B,plugins:[q]})}function w(t){return t&&t.type==="JSExpression"}function I(t){return typeof t=="object"&&t&&t.type==="JSFunction"}function j(t){return w(t)||I(t)}function V(t){return t.replace(new RegExp("this.","g"),"")}function D(t){return t.replace(/this\.context\??\./g,"")}function d(t,e=!0,s=!0,n=[],i=!0){let r=t;return j(t)?(r=t.value.trim().replace(/;$/,""),i&&(r=r.replace(/\"/g,"'"))):r=e?JSON.stringify(r):t,r=C(r,n),s?V(D(r)):D(r)}function C(t="",e=[]){let s=t;for(const n of e)s=s.replace(new RegExp(`this.${n}.value`,"g"),`this.${n}`);return s}function H(t){let e=t.trim().replace(/;$/,"");if(e=/^\((\(|async|function)/.test(e)?e.substring(1,e.length-1):e,e.startsWith("{"))return e;if(e.startsWith("async function"))e=e.replace(/^async function/,"async");else if(e.startsWith("function"))e=e.replace(/^function/,"");else{const i=/^(async\s)?\([\w]*\)\s+\=\>\s([\w\W]+)/,r=e.match(i);r&&r[2]&&(r[2].startsWith("{")||(e=e.replace(r[2],`{ return ${r[2]} }`))),e=e.replace("=>","")}return e}function ie(t={}){return Object.entries(t).map(([e,s])=>`"${e}": ${d(s)}`)}function Q(t={},e=!1){const s=Object.keys(t);return e?s.map(n=>"."+n):s}function oe(t){let e="";for(var s in t)if(t.hasOwnProperty(s)){var n=t[s];e+=s+": "+n+";"}return e}function ae(t=[],e=[]){return t.filter(s=>!e.includes(s))}function L(t){return m.base64(JSON.stringify(t))}class ce{constructor(e,s){this.dsl=e,this.dependencies=s,this.libraryRegex=this.collectLibrary(),this.walk(e),this.walkNodes(e),this.members=this.getLibraryMember()}imports={};context={};style={};members=[];urlSchemas={};blockPlugins={};libraryRegex=[];collectLibrary(){return this.dependencies.filter(e=>!!e.library).map(e=>new RegExp(`(this.\\$libs.${e.library}.([\\w]+))`,"g"))}collectImport(e){const s=e.split(".");if(s.length===4){const n=s.pop(),i=s.join(".")+".",r=s.pop();if(n&&r){const o=this.dependencies.find(c=>c.library===r)?.package;o&&(this.imports[o]||(this.imports[o]=new Set)).add(n)}return{name:n,path:i,library:r}}return null}replaceLibraryPath(e){const{libraryRegex:s}=this;let n=e.value;for(const i of s){const r=e.value?.match(i)||[];for(const o of r){const c=this.collectImport(o);if(c){const h=c.path.replace(/\$/g,"\\$");n=n.replace(new RegExp(h,"g"),"")}}}return n}walk(e){const s=n=>{if(!n||typeof n!="object")return;if(Array.isArray(n)){for(let r of n)s(r);return}const i=Object.values(n);for(const r of i)j(r)?r.value=this.replaceLibraryPath(r):s(r)};s(e)}getLibraryMember(e=[]){let s=[...e];const n={...this.imports};delete n["uni-h5"],delete n["@dcloudio/uni-h5"],delete n["uni-ui"],delete n["@dcloudio/uni-ui"];for(const i of Object.values(n))s=s.concat(Array.from(i));return m.dedupArray(s)}collectContext(e,s){const n=new Set(s?.id?this.context[s.id]:[]),i=(e.directives||[]).find(c=>c.name==="vFor");let r=new Set(Array.from(n));if(i){const{item:c="item",index:h="index"}=i.iterator||{};r=new Set([c,h,...Array.from(r)])}const o=e.slot;if(o){const c=typeof o=="string"?[]:o.params||[],h=c.length?c:[`scope_${s?.id}`];r=new Set([...h,...Array.from(r)])}this.context[e.id]=r}collectStyle(e){e.id&&e.props?.style&&Object.keys(e.props.style).length&&!j(e.props.style)&&(this.style[`.${e.name}_${e.id}`]=e.props.style)}collectUrlSchema(e){typeof e.from=="object"&&e.from.type==="UrlSchema"&&(this.urlSchemas[e.name]=e.from)}collectBlockPlugin(e){typeof e.from=="object"&&e.from.type==="Plugin"&&(this.blockPlugins[e.name]=e.from)}walkNodes(e){const s=(n,i)=>{this.collectContext(n,i),this.collectStyle(n),this.collectUrlSchema(n),this.collectBlockPlugin(n),Array.isArray(n.children)&&n.children.forEach(r=>s(r,n))};Array.isArray(e.nodes)&&e.nodes.forEach(n=>s(n))}}function le(t={}){return Object.entries(t).map(([e,s])=>{const n=d(s,!1,!0,[],!1);return`${e}:${n}`})}function ue(t=[]){return t.map(e=>`${e.name}: {
13
+ */const Ce=["slot","template","component","img","div","p","h1","h2","h3","span","a"];b.mitt();const q={arrowParens:"always",bracketSpacing:!0,bracketSameLine:!0,endOfLine:"lf",htmlWhitespaceSensitivity:"css",insertPragma:!1,jsxBracketSameLine:!0,jsxSingleQuote:!0,printWidth:80,proseWrap:"preserve",quoteProps:"as-needed",requirePragma:!1,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"none",useTabs:!1,vueIndentScriptAndStyle:!0,removeBlankLines:!0};async function H(t,e){return e?t:await W.format(t,{parser:"vue",...q,plugins:[Oe,Q,Y,X]})}async function K(t,e){if(e)return t;try{return(await W.format(t,{parser:"babel-ts",...q,plugins:[Q,Y]})).replace(/;\n$/gi,"")}catch(s){return console.warn(s),t}}async function F(t,e){return e?t:W.format(t,{parser:"scss",...q,plugins:[X]})}function B(t){return t&&t.type==="JSExpression"}function T(t){return typeof t=="object"&&t&&t.type==="JSFunction"}function j(t){return B(t)||T(t)}function ee(t){return t.replace(new RegExp("this.","g"),"")}function J(t){return t.replace(/this\.context\??\./g,"")}function y(t,e=!0,s=!0,n=[],o=!0){let r=t;return j(t)?(r=t.value.trim().replace(/;$/,""),o&&(r=r.replace(/\"/g,"'"))):r=e?JSON.stringify(r):t,r=M(r,n),s?ee(J(r)):J(r)}function M(t="",e=[]){let s=t;for(const n of e)s=s.replace(new RegExp(`this.${n}.value`,"g"),`this.${n}`);return s}function te(t){let e=t.trim().replace(/;$/,"");if(e=/^\((\(|async|function)/.test(e)?e.substring(1,e.length-1):e,e.startsWith("{"))return e;if(e.startsWith("async function"))e=e.replace(/^async function/,"async");else if(e.startsWith("function"))e=e.replace(/^function/,"");else{const o=/^(async\s)?\([\w]*\)\s+\=\>\s([\w\W]+)/,r=e.match(o);r&&r[2]&&(r[2].startsWith("{")||(e=e.replace(r[2],`{ return ${r[2]} }`))),e=e.replace("=>","")}return e}function Pe(t={}){return Object.entries(t).map(([e,s])=>`"${e}": ${y(s)}`)}function se(t={},e=!1){const s=Object.keys(t);return e?s.map(n=>"."+n):s}function xe(t){let e="";for(var s in t)if(t.hasOwnProperty(s)){var n=t[s];e+=s+": "+n+";"}return e}function Ee(t=[],e=[]){return t.filter(s=>!e.includes(s))}function z(t){return b.base64(JSON.stringify(t))}class Ne{constructor(e,s){this.dsl=e,this.dependencies=s,this.collectEasycom(),this.libraryRegex=this.collectLibrary(),this.walk(e),this.walkNodes(e),this.members=this.getLibraryMember()}imports={};context={};style={};members=[];urlSchemas={};blockPlugins={};easycomPackages=new Set;libraryRegex=[];collectEasycom(){for(const e of this.dependencies)e.easycom?.key&&e.easycom?.value&&e.package&&this.easycomPackages.add(e.package)}collectLibrary(){return this.dependencies.filter(e=>!!e.library).map(e=>new RegExp(`(this.\\$libs.${e.library}.([\\w]+))`,"g"))}collectImport(e){const s=e.split(".");if(s.length===4){const n=s.pop(),o=s.join(".")+".",r=s.pop();if(n&&r){const c=this.dependencies.find(a=>a.library===r)?.package;c&&!this.easycomPackages.has(c)&&(this.imports[c]||(this.imports[c]=new Set)).add(n)}return{name:n,path:o,library:r}}return null}replaceLibraryPath(e){const{libraryRegex:s}=this;let n=e.value;for(const o of s){const r=e.value?.match(o)||[];for(const c of r){const a=this.collectImport(c);if(a){const l=a.path.replace(/\$/g,"\\$");n=n.replace(new RegExp(l,"g"),"")}}}return n}walk(e){const s=n=>{if(!n||typeof n!="object")return;if(Array.isArray(n)){for(let r of n)s(r);return}const o=Object.values(n);for(const r of o)j(r)?r.value=this.replaceLibraryPath(r):s(r)};s(e)}getLibraryMember(e=[]){let s=[...e];const n={...this.imports};delete n["uni-h5"],delete n["@dcloudio/uni-h5"],delete n["uni-ui"],delete n["@dcloudio/uni-ui"];for(const o of Object.values(n))s=s.concat(Array.from(o));return b.dedupArray(s)}collectContext(e,s){const n=new Set(s?.id?this.context[s.id]:[]),o=(e.directives||[]).find(a=>a.name==="vFor");let r=new Set(Array.from(n));if(o){const{item:a="item",index:l="index"}=o.iterator||{};r=new Set([a,l,...Array.from(r)])}const c=e.slot;if(c){const a=typeof c=="string"?[]:c.params||[],l=a.length?a:[`scope_${s?.id}`];r=new Set([...l,...Array.from(r)])}this.context[e.id]=r}collectStyle(e){e.id&&e.props?.style&&Object.keys(e.props.style).length&&!j(e.props.style)&&(this.style[`.${e.name}_${e.id}`]=e.props.style)}collectUrlSchema(e){typeof e.from=="object"&&e.from.type==="UrlSchema"&&(this.urlSchemas[e.name]=e.from)}collectBlockPlugin(e){typeof e.from=="object"&&e.from.type==="Plugin"&&(this.blockPlugins[e.name]=e.from)}walkNodes(e){const s=(n,o)=>{this.collectContext(n,o),this.collectStyle(n),this.collectUrlSchema(n),this.collectBlockPlugin(n),Array.isArray(n.children)&&n.children.forEach(r=>s(r,n))};Array.isArray(e.nodes)&&e.nodes.forEach(n=>s(n))}}function Be(t={}){return Object.entries(t).map(([e,s])=>{const n=y(s,!1,!0,[],!1);return`${e}:${n}`})}function Me(t=[]){return t.map(e=>`${e.name}: {
14
14
  from: '${e.from||e.name}',
15
- default: ${d(e.default,!0,!1,[],!1)}
16
- }`)}function pe(t=[]){const e=s=>s?`[${m.toArray(s).map(r=>r.replace(/\'|\"/gi,"")).join(",")}]`:void 0;return t.map(s=>typeof s=="string"?`${s}: {}`:(j(s.default)&&!s.default.value&&(s.default.value="undefined"),`${s.name}: {
15
+ default: ${y(e.default,!0,!1,[],!1)}
16
+ }`)}function ne(t=[]){const e=s=>s?`[${b.toArray(s).map(r=>r.replace(/\'|\"/gi,"")).join(",")}]`:void 0;return t.map(s=>typeof s=="string"?`${s}: {}`:(j(s.default)&&!s.default.value&&(s.default.value="undefined"),`${s.name}: {
17
17
  type:${e(s.type)},
18
- required: ${d(!!s.required,!0,!1,[],!1)},
19
- default: ${s.default?d(s.default,!0,!1,[],!1):"undefined"}
20
- }`))}function fe(t=[]){return t.map(e=>`'${typeof e=="string"?e:e.name}'`)}function A(t={},e=[]){return Object.entries(t).map(([s,n])=>{let i=H(d(n,!1,!1,[],!1));return i=C(i,e)?.trim(),i.startsWith("async")?`async ${s}${i.replace(/^async/,"")}`:i.startsWith("(")||i.startsWith("{")?`${s}${i}`:null}).filter(s=>!!s)}function me(t=[],e=[]){const s=t.reduce((r,o)=>(o.id&&I(o.source)&&(r[`watcher_${o.id}`]=o.source),r),{}),n=A(s,e),i=t.map(r=>r.handler&&r.handler.value?`watcher_${r.id}: {
18
+ required: ${y(!!s.required,!0,!1,[],!1)},
19
+ default: ${s.default?y(s.default,!0,!1,[],!1):"undefined"}
20
+ }`))}function re(t=[]){return t.map(e=>`'${typeof e=="string"?e:e.name}'`)}function D(t={},e=[]){return Object.entries(t).map(([s,n])=>{let o=te(y(n,!1,!1,[],!1));return o=M(o,e)?.trim(),o.startsWith("async")?`async ${s}${o.replace(/^async/,"")}`:o.startsWith("(")||o.startsWith("{")?`${s}${o}`:null}).filter(s=>!!s)}function Te(t=[],e=[]){const s=t.reduce((r,c)=>(c.id&&T(c.source)&&(r[`watcher_${c.id}`]=c.source),r),{}),n=D(s,e),o=t.map(r=>r.handler&&r.handler.value?`watcher_${r.id}: {
21
21
  deep: ${r.deep},
22
22
  immediate:${r.immediate},
23
- handler${H(r.handler.value)}
24
- }`:null).filter(r=>!!r);return{computed:n,watches:i}}function de(t={}){return Object.values(t).map(e=>{if(e.type==="mock"){const s=I(e.mockTemplate)&&e.mockTemplate.value||"(params) => ({})";return`async ${e.name}(...args) {
25
- // DataSource: ${L(e)}
23
+ handler${te(r.handler.value)}
24
+ }`:null).filter(r=>!!r);return{computed:n,watches:o}}function Re(t={}){return Object.values(t).map(e=>{if(e.type==="mock"){const s=T(e.mockTemplate)&&e.mockTemplate.value||"(params) => ({})";return`async ${e.name}(...args) {
25
+ // DataSource: ${z(e)}
26
26
  const mock = this.provider.createMock(${s});
27
27
  return await mock.apply(this, args);
28
- }`}else{const s=I(e.transform)&&e.transform.value||"(res) => res";return`async ${e.name}(...args) {
29
- // DataSource: ${L(e)}
28
+ }`}else{const s=T(e.transform)&&e.transform.value||"(res) => res";return`async ${e.name}(...args) {
29
+ // DataSource: ${z(e)}
30
30
  return await this.provider.apis['${e.ref}'].apply(this, args).then(${s});
31
- }`}})}const he=["img","input","br","hr","area","base","col","embed","link","meta","param","source","track","wbr"],R=["vIf","vElseIf","vElse","vShow","vModel","vFor","vBind","vHtml"];function z(t,e,s=[],n={},i){const r=[];let o={},c=[];const h=[];let p=[];return ge(t).forEach(a=>{const v=[];for(const f of a.children){let{id:y,name:b,invisible:$,from:g}=f;if($)continue;const O=ve(b,e,g);O&&c.push(O),G(g)&&p.push({id:g.id,name:b});const{props:P,events:x}=ke(f,y,f.props,f.events,n,s),k=we(f.directives,s,h).join(" "),S=f.children?Oe(f.children,s,e,n,f):"";let E="";typeof S=="string"?E=S:(E=(S?.nodes||[]).join(`
32
- `),Object.assign(o,S?.methods||{}),c=c.concat(S?.components||[]),p=p.concat(S?.importBlocks||[]));const _=["@dcloudio/uni-h5","@dcloudio/uni-ui"].includes(g||e.get(b)?.package)?m.kebabCase(b):Z(g)||X(g)?"component":b;v.push(he.includes(_)?`<${_} ${k} ${P} ${x} />`:`<${_} ${k} ${P} ${x}>${E?`
33
- `+E.trim():""}</${_}>`)}const l=Pe(a.slot,v.join(`
34
- `),i?.id);r.push(l)}),{nodes:r,methods:o,directives:ye(h),components:m.dedupArray(c),importBlocks:m.dedupArray(p,"id")}}function ye(t){return m.dedupArray(t).map(e=>`${e.startsWith("v")?e.substring(1):e}:${e}`)}function ge(t=[]){const e=new Map;for(const s of t){const n=typeof s.slot=="string"?s.slot:s.slot?.name,i=e.get(n);i?i.children.push(s):e.set(n,{slot:s.slot,children:[s]})}return e}function ve(t,e,s){if(re.includes(t))return null;const n=e.get(t);if(n&&n.alias){const i=n.parent?`${n.parent}.${n.alias}`:n.alias;return`${t}: ${i}`}return G(s)||n?t:null}function G(t){return!!t&&typeof t=="object"&&t.type==="Schema"}function Z(t){return typeof t=="object"&&t.type==="UrlSchema"}function X(t){return typeof t=="object"&&t.type==="Plugin"}function be(t,e,s=[]){return t==="style"?j(e)?`:style="${d({...e,value:C(e.value,s)})}"`:"":t==="__class"&&j(e)?`:class="${d({...e,value:C(e.value,s)})}"`:typeof e=="string"?`${t}="${e}"`:j(e)?`:${t}="${d({...e,value:C(e.value,s)})}"`:m.isPlainObject(e)?`:${t}='{${ie(e).join(", ")}}'`:`:${t}='${JSON.stringify(e)}'`}function $e(t,e={},s=[]){if(!!Object.keys(e.style||{}).length){const r=`${t.name}_${t.id}`;e.class?typeof e.class=="string"?e.class=[e.class,r].join(" "):(e.__class=e.class,e.class=r):e.class=r,j(e.style)||delete e.style}const i=t.from;return(Z(i)||X(i))&&(e.is={type:"JSExpression",value:t.name}),Object.entries(e).map(([r,o])=>be(r,o,s))}function je(t,e,s){const n=Q(e.modifiers,!0);return`@${t}${n.join("")}="${s}"`}function Se(t,e={},s={}){const n={};return{binders:Object.entries(e).map(([r,o])=>{const c=V(D(o.handler.value)).replace(/\"/g,"'");return je(r,o,c)}),handlers:n}}function ke(t,e,s={},n={},i={},r){const{binders:o,handlers:c}=Se(e,n,i);return{props:$e(t,s,r).join(" "),handlers:c,binders:o,events:o.join(" ")}}function we(t=[],e=[],s=[]){const n=[],{vIf:i,vElse:r,vElseIf:o,vShow:c,vModels:h,vFor:p,vBind:u,vHtml:a,customDirectives:v}=Ce(t);if(i&&n.push(`v-if="${d(i.value,!0,!0,e)}"`),o&&n.push(`v-else-if="${d(o.value,!0,!0,e)}"`),r&&n.push("v-else"),c&&n.push(`v-show="${d(c.value,!0,!0,e)}"`),u&&n.push(`v-bind="${d(u.value,!0,!0,e)}"`),h.forEach(l=>{const f=Q(l.modifiers,!0),y=l.arg?w(l.arg)?`:[${d(l.arg,!0,!0,e)}]`:`:${l.arg}`:"";n.push(`v-model${y}${f}="${d(l.value,!0,!0,e)}"`)}),p){const{item:l,index:f}={item:"item",index:"index",...p.iterator};n.push(`v-for="(${l}, ${f}) in ${d(p.value,!0,!0,e)}"`)}return a&&n.push(`v-html="${d(a.value,!0,!0,e)}"`),v&&v.length&&v.forEach(l=>{if(!l.name)return;let f="",y="";w(l.name)?(y=d(l.name,!0,!0,e),s.push(y)):y=l.name;const b=y?.startsWith("v")?m.kebabCase(y):m.kebabCase("v-"+y);if(f+=b,l.arg&&(w(l.arg)?f+=`:[${d(l.name,!0,!0,e)}]`:f+=`:${l.arg}`),l.modifiers){const $=Object.keys(l.modifiers);$.length&&(f+=$.map(g=>"."+g))}l.value?n.push(`${f}="${d(l.value,!0,!0,e)}"`):n.push(f)}),n}function Ce(t=[]){const e=t.filter(a=>R.includes(a.name)),s=t.filter(a=>!R.includes(a.name)),n=e.find(a=>m.camelCase(a.name)==="vIf"),i=e.find(a=>m.camelCase(a.name)==="vElseIf"),r=e.find(a=>m.camelCase(a.name)==="vElse"),o=e.find(a=>m.camelCase(a.name)==="vFor"),c=e.find(a=>m.camelCase(a.name)==="vShow"),h=e.find(a=>m.camelCase(a.name)==="vBind"),p=e.find(a=>m.camelCase(a.name)==="vHtml"),u=e.filter(a=>m.camelCase(a.name)==="vModel");return{vIf:n,vElseIf:i,vElse:r,vFor:o,vShow:c,vModels:u,vBind:h,vHtml:p,customDirectives:s}}function Oe(t,e,s,n,i){return typeof t=="string"?t:w(t)?`{{ ${d(t,!1,!0,e)} }}`:Array.isArray(t)?z(t,s,e,n,i):""}function Pe(t,e,s){if(!t)return e;const n=typeof t=="string"?{name:t,params:[],scope:""}:{params:[],scope:"",...t};return`<template ${`#${n.name}="${n.scope?n.scope:n.params?.length>0?`{${n.params?.join(",")}}`:`scope_${s}`}"`}>
31
+ }`}})}const De=["img","input","br","hr","area","base","col","embed","link","meta","param","source","track","wbr"],Z=["vIf","vElseIf","vElse","vShow","vModel","vFor","vBind","vHtml"];function G(t,e,s=[],n={},o){const r=[];let c={},a=[];const l=[];let p=[];return Ue(t).forEach(i=>{const u=[];for(const v of i.children){let{id:_,name:w,invisible:g,from:m}=v;if(g)continue;const h=Fe(w,e,m);h&&a.push(h),oe(m)&&p.push({id:m.id,name:w});const{props:S,events:$}=Ge(v,_,v.props,v.events,n,s),A=Ve(v.directives,s,l).join(" "),O=v.children?Ze(v.children,s,e,n,v):"";let C="";typeof O=="string"?C=O:(C=(O?.nodes||[]).join(`
32
+ `),Object.assign(c,O?.methods||{}),a=a.concat(O?.components||[]),p=p.concat(O?.importBlocks||[]));const N=["@dcloudio/uni-h5","@dcloudio/uni-ui"].includes(m||e.get(w)?.package)?b.kebabCase(w):ce(m)||ae(m)?"component":w;u.push(De.includes(N)?`<${N} ${A} ${S} ${$} />`:`<${N} ${A} ${S} ${$}>${C?`
33
+ `+C.trim():""}</${N}>`)}const f=Qe(i.slot,u.join(`
34
+ `),o?.id);r.push(f)}),{nodes:r,methods:c,directives:Le(l),components:b.dedupArray(a),importBlocks:b.dedupArray(p,"id")}}function Le(t){return b.dedupArray(t).map(e=>`${e.startsWith("v")?e.substring(1):e}:${e}`)}function Ue(t=[]){const e=new Map;for(const s of t){const n=typeof s.slot=="string"?s.slot:s.slot?.name,o=e.get(n);o?o.children.push(s):e.set(n,{slot:s.slot,children:[s]})}return e}function Fe(t,e,s){if(Ce.includes(t))return null;const n=e.get(t);if(n&&n.alias){const o=n.parent?`${n.parent}.${n.alias}`:n.alias;return`${t}: ${o}`}return oe(s)||n?t:null}function oe(t){return!!t&&typeof t=="object"&&t.type==="Schema"}function ce(t){return typeof t=="object"&&t.type==="UrlSchema"}function ae(t){return typeof t=="object"&&t.type==="Plugin"}function Je(t,e,s=[]){return t==="style"?j(e)?`:style="${y({...e,value:M(e.value,s)})}"`:"":t==="__class"&&j(e)?`:class="${y({...e,value:M(e.value,s)})}"`:typeof e=="string"?`${t}="${e}"`:j(e)?`:${t}="${y({...e,value:M(e.value,s)})}"`:b.isPlainObject(e)?`:${t}='{${Pe(e).join(", ")}}'`:`:${t}='${JSON.stringify(e)}'`}function We(t,e={},s=[]){if(!!Object.keys(e.style||{}).length){const r=`${t.name}_${t.id}`;e.class?typeof e.class=="string"?e.class=[e.class,r].join(" "):(e.__class=e.class,e.class=r):e.class=r,j(e.style)||delete e.style}const o=t.from;return(ce(o)||ae(o))&&(e.is={type:"JSExpression",value:t.name}),Object.entries(e).map(([r,c])=>Je(r,c,s))}function qe(t,e,s){const n=se(e.modifiers,!0);return`@${t}${n.join("")}="${s}"`}function He(t,e={},s={}){const n={};return{binders:Object.entries(e).map(([r,c])=>{const a=ee(J(c.handler.value)).replace(/\"/g,"'");return qe(r,c,a)}),handlers:n}}function Ge(t,e,s={},n={},o={},r){const{binders:c,handlers:a}=He(e,n,o);return{props:We(t,s,r).join(" "),handlers:a,binders:c,events:c.join(" ")}}function Ve(t=[],e=[],s=[]){const n=[],{vIf:o,vElse:r,vElseIf:c,vShow:a,vModels:l,vFor:p,vBind:d,vHtml:i,customDirectives:u}=ze(t);if(o&&n.push(`v-if="${y(o.value,!0,!0,e)}"`),c&&n.push(`v-else-if="${y(c.value,!0,!0,e)}"`),r&&n.push("v-else"),a&&n.push(`v-show="${y(a.value,!0,!0,e)}"`),d&&n.push(`v-bind="${y(d.value,!0,!0,e)}"`),l.forEach(f=>{const v=se(f.modifiers,!0),_=f.arg?B(f.arg)?`:[${y(f.arg,!0,!0,e)}]`:`:${f.arg}`:"";n.push(`v-model${_}${v}="${y(f.value,!0,!0,e)}"`)}),p){const{item:f,index:v}={item:"item",index:"index",...p.iterator};n.push(`v-for="(${f}, ${v}) in ${y(p.value,!0,!0,e)}"`)}return i&&n.push(`v-html="${y(i.value,!0,!0,e)}"`),u&&u.length&&u.forEach(f=>{if(!f.name)return;let v="",_="";B(f.name)?(_=y(f.name,!0,!0,e),s.push(_)):_=f.name;const w=_?.startsWith("v")?b.kebabCase(_):b.kebabCase("v-"+_);if(v+=w,f.arg&&(B(f.arg)?v+=`:[${y(f.name,!0,!0,e)}]`:v+=`:${f.arg}`),f.modifiers){const g=Object.keys(f.modifiers);g.length&&(v+=g.map(m=>"."+m))}f.value?n.push(`${v}="${y(f.value,!0,!0,e)}"`):n.push(v)}),n}function ze(t=[]){const e=t.filter(i=>Z.includes(i.name)),s=t.filter(i=>!Z.includes(i.name)),n=e.find(i=>b.camelCase(i.name)==="vIf"),o=e.find(i=>b.camelCase(i.name)==="vElseIf"),r=e.find(i=>b.camelCase(i.name)==="vElse"),c=e.find(i=>b.camelCase(i.name)==="vFor"),a=e.find(i=>b.camelCase(i.name)==="vShow"),l=e.find(i=>b.camelCase(i.name)==="vBind"),p=e.find(i=>b.camelCase(i.name)==="vHtml"),d=e.filter(i=>b.camelCase(i.name)==="vModel");return{vIf:n,vElseIf:o,vElse:r,vFor:c,vShow:a,vModels:d,vBind:l,vHtml:p,customDirectives:s}}function Ze(t,e,s,n,o){return typeof t=="string"?t:B(t)?`{{ ${y(t,!1,!0,e)} }}`:Array.isArray(t)?G(t,s,e,n,o):""}function Qe(t,e,s){if(!t)return e;const n=typeof t=="string"?{name:t,params:[],scope:""}:{params:[],scope:"",...t};return`<template ${`#${n.name}="${n.scope?n.scope:n.params?.length>0?`{${n.params?.join(",")}}`:`scope_${s}`}"`}>
35
35
  ${e}
36
- </template>`}function xe(t,e=[],s=[],n={},i="web"){const r=["@dcloudio/uni-h5","uni-h5","@dcloudio/uni-ui","uni-ui"],o={vue:["defineComponent","reactive"]},c=[];for(const p of e){const u=t.get(p.split(":")[0]);if(u&&u.package){const a=o[u.package]??(o[u.package]=[]),v=u.parent||(u.alias||"").split(".")[0]||u.name;a.push(v),i==="uniapp"&&r.includes(u.package)&&c.push(v)}}for(const[p,u]of Object.entries(n))(o[p]??(o[p]=[])).push(...Array.from(u)),i==="uniapp"&&r.includes(p)&&c.push(...Array.from(u));return{imports:Object.entries(o).filter(([p,u])=>i==="uniapp"?!r.includes(p)&&!!u.length:!!u.length).map(([p,u])=>`import { ${m.dedupArray(u).join(",")}} from '${p}';`).concat(s),uniComponents:c}}function Ee(t={}){const e=[];for(const[s,n]of Object.entries(t))e.push(`
36
+ </template>`}function Xe(t,e=[],s=[],n={},o="web",r=new Set){const c=["@dcloudio/uni-h5","uni-h5","@dcloudio/uni-ui","uni-ui"],a={vue:["defineComponent","reactive"]},l=[];for(const d of e){const i=t.get(d.split(":")[0]);if(i&&i.package){if(r.has(i.package))continue;const u=a[i.package]??(a[i.package]=[]),f=i.parent||(i.alias||"").split(".")[0]||i.name;u.push(f),o==="uniapp"&&c.includes(i.package)&&l.push(f)}}for(const[d,i]of Object.entries(n))(a[d]??(a[d]=[])).push(...Array.from(i)),o==="uniapp"&&c.includes(d)&&l.push(...Array.from(i));return{imports:Object.entries(a).filter(([d,i])=>o==="uniapp"?!c.includes(d)&&!!i.length:!!i.length).map(([d,i])=>`import { ${b.dedupArray(i).join(",")}} from '${d}';`).concat(s),uniComponents:l}}function ie(t={}){const e=[];for(const[s,n]of Object.entries(t))e.push(`
37
37
  ${s} {
38
- ${oe(n)}
38
+ ${xe(n)}
39
39
  }
40
40
  `);return e.join(`
41
- `)}function _e(t={}){const e=[];return Object.entries(t).forEach(([s,n])=>{e.push(`const ${s} = provider.defineUrlSchemaComponent('${n.url}');`)}),e}function Ae(t={}){const e=[];return Object.entries(t).forEach(([s,n])=>{e.push(`const ${s} = provider.definePluginComponent(${JSON.stringify(n)});`)}),e}function Ie(t,e,s="web"){const{dsl:n}=t,i=Object.keys(n.computed||{}),r=A(n.lifeCycles,i),o=A(n.computed,i),c=me(n.watch,i),h=de(n.dataSources),{methods:p,nodes:u,components:a,importBlocks:v,directives:l}=z(n.nodes||[],e,i,t.context),f=[...o,...c.computed],y=A({...p,...n.methods||{}},i),b=v.map(k=>`import ${k.name} from './${k.id}.vue';`);let{imports:$,uniComponents:g}=xe(e,a,b,t.imports,s);const O=Object.keys({...t.urlSchemas,...t.blockPlugins}),P=_e(t.urlSchemas),x=Ae(t.blockPlugins);return{id:n.id,version:n.__VERSION__,name:n.name,state:le(n.state).join(","),inject:ue(n.inject).join(","),props:pe(n.props).join(","),emits:fe(n.emits).join(","),expose:n.expose&&n.expose.length?JSON.stringify(n.expose||[]):"",watch:c.watches.join(","),lifeCycles:r.join(","),computed:f.join(","),methods:[...h,...y].join(","),imports:`
42
- `+$.join(`
43
- `),components:ae(a,g).join(","),directives:l.join(","),returns:t.members.join(","),template:u.join(`
44
- `),css:n.css||"",style:Ee(t.style),urlSchemas:P.join(`
45
- `),blockPlugins:x.join(`
46
- `),asyncComponents:O.join(","),uniComponents:g,renderer:s==="uniapp"?"@vtj/uni-app":"@vtj/renderer"}}const Ne=`
41
+ `)}function le(t={}){const e=[];return Object.entries(t).forEach(([s,n])=>{e.push(`const ${s} = provider.defineUrlSchemaComponent('${n.url}');`)}),e}function ue(t={}){const e=[];return Object.entries(t).forEach(([s,n])=>{e.push(`const ${s} = provider.definePluginComponent(${JSON.stringify(n)});`)}),e}function Ye(t,e,s="web"){const{dsl:n}=t,o=Object.keys(n.computed||{}),r=D(n.lifeCycles,o),c=D(n.computed,o),a=Te(n.watch,o),l=Re(n.dataSources),{methods:p,nodes:d,components:i,importBlocks:u,directives:f}=G(n.nodes||[],e,o,t.context),v=[...c,...a.computed],_=D({...p,...n.methods||{}},o),w=u.map(A=>`import ${A.name} from './${A.id}.vue';`);let{imports:g,uniComponents:m}=Xe(e,i,w,t.imports,s,t.easycomPackages);const h=Object.keys({...t.urlSchemas,...t.blockPlugins}),S=le(t.urlSchemas),$=ue(t.blockPlugins);return{id:n.id,version:n.__VERSION__,name:n.name,state:Be(n.state).join(","),inject:Me(n.inject).join(","),props:ne(n.props).join(","),emits:re(n.emits).join(","),expose:n.expose&&n.expose.length?JSON.stringify(n.expose||[]):"",watch:a.watches.join(","),lifeCycles:r.join(","),computed:v.join(","),methods:[...l,..._].join(","),imports:`
42
+ `+g.join(`
43
+ `),components:Ee(i,m).join(","),directives:f.join(","),returns:t.members.join(","),template:d.join(`
44
+ `),css:n.css||"",style:ie(t.style),urlSchemas:S.join(`
45
+ `),blockPlugins:$.join(`
46
+ `),asyncComponents:h.join(","),uniComponents:m,renderer:s==="uniapp"?"@vtj/uni-app":"@vtj/renderer"}}const x={state:{composable:null,from:"self",declare:null,replace:"__state"},$uni:{composable:null,from:"self",declare:null,replace:"uni"},$getApp:{composable:null,from:"self",declare:null,replace:"getApp"},$emit:{composable:null,from:"vue",declare:null,replace:"__emit"},$props:{composable:null,from:"vue",declare:null,replace:"__props"},$attrs:{composable:"useAttrs",from:"vue",declare:"const __attrs = useAttrs();",replace:"__attrs"},$slots:{composable:"useSlots",from:"vue",declare:"const __slots = useSlots();",replace:"__slots"},$nextTick:{composable:"nextTick",from:"vue",declare:null,replace:"nextTick"},$watch:{composable:"watch",from:"vue",declare:null,replace:"watch"},$refs:{composable:"getCurrentInstance",from:"vue",declare:"const __instance = getCurrentInstance();",replace:"__instance.proxy.$refs"},$el:{composable:"getCurrentInstance",from:"vue",declare:"const __instance = getCurrentInstance();",replace:"__instance.proxy.$el"},$root:{composable:"getCurrentInstance",from:"vue",declare:"const __instance = getCurrentInstance();",replace:"__instance.proxy.$root"},$parent:{composable:"getCurrentInstance",from:"vue",declare:"const __instance = getCurrentInstance();",replace:"__instance.proxy.$parent"},$options:{composable:"getCurrentInstance",from:"vue",declare:"const __instance = getCurrentInstance();",replace:"__instance.proxy.$options"},$forceUpdate:{composable:"getCurrentInstance",from:"vue",declare:"const __instance = getCurrentInstance();",replace:"__instance.proxy.$forceUpdate"},$router:{composable:"useRouter",from:"vue-router",declare:"const __router = useRouter();",replace:"__router"},$route:{composable:"useRoute",from:"vue-router",declare:"const __route = useRoute();",replace:"__route"},$i18n:{composable:"useI18n",from:"vue-i18n",declare:"const __i18n = useI18n();",replace:"__i18n"},$t:{composable:"useI18n",from:"vue-i18n",declare:"const __i18n = useI18n();",replace:"__i18n.t"},$n:{composable:"useI18n",from:"vue-i18n",declare:"const __i18n = useI18n();",replace:"__i18n.n"},$d:{composable:"useI18n",from:"vue-i18n",declare:"const __i18n = useI18n();",replace:"__i18n.d"},$rt:{composable:"useI18n",from:"vue-i18n",declare:"const __i18n = useI18n();",replace:"__i18n.rt"},$te:{composable:"useI18n",from:"vue-i18n",declare:"const __i18n = useI18n();",replace:"__i18n.te"},$tm:{composable:"useI18n",from:"vue-i18n",declare:"const __i18n = useI18n();",replace:"__i18n.tm"},$provider:{composable:"useStore",from:"__renderer__",declare:null,replace:"__provider"},$store:{composable:"useStore",from:"__renderer__",declare:"const __store = useStore();",replace:"__store"},$pinia:{composable:"usePinia",from:"__renderer__",declare:"const __pinia = usePinia();",replace:"__pinia"},$request:{composable:"useRequest",from:"__renderer__",declare:"const __request = useRequest();",replace:"__request"},$libs:{composable:"useLibs",from:"__renderer__",declare:"const __libs = useLibs();",replace:"__libs"},$access:{composable:"useAccess",from:"__renderer__",declare:"const __access = useAccess();",replace:"__access"},$apis:{composable:"useApis",from:"__renderer__",declare:"const __apis = useApis();",replace:"__apis"}},V={"element-plus":{$loading:{composable:"ElLoading",from:"element-plus",declare:null,replace:"ElLoading.service"},$message:{composable:"ElMessage",from:"element-plus",declare:null,replace:"ElMessage"},$notify:{composable:"ElNotification",from:"element-plus",declare:null,replace:"ElNotification"},$messageBox:{composable:"ElMessageBox",from:"element-plus",declare:null,replace:"ElMessageBox"},$msgbox:{composable:"ElMessageBox",from:"element-plus",declare:null,replace:"ElMessageBox"},$confirm:{composable:"ElMessageBox",from:"element-plus",declare:null,replace:"ElMessageBox.confirm"},$prompt:{composable:"ElMessageBox",from:"element-plus",declare:null,replace:"ElMessageBox.prompt"}},"ant-design-vue":{$confirm:{composable:"Modal",from:"ant-design-vue",declare:null,replace:"Modal.confirm"},$message:{composable:"message",from:"ant-design-vue",declare:null,replace:"message"},$notification:{composable:"notification",from:"ant-design-vue",declare:null,replace:"notification"},$info:{composable:"message",from:"ant-design-vue",declare:null,replace:"message.info"},$success:{composable:"message",from:"ant-design-vue",declare:null,replace:"message.success"},$warning:{composable:"message",from:"ant-design-vue",declare:null,replace:"message.warning"},$error:{composable:"message",from:"ant-design-vue",declare:null,replace:"message.error"}}},pe=Object.keys(V);function fe(t){for(const[,e]of t)if(pe.includes(e.package))return e.package;return null}function me(t){const e=t?V[t]??{}:{};return{...x,...e}}function Ke(t,e=x){const s=new Set,n=/this\.\$(\w+)\b/g,o=r=>{if(r&&typeof r=="object"){if(Array.isArray(r)){for(const c of r)o(c);return}if(j(r)&&r.value){let c;for(n.lastIndex=0;(c=n.exec(r.value))!==null;){const a="$"+c[1];a in e&&s.add(a)}return}for(const c of Object.values(r))o(c)}};return o(t.refs),o(t.reactives),o(t.state),o(t.computed),o(t.methods),o(t.watch),o(t.lifeCycles),o(t.inject),o(t.composables),o(t.provide),o(t.dataSources),o(t.setup),o(t.nodes),s}function et(t,e=x){const s=[];for(const n of t){const o=e[n];o&&o.declare&&!s.includes(o.declare)&&s.push(o.declare)}return s}function tt(t,e=x){const s={};for(const n of t){const o=e[n];if(o&&o.composable){const r=s[o.from]??(s[o.from]=[]);r.includes(o.composable)||r.push(o.composable)}}return s}function st(t,e=x){const s=new Set(Object.keys(t.refs??{})),n=new Set(Object.keys(t.reactives??{})),r=Object.keys(t.state??{}).length>0;r&&n.add("__state");const c=new Set(Object.keys(t.computed??{})),a=new Set(Object.keys(t.methods??{})),l=new Set;for(const u of t.props??[])b.isString(u)?l.add(u):l.add(u.name);const p=new Set;for(const u of t.composables??[])if(u.destructure&&u.destructure.length>0)for(const f of u.destructure)p.add(f);else u.name&&p.add(u.name);const d=new Set;for(const u of t.inject??[])u.name&&d.add(u.name);const i=new Set;for(const[,u]of Object.entries(t.dataSources??{}))u.name&&i.add(u.name);return{refs:s,reactives:n,computed:c,methods:a,props:l,composables:p,injects:d,dataSources:i,hasState:r,effectiveApiMap:e}}function k(t,e,s="script"){if(!t)return t;let n=t;for(const[o,r]of Object.entries(e.effectiveApiMap)){const c=o.replace(/\$/g,"\\$"),a=new RegExp(`this\\.${c}\\b`,"g");n=n.replace(a,r.replace)}return n=n.replace(/this\.([A-Za-z_$][\w$]*)\.value\b/g,(o,r)=>e.refs.has(r)||e.computed.has(r)?s==="script"?`${r}.value`:r:o),n=n.replace(/this\.([A-Za-z_$][\w$]*)/g,(o,r)=>e.refs.has(r)||e.computed.has(r)?s==="script"?`${r}.value`:r:r==="state"?"__state":e.reactives.has(r)||e.methods.has(r)||e.composables.has(r)||e.injects.has(r)||e.dataSources.has(r)?r:e.props.has(r)?s==="script"?`__props.${r}`:r:o),n}function E(t){let e=t.trim().replace(/;$/,"");return/^\((\(|async|function)/.test(e)&&(e=e.substring(1,e.length-1).trim()),e}function nt(t={},e){return Object.entries(t).map(([s,n])=>{let o;return j(n)?o=k(n.value||"undefined",e,"script"):o=JSON.stringify(n),`const ${s} = ref(${o});`})}function rt(t={},e){return Object.entries(t).map(([s,n])=>{let o;return j(n)?o=k(n.value||"{}",e,"script"):o=JSON.stringify(n??{}),`const ${s} = reactive(${o});`})}function ot(t={},e){const s=Object.entries(t);return s.length===0?"":`const __state = reactive({ ${s.map(([o,r])=>{let c;return j(r)?c=k(r.value||"undefined",e,"script"):c=JSON.stringify(r),`${o}: ${c}`}).join(", ")} });`}function ct(t=[],e){const s=[],n={},o=new Set;for(const r of t){if(!r||!r.composable)continue;let c="";if(j(r.composable)?c=r.composable.value||"":typeof r.composable=="string"&&(c=r.composable),!c||c==="useProvider")continue;if(r.name){if(o.has(r.name))continue;o.add(r.name)}const l=(r.args??[]).map(p=>j(p)?k(p.value||"",e,"script"):JSON.stringify(p)).join(", ");r.destructure&&r.destructure.length>0?s.push(`const { ${r.destructure.join(", ")} } = ${c}(${l});`):r.name?s.push(`const ${r.name} = ${c}(${l});`):s.push(`${c}(${l});`)}return{statements:s,imports:n}}function at(t=[],e){return t.map(s=>{const n=j(s.from)?k(s.from.value||`'${s.name}'`,e,"script"):`'${s.from||s.name}'`;let o="undefined";return s.default!==void 0&&s.default!==null&&(j(s.default)?o=k(s.default.value||"undefined",e,"script"):o=JSON.stringify(s.default)),`const ${s.name} = inject(${n}, ${o});`})}function it(t={},e){return Object.entries(t).map(([s,n])=>{if(!n||!n.value)return null;const o=k(n.value,e,"script"),r=E(o);return`const ${s} = computed(${r});`}).filter(s=>!!s)}function lt(t={},e){return Object.entries(t).map(([s,n])=>{if(!n||!n.value)return null;const o=k(n.value,e,"script"),r=E(o);return`const ${s} = ${r};`}).filter(s=>!!s)}function ut(t={},e){return Object.values(t).map(s=>{if(!s||!s.name)return null;if(s.type==="mock"){const n=s.mockTemplate&&s.mockTemplate.value?s.mockTemplate.value:"(params) => ({})",o=e?k(n,e,"script"):n;return`const ${s.name} = async (...args) => {
47
+ const mock = __provider.createMock(${o});
48
+ return await mock.apply(null, args);
49
+ };`}else{const n=s.transform&&s.transform.value?s.transform.value:"(res) => res",o=e?k(n,e,"script"):n;return`const ${s.name} = async (...args) => {
50
+ return await __provider.apis['${s.ref}'].apply(null, args).then(${o});
51
+ };`}}).filter(s=>!!s)}function pt(t=[],e){return t.map(s=>{if(!s||!s.handler||!s.handler.value)return null;const n=s.source&&s.source.value?k(s.source.value,e,"script"):"() => null",o=E(n),r=k(s.handler.value,e,"script"),c=E(r),a=[];s.deep&&a.push("deep: true"),s.immediate&&a.push("immediate: true"),s.flush&&a.push(`flush: '${s.flush}'`);const l=a.length>0?`, { ${a.join(", ")} }`:"";return`watch(${o}, ${c}${l});`}).filter(s=>!!s)}function ft(t={},e){return Object.entries(t).map(([s,n])=>{let o;if(T(n)){const r=k(n.value||"",e,"script");o=E(r)}else j(n)?o=k(n.value||"undefined",e,"script"):o=JSON.stringify(n);return`provide('${s}', ${o});`})}function de(t){let e=t.trim().replace(/;$/,"");/^\((\(|async|function)/.test(e)&&(e=e.substring(1,e.length-1).trim());const s=e.match(/^(?:async\s+)?\([^)]*\)\s*=>\s*([\s\S]+)$/);if(s){let o=s[1].trim();return o.startsWith("{")&&o.endsWith("}")?o=o.slice(1,-1).trim():o=o.replace(/;$/,"")+";",o}const n=e.match(/^(?:async\s+)?function\s*\w*\s*\([^)]*\)\s*\{([\s\S]*)\}$/);return n?n[1].trim():e}function mt(t,e){if(!t||!t.value)return"";const s=k(t.value,e,"script");return de(s)}function dt(t={},e){const s=[];for(const n of["beforeCreate","created"]){const o=t[n];if(o&&o.value){const r=k(o.value,e,"script"),c=de(r);c&&s.push(`// ${n}
52
+ ${c}`)}}return s.join(`
53
+ `)}const ht={beforeMount:"onBeforeMount",mounted:"onMounted",beforeUpdate:"onBeforeUpdate",updated:"onUpdated",beforeUnmount:"onBeforeUnmount",unmounted:"onUnmounted",errorCaptured:"onErrorCaptured",renderTracked:"onRenderTracked",renderTriggered:"onRenderTriggered",activated:"onActivated",deactivated:"onDeactivated"},gt=new Set(["onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","onErrorCaptured","onRenderTracked","onRenderTriggered","onActivated","onDeactivated"]),vt=new Set(["onLoad","onShow","onReady","onHide","onUnload","onResize","onPullDownRefresh","onReachBottom","onTabItemTap","onShareAppMessage","onPageScroll","onNavigationBarButtonTap","onBackPress","onNavigationBarSearchInputChanged","onNavigationBarSearchInputConfirmed","onNavigationBarSearchInputClicked","onShareTimeline","onAddToFavorites"]);function $t(t={},e){const s=[],n=new Set,o=new Set;for(const[r,c]of Object.entries(t)){if(!c||!c.value||r==="created"||r==="beforeCreate")continue;const a=ht[r]||r;if(gt.has(a)){const l=k(c.value,e,"script"),p=E(l);s.push(`${a}(${p});`),n.add(a)}else if(vt.has(a)){const l=k(c.value,e,"script"),p=E(l);s.push(`${a}(${p});`),o.add(a)}}return{statements:s,usedHooks:n,usedUniHooks:o}}function bt(t){const{componentMap:e,components:s,importBlocks:n,collectImports:o,platform:r,vueImports:c,composableImports:a,globalApiImports:l,uniHookImports:p,easycomPackages:d}=t,i=["@dcloudio/uni-h5","uni-h5","@dcloudio/uni-ui","uni-ui"],u={vue:[...c]},f=[],v=[],_={};for(const g of s){const m=g.split(":")[0],h=e.get(m);if(!h||!h.package||h.parent||d.has(h.package))continue;const S=u[h.package]??(u[h.package]=[]),$=(h.alias||"").split(".")[0]||h.name,A=m,O=$!==A?`${$} as ${A}`:$;S.push(O),_[$]=A,r==="uniapp"&&i.includes(h.package)&&f.push($)}for(const g of s){const m=g.split(":")[0],h=e.get(m);if(!h||!h.package||!h.parent||d.has(h.package))continue;const S=h.parent,$=_[S]??S,A=h.alias||"";v.push(`const ${m} = ${$}.${A};`),_[S]||((u[h.package]??(u[h.package]=[])).push(S),_[S]=S)}for(const[g,m]of Object.entries(o))(u[g]??(u[g]=[])).push(...Array.from(m)),r==="uniapp"&&i.includes(g)&&f.push(...Array.from(m));for(const[g,m]of Object.entries(a))(u[g]??(u[g]=[])).push(...m);for(const[g,m]of Object.entries(l))(u[g]??(u[g]=[])).push(...m);return r==="uniapp"&&p.length>0&&(u["@dcloudio/uni-app"]??(u["@dcloudio/uni-app"]=[])).push(...p),{imports:Object.entries(u).filter(([g,m])=>r==="uniapp"?!i.includes(g)&&!!m.length:!!m.length).map(([g,m])=>`import { ${b.dedupArray(m).join(",")}} from '${g}';`).concat(n),uniComponents:f,componentDeclarations:v}}function _t(t,e=x,s=new Set,n=new Set){const o=Object.entries(e),r=c=>{if(c==null||typeof c!="object")return c;if(Array.isArray(c))return c.map(r);if(j(c)&&typeof c.value=="string"){let l=c.value;for(const[p,d]of o){const i=p.replace(/\$/g,"\\$"),u=new RegExp(`this\\.${i}\\b`,"g");l=l.replace(u,d.replace)}return l=l.replace(/this\.([A-Za-z_$][\w$]*)\.value\b/g,(p,d)=>s.has(d)||n.has(d)?d:p),{...c,value:l}}const a={};for(const[l,p]of Object.entries(c))a[l]=r(p);return a};return t.map(r)}function yt(t,e,s=[],n={},o,r=x,c=new Set,a=new Set){const l=_t(t,r,c,a);return G(l,e,s,n,o)}function St(t,e,s="web"){const{dsl:n}=t,o=fe(e),r=me(o),c=st(n,r),a=Ke(n,r),l=et(a,r),p=tt(a,r),d=p.__renderer__||[];delete p.__renderer__;const i=yt(n.nodes||[],e,Object.keys(n.computed||{}),t.context,void 0,r,c.refs,c.computed),u=i.importBlocks.map(I=>`import ${I.name} from './${I.id}.vue';`),f=nt(n.refs||{},c),v=rt(n.reactives||{},c),_=ot(n.state||{},c),w=it(n.computed||{},c),g={...i.methods||{},...n.methods||{}},m=lt(g,c),h=ut(n.dataSources||{},c),S=pt(n.watch||[],c),$=at(n.inject||[],c),A=ft(n.provide||{},c),O=ct(n.composables||[],c),C=new Set;for(const I of n.composables||[])if(I.destructure&&I.destructure.length>0)for(const R of I.destructure)C.add(R);else I.name&&C.add(I.name);const N=l.filter(I=>{const R=I.match(/^const\s+(\w+)\s*=/);return!(R&&C.has(R[1]))}),U=$t(n.lifeCycles||{},c),he=dt(n.lifeCycles||{},c),ge=mt(n.setup,c),P=new Set;f.length>0&&P.add("ref"),(v.length>0||_)&&P.add("reactive"),w.length>0&&P.add("computed"),S.length>0&&P.add("watch"),$.length>0&&P.add("inject"),A.length>0&&P.add("provide");for(const I of U.usedHooks)P.add(I);const ve=s==="uniapp"?Array.from(U.usedUniHooks):[],{imports:$e,uniComponents:be,componentDeclarations:_e}=bt({componentMap:e,components:i.components,importBlocks:u,collectImports:t.imports,platform:s,vueImports:Array.from(P),composableImports:O.imports,globalApiImports:p,uniHookImports:ve,easycomPackages:t.easycomPackages}),ye=le(t.urlSchemas),Se=ue(t.blockPlugins);return{id:n.id,version:n.__VERSION__,name:n.name,imports:`
54
+ `+$e.join(`
55
+ `),props:ne(n.props).join(","),emits:re(n.emits).join(","),needsProps:a.has("$props"),needsEmit:a.has("$emit"),expose:n.expose&&n.expose.length?`{ ${n.expose.join(", ")} }`:"",globalApiDeclares:N.join(`
56
+ `),injects:$.join(`
57
+ `),composables:O.statements.join(`
58
+ `),state:_,refs:f.join(`
59
+ `),reactives:v.join(`
60
+ `),computed:w.join(`
61
+ `),methods:m.join(`
62
+ `),dataSources:h.join(`
63
+ `),watch:S.join(`
64
+ `),provide:A.join(`
65
+ `),createdStatements:he,setupStatements:ge,lifeCycles:U.statements.join(`
66
+ `),template:i.nodes.join(`
67
+ `),css:n.css||"",style:ie(t.style),urlSchemas:ye.join(`
68
+ `),blockPlugins:Se.join(`
69
+ `),uniComponents:be,renderer:s==="uniapp"?"@vtj/uni-app":"@vtj/renderer",rendererImports:["useProvider",...d].join(", "),componentDeclarations:_e.join(`
70
+ `)}}const jt=`
47
71
  // @ts-nocheck
48
-
49
- <%= imports %>
50
72
  import { useProvider } from '<%= renderer %>';
73
+ <%= imports %>
51
74
  export default defineComponent({
52
75
  name: '<%= name %>',
53
76
  <% if(inject) { %> inject: { <%= inject %>}, <% } %>
@@ -76,22 +99,47 @@ export default defineComponent({
76
99
  <% if(methods) { %> methods: { <%= methods %> }, <% } %>
77
100
  <% if(watch) { %> watch: { <%= watch %> }, <% } %> <%= lifeCycles %>
78
101
  });
79
- `.replace(/(\n|\r|\t)/g,""),Fe=`
102
+ `,kt=`
80
103
  <template>
81
104
  <%= template %>
82
105
  </template>
83
- <script lang="<%= scriptLang %>">
106
+ <script lang="<%= scriptLang %>"<% if(scriptSetup) { %> setup<% } %>>
84
107
  <%= script %>
85
108
  <\/script>
86
109
  <style lang="<%= styleLang %>" scoped>
87
110
  <%= css %>
88
111
  <%= style %>
89
112
  </style>
90
- `,De=m.template(Ne),Te=m.template(Fe);async function Be(t,e=new Map,s=[],n="web",i){const r=t,o=typeof r.dsl=="object"&&arguments.length===1?r:{dsl:t,componentMap:e,dependencies:s,platform:n,formatterDisabled:i},{dsl:c,componentMap:h=new Map,dependencies:p=[],platform:u="web",formatterDisabled:a=!1,ts:v=!0,scss:l=!1}=o,f=new ce(m.cloneDeep(c),p),y=Ie(f,h,u),b=De(y),$=Te({template:y.template||`
113
+ `,wt=`// @ts-nocheck
114
+ import { <%= rendererImports %> } from '<%= renderer %>';<%= imports %>
115
+ <% if(componentDeclarations) { %><%= componentDeclarations %><% } %>
116
+ <% if(props) { %>const __props = defineProps({ <%= props %> });<% } else if(needsProps) { %>const __props = defineProps();<% } %>
117
+ <% if(emits) { %>const __emit = defineEmits([<%= emits %>]);<% } else if(needsEmit) { %>const __emit = defineEmits();<% } %>
118
+ const __provider = useProvider({ id: '<%= id %>', version: '<%= version %>' });
119
+ <%= urlSchemas %>
120
+ <%= blockPlugins %>
121
+ <%= globalApiDeclares %>
122
+ <%= injects %>
123
+ <%= composables %>
124
+ <%= createdStatements %>
125
+ <%= state %>
126
+ <%= refs %>
127
+ <%= reactives %>
128
+ <%= computed %>
129
+ <%= methods %>
130
+ <%= setupStatements %>
131
+ <%= dataSources %>
132
+ <%= watch %>
133
+ <%= provide %>
134
+ <%= lifeCycles %>
135
+ <% if(expose) { %>defineExpose(<%= expose %>);<% } %>
136
+ `,At=b.template(jt),Ot=b.template(wt),It=b.template(kt);async function Ct(t,e=new Map,s=[],n="web",o){const r=t,c=typeof r.dsl=="object"&&arguments.length===1?r:{dsl:t,componentMap:e,dependencies:s,platform:n,formatterDisabled:o},{dsl:a,componentMap:l=new Map,dependencies:p=[],platform:d="web",formatterDisabled:i=!1,ts:u=!0,scss:f=!1}=c,v=new Ne(b.cloneDeep(a),p),_=a.apiMode==="composition";let w,g,m,h;if(_){const $=St(v,l,d);h=Ot($),w=$.template||`
137
+ <!--组件模版内容-->
138
+ `,g=$.css,m=$.style}else{const $=Ye(v,l,d);h=At($),w=$.template||`
91
139
  <!--组件模版内容-->
92
- `,css:await F(y.css,a)||`
140
+ `,g=$.css,m=$.style}const S=It({template:w,css:await F(g,i)||`
93
141
  /* 组件样式内容 */
94
- `,script:await U(b,a),style:await F(y.style,a),scriptLang:v?"ts":"js",styleLang:l?"scss":"css"});return await W($,a).catch(g=>(g.content=$,Promise.reject(g)))}async function We(t){const e=`
142
+ `,script:await K(h,i),style:await F(m,i),scriptLang:u?"ts":"js",styleLang:f?"scss":"css",scriptSetup:_});return await H(S,i).catch($=>($.content=S,Promise.reject($)))}async function Pt(t){const e=`
95
143
  <template>
96
144
  <div>
97
145
  <h3>源码模式页面</h3>
@@ -102,4 +150,4 @@ export default defineComponent({
102
150
  <\/script>
103
151
  <style scoped lang="scss">
104
152
  </style>
105
- `;return await W(e)}exports.VTJ_CODER_VERSION=ne;exports.createEmptyPage=We;exports.cssFormatter=F;exports.generator=Be;exports.tsFormatter=U;exports.vueFormatter=W;
153
+ `;return await H(e)}exports.GLOBAL_API_MAP=x;exports.UI_GLOBAL_API_MAPS=V;exports.UI_PACKAGES=pe;exports.VTJ_CODER_VERSION=Ie;exports.buildEffectiveApiMap=me;exports.createEmptyPage=Pt;exports.cssFormatter=F;exports.detectUIPackage=fe;exports.generator=Ct;exports.tsFormatter=K;exports.vueFormatter=H;