@lcap/nasl-unified-frontend-generator 3.8.3-alpha.1-optimize → 3.8.3-alpha.2-optimize
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.d.mts +15 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.js +44 -44
- package/dist/index.mjs +44 -44
- package/dist/playground.js +48 -48
- package/dist/playground.mjs +48 -48
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4743,17 +4743,17 @@ export const useHandlePageNavigationEvent = ()=>{
|
|
|
4743
4743
|
},
|
|
4744
4744
|
"include": ["src"]
|
|
4745
4745
|
}
|
|
4746
|
-
`}},environment:"vanilla"};var st=require("inversify");var zr=require("@abraham/reflection"),E=require("@lcap/nasl"),_=require("@lcap/nasl/out/concepts/utils/asserts"),Dn=require("inversify"),Fe=require("lodash");var ae=class{static{a(this,"StateActionIR")}__raw;deps;params;logics;name;kind;constructor(e){Object.assign(this,e)}};function V(n){return n!=null}a(V,"isNotNil");function hn(n){return Array.isArray(n)?n:[n]}a(hn,"ensureArray");function yn(){throw new Error("todo")}a(yn,"todo");function $(n){let e=n?JSON.stringify(n):String(n);throw new Error(`not implemented for ${e}`)}a($,"notImplemented");function G(n){let e=n?JSON.stringify(n):String(n);throw new Error(`never implemented for ${e}. Should never be here!`)}a(G,"neverImplemented");function W(n){throw new Error(`assertNever failed: ${n}`)}a(W,"assertNever");var wn=a(n=>n.startsWith("elements."),"isNameAElementRef"),bn=a(n=>n.split(".").at(1),"extractComponentNameFromElementRefName"),He=a(n=>`${n}Ref`,"componentNameToRefName");function qe(n){return n.kind==="library"}a(qe,"isComponentFromLib");function vn(n){return n.tag==="template"}a(vn,"isReferencedComponentATemplate");var xn=require("lodash"),kn=he(require("pino"));var xt=process.env.LOG_LEVEL||"info",kt=(0,kn.default)({level:xt,transport:{target:"pino-pretty",options:{colorize:!0}}});function P(n){return kt.child({},{msgPrefix:`[${n}] `})}a(P,"Logger");function An(n){if(!(0,xn.isFunction)(n))throw new Error;let e=n.name,r=Object.getOwnPropertyNames(n.prototype),i=P(e);return r.forEach(o=>{let s=n.prototype[o];n.prototype[o]=function(...l){return i.trace({method:o,args:l}),s.apply(this,l)}}),n}a(An,"logging");var te=require("@lcap/nasl");function We(n,e){let r=n?.split(".")||[],o=r[0]==="app"?1:0;return r.findIndex((s,l)=>l%2===o?s===e:!1)}a(We,"findConceptKeyWordIndexFromNamespace");function Sn(n){let e=n.typeAnnotation||n.__TypeAnnotation,{sortedTypeKey:r,typeKind:i,typeName:o,typeNamespace:s}=e||{};if(s?.endsWith(".metadataTypes")){let v=(n.app.findNodeByCompleteName(s+"."+o)||{}).typeAnnotation||{};r=`${v.typeNamespace}.${v.typeName}`,i=v.typeKind,o=v.typeName}let l=e&&(!["primitive","union"].includes(i)||o==="DateTime"),u=n.defaultValue?.expression?n.defaultValue.expression:new te.Unparsed({code:void 0});return l?te.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new te.Argument({expression:new te.StringLiteral({value:r})}),new te.Argument({expression:u})]},n.parentNode,n.parentKey):u}a(Sn,"prepareVariableDefaultValue");var Nn=require("@lcap/nasl/out/utils/string");var ke=a(n=>n.replaceAll("_","-").replace(/(?:-)([a-zA-Z0-9])/g,(e,r)=>r.toUpperCase()),"trueKebab2Camel"),de=a(n=>(0,Nn.firstUpperCase)(ke(n)),"kebab2Pascal");function Pn(n){return/^[A-Z]/.test(n)}a(Pn,"startsWithUpperCase");function jn(n){return V(n)&&n!==""}a(jn,"isNotEmptyString");function M({name:n,functions:e}){return{name:n,functions:e}}a(M,"makePlugin");var At={enabled:!1,locale:"zh-CN",messages:{},I18nList:[]},Ae=M({name:"MetadataPlugin",functions:{makeBasePlatformConfig(n,e,r){let i=r?.lowcodeDomain,o=r?.envNuimsDomain?.[r?.env]||r?.nuimsDomain,s=r?.envLcpDomain?.[r?.env]?.lcpDomain||r?.lowcodeDomain;return{appConfig:{project:n.name,domainName:n.name,nuimsDomain:o,lowcodeDomain:i,envNuimsDomain:r.envNuimsDomain,tenantType:r.tenantType,tenantLevel:r.tenantLevel,extendedConfig:r.extendedConfig,envConfig:{lowcodeDomain:s},tenant:r.tenant,documentTitle:e.documentTitle,i18nInfo:At},dnsAddr:n.dnsAddr,tenant:r.tenant,env:r.env,hasUserCenter:n.hasUserCenter,hasAuth:n.hasAuth,basePath:e.prefixPath,sysPrefixPath:n.sysPrefixPath,frontendName:e.name}}}});function St(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(St,"_ts_decorate");var Se=class n{static{a(this,"StateContextIR")}providedStates;consumedStateNames;actions;parentCtx;constructor(e,r,i,o){this.providedStates=e,this.consumedStateNames=r,this.actions=i,this.parentCtx=o}recursivelyExtractTreeStates(){return[...this.providedStates.filter(e=>e.kind==="tree"),...this.parentCtx?.recursivelyExtractTreeStates()??[]]}resolveExprToString(e,r,i){return r.printSyntaxNode(e,{resolve({kind:o,value:s}){switch(o){case"calleeNamespace":return i.resolveCalleeNamespace(s);case"identifier":return i.resolveIdentifier(s)}}})}static fromParent(e){return new n([],[],[],e)}provide(e){return this.providedStates.push(e),this}provideAction(e){return this.actions.push(e),this}findStateByName(e){return this.providedStates.find(r=>r.identifier===e)??this.parentCtx?.findStateByName(e)}findActionByName(e){return this.actions.find(r=>r.name===e)??this.parentCtx?.findActionByName(e)}findComponentRefByComponentName(e){return this.findStateByName(He(e))??this.parentCtx?.findComponentRefByComponentName(e)}};function Nt(n,e){let r=[],i=[];return n.dependencies&&r.push(...n.dependencies),n.interfaceDependencies&&r.push(...n.interfaceDependencies),e.views&&i.push(...e.views),r.forEach(o=>{o.views&&i.push(...o.views)}),i}a(Nt,"collectTopLevelViews");function ce(n){return{name:n.name,typeAnnotation:n.__TypeAnnotation,defaultValue:n.defaultValue}}a(ce,"paramToIR");function Pt(n){if(e(n)||r(n)){if(r(n)){let i=E.CallFunction.from({calleeNamespace:"nasl.auth",calleeName:"has",arguments:[E.Argument.from({expression:new E.StringLiteral({value:n.viewElement.authPath})})]},n.parentNode,n.parentKey);return{__raw:n,concept:n.concept,expression:ue(i),kind:"if"}}else{let i=n.expression;if(i)return{__raw:n,concept:n.concept,expression:ue(i),kind:"if"};re.debug({nodePath:n.nodePath},"\u65E0expression\u7684directive\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E")}return}else return re.error({nodePath:n.nodePath},`\u9047\u5230\u4E86\u4E0D\u652F\u6301\u7684 directive: ${n.name}`),$(n);function e(i){return i.name==="if"}a(e,"isIfDirective");function r(i){return i.name==="auth"}a(r,"isAuthDirective")}a(Pt,"bindDirectiveToIR");function ue(n){return{expr:n,deps:[]}}a(ue,"exprToIR");function Pe(n){if(n.type===void 0&&n.name==="rules")return{kind:"validation-rules",concept:"BindAttribute",name:"rules",rules:n.rules,__raw:n};switch(n.type){case"string":{let e=E.StringLiteral.from({value:n.value});if(n.sync)throw re.error({nodePath:n.nodePath},"string\u4E0D\u53EF\u4E3Async"),new Error("string\u4E0D\u53EF\u4E3Async");return{__raw:n,concept:n.concept,kind:"expr",expression:ue(e),name:n.name,sync:!1}}case"static":case"dynamic":return n.type==="dynamic"&&(n.destination?n.expression=n.destination:n.externalDestination&&(n.expression=n.externalDestination,n.name="link")),{__raw:n,concept:n.concept,kind:"expr",expression:ue(n.expression),name:n.name,sync:n.sync??!1};case"component":return{kind:"render",concept:"BindAttribute",component:n.component,scopeVariable:n.scopeVariable,name:n.name};default:W(n)}}a(Pe,"bindAttrToIR");function ie(n){return{logic:n,deps:[]}}a(ie,"logicToLogicIR");function Rn(n,e){return ke(`${e??""}-${n}`)}a(Rn,"getHandlerName");function jt(n){return{value:"change",checked:"change"}[n]??`${n}-change`}a(jt,"inferChangeEventNameFromAttrName");function ye(n){return{__raw:n,logics:n.logics.map(ie),concept:n.concept,params:n.getContextLogicParams().map(ce),handlerName:Rn(n.name,n.parentNode?.name)}}a(ye,"bindViewElementEventToIR");function Me(n){return{__raw:n.__raw,logics:n.logics,deps:[],name:n.handlerName,params:n.params,kind:"standalone"}}a(Me,"bindEventToAction");var Cn="@lcap/pc-react-ui";function Ct(n){let e=n.tag;if(Pn(e)){let r=n?.app?.dependencies?.find(o=>o.frontends.some(s=>s.viewComponents.some(l=>l.name===e)));return e==="Router"?{kind:"library",libraryName:"react-router-dom",tag:"Outlet"}:{kind:"library",libraryName:r?`@extension/${r.name}`:Cn,tag:e}}else if(e){if(e.includes("-"))throw re.error({viewElement:(0,Fe.pick)(n,["name","concept","tag"]),nodePath:n.nodePath},"\u4E0D\u652F\u6301\u7684tag\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E"),new Error(`\u5B58\u5728\u810F\u6570\u636E: ${n.nodePath}`);return{kind:"library",libraryName:Cn,tag:e}}throw new Error("empty tag name!")}a(Ct,"getReferencedLibComponent");function Dt(n){n.attrs.flatMap(r=>{if(r.kind==="expr"&&r.sync){if(r.expression.expr)return[r];re.debug(`${r.__raw.nodePath}\u7684expression\u4E3A\u7A7A\uFF0C\u4F46\u4ECD\u4E3A\u53CC\u5411\u7ED1\u5B9A\u3002\u5DF2\u5FFD\u7565\u3002`)}return[]}).forEach(r=>{re.debug({x:r},"\u6784\u9020\u53CC\u5411\u7ED1\u5B9A\u7684handler");let i=u(),o=i.params.at(0),s=new E.Param({name:o?.name??"event"}),l=E.Logic.from({name:"_syncChange",body:[E.Assignment.from({left:r.expression.expr,right:s},r.__raw.parentNode,r.__raw.parentKey)],params:[s]});i.logics.unshift(ie(l)),o||i.params.push(ce(s));function u(){let h=jt(r.name),v=Rn(h,r.__raw.parentNode?.name);re.trace({targetEventName:h,targetHandlerName:v});let x=n.events.find(t=>t.handlerName===v);if(x)return x;let y=ye(E.BindEvent.from({logics:[],name:"change"},r.__raw.parentNode,"bindEvents"));return n.events.push(y),y}a(u,"findOrCreateBindEvent")})}a(Dt,"prependBindEventForSyncBindAttribute");function In(n){if(n.logics.length>1){let e=[],r=n.params.map(s=>E.Param.from(s)),i=n.logics.map(s=>{let l=`${n.name}_${s.logic.name}`,u=E.Logic.from({...s.logic.toJSON(),params:r,name:l},s.logic.parentNode,s.logic.parentKey);return ie(u)}),o=new ae({...n,logics:i});return e.push(o),i.forEach(s=>{let l=new ae({...n,name:s.logic.name,logics:[s],kind:"standalone"});e.push(l)}),e}else return[n]}a(In,"splitLogicsInActionToMultipleActions");function Rt(n){if(n.some(s=>s.kind!=="if"))throw re.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,...r]=n;if(!e)return n;let i=e.expression.expr;for(let s of r)i=E.BinaryExpression.from({left:i,operator:"&&",right:s.expression.expr},s.__raw.parentNode,s.__raw.parentKey);return[{kind:"if",concept:"BindDirective",expression:ue(i),__raw:e.__raw}]}a(Rt,"mergeMultipleIfDirectivesIntoConjunctiveNormalForm");function En(n,e){let r=e.bindAttrs.map(Pe),o={directives:Rt(e.bindDirectives.map(Pt).filter(V)),attrs:r,events:e.bindEvents.map(ye).filter(V),children:e.children.map(l=>En(n,l)),component:Ct(e),__raw:e,slot:{scope:e.slotScope||void 0,target:s(e.slotTarget)}};return Dt(o),o.events.forEach(l=>{let u=In(Me(l));for(let h of u)n.provideAction(h)}),o;function s(l){if(!(l==="default"||l===""))return l}a(s,"normalizeSlotTarget")}a(En,"extractAsComponentInstanceIR");function It(n){let e=[],r=[];return n.variables.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"static",value:ue(Sn(o))},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),n.bindEvents.forEach(o=>{let s=new ae({__raw:o,logics:o.logics.map(ie),deps:[],name:o.name,params:o.getContextLogicParams().map(ce),kind:"view-lifecycle"}),l=In(s);r.push(...l)}),n.logics.forEach(o=>{r.push(new ae({__raw:o,deps:[],name:o.name,params:o.params.map(ce),logics:[o].map(ie),kind:"standalone"}))}),n.params.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"url-param",__raw:ce(o),defaultValue:o.defaultValue?.expression?ue(o.defaultValue.expression):void 0},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),{consumedStateNames:[],providedStates:e,actions:r}}a(It,"collectStatesAndActionsFromView");function Et(n){return n.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:"genInitFromSchema",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useGenInitFromSchema"}})}a(Et,"enhanceStateContext");function Je(n,e){if(e&&wn(e)){let r=bn(e);if(!r)return;let i=n.findComponentRefByComponentName(r);if(i)return i;let s={kind:"standalone",identifier:He(r),initialization:{kind:"component-ref",componentName:r},typeAnnotation:null};return n.provide(s),s}}a(Je,"provideAsComponentRefIfOk");function Lt(n){let e=new Se([],[],[],null);return Et(e)}a(Lt,"makeBaseCtx");var Te="apiClient";function Ft(n,e){return e.provide({kind:"tree",identifier:Te,initialization:{kind:"api-client"},typeAnnotation:null}),n.map(ie)}a(Ft,"collectApis");function Mt(n){return n.dependencies.map(r=>{if(!(0,_.isConnector)(r)&&r.frontends?.length)return r}).filter(V)}a(Mt,"collectFrontendExtensionModules");function Tt(n,e,r){let i=Nt(n,e);return s(i,r);function s(l,u){return l.map(h=>{let v=s(h.children,u),{providedStates:x,actions:y}=It(h),t=new Se(x,[],y,u);k(t);let b=h.elements.map(p=>En(t,p));return c(b),{__raw:h,childComponents:v,stateContext:t,identifier:h.name,elements:b};function k(p){h.traverseStrictChildren(m=>{if((0,Fe.isObject)(m)&&"playground"in m&&(m.playground=[]),(0,_.isMemberExpression)(m)){if((0,_.isIdentifier)(m.object)&&(0,_.isIdentifier)(m.property)&&m.object.name==="elements"&&m.property.name==="$ce"){let w=m.getAncestor("ViewElement");if(w){let f=`elements.${w.name}`,g=Je(p,f);g&&(m.emit=()=>{},m.parentNode&&(m.parentNode.emit=()=>{}),m.replaceNode({name:g.identifier,concept:"Identifier"}))}}else if((0,_.isIdentifier)(m.object)&&m.object.namespace==="elements.$ce.property"){let w=m.getAncestor("ViewElement");if(w){let f=`elements.${w.name}`,g=Je(p,f);g&&(m.object=new E.Identifier({name:g.identifier}))}}}else if((0,_.isCallLogic)(m)){let w=Je(p,m.calleeNamespace);w&&(m.calleeNamespace=w.identifier)}})}a(k,"resolveComponentRef");function c(p){p.forEach(m=>{let w=t.findComponentRefByComponentName(m.__raw.name);if(w){let f=Pe(new E.BindAttribute({name:"ref",type:"dynamic",expression:new E.Identifier({name:w.identifier})}));m.attrs.push(f)}c(m.children)})}a(c,"recursivelyBindRefAttrIfNecessary")})}}a(Tt,"collectAllViews");var re=P("IR builder"),Ne=class{static{a(this,"NASLAppIRBuilderPlugin")}buildIR(e,r,i){let o=Lt(r.variables),s=Ft(e.logics,o),l=Tt(e,r,o);return{baseCtx:o,configs:u(),apis:s,views:l,packages:h()};function u(){let x={...Ae.functions}.makeBasePlatformConfig(e,r,i),y=(0,E.genMetaData)(e,r,i),t=r.bindEvents.map(ye).filter(V);return{config:i,basePlatformConfig:x,events:t,metaData:y,globalVariables:r.variables,themeCSS:r.genThemeCSS(),document:{icon:r.documentIcon}}}function h(){let v=Mt(e).map(x=>({kind:"extension",name:x.name,version:x.version,hasCss:!0}));return re.debug({extensionPackages:v}),[...v,{kind:"standard",name:"@lcap/pc-react-ui",version:"1.0.0"}]}}};Ne=St([(0,Dn.injectable)()],Ne);var I=require("@lcap/nasl"),d=require("@lcap/nasl/out/concepts/utils/asserts"),Ln=he(require("json5")),Fn=require("lodash");var Xe={required:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",filled:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",notEmpty:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",empty:"\u8868\u5355\u9879\u5FC5\u987B\u4E3A\u7A7A",minLength:"\u4E0D\u5F97\u5C11\u4E8E{args}\u4E2A\u5B57\u7B26",maxLength:"\u4E0D\u5F97\u8D85\u8FC7{args}\u4E2A\u5B57\u7B26",rangeLength:"\u8BF7\u8F93\u5165{args}-{args}\u4E2A\u5B57\u7B26",min:"\u4E0D\u80FD\u5C0F\u4E8E{args}",max:"\u4E0D\u80FD\u5927\u4E8E{args}",range:"\u8303\u56F4\u5728{args}-{args}\u4E4B\u95F4",pattern:"\u8868\u5355\u9879\u683C\u5F0F\u4E0D\u6B63\u786E",is:"\u5FC5\u987B\u4E0E{args}\u76F8\u540C",isNot:"\u5FC5\u987B\u4E0E{args}\u4E0D\u540C",equals:"\u5FC5\u987B\u7B49\u4E8E{args}",notEquals:"\u5FC5\u987B\u4E0D\u7B49\u4E8E{args}",confirmed:"\u4E24\u6B21\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u4E00\u81F4",includes:"\u5FC5\u987B\u5305\u542B{args}",excludes:"\u4E0D\u80FD\u5305\u542B{args}",included:"\u5FC5\u987B\u4E3A{args}\u4E2D\u7684\u503C",excluded:"\u4E0D\u80FD\u4E3A{args}\u4E2D\u7684\u503C",unique:"\u8BE5\u8868\u5355\u9879\u5DF2\u7ECF\u5B58\u5728",noDuplicates:"\u4E0D\u80FD\u51FA\u73B0\u91CD\u590D\u9879",string:"\u8BF7\u8F93\u5165\u5B57\u7B26\u4E32",number:"\u8BF7\u8F93\u5165\u6570\u5B57",numeric:"\u8BF7\u8F93\u5165\u6570\u5B57",integer:"\u8BF7\u8F93\u5165\u6574\u6570",decimal:"\u8BF7\u8F93\u5165\u6B63\u786E\u683C\u5F0F\u7684\u5C0F\u6570",boolean:"\u5FC5\u987B\u4E3A\u5E03\u5C14\u7C7B\u578B",function:"\u5FC5\u987B\u4E3A\u51FD\u6570",object:"\u5FC5\u987B\u4E3A\u5BF9\u8C61",plainObject:"\u5FC5\u987B\u4E3A\u7B80\u5355\u5BF9\u8C61",array:"\u5FC5\u987B\u4E3A\u6570\u7EC4",alpha:"\u8BF7\u8F93\u5165\u5B57\u6BCD",alphaNum:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u6216\u6570\u5B57",alphaDash:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u6216\u4E0B\u5212\u7EBF",alphaNumDash:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF",alphaSpaces:"\u4EE5\u5B57\u6BCD\u6216\u7A7A\u683C\u7EC4\u6210",lowerCase:"\u4E0D\u80FD\u51FA\u73B0\u5927\u5199\u5B57\u6BCD",upperCase:"\u4E0D\u80FD\u51FA\u73B0\u5C0F\u5199\u5B57\u6BCD","^az":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u5F00\u5934","^az09":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934","^az09_":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u5F00\u5934","^azAZ":"\u4EE5\u5B57\u6BCD\u5F00\u5934","^azAZ09":"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934","^azAZ09_":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u5F00\u5934",az09$:"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u7ED3\u5C3E",azAZ09$:"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u7ED3\u5C3E","^09$":"\u4EE5\u6570\u5B57\u7EC4\u6210","^az09$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u7EC4\u6210","^az09-$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E2D\u5212\u7EBF\u7EC4\u6210","^az09-.$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'.'\u7EC4\u6210","^azAZ09$":"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u7EC4\u6210","^azAZ09-$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216'-'\u7EC4\u6210","^az09-_$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'_'\u7EC4\u6210","^azAZ09_$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216'_'\u7EC4\u6210","^azAZ09-_$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'_'\u7EC4\u6210","without--":"\u4E0D\u80FD\u8FDE\u7EED\u51FA\u73B0\u4E2D\u5212\u7EBF",without__:"\u4E0D\u80FD\u8FDE\u7EED\u51FA\u73B0\u4E0B\u5212\u7EBF",email:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u90AE\u7BB1",ip:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 IP",ipRange:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 IP \u6BB5",port:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u7AEF\u53E3",url:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 URL",macAddress:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 MAC \u5730\u5740",md5:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 MD5",ascii:"\u5FC5\u987B\u4E3A ASCII",base32:"\u5FC5\u987B\u4E3A base32 \u7F16\u7801",base64:"\u5FC5\u987B\u4E3A base64 \u7F16\u7801",byteLength:"\u5B57\u8282\u957F\u5EA6\u4E0D\u5728\u6307\u5B9A\u8303\u56F4\u5185",dataURI:"\u5FC5\u987B\u4E3A DataURI \u7F16\u7801",magnetURI:"\u5FC5\u987B\u4E3A MagnetURI \u7F16\u7801",divisibleBy:"\u5FC5\u987B\u88AB{args}\u6574\u9664",fullWidth:"\u5FC5\u987B\u8F93\u5165\u5168\u89D2\u5B57\u7B26",halfWidth:"\u5FC5\u987B\u8F93\u5165\u534A\u89D2\u5B57\u7B26",hash:"\u54C8\u5E0C\u7F16\u7801\u4E0D\u7B26\u5408{args}\u7B97\u6CD5",hexColor:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u5341\u516D\u8FDB\u5236\u989C\u8272\u503C",hex:"\u8BF7\u8F93\u5165\u5341\u516D\u8FDB\u5236\u6570",identityCard:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u8EAB\u4EFD\u8BC1\u53F7\u7801",creditCard:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u4FE1\u7528\u5361\u53F7",fqdn:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u5168\u9650\u5B9A\u57DF\u540D",ipOrFQDN:"\u8BF7\u8F93\u5165\u4E00\u4E2A\u5408\u6CD5 IP \u6216\u5168\u9650\u5B9A\u57DF\u540D",isbn:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u6807\u51C6\u4E66\u53F7",issn:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u6807\u51C6\u8FDE\u7EED\u51FA\u7248\u7269\u7F16\u53F7",isin:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u8BC1\u5238\u8BC6\u522B\u7801",iso8601:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO8601 \u65E5\u671F\u683C\u5F0F",rfc3339:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 RFC3339 \u65E5\u671F\u683C\u5F0F",iso31661Alpha2:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO 3166-1 Alpha-2 \u56FD\u5BB6\u4EE3\u7801",iso31661Alpha3:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO 3166-1 Alpha-3 \u56FD\u5BB6\u4EE3\u7801",json:"\u5FC5\u987B\u4E3A JSON \u683C\u5F0F\u5B57\u7B26\u4E32",jwt:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 JSON Web Token",latLong:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u7ECF\u7EAC\u5EA6\u5750\u6807\uFF0C\u5982 (-17.738223, 85.605469)",mobile:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u624B\u673A\u53F7\u7801",mongoId:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684 MongoDB \u5BF9\u8C61 ID",postalCode:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u90AE\u653F\u7F16\u7801",uuid:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684 UUID",chinese:"\u8BF7\u8F93\u5165\u4E2D\u6587\u5185\u5BB9"};var Oe=P("JavaScriptCodeGen");function Q(n,e){return r(o(n));function r(t){return(0,d.isLogicItem)(t)?y(t):(0,d.isLogic)(t)?l(t):u(t)}function i(t){let b=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:k,typeKind:c,typeName:p,typeNamespace:m}=b||{};if(m?.endsWith(".metadataTypes")){let f=t.app.findNodeByCompleteName(m+"."+p)?.typeAnnotation;f&&(k=`${f.typeNamespace}.${f.typeName}`,c=f.typeKind,p=f.typeName)}if(b&&(!["primitive","union"].includes(c??"")||p==="DateTime")){let f=r(t);return I.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new I.Argument({expression:new I.StringLiteral({value:k})}),new I.Argument({expression:new I.Unparsed({code:f})})]},t.parentNode,t.parentKey)}return t}function o(t){return(0,d.isCallFunction)(t)||(0,d.isCallLogic)(t)||(0,d.isNewComposite)(t)||(0,d.isDefaultValue)(t)?i(t):t}function s(t){return`(${k()})=>(${b()})`;function b(){let c=t.logics[0];return Q(c,e)}function k(){return t.params.map(c=>c.name).toString()}}function l(t){let b="async (";return Array.isArray(t.params)&&(b+=t.params.map(k=>k.name).toString()),b+=") => {",Array.isArray(t.params)&&t.params.forEach(k=>{let c=Q(k,e);k.name!==c&&(b+=`${k.name} = ${c};
|
|
4746
|
+
`}},environment:"vanilla"};var st=require("inversify");var zr=require("@abraham/reflection"),E=require("@lcap/nasl"),_=require("@lcap/nasl/out/concepts/utils/asserts"),Dn=require("inversify"),Fe=require("lodash");var ae=class{static{a(this,"StateActionIR")}__raw;deps;params;logics;name;kind;constructor(e){Object.assign(this,e)}};function V(n){return n!=null}a(V,"isNotNil");function hn(n){return Array.isArray(n)?n:[n]}a(hn,"ensureArray");function yn(){throw new Error("todo")}a(yn,"todo");function $(n){let e=n?JSON.stringify(n):String(n);throw new Error(`not implemented for ${e}`)}a($,"notImplemented");function G(n){let e=n?JSON.stringify(n):String(n);throw new Error(`never implemented for ${e}. Should never be here!`)}a(G,"neverImplemented");function W(n){throw new Error(`assertNever failed: ${n}`)}a(W,"assertNever");var wn=a(n=>n.startsWith("elements."),"isNameAElementRef"),bn=a(n=>n.split(".").at(1),"extractComponentNameFromElementRefName"),He=a(n=>`${n}Ref`,"componentNameToRefName");function qe(n){return n.kind==="library"}a(qe,"isComponentFromLib");function vn(n){return n.tag==="template"}a(vn,"isReferencedComponentATemplate");var xn=require("lodash"),kn=he(require("pino"));var xt=process.env.LOG_LEVEL||"info",kt=(0,kn.default)({level:xt,transport:{target:"pino-pretty",options:{colorize:!0}}});function P(n){return kt.child({},{msgPrefix:`[${n}] `})}a(P,"Logger");function An(n){if(!(0,xn.isFunction)(n))throw new Error;let e=n.name,r=Object.getOwnPropertyNames(n.prototype),i=P(e);return r.forEach(o=>{let s=n.prototype[o];n.prototype[o]=function(...l){return i.trace({method:o,args:l}),s.apply(this,l)}}),n}a(An,"logging");var te=require("@lcap/nasl");function We(n,e){let r=n?.split(".")||[],o=r[0]==="app"?1:0;return r.findIndex((s,l)=>l%2===o?s===e:!1)}a(We,"findConceptKeyWordIndexFromNamespace");function Sn(n){let e=n.typeAnnotation||n.__TypeAnnotation,{sortedTypeKey:r,typeKind:i,typeName:o,typeNamespace:s}=e||{};if(s?.endsWith(".metadataTypes")){let x=(n.app.findNodeByCompleteName(s+"."+o)||{}).typeAnnotation||{};r=`${x.typeNamespace}.${x.typeName}`,i=x.typeKind,o=x.typeName}let l=e&&(!["primitive","union"].includes(i)||o==="DateTime"),u=n.defaultValue?.expression?n.defaultValue.expression:new te.Unparsed({code:void 0});return l?te.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new te.Argument({expression:new te.StringLiteral({value:r})}),new te.Argument({expression:u})]},n.parentNode,n.parentKey):u}a(Sn,"prepareVariableDefaultValue");var Nn=require("@lcap/nasl/out/utils/string");var ke=a(n=>n.replaceAll("_","-").replace(/(?:-)([a-zA-Z0-9])/g,(e,r)=>r.toUpperCase()),"trueKebab2Camel"),de=a(n=>(0,Nn.firstUpperCase)(ke(n)),"kebab2Pascal");function Pn(n){return/^[A-Z]/.test(n)}a(Pn,"startsWithUpperCase");function jn(n){return V(n)&&n!==""}a(jn,"isNotEmptyString");function M({name:n,functions:e}){return{name:n,functions:e}}a(M,"makePlugin");var At={enabled:!1,locale:"zh-CN",messages:{},I18nList:[]},Ae=M({name:"MetadataPlugin",functions:{makeBasePlatformConfig(n,e,r){let i=r?.lowcodeDomain,o=r?.envNuimsDomain?.[r?.env]||r?.nuimsDomain,s=r?.envLcpDomain?.[r?.env]?.lcpDomain||r?.lowcodeDomain;return{appConfig:{project:n.name,domainName:n.name,nuimsDomain:o,lowcodeDomain:i,envNuimsDomain:r.envNuimsDomain,tenantType:r.tenantType,tenantLevel:r.tenantLevel,extendedConfig:r.extendedConfig,envConfig:{lowcodeDomain:s},tenant:r.tenant,documentTitle:e.documentTitle,i18nInfo:At},dnsAddr:n.dnsAddr,tenant:r.tenant,env:r.env,hasUserCenter:n.hasUserCenter,hasAuth:n.hasAuth,basePath:e.prefixPath,sysPrefixPath:n.sysPrefixPath,frontendName:e.name}}}});function St(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(St,"_ts_decorate");var Se=class n{static{a(this,"StateContextIR")}providedStates;consumedStateNames;actions;parentCtx;constructor(e,r,i,o){this.providedStates=e,this.consumedStateNames=r,this.actions=i,this.parentCtx=o}recursivelyExtractTreeStates(){return[...this.providedStates.filter(e=>e.kind==="tree"),...this.parentCtx?.recursivelyExtractTreeStates()??[]]}resolveExprToString(e,r,i){return r.printSyntaxNode(e,{resolve({kind:o,value:s}){switch(o){case"calleeNamespace":return i.resolveCalleeNamespace(s);case"identifier":return i.resolveIdentifier(s)}}})}static fromParent(e){return new n([],[],[],e)}provide(e){return this.providedStates.push(e),this}provideAction(e){return this.actions.push(e),this}findStateByName(e){return this.providedStates.find(r=>r.identifier===e)??this.parentCtx?.findStateByName(e)}findActionByName(e){return this.actions.find(r=>r.name===e)??this.parentCtx?.findActionByName(e)}findComponentRefByComponentName(e){return this.findStateByName(He(e))??this.parentCtx?.findComponentRefByComponentName(e)}};function Nt(n,e){let r=[],i=[];return n.dependencies&&r.push(...n.dependencies),n.interfaceDependencies&&r.push(...n.interfaceDependencies),e.views&&i.push(...e.views),r.forEach(o=>{o.views&&i.push(...o.views)}),i}a(Nt,"collectTopLevelViews");function ce(n){return{name:n.name,typeAnnotation:n.__TypeAnnotation,defaultValue:n.defaultValue}}a(ce,"paramToIR");function Pt(n){if(e(n)||r(n)){if(r(n)){let i=E.CallFunction.from({calleeNamespace:"nasl.auth",calleeName:"has",arguments:[E.Argument.from({expression:new E.StringLiteral({value:n.viewElement.authPath})})]},n.parentNode,n.parentKey);return{__raw:n,concept:n.concept,expression:ue(i),kind:"if"}}else{let i=n.expression;if(i)return{__raw:n,concept:n.concept,expression:ue(i),kind:"if"};re.debug({nodePath:n.nodePath},"\u65E0expression\u7684directive\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E")}return}else return re.error({nodePath:n.nodePath},`\u9047\u5230\u4E86\u4E0D\u652F\u6301\u7684 directive: ${n.name}`),$(n);function e(i){return i.name==="if"}a(e,"isIfDirective");function r(i){return i.name==="auth"}a(r,"isAuthDirective")}a(Pt,"bindDirectiveToIR");function ue(n){return{expr:n,deps:[]}}a(ue,"exprToIR");function Pe(n){if(n.type===void 0&&n.name==="rules")return{kind:"validation-rules",concept:"BindAttribute",name:"rules",rules:n.rules,__raw:n};switch(n.type){case"string":{let e=E.StringLiteral.from({value:n.value});if(n.sync)throw re.error({nodePath:n.nodePath},"string\u4E0D\u53EF\u4E3Async"),new Error("string\u4E0D\u53EF\u4E3Async");return{__raw:n,concept:n.concept,kind:"expr",expression:ue(e),name:n.name,sync:!1}}case"static":case"dynamic":return n.type==="dynamic"&&(n.destination?n.expression=n.destination:n.externalDestination&&(n.expression=n.externalDestination,n.name="link")),{__raw:n,concept:n.concept,kind:"expr",expression:ue(n.expression),name:n.name,sync:n.sync??!1};case"component":return{kind:"render",concept:"BindAttribute",component:n.component,scopeVariable:n.scopeVariable,name:n.name};default:W(n)}}a(Pe,"bindAttrToIR");function ie(n){return{logic:n,deps:[]}}a(ie,"logicToLogicIR");function Rn(n,e){return ke(`${e??""}-${n}`)}a(Rn,"getHandlerName");function jt(n){return{value:"change",checked:"change"}[n]??`${n}-change`}a(jt,"inferChangeEventNameFromAttrName");function ye(n){return{__raw:n,logics:n.logics.map(ie),concept:n.concept,params:n.getContextLogicParams().map(ce),handlerName:Rn(n.name,n.parentNode?.name)}}a(ye,"bindViewElementEventToIR");function Me(n){return{__raw:n.__raw,logics:n.logics,deps:[],name:n.handlerName,params:n.params,kind:"standalone"}}a(Me,"bindEventToAction");var Cn="@lcap/pc-react-ui";function Ct(n){let e=n.tag;if(Pn(e)){let r=n?.app?.dependencies?.find(o=>o.frontends.some(s=>s.viewComponents.some(l=>l.name===e)));return e==="Router"?{kind:"library",libraryName:"react-router-dom",tag:"Outlet"}:{kind:"library",libraryName:r?`@extension/${r.name}`:Cn,tag:e}}else if(e){if(e.includes("-"))throw re.error({viewElement:(0,Fe.pick)(n,["name","concept","tag"]),nodePath:n.nodePath},"\u4E0D\u652F\u6301\u7684tag\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E"),new Error(`\u5B58\u5728\u810F\u6570\u636E: ${n.nodePath}`);return{kind:"library",libraryName:Cn,tag:e}}throw new Error("empty tag name!")}a(Ct,"getReferencedLibComponent");function Dt(n){n.attrs.flatMap(r=>{if(r.kind==="expr"&&r.sync){if(r.expression.expr)return[r];re.debug(`${r.__raw.nodePath}\u7684expression\u4E3A\u7A7A\uFF0C\u4F46\u4ECD\u4E3A\u53CC\u5411\u7ED1\u5B9A\u3002\u5DF2\u5FFD\u7565\u3002`)}return[]}).forEach(r=>{re.debug({x:r},"\u6784\u9020\u53CC\u5411\u7ED1\u5B9A\u7684handler");let i=u(),o=i.params.at(0),s=new E.Param({name:o?.name??"event"}),l=E.Logic.from({name:"_syncChange",body:[E.Assignment.from({left:r.expression.expr,right:s},r.__raw.parentNode,r.__raw.parentKey)],params:[s]});i.logics.unshift(ie(l)),o||i.params.push(ce(s));function u(){let g=jt(r.name),x=Rn(g,r.__raw.parentNode?.name);re.trace({targetEventName:g,targetHandlerName:x});let v=n.events.find(t=>t.handlerName===x);if(v)return v;let y=ye(E.BindEvent.from({logics:[],name:"change"},r.__raw.parentNode,"bindEvents"));return n.events.push(y),y}a(u,"findOrCreateBindEvent")})}a(Dt,"prependBindEventForSyncBindAttribute");function In(n){if(n.logics.length>1){let e=[],r=n.params.map(s=>E.Param.from(s)),i=n.logics.map(s=>{let l=`${n.name}_${s.logic.name}`,u=E.Logic.from({...s.logic.toJSON(),params:r,name:l},s.logic.parentNode,s.logic.parentKey);return ie(u)}),o=new ae({...n,logics:i});return e.push(o),i.forEach(s=>{let l=new ae({...n,name:s.logic.name,logics:[s],kind:"standalone"});e.push(l)}),e}else return[n]}a(In,"splitLogicsInActionToMultipleActions");function Rt(n){if(n.some(s=>s.kind!=="if"))throw re.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,...r]=n;if(!e)return n;let i=e.expression.expr;for(let s of r)i=E.BinaryExpression.from({left:i,operator:"&&",right:s.expression.expr},s.__raw.parentNode,s.__raw.parentKey);return[{kind:"if",concept:"BindDirective",expression:ue(i),__raw:e.__raw}]}a(Rt,"mergeMultipleIfDirectivesIntoConjunctiveNormalForm");function En(n,e){let r=e.bindAttrs.map(Pe),o={directives:Rt(e.bindDirectives.map(Pt).filter(V)),attrs:r,events:e.bindEvents.map(ye).filter(V),children:e.children.map(l=>En(n,l)),component:Ct(e),__raw:e,slot:{scope:e.slotScope||void 0,target:s(e.slotTarget)}};return Dt(o),o.events.forEach(l=>{let u=In(Me(l));for(let g of u)n.provideAction(g)}),o;function s(l){if(!(l==="default"||l===""))return l}a(s,"normalizeSlotTarget")}a(En,"extractAsComponentInstanceIR");function It(n){let e=[],r=[];return n.variables.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"static",value:ue(Sn(o))},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),n.bindEvents.forEach(o=>{let s=new ae({__raw:o,logics:o.logics.map(ie),deps:[],name:o.name,params:o.getContextLogicParams().map(ce),kind:"view-lifecycle"}),l=In(s);r.push(...l)}),n.logics.forEach(o=>{r.push(new ae({__raw:o,deps:[],name:o.name,params:o.params.map(ce),logics:[o].map(ie),kind:"standalone"}))}),n.params.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"url-param",__raw:ce(o),defaultValue:o.defaultValue?.expression?ue(o.defaultValue.expression):void 0},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),{consumedStateNames:[],providedStates:e,actions:r}}a(It,"collectStatesAndActionsFromView");function Et(n){return n.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:"genInitFromSchema",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useGenInitFromSchema"}})}a(Et,"enhanceStateContext");function Je(n,e){if(e&&wn(e)){let r=bn(e);if(!r)return;let i=n.findComponentRefByComponentName(r);if(i)return i;let s={kind:"standalone",identifier:He(r),initialization:{kind:"component-ref",componentName:r},typeAnnotation:null};return n.provide(s),s}}a(Je,"provideAsComponentRefIfOk");function Lt(n){let e=new Se([],[],[],null);return Et(e)}a(Lt,"makeBaseCtx");var Te="apiClient";function Ft(n,e){return e.provide({kind:"tree",identifier:Te,initialization:{kind:"api-client"},typeAnnotation:null}),n.map(ie)}a(Ft,"collectApis");function Mt(n){return n.dependencies.map(r=>{if(!(0,_.isConnector)(r)&&r.frontends?.length)return r}).filter(V)}a(Mt,"collectFrontendExtensionModules");function Tt(n,e,r){let i=Nt(n,e);return s(i,r);function s(l,u){return l.map(g=>{let x=s(g.children,u),{providedStates:v,actions:y}=It(g),t=new Se(v,[],y,u);k(t);let b=g.elements.map(p=>En(t,p));return c(b),{__raw:g,childComponents:x,stateContext:t,identifier:g.name,elements:b};function k(p){g.traverseStrictChildren(m=>{if((0,Fe.isObject)(m)&&"playground"in m&&(m.playground=[]),(0,_.isMemberExpression)(m)){if((0,_.isIdentifier)(m.object)&&(0,_.isIdentifier)(m.property)&&m.object.name==="elements"&&m.property.name==="$ce"){let w=m.getAncestor("ViewElement");if(w){let f=`elements.${w.name}`,h=Je(p,f);h&&(m.emit=()=>{},m.parentNode&&(m.parentNode.emit=()=>{}),m.replaceNode({name:h.identifier,concept:"Identifier"}))}}else if((0,_.isIdentifier)(m.object)&&m.object.namespace==="elements.$ce.property"){let w=m.getAncestor("ViewElement");if(w){let f=`elements.${w.name}`,h=Je(p,f);h&&(m.object=new E.Identifier({name:h.identifier}))}}}else if((0,_.isCallLogic)(m)){let w=Je(p,m.calleeNamespace);w&&(m.calleeNamespace=w.identifier)}})}a(k,"resolveComponentRef");function c(p){p.forEach(m=>{let w=t.findComponentRefByComponentName(m.__raw.name);if(w){let f=Pe(new E.BindAttribute({name:"ref",type:"dynamic",expression:new E.Identifier({name:w.identifier})}));m.attrs.push(f)}c(m.children)})}a(c,"recursivelyBindRefAttrIfNecessary")})}}a(Tt,"collectAllViews");var re=P("IR builder"),Ne=class{static{a(this,"NASLAppIRBuilderPlugin")}buildIR(e,r,i){let o=Lt(r.variables),s=Ft(e.logics,o),l=Tt(e,r,o);return{baseCtx:o,configs:u(),apis:s,views:l,packages:g()};function u(){let v={...Ae.functions}.makeBasePlatformConfig(e,r,i),y=(0,E.genMetaData)(e,r,i),t=r.bindEvents.map(ye).filter(V);return{config:i,basePlatformConfig:v,events:t,metaData:y,globalVariables:r.variables,themeCSS:r.genThemeCSS(),document:{icon:r.documentIcon}}}function g(){let x=Mt(e).map(v=>({kind:"extension",name:v.name,version:v.version,hasCss:!0}));return re.debug({extensionPackages:x}),[...x,{kind:"standard",name:"@lcap/pc-react-ui",version:"1.0.0"}]}}};Ne=St([(0,Dn.injectable)()],Ne);var I=require("@lcap/nasl"),d=require("@lcap/nasl/out/concepts/utils/asserts"),Ln=he(require("json5")),Fn=require("lodash");var Xe={required:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",filled:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",notEmpty:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",empty:"\u8868\u5355\u9879\u5FC5\u987B\u4E3A\u7A7A",minLength:"\u4E0D\u5F97\u5C11\u4E8E{args}\u4E2A\u5B57\u7B26",maxLength:"\u4E0D\u5F97\u8D85\u8FC7{args}\u4E2A\u5B57\u7B26",rangeLength:"\u8BF7\u8F93\u5165{args}-{args}\u4E2A\u5B57\u7B26",min:"\u4E0D\u80FD\u5C0F\u4E8E{args}",max:"\u4E0D\u80FD\u5927\u4E8E{args}",range:"\u8303\u56F4\u5728{args}-{args}\u4E4B\u95F4",pattern:"\u8868\u5355\u9879\u683C\u5F0F\u4E0D\u6B63\u786E",is:"\u5FC5\u987B\u4E0E{args}\u76F8\u540C",isNot:"\u5FC5\u987B\u4E0E{args}\u4E0D\u540C",equals:"\u5FC5\u987B\u7B49\u4E8E{args}",notEquals:"\u5FC5\u987B\u4E0D\u7B49\u4E8E{args}",confirmed:"\u4E24\u6B21\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u4E00\u81F4",includes:"\u5FC5\u987B\u5305\u542B{args}",excludes:"\u4E0D\u80FD\u5305\u542B{args}",included:"\u5FC5\u987B\u4E3A{args}\u4E2D\u7684\u503C",excluded:"\u4E0D\u80FD\u4E3A{args}\u4E2D\u7684\u503C",unique:"\u8BE5\u8868\u5355\u9879\u5DF2\u7ECF\u5B58\u5728",noDuplicates:"\u4E0D\u80FD\u51FA\u73B0\u91CD\u590D\u9879",string:"\u8BF7\u8F93\u5165\u5B57\u7B26\u4E32",number:"\u8BF7\u8F93\u5165\u6570\u5B57",numeric:"\u8BF7\u8F93\u5165\u6570\u5B57",integer:"\u8BF7\u8F93\u5165\u6574\u6570",decimal:"\u8BF7\u8F93\u5165\u6B63\u786E\u683C\u5F0F\u7684\u5C0F\u6570",boolean:"\u5FC5\u987B\u4E3A\u5E03\u5C14\u7C7B\u578B",function:"\u5FC5\u987B\u4E3A\u51FD\u6570",object:"\u5FC5\u987B\u4E3A\u5BF9\u8C61",plainObject:"\u5FC5\u987B\u4E3A\u7B80\u5355\u5BF9\u8C61",array:"\u5FC5\u987B\u4E3A\u6570\u7EC4",alpha:"\u8BF7\u8F93\u5165\u5B57\u6BCD",alphaNum:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u6216\u6570\u5B57",alphaDash:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u6216\u4E0B\u5212\u7EBF",alphaNumDash:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF",alphaSpaces:"\u4EE5\u5B57\u6BCD\u6216\u7A7A\u683C\u7EC4\u6210",lowerCase:"\u4E0D\u80FD\u51FA\u73B0\u5927\u5199\u5B57\u6BCD",upperCase:"\u4E0D\u80FD\u51FA\u73B0\u5C0F\u5199\u5B57\u6BCD","^az":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u5F00\u5934","^az09":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934","^az09_":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u5F00\u5934","^azAZ":"\u4EE5\u5B57\u6BCD\u5F00\u5934","^azAZ09":"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934","^azAZ09_":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u5F00\u5934",az09$:"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u7ED3\u5C3E",azAZ09$:"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u7ED3\u5C3E","^09$":"\u4EE5\u6570\u5B57\u7EC4\u6210","^az09$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u7EC4\u6210","^az09-$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E2D\u5212\u7EBF\u7EC4\u6210","^az09-.$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'.'\u7EC4\u6210","^azAZ09$":"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u7EC4\u6210","^azAZ09-$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216'-'\u7EC4\u6210","^az09-_$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'_'\u7EC4\u6210","^azAZ09_$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216'_'\u7EC4\u6210","^azAZ09-_$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'_'\u7EC4\u6210","without--":"\u4E0D\u80FD\u8FDE\u7EED\u51FA\u73B0\u4E2D\u5212\u7EBF",without__:"\u4E0D\u80FD\u8FDE\u7EED\u51FA\u73B0\u4E0B\u5212\u7EBF",email:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u90AE\u7BB1",ip:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 IP",ipRange:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 IP \u6BB5",port:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u7AEF\u53E3",url:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 URL",macAddress:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 MAC \u5730\u5740",md5:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 MD5",ascii:"\u5FC5\u987B\u4E3A ASCII",base32:"\u5FC5\u987B\u4E3A base32 \u7F16\u7801",base64:"\u5FC5\u987B\u4E3A base64 \u7F16\u7801",byteLength:"\u5B57\u8282\u957F\u5EA6\u4E0D\u5728\u6307\u5B9A\u8303\u56F4\u5185",dataURI:"\u5FC5\u987B\u4E3A DataURI \u7F16\u7801",magnetURI:"\u5FC5\u987B\u4E3A MagnetURI \u7F16\u7801",divisibleBy:"\u5FC5\u987B\u88AB{args}\u6574\u9664",fullWidth:"\u5FC5\u987B\u8F93\u5165\u5168\u89D2\u5B57\u7B26",halfWidth:"\u5FC5\u987B\u8F93\u5165\u534A\u89D2\u5B57\u7B26",hash:"\u54C8\u5E0C\u7F16\u7801\u4E0D\u7B26\u5408{args}\u7B97\u6CD5",hexColor:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u5341\u516D\u8FDB\u5236\u989C\u8272\u503C",hex:"\u8BF7\u8F93\u5165\u5341\u516D\u8FDB\u5236\u6570",identityCard:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u8EAB\u4EFD\u8BC1\u53F7\u7801",creditCard:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u4FE1\u7528\u5361\u53F7",fqdn:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u5168\u9650\u5B9A\u57DF\u540D",ipOrFQDN:"\u8BF7\u8F93\u5165\u4E00\u4E2A\u5408\u6CD5 IP \u6216\u5168\u9650\u5B9A\u57DF\u540D",isbn:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u6807\u51C6\u4E66\u53F7",issn:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u6807\u51C6\u8FDE\u7EED\u51FA\u7248\u7269\u7F16\u53F7",isin:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u8BC1\u5238\u8BC6\u522B\u7801",iso8601:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO8601 \u65E5\u671F\u683C\u5F0F",rfc3339:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 RFC3339 \u65E5\u671F\u683C\u5F0F",iso31661Alpha2:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO 3166-1 Alpha-2 \u56FD\u5BB6\u4EE3\u7801",iso31661Alpha3:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO 3166-1 Alpha-3 \u56FD\u5BB6\u4EE3\u7801",json:"\u5FC5\u987B\u4E3A JSON \u683C\u5F0F\u5B57\u7B26\u4E32",jwt:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 JSON Web Token",latLong:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u7ECF\u7EAC\u5EA6\u5750\u6807\uFF0C\u5982 (-17.738223, 85.605469)",mobile:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u624B\u673A\u53F7\u7801",mongoId:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684 MongoDB \u5BF9\u8C61 ID",postalCode:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u90AE\u653F\u7F16\u7801",uuid:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684 UUID",chinese:"\u8BF7\u8F93\u5165\u4E2D\u6587\u5185\u5BB9"};var Oe=P("JavaScriptCodeGen");function Q(n,e){return r(o(n));function r(t){return(0,d.isLogicItem)(t)?y(t):(0,d.isLogic)(t)?l(t):u(t)}function i(t){let b=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:k,typeKind:c,typeName:p,typeNamespace:m}=b||{};if(m?.endsWith(".metadataTypes")){let f=t.app.findNodeByCompleteName(m+"."+p)?.typeAnnotation;f&&(k=`${f.typeNamespace}.${f.typeName}`,c=f.typeKind,p=f.typeName)}if(b&&(!["primitive","union"].includes(c??"")||p==="DateTime")){let f=r(t);return I.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new I.Argument({expression:new I.StringLiteral({value:k})}),new I.Argument({expression:new I.Unparsed({code:f})})]},t.parentNode,t.parentKey)}return t}function o(t){return(0,d.isCallFunction)(t)||(0,d.isCallLogic)(t)||(0,d.isNewComposite)(t)||(0,d.isDefaultValue)(t)?i(t):t}function s(t){return`(${k()})=>(${b()})`;function b(){let c=t.logics[0];return Q(c,e)}function k(){return t.params.map(c=>c.name).toString()}}function l(t){let b="async (";return Array.isArray(t.params)&&(b+=t.params.map(k=>k.name).toString()),b+=") => {",Array.isArray(t.params)&&t.params.forEach(k=>{let c=Q(k,e);k.name!==c&&(b+=`${k.name} = ${c};
|
|
4747
4747
|
`)}),Array.isArray(t.variables)&&t.variables.forEach(k=>{b+=`let ${Q(k,e)};
|
|
4748
4748
|
`}),Array.isArray(t.returns)&&t.returns.forEach(k=>{b+=`let ${Q(k,e)};
|
|
4749
4749
|
`}),Array.isArray(t.body)&&t.body.forEach(k=>{if((0,Fn.isNil)(k))throw Oe.error(`${t.nodePath} \u7684 body \u6709\u7A7A\u503C`),new Error("");b+=y(k),b+=`
|
|
4750
|
-
`}),b+="}",b}function u(t){if((0,d.isReturn)(t)){let p=function(m){let w="",f=m.typeAnnotation||m.__TypeAnnotation,
|
|
4750
|
+
`}),b+="}",b}function u(t){if((0,d.isReturn)(t)){let p=function(m){let w="",f=m.typeAnnotation||m.__TypeAnnotation,h=f&&(!["primitive","union"].includes(f.typeKind)||f.typeName==="DateTime");h&&(w+=`genInitFromSchema('${f?.sortedTypeKey}',`);let A=m.defaultValue?.toJS?.()??"undefined";return w+=A,h&&(w+=")"),w};var b=p;a(p,"makeRight");let k=e?.resolve?.({kind:"identifier",value:new I.Identifier({name:t.name})})??t.name,c=p(t);return`${k} = ${c}`}else if((0,d.isParam)(t)){let k=t.defaultValue?Q(t.defaultValue,e):void 0;return k?`${t.name} === undefined ? ${k} : ${t.name}`:`${t.name}`}else if((0,d.isVariable)(t)){let k=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:c,typeKind:p,typeName:m,typeNamespace:w}=k||{};if(w?.endsWith(".metadataTypes")){let S=(t.app.findNodeByCompleteName(w+"."+m)||{}).typeAnnotation||{};c=`${S.typeNamespace}.${S.typeName}`,p=S.typeKind,m=S.typeName}let f=k&&(!["primitive","union"].includes(p)||m==="DateTime"),h=`${t.name} = `;if(f&&(h+=`genInitFromSchema('${c}',`),t.defaultValue?.expression){let A=Q(t.defaultValue.expression,e);h+=A}else h+="undefined";return f&&(h+=")"),h}else if((0,d.isDefaultValue)(t)){let k="";return["Date","Time","DateTime"].includes(t.parentNode?.typeAnnotation?.typeName)&&t.expression?.value===""?"null":(k+=t.expression?Q(t.expression,e):"undefined",k)}else return $(t)}function g(t){if(t.calleeNamespace){let b=t.calleeNamespace,k=b.startsWith("extensions."),c=b.startsWith("extensions.")&&b.includes(".frontends."),p=`'${t.calleeNamespace}.${t.calleeName}'`;return t.calleeNamespace.startsWith("app.dataSources.")?`apiClient[${p}]`:k?c?`$library['${b.split(".")[1]}']['${t.calleeName}']`:`apiClient[${p}]`:`${e?.resolve?.({kind:"calleeNamespace",value:t.calleeNamespace})??t.calleeNamespace}.${t.calleeName}`}else return e?.resolve?.({kind:"identifier",value:new I.Identifier({name:t.calleeName})})??t.calleeName}function x(t){let b=g(t),k=(0,d.isCallLogic)(t)?c(t).join(", "):t.arguments.map(p=>y(p)).join(", ");return`${b}?.(${k})`;function c(p){let m="";m+=`
|
|
4751
4751
|
config: {
|
|
4752
4752
|
download: false,
|
|
4753
4753
|
},
|
|
4754
4754
|
headers: {
|
|
4755
4755
|
"lcap-calllogic-uuid": "${p.uuid}",
|
|
4756
|
-
},`;let w=p.calleeName;if(p.isProcessV2Logic)throw Oe.error("\u7FFB\u8BD1\u5668\u5C1A\u672A\u652F\u6301\u6D41\u7A0BV2\u7684\u903B\u8F91"),new Error("\u7FFB\u8BD1\u5668\u5C1A\u672A\u652F\u6301\u6D41\u7A0BV2\u7684\u903B\u8F91");if(p.isViewLogic)return p.arguments.map(
|
|
4756
|
+
},`;let w=p.calleeName;if(p.isProcessV2Logic)throw Oe.error("\u7FFB\u8BD1\u5668\u5C1A\u672A\u652F\u6301\u6D41\u7A0BV2\u7684\u903B\u8F91"),new Error("\u7FFB\u8BD1\u5668\u5C1A\u672A\u652F\u6301\u6D41\u7A0BV2\u7684\u903B\u8F91");if(p.isViewLogic)return p.arguments.map(h=>y(h));{let A=p.getCallNode()?.params||[],S=A.some(C=>C.spread),j=We(p.calleeNamespace,"entities"),L=We(p.calleeNamespace,"processes");if(j!==-1){let C=p.arguments,q=!1;switch(w){case"get":case"delete":{C=[],m+="query: {";let B=A.map((R,N)=>{let Y=p.arguments?.[N];return{keyword:R?.name,arg:Y}}).map(R=>`
|
|
4757
4757
|
${R.keyword}: ${y(R.arg)}`).join(", ");m+=B,m+=`},
|
|
4758
4758
|
`;break}case"update":case"createOrUpdate":case"batchUpdate":{m+=`body: {
|
|
4759
4759
|
`;let B=C.map(R=>`${R.keyword==="body"?p.calleeName==="batchUpdate"?"entities":"entity":R.keyword}: ${y(R.expression)}`).join(`,
|
|
@@ -4773,17 +4773,17 @@ ${F?.keyword}: ${y(F)}`:m+="body: {}")}else{let C=L!==-1,q=a(F=>!!F?.expression,
|
|
|
4773
4773
|
body: {`,!C){let F=[...A],B;S&&(B=F.pop());let R=F.map((ne,D)=>{let se=p.completeArguments[D];return{keyword:ne?.name,arg:se}}).filter(ne=>q(ne.arg)),N=R.map(ne=>`
|
|
4774
4774
|
${ne?.keyword}: ${y(ne?.arg)}`).join(", ");if(m+=N,R.length&&(m+=", "),S){let ne=p.completeArguments.slice(F.length),D=a(U=>U?.expression,"isShowArgument"),se=ne.filter(U=>D(U)).map(U=>y(U)||"").join(", ");m+=`
|
|
4775
4775
|
${B.name}: [${se}],`}let Y=p.__TypeArguments?.length?p.__TypeArguments:p.typeArguments;Array.isArray(Y)&&Y.length&&(m+=`
|
|
4776
|
-
__typeArguments: ${Ln.stringify(Y)}`)}m+="}"}}return[`{${m}}`];function f(
|
|
4777
|
-
`)}function y(t){if((0,d.isSubLogic)(t))return l(t);if((0,d.isAnonymousFunction)(t)){let c=t.parentNode?.parentNode;return(0,d.isCallLogic)(c)&&/dataSources\.[^.]+\.entities\.[^.]+\.logics/.test(c.calleeNamespace)&&["update","updateBy","createOrUpdate","batchUpdate"].includes(c.calleeName)?a(()=>{let m="[";return t.body&&(0,d.isNewList)(t.body)&&t.body.items.forEach((w,f,
|
|
4778
|
-
${
|
|
4779
|
-
}`;return t.alternate.length?`${c} else {${
|
|
4776
|
+
__typeArguments: ${Ln.stringify(Y)}`)}m+="}"}}return[`{${m}}`];function f(h){if(!h)return;if(h.concept==="Identifier"){let j=y(h);return{concept:h.concept,name:h.name,value:`__@@${j}@@__`,expression:j}}if(h.concept==="MemberExpression"){let{concept:j}=h,{value:L}=h;if(h?.object.name==="_")return{concept:j,name:h.name,value:L,object:h.object,property:h.property};let C=y(h);return h.object?.namespace==="app.enums"?(L=C.replace(/^"(.+)"$/,"$1"),C=void 0,j="StringLiteral"):L=`__@@${C}@@__`,{concept:j,name:h.name,value:L,expression:C}}let A;h.concept==="UnaryExpression"?A=f(h.argument):A=f(h.left);let S=f(h.right);return{concept:h.concept,name:h.name,value:h.value,expression:h.expression,operator:h.operator,left:A,right:S}}}}function v(t){return t.map(y).join(`;
|
|
4777
|
+
`)}function y(t){if((0,d.isSubLogic)(t))return l(t);if((0,d.isAnonymousFunction)(t)){let c=t.parentNode?.parentNode;return(0,d.isCallLogic)(c)&&/dataSources\.[^.]+\.entities\.[^.]+\.logics/.test(c.calleeNamespace)&&["update","updateBy","createOrUpdate","batchUpdate"].includes(c.calleeName)?a(()=>{let m="[";return t.body&&(0,d.isNewList)(t.body)&&t.body.items.forEach((w,f,h)=>{m+=`'${y(w.property)}'`,f!==h.length-1&&(m+=",")}),m+="]",m},"toJSOfEntityLogicProperties")():s({logics:[t.body],params:t.params})}else{if((0,d.isAbort)(t))return"throw Error('\u7A0B\u5E8F\u4E2D\u6B62');";if((0,d.isStart)(t))return"";if((0,d.isEnd)(t)){let c=t.logic.returns.at(0);return c?`return ${c.name};`:"return;"}else if((0,d.isIfStatement)(t)){let c=`if(${y(t.test)}){
|
|
4778
|
+
${v(t.consequent)}
|
|
4779
|
+
}`;return t.alternate.length?`${c} else {${v(t.alternate)}}`:c}else if((0,d.isSwitchStatement)(t)){let c="";return t.cases.forEach(p=>{c+=y(p)}),c}else if((0,d.isSwitchCase)(t)){let c=t.parentNode;if(!(0,d.isSwitchStatement)(c))throw new Error("SwitchCase\u7684\u7236\u8282\u70B9\u4E0D\u662FSwitchStatement");let p=c.cases.indexOf(t),m=c.cases.length;if(p===-1)throw new Error("\u65E0\u6CD5\u5728\u7236\u8282\u70B9\u4E2D\u627E\u5230\u6B64SwitchCase");let w="";return p===0?(w="if (",w+=t.test?y(t.test):"",w+=`) {
|
|
4780
4780
|
`):p!==m-1?(w="else if (",w+=t.test?y(t.test):"",w+=`) {
|
|
4781
4781
|
`):w+=`else {
|
|
4782
4782
|
`,Array.isArray(t.consequent)&&t.consequent.forEach(f=>{w+=`${y(f)}
|
|
4783
4783
|
`}),w+=`}
|
|
4784
|
-
`,w}else if((0,d.isForEachStatement)(t)){let c="",p=t.each?Q(t.each,e):"",m=Math.random(),w=Math.round(m*1e4),f=`$forEachListVariable${w}`,
|
|
4784
|
+
`,w}else if((0,d.isForEachStatement)(t)){let c="",p=t.each?Q(t.each,e):"",m=Math.random(),w=Math.round(m*1e4),f=`$forEachListVariable${w}`,h="";return t.end?h=Q(t.end,e):t.each&&(h=`(${f} || {}).length`),c+=`var ${f} = ${p};
|
|
4785
4785
|
`,c+=`var $forEachStartVariable${w} = ${t.start&&Q(t.start,e)};
|
|
4786
|
-
`,c+=`var $forEachEndVariable${w} = ${
|
|
4786
|
+
`,c+=`var $forEachEndVariable${w} = ${h};
|
|
4787
4787
|
`,c+=`if(Array.isArray($forEachListVariable${w})) {
|
|
4788
4788
|
`,c+=`for (let ${t.index.name} = $forEachStartVariable${w}; `,c+=`${t.index.name} < $forEachEndVariable${w}; ${t.index.name}++) {
|
|
4789
4789
|
`,c+=`var ${t.item.name} = $forEachListVariable${w}[${t.index.name}];
|
|
@@ -4793,32 +4793,32 @@ __typeArguments: ${Ln.stringify(Y)}`)}m+="}"}}return[`{${m}}`];function f(g){if(
|
|
|
4793
4793
|
`,c}else if((0,d.isWhileStatement)(t)){let c="";return c+="while (",c+=t.test?y(t.test):"",c+=`) {
|
|
4794
4794
|
`,Array.isArray(t.body)&&t.body.forEach(p=>{c+=`${y(p)}
|
|
4795
4795
|
`}),c+=`}
|
|
4796
|
-
`,c}else{if((0,d.isAssignment)(t))return`${Q(t.left,{...e,shouldInsertOptional:!1})} = ${Q(t.right,e)}`;if((0,d.isBatchAssignment)(t)){let c="",p=new Map;return t.assignmentLines.forEach(({leftIndex:m,rightIndex:w})=>{let f=JSON.stringify(w);p.has(f)?p.set(f,[...p.get(f),m]):p.set(f,[m])}),p.forEach((m,w)=>{let f=JSON.parse(w)||[],
|
|
4796
|
+
`,c}else{if((0,d.isAssignment)(t))return`${Q(t.left,{...e,shouldInsertOptional:!1})} = ${Q(t.right,e)}`;if((0,d.isBatchAssignment)(t)){let c="",p=new Map;return t.assignmentLines.forEach(({leftIndex:m,rightIndex:w})=>{let f=JSON.stringify(w);p.has(f)?p.set(f,[...p.get(f),m]):p.set(f,[m])}),p.forEach((m,w)=>{let f=JSON.parse(w)||[],h=m.map(L=>L.length!==1?t.left.members[L[1]]:t.left.expression),[A,S]=[f[0],f[1]],j=S!==void 0?t.rights[A].members[S]:t.rights[A].expression;h.forEach(L=>{c+=`${Q(L,{...e,shouldInsertOptional:!1})}`,c+=" = "}),c+=`${y(j)}`,c+=`;
|
|
4797
4797
|
`}),c}else{if((0,d.isComment)(t))return["/**",...t.value.split(`
|
|
4798
4798
|
`).map(p=>`* ${p}`),"*/"].join(`
|
|
4799
|
-
`);if((0,d.isCallLogic)(t))return["jsonSerialize","jsonDeserialize"].includes(t.calleeName)&&t.calleeNamespace==="nasl.util"?
|
|
4799
|
+
`);if((0,d.isCallLogic)(t))return["jsonSerialize","jsonDeserialize"].includes(t.calleeName)&&t.calleeNamespace==="nasl.util"?x(t):((t.calleeNamespace==="nasl.browser"||t.calleeNamespace==="nasl.configuration"||t.calleeNamespace==="nasl.process")&&(t.calleeNamespace="$global"),`await (${x(t)})`);if((0,d.isCallConnector)(t))return G();if((0,d.isCallFunction)(t)){let c=g(t),p="";p+=`${c}`,p+="(";let m;if(t.calleeName==="ToString"){let f=t.arguments[0];m=f.typeAnnotation||f.__TypeAnnotation}else t.calleeName==="FromString"&&(m=t.typeArguments?.[0]);if(t.calleeName==="ToString"&&m&&(p+=`'${m.sortedTypeKey}', `),Array.isArray(t.arguments)&&t.arguments.length&&t.arguments.forEach((f,h)=>{let A=y(f),S=f.typeAnnotation||f.__TypeAnnotation;(0,I.transfromUnionTypeAnnotation)(S,t.app);let{sortedTypeKey:j}=(0,I.transfromMetadataType)(S,t.app);["HasValue"].includes(t.calleeName)&&(A=`{ type: '${j}', value: ${A} }`),p+=A,h!==t.arguments?.length-1&&(p+=", ")}),t.calleeName==="FromString"&&m){let{sortedTypeKey:f}=(0,I.transfromMetadataType)(m,t.app);p+=`, '${f}'`}if(!(["ToString","FromString"].includes(t.calleeName)&&m)&&Array.isArray(t.typeArguments)&&t.typeArguments.length){t.arguments?.length&&(p+=", ");let f=t.typeArguments.length;t.typeArguments?.forEach((h,A)=>{p+=JSON.stringify(h),A!==f-1&&(p+=", ")})}return p+=")",p}else if((0,d.isCallInterface)(t)){let A=function(){let D=t.getAncestor("Connector"),se=t.getAncestor("Integration");return D&&se?p?.integration?.connectors?.find?.(U=>U.name===w):D&&!se?p?.connectorDependencies?.find?.(U=>U.name===w):p?.interfaceDependencies?.find?.(U=>U.name===w)};var b=A;a(A,"getModule");let{calleewholeKey:c,app:p,completeArguments:m}=t,[,w,,f]=c.split("."),S=A()?.interfaces?.find?.(D=>D.name===f);if(!S)throw!t.calleeNamespace||!t.calleeName?new Error("\u8C03\u7528\u63A5\u53E3\u4E3A\u7A7A"):new Error(`${w}\u4E0B\u7684${f}\u63A5\u53E3\u672A\u627E\u5230`);let j=!1,L=S.params,C=L.filter(D=>D.in==="query").map(D=>D.name),q=L.filter(D=>D.in==="header").map(D=>D.name),F=L.filter(D=>D.in==="body").map(D=>(D.typeAnnotation.typeKind==="primitive"&&(j=!0),D.name)),B=L.filter(D=>D.in==="path").map(D=>D.name),R=a((D,se,U,dn,un)=>{let mn=D.filter(Le=>se.includes(Le.keyword));return mn.forEach((Le,mt)=>{let Be=y(Le);un?U+=` ...${Be}`:dn?U+=`
|
|
4800
4800
|
'${Le?.keyword}': ${Be}`:U+=` ${Be}`,mt!==D.length-1&&(U+=", ")}),mn.length===0&&!dn&&!un&&(U+="undefined"),U},"setArgumentCode"),N=`await $services['_custom']['${t.calleeNamespace}.${t.calleeName}']`;N+=`({ config: {
|
|
4801
4801
|
download: false,
|
|
4802
4802
|
},
|
|
4803
4803
|
query: {`,N=R(m,C,N,!0,!1),N+="}, path: {",N=R(m,B,N,!0,!1),N+="}, headers: {",N=R(m,q,N,!0,!1),N+=`},
|
|
4804
4804
|
`,j?(N+="body: ",N=R(m,F,N,!1,!1)):(N+="body: {",N=R(m,F,N,!1,!0),N+="}"),N+=`
|
|
4805
|
-
})`;let Y=t.typeAnnotation||t.__TypeAnnotation;return Y&&!["primitive","union"].includes(Y.typeKind)&&(N=`genInitFromSchema('${Y?.sortedTypeKey}', ${N})`),N}else{if((0,d.isCallAuthInterface)(t))return G();if((0,d.isDestination)(t)){let w=function(f){let
|
|
4806
|
-
`)}}`;if((0,d.isIdentifier)(t)){let{namespace:c}=t;if(c)if(t.isFrontendVariables){let p=I.MemberExpression.from({object:new I.Identifier({name:"$frontendVariables"}),property:new I.Identifier({name:t.name})},t.parentNode,t.parentKey);return y(p)}else if(t.isEnum()){let p=t.name;return c.startsWith("extensions.")&&(p=`${c}.${t.name}`),p}else{if(c.endsWith("configuration.groups.custom.properties"))return`"${c}.${t.name}"`;if(c.endsWith("logics"))return`'${c}.${t.name}'`}return e?.resolve?.({kind:"identifier",value:t})??t.name}else{if((0,d.isNullLiteral)(t))return"null";if((0,d.isBooleanLiteral)(t))return t.value;if((0,d.isStringLiteral)(t))return`${JSON.stringify(t.value)}`;if((0,d.isStringInterpolation)(t))return t.expressions.length?t.expressions.map(c=>{let p=c.typeAnnotation||c.__TypeAnnotation;(0,I.transfromUnionTypeAnnotation)(p,t.app);let{sortedTypeKey:m}=(0,I.transfromMetadataType)(p,t.app);return`nasl.util.ToString('${m}', ${y(c)})`}).join(" + "):"''";if((0,d.isNumericLiteral)(t))return t.value;if((0,d.isBinaryExpression)(t))return`${y(t.left)}${t.operator}${y(t.right)}`;if((0,d.isMatchCase)(t)){let c=t.parentNode;if(!(0,d.isMatch)(c))throw new Error("MatchCase\u7684\u7236\u8282\u70B9\u975EMatch");let p="";if(Array.isArray(t.patterns)){let w=t.patterns.map(
|
|
4807
|
-
`:
|
|
4805
|
+
})`;let Y=t.typeAnnotation||t.__TypeAnnotation;return Y&&!["primitive","union"].includes(Y.typeKind)&&(N=`genInitFromSchema('${Y?.sortedTypeKey}', ${N})`),N}else{if((0,d.isCallAuthInterface)(t))return G();if((0,d.isDestination)(t)){let w=function(f){let h="`",A=f.genViewArr();if(Array.isArray(A)&&A.length){h+=`${f.viewNode?.frontend?.prefixPath?f.viewNode.frontend.prefixPath:""}/${A.join("/")}`;let{completeArguments:S}=f;if(S.length){let j=f.viewNode,L=[];j?.params&&(L=j.params);let C=L.length,q=S.map((F,B)=>{let R=y(F),N="";return R&&B<C&&(N+=`${F.keyword}=\${`,R==="undefined"?N+="null":N+=R,N+="}"),N}).filter(F=>!!F);h+=`?${q.join("&")}`}if(f.anchor){let j=y(f.anchor);j&&(h+=`#\${${j}}`)}}return h+="`",h};var k=w;a(w,"destinationToUrlExpr");let c=w(t);if((0,d.isBindAttribute)(t.parentNode))return c;let m="";return m+="$destination(",m+=c,m+=',"',m+=`${t.target}`,m+='")',m}else if((0,d.isExternalDestination)(t)){let c="";if(t.link){let p=y(t.link);if((0,d.isBindAttribute)(t.parentNode))return p;let w=e?.resolve?.({kind:"identifier",value:new I.Identifier({name:"$link"})});if(c+=`${w}(\`\${`,c+=`${p}`,c+="}",t.anchor){let f=y(t.anchor);f&&(c+=`#\${${f}}`)}c+='`,"',c+=`${t.target}`,c+='")'}return c}else if((0,d.isValidationRule)(t)){let c="{";if(t.calleeName&&t.calleeName.includes("("))return`'${t.calleeName}'`;if(t.calleeName==="unique"?c+="validate: 'excluded',":t.calleeName==="confirmed"?c+="validate: 'is',":c+=`validate: '${t.calleeName}',`,t.arguments.length){let p="[";t.arguments?.forEach((m,w)=>{p+=y(m),w!==t.arguments?.length-1&&(p+=", ")}),p+="]",c+=`args: ${p} ,`}if(t.errorMessage)c+=`message: ${y(t.errorMessage)},`;else{let p=Xe[t.calleeName]??"",m=0;for(;p&&p.indexOf("{args}")!==-1;)p=p.replace("{args}",`\${${y(t.arguments[m])}}`),m++;if(p?.includes("{label}"))return yn();c+=`message: \`${p}\`,`}return c+="trigger: 'input+blur'",["required","filled","notEmpty"].includes(t.calleeName)&&(c+=",required: true"),c+="}",c}else if((0,d.isArgument)(t)){let c="";if(t.expression){let p=Q(t.expression,e);c+=p}else c+="undefined";return t.spread?`...${c}`:`${c}`}else{if((0,d.isAnchor)(t))return t.expression?y(t.expression):"";if((0,d.isJSBlock)(t))return t.code;if((0,d.isJavaLogic)(t))return G();if((0,d.isBlock)(t))return`{${t.logicItems.map(p=>y(t)).join(`
|
|
4806
|
+
`)}}`;if((0,d.isIdentifier)(t)){let{namespace:c}=t;if(c)if(t.isFrontendVariables){let p=I.MemberExpression.from({object:new I.Identifier({name:"$frontendVariables"}),property:new I.Identifier({name:t.name})},t.parentNode,t.parentKey);return y(p)}else if(t.isEnum()){let p=t.name;return c.startsWith("extensions.")&&(p=`${c}.${t.name}`),p}else{if(c.endsWith("configuration.groups.custom.properties"))return`"${c}.${t.name}"`;if(c.endsWith("logics"))return`'${c}.${t.name}'`}return e?.resolve?.({kind:"identifier",value:t})??t.name}else{if((0,d.isNullLiteral)(t))return"null";if((0,d.isBooleanLiteral)(t))return t.value;if((0,d.isStringLiteral)(t))return`${JSON.stringify(t.value)}`;if((0,d.isStringInterpolation)(t))return t.expressions.length?t.expressions.map(c=>{let p=c.typeAnnotation||c.__TypeAnnotation;(0,I.transfromUnionTypeAnnotation)(p,t.app);let{sortedTypeKey:m}=(0,I.transfromMetadataType)(p,t.app);return`nasl.util.ToString('${m}', ${y(c)})`}).join(" + "):"''";if((0,d.isNumericLiteral)(t))return t.value;if((0,d.isBinaryExpression)(t))return`${y(t.left)}${t.operator}${y(t.right)}`;if((0,d.isMatchCase)(t)){let c=t.parentNode;if(!(0,d.isMatch)(c))throw new Error("MatchCase\u7684\u7236\u8282\u70B9\u975EMatch");let p="";if(Array.isArray(t.patterns)){let w=t.patterns.map(h=>I.asserts.isTypeAnnotation(h)?`window.$isInstanceOf(${y(c.expression)}, '${h.sortedTypeKey}')`:`window.$global.isEqual(${y(c.expression)}, ${y(h)})`).join("||"),f=c.cases.length;if(f>1){let h=c.cases.indexOf(t);if(h===-1)throw new Error("\u65E0\u6CD5\u5728Match\u4E2D\u627E\u5230\u6B64MatchCase");h===0?p=`if (${w}) {
|
|
4807
|
+
`:h!==f-1?p=`else if (${w}) {
|
|
4808
4808
|
`:p+=`else {
|
|
4809
|
-
`}Array.isArray(t.body)&&t.body.forEach((
|
|
4809
|
+
`}Array.isArray(t.body)&&t.body.forEach((h,A)=>{t.parentNode.isExpression&&A===t.body.length-1&&h.concept!=="Abort"&&(p+="return "),p+=`${y(h)}
|
|
4810
4810
|
`}),f>1&&(p+=`}
|
|
4811
4811
|
`)}return p}else if((0,d.isMatch)(t)){let c="",p=t.getAncestor("Logic");return(t.isExpression||!p)&&(p?c+=`await (async () => {
|
|
4812
4812
|
`:c+=`(() => {
|
|
4813
4813
|
`),t.expression&&Array.isArray(t.cases)&&t.cases.forEach((m,w)=>{c+=y(m)}),(t.isExpression||!p)&&(c+="})()"),c}else if((0,d.isUnaryExpression)(t)){let c=y(t.argument);return t.operator==="isNull"?c:`!(${c})`}else if((0,d.isMemberExpression)(t)){if((0,d.isIdentifier)(t.object)&&t.object.isEnum()&&(0,d.isIdentifier)(t.property))return y(new I.StringLiteral({value:t.property.name}));let c=e?.shouldInsertOptional===!1?"":"?";if((0,d.isIdentifier)(t.object)){let p=t.object.name;return`${e?.resolve?.({kind:"calleeNamespace",value:p})??p}${c}.${Q(t.property)}`}return`${y(t.object)}${c}.${Q(t.property)}`}else{if((0,d.isUnparsed)(t))return t.code;if((0,d.isNew)(t))return"";if((0,d.isNewComposite)(t)){let c="",{typeAnnotation:p}=t,m=t.assignmentLines.findIndex(({leftIndex:f})=>f[1]===void 0);if(!t.typeAnnotation)return"";if(t.getAncestor("Logic")?c+=`await (async () => {
|
|
4814
4814
|
`:c+=`(() => {
|
|
4815
|
-
`,m!==-1){let{rightIndex:f}=t.assignmentLines[m],
|
|
4815
|
+
`,m!==-1){let{rightIndex:f}=t.assignmentLines[m],h=f[1]!==void 0?t.rights[f[0]].members[f[1]]:t.rights[f[0]].expression;c+=`return ${y(h)};
|
|
4816
4816
|
`}else if(p.typeKind!=="anonymousStructure"){c+=`const obj = genInitFromSchema('${p.sortedTypeKey}', nasl.util.New(${p.toJS()}));
|
|
4817
|
-
`;let f=new Map;t.assignmentLines.forEach(({leftIndex:
|
|
4817
|
+
`;let f=new Map;t.assignmentLines.forEach(({leftIndex:h,rightIndex:A})=>{let S=JSON.stringify(A);f.has(S)?f.set(S,[...f.get(S),h]):f.set(S,[h])}),f.forEach((h,A)=>{let S=JSON.parse(A)||[],j=h.map(F=>t.properties[F[1]]),[L,C]=[S[0],S[1]],q=C!==void 0?t.rights[L].members[C]:t.rights[L].expression;j.forEach(F=>{c+=`obj.${F.name} = `}),c+=`${y(q)}`,c+=`;
|
|
4818
4818
|
`}),c+=`return obj;
|
|
4819
4819
|
`}else{c+=`const obj = {};
|
|
4820
|
-
`,t.properties.forEach(
|
|
4821
|
-
`});let f=new Map;t.assignmentLines.forEach(({leftIndex:
|
|
4820
|
+
`,t.properties.forEach(h=>{c+=`obj.${h.name} = null;
|
|
4821
|
+
`});let f=new Map;t.assignmentLines.forEach(({leftIndex:h,rightIndex:A})=>{let S=JSON.stringify(A);f.has(S)?f.set(S,[...f.get(S),h]):f.set(S,[h])}),f.forEach((h,A)=>{let S=JSON.parse(A)||[],j=h.map(F=>t.properties[F[1]]),[L,C]=[S[0],S[1]],q=C!==void 0?t.rights[L].members[C]:t.rights[L].expression;j.forEach(F=>{c+=`obj.${F.name} = `}),c+=`${y(q)}`,c+=`;
|
|
4822
4822
|
`}),c+=`return obj;
|
|
4823
4823
|
`}return c+="})()",c}else if((0,d.isNewList)(t)){let c="";return t.getAncestor?.("Logic")?c+=`await (async () => {
|
|
4824
4824
|
`:c+=`(() => {
|
|
@@ -4859,8 +4859,8 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4859
4859
|
export const useServices = ()=>{
|
|
4860
4860
|
return services;
|
|
4861
4861
|
}
|
|
4862
|
-
`])}}});var Vn=require("prettier/standalone");var Un=he(require("prettier/parser-typescript"));var Ot={tabWidth:2,printWidth:150,singleQuote:!0,trailingComma:"es5",plugins:[Un.default],parser:"typescript"},zt=P("codeFormatPlugin"),$e=M({name:"CodeFormatPlugin",functions:{async format(n,e){function r(){try{return(0,Vn.format)(n,{...Ot,...e})}catch(o){return zt.debug(o,"format\u51FA\u9519"),n}}return a(r,"prettierFormat"),await r()}}});var Qn=require("inversify"),Gn=require("memfs");function Vt(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(Vt,"_ts_decorate");var me=class{static{a(this,"FileSystemPlugin")}vol=new Gn.Volume;read(e){if(this.vol.existsSync(e))return this.vol.readFileSync(e).toString()}write(e,r){this.vol.fromJSON({[e]:r})}remove(e){this.vol.unlinkSync(e)}toJSON(){return this.vol.toJSON()}};me=Vt([(0,Qn.injectable)()],me);var Ve=require("inversify"),we=require("path");var Kn=require("@lcap/nasl");var Ut=P("ReactRouterPlugin"),Qt=[{from:"react-dom",import:"ReactDOM"},{from:"react",import:"React, { useEffect, useState }"},{from:"react-router-dom",import:" { RouterProvider, Navigate, useNavigate,useLocation } "},{from:"./router/component",import:"{ createRouter }"},{from:"./router/hooks",import:"{ useUserInfo, useUserResources }"},{from:"./nasl",import:"{ useAppConfig }"}],je="__views__",Gt=class{static{a(this,"NameMangler")}dict=new Map;query(e){let r=this.inc(e);return r===1?`${e}`:`${e}${r}`}inc(e){let r=this.initName(e);return this.dict.set(e,r+1),r+1}initName(e){return this.dict.has(e)?this.dict.get(e):(this.dict.set(e,0),0)}},fe=M({name:"ReactRouter",functions:{routeToCode(n,e){let r={..._e.functions,...J.functions},i=new Gt,o=new WeakMap,s=l(n);function l(t){return t.flatMap(b=>{if(b.kind==="normal"){let k=b.elementTemplate.identifier;if(k){let c=e.get(b.elementTemplate),p=de(k),m=de(`${c}${k}`.replaceAll("/","-").replace(/^-/,"")),w=i.query(m);b.elementMangledName=w,Ut.debug({mangledName:w});let
|
|
4863
|
-
`);return`{path: "${b}", meta: ${JSON.stringify(t.meta)}, children: [${m}], ${w()} }`}if(t.kind==="redirect"){let c=r.printSyntaxNode(Kn.StringLiteral.from({value:t.redirect}));return`{path: "${b}", element: <Navigate to={${c}} />}`}$(t)}a(u,"serializeReactRoute");let
|
|
4862
|
+
`])}}});var Vn=require("prettier/standalone");var Un=he(require("prettier/parser-typescript"));var Ot={tabWidth:2,printWidth:150,singleQuote:!0,trailingComma:"es5",plugins:[Un.default],parser:"typescript"},zt=P("codeFormatPlugin"),$e=M({name:"CodeFormatPlugin",functions:{async format(n,e){function r(){try{return(0,Vn.format)(n,{...Ot,...e})}catch(o){return zt.debug(o,"format\u51FA\u9519"),n}}return a(r,"prettierFormat"),await r()}}});var Qn=require("inversify"),Gn=require("memfs");function Vt(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(Vt,"_ts_decorate");var me=class{static{a(this,"FileSystemPlugin")}vol=new Gn.Volume;read(e){if(this.vol.existsSync(e))return this.vol.readFileSync(e).toString()}write(e,r){this.vol.fromJSON({[e]:r})}remove(e){this.vol.unlinkSync(e)}toJSON(){return this.vol.toJSON()}};me=Vt([(0,Qn.injectable)()],me);var Ve=require("inversify"),we=require("path");var Kn=require("@lcap/nasl");var Ut=P("ReactRouterPlugin"),Qt=[{from:"react-dom",import:"ReactDOM"},{from:"react",import:"React, { useEffect, useState }"},{from:"react-router-dom",import:" { RouterProvider, Navigate, useNavigate,useLocation } "},{from:"./router/component",import:"{ createRouter }"},{from:"./router/hooks",import:"{ useUserInfo, useUserResources }"},{from:"./nasl",import:"{ useAppConfig }"}],je="__views__",Gt=class{static{a(this,"NameMangler")}dict=new Map;query(e){let r=this.inc(e);return r===1?`${e}`:`${e}${r}`}inc(e){let r=this.initName(e);return this.dict.set(e,r+1),r+1}initName(e){return this.dict.has(e)?this.dict.get(e):(this.dict.set(e,0),0)}},fe=M({name:"ReactRouter",functions:{routeToCode(n,e){let r={..._e.functions,...J.functions},i=new Gt,o=new WeakMap,s=l(n);function l(t){return t.flatMap(b=>{if(b.kind==="normal"){let k=b.elementTemplate.identifier;if(k){let c=e.get(b.elementTemplate),p=de(k),m=de(`${c}${k}`.replaceAll("/","-").replace(/^-/,"")),w=i.query(m);b.elementMangledName=w,Ut.debug({mangledName:w});let h={from:`./${je}${c}/${p}`,import:w,lazy:b.lazy};return o.set(b.elementTemplate,h),[h,...l(b.children??[])]}}return[]})}a(l,"recursivelyExtractImportIR");function u(t){let b=t.thisLevelPath??"/";if(t.kind==="normal"){let w=function(){return`element: ${p}`};var k=w;a(w,"importConfigToPropertyStr");let c=t.children?.map(u).filter(V)??[],p=r.printTag(t.elementMangledName??t.elementTemplate.identifier),m=c.join(`,
|
|
4863
|
+
`);return`{path: "${b}", meta: ${JSON.stringify(t.meta)}, children: [${m}], ${w()} }`}if(t.kind==="redirect"){let c=r.printSyntaxNode(Kn.StringLiteral.from({value:t.redirect}));return`{path: "${b}", element: <Navigate to={${c}} />}`}$(t)}a(u,"serializeReactRoute");let g=[...Qt,...s,{from:"@lcap/pc-react-ui",import:"{ConfigProvider, RouterContext}"},{from:"./platform.config",import:"platformConfig"}];return{code:`
|
|
4864
4864
|
${`const defaultRoutes = [${n.map(u).filter(V).join(`,
|
|
4865
4865
|
`)}];`}
|
|
4866
4866
|
function setDocumentTitleByMetaTitle(metaTitle: string) {
|
|
@@ -4902,11 +4902,11 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4902
4902
|
}
|
|
4903
4903
|
|
|
4904
4904
|
export default App;
|
|
4905
|
-
`,imports:
|
|
4905
|
+
`,imports:g}},__hooksDefinitions(){return new z("ReactRouterHooks",[{from:"react-router-dom",import:"{ useSearchParams, useNavigate }"},{from:"@lcap/basic-template",import:"{initRouter}"}],[],[`
|
|
4906
4906
|
const {link, destination} = initRouter();
|
|
4907
4907
|
export const useLink = ()=>link;
|
|
4908
4908
|
export const useDestination = useNavigate;
|
|
4909
|
-
`])}}});function Kt(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(Kt,"_ts_decorate");function Bn(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(Bn,"_ts_metadata");function Bt(n,e){return function(r,i){e(r,i,n)}}a(Bt,"_ts_param");var Ht=a(n=>n.import?n.lazy?`const ${n.import} = React.lazy(() => import('${n.from}'));`:`import ${n.import} from '${n.from}';`:`import '${n.from}';`,"identityImportResolver"),Hn=P("ProjectOrganizerPlugin"),qt=[".mjs",".js",".mts",".ts",".jsx",".tsx",".json"];function Wt(n){return qn(n)||n.from.startsWith("/")}a(Wt,"isIntraProjectImport");function qn(n){return n.from.startsWith(".")}a(qn,"isRelativeImport");async function Jt(n){let e=new WeakMap,r={},i=[];return Object.entries(n.project).forEach(([l,u])=>{if(u){let
|
|
4909
|
+
`])}}});function Kt(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(Kt,"_ts_decorate");function Bn(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(Bn,"_ts_metadata");function Bt(n,e){return function(r,i){e(r,i,n)}}a(Bt,"_ts_param");var Ht=a(n=>n.import?n.lazy?`const ${n.import} = React.lazy(() => import('${n.from}'));`:`import ${n.import} from '${n.from}';`:`import '${n.from}';`,"identityImportResolver"),Hn=P("ProjectOrganizerPlugin"),qt=[".mjs",".js",".mts",".ts",".jsx",".tsx",".json"];function Wt(n){return qn(n)||n.from.startsWith("/")}a(Wt,"isIntraProjectImport");function qn(n){return n.from.startsWith(".")}a(qn,"isRelativeImport");async function Jt(n){let e=new WeakMap,r={},i=[];return Object.entries(n.project).forEach(([l,u])=>{if(u){let g=hn(u);for(let x of g){let{dir:v}=s(l,x),y=new ze(x,v);i.push(y),r[y.originalAbsolutePath]=y;let t=x.getImports().map(b=>{if(Wt(b)){let k=qn(b)?(0,we.join)(v,b.from):b.from;return{ir:b,kind:"relative",getRelativePathAfterMoving:()=>{let p=v,m=w()??k;return Hn.debug({currentDir:p,targetPath:m}),`./${(0,we.relative)(p,m)}`;function w(){if(!zn(b.from))for(let f of qt){let h=r[k+f]?.currentAbsolutePath;if(h)return h}}a(w,"tryToAppendExtIfNecessary")}}}else return{ir:b,kind:"absolute"}});e.set(y,t)}}}),{mapping:e,placedFiles:i};function o(l){let u={name:"src"};return l==="views"?[u,{name:je}]:[u]}a(o,"decideDirForKey");function s(l,u){let g=o(l);u.folder=[...g,...u.folder??[]];let x=u.getFolderPath()??"";return{path:(0,we.join)(x,u.fileNameWithExt),dir:x}}a(s,"initFilePath")}a(Jt,"initImport");var ze=class n{static{a(this,"PlacedFile")}file;folder;constructor(e,r){this.file=e,this.folder=r,this.originalFolder=r,this.currentAbsolutePath=this.originalAbsolutePath}currentAbsolutePath;get originalAbsolutePath(){return(0,we.join)(this.originalFolder,this.file.fileNameWithExt)}originalFolder;getFolder(){return this.folder.endsWith("/")?this.folder:`${this.folder}/`}moveFileTo(e){return this.currentAbsolutePath=new n(this.file,e).originalAbsolutePath,this.folder=e,this}};async function Xt(n,e,r){return Promise.all(e.map(async o=>{let s=a(u=>{let g=x(u);return Ht(g);function x(v){let y=n.get(o)?.find(t=>t.ir===v);if(y){let t=i(y);return{...v,from:t}}return v}},"ownImportResolver");return{content:await o.file.serialize(s,r),path:o.currentAbsolutePath}}));function i(o){return o.kind==="relative"?o.getRelativePathAfterMoving():o.ir.from}}a(Xt,"writeAllPlacedFile");var Ce=class{static{a(this,"ProjectOrganizerPlugin")}fileSystemProvider;constructor(e){this.fileSystemProvider=e}async organize(e){let{mapping:r,placedFiles:i}=await Jt(e);return await this.moveFilesAsYouWant(i),await Xt(r,i,{noFormat:e.options?.noFormat})}async moveFilesAsYouWant(e){let r=Hn.child({},{msgPrefix:"[\u79FB\u52A8\u6587\u4EF6] "});for(let i of e){let o=`/${je}/`;if(i.originalAbsolutePath.includes(o)){let s=i.getFolder().replace(o,"/pages/");i.moveFileTo(s),r.debug(`${i.originalAbsolutePath} -> ${i.currentAbsolutePath}`)}}}};Ce=Kt([(0,Ve.injectable)(),An,Bt(0,(0,Ve.inject)(O.FileSystemProvider)),Bn("design:type",Function),Bn("design:paramtypes",[typeof GeneratorInfrastructureDomain>"u"||typeof GeneratorInfrastructureDomain.FileSystemProvider>"u"?Object:GeneratorInfrastructureDomain.FileSystemProvider])],Ce);var Yt="notFound",be=M({name:"RoutesExtraction",functions:{extractRoute(n,e,r){let i=a((v,y)=>v.flatMap(t=>{let b=`${y}${t.identifier}`,k={accumulativePath:b,thisLevelPath:`${t.identifier}`,children:i(t.childComponents,`${b}/`),elementTemplate:t,kind:"normal",lazy:!!r?.lazy,meta:{title:t.__raw.title??"",crumb:t.__raw.crumb?.value??""}},c=k.children?.map(p=>{if(p.kind==="normal"&&p.elementTemplate.__raw.isIndex)return{accumulativePath:`${b}/`,thisLevelPath:"",redirect:`${b}/${p.elementTemplate.identifier}`,kind:"redirect"}}).filter(V);return c?.length&&k.children?.push(...c),[k]}),"extractRouteHelper"),o=i(n,e),s=n.find(v=>v.__raw.isIndex);s&&o.push({accumulativePath:"/",thisLevelPath:"/",redirect:`${e}${s.identifier}`,kind:"redirect"});let l=n.find(v=>v.identifier===Yt)??s;l&&o.push({accumulativePath:"*",thisLevelPath:"*",redirect:`${e}${l.identifier}`,kind:"redirect"});let u=[],g=[];return o.filter(v=>v.kind==="normal").forEach(v=>{let y=a((t,b)=>{if(t.kind==="normal"){let k=t.elementTemplate.__raw,c=b||k.auth;c?u.push(t.accumulativePath):g.push(t.accumulativePath),t.children?.forEach(p=>{y(p,c)})}},"traverseRoutes");y(v,!1)}),{authResourcePaths:u,baseResourcePaths:g,routes:o}}}});var T=require("@lcap/nasl"),H=require("@lcap/nasl/out/concepts/utils/asserts"),Wn=require("lodash");var Zt=P("component hack"),Ue=M({name:"ReactComponentLibHackPlugin",functions:{__hooksDefinitions(){return new z("ReactComponentLibHackHooks",[{import:"{initUtils, cookie}",from:"@lcap/basic-template"},{import:"{Modal}",from:"antd"},{import:"{message}",from:"@lcap/pc-react-ui"},{from:"./apis",import:"{enumsMap, dataTypesMap}"},{from:"@lcap/basic-template",import:"{ initAuth }"},{from:"./apis",import:"{dataTypesGlobal}"}],[],[`
|
|
4910
4910
|
const {utils} = initUtils({enumsMap, dataTypesMap});
|
|
4911
4911
|
const ui = { showMessage: message.info };
|
|
4912
4912
|
|
|
@@ -4947,7 +4947,7 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4947
4947
|
return nasl;
|
|
4948
4948
|
};
|
|
4949
4949
|
|
|
4950
|
-
`])},hackBindAttribute(n,e){function r(s){return s.typeAnnotation??s.__TypeAnnotation}a(r,"getTypeAnnotation");function i(s){return s.typeKind==="primitive"&&s.typeNamespace==="nasl.core"&&s.typeName==="String"}if(a(i,"isNASLPrimitiveStringType"),e.name===De&&e.__raw.type==="dynamic"){let s=r(e.expression.expr);if(s&&i(s))return e;let l=T.Argument.from({expression:e.expression.expr},e.__raw,"arguments");l.__TypeAnnotation=s??new T.TypeAnnotation;let u=T.CallFunction.from({calleeName:"ToString",calleeNamespace:"nasl.util",arguments:[l]});return u.__TypeAnnotation=T.TypeAnnotation.createPrimitive("String"),{...e,expression:{expr:u}}}else if(e.name==="dataSource"){let y=function(b){return{__raw:b,logics:b.logics.map(ie),concept:b.concept,params:b.getContextLogicParams().map(ce),handlerName:l.dataFetchMethod}};var o=y;if(a(y,"bindManualBindEventToIR"),(0,H.isIdentifier)(e.expression.expr)||(0,H.isMemberExpression)(e.expression.expr)||(0,H.isNumericLiteral)(e.expression.expr)||(0,H.isStringLiteral)(e.expression.expr)||(0,H.isBooleanLiteral)(e.expression.expr)||(0,H.isNullLiteral)(e.expression.expr)){let b=T.CallFunction.from({calleeName:"toJS",arguments:[new T.Argument({expression:e.expression.expr})]},e.__raw.parentNode,e.__raw.parentKey);return{...e,expression:{expr:b}}}let s=`dataSource${(0,Wn.uniqueId)()}`,l={queryParam:"event",tempResultVariable:`${s}LoadResult`,dataFetchMethod:`${s}Load`},u=e.__raw.getAncestor("ViewElement");if(!u){let b=`\u627E\u4E0D\u5230${e.__raw.nodePath} \u7684\u7956\u5148ViewElement`;throw Zt.error(b),new Error(b)}let
|
|
4950
|
+
`])},hackBindAttribute(n,e){function r(s){return s.typeAnnotation??s.__TypeAnnotation}a(r,"getTypeAnnotation");function i(s){return s.typeKind==="primitive"&&s.typeNamespace==="nasl.core"&&s.typeName==="String"}if(a(i,"isNASLPrimitiveStringType"),e.name===De&&e.__raw.type==="dynamic"){let s=r(e.expression.expr);if(s&&i(s))return e;let l=T.Argument.from({expression:e.expression.expr},e.__raw,"arguments");l.__TypeAnnotation=s??new T.TypeAnnotation;let u=T.CallFunction.from({calleeName:"ToString",calleeNamespace:"nasl.util",arguments:[l]});return u.__TypeAnnotation=T.TypeAnnotation.createPrimitive("String"),{...e,expression:{expr:u}}}else if(e.name==="dataSource"){let y=function(b){return{__raw:b,logics:b.logics.map(ie),concept:b.concept,params:b.getContextLogicParams().map(ce),handlerName:l.dataFetchMethod}};var o=y;if(a(y,"bindManualBindEventToIR"),(0,H.isIdentifier)(e.expression.expr)||(0,H.isMemberExpression)(e.expression.expr)||(0,H.isNumericLiteral)(e.expression.expr)||(0,H.isStringLiteral)(e.expression.expr)||(0,H.isBooleanLiteral)(e.expression.expr)||(0,H.isNullLiteral)(e.expression.expr)){let b=T.CallFunction.from({calleeName:"toJS",arguments:[new T.Argument({expression:e.expression.expr})]},e.__raw.parentNode,e.__raw.parentKey);return{...e,expression:{expr:b}}}let s=`dataSource${(0,Wn.uniqueId)()}`,l={queryParam:"event",tempResultVariable:`${s}LoadResult`,dataFetchMethod:`${s}Load`},u=e.__raw.getAncestor("ViewElement");if(!u){let b=`\u627E\u4E0D\u5230${e.__raw.nodePath} \u7684\u7956\u5148ViewElement`;throw Zt.error(b),new Error(b)}let g=n.findComponentRefByComponentName(u?.name??"")?.identifier;g&&e.expression.expr.traverseStrictChildren(b=>{(0,H.isMemberExpression)(b)&&(0,H.isIdentifier)(b.object)&&(0,H.isIdentifier)(b.property)&&b.object.name===g&&["current","pageSize","sorter","order"].includes(b.property.name)&&(b.object=new T.Identifier({name:l.queryParam}),b.property=new T.Identifier({name:b.property.name}))});let x=T.Logic.from({body:[new T.Assignment({left:new T.Identifier({name:l.tempResultVariable}),right:e.expression.expr}),new T.Unparsed({code:`return ${l.tempResultVariable}`})],params:[new T.Param({name:l.queryParam})],returns:[new T.Return({name:l.tempResultVariable})]},e.__raw.parentNode,void 0),v=T.BindEvent.from({name:"dataSource",params:x.params,logics:[x]},e.__raw.parentNode,"bindEvents"),t=y(v);return ye(v),n.provideAction(Me(t)),t}return e}}});var oe=require("@lcap/nasl");function en(n){let e=oe.BaseNode.prototype.subConstructor,r=a(function(o){e.call(this,o),o.typeAnnotation&&(this.typeAnnotation=new oe.TypeAnnotation(o.typeAnnotation)),o.__TypeArguments&&(this.__TypeArguments=o.__TypeArguments.map(s=>s&&new oe.TypeAnnotation(s)))},"hack");oe.BaseNode.prototype.subConstructor=r;let i=new oe.App(n);return oe.BaseNode.prototype.subConstructor=e,i}a(en,"deserializeAppWhileKeepTypeAnnotation");function Re(n){let e=n.__proto__.__proto__,r=e._toJSON,i=a(function(o){let s=r.call(this,o);return(this.typeAnnotation||this.__TypeAnnotation)&&(s.typeAnnotation=this.typeAnnotation?.toJSON()??this.__TypeAnnotation?.toJSON()),this.__TypeArguments&&(s.__TypeArguments=this.__TypeArguments.map?.(l=>l&&l.toJSON())),s},"newToJSON");e._toJSON=i;try{return n.toJSON()}catch(o){throw o}finally{e._toJSON=r}}a(Re,"serializeAppWithKeepTypeAnnotation");var oo=P("ReactSlotPlugin"),nn=M({name:"ReactSlotPlugin",functions:{preprocessForSlots(n){let e=[];for(let r of n.children){let i=r.slot.target;if(i){if(n.attrs.some(o=>o.name===i)){let o=n.__raw.nodePath;throw new Error(`${o}\u5B58\u5728\u591A\u4E2AslotName=${i}\u7684\u5B50\u5143\u7D20\u6216\u5DF2\u7ECF\u6709attr\u540D\u4E3A${i}\uFF0C\u4E3A\u810F\u6570\u636E`)}if(vn(r.component)&&r.children.length===0)continue;n.attrs.push(Pe({type:"component",component:r,scopeVariable:r.slot.scope,name:i}))}else e.push(r)}n.children=e}}});var le=require("@lcap/nasl");var Qe=require("@lcap/nasl");function Jn(n){return new Qe.Argument({expression:new Qe.Identifier({name:n.name})})}a(Jn,"paramToArgument");var $t=P("ReactStateManagerVanilla"),_t=class{static{a(this,"ReactHookTransformer")}static componentRefNameToHook(e){return{kind:"free",code:`const ${e}= useRef(null);`,import:{from:"react",import:"{ useRef }"}}}};function er(n){return n.recursivelyExtractTreeStates().map(r=>{let i={...K.functions,...J.functions};switch(r.initialization.kind){case"global-hook":{let o=r.initialization.hookName;return{kind:"free",code:`const ${r.identifier} = ${o}();`,import:{from:"/src/Hooks",import:`{${o}}`}}}case"api-client":return{kind:"free",import:{from:"/src/apis",import:"{apiClient, genInitFromSchema}"},code:""};case"frontend-variable":{let o=r.initialization.hookName;return{kind:"free",code:`const ${r.identifier} = ${o}();`,import:{from:"/src/global-variables",import:`{${o}}`}}}default:W(r.initialization)}})}a(er,"makeTreeStateHooks");var K=M({name:"ReactStateManagerVanilla",functions:{makeLocalLogicHooks(n){let e=n.providedStates.flatMap(o=>{let s=o.identifier;return[{kind:"useState",declarations:[`${s}`,`use${s}`],initial:void 0}]}),r={...K.functions,...J.functions},i=n.actions.filter(o=>o.kind==="standalone").flatMap(o=>[{kind:"useCallback",declaration:o.name,deps:[],body:r.actionToBody(n,o)}]);return[...e,...i]},actionToBody(n,e,r){let i={...K.functions,...J.functions};function o(){let s=e.params.map(l=>le.Param.from(l));if(e.logics.length===0)return new le.Logic;if(e.logics.length===1){let l=e.logics[0].logic;return le.Logic.from({...l,params:s})}else return le.Logic.from({params:s,body:e.logics.map(u=>{let g=`${u.logic.name}`;return le.CallLogic.from({calleeName:g,arguments:e.params.map(Jn)})})})}return a(o,"getLogic"),`${n.resolveExprToString(o(),i,r?.()?.(n)??i.withCtx(n))}`},makeLocalIndividualHooks(n,e){let r={...K.functions,...J.functions};return[...n.providedStates.filter(i=>i.kind==="standalone").flatMap(i=>{if(i.initialization&&i.kind==="standalone")switch(i.initialization.kind){case"component-ref":return[_t.componentRefNameToHook(i.identifier)];default:W(i.initialization.kind)}return $(i)}),...n.actions.filter(i=>i.kind==="view-lifecycle").flatMap(i=>[{kind:"useEffect",deps:[],body:`()=>{
|
|
4951
4951
|
(${r.actionToBody(n,i,e)})();
|
|
4952
4952
|
return ()=>{};
|
|
4953
4953
|
}`}])]},makeTreeStateHooks:er,initializationToExpr(n,e){if(!e)return;let r={...K.functions,...J.functions};switch(e.kind){case"static":return n.resolveExprToString(e.value.expr,r,r.withCtx(n));case"url-param":return e.defaultValue?.expr?n.resolveExprToString(e.defaultValue?.expr,r,r.withCtx(n)):void 0;default:return W(e)}},produceHooks(n){let e={...K.functions},r=K.functions.makeTreeStateHooks(n),i=K.functions.makeLocalIndividualHooks(n),o=e.makeLocalLogicHooks(n);return[...r,...i,...o]},withCtx(n){let e={...K.functions};return{resolveIdentifier:r=>e.__resolveIdentifier(n,r),resolveName:r=>e.__resolveName(n,r),resolveCalleeNamespace:r=>e.__resolveName(n,r)}},__resolveIdentifier(n,e){return{...K.functions}.__resolveName(n,e.name)},__resolveName(n,e){let r={...K.functions},i=o(e)??s(e);return i||$t.debug(`cannot find symbol "${e}" in the state context`),i;function o(l){let u=n.findActionByName(l);if(u)return`${u.name}`}a(o,"resolveAsAction");function s(l){let u=n.findStateByName(l);if(u)switch(u.kind){case"standalone":case"local-logic":case"tree":return l;default:W(u)}}a(s,"resolveAsState")},__hooksDefinitions(){return new z("VanillaHookUtils",[],[],[`
|
|
@@ -4962,13 +4962,13 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4962
4962
|
// Use "as const" below so the returned array is a proper tuple
|
|
4963
4963
|
return [state, setState, ref] as const;
|
|
4964
4964
|
};
|
|
4965
|
-
`])}}});function nr(n){let e={...ee.functions},r=a(l=>`${l.name}:${K.functions.actionToBody(n,l,()=>e.withCtx.bind(e))}`,"actionToProperty"),i=[...n.providedStates.filter(l=>l.kind==="local-logic"&&l.initialization?.kind!=="url-param").map(s),...n.actions.filter(l=>l.kind==="standalone").map(r)];function o(){let u=n.providedStates.filter(
|
|
4966
|
-
get ${
|
|
4967
|
-
return localStore.$queryParams.get('${
|
|
4965
|
+
`])}}});function nr(n){let e={...ee.functions},r=a(l=>`${l.name}:${K.functions.actionToBody(n,l,()=>e.withCtx.bind(e))}`,"actionToProperty"),i=[...n.providedStates.filter(l=>l.kind==="local-logic"&&l.initialization?.kind!=="url-param").map(s),...n.actions.filter(l=>l.kind==="standalone").map(r)];function o(){let u=n.providedStates.filter(g=>g.kind==="local-logic"&&g.initialization?.kind==="url-param").map(g=>{let v={...K.functions}.initializationToExpr(n,g.initialization)??"''",y=`
|
|
4966
|
+
get ${g.identifier}() {
|
|
4967
|
+
return localStore.$queryParams.get('${g.identifier}') || ${v};
|
|
4968
4968
|
}
|
|
4969
4969
|
`,t=`
|
|
4970
|
-
set ${
|
|
4971
|
-
${ee.functions.storeName}.$updateQueryParam('${
|
|
4970
|
+
set ${g.identifier}(value) {
|
|
4971
|
+
${ee.functions.storeName}.$updateQueryParam('${g.identifier}', value);
|
|
4972
4972
|
}
|
|
4973
4973
|
`;return`${y},${t}`}).join(",");return u&&`
|
|
4974
4974
|
$queryParams: new URL(window.location).searchParams,
|
|
@@ -4983,20 +4983,20 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4983
4983
|
${o()}
|
|
4984
4984
|
${i}
|
|
4985
4985
|
}
|
|
4986
|
-
})`,import:{import:"{ useLocalObservable }",from:"mobx-react-lite"}};function s(l){let
|
|
4986
|
+
})`,import:{import:"{ useLocalObservable }",from:"mobx-react-lite"}};function s(l){let g={...K.functions}.initializationToExpr(n,l.initialization);return`${l.identifier}: ${g??"undefined"}`}a(s,"localLogicStateToProperty")}a(nr,"makeLocalLogicBundleHook");var tr=P("MobX Plugin"),ee=M({name:"ReactStateManagerMobxPlugin",functions:{produceHooks(n){let e=nr(n),r=K.functions.makeTreeStateHooks(n),i={...ee.functions},o=K.functions.makeLocalIndividualHooks(n,()=>i.withCtx.bind(i));return[...r,e,...o]},get storeName(){return"localStore"},__resolveIdentifier(n,e){return{...ee.functions}.__resolveName(n,e.name)},__resolveName(n,e){let r={...ee.functions},i=o(e)??s(e);return i||tr.debug(`cannot find symbol "${e}" in the state context`),i;function o(l){let u=n.findActionByName(l);if(u)return`${r.storeName}.${u.name}`}a(o,"resolveAsAction");function s(l){let u=n.findStateByName(l);if(u)switch(u.kind){case"standalone":switch(u.initialization.kind){case"component-ref":return l;default:W(u.initialization.kind)}case"tree":return l;case"local-logic":return`${r.storeName}.${l}`;default:W(u)}}a(s,"resolveAsState")},withCtx(n){let e={...ee.functions};return{resolveIdentifier:r=>e.__resolveIdentifier(n,r),resolveName:r=>e.__resolveName(n,r),resolveCalleeNamespace:r=>{let o=a(s=>{if(!s.startsWith("nasl.")&&s.startsWith("app.logics"))return e.__resolveName(n,Te)},"resolveAsNamespace")(r);if(o)return o;{let s=e.__resolveName(n,r);return s?.endsWith("Ref")?`${s}.current`:s}}}},__hooksDefinitions(){return new z("MobxHooks",[],[],[`export const useUserInfo = ()=>{
|
|
4987
4987
|
return window.$global.userInfo ?? {};
|
|
4988
|
-
}`])}}});var Zn=ee,Z={...Zn.functions,...J.functions},rr=P("react codegen");function rn(n){return de(n.identifier)}a(rn,"getComponentName");var De="children",ge=class n{static{a(this,"ReactFragment")}name;imports;hooks;children;ctx;options;constructor(e,r,i,o,s,l){this.name=e,this.imports=r,this.hooks=i,this.children=o,this.ctx=s,this.options=l,this.attrMap=new Map,this.directives=new Map}attrMap;directives;getImports(){return(0,X.uniq)([...this.imports,...this.hooks.map(e=>e.kind==="free"?e.import:{from:"react",import:`{${e.kind}}`}),{import:"{ observer }",from:"mobx-react-lite"},{from:"mobx",import:"{ toJS }"}].filter(V))}getHooks(){return this.hooks}getAttrMapStr(){let e=[];for(let[r,i]of this.attrMap)if(r!==De){let o=a(()=>{if(i.kind==="expr")return`{${i.payload}}`;{let s=i.payload;return s.includes('"')?`{${JSON.stringify(s)}}`:`${JSON.stringify(s)}`}},"getAttrValueStr");e.push({key:ke(r),value:o()})}return e.map(({key:r,value:i})=>` ${r}=${i}`).join("")}getMangledName(){return this.options?.mangledName??this.name}toJsx(e){let r=this.getAttrMapStr(),i=e?.rootAsFragment?"":this.name,o=a(()=>{let
|
|
4989
|
-
`)??"";function b(k){return(0,Xn.escape)(k).replace(/({|})/g,(c,p)=>`{'${p}'}`)}},"getChildrenStr")(),v
|
|
4988
|
+
}`])}}});var Zn=ee,Z={...Zn.functions,...J.functions},rr=P("react codegen");function rn(n){return de(n.identifier)}a(rn,"getComponentName");var De="children",ge=class n{static{a(this,"ReactFragment")}name;imports;hooks;children;ctx;options;constructor(e,r,i,o,s,l){this.name=e,this.imports=r,this.hooks=i,this.children=o,this.ctx=s,this.options=l,this.attrMap=new Map,this.directives=new Map}attrMap;directives;getImports(){return(0,X.uniq)([...this.imports,...this.hooks.map(e=>e.kind==="free"?e.import:{from:"react",import:`{${e.kind}}`}),{import:"{ observer }",from:"mobx-react-lite"},{from:"mobx",import:"{ toJS }"}].filter(V))}getHooks(){return this.hooks}getAttrMapStr(){let e=[];for(let[r,i]of this.attrMap)if(r!==De){let o=a(()=>{if(i.kind==="expr")return`{${i.payload}}`;{let s=i.payload;return s.includes('"')?`{${JSON.stringify(s)}}`:`${JSON.stringify(s)}`}},"getAttrValueStr");e.push({key:ke(r),value:o()})}return e.map(({key:r,value:i})=>` ${r}=${i}`).join("")}getMangledName(){return this.options?.mangledName??this.name}toJsx(e){let r=this.getAttrMapStr(),i=e?.rootAsFragment?"":this.name,o=a(()=>{let g=a(()=>{let y=this.attrMap.get(De);if(y)return y.kind==="string"?b(y.payload):`{${y.payload}}`;return e?.shallow?"":this.children.map(k=>k.toJsx()).join(`
|
|
4989
|
+
`)??"";function b(k){return(0,Xn.escape)(k).replace(/({|})/g,(c,p)=>`{'${p}'}`)}},"getChildrenStr")(),x=v();if(this.options?.slot){let y=this.options?.slot.scope;if(this.options?.slot.target&&y)return{body:`(${y}: any) => ${x}`}}return{body:x};function v(){return i?`<${i}${r}>${g}</${i}>`:`<>${g}</>`}},"getBody"),{body:s}=o(),l=this.directives.get("if");return l?`{(${this.ctx.resolveExprToString(l.expression.expr,Z,Z.withCtx(this.ctx))}) ? (${s}) : undefined}`:s}toFunctionComponentVariable(){let e=this.getMangledName(),r=this.toJsx({rootAsFragment:!0});function i(l){switch(l.kind){case"useCallback":{let u=l.body;return`const ${l.declaration} = useCallback(${u}, [${l.deps.join(",")}])`}case"useState":return`const [${l.declarations.join(",")}] = useState(${l.initial})`;case"useEffect":return`useEffect(${l.body}, [${l.deps.join(",")}])`;case"free":return`${l.code}`;default:$(l)}}a(i,"serializeReactHook");let o=`const ${e}: FC = observer(() => {
|
|
4990
4990
|
${this.hooks.map(i).join(`;
|
|
4991
4991
|
`)}
|
|
4992
4992
|
return (${r});
|
|
4993
|
-
});`,s=(0,X.uniq)([...this.getImports()]).filter(V);return{componentStr:o,imports:s}}toCode(){let{componentStr:e,imports:r}=this.toFunctionComponentVariable();return{code:e,imports:r}}static fromComponentIR(e){let r=rn(e),i=e.elements.map(s=>pe.functions.genReactFragment(s,e.stateContext)),o=ee.functions.produceHooks(e.stateContext);return new n(r,[...i.flatMap(s=>s.getImports())],[...o,...i.flatMap(s=>s.getHooks())],i,e.stateContext,{mangledName:`__${r}`})}bindEvent(e,r){let i=r?.handlerPrefix??"on-",o=e.__raw.name,s=`${i}${o}`,l=Z.__resolveName(this.ctx,e.handlerName);if(!l)throw new Error("cannot find event handler");let u=e.params,
|
|
4994
|
-
`)}}`}}a(u,"formatValuePayloadAsObjectStr"),this.attrMap.set("style",u(l))}bindDirective(e){this.directives.set(e.kind,e)}},z=class n{static{a(this,"ReactFileDescription")}fileName;imports;body;exports;folder;constructor(e,r,i,o,s){this.fileName=e,this.imports=r,this.body=i,this.exports=o,this.folder=s}get fileNameWithExt(){return this.fileName.includes(".")?this.fileName:`${this.fileName}.tsx`}getFolderPath(){if(this.folder)return Ye(this.folder)}getImports(){return[...this.imports,...this.body.flatMap(e=>e.getImports())].filter(V)}async serialize(e){let
|
|
4995
|
-
`),
|
|
4996
|
-
`),(0,X.uniq)(
|
|
4993
|
+
});`,s=(0,X.uniq)([...this.getImports()]).filter(V);return{componentStr:o,imports:s}}toCode(){let{componentStr:e,imports:r}=this.toFunctionComponentVariable();return{code:e,imports:r}}static fromComponentIR(e){let r=rn(e),i=e.elements.map(s=>pe.functions.genReactFragment(s,e.stateContext)),o=ee.functions.produceHooks(e.stateContext);return new n(r,[...i.flatMap(s=>s.getImports())],[...o,...i.flatMap(s=>s.getHooks())],i,e.stateContext,{mangledName:`__${r}`})}bindEvent(e,r){let i=r?.handlerPrefix??"on-",o=e.__raw.name,s=`${i}${o}`,l=Z.__resolveName(this.ctx,e.handlerName);if(!l)throw new Error("cannot find event handler");let u=e.params,g=u.at(0);if(u.length>1&&g){let x=u.map(v=>v.name).join(",");this.attrMap.set(s,{kind:"expr",payload:`(${g.name}) => ${l}(${x})`})}else this.attrMap.set(s,{kind:"expr",payload:l})}bindAttr(e){switch(e.kind){case"expr":{if(e.__raw.type==="string")this.attrMap.set(e.__raw.name,{kind:"string",payload:String(e.__raw.value)});else if(e.__raw.type==="dynamic")if(e.expression.expr){let r=Ue.functions.hackBindAttribute(this.ctx,e);if(r.concept==="BindEvent")return this.bindEvent(r,{handlerPrefix:""});let i=this.ctx.resolveExprToString(r.expression.expr,Z,Z.withCtx(this.ctx));this.attrMap.set(e.__raw.name,{kind:"expr",payload:i})}else{let r=`${e.__raw.nodePath}@${e.__raw.concept} \u7684expression \u4E3A\u7A7A`;rr.debug(r);return}else if(e.__raw.type==="static"){if(e.__raw.name==="children"){this.attrMap.set(e.__raw.name,{kind:"string",payload:String(e.__raw.value)});return}jn(e.__raw.value)&&this.attrMap.set(e.__raw.name,{kind:"expr",payload:String(e.__raw.value)})}return}case"render":{let r=pe.functions.genReactFragment(e.component,this.ctx),i=r.toJsx();this.imports.push(...r.getImports()),this.attrMap.set(e.name,{kind:"expr",payload:i});return}case"validation-rules":{let r=e.rules.map(i=>this.ctx.resolveExprToString(i,Z,Z.withCtx(this.ctx)));this.attrMap.set(e.name,{kind:"expr",payload:`[${r.join(", ")}]`});return}default:W(e)}}setStyleAndStaticStyle(e,r){if(e.length===0&&!r)return;let i=on(r);e.forEach(g=>{if(!g.name)throw new Error(g.nodePath);if(g.expression&&(i[g.name]=g,!(0,tn.isBindStyle)(g)))throw new Error(`${g} is not bindStyle`)});let o=this;function s(g){return g.replace(/-([a-z])/g,(x,v)=>v.toUpperCase())}a(s,"cssPropertyNameToReactStyleObjectKey");let l=Object.entries(i).map(([g,x])=>{if((0,X.isObject)(x)&&(0,tn.isBindStyle)(x)){let v=s(g),y=o.ctx.resolveExprToString(x.expression,Z,Z.withCtx(o.ctx));return v==="backgroundImage"?{kind:"expr",payload:`\`url(\${${y}})\``,key:v}:{kind:"expr",payload:y,key:v}}else if((0,X.isString)(x))return{kind:"string",payload:x,key:g}}).filter(V);function u(g){return{kind:"expr",payload:`{${g.map(v=>{let y=t();return`${JSON.stringify(v.key)}: ${y}`;function t(){return v.kind==="expr"?v.payload:`${JSON.stringify(v.payload)}`}}).join(`,
|
|
4994
|
+
`)}}`}}a(u,"formatValuePayloadAsObjectStr"),this.attrMap.set("style",u(l))}bindDirective(e){this.directives.set(e.kind,e)}},z=class n{static{a(this,"ReactFileDescription")}fileName;imports;body;exports;folder;constructor(e,r,i,o,s){this.fileName=e,this.imports=r,this.body=i,this.exports=o,this.folder=s}get fileNameWithExt(){return this.fileName.includes(".")?this.fileName:`${this.fileName}.tsx`}getFolderPath(){if(this.folder)return Ye(this.folder)}getImports(){return[...this.imports,...this.body.flatMap(e=>e.getImports())].filter(V)}async serialize(e,r){let i=this.exports,o=this.body.map(v=>v.toCode()),l=this.getImports().map(e),g=[(0,X.uniq)(l).join(`
|
|
4995
|
+
`),o.map(v=>v.code).join(`
|
|
4996
|
+
`),(0,X.uniq)(i).join(`
|
|
4997
4997
|
`)].join(`
|
|
4998
|
-
`)
|
|
4999
|
-
${
|
|
4998
|
+
`);return this.fileNameWithExt.endsWith(".tsx")&&(g=`//@ts-nocheck
|
|
4999
|
+
${g}`),r?.noFormat?g:await $e.functions.format(g)}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.body),this.exports.push(...e.exports),this):this}static empty(e){return new n(e??"NoName",[],[],[])}};function ir(n){return qe(n.component)&&n.component.tag==="template"?"":n.component.tag}a(ir,"getReactComponentName");var pe=M({name:"reactCodeGen",functions:{genReactFragment(n,e){let r={...be.functions,...pe.functions,...fe.functions,...nn.functions},i=[{from:"react",import:"React"},{from:"react",import:"{type FC}"}],o=[];r.preprocessForSlots(n);let s=n.children.map(g=>r.genReactFragment(g,e));s.forEach(g=>{o.push(...g.getHooks()),i.push(...g.getImports())});let l=ir(n),u=new ge(l,i,o,s,e,{slot:n.slot});l&&qe(n.component)&&i.push({from:`${n.component.libraryName}`,import:`{${n.component.tag}}`}),u.setStyleAndStaticStyle(n.__raw.bindStyles??[],n.__raw.staticStyle??"");for(let g of n.events)u.bindEvent(g);for(let g of n.attrs)u.bindAttr(g);for(let g of n.directives)u.bindDirective(g);return u},genReactComponent(n,e){let r=rn(n),i=ge.fromComponentIR(n);return[new z(r,(0,X.uniq)(i.getImports()),[i],[`export default ${i.getMangledName()}`],e)]},recursivelyGenReactComponent(n,e,r){let i={...pe.functions};return e.set(n,r?Ye(r):"/"),(0,X.flatten)([i.genReactComponent(n,r),n.childComponents.flatMap(o=>i.recursivelyGenReactComponent(o,e,[...r??[],{name:n.identifier}]))])},buildRoutes(n,e){let r={...be.functions,...fe.functions},{routes:i}=r.extractRoute(n,"/",{lazy:!0}),{code:o,imports:s}=r.routeToCode(i,e);return new z("Router",[...s],[],[o])},buildPlatformConfig(n){let e={...be.functions,...fe.functions},{authResourcePaths:r,baseResourcePaths:i}=e.extractRoute(n.views,"/",{lazy:!1}),o={...n.configs.basePlatformConfig,authResourcePaths:r,baseResourcePaths:i};return new z("platform.config.ts",[],[],[`export default ${Tn(o)}`])},buildInit(n){let e={...J.functions},r="",o=n.configs.document.icon?`
|
|
5000
5000
|
{
|
|
5001
5001
|
const link = document.createElement('link');
|
|
5002
5002
|
link.rel = 'shortcut icon';
|
|
@@ -5012,7 +5012,7 @@ ${h}`:h}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.b
|
|
|
5012
5012
|
${r}
|
|
5013
5013
|
}
|
|
5014
5014
|
init();
|
|
5015
|
-
`])},async buildMasterCss(n,e){P("buildMasterCss").info(e);let i=e.map(o=>o.kind==="standard"?`@import './packages/${o.name}@${o.version}/dist-theme/index.css';`:`@import './packages/extension/${o.name}@${o.version}/dist-theme/index.css';`);return new z("index.css",[],[],[...i,n])},async buildGlobalFrontendVariableFile(n,e){let r=n.map(o=>{let s=`${JSON.stringify(o.name)}`,l=u();if(l)return`${o.name} = ${l};`;return`${o.name}: any;`;function u(){let
|
|
5015
|
+
`])},async buildMasterCss(n,e){P("buildMasterCss").info(e);let i=e.map(o=>o.kind==="standard"?`@import './packages/${o.name}@${o.version}/dist-theme/index.css';`:`@import './packages/extension/${o.name}@${o.version}/dist-theme/index.css';`);return new z("index.css",[],[],[...i,n])},async buildGlobalFrontendVariableFile(n,e){let r=n.map(o=>{let s=`${JSON.stringify(o.name)}`,l=u();if(l)return`${o.name} = ${l};`;return`${o.name}: any;`;function u(){let g=o.defaultValue?.expression?e.resolveExprToString(o.defaultValue.expression,Z,Z.withCtx(e)):void 0;if(o.localCache){let x=`loadFromLocalStorage(${s})`;return g?`${x} ?? ${g}`:x}else if(g)return g}}).join(`
|
|
5016
5016
|
`),i=JSON.stringify(n.filter(o=>o.localCache).map(o=>o.name));return new z("global-variables.tsx",[{from:"mobx",import:"{makeAutoObservable, observe}"},{from:"./Hooks",import:"{genInitFromSchema, nasl}"}],[],[`
|
|
5017
5017
|
const loadFromLocalStorage = (key: string)=> {
|
|
5018
5018
|
const value = globalThis.localStorage[key];
|
|
@@ -5052,7 +5052,7 @@ ${h}`:h}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.b
|
|
|
5052
5052
|
return {
|
|
5053
5053
|
${e.map(i=>`${i.name}: ${de(i.name)}`)}
|
|
5054
5054
|
};
|
|
5055
|
-
}`])},async genFiles(n,e){let r={...be.functions,...pe.functions,...fe.functions,...Ze.functions,...Ae.functions},i=z.empty("Hooks").merge(new z("",[{from:"./init"}],[],[])).merge(Zn.functions.__hooksDefinitions()).merge(fe.functions.__hooksDefinitions()).merge(Ze.functions.__hooksDefinitions()).merge(Ue.functions.__hooksDefinitions()).merge(r.buildLibraryHook(n.packages)).merge(new z("",[],[],["export {nasl, genInitFromSchema};"])),o=r.buildApiStubFile(n.apis,n.configs.metaData),s=new WeakMap,l=n.views.flatMap(t=>r.recursivelyGenReactComponent(t,s)),u=r.buildRoutes(n.views,s),
|
|
5055
|
+
}`])},async genFiles(n,e){let r={...be.functions,...pe.functions,...fe.functions,...Ze.functions,...Ae.functions},i=z.empty("Hooks").merge(new z("",[{from:"./init"}],[],[])).merge(Zn.functions.__hooksDefinitions()).merge(fe.functions.__hooksDefinitions()).merge(Ze.functions.__hooksDefinitions()).merge(Ue.functions.__hooksDefinitions()).merge(r.buildLibraryHook(n.packages)).merge(new z("",[],[],["export {nasl, genInitFromSchema};"])),o=r.buildApiStubFile(n.apis,n.configs.metaData),s=new WeakMap,l=n.views.flatMap(t=>r.recursivelyGenReactComponent(t,s)),u=r.buildRoutes(n.views,s),g=await r.buildMasterCss(n.configs.themeCSS,n.packages),x=await r.buildGlobalFrontendVariableFile(n.configs.globalVariables,n.baseCtx),v=new Yn.Container;return v.bind(O.FileSystemProvider).to(me),v.bind(O.ProjectOrganizer).to(Ce),await v.get(O.ProjectOrganizer).organize({baseDir:e,project:{api:o,utils:i,routes:u,views:l,platformConfig:r.buildPlatformConfig(n),init:r.buildInit(n),masterCss:g,globalVariables:x},options:{noFormat:!n.configs.config.isExport}})}}});function on(n){try{let e=$n.parse(n);return _n.default.objectify(e)}catch{return{}}}a(on,"styleStringToInlineObject");var _e=M({name:"JsxCodeGen",functions:{printJSX(n,e){return ge.fromComponentIR(n).toJsx(e)},printTag(n){return`<${n} />`}}});var rt=require("inversify");var et=`
|
|
5056
5056
|
if(window.ICESTARK && window.ICESTARK.root) {
|
|
5057
5057
|
Object.assign(window.ICESTARK, {
|
|
5058
5058
|
appEnter({ container, customProps }) {
|
|
@@ -5150,7 +5150,7 @@ ${h}`:h}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.b
|
|
|
5150
5150
|
} else {
|
|
5151
5151
|
loadAssets();
|
|
5152
5152
|
}
|
|
5153
|
-
`;var or={qiankun:nt,icestark:et};function tt(n){if(n.type==="h5")return"";let{framework:e,name:r,routePrefix:i,proxyPrefix:o,loginUrl:s,noAuthUrl:l,notFoundUrl:u}=n.app.integration?.microApp||{};e||="icestark",s===`${i}${n.basePath}/login`&&(s=void 0),l===`${i}${n.basePath}/noAuth`&&(l=void 0),u===`${i}${n.basePath}/notFound`&&(u=void 0);let
|
|
5153
|
+
`;var or={qiankun:nt,icestark:et};function tt(n){if(n.type==="h5")return"";let{framework:e,name:r,routePrefix:i,proxyPrefix:o,loginUrl:s,noAuthUrl:l,notFoundUrl:u}=n.app.integration?.microApp||{};e||="icestark",s===`${i}${n.basePath}/login`&&(s=void 0),l===`${i}${n.basePath}/noAuth`&&(l=void 0),u===`${i}${n.basePath}/notFound`&&(u=void 0);let g=JSON.stringify({name:r||void 0,routePrefix:i||void 0,proxyPrefix:o||void 0,loginUrl:s||void 0,noAuthUrl:l||void 0,notFoundUrl:u||void 0});return or[e].replace(/\{properties\}/g,g)}a(tt,"integrateMicroApp");function sr(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(sr,"_ts_decorate");var Ie=class{static{a(this,"MicroFrontendPlugin")}produceScript(e){return tt(e)}};Ie=sr([(0,rt.injectable)()],Ie);var ps=require("@abraham/reflection"),Ge=require("inversify");function ar(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(ar,"_ts_decorate");function it(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(it,"_ts_metadata");function cr(n,e){return function(r,i){e(r,i,n)}}a(cr,"_ts_param");var sn=class{static{a(this,"LifeCycleHooksPlugin")}fileSystemProvider;constructor(e){this.fileSystemProvider=e}afterAllFilesGenerated(){}};sn=ar([(0,Ge.injectable)(),cr(0,(0,Ge.inject)(O.FileSystemProvider)),it("design:type",Function),it("design:paramtypes",[typeof GeneratorInfrastructureDomain>"u"||typeof GeneratorInfrastructureDomain.FileSystemProvider>"u"?Object:GeneratorInfrastructureDomain.FileSystemProvider])],sn);var As=require("@abraham/reflection"),ve=require("inversify");function lr(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(lr,"_ts_decorate");function ot(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(ot,"_ts_metadata");function an(n,e){return function(r,i){e(r,i,n)}}a(an,"_ts_param");var pr=P("ReactPresetPlugin"),Ee=class{static{a(this,"ReactPresetPlugin")}irBuilder;microFrontendManager;fileSystemProvider;constructor(e,r,i){this.irBuilder=e,this.microFrontendManager=r,this.fileSystemProvider=i}async transpile(e){let r={...pe.functions},i=Re(e.app);try{let o=en(i),s=o.findNodeByPath(e.frontend.nodePath),l=this.irBuilder.buildIR(o,s,e.config),u=this.microFrontendManager.produceScript(s);pr.debug({script:u});let x=[...await r.genFiles(l,e.baseDir),{path:"/src/entry/index.tsx",content:`
|
|
5154
5154
|
import '../init';
|
|
5155
5155
|
import {renderApp} from './helper';
|
|
5156
5156
|
|
|
@@ -5178,6 +5178,6 @@ window.LazyLoad.css(\${JSON.stringify(cssAssets)})\`;
|
|
|
5178
5178
|
${u};
|
|
5179
5179
|
})();\`;
|
|
5180
5180
|
}
|
|
5181
|
-
`}];for(let
|
|
5182
|
-
`)??[],c=ut(n,r,e),p=w(n,r),m=t.read("/rspack.config.js");m&&t.write("/rspack.config.js",m.replace("const backendUrl = '';",`const backendUrl = '${p}'`).replace("alias: {}",`alias: {${k}}`).replace("const publicPath = '';",`const publicPath = '${c}';`));function w(f,
|
|
5183
|
-
`)??"";throw i.error("\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF"),
|
|
5181
|
+
`}];for(let v of x)this.fileSystemProvider.write(v.path,v.content);return x}catch(o){throw o}}};Ee=lr([(0,ve.injectable)(),an(0,(0,ve.inject)(O.IRBuilder)),an(1,(0,ve.inject)(O.MicroFrontendManager)),an(2,(0,ve.inject)(O.FileSystemProvider)),ot("design:type",Function),ot("design:paramtypes",[typeof NASLDomain>"u"||typeof NASLDomain.IRBuilder>"u"?Object:NASLDomain.IRBuilder,typeof JavaScriptDomain>"u"||typeof JavaScriptDomain.FrontendApplicationDomain>"u"||typeof JavaScriptDomain.FrontendApplicationDomain.MicroFrontendManager>"u"?Object:JavaScriptDomain.FrontendApplicationDomain.MicroFrontendManager,typeof GeneratorInfrastructureDomain>"u"||typeof GeneratorInfrastructureDomain.FileSystemProvider>"u"?Object:GeneratorInfrastructureDomain.FileSystemProvider])],Ee);function cn(){let n=new st.Container;return n.bind(O.NASLTranspiler).to(Ee),n.bind(O.IRBuilder).to(Ne),n.bind(O.MicroFrontendManager).to(Ie),n.bind(O.FileSystemProvider).to(me).inSingletonScope(),n}a(cn,"makeDefaultContainer");async function ln(n,e,r,i="./out",o){let s=P("\u7FFB\u8BD1\u8FC7\u7A0B");s.debug({config:r});async function l(){s.info("\u5F00\u59CB\u7FFB\u8BD1");try{let g=await o.get(O.NASLTranspiler).transpile({app:n,frontend:e,config:r,baseDir:i});return o.isBound(O.CodeGenerationLifecycleHooks)&&o.getAll(O.CodeGenerationLifecycleHooks).forEach(x=>{x.afterAllFilesGenerated()}),g}catch(g){throw s.error(g),g}finally{s.info("\u7FFB\u8BD1\u7ED3\u675F")}}return a(l,"genCode"),await l()??[]}a(ln,"translateNASLToReactApp");function at(n,e,r){let i=`${e.USER_STATIC_URL}/${e.tenant}/${n.id}/${e.env}`;return r&&i.startsWith("//")?`${r}:${i}`:i}a(at,"getBasePath");function dr(n){try{let e=new URL(n);return e.protocol==="http:"||e.protocol==="https:"?n:"https://"+n}catch{return`https://${n}`}}a(dr,"ensureUrlHasProtocol");function ct(n){return dr(n.replace(/^\/\//,""))}a(ct,"normalizeStaticUrl");var lt=require("@lcap/nasl/out/concepts/utils/asserts");function ur(n){let e=P("extractFrontendDeps"),r=n.dependencies.filter(s=>!(0,lt.isConnector)(s)&&!!s.frontends?.length);e.info({packageInfo:n.packageInfos});let i=[...r.map(({name:s,version:l})=>({name:s,version:l,kind:"extension"}))],o={name:"@lcap/pc-react-ui",version:"1.0.0",kind:"standard"};return i.push(o),i}a(ur,"extractFrontendDeps");async function pt(n,e,r,i){let o=P("downloadDependenciesToProject"),s=ur(n);if(s.length===0){o.info("\u65E0\u4F9D\u8D56\u5E93");return}else o.info({feExtensions:s.map(x=>`${x.name}@${x.version}`)},"\u524D\u7AEF\u4F9D\u8D56\u5E93\u5217\u8868");o.info("\u5F00\u59CB\u4E0B\u8F7D\u524D\u7AEF\u4F9D\u8D56\u5E93");let l=ct(i.STATIC_URL),u=i.axios,g=await Promise.all(s.map(async x=>{o.info({ext:x},"\u4E0B\u8F7D\u4F9D\u8D56\u5E93");let y=`packages${x.kind==="extension"?"/extension":""}/${x.name}@${x.version}`,t=`${y}/dist-theme`,b=`${l}/${y}`,k=await p(x);o.debug({sources:k});let c=k.map(m=>{let w=`${l}/${m}`;return o.debug({url:w,source:m}),{url:w,source:m}});r.write(`/src/${y}/dist-theme/index.css`,""),o.info({urls:c.map(m=>m.url)},"\u4E0B\u8F7D\u6587\u4EF6\u5217\u8868");try{await Promise.all([...c.map(async({source:m,url:w})=>{o.debug({url:w},"\u6B63\u5728\u4E0B\u8F7D");try{let h=(await u.get(w,{responseType:"text"})).data,A=`/src/${m}`;r.write(A,h),o.debug({vfsPath:A},"\u5199\u5165\u865A\u62DF\u6587\u4EF6\u7CFB\u7EDF\u8DEF\u5F84")}catch(f){o.error({url:w,error:f},"\u4E0B\u8F7D\u5931\u8D25")}o.debug({url:w},"\u4E0B\u8F7D\u6210\u529F")})])}catch(m){o.error(m)}async function p({name:m,version:w}){if(m==="@lcap/pc-react-ui")return["index.js","index.css"].map(j=>`packages/${m}@${w}/dist-theme/${j}`);let f=`${b}/manifest`,S=(await u.get(f,{responseType:"text"})).data.split(/\n/).filter(j=>j.trim().startsWith(t)).map(j=>j.split(":")[0].trim());return S.length===0?[`${y}/dist-theme/index.js`]:S}return a(p,"listPackageSources"),{packagePath:b,sources:k,projectPath:y,...x}}));return o.info("\u4F9D\u8D56\u5E93\u4E0B\u8F7D\u5B8C\u6210"),o.debug(g),g}a(pt,"downloadDependenciesToProject");var Ke=class{static{a(this,"VirtualProject")}fileDict;constructor(e){this.fileDict=e}mutateFile(e,r,i={}){this.fileDict[e]={...i,code:r}}getFileDict(){return{files:this.fileDict}}readFile(e){return this.fileDict[e].code}};async function mr(n,e,r,i,o){let s=i??cn(),l=P("compileAsProject");l.info("\u5F00\u59CB\u7F16\u8BD1\u9759\u6001\u4EA7\u7269"),l.info("\u8F7D\u5165\u9879\u76EE\u6A21\u677F");let u=s.get(O.FileSystemProvider);Object.entries(gn.files).forEach(([t,b])=>{u.write(t,b.code)});let g=pt(n,e,u,{STATIC_URL:r.STATIC_URL,axios:o??pn.default.create()}),x=await ln(n,e,r,"/",s);await y(u),l.debug(Object.keys(u.toJSON()),"\u751F\u6210\u7684\u6587\u4EF6");let v=new Ke({});return Object.entries(u.toJSON()).forEach(([t,b])=>{v.mutateFile(t,b??"")}),v;async function y(t){let k=(await g)?.map(f=>{let h=f.sources.find(A=>A.endsWith("/index.js"));if(h)return{name:f.name,resolvedTo:`./src/${h}`,scope:f.kind==="extension"?"@extension":void 0}}).filter(V).map(f=>`'${f.scope?`${f.scope}/${f.name}`:f.name}' : path.resolve(__dirname, '${f.resolvedTo}'),`).join(`
|
|
5182
|
+
`)??[],c=ut(n,r,e),p=w(n,r),m=t.read("/rspack.config.js");m&&t.write("/rspack.config.js",m.replace("const backendUrl = '';",`const backendUrl = '${p}'`).replace("alias: {}",`alias: {${k}}`).replace("const publicPath = '';",`const publicPath = '${c}';`));function w(f,h){return h.isExport?"localhost:8080":`http://${h.env}.${f.name}.${h.tenant}.${h.lowcodeDomain}`}a(w,"getBackendPath")}a(y,"configRspack")}a(mr,"compileAsProject");function ut(n,e,r){if(e.isExport)return"/";let i=`${at(n,e)}${r.basePath??""}`;return i.endsWith("/")?i:`${i}/`}a(ut,"getPublicPath");async function fr(n,e,r){let i=P("compileNASLToReactDist");r={...r,STATIC_URL:r.STATIC_URL||globalThis?.appInfo?.STATIC_URL};let o=ut(n,r,e);i.info("\u8C03\u7528\u7F16\u8BD1\u63A5\u53E3\uFF0C\u8F93\u51FA\u9759\u6001\u6587\u4EF6");try{let l=(await pn.default.post("/api/v1/app/compileNaslToDist",{config:r,appId:n.id,frontendNodePath:e.nodePath,app:Re(n)}).then(u=>{if(u?.data?.code!==200){let x=u.data?.message??"\u539F\u56E0\u672A\u77E5",v=u.data?.errorPayload?.logs?.join(`
|
|
5183
|
+
`)??"";throw i.error("\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF"),v&&console.error(v),x?new Error(`\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF: ${x}`):new Error("\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF")}return u.data.result.files})).map(u=>{let g=o+(0,dt.trimStart)(u.path,"/");return{...u,path:g}});return i.info("\u7F16\u8BD1\u7ED3\u679C",l.map(u=>u.path)),l}catch(s){throw s}}a(fr,"compileNASLToReactDist");0&&(module.exports={ApiClientIdentifier,FileSystemPlugin,LifeCycleHooksPlugin,Logger,MicroFrontendPlugin,NASLAppIRBuilderPlugin,PlacedFile,ProjectOrganizerPlugin,ReactChildrenPropName,ReactFileDescription,ReactFragment,ReactPresetPlugin,ReactRouterDefaultViewFolderName,ServiceMetaKind,StateActionIR,StateContextIR,VirtualProject,bindAttrToIR,bindEventToAction,bindViewElementEventToIR,codeFormatPlugin,compileAsProject,compileNASLToReactDist,defaultErrorMessageDict,deserializeAppWhileKeepTypeAnnotation,getComponentName,getRuntimeStr,javaScriptCodeGenPlugin,jsxCodeGenPlugin,logicToLogicIR,makeDefaultContainer,makePlugin,metadataPlugin,paramToIR,reactCodeGenPlugin,reactComponentLibHackPlugin,reactRouterPlugin,reactSlotPlugin,reactStateManagerMobxPlugin,reactStateManagerVanillaPlugin,routesExtractionPlugin,serializeAppWithKeepTypeAnnotation,styleStringToInlineObject,translateNASLToReactApp});
|