@lcap/nasl-unified-frontend-generator 3.13.1-debug.4 → 3.13.1-debug.6

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.
@@ -10842,7 +10842,7 @@ ${p}`:p}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.b
10842
10842
  }
10843
10843
  export const useI18nInfo = ()=>{
10844
10844
  return window.appInfo.i18nInfo ?? {};
10845
- }`])}}});var xt=J({name:"MetadataPlugin",functions:{makeBasePlatformConfig(r,e,t){let o=t?.lowcodeDomain,s=t?.envNuimsDomain?.[t?.env]||t?.nuimsDomain,i=t?.envLcpDomain?.[t?.env]?.lcpDomain||t?.lowcodeDomain;return{appConfig:{id:r.id,project:r.name,domainName:r.name,nuimsDomain:s,lowcodeDomain:o,envNuimsDomain:t.envNuimsDomain,tenantType:t.tenantType,tenantLevel:t.tenantLevel,extendedConfig:t.extendedConfig,envConfig:{lowcodeDomain:i},tenant:t.tenant,documentTitle:e.documentTitle,basePath:e.prefixPath,frontendName:e.name,sysPrefixPath:r.sysPrefixPath,appTimeZone:r?.appTimeZone,i18nInfo:Ke.functions.genI18nInfo(e),rootViewData:void 0},dnsAddr:r.dnsAddr,tenant:t.tenant,env:t.env,hasUserCenter:r.hasUserCenter,hasAuth:r.hasAuth,basePath:e.prefixPath,sysPrefixPath:r.sysPrefixPath,frontendName:e.name,isPreviewFe:!!t.isPreviewFe}}}});var vn={framework:{version:"1.7.1",core:"@lcap/basic-template",pc:[{frameworkKind:"vue2",name:"@lcap/pc-template",version:"1.7.1"},{frameworkKind:"react",name:"@lcap/react-template",version:"1.0.0"}],h5:[{frameworkKind:"vue2",name:"@lcap/mobile-template",version:"1.7.1"}]},ui:{pc:[{frameworkKind:"vue2",frameworkVersion:"vue@2.6.12",libName:"CloudUI",useFakeRoot:"0",name:"@lcap/pc-ui",version:"1.4.0"},{frameworkKind:"vue2",frameworkVersion:"vue@2.6.12",libName:"ElementUI",useFakeRoot:"0",name:"@lcap/element-ui",version:"1.4.0"},{frameworkKind:"react",frameworkVersion:"react@18.2.0",libName:"antd",name:"@lcap/pc-react-ui",version:"1.4.0"},{frameworkKind:"vue3",frameworkVersion:"vue@3.5.13",libName:"ElementPlus",name:"@lcap/element-plus",version:"1.0.0-beta.1"}],h5:[{frameworkKind:"vue2",frameworkVersion:"vue@2.6.12",name:"@lcap/mobile-ui",libName:"vant",useFakeRoot:"0",version:"1.4.0"}]},mini:{taro:[{frameworkKind:"vue2",frameworkVersion:"vue@2.6.12",name:"@lcap/taro-mini-vue2",version:"0.0.1"}]}};var He=vn.ui.pc.find(r=>r.frameworkKind==="react"),qo=vn.framework.version;function ge(){if(!He)throw new Error("reactUi not found");if(He.name!=="@lcap/pc-react-ui")throw new Error("cannot find @lcap/pc-react-ui in material.config.js");return{reactUI:{kind:"standard",name:He.name,version:He.version},basicTemplate:{version:qo}}}var ve=class r{constructor(e,t,o,s){this.providedStates=e;this.consumedStateNames=t;this.actions=o;this.parentCtx=s}recursivelyExtractTreeStates(){return[...this.providedStates.filter(e=>e.kind==="tree"),...this.parentCtx?.recursivelyExtractTreeStates()??[]]}resolveExprToString(e,t,o){return t.printSyntaxNode(e,{resolve({kind:s,value:i}){switch(s){case"calleeNamespace":return o.resolveCalleeNamespace(i);case"identifier":return o.resolveIdentifier(i)}}})}static fromParent(e){return this.create().setParent(e)}setParent(e){return this.parentCtx=e,this}static create(){return new r([],[],[],null)}provide(e){return this.providedStates.push(e),this}provideAction(e){return this.actions.push(e),this}findStateByName(e){return this.providedStates.find(t=>t.identifier===e)??this.parentCtx?.findStateByName(e)}findActionByName(e){return this.actions.find(t=>t.name===e)??this.parentCtx?.findActionByName(e)}findComponentRefByComponentName(e){return this.findStateByName(tn(e))??this.parentCtx?.findComponentRefByComponentName(e)}};function ui(r,e){let t=[],o=[];return r.dependencies&&t.push(...r.dependencies),r.interfaceDependencies&&t.push(...r.interfaceDependencies),e.views&&o.push(...e.views),t.forEach(s=>{s.views&&o.push(...s.views)}),o}function we(r){return{name:r.name,typeAnnotation:r.__TypeAnnotation,defaultValue:r.defaultValue}}function gi(r){if(e(r)||t(r)){if(t(r)){let o=Xe.from({calleeNamespace:"nasl.auth",calleeName:"has",arguments:[Be.from({expression:new wn({value:r.viewElement.authPath})})]},r.parentNode,r.parentKey);return{__raw:r,concept:r.concept,expression:re(o),kind:"if"}}else{let o=r.expression;if(o)return{__raw:r,concept:r.concept,expression:re(o),kind:"if"};ee.debug({nodePath:r.nodePath},"\u65E0expression\u7684directive\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E")}return}else return ee.error({nodePath:r.nodePath},`\u9047\u5230\u4E86\u4E0D\u652F\u6301\u7684 directive: ${r.name}`),_(r);function e(o){return o.name==="if"}function t(o){return o.name==="auth"}}function re(r){return{expr:r,deps:[]}}function Ye(r){if(r.type==null&&r.name==="rules")return{kind:"validation-rules",concept:"BindAttribute",name:"rules",rules:r.rules??[],__raw:r};switch(r.type){case"string":{let e=wn.from({value:r.value});if(r.sync)throw ee.error({nodePath:r.nodePath},"string\u4E0D\u53EF\u4E3Async"),new Error("string\u4E0D\u53EF\u4E3Async");if(r.i18nKey&&r.value&&r.frontend?.i18nInfo?.enabled){r.type="dynamic";let t=Xe.from({calleeNamespace:"$i18n",calleeName:"t",arguments:[Be.from({expression:wn.from({value:r.i18nKey})})]},r.parentNode,r.parentKey);return{__raw:r,concept:r.concept,kind:"expr",expression:re(t),name:r.name,sync:!1}}return{__raw:r,concept:r.concept,kind:"expr",expression:re(e),name:r.name,sync:!1}}case"static":case"dynamic":return r.type==="dynamic"&&(r.destination?r.expression=r.destination:r.externalDestination&&(r.expression=r.externalDestination,r.name="link")),{__raw:r,concept:r.concept,kind:"expr",expression:re(r.expression),name:r.name,sync:r.sync??!1};case"component":return{kind:"render",concept:"BindAttribute",component:r.component,scopeVariable:r.scopeVariable,name:r.name};default:X(r)}}function ye(r){return{logic:r,deps:[]}}function Ct(r,e){function t(o){return["pc","h5"].includes(o)}return e&&t(e)?r:ue(`${e??""}-${r}`)}function fn(r){return{value:"change",checked:"change"}[r]??`${r}-change`}function An(r){return{__raw:r,logics:r.logics.map(ye),concept:r.concept,params:r.getContextLogicParams().map(we),handlerName:Ct(r.name,r.parentNode.name)}}function hi(r){return{__raw:r.__raw,logics:r.logics,deps:[],name:r.handlerName,params:r.params,kind:"standalone"}}var St=ge().reactUI.name;function yi(r){let e=r.tag;if(e.startsWith("BS"))return{kind:"biz-component",tag:e,libraryName:`@/components/${$(e.slice(2))}`};if(Wn(e)){let t=r?.app?.dependencies?.find(s=>s.frontends.some(i=>i.viewComponents.some(c=>c.name===e)));return e==="Router"?{kind:"library",libraryName:"react-router-dom",tag:"Outlet"}:{kind:"library",libraryName:t?`@extension/${t.name}`:St,tag:e}}else if(e){if(e.includes("-"))throw ee.error({viewElement:mi(r,["name","concept","tag"]),nodePath:r.nodePath},"\u4E0D\u652F\u6301\u7684tag\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E"),new Error(`\u5B58\u5728\u810F\u6570\u636E: ${r.nodePath}`);return{kind:"library",libraryName:St,tag:e}}throw new Error("empty tag name!")}function fi(r,e){let t=r.attrs;for(let s=0;s<t.length;s++){let i=t[s];if(i){if(i.kind==="expr"&&i.name==="dataSource"&&i.expression.expr){let x=function(n){return{__raw:n,logics:n.logics.map(ye),concept:n.concept,params:n.getContextLogicParams().map(we),handlerName:p.dataFetchMethod}};var o=x;if(he(i.expression.expr)||qe(i.expression.expr)||si(i.expression.expr)||ai(i.expression.expr)||ni(i.expression.expr)||ii(i.expression.expr)){let n=Xe.from({calleeName:"toJS",arguments:[new Be({expression:i.expression.expr})]},i.__raw.parentNode,i.__raw.parentKey),g={...i,expression:{expr:n}};t[s]=g;continue}let l=`dataSource${pi(_o(i.__raw.nodePath))}`,p={queryParam:"event",tempResultVariable:`${l}LoadResult`,dataFetchMethod:`${l}Load`},y=r.__raw,u=e.findComponentRefByComponentName(y?.name??"")?.identifier;u&&i.expression.expr.traverseStrictChildren(n=>{qe(n)&&he(n.object)&&he(n.property)&&n.object.name===u&&["current","pageSize","sorter","order"].includes(n.property.name)&&(n.object=new Ne({name:p.queryParam}),n.property=new Ne({name:n.property.name}))});let S=Ze.from({body:[new It({left:new Ne({name:p.tempResultVariable}),right:i.expression.expr}),new $o({code:`return ${p.tempResultVariable}`})],params:[new kn({name:p.queryParam})],returns:[new ei({name:p.tempResultVariable})]},i.__raw.parentNode,void 0),A=xn.from({name:"dataSource",params:S.params,logics:[S]},i.__raw.parentNode,"bindEvents"),z=x(A);r.events.push(z),t[s]=void 0}else if(i.kind==="expr"&&i.name==="value"&&i.expression.expr&&(he(i.expression.expr)||qe(i.expression.expr))){let c=Xe.from({calleeName:"toJS",arguments:[new Be({expression:i.expression.expr})]},i.__raw.parentNode,i.__raw.parentKey),l={...i,expression:{expr:c}};t[s]=l;continue}}}r.attrs=t.filter(V)}function vi(r){r.attrs.flatMap(t=>{if(t.kind==="expr"&&t.sync){if(t.expression.expr)return[t];ee.debug(`${t.__raw.nodePath}\u7684expression\u4E3A\u7A7A\uFF0C\u4F46\u4ECD\u4E3A\u53CC\u5411\u7ED1\u5B9A\u3002\u5DF2\u5FFD\u7565\u3002`)}return[]}).forEach(t=>{ee.debug({x:t},"\u6784\u9020\u53CC\u5411\u7ED1\u5B9A\u7684handler");let o=l(),s=o.params.at(0),i=new kn({name:s?.name??"event"}),c=Ze.from({name:"_syncChange",body:[It.from({left:t.expression.expr,right:i},t.__raw.parentNode,t.__raw.parentKey)],params:[i]});o.logics.unshift(ye(c)),s||o.params.push(we(i));function l(){let p=fn(t.name),y=Ct(p,t.__raw.parentNode?.name);ee.trace({targetEventName:p,targetHandlerName:y});let u=r.events.find(A=>A.handlerName===y);if(u)return u;let S=An(xn.from({logics:[],name:p},t.__raw.parentNode,"bindEvents"));return r.events.push(S),S}})}function Nt(r){if(r.logics.length>1){let e=[],t=r.params.map(i=>kn.from(i)),o=r.logics.map(i=>{let c=`${r.name}_${i.logic.name}`,l=Ze.from({...i.logic,params:t,name:c},i.logic.parentNode,i.logic.parentKey);return l.body=i.logic.body,ye(l)}),s=new me({...r,logics:o});return e.push(s),o.forEach(i=>{let c=new me({...r,name:i.logic.name,logics:[i],kind:"standalone"});e.push(c)}),e}else return[r]}function bi(r){if(r.some(i=>i.kind!=="if"))throw ee.error("mergeIfDirectives\u63A5\u6536\u5230\u4E86\u4E0D\u662Fif\u6307\u4EE4\u7684bindDirectives"),new Error("mergeIfDirectives\u63A5\u6536\u5230\u4E86\u4E0D\u662Fif\u6307\u4EE4\u7684bindDirectives");let[e,...t]=r;if(!e)return r;let o=e.expression.expr;for(let i of t)o=Wo.from({left:o,operator:"&&",right:i.expression.expr},i.__raw.parentNode,i.__raw.parentKey);return[{kind:"if",concept:"BindDirective",expression:re(o),__raw:e.__raw}]}function zt(r,e){let t=e.bindAttrs.map(Ye).filter(V),o=bi(e.bindDirectives.map(gi).filter(V)),s={name:e.name,directives:o,attrs:t,events:e.bindEvents.map(An).filter(V),children:e.children.map(c=>zt(r,c)),component:yi(e),__raw:e,kind:"component-instance",slot:{scope:e.slotScope||void 0,target:i(e.slotTarget)}};return vi(s),fi(s,r),s.events.forEach(c=>{let l=Nt(hi(c));for(let p of l)r.provideAction(p)}),s;function i(c){if(!(c==="default"||c===""))return c}}function wi(r){let e=[],t=[];return r.variables.forEach(s=>{let i={kind:"local-logic",initialization:{kind:"static",value:re(qn(s))},identifier:s.name,typeAnnotation:s.__TypeAnnotation};e.push(i)}),r.bindEvents.forEach(s=>{let i=oi(s.parentNode),c=new me({__raw:s,logics:s.logics.map(ye),deps:[],name:s.name,params:s.getContextLogicParams().map(we),kind:i?"frontend-lifecycle":"view-lifecycle"}),l=Nt(c);t.push(...l)}),r.logics.forEach(s=>{t.push(new me({__raw:s,deps:[],name:s.name,params:s.params.map(we),logics:[s].map(ye),kind:"standalone"}))}),r.params?.forEach(s=>{let i={kind:"local-logic",initialization:{kind:We(r)?"url-param":"props",__raw:we(s),defaultValue:s.defaultValue?.expression?re(s.defaultValue.expression):void 0},identifier:s.name,typeAnnotation:s.__TypeAnnotation};e.push(i)}),{consumedStateNames:[],providedStates:e,actions:t}}function xi(r){return r.provide({identifier:"nasl",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useNasl"}}).provide({identifier:"$frontendVariables",kind:"tree",typeAnnotation:null,initialization:{kind:"frontend-variable",hookName:"useFrontendVariables"}}).provide({identifier:"$services",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useServices"}}).provide({identifier:"$destination",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useDestination"}}).provide({identifier:"$library",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useLibrary"}}).provide({identifier:"$link",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useLink"}}).provide({identifier:"userInfo",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useUserInfo"}}).provide({identifier:"$i18n",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useI18n"}}).provide({identifier:"i18nInfo",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useI18nInfo"}}).provide({identifier:"genInitFromSchema",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useGenInitFromSchema"}})}function bn(r,e){if(e&&Qn(e)){let t=Un(e);if(!t)return;let o=r.findComponentRefByComponentName(t);if(o)return o;let i={kind:"standalone",identifier:tn(t),initialization:{kind:"component-ref",componentName:t},typeAnnotation:null};return r.provide(i),i}}function ki(r){let e=new ve([],[],[],null);return xi(e)}var Sn="apiClient";function Ai(r,e){return e.provide({kind:"tree",identifier:Sn,initialization:{kind:"api-client"},typeAnnotation:null}),r.map(ye)}function Si(r){return r.dependencies.map(t=>{if(!ri(t)&&t.frontends?.length)return t}).filter(V)}function In(r,e){return r.map(t=>{let{providedStates:o,actions:s}=wi(t),i=new ve(o,[],s,e);p(t,i);let c=t.elements.map(u=>zt(i,u));y(c);let l={stateContext:i,identifier:t.name,elements:c};if(We(t)){let u=In(t.children,e);return{...l,kind:"view",__raw:t,childComponents:u}}else return{...l,kind:"biz-component",__raw:t};function p(u,S){let A=[];We(u)&&(A=u.children,u.children=[]),u.traverseStrictChildren(x=>{if(li(x)&&"playground"in x&&(x.playground=[]),qe(x)){if(he(x.object)&&he(x.property)&&x.object.name==="elements"&&x.property.name==="$ce"){let z=x.getAncestor("ViewElement");if(z){let n=`elements.${z.name}`,g=bn(S,n);g&&(x.emit=()=>{},x.parentNode&&(x.parentNode.emit=()=>{}),x.replaceNode({name:g.identifier,concept:"Identifier"}))}}else if(he(x.object)&&x.object.namespace==="elements.$ce.property"){let z=x.getAncestor("ViewElement");if(z){let n=`elements.${z.name}`,g=bn(S,n);g&&(x.object=new Ne({name:g.identifier}))}}}else if(ti(x)){let z=bn(S,x.calleeNamespace);z&&(x.calleeNamespace=z.identifier)}}),We(u)&&(u.children=A)}function y(u){u.forEach(S=>{if(!S.__raw)return;let A=i.findComponentRefByComponentName(S.__raw.name);if(A){let x=Ye(new Rt({name:"ref",type:"dynamic",expression:new Ne({name:A.identifier})}));x&&S.attrs.push(x)}y(S.children)})}})}function Ii(r,e,t){let o=ui(r,e);return In(o,t)}function Ri(r,e,t){let o=r.frontendTypes.find(c=>c.kind===e.type)?.businessComponents??[],s=Zo.from({bindEvents:[...e.bindEvents,new xn({name:"rendered",logics:[new Ze({body:[Yo.from({calleeNamespace:"window",calleeName:"rendered"})]})]})],name:"FrontendEventWrapper",params:[],elements:[new Xo({tag:"Router",name:"routerContainer",children:[]})]});o.push(s);for(let c of o)c.parentNode=e,c.traverseStrictChildren(l=>{ci(l)&&l.tag==="IdeSlot"&&(l.tag="template",l.bindAttrs.push(Rt.from({name:"children",type:"dynamic",expression:Bo.from({object:{concept:"Identifier",name:"props",folded:!1},property:{concept:"Identifier",name:ue(l.name),folded:!1}})},l,"bindAttrs")))});return In(o,t)}var ee=L("IR builder"),be=class{constructor(e,t){this.preProcessors=e;this.postProcessors=t}selfBuildIR(e,t,o){{let S=function(){let z={...xt.functions}.makeBasePlatformConfig(e,t,o),n=Vn(e,t,o),g=t.bindEvents.map(An).filter(V);return{config:o,basePlatformConfig:z,events:g,metaData:n,globalVariables:t.variables,themeCSS:t.genThemeCSS(),document:{icon:t.documentIcon},frontendDesc:t,microApp:e.integration?.microApp}},A=function(){let x=Si(e).map(z=>({kind:"extension",name:z.name,version:z.version,hasCss:!0}));return ee.debug({extensionPackages:x}),[...x,ge().reactUI]};var s=S,i=A;o.debug&&Dt.genBreakpoints(e);let c=ki(t.variables),l=Ai(e.logics,c),p=Ii(e,t,c),y=Ri(e,t,c);return p.flatMap(x=>x.childComponents),{baseCtx:c,configs:S(),apis:l,views:p,bizComponents:y,packages:A()}}}buildIR(e,t,o){this.preProcessors?.forEach(i=>{let c=i.preProcess(e,t,o);e=c.app,t=c.frontend,o=c.config});let s=this.selfBuildIR(e,t,o);return this.postProcessors?.forEach(i=>{s=i.postProcess(s,o)}),s}};be=M([di(),F(0,At(N.IRPreProcesser)),F(0,kt()),F(1,At(N.IRPostProcesser)),F(1,kt())],be);import{injectable as Di}from"inversify";import{Volume as Ci}from"memfs";var xe=class{constructor(){this.vol=new Ci}read(e){if(this.vol.existsSync(e))return this.vol.readFileSync(e)}write(e,t){this.vol.fromJSON({[e]:t})}remove(e){this.vol.unlinkSync(e)}toJSON(){return this.vol.toJSON(void 0,void 0,void 0,!0)}};xe=M([Di()],xe);import{injectable as zi}from"inversify";var jt=`
10845
+ }`])}}});var xt=J({name:"MetadataPlugin",functions:{makeBasePlatformConfig(r,e,t){let o=t?.lowcodeDomain,s=t?.envNuimsDomain?.[t?.env]||t?.nuimsDomain,i=t?.envLcpDomain?.[t?.env]?.lcpDomain||t?.lowcodeDomain;return{appConfig:{id:r.id,project:r.name,domainName:r.name,nuimsDomain:s,lowcodeDomain:o,envNuimsDomain:t.envNuimsDomain,tenantType:t.tenantType,tenantLevel:t.tenantLevel,extendedConfig:t.extendedConfig,envConfig:{lowcodeDomain:i},tenant:t.tenant,documentTitle:e.documentTitle,basePath:e.prefixPath,frontendName:e.name,sysPrefixPath:r.sysPrefixPath,appTimeZone:r?.appTimeZone,i18nInfo:Ke.functions.genI18nInfo(e),rootViewData:void 0},dnsAddr:r.dnsAddr,tenant:t.tenant,env:t.env,hasUserCenter:r.hasUserCenter,hasAuth:r.hasAuth,basePath:e.prefixPath,sysPrefixPath:r.sysPrefixPath,frontendName:e.name,isPreviewFe:!!t.isPreviewFe}}}});var vn={framework:{version:"1.7.0",core:"@lcap/basic-template",pc:[{frameworkKind:"vue2",name:"@lcap/pc-template",version:"1.7.0"},{frameworkKind:"react",name:"@lcap/react-template",version:"1.0.0"}],h5:[{frameworkKind:"vue2",name:"@lcap/mobile-template",version:"1.7.0"}]},ui:{pc:[{frameworkKind:"vue2",frameworkVersion:"vue@2.6.12",libName:"CloudUI",useFakeRoot:"0",name:"@lcap/pc-ui",version:"1.4.0"},{frameworkKind:"vue2",frameworkVersion:"vue@2.6.12",libName:"ElementUI",useFakeRoot:"0",name:"@lcap/element-ui",version:"1.4.0"},{frameworkKind:"react",frameworkVersion:"react@18.2.0",libName:"antd",name:"@lcap/pc-react-ui",version:"1.4.0"},{frameworkKind:"vue3",frameworkVersion:"vue@3.5.13",libName:"ElementPlus",name:"@lcap/element-plus",version:"1.0.0-beta.1"}],h5:[{frameworkKind:"vue2",frameworkVersion:"vue@2.6.12",name:"@lcap/mobile-ui",libName:"vant",useFakeRoot:"0",version:"1.4.0"}]},mini:{taro:[{frameworkKind:"vue2",frameworkVersion:"vue@2.6.12",name:"@lcap/taro-mini-vue2",version:"0.0.1"}]}};var He=vn.ui.pc.find(r=>r.frameworkKind==="react"),qo=vn.framework.version;function ge(){if(!He)throw new Error("reactUi not found");if(He.name!=="@lcap/pc-react-ui")throw new Error("cannot find @lcap/pc-react-ui in material.config.js");return{reactUI:{kind:"standard",name:He.name,version:He.version},basicTemplate:{version:qo}}}var ve=class r{constructor(e,t,o,s){this.providedStates=e;this.consumedStateNames=t;this.actions=o;this.parentCtx=s}recursivelyExtractTreeStates(){return[...this.providedStates.filter(e=>e.kind==="tree"),...this.parentCtx?.recursivelyExtractTreeStates()??[]]}resolveExprToString(e,t,o){return t.printSyntaxNode(e,{resolve({kind:s,value:i}){switch(s){case"calleeNamespace":return o.resolveCalleeNamespace(i);case"identifier":return o.resolveIdentifier(i)}}})}static fromParent(e){return this.create().setParent(e)}setParent(e){return this.parentCtx=e,this}static create(){return new r([],[],[],null)}provide(e){return this.providedStates.push(e),this}provideAction(e){return this.actions.push(e),this}findStateByName(e){return this.providedStates.find(t=>t.identifier===e)??this.parentCtx?.findStateByName(e)}findActionByName(e){return this.actions.find(t=>t.name===e)??this.parentCtx?.findActionByName(e)}findComponentRefByComponentName(e){return this.findStateByName(tn(e))??this.parentCtx?.findComponentRefByComponentName(e)}};function ui(r,e){let t=[],o=[];return r.dependencies&&t.push(...r.dependencies),r.interfaceDependencies&&t.push(...r.interfaceDependencies),e.views&&o.push(...e.views),t.forEach(s=>{s.views&&o.push(...s.views)}),o}function we(r){return{name:r.name,typeAnnotation:r.__TypeAnnotation,defaultValue:r.defaultValue}}function gi(r){if(e(r)||t(r)){if(t(r)){let o=Xe.from({calleeNamespace:"nasl.auth",calleeName:"has",arguments:[Be.from({expression:new wn({value:r.viewElement.authPath})})]},r.parentNode,r.parentKey);return{__raw:r,concept:r.concept,expression:re(o),kind:"if"}}else{let o=r.expression;if(o)return{__raw:r,concept:r.concept,expression:re(o),kind:"if"};ee.debug({nodePath:r.nodePath},"\u65E0expression\u7684directive\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E")}return}else return ee.error({nodePath:r.nodePath},`\u9047\u5230\u4E86\u4E0D\u652F\u6301\u7684 directive: ${r.name}`),_(r);function e(o){return o.name==="if"}function t(o){return o.name==="auth"}}function re(r){return{expr:r,deps:[]}}function Ye(r){if(r.type==null&&r.name==="rules")return{kind:"validation-rules",concept:"BindAttribute",name:"rules",rules:r.rules??[],__raw:r};switch(r.type){case"string":{let e=wn.from({value:r.value});if(r.sync)throw ee.error({nodePath:r.nodePath},"string\u4E0D\u53EF\u4E3Async"),new Error("string\u4E0D\u53EF\u4E3Async");if(r.i18nKey&&r.value&&r.frontend?.i18nInfo?.enabled){r.type="dynamic";let t=Xe.from({calleeNamespace:"$i18n",calleeName:"t",arguments:[Be.from({expression:wn.from({value:r.i18nKey})})]},r.parentNode,r.parentKey);return{__raw:r,concept:r.concept,kind:"expr",expression:re(t),name:r.name,sync:!1}}return{__raw:r,concept:r.concept,kind:"expr",expression:re(e),name:r.name,sync:!1}}case"static":case"dynamic":return r.type==="dynamic"&&(r.destination?r.expression=r.destination:r.externalDestination&&(r.expression=r.externalDestination,r.name="link")),{__raw:r,concept:r.concept,kind:"expr",expression:re(r.expression),name:r.name,sync:r.sync??!1};case"component":return{kind:"render",concept:"BindAttribute",component:r.component,scopeVariable:r.scopeVariable,name:r.name};default:X(r)}}function ye(r){return{logic:r,deps:[]}}function Ct(r,e){function t(o){return["pc","h5"].includes(o)}return e&&t(e)?r:ue(`${e??""}-${r}`)}function fn(r){return{value:"change",checked:"change"}[r]??`${r}-change`}function An(r){return{__raw:r,logics:r.logics.map(ye),concept:r.concept,params:r.getContextLogicParams().map(we),handlerName:Ct(r.name,r.parentNode.name)}}function hi(r){return{__raw:r.__raw,logics:r.logics,deps:[],name:r.handlerName,params:r.params,kind:"standalone"}}var St=ge().reactUI.name;function yi(r){let e=r.tag;if(e.startsWith("BS"))return{kind:"biz-component",tag:e,libraryName:`@/components/${$(e.slice(2))}`};if(Wn(e)){let t=r?.app?.dependencies?.find(s=>s.frontends.some(i=>i.viewComponents.some(c=>c.name===e)));return e==="Router"?{kind:"library",libraryName:"react-router-dom",tag:"Outlet"}:{kind:"library",libraryName:t?`@extension/${t.name}`:St,tag:e}}else if(e){if(e.includes("-"))throw ee.error({viewElement:mi(r,["name","concept","tag"]),nodePath:r.nodePath},"\u4E0D\u652F\u6301\u7684tag\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E"),new Error(`\u5B58\u5728\u810F\u6570\u636E: ${r.nodePath}`);return{kind:"library",libraryName:St,tag:e}}throw new Error("empty tag name!")}function fi(r,e){let t=r.attrs;for(let s=0;s<t.length;s++){let i=t[s];if(i){if(i.kind==="expr"&&i.name==="dataSource"&&i.expression.expr){let x=function(n){return{__raw:n,logics:n.logics.map(ye),concept:n.concept,params:n.getContextLogicParams().map(we),handlerName:p.dataFetchMethod}};var o=x;if(he(i.expression.expr)||qe(i.expression.expr)||si(i.expression.expr)||ai(i.expression.expr)||ni(i.expression.expr)||ii(i.expression.expr)){let n=Xe.from({calleeName:"toJS",arguments:[new Be({expression:i.expression.expr})]},i.__raw.parentNode,i.__raw.parentKey),g={...i,expression:{expr:n}};t[s]=g;continue}let l=`dataSource${pi(_o(i.__raw.nodePath))}`,p={queryParam:"event",tempResultVariable:`${l}LoadResult`,dataFetchMethod:`${l}Load`},y=r.__raw,u=e.findComponentRefByComponentName(y?.name??"")?.identifier;u&&i.expression.expr.traverseStrictChildren(n=>{qe(n)&&he(n.object)&&he(n.property)&&n.object.name===u&&["current","pageSize","sorter","order"].includes(n.property.name)&&(n.object=new Ne({name:p.queryParam}),n.property=new Ne({name:n.property.name}))});let S=Ze.from({body:[new It({left:new Ne({name:p.tempResultVariable}),right:i.expression.expr}),new $o({code:`return ${p.tempResultVariable}`})],params:[new kn({name:p.queryParam})],returns:[new ei({name:p.tempResultVariable})]},i.__raw.parentNode,void 0),A=xn.from({name:"dataSource",params:S.params,logics:[S]},i.__raw.parentNode,"bindEvents"),z=x(A);r.events.push(z),t[s]=void 0}else if(i.kind==="expr"&&i.name==="value"&&i.expression.expr&&(he(i.expression.expr)||qe(i.expression.expr))){let c=Xe.from({calleeName:"toJS",arguments:[new Be({expression:i.expression.expr})]},i.__raw.parentNode,i.__raw.parentKey),l={...i,expression:{expr:c}};t[s]=l;continue}}}r.attrs=t.filter(V)}function vi(r){r.attrs.flatMap(t=>{if(t.kind==="expr"&&t.sync){if(t.expression.expr)return[t];ee.debug(`${t.__raw.nodePath}\u7684expression\u4E3A\u7A7A\uFF0C\u4F46\u4ECD\u4E3A\u53CC\u5411\u7ED1\u5B9A\u3002\u5DF2\u5FFD\u7565\u3002`)}return[]}).forEach(t=>{ee.debug({x:t},"\u6784\u9020\u53CC\u5411\u7ED1\u5B9A\u7684handler");let o=l(),s=o.params.at(0),i=new kn({name:s?.name??"event"}),c=Ze.from({name:"_syncChange",body:[It.from({left:t.expression.expr,right:i},t.__raw.parentNode,t.__raw.parentKey)],params:[i]});o.logics.unshift(ye(c)),s||o.params.push(we(i));function l(){let p=fn(t.name),y=Ct(p,t.__raw.parentNode?.name);ee.trace({targetEventName:p,targetHandlerName:y});let u=r.events.find(A=>A.handlerName===y);if(u)return u;let S=An(xn.from({logics:[],name:p},t.__raw.parentNode,"bindEvents"));return r.events.push(S),S}})}function Nt(r){if(r.logics.length>1){let e=[],t=r.params.map(i=>kn.from(i)),o=r.logics.map(i=>{let c=`${r.name}_${i.logic.name}`,l=Ze.from({...i.logic,params:t,name:c},i.logic.parentNode,i.logic.parentKey);return l.body=i.logic.body,ye(l)}),s=new me({...r,logics:o});return e.push(s),o.forEach(i=>{let c=new me({...r,name:i.logic.name,logics:[i],kind:"standalone"});e.push(c)}),e}else return[r]}function bi(r){if(r.some(i=>i.kind!=="if"))throw ee.error("mergeIfDirectives\u63A5\u6536\u5230\u4E86\u4E0D\u662Fif\u6307\u4EE4\u7684bindDirectives"),new Error("mergeIfDirectives\u63A5\u6536\u5230\u4E86\u4E0D\u662Fif\u6307\u4EE4\u7684bindDirectives");let[e,...t]=r;if(!e)return r;let o=e.expression.expr;for(let i of t)o=Wo.from({left:o,operator:"&&",right:i.expression.expr},i.__raw.parentNode,i.__raw.parentKey);return[{kind:"if",concept:"BindDirective",expression:re(o),__raw:e.__raw}]}function zt(r,e){let t=e.bindAttrs.map(Ye).filter(V),o=bi(e.bindDirectives.map(gi).filter(V)),s={name:e.name,directives:o,attrs:t,events:e.bindEvents.map(An).filter(V),children:e.children.map(c=>zt(r,c)),component:yi(e),__raw:e,kind:"component-instance",slot:{scope:e.slotScope||void 0,target:i(e.slotTarget)}};return vi(s),fi(s,r),s.events.forEach(c=>{let l=Nt(hi(c));for(let p of l)r.provideAction(p)}),s;function i(c){if(!(c==="default"||c===""))return c}}function wi(r){let e=[],t=[];return r.variables.forEach(s=>{let i={kind:"local-logic",initialization:{kind:"static",value:re(qn(s))},identifier:s.name,typeAnnotation:s.__TypeAnnotation};e.push(i)}),r.bindEvents.forEach(s=>{let i=oi(s.parentNode),c=new me({__raw:s,logics:s.logics.map(ye),deps:[],name:s.name,params:s.getContextLogicParams().map(we),kind:i?"frontend-lifecycle":"view-lifecycle"}),l=Nt(c);t.push(...l)}),r.logics.forEach(s=>{t.push(new me({__raw:s,deps:[],name:s.name,params:s.params.map(we),logics:[s].map(ye),kind:"standalone"}))}),r.params?.forEach(s=>{let i={kind:"local-logic",initialization:{kind:We(r)?"url-param":"props",__raw:we(s),defaultValue:s.defaultValue?.expression?re(s.defaultValue.expression):void 0},identifier:s.name,typeAnnotation:s.__TypeAnnotation};e.push(i)}),{consumedStateNames:[],providedStates:e,actions:t}}function xi(r){return r.provide({identifier:"nasl",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useNasl"}}).provide({identifier:"$frontendVariables",kind:"tree",typeAnnotation:null,initialization:{kind:"frontend-variable",hookName:"useFrontendVariables"}}).provide({identifier:"$services",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useServices"}}).provide({identifier:"$destination",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useDestination"}}).provide({identifier:"$library",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useLibrary"}}).provide({identifier:"$link",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useLink"}}).provide({identifier:"userInfo",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useUserInfo"}}).provide({identifier:"$i18n",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useI18n"}}).provide({identifier:"i18nInfo",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useI18nInfo"}}).provide({identifier:"genInitFromSchema",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useGenInitFromSchema"}})}function bn(r,e){if(e&&Qn(e)){let t=Un(e);if(!t)return;let o=r.findComponentRefByComponentName(t);if(o)return o;let i={kind:"standalone",identifier:tn(t),initialization:{kind:"component-ref",componentName:t},typeAnnotation:null};return r.provide(i),i}}function ki(r){let e=new ve([],[],[],null);return xi(e)}var Sn="apiClient";function Ai(r,e){return e.provide({kind:"tree",identifier:Sn,initialization:{kind:"api-client"},typeAnnotation:null}),r.map(ye)}function Si(r){return r.dependencies.map(t=>{if(!ri(t)&&t.frontends?.length)return t}).filter(V)}function In(r,e){return r.map(t=>{let{providedStates:o,actions:s}=wi(t),i=new ve(o,[],s,e);p(t,i);let c=t.elements.map(u=>zt(i,u));y(c);let l={stateContext:i,identifier:t.name,elements:c};if(We(t)){let u=In(t.children,e);return{...l,kind:"view",__raw:t,childComponents:u}}else return{...l,kind:"biz-component",__raw:t};function p(u,S){let A=[];We(u)&&(A=u.children,u.children=[]),u.traverseStrictChildren(x=>{if(li(x)&&"playground"in x&&(x.playground=[]),qe(x)){if(he(x.object)&&he(x.property)&&x.object.name==="elements"&&x.property.name==="$ce"){let z=x.getAncestor("ViewElement");if(z){let n=`elements.${z.name}`,g=bn(S,n);g&&(x.emit=()=>{},x.parentNode&&(x.parentNode.emit=()=>{}),x.replaceNode({name:g.identifier,concept:"Identifier"}))}}else if(he(x.object)&&x.object.namespace==="elements.$ce.property"){let z=x.getAncestor("ViewElement");if(z){let n=`elements.${z.name}`,g=bn(S,n);g&&(x.object=new Ne({name:g.identifier}))}}}else if(ti(x)){let z=bn(S,x.calleeNamespace);z&&(x.calleeNamespace=z.identifier)}}),We(u)&&(u.children=A)}function y(u){u.forEach(S=>{if(!S.__raw)return;let A=i.findComponentRefByComponentName(S.__raw.name);if(A){let x=Ye(new Rt({name:"ref",type:"dynamic",expression:new Ne({name:A.identifier})}));x&&S.attrs.push(x)}y(S.children)})}})}function Ii(r,e,t){let o=ui(r,e);return In(o,t)}function Ri(r,e,t){let o=r.frontendTypes.find(c=>c.kind===e.type)?.businessComponents??[],s=Zo.from({bindEvents:[...e.bindEvents,new xn({name:"rendered",logics:[new Ze({body:[Yo.from({calleeNamespace:"window",calleeName:"rendered"})]})]})],name:"FrontendEventWrapper",params:[],elements:[new Xo({tag:"Router",name:"routerContainer",children:[]})]});o.push(s);for(let c of o)c.parentNode=e,c.traverseStrictChildren(l=>{ci(l)&&l.tag==="IdeSlot"&&(l.tag="template",l.bindAttrs.push(Rt.from({name:"children",type:"dynamic",expression:Bo.from({object:{concept:"Identifier",name:"props",folded:!1},property:{concept:"Identifier",name:ue(l.name),folded:!1}})},l,"bindAttrs")))});return In(o,t)}var ee=L("IR builder"),be=class{constructor(e,t){this.preProcessors=e;this.postProcessors=t}selfBuildIR(e,t,o){{let S=function(){let z={...xt.functions}.makeBasePlatformConfig(e,t,o),n=Vn(e,t,o),g=t.bindEvents.map(An).filter(V);return{config:o,basePlatformConfig:z,events:g,metaData:n,globalVariables:t.variables,themeCSS:t.genThemeCSS(),document:{icon:t.documentIcon},frontendDesc:t,microApp:e.integration?.microApp}},A=function(){let x=Si(e).map(z=>({kind:"extension",name:z.name,version:z.version,hasCss:!0}));return ee.debug({extensionPackages:x}),[...x,ge().reactUI]};var s=S,i=A;o.debug&&Dt.genBreakpoints(e);let c=ki(t.variables),l=Ai(e.logics,c),p=Ii(e,t,c),y=Ri(e,t,c);return p.flatMap(x=>x.childComponents),{baseCtx:c,configs:S(),apis:l,views:p,bizComponents:y,packages:A()}}}buildIR(e,t,o){this.preProcessors?.forEach(i=>{let c=i.preProcess(e,t,o);e=c.app,t=c.frontend,o=c.config});let s=this.selfBuildIR(e,t,o);return this.postProcessors?.forEach(i=>{s=i.postProcess(s,o)}),s}};be=M([di(),F(0,At(N.IRPreProcesser)),F(0,kt()),F(1,At(N.IRPostProcesser)),F(1,kt())],be);import{injectable as Di}from"inversify";import{Volume as Ci}from"memfs";var xe=class{constructor(){this.vol=new Ci}read(e){if(this.vol.existsSync(e))return this.vol.readFileSync(e)}write(e,t){this.vol.fromJSON({[e]:t})}remove(e){this.vol.unlinkSync(e)}toJSON(){return this.vol.toJSON(void 0,void 0,void 0,!0)}};xe=M([Di()],xe);import{injectable as zi}from"inversify";var jt=`
10846
10846
  if(window.ICESTARK && window.ICESTARK.root) {
10847
10847
  Object.assign(window.ICESTARK, {
10848
10848
  appEnter({ container, customProps }) {