@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.mjs
CHANGED
|
@@ -4743,17 +4743,17 @@ export const useHandlePageNavigationEvent = ()=>{
|
|
|
4743
4743
|
},
|
|
4744
4744
|
"include": ["src"]
|
|
4745
4745
|
}
|
|
4746
|
-
`}},environment:"vanilla"};import{Container as io}from"inversify";import"@abraham/reflection";import{Argument as bt,Assignment as vt,BinaryExpression as xt,BindAttribute as kt,BindEvent as At,CallFunction as St,Identifier as an,Logic as ln,Param as pn,StringLiteral as dn,genMetaData as Nt}from"@lcap/nasl";import{isCallLogic as Pt,isConnector as jt,isIdentifier as De,isMemberExpression as Ct}from"@lcap/nasl/out/concepts/utils/asserts";import{injectable as Dt}from"inversify";import{isObject as Rt,pick as It}from"lodash";var $=class{static{a(this,"StateActionIR")}__raw;deps;params;logics;name;kind;constructor(e){Object.assign(this,e)}};function M(n){return n!=null}a(M,"isNotNil");function Ye(n){return Array.isArray(n)?n:[n]}a(Ye,"ensureArray");function Ze(){throw new Error("todo")}a(Ze,"todo");function q(n){let e=n?JSON.stringify(n):String(n);throw new Error(`not implemented for ${e}`)}a(q,"notImplemented");function O(n){let e=n?JSON.stringify(n):String(n);throw new Error(`never implemented for ${e}. Should never be here!`)}a(O,"neverImplemented");function G(n){throw new Error(`assertNever failed: ${n}`)}a(G,"assertNever");var $e=a(n=>n.startsWith("elements."),"isNameAElementRef"),_e=a(n=>n.split(".").at(1),"extractComponentNameFromElementRefName"),Pe=a(n=>`${n}Ref`,"componentNameToRefName");function je(n){return n.kind==="library"}a(je,"isComponentFromLib");function en(n){return n.tag==="template"}a(en,"isReferencedComponentATemplate");import{isFunction as lt}from"lodash";import pt from"pino";var dt=process.env.LOG_LEVEL||"info",ut=pt({level:dt,transport:{target:"pino-pretty",options:{colorize:!0}}});function N(n){return ut.child({},{msgPrefix:`[${n}] `})}a(N,"Logger");function nn(n){if(!lt(n))throw new Error;let e=n.name,r=Object.getOwnPropertyNames(n.prototype),i=N(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(nn,"logging");import{Argument as tn,CallFunction as mt,StringLiteral as ft,Unparsed as gt}from"@lcap/nasl";function Ce(n,e){let r=n?.split(".")||[],o=r[0]==="app"?1:0;return r.findIndex((s,l)=>l%2===o?s===e:!1)}a(Ce,"findConceptKeyWordIndexFromNamespace");function rn(n){let e=n.typeAnnotation||n.__TypeAnnotation,{sortedTypeKey:r,typeKind:i,typeName:o,typeNamespace:s}=e||{};if(s?.endsWith(".metadataTypes")){let b=(n.app.findNodeByCompleteName(s+"."+o)||{}).typeAnnotation||{};r=`${b.typeNamespace}.${b.typeName}`,i=b.typeKind,o=b.typeName}let l=e&&(!["primitive","union"].includes(i)||o==="DateTime"),d=n.defaultValue?.expression?n.defaultValue.expression:new gt({code:void 0});return l?mt.from({calleeName:"genInitFromSchema",arguments:[new tn({expression:new ft({value:r})}),new tn({expression:d})]},n.parentNode,n.parentKey):d}a(rn,"prepareVariableDefaultValue");import{firstUpperCase as ht}from"@lcap/nasl/out/utils/string";var se=a(n=>n.replaceAll("_","-").replace(/(?:-)([a-zA-Z0-9])/g,(e,r)=>r.toUpperCase()),"trueKebab2Camel"),_=a(n=>ht(se(n)),"kebab2Pascal");function on(n){return/^[A-Z]/.test(n)}a(on,"startsWithUpperCase");function sn(n){return M(n)&&n!==""}a(sn,"isNotEmptyString");function E({name:n,functions:e}){return{name:n,functions:e}}a(E,"makePlugin");var yt={enabled:!1,locale:"zh-CN",messages:{},I18nList:[]},ue=E({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:yt},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 wt(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 d=n.length-1;d>=0;d--)(l=n[d])&&(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(wt,"_ts_decorate");var me=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(Pe(e))??this.parentCtx?.findComponentRefByComponentName(e)}};function Et(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(Et,"collectTopLevelViews");function ee(n){return{name:n.name,typeAnnotation:n.__TypeAnnotation,defaultValue:n.defaultValue}}a(ee,"paramToIR");function Lt(n){if(e(n)||r(n)){if(r(n)){let i=St.from({calleeNamespace:"nasl.auth",calleeName:"has",arguments:[bt.from({expression:new dn({value:n.viewElement.authPath})})]},n.parentNode,n.parentKey);return{__raw:n,concept:n.concept,expression:ne(i),kind:"if"}}else{let i=n.expression;if(i)return{__raw:n,concept:n.concept,expression:ne(i),kind:"if"};J.debug({nodePath:n.nodePath},"\u65E0expression\u7684directive\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E")}return}else return J.error({nodePath:n.nodePath},`\u9047\u5230\u4E86\u4E0D\u652F\u6301\u7684 directive: ${n.name}`),q(n);function e(i){return i.name==="if"}a(e,"isIfDirective");function r(i){return i.name==="auth"}a(r,"isAuthDirective")}a(Lt,"bindDirectiveToIR");function ne(n){return{expr:n,deps:[]}}a(ne,"exprToIR");function ge(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=dn.from({value:n.value});if(n.sync)throw J.error({nodePath:n.nodePath},"string\u4E0D\u53EF\u4E3Async"),new Error("string\u4E0D\u53EF\u4E3Async");return{__raw:n,concept:n.concept,kind:"expr",expression:ne(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:ne(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:G(n)}}a(ge,"bindAttrToIR");function Z(n){return{logic:n,deps:[]}}a(Z,"logicToLogicIR");function un(n,e){return se(`${e??""}-${n}`)}a(un,"getHandlerName");function Ft(n){return{value:"change",checked:"change"}[n]??`${n}-change`}a(Ft,"inferChangeEventNameFromAttrName");function ae(n){return{__raw:n,logics:n.logics.map(Z),concept:n.concept,params:n.getContextLogicParams().map(ee),handlerName:un(n.name,n.parentNode?.name)}}a(ae,"bindViewElementEventToIR");function Ie(n){return{__raw:n.__raw,logics:n.logics,deps:[],name:n.handlerName,params:n.params,kind:"standalone"}}a(Ie,"bindEventToAction");var cn="@lcap/pc-react-ui";function Mt(n){let e=n.tag;if(on(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 J.error({viewElement:It(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(Mt,"getReferencedLibComponent");function Tt(n){n.attrs.flatMap(r=>{if(r.kind==="expr"&&r.sync){if(r.expression.expr)return[r];J.debug(`${r.__raw.nodePath}\u7684expression\u4E3A\u7A7A\uFF0C\u4F46\u4ECD\u4E3A\u53CC\u5411\u7ED1\u5B9A\u3002\u5DF2\u5FFD\u7565\u3002`)}return[]}).forEach(r=>{J.debug({x:r},"\u6784\u9020\u53CC\u5411\u7ED1\u5B9A\u7684handler");let i=d(),o=i.params.at(0),s=new pn({name:o?.name??"event"}),l=ln.from({name:"_syncChange",body:[vt.from({left:r.expression.expr,right:s},r.__raw.parentNode,r.__raw.parentKey)],params:[s]});i.logics.unshift(Z(l)),o||i.params.push(ee(s));function d(){let g=Ft(r.name),b=un(g,r.__raw.parentNode?.name);J.trace({targetEventName:g,targetHandlerName:b});let v=n.events.find(t=>t.handlerName===b);if(v)return v;let h=ae(At.from({logics:[],name:"change"},r.__raw.parentNode,"bindEvents"));return n.events.push(h),h}a(d,"findOrCreateBindEvent")})}a(Tt,"prependBindEventForSyncBindAttribute");function mn(n){if(n.logics.length>1){let e=[],r=n.params.map(s=>pn.from(s)),i=n.logics.map(s=>{let l=`${n.name}_${s.logic.name}`,d=ln.from({...s.logic.toJSON(),params:r,name:l},s.logic.parentNode,s.logic.parentKey);return Z(d)}),o=new $({...n,logics:i});return e.push(o),i.forEach(s=>{let l=new $({...n,name:s.logic.name,logics:[s],kind:"standalone"});e.push(l)}),e}else return[n]}a(mn,"splitLogicsInActionToMultipleActions");function Ot(n){if(n.some(s=>s.kind!=="if"))throw J.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=xt.from({left:i,operator:"&&",right:s.expression.expr},s.__raw.parentNode,s.__raw.parentKey);return[{kind:"if",concept:"BindDirective",expression:ne(i),__raw:e.__raw}]}a(Ot,"mergeMultipleIfDirectivesIntoConjunctiveNormalForm");function fn(n,e){let r=e.bindAttrs.map(ge),o={directives:Ot(e.bindDirectives.map(Lt).filter(M)),attrs:r,events:e.bindEvents.map(ae).filter(M),children:e.children.map(l=>fn(n,l)),component:Mt(e),__raw:e,slot:{scope:e.slotScope||void 0,target:s(e.slotTarget)}};return Tt(o),o.events.forEach(l=>{let d=mn(Ie(l));for(let g of d)n.provideAction(g)}),o;function s(l){if(!(l==="default"||l===""))return l}a(s,"normalizeSlotTarget")}a(fn,"extractAsComponentInstanceIR");function zt(n){let e=[],r=[];return n.variables.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"static",value:ne(rn(o))},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),n.bindEvents.forEach(o=>{let s=new $({__raw:o,logics:o.logics.map(Z),deps:[],name:o.name,params:o.getContextLogicParams().map(ee),kind:"view-lifecycle"}),l=mn(s);r.push(...l)}),n.logics.forEach(o=>{r.push(new $({__raw:o,deps:[],name:o.name,params:o.params.map(ee),logics:[o].map(Z),kind:"standalone"}))}),n.params.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"url-param",__raw:ee(o),defaultValue:o.defaultValue?.expression?ne(o.defaultValue.expression):void 0},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),{consumedStateNames:[],providedStates:e,actions:r}}a(zt,"collectStatesAndActionsFromView");function Vt(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(Vt,"enhanceStateContext");function Re(n,e){if(e&&$e(e)){let r=_e(e);if(!r)return;let i=n.findComponentRefByComponentName(r);if(i)return i;let s={kind:"standalone",identifier:Pe(r),initialization:{kind:"component-ref",componentName:r},typeAnnotation:null};return n.provide(s),s}}a(Re,"provideAsComponentRefIfOk");function Ut(n){let e=new me([],[],[],null);return Vt(e)}a(Ut,"makeBaseCtx");var Ee="apiClient";function Qt(n,e){return e.provide({kind:"tree",identifier:Ee,initialization:{kind:"api-client"},typeAnnotation:null}),n.map(Z)}a(Qt,"collectApis");function Gt(n){return n.dependencies.map(r=>{if(!jt(r)&&r.frontends?.length)return r}).filter(M)}a(Gt,"collectFrontendExtensionModules");function Kt(n,e,r){let i=Et(n,e);return s(i,r);function s(l,d){return l.map(g=>{let b=s(g.children,d),{providedStates:v,actions:h}=zt(g),t=new me(v,[],h,d);x(t);let w=g.elements.map(p=>fn(t,p));return c(w),{__raw:g,childComponents:b,stateContext:t,identifier:g.name,elements:w};function x(p){g.traverseStrictChildren(u=>{if(Rt(u)&&"playground"in u&&(u.playground=[]),Ct(u)){if(De(u.object)&&De(u.property)&&u.object.name==="elements"&&u.property.name==="$ce"){let y=u.getAncestor("ViewElement");if(y){let m=`elements.${y.name}`,f=Re(p,m);f&&(u.emit=()=>{},u.parentNode&&(u.parentNode.emit=()=>{}),u.replaceNode({name:f.identifier,concept:"Identifier"}))}}else if(De(u.object)&&u.object.namespace==="elements.$ce.property"){let y=u.getAncestor("ViewElement");if(y){let m=`elements.${y.name}`,f=Re(p,m);f&&(u.object=new an({name:f.identifier}))}}}else if(Pt(u)){let y=Re(p,u.calleeNamespace);y&&(u.calleeNamespace=y.identifier)}})}a(x,"resolveComponentRef");function c(p){p.forEach(u=>{let y=t.findComponentRefByComponentName(u.__raw.name);if(y){let m=ge(new kt({name:"ref",type:"dynamic",expression:new an({name:y.identifier})}));u.attrs.push(m)}c(u.children)})}a(c,"recursivelyBindRefAttrIfNecessary")})}}a(Kt,"collectAllViews");var J=N("IR builder"),fe=class{static{a(this,"NASLAppIRBuilderPlugin")}buildIR(e,r,i){let o=Ut(r.variables),s=Qt(e.logics,o),l=Kt(e,r,o);return{baseCtx:o,configs:d(),apis:s,views:l,packages:g()};function d(){let v={...ue.functions}.makeBasePlatformConfig(e,r,i),h=Nt(e,r,i),t=r.bindEvents.map(ae).filter(M);return{config:i,basePlatformConfig:v,events:t,metaData:h,globalVariables:r.variables,themeCSS:r.genThemeCSS(),document:{icon:r.documentIcon}}}function g(){let b=Gt(e).map(v=>({kind:"extension",name:v.name,version:v.version,hasCss:!0}));return J.debug({extensionPackages:b}),[...b,{kind:"standard",name:"@lcap/pc-react-ui",version:"1.0.0"}]}}};fe=wt([Dt()],fe);import{Argument as hn,CallFunction as Bt,Identifier as ce,MemberExpression as Ht,StringLiteral as yn,Unparsed as qt,asserts as Wt,transfromMetadataType as Le,transfromUnionTypeAnnotation as wn}from"@lcap/nasl";import{isAbort as Jt,isAnchor as Xt,isAnonymousFunction as Yt,isArgument as Zt,isAssignee as $t,isAssignment as _t,isBatchAssignment as er,isBinaryExpression as nr,isBindAttribute as bn,isBlock as tr,isBooleanLiteral as rr,isCallAuthInterface as ir,isCallConnector as or,isCallFunction as vn,isCallInterface as sr,isCallLogic as he,isCallQueryComponent as ar,isComment as cr,isDefaultValue as xn,isDestination as lr,isEnd as pr,isExternalDestination as dr,isForEachStatement as ur,isIdentifier as ye,isIfStatement as mr,isJSBlock as fr,isJavaLogic as gr,isLogic as hr,isLogicItem as yr,isMatch as kn,isMatchCase as wr,isMemberExpression as br,isNew as vr,isNewComposite as An,isNewList as Sn,isNewMap as xr,isNullLiteral as kr,isNumericLiteral as Ar,isOqlQueryComponent as Sr,isParam as Nr,isProcessOutcome as Pr,isProcessOutcomes as jr,isQueryAggregateExpression as Cr,isQueryFieldExpression as Dr,isQueryFromExpression as Rr,isQueryGroupByExpression as Ir,isQueryJoinExpression as Er,isQueryLimitExpression as Lr,isQueryOrderByExpression as Fr,isQuerySelectExpression as Mr,isReturn as Tr,isSqlQueryComponent as Or,isStart as zr,isStringInterpolation as Vr,isStringLiteral as Ur,isSubLogic as Qr,isSwitchCase as Gr,isSwitchStatement as Nn,isUnaryExpression as Kr,isUnparsed as Br,isValidationRule as Hr,isVariable as qr,isWhileStatement as Wr}from"@lcap/nasl/out/concepts/utils/asserts";import*as Pn from"json5";import{isNil as Jr}from"lodash";var gn={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 we=N("JavaScriptCodeGen");function z(n,e){return r(o(n));function r(t){return yr(t)?h(t):hr(t)?l(t):d(t)}function i(t){let w=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:x,typeKind:c,typeName:p,typeNamespace:u}=w||{};if(u?.endsWith(".metadataTypes")){let m=t.app.findNodeByCompleteName(u+"."+p)?.typeAnnotation;m&&(x=`${m.typeNamespace}.${m.typeName}`,c=m.typeKind,p=m.typeName)}if(w&&(!["primitive","union"].includes(c??"")||p==="DateTime")){let m=r(t);return Bt.from({calleeName:"genInitFromSchema",arguments:[new hn({expression:new yn({value:x})}),new hn({expression:new qt({code:m})})]},t.parentNode,t.parentKey)}return t}function o(t){return vn(t)||he(t)||An(t)||xn(t)?i(t):t}function s(t){return`(${x()})=>(${w()})`;function w(){let c=t.logics[0];return z(c,e)}function x(){return t.params.map(c=>c.name).toString()}}function l(t){let w="async (";return Array.isArray(t.params)&&(w+=t.params.map(x=>x.name).toString()),w+=") => {",Array.isArray(t.params)&&t.params.forEach(x=>{let c=z(x,e);x.name!==c&&(w+=`${x.name} = ${c};
|
|
4746
|
+
`}},environment:"vanilla"};import{Container as io}from"inversify";import"@abraham/reflection";import{Argument as bt,Assignment as vt,BinaryExpression as xt,BindAttribute as kt,BindEvent as At,CallFunction as St,Identifier as an,Logic as ln,Param as pn,StringLiteral as dn,genMetaData as Nt}from"@lcap/nasl";import{isCallLogic as Pt,isConnector as jt,isIdentifier as De,isMemberExpression as Ct}from"@lcap/nasl/out/concepts/utils/asserts";import{injectable as Dt}from"inversify";import{isObject as Rt,pick as It}from"lodash";var $=class{static{a(this,"StateActionIR")}__raw;deps;params;logics;name;kind;constructor(e){Object.assign(this,e)}};function M(n){return n!=null}a(M,"isNotNil");function Ye(n){return Array.isArray(n)?n:[n]}a(Ye,"ensureArray");function Ze(){throw new Error("todo")}a(Ze,"todo");function q(n){let e=n?JSON.stringify(n):String(n);throw new Error(`not implemented for ${e}`)}a(q,"notImplemented");function O(n){let e=n?JSON.stringify(n):String(n);throw new Error(`never implemented for ${e}. Should never be here!`)}a(O,"neverImplemented");function G(n){throw new Error(`assertNever failed: ${n}`)}a(G,"assertNever");var $e=a(n=>n.startsWith("elements."),"isNameAElementRef"),_e=a(n=>n.split(".").at(1),"extractComponentNameFromElementRefName"),Pe=a(n=>`${n}Ref`,"componentNameToRefName");function je(n){return n.kind==="library"}a(je,"isComponentFromLib");function en(n){return n.tag==="template"}a(en,"isReferencedComponentATemplate");import{isFunction as lt}from"lodash";import pt from"pino";var dt=process.env.LOG_LEVEL||"info",ut=pt({level:dt,transport:{target:"pino-pretty",options:{colorize:!0}}});function N(n){return ut.child({},{msgPrefix:`[${n}] `})}a(N,"Logger");function nn(n){if(!lt(n))throw new Error;let e=n.name,r=Object.getOwnPropertyNames(n.prototype),i=N(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(nn,"logging");import{Argument as tn,CallFunction as mt,StringLiteral as ft,Unparsed as gt}from"@lcap/nasl";function Ce(n,e){let r=n?.split(".")||[],o=r[0]==="app"?1:0;return r.findIndex((s,l)=>l%2===o?s===e:!1)}a(Ce,"findConceptKeyWordIndexFromNamespace");function rn(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"),d=n.defaultValue?.expression?n.defaultValue.expression:new gt({code:void 0});return l?mt.from({calleeName:"genInitFromSchema",arguments:[new tn({expression:new ft({value:r})}),new tn({expression:d})]},n.parentNode,n.parentKey):d}a(rn,"prepareVariableDefaultValue");import{firstUpperCase as ht}from"@lcap/nasl/out/utils/string";var se=a(n=>n.replaceAll("_","-").replace(/(?:-)([a-zA-Z0-9])/g,(e,r)=>r.toUpperCase()),"trueKebab2Camel"),_=a(n=>ht(se(n)),"kebab2Pascal");function on(n){return/^[A-Z]/.test(n)}a(on,"startsWithUpperCase");function sn(n){return M(n)&&n!==""}a(sn,"isNotEmptyString");function E({name:n,functions:e}){return{name:n,functions:e}}a(E,"makePlugin");var yt={enabled:!1,locale:"zh-CN",messages:{},I18nList:[]},ue=E({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:yt},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 wt(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 d=n.length-1;d>=0;d--)(l=n[d])&&(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(wt,"_ts_decorate");var me=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(Pe(e))??this.parentCtx?.findComponentRefByComponentName(e)}};function Et(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(Et,"collectTopLevelViews");function ee(n){return{name:n.name,typeAnnotation:n.__TypeAnnotation,defaultValue:n.defaultValue}}a(ee,"paramToIR");function Lt(n){if(e(n)||r(n)){if(r(n)){let i=St.from({calleeNamespace:"nasl.auth",calleeName:"has",arguments:[bt.from({expression:new dn({value:n.viewElement.authPath})})]},n.parentNode,n.parentKey);return{__raw:n,concept:n.concept,expression:ne(i),kind:"if"}}else{let i=n.expression;if(i)return{__raw:n,concept:n.concept,expression:ne(i),kind:"if"};J.debug({nodePath:n.nodePath},"\u65E0expression\u7684directive\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E")}return}else return J.error({nodePath:n.nodePath},`\u9047\u5230\u4E86\u4E0D\u652F\u6301\u7684 directive: ${n.name}`),q(n);function e(i){return i.name==="if"}a(e,"isIfDirective");function r(i){return i.name==="auth"}a(r,"isAuthDirective")}a(Lt,"bindDirectiveToIR");function ne(n){return{expr:n,deps:[]}}a(ne,"exprToIR");function ge(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=dn.from({value:n.value});if(n.sync)throw J.error({nodePath:n.nodePath},"string\u4E0D\u53EF\u4E3Async"),new Error("string\u4E0D\u53EF\u4E3Async");return{__raw:n,concept:n.concept,kind:"expr",expression:ne(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:ne(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:G(n)}}a(ge,"bindAttrToIR");function Z(n){return{logic:n,deps:[]}}a(Z,"logicToLogicIR");function un(n,e){return se(`${e??""}-${n}`)}a(un,"getHandlerName");function Ft(n){return{value:"change",checked:"change"}[n]??`${n}-change`}a(Ft,"inferChangeEventNameFromAttrName");function ae(n){return{__raw:n,logics:n.logics.map(Z),concept:n.concept,params:n.getContextLogicParams().map(ee),handlerName:un(n.name,n.parentNode?.name)}}a(ae,"bindViewElementEventToIR");function Ie(n){return{__raw:n.__raw,logics:n.logics,deps:[],name:n.handlerName,params:n.params,kind:"standalone"}}a(Ie,"bindEventToAction");var cn="@lcap/pc-react-ui";function Mt(n){let e=n.tag;if(on(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 J.error({viewElement:It(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(Mt,"getReferencedLibComponent");function Tt(n){n.attrs.flatMap(r=>{if(r.kind==="expr"&&r.sync){if(r.expression.expr)return[r];J.debug(`${r.__raw.nodePath}\u7684expression\u4E3A\u7A7A\uFF0C\u4F46\u4ECD\u4E3A\u53CC\u5411\u7ED1\u5B9A\u3002\u5DF2\u5FFD\u7565\u3002`)}return[]}).forEach(r=>{J.debug({x:r},"\u6784\u9020\u53CC\u5411\u7ED1\u5B9A\u7684handler");let i=d(),o=i.params.at(0),s=new pn({name:o?.name??"event"}),l=ln.from({name:"_syncChange",body:[vt.from({left:r.expression.expr,right:s},r.__raw.parentNode,r.__raw.parentKey)],params:[s]});i.logics.unshift(Z(l)),o||i.params.push(ee(s));function d(){let f=Ft(r.name),v=un(f,r.__raw.parentNode?.name);J.trace({targetEventName:f,targetHandlerName:v});let b=n.events.find(t=>t.handlerName===v);if(b)return b;let h=ae(At.from({logics:[],name:"change"},r.__raw.parentNode,"bindEvents"));return n.events.push(h),h}a(d,"findOrCreateBindEvent")})}a(Tt,"prependBindEventForSyncBindAttribute");function mn(n){if(n.logics.length>1){let e=[],r=n.params.map(s=>pn.from(s)),i=n.logics.map(s=>{let l=`${n.name}_${s.logic.name}`,d=ln.from({...s.logic.toJSON(),params:r,name:l},s.logic.parentNode,s.logic.parentKey);return Z(d)}),o=new $({...n,logics:i});return e.push(o),i.forEach(s=>{let l=new $({...n,name:s.logic.name,logics:[s],kind:"standalone"});e.push(l)}),e}else return[n]}a(mn,"splitLogicsInActionToMultipleActions");function Ot(n){if(n.some(s=>s.kind!=="if"))throw J.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=xt.from({left:i,operator:"&&",right:s.expression.expr},s.__raw.parentNode,s.__raw.parentKey);return[{kind:"if",concept:"BindDirective",expression:ne(i),__raw:e.__raw}]}a(Ot,"mergeMultipleIfDirectivesIntoConjunctiveNormalForm");function fn(n,e){let r=e.bindAttrs.map(ge),o={directives:Ot(e.bindDirectives.map(Lt).filter(M)),attrs:r,events:e.bindEvents.map(ae).filter(M),children:e.children.map(l=>fn(n,l)),component:Mt(e),__raw:e,slot:{scope:e.slotScope||void 0,target:s(e.slotTarget)}};return Tt(o),o.events.forEach(l=>{let d=mn(Ie(l));for(let f of d)n.provideAction(f)}),o;function s(l){if(!(l==="default"||l===""))return l}a(s,"normalizeSlotTarget")}a(fn,"extractAsComponentInstanceIR");function zt(n){let e=[],r=[];return n.variables.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"static",value:ne(rn(o))},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),n.bindEvents.forEach(o=>{let s=new $({__raw:o,logics:o.logics.map(Z),deps:[],name:o.name,params:o.getContextLogicParams().map(ee),kind:"view-lifecycle"}),l=mn(s);r.push(...l)}),n.logics.forEach(o=>{r.push(new $({__raw:o,deps:[],name:o.name,params:o.params.map(ee),logics:[o].map(Z),kind:"standalone"}))}),n.params.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"url-param",__raw:ee(o),defaultValue:o.defaultValue?.expression?ne(o.defaultValue.expression):void 0},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),{consumedStateNames:[],providedStates:e,actions:r}}a(zt,"collectStatesAndActionsFromView");function Vt(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(Vt,"enhanceStateContext");function Re(n,e){if(e&&$e(e)){let r=_e(e);if(!r)return;let i=n.findComponentRefByComponentName(r);if(i)return i;let s={kind:"standalone",identifier:Pe(r),initialization:{kind:"component-ref",componentName:r},typeAnnotation:null};return n.provide(s),s}}a(Re,"provideAsComponentRefIfOk");function Ut(n){let e=new me([],[],[],null);return Vt(e)}a(Ut,"makeBaseCtx");var Ee="apiClient";function Qt(n,e){return e.provide({kind:"tree",identifier:Ee,initialization:{kind:"api-client"},typeAnnotation:null}),n.map(Z)}a(Qt,"collectApis");function Gt(n){return n.dependencies.map(r=>{if(!jt(r)&&r.frontends?.length)return r}).filter(M)}a(Gt,"collectFrontendExtensionModules");function Kt(n,e,r){let i=Et(n,e);return s(i,r);function s(l,d){return l.map(f=>{let v=s(f.children,d),{providedStates:b,actions:h}=zt(f),t=new me(b,[],h,d);x(t);let w=f.elements.map(p=>fn(t,p));return c(w),{__raw:f,childComponents:v,stateContext:t,identifier:f.name,elements:w};function x(p){f.traverseStrictChildren(u=>{if(Rt(u)&&"playground"in u&&(u.playground=[]),Ct(u)){if(De(u.object)&&De(u.property)&&u.object.name==="elements"&&u.property.name==="$ce"){let y=u.getAncestor("ViewElement");if(y){let m=`elements.${y.name}`,g=Re(p,m);g&&(u.emit=()=>{},u.parentNode&&(u.parentNode.emit=()=>{}),u.replaceNode({name:g.identifier,concept:"Identifier"}))}}else if(De(u.object)&&u.object.namespace==="elements.$ce.property"){let y=u.getAncestor("ViewElement");if(y){let m=`elements.${y.name}`,g=Re(p,m);g&&(u.object=new an({name:g.identifier}))}}}else if(Pt(u)){let y=Re(p,u.calleeNamespace);y&&(u.calleeNamespace=y.identifier)}})}a(x,"resolveComponentRef");function c(p){p.forEach(u=>{let y=t.findComponentRefByComponentName(u.__raw.name);if(y){let m=ge(new kt({name:"ref",type:"dynamic",expression:new an({name:y.identifier})}));u.attrs.push(m)}c(u.children)})}a(c,"recursivelyBindRefAttrIfNecessary")})}}a(Kt,"collectAllViews");var J=N("IR builder"),fe=class{static{a(this,"NASLAppIRBuilderPlugin")}buildIR(e,r,i){let o=Ut(r.variables),s=Qt(e.logics,o),l=Kt(e,r,o);return{baseCtx:o,configs:d(),apis:s,views:l,packages:f()};function d(){let b={...ue.functions}.makeBasePlatformConfig(e,r,i),h=Nt(e,r,i),t=r.bindEvents.map(ae).filter(M);return{config:i,basePlatformConfig:b,events:t,metaData:h,globalVariables:r.variables,themeCSS:r.genThemeCSS(),document:{icon:r.documentIcon}}}function f(){let v=Gt(e).map(b=>({kind:"extension",name:b.name,version:b.version,hasCss:!0}));return J.debug({extensionPackages:v}),[...v,{kind:"standard",name:"@lcap/pc-react-ui",version:"1.0.0"}]}}};fe=wt([Dt()],fe);import{Argument as hn,CallFunction as Bt,Identifier as ce,MemberExpression as Ht,StringLiteral as yn,Unparsed as qt,asserts as Wt,transfromMetadataType as Le,transfromUnionTypeAnnotation as wn}from"@lcap/nasl";import{isAbort as Jt,isAnchor as Xt,isAnonymousFunction as Yt,isArgument as Zt,isAssignee as $t,isAssignment as _t,isBatchAssignment as er,isBinaryExpression as nr,isBindAttribute as bn,isBlock as tr,isBooleanLiteral as rr,isCallAuthInterface as ir,isCallConnector as or,isCallFunction as vn,isCallInterface as sr,isCallLogic as he,isCallQueryComponent as ar,isComment as cr,isDefaultValue as xn,isDestination as lr,isEnd as pr,isExternalDestination as dr,isForEachStatement as ur,isIdentifier as ye,isIfStatement as mr,isJSBlock as fr,isJavaLogic as gr,isLogic as hr,isLogicItem as yr,isMatch as kn,isMatchCase as wr,isMemberExpression as br,isNew as vr,isNewComposite as An,isNewList as Sn,isNewMap as xr,isNullLiteral as kr,isNumericLiteral as Ar,isOqlQueryComponent as Sr,isParam as Nr,isProcessOutcome as Pr,isProcessOutcomes as jr,isQueryAggregateExpression as Cr,isQueryFieldExpression as Dr,isQueryFromExpression as Rr,isQueryGroupByExpression as Ir,isQueryJoinExpression as Er,isQueryLimitExpression as Lr,isQueryOrderByExpression as Fr,isQuerySelectExpression as Mr,isReturn as Tr,isSqlQueryComponent as Or,isStart as zr,isStringInterpolation as Vr,isStringLiteral as Ur,isSubLogic as Qr,isSwitchCase as Gr,isSwitchStatement as Nn,isUnaryExpression as Kr,isUnparsed as Br,isValidationRule as Hr,isVariable as qr,isWhileStatement as Wr}from"@lcap/nasl/out/concepts/utils/asserts";import*as Pn from"json5";import{isNil as Jr}from"lodash";var gn={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 we=N("JavaScriptCodeGen");function z(n,e){return r(o(n));function r(t){return yr(t)?h(t):hr(t)?l(t):d(t)}function i(t){let w=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:x,typeKind:c,typeName:p,typeNamespace:u}=w||{};if(u?.endsWith(".metadataTypes")){let m=t.app.findNodeByCompleteName(u+"."+p)?.typeAnnotation;m&&(x=`${m.typeNamespace}.${m.typeName}`,c=m.typeKind,p=m.typeName)}if(w&&(!["primitive","union"].includes(c??"")||p==="DateTime")){let m=r(t);return Bt.from({calleeName:"genInitFromSchema",arguments:[new hn({expression:new yn({value:x})}),new hn({expression:new qt({code:m})})]},t.parentNode,t.parentKey)}return t}function o(t){return vn(t)||he(t)||An(t)||xn(t)?i(t):t}function s(t){return`(${x()})=>(${w()})`;function w(){let c=t.logics[0];return z(c,e)}function x(){return t.params.map(c=>c.name).toString()}}function l(t){let w="async (";return Array.isArray(t.params)&&(w+=t.params.map(x=>x.name).toString()),w+=") => {",Array.isArray(t.params)&&t.params.forEach(x=>{let c=z(x,e);x.name!==c&&(w+=`${x.name} = ${c};
|
|
4747
4747
|
`)}),Array.isArray(t.variables)&&t.variables.forEach(x=>{w+=`let ${z(x,e)};
|
|
4748
4748
|
`}),Array.isArray(t.returns)&&t.returns.forEach(x=>{w+=`let ${z(x,e)};
|
|
4749
4749
|
`}),Array.isArray(t.body)&&t.body.forEach(x=>{if(Jr(x))throw we.error(`${t.nodePath} \u7684 body \u6709\u7A7A\u503C`),new Error("");w+=h(x),w+=`
|
|
4750
|
-
`}),w+="}",w}function d(t){if(Tr(t)){let p=function(u){let y="",m=u.typeAnnotation||u.__TypeAnnotation,
|
|
4750
|
+
`}),w+="}",w}function d(t){if(Tr(t)){let p=function(u){let y="",m=u.typeAnnotation||u.__TypeAnnotation,g=m&&(!["primitive","union"].includes(m.typeKind)||m.typeName==="DateTime");g&&(y+=`genInitFromSchema('${m?.sortedTypeKey}',`);let k=u.defaultValue?.toJS?.()??"undefined";return y+=k,g&&(y+=")"),y};var w=p;a(p,"makeRight");let x=e?.resolve?.({kind:"identifier",value:new ce({name:t.name})})??t.name,c=p(t);return`${x} = ${c}`}else if(Nr(t)){let x=t.defaultValue?z(t.defaultValue,e):void 0;return x?`${t.name} === undefined ? ${x} : ${t.name}`:`${t.name}`}else if(qr(t)){let x=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:c,typeKind:p,typeName:u,typeNamespace:y}=x||{};if(y?.endsWith(".metadataTypes")){let A=(t.app.findNodeByCompleteName(y+"."+u)||{}).typeAnnotation||{};c=`${A.typeNamespace}.${A.typeName}`,p=A.typeKind,u=A.typeName}let m=x&&(!["primitive","union"].includes(p)||u==="DateTime"),g=`${t.name} = `;if(m&&(g+=`genInitFromSchema('${c}',`),t.defaultValue?.expression){let k=z(t.defaultValue.expression,e);g+=k}else g+="undefined";return m&&(g+=")"),g}else if(xn(t)){let x="";return["Date","Time","DateTime"].includes(t.parentNode?.typeAnnotation?.typeName)&&t.expression?.value===""?"null":(x+=t.expression?z(t.expression,e):"undefined",x)}else return q(t)}function f(t){if(t.calleeNamespace){let w=t.calleeNamespace,x=w.startsWith("extensions."),c=w.startsWith("extensions.")&&w.includes(".frontends."),p=`'${t.calleeNamespace}.${t.calleeName}'`;return t.calleeNamespace.startsWith("app.dataSources.")?`apiClient[${p}]`:x?c?`$library['${w.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 ce({name:t.calleeName})})??t.calleeName}function v(t){let w=f(t),x=he(t)?c(t).join(", "):t.arguments.map(p=>h(p)).join(", ");return`${w}?.(${x})`;function c(p){let u="";u+=`
|
|
4751
4751
|
config: {
|
|
4752
4752
|
download: false,
|
|
4753
4753
|
},
|
|
4754
4754
|
headers: {
|
|
4755
4755
|
"lcap-calllogic-uuid": "${p.uuid}",
|
|
4756
|
-
},`;let y=p.calleeName;if(p.isProcessV2Logic)throw we.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 y=p.calleeName;if(p.isProcessV2Logic)throw we.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(g=>h(g));{let k=p.getCallNode()?.params||[],A=k.some(j=>j.spread),P=Ce(p.calleeNamespace,"entities"),R=Ce(p.calleeNamespace,"processes");if(P!==-1){let j=p.arguments,Q=!1;switch(y){case"get":case"delete":{j=[],u+="query: {";let U=k.map((D,S)=>{let K=p.arguments?.[S];return{keyword:D?.name,arg:K}}).map(D=>`
|
|
4757
4757
|
${D.keyword}: ${h(D.arg)}`).join(", ");u+=U,u+=`},
|
|
4758
4758
|
`;break}case"update":case"createOrUpdate":case"batchUpdate":{u+=`body: {
|
|
4759
4759
|
`;let U=j.map(D=>`${D.keyword==="body"?p.calleeName==="batchUpdate"?"entities":"entity":D.keyword}: ${h(D.expression)}`).join(`,
|
|
@@ -4773,17 +4773,17 @@ ${I?.keyword}: ${h(I)}`:u+="body: {}")}else{let j=R!==-1,Q=a(I=>!!I?.expression,
|
|
|
4773
4773
|
body: {`,!j){let I=[...k],U;A&&(U=I.pop());let D=I.map((W,C)=>{let Y=p.completeArguments[C];return{keyword:W?.name,arg:Y}}).filter(W=>Q(W.arg)),S=D.map(W=>`
|
|
4774
4774
|
${W?.keyword}: ${h(W?.arg)}`).join(", ");if(u+=S,D.length&&(u+=", "),A){let W=p.completeArguments.slice(I.length),C=a(T=>T?.expression,"isShowArgument"),Y=W.filter(T=>C(T)).map(T=>h(T)||"").join(", ");u+=`
|
|
4775
4775
|
${U.name}: [${Y}],`}let K=p.__TypeArguments?.length?p.__TypeArguments:p.typeArguments;Array.isArray(K)&&K.length&&(u+=`
|
|
4776
|
-
__typeArguments: ${Pn.stringify(K)}`)}u+="}"}}return[`{${u}}`];function m(
|
|
4777
|
-
`)}function h(t){if(Qr(t))return l(t);if(Yt(t)){let c=t.parentNode?.parentNode;return he(c)&&/dataSources\.[^.]+\.entities\.[^.]+\.logics/.test(c.calleeNamespace)&&["update","updateBy","createOrUpdate","batchUpdate"].includes(c.calleeName)?a(()=>{let u="[";return t.body&&Sn(t.body)&&t.body.items.forEach((y,m,
|
|
4778
|
-
${
|
|
4779
|
-
}`;return t.alternate.length?`${c} else {${
|
|
4776
|
+
__typeArguments: ${Pn.stringify(K)}`)}u+="}"}}return[`{${u}}`];function m(g){if(!g)return;if(g.concept==="Identifier"){let P=h(g);return{concept:g.concept,name:g.name,value:`__@@${P}@@__`,expression:P}}if(g.concept==="MemberExpression"){let{concept:P}=g,{value:R}=g;if(g?.object.name==="_")return{concept:P,name:g.name,value:R,object:g.object,property:g.property};let j=h(g);return g.object?.namespace==="app.enums"?(R=j.replace(/^"(.+)"$/,"$1"),j=void 0,P="StringLiteral"):R=`__@@${j}@@__`,{concept:P,name:g.name,value:R,expression:j}}let k;g.concept==="UnaryExpression"?k=m(g.argument):k=m(g.left);let A=m(g.right);return{concept:g.concept,name:g.name,value:g.value,expression:g.expression,operator:g.operator,left:k,right:A}}}}function b(t){return t.map(h).join(`;
|
|
4777
|
+
`)}function h(t){if(Qr(t))return l(t);if(Yt(t)){let c=t.parentNode?.parentNode;return he(c)&&/dataSources\.[^.]+\.entities\.[^.]+\.logics/.test(c.calleeNamespace)&&["update","updateBy","createOrUpdate","batchUpdate"].includes(c.calleeName)?a(()=>{let u="[";return t.body&&Sn(t.body)&&t.body.items.forEach((y,m,g)=>{u+=`'${h(y.property)}'`,m!==g.length-1&&(u+=",")}),u+="]",u},"toJSOfEntityLogicProperties")():s({logics:[t.body],params:t.params})}else{if(Jt(t))return"throw Error('\u7A0B\u5E8F\u4E2D\u6B62');";if(zr(t))return"";if(pr(t)){let c=t.logic.returns.at(0);return c?`return ${c.name};`:"return;"}else if(mr(t)){let c=`if(${h(t.test)}){
|
|
4778
|
+
${b(t.consequent)}
|
|
4779
|
+
}`;return t.alternate.length?`${c} else {${b(t.alternate)}}`:c}else if(Nn(t)){let c="";return t.cases.forEach(p=>{c+=h(p)}),c}else if(Gr(t)){let c=t.parentNode;if(!Nn(c))throw new Error("SwitchCase\u7684\u7236\u8282\u70B9\u4E0D\u662FSwitchStatement");let p=c.cases.indexOf(t),u=c.cases.length;if(p===-1)throw new Error("\u65E0\u6CD5\u5728\u7236\u8282\u70B9\u4E2D\u627E\u5230\u6B64SwitchCase");let y="";return p===0?(y="if (",y+=t.test?h(t.test):"",y+=`) {
|
|
4780
4780
|
`):p!==u-1?(y="else if (",y+=t.test?h(t.test):"",y+=`) {
|
|
4781
4781
|
`):y+=`else {
|
|
4782
4782
|
`,Array.isArray(t.consequent)&&t.consequent.forEach(m=>{y+=`${h(m)}
|
|
4783
4783
|
`}),y+=`}
|
|
4784
|
-
`,y}else if(ur(t)){let c="",p=t.each?z(t.each,e):"",u=Math.random(),y=Math.round(u*1e4),m=`$forEachListVariable${y}`,
|
|
4784
|
+
`,y}else if(ur(t)){let c="",p=t.each?z(t.each,e):"",u=Math.random(),y=Math.round(u*1e4),m=`$forEachListVariable${y}`,g="";return t.end?g=z(t.end,e):t.each&&(g=`(${m} || {}).length`),c+=`var ${m} = ${p};
|
|
4785
4785
|
`,c+=`var $forEachStartVariable${y} = ${t.start&&z(t.start,e)};
|
|
4786
|
-
`,c+=`var $forEachEndVariable${y} = ${
|
|
4786
|
+
`,c+=`var $forEachEndVariable${y} = ${g};
|
|
4787
4787
|
`,c+=`if(Array.isArray($forEachListVariable${y})) {
|
|
4788
4788
|
`,c+=`for (let ${t.index.name} = $forEachStartVariable${y}; `,c+=`${t.index.name} < $forEachEndVariable${y}; ${t.index.name}++) {
|
|
4789
4789
|
`,c+=`var ${t.item.name} = $forEachListVariable${y}[${t.index.name}];
|
|
@@ -4793,32 +4793,32 @@ __typeArguments: ${Pn.stringify(K)}`)}u+="}"}}return[`{${u}}`];function m(f){if(
|
|
|
4793
4793
|
`,c}else if(Wr(t)){let c="";return c+="while (",c+=t.test?h(t.test):"",c+=`) {
|
|
4794
4794
|
`,Array.isArray(t.body)&&t.body.forEach(p=>{c+=`${h(p)}
|
|
4795
4795
|
`}),c+=`}
|
|
4796
|
-
`,c}else{if(_t(t))return`${z(t.left,{...e,shouldInsertOptional:!1})} = ${z(t.right,e)}`;if(er(t)){let c="",p=new Map;return t.assignmentLines.forEach(({leftIndex:u,rightIndex:y})=>{let m=JSON.stringify(y);p.has(m)?p.set(m,[...p.get(m),u]):p.set(m,[u])}),p.forEach((u,y)=>{let m=JSON.parse(y)||[],
|
|
4796
|
+
`,c}else{if(_t(t))return`${z(t.left,{...e,shouldInsertOptional:!1})} = ${z(t.right,e)}`;if(er(t)){let c="",p=new Map;return t.assignmentLines.forEach(({leftIndex:u,rightIndex:y})=>{let m=JSON.stringify(y);p.has(m)?p.set(m,[...p.get(m),u]):p.set(m,[u])}),p.forEach((u,y)=>{let m=JSON.parse(y)||[],g=u.map(R=>R.length!==1?t.left.members[R[1]]:t.left.expression),[k,A]=[m[0],m[1]],P=A!==void 0?t.rights[k].members[A]:t.rights[k].expression;g.forEach(R=>{c+=`${z(R,{...e,shouldInsertOptional:!1})}`,c+=" = "}),c+=`${h(P)}`,c+=`;
|
|
4797
4797
|
`}),c}else{if(cr(t))return["/**",...t.value.split(`
|
|
4798
4798
|
`).map(p=>`* ${p}`),"*/"].join(`
|
|
4799
|
-
`);if(he(t))return["jsonSerialize","jsonDeserialize"].includes(t.calleeName)&&t.calleeNamespace==="nasl.util"?
|
|
4799
|
+
`);if(he(t))return["jsonSerialize","jsonDeserialize"].includes(t.calleeName)&&t.calleeNamespace==="nasl.util"?v(t):((t.calleeNamespace==="nasl.browser"||t.calleeNamespace==="nasl.configuration"||t.calleeNamespace==="nasl.process")&&(t.calleeNamespace="$global"),`await (${v(t)})`);if(or(t))return O();if(vn(t)){let c=f(t),p="";p+=`${c}`,p+="(";let u;if(t.calleeName==="ToString"){let m=t.arguments[0];u=m.typeAnnotation||m.__TypeAnnotation}else t.calleeName==="FromString"&&(u=t.typeArguments?.[0]);if(t.calleeName==="ToString"&&u&&(p+=`'${u.sortedTypeKey}', `),Array.isArray(t.arguments)&&t.arguments.length&&t.arguments.forEach((m,g)=>{let k=h(m),A=m.typeAnnotation||m.__TypeAnnotation;wn(A,t.app);let{sortedTypeKey:P}=Le(A,t.app);["HasValue"].includes(t.calleeName)&&(k=`{ type: '${P}', value: ${k} }`),p+=k,g!==t.arguments?.length-1&&(p+=", ")}),t.calleeName==="FromString"&&u){let{sortedTypeKey:m}=Le(u,t.app);p+=`, '${m}'`}if(!(["ToString","FromString"].includes(t.calleeName)&&u)&&Array.isArray(t.typeArguments)&&t.typeArguments.length){t.arguments?.length&&(p+=", ");let m=t.typeArguments.length;t.typeArguments?.forEach((g,k)=>{p+=JSON.stringify(g),k!==m-1&&(p+=", ")})}return p+=")",p}else if(sr(t)){let k=function(){let C=t.getAncestor("Connector"),Y=t.getAncestor("Integration");return C&&Y?p?.integration?.connectors?.find?.(T=>T.name===y):C&&!Y?p?.connectorDependencies?.find?.(T=>T.name===y):p?.interfaceDependencies?.find?.(T=>T.name===y)};var w=k;a(k,"getModule");let{calleewholeKey:c,app:p,completeArguments:u}=t,[,y,,m]=c.split("."),A=k()?.interfaces?.find?.(C=>C.name===m);if(!A)throw!t.calleeNamespace||!t.calleeName?new Error("\u8C03\u7528\u63A5\u53E3\u4E3A\u7A7A"):new Error(`${y}\u4E0B\u7684${m}\u63A5\u53E3\u672A\u627E\u5230`);let P=!1,R=A.params,j=R.filter(C=>C.in==="query").map(C=>C.name),Q=R.filter(C=>C.in==="header").map(C=>C.name),I=R.filter(C=>C.in==="body").map(C=>(C.typeAnnotation.typeKind==="primitive"&&(P=!0),C.name)),U=R.filter(C=>C.in==="path").map(C=>C.name),D=a((C,Y,T,qe,We)=>{let Je=C.filter(de=>Y.includes(de.keyword));return Je.forEach((de,at)=>{let Ne=h(de);We?T+=` ...${Ne}`:qe?T+=`
|
|
4800
4800
|
'${de?.keyword}': ${Ne}`:T+=` ${Ne}`,at!==C.length-1&&(T+=", ")}),Je.length===0&&!qe&&!We&&(T+="undefined"),T},"setArgumentCode"),S=`await $services['_custom']['${t.calleeNamespace}.${t.calleeName}']`;S+=`({ config: {
|
|
4801
4801
|
download: false,
|
|
4802
4802
|
},
|
|
4803
4803
|
query: {`,S=D(u,j,S,!0,!1),S+="}, path: {",S=D(u,U,S,!0,!1),S+="}, headers: {",S=D(u,Q,S,!0,!1),S+=`},
|
|
4804
4804
|
`,P?(S+="body: ",S=D(u,I,S,!1,!1)):(S+="body: {",S=D(u,I,S,!1,!0),S+="}"),S+=`
|
|
4805
|
-
})`;let K=t.typeAnnotation||t.__TypeAnnotation;return K&&!["primitive","union"].includes(K.typeKind)&&(S=`genInitFromSchema('${K?.sortedTypeKey}', ${S})`),S}else{if(ir(t))return O();if(lr(t)){let y=function(m){let
|
|
4806
|
-
`)}}`;if(ye(t)){let{namespace:c}=t;if(c)if(t.isFrontendVariables){let p=Ht.from({object:new ce({name:"$frontendVariables"}),property:new ce({name:t.name})},t.parentNode,t.parentKey);return h(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(kr(t))return"null";if(rr(t))return t.value;if(Ur(t))return`${JSON.stringify(t.value)}`;if(Vr(t))return t.expressions.length?t.expressions.map(c=>{let p=c.typeAnnotation||c.__TypeAnnotation;wn(p,t.app);let{sortedTypeKey:u}=Le(p,t.app);return`nasl.util.ToString('${u}', ${h(c)})`}).join(" + "):"''";if(Ar(t))return t.value;if(nr(t))return`${h(t.left)}${t.operator}${h(t.right)}`;if(wr(t)){let c=t.parentNode;if(!kn(c))throw new Error("MatchCase\u7684\u7236\u8282\u70B9\u975EMatch");let p="";if(Array.isArray(t.patterns)){let y=t.patterns.map(
|
|
4807
|
-
`:
|
|
4805
|
+
})`;let K=t.typeAnnotation||t.__TypeAnnotation;return K&&!["primitive","union"].includes(K.typeKind)&&(S=`genInitFromSchema('${K?.sortedTypeKey}', ${S})`),S}else{if(ir(t))return O();if(lr(t)){let y=function(m){let g="`",k=m.genViewArr();if(Array.isArray(k)&&k.length){g+=`${m.viewNode?.frontend?.prefixPath?m.viewNode.frontend.prefixPath:""}/${k.join("/")}`;let{completeArguments:A}=m;if(A.length){let P=m.viewNode,R=[];P?.params&&(R=P.params);let j=R.length,Q=A.map((I,U)=>{let D=h(I),S="";return D&&U<j&&(S+=`${I.keyword}=\${`,D==="undefined"?S+="null":S+=D,S+="}"),S}).filter(I=>!!I);g+=`?${Q.join("&")}`}if(m.anchor){let P=h(m.anchor);P&&(g+=`#\${${P}}`)}}return g+="`",g};var x=y;a(y,"destinationToUrlExpr");let c=y(t);if(bn(t.parentNode))return c;let u="";return u+="$destination(",u+=c,u+=',"',u+=`${t.target}`,u+='")',u}else if(dr(t)){let c="";if(t.link){let p=h(t.link);if(bn(t.parentNode))return p;let y=e?.resolve?.({kind:"identifier",value:new ce({name:"$link"})});if(c+=`${y}(\`\${`,c+=`${p}`,c+="}",t.anchor){let m=h(t.anchor);m&&(c+=`#\${${m}}`)}c+='`,"',c+=`${t.target}`,c+='")'}return c}else if(Hr(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((u,y)=>{p+=h(u),y!==t.arguments?.length-1&&(p+=", ")}),p+="]",c+=`args: ${p} ,`}if(t.errorMessage)c+=`message: ${h(t.errorMessage)},`;else{let p=gn[t.calleeName]??"",u=0;for(;p&&p.indexOf("{args}")!==-1;)p=p.replace("{args}",`\${${h(t.arguments[u])}}`),u++;if(p?.includes("{label}"))return Ze();c+=`message: \`${p}\`,`}return c+="trigger: 'input+blur'",["required","filled","notEmpty"].includes(t.calleeName)&&(c+=",required: true"),c+="}",c}else if(Zt(t)){let c="";if(t.expression){let p=z(t.expression,e);c+=p}else c+="undefined";return t.spread?`...${c}`:`${c}`}else{if(Xt(t))return t.expression?h(t.expression):"";if(fr(t))return t.code;if(gr(t))return O();if(tr(t))return`{${t.logicItems.map(p=>h(t)).join(`
|
|
4806
|
+
`)}}`;if(ye(t)){let{namespace:c}=t;if(c)if(t.isFrontendVariables){let p=Ht.from({object:new ce({name:"$frontendVariables"}),property:new ce({name:t.name})},t.parentNode,t.parentKey);return h(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(kr(t))return"null";if(rr(t))return t.value;if(Ur(t))return`${JSON.stringify(t.value)}`;if(Vr(t))return t.expressions.length?t.expressions.map(c=>{let p=c.typeAnnotation||c.__TypeAnnotation;wn(p,t.app);let{sortedTypeKey:u}=Le(p,t.app);return`nasl.util.ToString('${u}', ${h(c)})`}).join(" + "):"''";if(Ar(t))return t.value;if(nr(t))return`${h(t.left)}${t.operator}${h(t.right)}`;if(wr(t)){let c=t.parentNode;if(!kn(c))throw new Error("MatchCase\u7684\u7236\u8282\u70B9\u975EMatch");let p="";if(Array.isArray(t.patterns)){let y=t.patterns.map(g=>Wt.isTypeAnnotation(g)?`window.$isInstanceOf(${h(c.expression)}, '${g.sortedTypeKey}')`:`window.$global.isEqual(${h(c.expression)}, ${h(g)})`).join("||"),m=c.cases.length;if(m>1){let g=c.cases.indexOf(t);if(g===-1)throw new Error("\u65E0\u6CD5\u5728Match\u4E2D\u627E\u5230\u6B64MatchCase");g===0?p=`if (${y}) {
|
|
4807
|
+
`:g!==m-1?p=`else if (${y}) {
|
|
4808
4808
|
`:p+=`else {
|
|
4809
|
-
`}Array.isArray(t.body)&&t.body.forEach((
|
|
4809
|
+
`}Array.isArray(t.body)&&t.body.forEach((g,k)=>{t.parentNode.isExpression&&k===t.body.length-1&&g.concept!=="Abort"&&(p+="return "),p+=`${h(g)}
|
|
4810
4810
|
`}),m>1&&(p+=`}
|
|
4811
4811
|
`)}return p}else if(kn(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((u,y)=>{c+=h(u)}),(t.isExpression||!p)&&(c+="})()"),c}else if(Kr(t)){let c=h(t.argument);return t.operator==="isNull"?c:`!(${c})`}else if(br(t)){if(ye(t.object)&&t.object.isEnum()&&ye(t.property))return h(new yn({value:t.property.name}));let c=e?.shouldInsertOptional===!1?"":"?";if(ye(t.object)){let p=t.object.name;return`${e?.resolve?.({kind:"calleeNamespace",value:p})??p}${c}.${z(t.property)}`}return`${h(t.object)}${c}.${z(t.property)}`}else{if(Br(t))return t.code;if(vr(t))return"";if(An(t)){let c="",{typeAnnotation:p}=t,u=t.assignmentLines.findIndex(({leftIndex:m})=>m[1]===void 0);if(!t.typeAnnotation)return"";if(t.getAncestor("Logic")?c+=`await (async () => {
|
|
4814
4814
|
`:c+=`(() => {
|
|
4815
|
-
`,u!==-1){let{rightIndex:m}=t.assignmentLines[u],
|
|
4815
|
+
`,u!==-1){let{rightIndex:m}=t.assignmentLines[u],g=m[1]!==void 0?t.rights[m[0]].members[m[1]]:t.rights[m[0]].expression;c+=`return ${h(g)};
|
|
4816
4816
|
`}else if(p.typeKind!=="anonymousStructure"){c+=`const obj = genInitFromSchema('${p.sortedTypeKey}', nasl.util.New(${p.toJS()}));
|
|
4817
|
-
`;let m=new Map;t.assignmentLines.forEach(({leftIndex:
|
|
4817
|
+
`;let m=new Map;t.assignmentLines.forEach(({leftIndex:g,rightIndex:k})=>{let A=JSON.stringify(k);m.has(A)?m.set(A,[...m.get(A),g]):m.set(A,[g])}),m.forEach((g,k)=>{let A=JSON.parse(k)||[],P=g.map(I=>t.properties[I[1]]),[R,j]=[A[0],A[1]],Q=j!==void 0?t.rights[R].members[j]:t.rights[R].expression;P.forEach(I=>{c+=`obj.${I.name} = `}),c+=`${h(Q)}`,c+=`;
|
|
4818
4818
|
`}),c+=`return obj;
|
|
4819
4819
|
`}else{c+=`const obj = {};
|
|
4820
|
-
`,t.properties.forEach(
|
|
4821
|
-
`});let m=new Map;t.assignmentLines.forEach(({leftIndex:
|
|
4820
|
+
`,t.properties.forEach(g=>{c+=`obj.${g.name} = null;
|
|
4821
|
+
`});let m=new Map;t.assignmentLines.forEach(({leftIndex:g,rightIndex:k})=>{let A=JSON.stringify(k);m.has(A)?m.set(A,[...m.get(A),g]):m.set(A,[g])}),m.forEach((g,k)=>{let A=JSON.parse(k)||[],P=g.map(I=>t.properties[I[1]]),[R,j]=[A[0],A[1]],Q=j!==void 0?t.rights[R].members[j]:t.rights[R].expression;P.forEach(I=>{c+=`obj.${I.name} = `}),c+=`${h(Q)}`,c+=`;
|
|
4822
4822
|
`}),c+=`return obj;
|
|
4823
4823
|
`}return c+="})()",c}else if(Sn(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
|
-
`])}}});import{format as Yr}from"prettier/standalone";import Zr from"prettier/parser-typescript";var $r={tabWidth:2,printWidth:150,singleQuote:!0,trailingComma:"es5",plugins:[Zr],parser:"typescript"},_r=N("codeFormatPlugin"),Rn=E({name:"CodeFormatPlugin",functions:{async format(n,e){function r(){try{return Yr(n,{...$r,...e})}catch(o){return _r.debug(o,"format\u51FA\u9519"),n}}return a(r,"prettierFormat"),await r()}}});import{injectable as ni}from"inversify";import{Volume as ti}from"memfs";function ei(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 d=n.length-1;d>=0;d--)(l=n[d])&&(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(ei,"_ts_decorate");var re=class{static{a(this,"FileSystemPlugin")}vol=new ti;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()}};re=ei([ni()],re);import{inject as li,injectable as pi}from"inversify";import{join as Te,relative as di}from"path";import{StringLiteral as ri}from"@lcap/nasl";var ii=N("ReactRouterPlugin"),oi=[{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 }"}],be="__views__",si=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)}},ie=E({name:"ReactRouter",functions:{routeToCode(n,e){let r={...In.functions,...B.functions},i=new si,o=new WeakMap,s=l(n);function l(t){return t.flatMap(w=>{if(w.kind==="normal"){let x=w.elementTemplate.identifier;if(x){let c=e.get(w.elementTemplate),p=_(x),u=_(`${c}${x}`.replaceAll("/","-").replace(/^-/,"")),y=i.query(u);w.elementMangledName=y,ii.debug({mangledName:y});let
|
|
4863
|
-
`);return`{path: "${w}", meta: ${JSON.stringify(t.meta)}, children: [${u}], ${y()} }`}if(t.kind==="redirect"){let c=r.printSyntaxNode(ri.from({value:t.redirect}));return`{path: "${w}", element: <Navigate to={${c}} />}`}q(t)}a(d,"serializeReactRoute");let
|
|
4862
|
+
`])}}});import{format as Yr}from"prettier/standalone";import Zr from"prettier/parser-typescript";var $r={tabWidth:2,printWidth:150,singleQuote:!0,trailingComma:"es5",plugins:[Zr],parser:"typescript"},_r=N("codeFormatPlugin"),Rn=E({name:"CodeFormatPlugin",functions:{async format(n,e){function r(){try{return Yr(n,{...$r,...e})}catch(o){return _r.debug(o,"format\u51FA\u9519"),n}}return a(r,"prettierFormat"),await r()}}});import{injectable as ni}from"inversify";import{Volume as ti}from"memfs";function ei(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 d=n.length-1;d>=0;d--)(l=n[d])&&(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(ei,"_ts_decorate");var re=class{static{a(this,"FileSystemPlugin")}vol=new ti;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()}};re=ei([ni()],re);import{inject as li,injectable as pi}from"inversify";import{join as Te,relative as di}from"path";import{StringLiteral as ri}from"@lcap/nasl";var ii=N("ReactRouterPlugin"),oi=[{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 }"}],be="__views__",si=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)}},ie=E({name:"ReactRouter",functions:{routeToCode(n,e){let r={...In.functions,...B.functions},i=new si,o=new WeakMap,s=l(n);function l(t){return t.flatMap(w=>{if(w.kind==="normal"){let x=w.elementTemplate.identifier;if(x){let c=e.get(w.elementTemplate),p=_(x),u=_(`${c}${x}`.replaceAll("/","-").replace(/^-/,"")),y=i.query(u);w.elementMangledName=y,ii.debug({mangledName:y});let g={from:`./${be}${c}/${p}`,import:y,lazy:w.lazy};return o.set(w.elementTemplate,g),[g,...l(w.children??[])]}}return[]})}a(l,"recursivelyExtractImportIR");function d(t){let w=t.thisLevelPath??"/";if(t.kind==="normal"){let y=function(){return`element: ${p}`};var x=y;a(y,"importConfigToPropertyStr");let c=t.children?.map(d).filter(M)??[],p=r.printTag(t.elementMangledName??t.elementTemplate.identifier),u=c.join(`,
|
|
4863
|
+
`);return`{path: "${w}", meta: ${JSON.stringify(t.meta)}, children: [${u}], ${y()} }`}if(t.kind==="redirect"){let c=r.printSyntaxNode(ri.from({value:t.redirect}));return`{path: "${w}", element: <Navigate to={${c}} />}`}q(t)}a(d,"serializeReactRoute");let f=[...oi,...s,{from:"@lcap/pc-react-ui",import:"{ConfigProvider, RouterContext}"},{from:"./platform.config",import:"platformConfig"}];return{code:`
|
|
4864
4864
|
${`const defaultRoutes = [${n.map(d).filter(M).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:f}},__hooksDefinitions(){return new F("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 ai(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 d=n.length-1;d>=0;d--)(l=n[d])&&(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(ai,"_ts_decorate");function En(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(En,"_ts_metadata");function ci(n,e){return function(r,i){e(r,i,n)}}a(ci,"_ts_param");var ui=a(n=>n.import?n.lazy?`const ${n.import} = React.lazy(() => import('${n.from}'));`:`import ${n.import} from '${n.from}';`:`import '${n.from}';`,"identityImportResolver"),Ln=N("ProjectOrganizerPlugin"),mi=[".mjs",".js",".mts",".ts",".jsx",".tsx",".json"];function fi(n){return Fn(n)||n.from.startsWith("/")}a(fi,"isIntraProjectImport");function Fn(n){return n.from.startsWith(".")}a(Fn,"isRelativeImport");async function gi(n){let e=new WeakMap,r={},i=[];return Object.entries(n.project).forEach(([l,d])=>{if(d){let
|
|
4909
|
+
`])}}});function ai(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 d=n.length-1;d>=0;d--)(l=n[d])&&(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(ai,"_ts_decorate");function En(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(En,"_ts_metadata");function ci(n,e){return function(r,i){e(r,i,n)}}a(ci,"_ts_param");var ui=a(n=>n.import?n.lazy?`const ${n.import} = React.lazy(() => import('${n.from}'));`:`import ${n.import} from '${n.from}';`:`import '${n.from}';`,"identityImportResolver"),Ln=N("ProjectOrganizerPlugin"),mi=[".mjs",".js",".mts",".ts",".jsx",".tsx",".json"];function fi(n){return Fn(n)||n.from.startsWith("/")}a(fi,"isIntraProjectImport");function Fn(n){return n.from.startsWith(".")}a(Fn,"isRelativeImport");async function gi(n){let e=new WeakMap,r={},i=[];return Object.entries(n.project).forEach(([l,d])=>{if(d){let f=Ye(d);for(let v of f){let{dir:b}=s(l,v),h=new Oe(v,b);i.push(h),r[h.originalAbsolutePath]=h;let t=v.getImports().map(w=>{if(fi(w)){let x=Fn(w)?Te(b,w.from):w.from;return{ir:w,kind:"relative",getRelativePathAfterMoving:()=>{let p=b,u=y()??x;return Ln.debug({currentDir:p,targetPath:u}),`./${di(p,u)}`;function y(){if(!Dn(w.from))for(let m of mi){let g=r[x+m]?.currentAbsolutePath;if(g)return g}}a(y,"tryToAppendExtIfNecessary")}}}else return{ir:w,kind:"absolute"}});e.set(h,t)}}}),{mapping:e,placedFiles:i};function o(l){let d={name:"src"};return l==="views"?[d,{name:be}]:[d]}a(o,"decideDirForKey");function s(l,d){let f=o(l);d.folder=[...f,...d.folder??[]];let v=d.getFolderPath()??"";return{path:Te(v,d.fileNameWithExt),dir:v}}a(s,"initFilePath")}a(gi,"initImport");var Oe=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 Te(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 hi(n,e,r){return Promise.all(e.map(async o=>{let s=a(d=>{let f=v(d);return ui(f);function v(b){let h=n.get(o)?.find(t=>t.ir===b);if(h){let t=i(h);return{...b,from:t}}return b}},"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(hi,"writeAllPlacedFile");var ve=class{static{a(this,"ProjectOrganizerPlugin")}fileSystemProvider;constructor(e){this.fileSystemProvider=e}async organize(e){let{mapping:r,placedFiles:i}=await gi(e);return await this.moveFilesAsYouWant(i),await hi(r,i,{noFormat:e.options?.noFormat})}async moveFilesAsYouWant(e){let r=Ln.child({},{msgPrefix:"[\u79FB\u52A8\u6587\u4EF6] "});for(let i of e){let o=`/${be}/`;if(i.originalAbsolutePath.includes(o)){let s=i.getFolder().replace(o,"/pages/");i.moveFileTo(s),r.debug(`${i.originalAbsolutePath} -> ${i.currentAbsolutePath}`)}}}};ve=ai([pi(),nn,ci(0,li(L.FileSystemProvider)),En("design:type",Function),En("design:paramtypes",[typeof GeneratorInfrastructureDomain>"u"||typeof GeneratorInfrastructureDomain.FileSystemProvider>"u"?Object:GeneratorInfrastructureDomain.FileSystemProvider])],ve);var yi="notFound",le=E({name:"RoutesExtraction",functions:{extractRoute(n,e,r){let i=a((b,h)=>b.flatMap(t=>{let w=`${h}${t.identifier}`,x={accumulativePath:w,thisLevelPath:`${t.identifier}`,children:i(t.childComponents,`${w}/`),elementTemplate:t,kind:"normal",lazy:!!r?.lazy,meta:{title:t.__raw.title??"",crumb:t.__raw.crumb?.value??""}},c=x.children?.map(p=>{if(p.kind==="normal"&&p.elementTemplate.__raw.isIndex)return{accumulativePath:`${w}/`,thisLevelPath:"",redirect:`${w}/${p.elementTemplate.identifier}`,kind:"redirect"}}).filter(M);return c?.length&&x.children?.push(...c),[x]}),"extractRouteHelper"),o=i(n,e),s=n.find(b=>b.__raw.isIndex);s&&o.push({accumulativePath:"/",thisLevelPath:"/",redirect:`${e}${s.identifier}`,kind:"redirect"});let l=n.find(b=>b.identifier===yi)??s;l&&o.push({accumulativePath:"*",thisLevelPath:"*",redirect:`${e}${l.identifier}`,kind:"redirect"});let d=[],f=[];return o.filter(b=>b.kind==="normal").forEach(b=>{let h=a((t,w)=>{if(t.kind==="normal"){let x=t.elementTemplate.__raw,c=w||x.auth;c?d.push(t.accumulativePath):f.push(t.accumulativePath),t.children?.forEach(p=>{h(p,c)})}},"traverseRoutes");h(b,!1)}),{authResourcePaths:d,baseResourcePaths:f,routes:o}}}});import{Argument as Mn,Assignment as wi,BindEvent as bi,CallFunction as Tn,Identifier as ze,Logic as vi,Param as xi,Return as ki,TypeAnnotation as On,Unparsed as Ai}from"@lcap/nasl";import{isBooleanLiteral as Si,isIdentifier as Ve,isMemberExpression as zn,isNullLiteral as Ni,isNumericLiteral as Pi,isStringLiteral as ji}from"@lcap/nasl/out/concepts/utils/asserts";import{uniqueId as Ci}from"lodash";var Di=N("component hack"),Ue=E({name:"ReactComponentLibHackPlugin",functions:{__hooksDefinitions(){return new F("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===xe&&e.__raw.type==="dynamic"){let s=r(e.expression.expr);if(s&&i(s))return e;let l=Mn.from({expression:e.expression.expr},e.__raw,"arguments");l.__TypeAnnotation=s??new On;let d=Tn.from({calleeName:"ToString",calleeNamespace:"nasl.util",arguments:[l]});return d.__TypeAnnotation=On.createPrimitive("String"),{...e,expression:{expr:d}}}else if(e.name==="dataSource"){let h=function(w){return{__raw:w,logics:w.logics.map(Z),concept:w.concept,params:w.getContextLogicParams().map(ee),handlerName:l.dataFetchMethod}};var o=h;if(a(h,"bindManualBindEventToIR"),Ve(e.expression.expr)||zn(e.expression.expr)||Pi(e.expression.expr)||ji(e.expression.expr)||Si(e.expression.expr)||Ni(e.expression.expr)){let w=Tn.from({calleeName:"toJS",arguments:[new Mn({expression:e.expression.expr})]},e.__raw.parentNode,e.__raw.parentKey);return{...e,expression:{expr:w}}}let s=`dataSource${Ci()}`,l={queryParam:"event",tempResultVariable:`${s}LoadResult`,dataFetchMethod:`${s}Load`},d=e.__raw.getAncestor("ViewElement");if(!d){let w=`\u627E\u4E0D\u5230${e.__raw.nodePath} \u7684\u7956\u5148ViewElement`;throw Di.error(w),new Error(w)}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===xe&&e.__raw.type==="dynamic"){let s=r(e.expression.expr);if(s&&i(s))return e;let l=Mn.from({expression:e.expression.expr},e.__raw,"arguments");l.__TypeAnnotation=s??new On;let d=Tn.from({calleeName:"ToString",calleeNamespace:"nasl.util",arguments:[l]});return d.__TypeAnnotation=On.createPrimitive("String"),{...e,expression:{expr:d}}}else if(e.name==="dataSource"){let h=function(w){return{__raw:w,logics:w.logics.map(Z),concept:w.concept,params:w.getContextLogicParams().map(ee),handlerName:l.dataFetchMethod}};var o=h;if(a(h,"bindManualBindEventToIR"),Ve(e.expression.expr)||zn(e.expression.expr)||Pi(e.expression.expr)||ji(e.expression.expr)||Si(e.expression.expr)||Ni(e.expression.expr)){let w=Tn.from({calleeName:"toJS",arguments:[new Mn({expression:e.expression.expr})]},e.__raw.parentNode,e.__raw.parentKey);return{...e,expression:{expr:w}}}let s=`dataSource${Ci()}`,l={queryParam:"event",tempResultVariable:`${s}LoadResult`,dataFetchMethod:`${s}Load`},d=e.__raw.getAncestor("ViewElement");if(!d){let w=`\u627E\u4E0D\u5230${e.__raw.nodePath} \u7684\u7956\u5148ViewElement`;throw Di.error(w),new Error(w)}let f=n.findComponentRefByComponentName(d?.name??"")?.identifier;f&&e.expression.expr.traverseStrictChildren(w=>{zn(w)&&Ve(w.object)&&Ve(w.property)&&w.object.name===f&&["current","pageSize","sorter","order"].includes(w.property.name)&&(w.object=new ze({name:l.queryParam}),w.property=new ze({name:w.property.name}))});let v=vi.from({body:[new wi({left:new ze({name:l.tempResultVariable}),right:e.expression.expr}),new Ai({code:`return ${l.tempResultVariable}`})],params:[new xi({name:l.queryParam})],returns:[new ki({name:l.tempResultVariable})]},e.__raw.parentNode,void 0),b=bi.from({name:"dataSource",params:v.params,logics:[v]},e.__raw.parentNode,"bindEvents"),t=h(b);return ae(b),n.provideAction(Ie(t)),t}return e}}});import{App as Ri,BaseNode as Qe,TypeAnnotation as Vn}from"@lcap/nasl";function Un(n){let e=Qe.prototype.subConstructor,r=a(function(o){e.call(this,o),o.typeAnnotation&&(this.typeAnnotation=new Vn(o.typeAnnotation)),o.__TypeArguments&&(this.__TypeArguments=o.__TypeArguments.map(s=>s&&new Vn(s)))},"hack");Qe.prototype.subConstructor=r;let i=new Ri(n);return Qe.prototype.subConstructor=e,i}a(Un,"deserializeAppWhileKeepTypeAnnotation");function ke(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(ke,"serializeAppWithKeepTypeAnnotation");var ka=N("ReactSlotPlugin"),Qn=E({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(en(r.component)&&r.children.length===0)continue;n.attrs.push(ge({type:"component",component:r,scopeVariable:r.slot.scope,name:i}))}else e.push(r)}n.children=e}}});import{CallLogic as Li,Logic as Ge,Param as Fi}from"@lcap/nasl";import{Argument as Ii,Identifier as Ei}from"@lcap/nasl";function Gn(n){return new Ii({expression:new Ei({name:n.name})})}a(Gn,"paramToArgument");var Mi=N("ReactStateManagerVanilla"),Ti=class{static{a(this,"ReactHookTransformer")}static componentRefNameToHook(e){return{kind:"free",code:`const ${e}= useRef(null);`,import:{from:"react",import:"{ useRef }"}}}};function Oi(n){return n.recursivelyExtractTreeStates().map(r=>{let i={...V.functions,...B.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:G(r.initialization)}})}a(Oi,"makeTreeStateHooks");var V=E({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={...V.functions,...B.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={...V.functions,...B.functions};function o(){let s=e.params.map(l=>Fi.from(l));if(e.logics.length===0)return new Ge;if(e.logics.length===1){let l=e.logics[0].logic;return Ge.from({...l,params:s})}else return Ge.from({params:s,body:e.logics.map(d=>{let f=`${d.logic.name}`;return Li.from({calleeName:f,arguments:e.params.map(Gn)})})})}return a(o,"getLogic"),`${n.resolveExprToString(o(),i,r?.()?.(n)??i.withCtx(n))}`},makeLocalIndividualHooks(n,e){let r={...V.functions,...B.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[Ti.componentRefNameToHook(i.identifier)];default:G(i.initialization.kind)}return q(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:Oi,initializationToExpr(n,e){if(!e)return;let r={...V.functions,...B.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 G(e)}},produceHooks(n){let e={...V.functions},r=V.functions.makeTreeStateHooks(n),i=V.functions.makeLocalIndividualHooks(n),o=e.makeLocalLogicHooks(n);return[...r,...i,...o]},withCtx(n){let e={...V.functions};return{resolveIdentifier:r=>e.__resolveIdentifier(n,r),resolveName:r=>e.__resolveName(n,r),resolveCalleeNamespace:r=>e.__resolveName(n,r)}},__resolveIdentifier(n,e){return{...V.functions}.__resolveName(n,e.name)},__resolveName(n,e){let r={...V.functions},i=o(e)??s(e);return i||Mi.debug(`cannot find symbol "${e}" in the state context`),i;function o(l){let d=n.findActionByName(l);if(d)return`${d.name}`}a(o,"resolveAsAction");function s(l){let d=n.findStateByName(l);if(d)switch(d.kind){case"standalone":case"local-logic":case"tree":return l;default:G(d)}}a(s,"resolveAsState")},__hooksDefinitions(){return new F("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 zi(n){let e={...X.functions},r=a(l=>`${l.name}:${V.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 d=n.providedStates.filter(
|
|
4966
|
-
get ${
|
|
4967
|
-
return localStore.$queryParams.get('${
|
|
4965
|
+
`])}}});function zi(n){let e={...X.functions},r=a(l=>`${l.name}:${V.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 d=n.providedStates.filter(f=>f.kind==="local-logic"&&f.initialization?.kind==="url-param").map(f=>{let b={...V.functions}.initializationToExpr(n,f.initialization)??"''",h=`
|
|
4966
|
+
get ${f.identifier}() {
|
|
4967
|
+
return localStore.$queryParams.get('${f.identifier}') || ${b};
|
|
4968
4968
|
}
|
|
4969
4969
|
`,t=`
|
|
4970
|
-
set ${
|
|
4971
|
-
${X.functions.storeName}.$updateQueryParam('${
|
|
4970
|
+
set ${f.identifier}(value) {
|
|
4971
|
+
${X.functions.storeName}.$updateQueryParam('${f.identifier}', value);
|
|
4972
4972
|
}
|
|
4973
4973
|
`;return`${h},${t}`}).join(",");return d&&`
|
|
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 f={...V.functions}.initializationToExpr(n,l.initialization);return`${l.identifier}: ${f??"undefined"}`}a(s,"localLogicStateToProperty")}a(zi,"makeLocalLogicBundleHook");var Vi=N("MobX Plugin"),X=E({name:"ReactStateManagerMobxPlugin",functions:{produceHooks(n){let e=zi(n),r=V.functions.makeTreeStateHooks(n),i={...X.functions},o=V.functions.makeLocalIndividualHooks(n,()=>i.withCtx.bind(i));return[...r,e,...o]},get storeName(){return"localStore"},__resolveIdentifier(n,e){return{...X.functions}.__resolveName(n,e.name)},__resolveName(n,e){let r={...X.functions},i=o(e)??s(e);return i||Vi.debug(`cannot find symbol "${e}" in the state context`),i;function o(l){let d=n.findActionByName(l);if(d)return`${r.storeName}.${d.name}`}a(o,"resolveAsAction");function s(l){let d=n.findStateByName(l);if(d)switch(d.kind){case"standalone":switch(d.initialization.kind){case"component-ref":return l;default:G(d.initialization.kind)}case"tree":return l;case"local-logic":return`${r.storeName}.${l}`;default:G(d)}}a(s,"resolveAsState")},withCtx(n){let e={...X.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,Ee)},"resolveAsNamespace")(r);if(o)return o;{let s=e.__resolveName(n,r);return s?.endsWith("Ref")?`${s}.current`:s}}}},__hooksDefinitions(){return new F("MobxHooks",[],[],[`export const useUserInfo = ()=>{
|
|
4987
4987
|
return window.$global.userInfo ?? {};
|
|
4988
|
-
}`])}}});var Bn=X,H={...Bn.functions,...B.functions},Hi=N("react codegen");function Hn(n){return _(n.identifier)}a(Hn,"getComponentName");var xe="children",oe=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 pe([...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(M))}getHooks(){return this.hooks}getAttrMapStr(){let e=[];for(let[r,i]of this.attrMap)if(r!==xe){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:se(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 w(x){return Ui(x).replace(/({|})/g,(c,p)=>`{'${p}'}`)}},"getChildrenStr")(),b
|
|
4988
|
+
}`])}}});var Bn=X,H={...Bn.functions,...B.functions},Hi=N("react codegen");function Hn(n){return _(n.identifier)}a(Hn,"getComponentName");var xe="children",oe=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 pe([...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(M))}getHooks(){return this.hooks}getAttrMapStr(){let e=[];for(let[r,i]of this.attrMap)if(r!==xe){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:se(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 f=a(()=>{let h=this.attrMap.get(xe);if(h)return h.kind==="string"?w(h.payload):`{${h.payload}}`;return e?.shallow?"":this.children.map(x=>x.toJsx()).join(`
|
|
4989
|
+
`)??"";function w(x){return Ui(x).replace(/({|})/g,(c,p)=>`{'${p}'}`)}},"getChildrenStr")(),v=b();if(this.options?.slot){let h=this.options?.slot.scope;if(this.options?.slot.target&&h)return{body:`(${h}: any) => ${v}`}}return{body:v};function b(){return i?`<${i}${r}>${f}</${i}>`:`<>${f}</>`}},"getBody"),{body:s}=o(),l=this.directives.get("if");return l?`{(${this.ctx.resolveExprToString(l.expression.expr,H,H.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 d=l.body;return`const ${l.declaration} = useCallback(${d}, [${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:q(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=pe([...this.getImports()]).filter(M);return{componentStr:o,imports:s}}toCode(){let{componentStr:e,imports:r}=this.toFunctionComponentVariable();return{code:e,imports:r}}static fromComponentIR(e){let r=Hn(e),i=e.elements.map(s=>te.functions.genReactFragment(s,e.stateContext)),o=X.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=H.__resolveName(this.ctx,e.handlerName);if(!l)throw new Error("cannot find event handler");let d=e.params,
|
|
4994
|
-
`)}}`}}a(d,"formatValuePayloadAsObjectStr"),this.attrMap.set("style",d(l))}bindDirective(e){this.directives.set(e.kind,e)}},F=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 Fe(this.folder)}getImports(){return[...this.imports,...this.body.flatMap(e=>e.getImports())].filter(M)}async serialize(e){let
|
|
4995
|
-
`),
|
|
4996
|
-
`),pe(
|
|
4993
|
+
});`,s=pe([...this.getImports()]).filter(M);return{componentStr:o,imports:s}}toCode(){let{componentStr:e,imports:r}=this.toFunctionComponentVariable();return{code:e,imports:r}}static fromComponentIR(e){let r=Hn(e),i=e.elements.map(s=>te.functions.genReactFragment(s,e.stateContext)),o=X.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=H.__resolveName(this.ctx,e.handlerName);if(!l)throw new Error("cannot find event handler");let d=e.params,f=d.at(0);if(d.length>1&&f){let v=d.map(b=>b.name).join(",");this.attrMap.set(s,{kind:"expr",payload:`(${f.name}) => ${l}(${v})`})}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,H,H.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`;Hi.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}sn(e.__raw.value)&&this.attrMap.set(e.__raw.name,{kind:"expr",payload:String(e.__raw.value)})}return}case"render":{let r=te.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,H,H.withCtx(this.ctx)));this.attrMap.set(e.name,{kind:"expr",payload:`[${r.join(", ")}]`});return}default:G(e)}}setStyleAndStaticStyle(e,r){if(e.length===0&&!r)return;let i=qn(r);e.forEach(f=>{if(!f.name)throw new Error(f.nodePath);if(f.expression&&(i[f.name]=f,!Kn(f)))throw new Error(`${f} is not bindStyle`)});let o=this;function s(f){return f.replace(/-([a-z])/g,(v,b)=>b.toUpperCase())}a(s,"cssPropertyNameToReactStyleObjectKey");let l=Object.entries(i).map(([f,v])=>{if(Ki(v)&&Kn(v)){let b=s(f),h=o.ctx.resolveExprToString(v.expression,H,H.withCtx(o.ctx));return b==="backgroundImage"?{kind:"expr",payload:`\`url(\${${h}})\``,key:b}:{kind:"expr",payload:h,key:b}}else if(Bi(v))return{kind:"string",payload:v,key:f}}).filter(M);function d(f){return{kind:"expr",payload:`{${f.map(b=>{let h=t();return`${JSON.stringify(b.key)}: ${h}`;function t(){return b.kind==="expr"?b.payload:`${JSON.stringify(b.payload)}`}}).join(`,
|
|
4994
|
+
`)}}`}}a(d,"formatValuePayloadAsObjectStr"),this.attrMap.set("style",d(l))}bindDirective(e){this.directives.set(e.kind,e)}},F=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 Fe(this.folder)}getImports(){return[...this.imports,...this.body.flatMap(e=>e.getImports())].filter(M)}async serialize(e,r){let i=this.exports,o=this.body.map(b=>b.toCode()),l=this.getImports().map(e),f=[pe(l).join(`
|
|
4995
|
+
`),o.map(b=>b.code).join(`
|
|
4996
|
+
`),pe(i).join(`
|
|
4997
4997
|
`)].join(`
|
|
4998
|
-
`)
|
|
4999
|
-
${
|
|
4998
|
+
`);return this.fileNameWithExt.endsWith(".tsx")&&(f=`//@ts-nocheck
|
|
4999
|
+
${f}`),r?.noFormat?f:await Rn.functions.format(f)}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 qi(n){return je(n.component)&&n.component.tag==="template"?"":n.component.tag}a(qi,"getReactComponentName");var te=E({name:"reactCodeGen",functions:{genReactFragment(n,e){let r={...le.functions,...te.functions,...ie.functions,...Qn.functions},i=[{from:"react",import:"React"},{from:"react",import:"{type FC}"}],o=[];r.preprocessForSlots(n);let s=n.children.map(f=>r.genReactFragment(f,e));s.forEach(f=>{o.push(...f.getHooks()),i.push(...f.getImports())});let l=qi(n),d=new oe(l,i,o,s,e,{slot:n.slot});l&&je(n.component)&&i.push({from:`${n.component.libraryName}`,import:`{${n.component.tag}}`}),d.setStyleAndStaticStyle(n.__raw.bindStyles??[],n.__raw.staticStyle??"");for(let f of n.events)d.bindEvent(f);for(let f of n.attrs)d.bindAttr(f);for(let f of n.directives)d.bindDirective(f);return d},genReactComponent(n,e){let r=Hn(n),i=oe.fromComponentIR(n);return[new F(r,pe(i.getImports()),[i],[`export default ${i.getMangledName()}`],e)]},recursivelyGenReactComponent(n,e,r){let i={...te.functions};return e.set(n,r?Fe(r):"/"),Gi([i.genReactComponent(n,r),n.childComponents.flatMap(o=>i.recursivelyGenReactComponent(o,e,[...r??[],{name:n.identifier}]))])},buildRoutes(n,e){let r={...le.functions,...ie.functions},{routes:i}=r.extractRoute(n,"/",{lazy:!0}),{code:o,imports:s}=r.routeToCode(i,e);return new F("Router",[...s],[],[o])},buildPlatformConfig(n){let e={...le.functions,...ie.functions},{authResourcePaths:r,baseResourcePaths:i}=e.extractRoute(n.views,"/",{lazy:!1}),o={...n.configs.basePlatformConfig,authResourcePaths:r,baseResourcePaths:i};return new F("platform.config.ts",[],[],[`export default ${Cn(o)}`])},buildInit(n){let e={...B.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 @@ ${g}`:g}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){N("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 F("index.css",[],[],[...i,n])},async buildGlobalFrontendVariableFile(n,e){let r=n.map(o=>{let s=`${JSON.stringify(o.name)}`,l=d();if(l)return`${o.name} = ${l};`;return`${o.name}: any;`;function d(){let
|
|
5015
|
+
`])},async buildMasterCss(n,e){N("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 F("index.css",[],[],[...i,n])},async buildGlobalFrontendVariableFile(n,e){let r=n.map(o=>{let s=`${JSON.stringify(o.name)}`,l=d();if(l)return`${o.name} = ${l};`;return`${o.name}: any;`;function d(){let f=o.defaultValue?.expression?e.resolveExprToString(o.defaultValue.expression,H,H.withCtx(e)):void 0;if(o.localCache){let v=`loadFromLocalStorage(${s})`;return f?`${v} ?? ${f}`:v}else if(f)return f}}).join(`
|
|
5016
5016
|
`),i=JSON.stringify(n.filter(o=>o.localCache).map(o=>o.name));return new F("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 @@ ${g}`:g}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.b
|
|
|
5052
5052
|
return {
|
|
5053
5053
|
${e.map(i=>`${i.name}: ${_(i.name)}`)}
|
|
5054
5054
|
};
|
|
5055
|
-
}`])},async genFiles(n,e){let r={...le.functions,...te.functions,...ie.functions,...Me.functions,...ue.functions},i=F.empty("Hooks").merge(new F("",[{from:"./init"}],[],[])).merge(Bn.functions.__hooksDefinitions()).merge(ie.functions.__hooksDefinitions()).merge(Me.functions.__hooksDefinitions()).merge(Ue.functions.__hooksDefinitions()).merge(r.buildLibraryHook(n.packages)).merge(new F("",[],[],["export {nasl, genInitFromSchema};"])),o=r.buildApiStubFile(n.apis,n.configs.metaData),s=new WeakMap,l=n.views.flatMap(t=>r.recursivelyGenReactComponent(t,s)),d=r.buildRoutes(n.views,s),
|
|
5055
|
+
}`])},async genFiles(n,e){let r={...le.functions,...te.functions,...ie.functions,...Me.functions,...ue.functions},i=F.empty("Hooks").merge(new F("",[{from:"./init"}],[],[])).merge(Bn.functions.__hooksDefinitions()).merge(ie.functions.__hooksDefinitions()).merge(Me.functions.__hooksDefinitions()).merge(Ue.functions.__hooksDefinitions()).merge(r.buildLibraryHook(n.packages)).merge(new F("",[],[],["export {nasl, genInitFromSchema};"])),o=r.buildApiStubFile(n.apis,n.configs.metaData),s=new WeakMap,l=n.views.flatMap(t=>r.recursivelyGenReactComponent(t,s)),d=r.buildRoutes(n.views,s),f=await r.buildMasterCss(n.configs.themeCSS,n.packages),v=await r.buildGlobalFrontendVariableFile(n.configs.globalVariables,n.baseCtx),b=new Qi;return b.bind(L.FileSystemProvider).to(re),b.bind(L.ProjectOrganizer).to(ve),await b.get(L.ProjectOrganizer).organize({baseDir:e,project:{api:o,utils:i,routes:d,views:l,platformConfig:r.buildPlatformConfig(n),init:r.buildInit(n),masterCss:f,globalVariables:v},options:{noFormat:!n.configs.config.isExport}})}}});function qn(n){try{let e=Wn.parse(n);return Wi.objectify(e)}catch{return{}}}a(qn,"styleStringToInlineObject");var In=E({name:"JsxCodeGen",functions:{printJSX(n,e){return oe.fromComponentIR(n).toJsx(e)},printTag(n){return`<${n} />`}}});import{injectable as Yi}from"inversify";var Jn=`
|
|
5056
5056
|
if(window.ICESTARK && window.ICESTARK.root) {
|
|
5057
5057
|
Object.assign(window.ICESTARK, {
|
|
5058
5058
|
appEnter({ container, customProps }) {
|
|
@@ -5150,7 +5150,7 @@ ${g}`:g}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.b
|
|
|
5150
5150
|
} else {
|
|
5151
5151
|
loadAssets();
|
|
5152
5152
|
}
|
|
5153
|
-
`;var Ji={qiankun:Xn,icestark:Jn};function Yn(n){if(n.type==="h5")return"";let{framework:e,name:r,routePrefix:i,proxyPrefix:o,loginUrl:s,noAuthUrl:l,notFoundUrl:d}=n.app.integration?.microApp||{};e||="icestark",s===`${i}${n.basePath}/login`&&(s=void 0),l===`${i}${n.basePath}/noAuth`&&(l=void 0),d===`${i}${n.basePath}/notFound`&&(d=void 0);let
|
|
5153
|
+
`;var Ji={qiankun:Xn,icestark:Jn};function Yn(n){if(n.type==="h5")return"";let{framework:e,name:r,routePrefix:i,proxyPrefix:o,loginUrl:s,noAuthUrl:l,notFoundUrl:d}=n.app.integration?.microApp||{};e||="icestark",s===`${i}${n.basePath}/login`&&(s=void 0),l===`${i}${n.basePath}/noAuth`&&(l=void 0),d===`${i}${n.basePath}/notFound`&&(d=void 0);let f=JSON.stringify({name:r||void 0,routePrefix:i||void 0,proxyPrefix:o||void 0,loginUrl:s||void 0,noAuthUrl:l||void 0,notFoundUrl:d||void 0});return Ji[e].replace(/\{properties\}/g,f)}a(Yn,"integrateMicroApp");function Xi(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 d=n.length-1;d>=0;d--)(l=n[d])&&(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(Xi,"_ts_decorate");var Ae=class{static{a(this,"MicroFrontendPlugin")}produceScript(e){return Yn(e)}};Ae=Xi([Yi()],Ae);import"@abraham/reflection";import{inject as _i,injectable as eo}from"inversify";function Zi(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 d=n.length-1;d>=0;d--)(l=n[d])&&(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(Zi,"_ts_decorate");function Zn(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(Zn,"_ts_metadata");function $i(n,e){return function(r,i){e(r,i,n)}}a($i,"_ts_param");var $n=class{static{a(this,"LifeCycleHooksPlugin")}fileSystemProvider;constructor(e){this.fileSystemProvider=e}afterAllFilesGenerated(){}};$n=Zi([eo(),$i(0,_i(L.FileSystemProvider)),Zn("design:type",Function),Zn("design:paramtypes",[typeof GeneratorInfrastructureDomain>"u"||typeof GeneratorInfrastructureDomain.FileSystemProvider>"u"?Object:GeneratorInfrastructureDomain.FileSystemProvider])],$n);import"@abraham/reflection";import{inject as Be,injectable as to}from"inversify";function no(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 d=n.length-1;d>=0;d--)(l=n[d])&&(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(no,"_ts_decorate");function _n(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(_n,"_ts_metadata");function Ke(n,e){return function(r,i){e(r,i,n)}}a(Ke,"_ts_param");var ro=N("ReactPresetPlugin"),Se=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={...te.functions},i=ke(e.app);try{let o=Un(i),s=o.findNodeByPath(e.frontend.nodePath),l=this.irBuilder.buildIR(o,s,e.config),d=this.microFrontendManager.produceScript(s);ro.debug({script:d});let v=[...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
|
${d};
|
|
5179
5179
|
})();\`;
|
|
5180
5180
|
}
|
|
5181
|
-
`}];for(let
|
|
5182
|
-
`)??[],c=st(n,r,e),p=y(n,r),u=t.read("/rspack.config.js");u&&t.write("/rspack.config.js",u.replace("const backendUrl = '';",`const backendUrl = '${p}'`).replace("alias: {}",`alias: {${x}}`).replace("const publicPath = '';",`const publicPath = '${c}';`));function y(m,
|
|
5183
|
-
`)??"";throw i.error("\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF"),
|
|
5181
|
+
`}];for(let b of v)this.fileSystemProvider.write(b.path,b.content);return v}catch(o){throw o}}};Se=no([to(),Ke(0,Be(L.IRBuilder)),Ke(1,Be(L.MicroFrontendManager)),Ke(2,Be(L.FileSystemProvider)),_n("design:type",Function),_n("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])],Se);function et(){let n=new io;return n.bind(L.NASLTranspiler).to(Se),n.bind(L.IRBuilder).to(fe),n.bind(L.MicroFrontendManager).to(Ae),n.bind(L.FileSystemProvider).to(re).inSingletonScope(),n}a(et,"makeDefaultContainer");async function nt(n,e,r,i="./out",o){let s=N("\u7FFB\u8BD1\u8FC7\u7A0B");s.debug({config:r});async function l(){s.info("\u5F00\u59CB\u7FFB\u8BD1");try{let f=await o.get(L.NASLTranspiler).transpile({app:n,frontend:e,config:r,baseDir:i});return o.isBound(L.CodeGenerationLifecycleHooks)&&o.getAll(L.CodeGenerationLifecycleHooks).forEach(v=>{v.afterAllFilesGenerated()}),f}catch(f){throw s.error(f),f}finally{s.info("\u7FFB\u8BD1\u7ED3\u675F")}}return a(l,"genCode"),await l()??[]}a(nt,"translateNASLToReactApp");function tt(n,e,r){let i=`${e.USER_STATIC_URL}/${e.tenant}/${n.id}/${e.env}`;return r&&i.startsWith("//")?`${r}:${i}`:i}a(tt,"getBasePath");function oo(n){try{let e=new URL(n);return e.protocol==="http:"||e.protocol==="https:"?n:"https://"+n}catch{return`https://${n}`}}a(oo,"ensureUrlHasProtocol");function rt(n){return oo(n.replace(/^\/\//,""))}a(rt,"normalizeStaticUrl");import{isConnector as so}from"@lcap/nasl/out/concepts/utils/asserts";function ao(n){let e=N("extractFrontendDeps"),r=n.dependencies.filter(s=>!so(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(ao,"extractFrontendDeps");async function it(n,e,r,i){let o=N("downloadDependenciesToProject"),s=ao(n);if(s.length===0){o.info("\u65E0\u4F9D\u8D56\u5E93");return}else o.info({feExtensions:s.map(v=>`${v.name}@${v.version}`)},"\u524D\u7AEF\u4F9D\u8D56\u5E93\u5217\u8868");o.info("\u5F00\u59CB\u4E0B\u8F7D\u524D\u7AEF\u4F9D\u8D56\u5E93");let l=rt(i.STATIC_URL),d=i.axios,f=await Promise.all(s.map(async v=>{o.info({ext:v},"\u4E0B\u8F7D\u4F9D\u8D56\u5E93");let h=`packages${v.kind==="extension"?"/extension":""}/${v.name}@${v.version}`,t=`${h}/dist-theme`,w=`${l}/${h}`,x=await p(v);o.debug({sources:x});let c=x.map(u=>{let y=`${l}/${u}`;return o.debug({url:y,source:u}),{url:y,source:u}});r.write(`/src/${h}/dist-theme/index.css`,""),o.info({urls:c.map(u=>u.url)},"\u4E0B\u8F7D\u6587\u4EF6\u5217\u8868");try{await Promise.all([...c.map(async({source:u,url:y})=>{o.debug({url:y},"\u6B63\u5728\u4E0B\u8F7D");try{let g=(await d.get(y,{responseType:"text"})).data,k=`/src/${u}`;r.write(k,g),o.debug({vfsPath:k},"\u5199\u5165\u865A\u62DF\u6587\u4EF6\u7CFB\u7EDF\u8DEF\u5F84")}catch(m){o.error({url:y,error:m},"\u4E0B\u8F7D\u5931\u8D25")}o.debug({url:y},"\u4E0B\u8F7D\u6210\u529F")})])}catch(u){o.error(u)}async function p({name:u,version:y}){if(u==="@lcap/pc-react-ui")return["index.js","index.css"].map(P=>`packages/${u}@${y}/dist-theme/${P}`);let m=`${w}/manifest`,A=(await d.get(m,{responseType:"text"})).data.split(/\n/).filter(P=>P.trim().startsWith(t)).map(P=>P.split(":")[0].trim());return A.length===0?[`${h}/dist-theme/index.js`]:A}return a(p,"listPackageSources"),{packagePath:w,sources:x,projectPath:h,...v}}));return o.info("\u4F9D\u8D56\u5E93\u4E0B\u8F7D\u5B8C\u6210"),o.debug(f),f}a(it,"downloadDependenciesToProject");var He=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 Jl(n,e,r,i,o){let s=i??et(),l=N("compileAsProject");l.info("\u5F00\u59CB\u7F16\u8BD1\u9759\u6001\u4EA7\u7269"),l.info("\u8F7D\u5165\u9879\u76EE\u6A21\u677F");let d=s.get(L.FileSystemProvider);Object.entries(Xe.files).forEach(([t,w])=>{d.write(t,w.code)});let f=it(n,e,d,{STATIC_URL:r.STATIC_URL,axios:o??ot.create()}),v=await nt(n,e,r,"/",s);await h(d),l.debug(Object.keys(d.toJSON()),"\u751F\u6210\u7684\u6587\u4EF6");let b=new He({});return Object.entries(d.toJSON()).forEach(([t,w])=>{b.mutateFile(t,w??"")}),b;async function h(t){let x=(await f)?.map(m=>{let g=m.sources.find(k=>k.endsWith("/index.js"));if(g)return{name:m.name,resolvedTo:`./src/${g}`,scope:m.kind==="extension"?"@extension":void 0}}).filter(M).map(m=>`'${m.scope?`${m.scope}/${m.name}`:m.name}' : path.resolve(__dirname, '${m.resolvedTo}'),`).join(`
|
|
5182
|
+
`)??[],c=st(n,r,e),p=y(n,r),u=t.read("/rspack.config.js");u&&t.write("/rspack.config.js",u.replace("const backendUrl = '';",`const backendUrl = '${p}'`).replace("alias: {}",`alias: {${x}}`).replace("const publicPath = '';",`const publicPath = '${c}';`));function y(m,g){return g.isExport?"localhost:8080":`http://${g.env}.${m.name}.${g.tenant}.${g.lowcodeDomain}`}a(y,"getBackendPath")}a(h,"configRspack")}a(Jl,"compileAsProject");function st(n,e,r){if(e.isExport)return"/";let i=`${tt(n,e)}${r.basePath??""}`;return i.endsWith("/")?i:`${i}/`}a(st,"getPublicPath");async function Xl(n,e,r){let i=N("compileNASLToReactDist");r={...r,STATIC_URL:r.STATIC_URL||globalThis?.appInfo?.STATIC_URL};let o=st(n,r,e);i.info("\u8C03\u7528\u7F16\u8BD1\u63A5\u53E3\uFF0C\u8F93\u51FA\u9759\u6001\u6587\u4EF6");try{let l=(await ot.post("/api/v1/app/compileNaslToDist",{config:r,appId:n.id,frontendNodePath:e.nodePath,app:ke(n)}).then(d=>{if(d?.data?.code!==200){let v=d.data?.message??"\u539F\u56E0\u672A\u77E5",b=d.data?.errorPayload?.logs?.join(`
|
|
5183
|
+
`)??"";throw i.error("\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF"),b&&console.error(b),v?new Error(`\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF: ${v}`):new Error("\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF")}return d.data.result.files})).map(d=>{let f=o+co(d.path,"/");return{...d,path:f}});return i.info("\u7F16\u8BD1\u7ED3\u679C",l.map(d=>d.path)),l}catch(s){throw s}}a(Xl,"compileNASLToReactDist");export{Ee as ApiClientIdentifier,re as FileSystemPlugin,$n as LifeCycleHooksPlugin,N as Logger,Ae as MicroFrontendPlugin,fe as NASLAppIRBuilderPlugin,Oe as PlacedFile,ve as ProjectOrganizerPlugin,xe as ReactChildrenPropName,F as ReactFileDescription,oe as ReactFragment,Se as ReactPresetPlugin,be as ReactRouterDefaultViewFolderName,L as ServiceMetaKind,$ as StateActionIR,me as StateContextIR,He as VirtualProject,ge as bindAttrToIR,Ie as bindEventToAction,ae as bindViewElementEventToIR,Rn as codeFormatPlugin,Jl as compileAsProject,Xl as compileNASLToReactDist,gn as defaultErrorMessageDict,Un as deserializeAppWhileKeepTypeAnnotation,Hn as getComponentName,z as getRuntimeStr,B as javaScriptCodeGenPlugin,In as jsxCodeGenPlugin,Z as logicToLogicIR,et as makeDefaultContainer,E as makePlugin,ue as metadataPlugin,ee as paramToIR,te as reactCodeGenPlugin,Ue as reactComponentLibHackPlugin,ie as reactRouterPlugin,Qn as reactSlotPlugin,X as reactStateManagerMobxPlugin,V as reactStateManagerVanillaPlugin,le as routesExtractionPlugin,ke as serializeAppWithKeepTypeAnnotation,qn as styleStringToInlineObject,nt as translateNASLToReactApp};
|