@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/playground.js
CHANGED
|
@@ -4743,95 +4743,95 @@ export const useHandlePageNavigationEvent = ()=>{
|
|
|
4743
4743
|
},
|
|
4744
4744
|
"include": ["src"]
|
|
4745
4745
|
}
|
|
4746
|
-
`}},environment:"vanilla"};var ot=require("inversify");var Br=require("@abraham/reflection"),C=require("@lcap/nasl"),_=require("@lcap/nasl/out/concepts/utils/asserts"),xn=require("inversify"),Re=require("lodash");var ce=class{static{a(this,"StateActionIR")}__raw;deps;params;logics;name;kind;constructor(e){Object.assign(this,e)}};function z(n){return n!=null}a(z,"isNotNil");function cn(n){return Array.isArray(n)?n:[n]}a(cn,"ensureArray");function ln(){throw new Error("todo")}a(ln,"todo");function $(n){let e=n?JSON.stringify(n):String(n);throw new Error(`not implemented for ${e}`)}a($,"notImplemented");function Q(n){let e=n?JSON.stringify(n):String(n);throw new Error(`never implemented for ${e}. Should never be here!`)}a(Q,"neverImplemented");function J(n){throw new Error(`assertNever failed: ${n}`)}a(J,"assertNever");var pn=a(n=>n.startsWith("elements."),"isNameAElementRef"),un=a(n=>n.split(".").at(1),"extractComponentNameFromElementRefName"),Qe=a(n=>`${n}Ref`,"componentNameToRefName");function Ge(n){return n.kind==="library"}a(Ge,"isComponentFromLib");function dn(n){return n.tag==="template"}a(dn,"isReferencedComponentATemplate");var mn=require("lodash"),fn=me(require("pino"));var Dt=process.env.LOG_LEVEL||"info",St=(0,fn.default)({level:Dt,transport:{target:"pino-pretty",options:{colorize:!0}}});function S(n){return St.child({},{msgPrefix:`[${n}] `})}a(S,"Logger");function gn(n){if(!(0,mn.isFunction)(n))throw new Error;let e=n.name,r=Object.getOwnPropertyNames(n.prototype),i=S(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(gn,"logging");var ne=require("@lcap/nasl");function Ke(n,e){let r=n?.split(".")||[],o=r[0]==="app"?1:0;return r.findIndex((s,l)=>l%2===o?s===e:!1)}a(Ke,"findConceptKeyWordIndexFromNamespace");function hn(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"),m=n.defaultValue?.expression?n.defaultValue.expression:new ne.Unparsed({code:void 0});return l?ne.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new ne.Argument({expression:new ne.StringLiteral({value:r})}),new ne.Argument({expression:m})]},n.parentNode,n.parentKey):m}a(hn,"prepareVariableDefaultValue");var yn=require("@lcap/nasl/out/utils/string");var be=a(n=>n.replaceAll("_","-").replace(/(?:-)([a-zA-Z0-9])/g,(e,r)=>r.toUpperCase()),"trueKebab2Camel"),le=a(n=>(0,yn.firstUpperCase)(be(n)),"kebab2Pascal");function vn(n){return/^[A-Z]/.test(n)}a(vn,"startsWithUpperCase");function wn(n){return z(n)&&n!==""}a(wn,"isNotEmptyString");function V({name:n,functions:e}){return{name:n,functions:e}}a(V,"makePlugin");var Tt={enabled:!1,locale:"zh-CN",messages:{},I18nList:[]},De=V({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:Tt},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 Rt(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 m=n.length-1;m>=0;m--)(l=n[m])&&(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(Rt,"_ts_decorate");var Se=class n{static{a(this,"StateContextIR")}providedStates;consumedStateNames;actions;parentCtx;constructor(e,r,i,o){this.providedStates=e,this.consumedStateNames=r,this.actions=i,this.parentCtx=o}recursivelyExtractTreeStates(){return[...this.providedStates.filter(e=>e.kind==="tree"),...this.parentCtx?.recursivelyExtractTreeStates()??[]]}resolveExprToString(e,r,i){return r.printSyntaxNode(e,{resolve({kind:o,value:s}){switch(o){case"calleeNamespace":return i.resolveCalleeNamespace(s);case"identifier":return i.resolveIdentifier(s)}}})}static fromParent(e){return new n([],[],[],e)}provide(e){return this.providedStates.push(e),this}provideAction(e){return this.actions.push(e),this}findStateByName(e){return this.providedStates.find(r=>r.identifier===e)??this.parentCtx?.findStateByName(e)}findActionByName(e){return this.actions.find(r=>r.name===e)??this.parentCtx?.findActionByName(e)}findComponentRefByComponentName(e){return this.findStateByName(Qe(e))??this.parentCtx?.findComponentRefByComponentName(e)}};function Nt(n,e){let r=[],i=[];return n.dependencies&&r.push(...n.dependencies),n.interfaceDependencies&&r.push(...n.interfaceDependencies),e.views&&i.push(...e.views),r.forEach(o=>{o.views&&i.push(...o.views)}),i}a(Nt,"collectTopLevelViews");function pe(n){return{name:n.name,typeAnnotation:n.__TypeAnnotation,defaultValue:n.defaultValue}}a(pe,"paramToIR");function Pt(n){if(e(n)||r(n)){if(r(n)){let i=C.CallFunction.from({calleeNamespace:"nasl.auth",calleeName:"has",arguments:[C.Argument.from({expression:new C.StringLiteral({value:n.viewElement.authPath})})]},n.parentNode,n.parentKey);return{__raw:n,concept:n.concept,expression:ue(i),kind:"if"}}else{let i=n.expression;if(i)return{__raw:n,concept:n.concept,expression:ue(i),kind:"if"};te.debug({nodePath:n.nodePath},"\u65E0expression\u7684directive\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E")}return}else return te.error({nodePath:n.nodePath},`\u9047\u5230\u4E86\u4E0D\u652F\u6301\u7684 directive: ${n.name}`),$(n);function e(i){return i.name==="if"}a(e,"isIfDirective");function r(i){return i.name==="auth"}a(r,"isAuthDirective")}a(Pt,"bindDirectiveToIR");function ue(n){return{expr:n,deps:[]}}a(ue,"exprToIR");function Ne(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=C.StringLiteral.from({value:n.value});if(n.sync)throw te.error({nodePath:n.nodePath},"string\u4E0D\u53EF\u4E3Async"),new Error("string\u4E0D\u53EF\u4E3Async");return{__raw:n,concept:n.concept,kind:"expr",expression:ue(e),name:n.name,sync:!1}}case"static":case"dynamic":return n.type==="dynamic"&&(n.destination?n.expression=n.destination:n.externalDestination&&(n.expression=n.externalDestination,n.name="link")),{__raw:n,concept:n.concept,kind:"expr",expression:ue(n.expression),name:n.name,sync:n.sync??!1};case"component":return{kind:"render",concept:"BindAttribute",component:n.component,scopeVariable:n.scopeVariable,name:n.name};default:J(n)}}a(Ne,"bindAttrToIR");function se(n){return{logic:n,deps:[]}}a(se,"logicToLogicIR");function An(n,e){return be(`${e??""}-${n}`)}a(An,"getHandlerName");function It(n){return{value:"change",checked:"change"}[n]??`${n}-change`}a(It,"inferChangeEventNameFromAttrName");function xe(n){return{__raw:n,logics:n.logics.map(se),concept:n.concept,params:n.getContextLogicParams().map(pe),handlerName:An(n.name,n.parentNode?.name)}}a(xe,"bindViewElementEventToIR");function Be(n){return{__raw:n.__raw,logics:n.logics,deps:[],name:n.handlerName,params:n.params,kind:"standalone"}}a(Be,"bindEventToAction");var bn="@lcap/pc-react-ui";function jt(n){let e=n.tag;if(vn(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}`:bn,tag:e}}else if(e){if(e.includes("-"))throw te.error({viewElement:(0,Re.pick)(n,["name","concept","tag"]),nodePath:n.nodePath},"\u4E0D\u652F\u6301\u7684tag\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E"),new Error(`\u5B58\u5728\u810F\u6570\u636E: ${n.nodePath}`);return{kind:"library",libraryName:bn,tag:e}}throw new Error("empty tag name!")}a(jt,"getReferencedLibComponent");function Ct(n){n.attrs.flatMap(r=>{if(r.kind==="expr"&&r.sync){if(r.expression.expr)return[r];te.debug(`${r.__raw.nodePath}\u7684expression\u4E3A\u7A7A\uFF0C\u4F46\u4ECD\u4E3A\u53CC\u5411\u7ED1\u5B9A\u3002\u5DF2\u5FFD\u7565\u3002`)}return[]}).forEach(r=>{te.debug({x:r},"\u6784\u9020\u53CC\u5411\u7ED1\u5B9A\u7684handler");let i=m(),o=i.params.at(0),s=new C.Param({name:o?.name??"event"}),l=C.Logic.from({name:"_syncChange",body:[C.Assignment.from({left:r.expression.expr,right:s},r.__raw.parentNode,r.__raw.parentKey)],params:[s]});i.logics.unshift(se(l)),o||i.params.push(pe(s));function m(){let g=It(r.name),b=An(g,r.__raw.parentNode?.name);te.trace({targetEventName:g,targetHandlerName:b});let x=n.events.find(t=>t.handlerName===b);if(x)return x;let h=xe(C.BindEvent.from({logics:[],name:"change"},r.__raw.parentNode,"bindEvents"));return n.events.push(h),h}a(m,"findOrCreateBindEvent")})}a(Ct,"prependBindEventForSyncBindAttribute");function kn(n){if(n.logics.length>1){let e=[],r=n.params.map(s=>C.Param.from(s)),i=n.logics.map(s=>{let l=`${n.name}_${s.logic.name}`,m=C.Logic.from({...s.logic.toJSON(),params:r,name:l},s.logic.parentNode,s.logic.parentKey);return se(m)}),o=new ce({...n,logics:i});return e.push(o),i.forEach(s=>{let l=new ce({...n,name:s.logic.name,logics:[s],kind:"standalone"});e.push(l)}),e}else return[n]}a(kn,"splitLogicsInActionToMultipleActions");function Lt(n){if(n.some(s=>s.kind!=="if"))throw te.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=C.BinaryExpression.from({left:i,operator:"&&",right:s.expression.expr},s.__raw.parentNode,s.__raw.parentKey);return[{kind:"if",concept:"BindDirective",expression:ue(i),__raw:e.__raw}]}a(Lt,"mergeMultipleIfDirectivesIntoConjunctiveNormalForm");function Dn(n,e){let r=e.bindAttrs.map(Ne),o={directives:Lt(e.bindDirectives.map(Pt).filter(z)),attrs:r,events:e.bindEvents.map(xe).filter(z),children:e.children.map(l=>Dn(n,l)),component:jt(e),__raw:e,slot:{scope:e.slotScope||void 0,target:s(e.slotTarget)}};return Ct(o),o.events.forEach(l=>{let m=kn(Be(l));for(let g of m)n.provideAction(g)}),o;function s(l){if(!(l==="default"||l===""))return l}a(s,"normalizeSlotTarget")}a(Dn,"extractAsComponentInstanceIR");function Et(n){let e=[],r=[];return n.variables.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"static",value:ue(hn(o))},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),n.bindEvents.forEach(o=>{let s=new ce({__raw:o,logics:o.logics.map(se),deps:[],name:o.name,params:o.getContextLogicParams().map(pe),kind:"view-lifecycle"}),l=kn(s);r.push(...l)}),n.logics.forEach(o=>{r.push(new ce({__raw:o,deps:[],name:o.name,params:o.params.map(pe),logics:[o].map(se),kind:"standalone"}))}),n.params.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"url-param",__raw:pe(o),defaultValue:o.defaultValue?.expression?ue(o.defaultValue.expression):void 0},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),{consumedStateNames:[],providedStates:e,actions:r}}a(Et,"collectStatesAndActionsFromView");function Ft(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(Ft,"enhanceStateContext");function qe(n,e){if(e&&pn(e)){let r=un(e);if(!r)return;let i=n.findComponentRefByComponentName(r);if(i)return i;let s={kind:"standalone",identifier:Qe(r),initialization:{kind:"component-ref",componentName:r},typeAnnotation:null};return n.provide(s),s}}a(qe,"provideAsComponentRefIfOk");function Vt(n){let e=new Se([],[],[],null);return Ft(e)}a(Vt,"makeBaseCtx");var He="apiClient";function Mt(n,e){return e.provide({kind:"tree",identifier:He,initialization:{kind:"api-client"},typeAnnotation:null}),n.map(se)}a(Mt,"collectApis");function Ot(n){return n.dependencies.map(r=>{if(!(0,_.isConnector)(r)&&r.frontends?.length)return r}).filter(z)}a(Ot,"collectFrontendExtensionModules");function zt(n,e,r){let i=Nt(n,e);return s(i,r);function s(l,m){return l.map(g=>{let b=s(g.children,m),{providedStates:x,actions:h}=Et(g),t=new Se(x,[],h,m);A(t);let w=g.elements.map(p=>Dn(t,p));return c(w),{__raw:g,childComponents:b,stateContext:t,identifier:g.name,elements:w};function A(p){g.traverseStrictChildren(d=>{if((0,Re.isObject)(d)&&"playground"in d&&(d.playground=[]),(0,_.isMemberExpression)(d)){if((0,_.isIdentifier)(d.object)&&(0,_.isIdentifier)(d.property)&&d.object.name==="elements"&&d.property.name==="$ce"){let v=d.getAncestor("ViewElement");if(v){let f=`elements.${v.name}`,y=qe(p,f);y&&(d.emit=()=>{},d.parentNode&&(d.parentNode.emit=()=>{}),d.replaceNode({name:y.identifier,concept:"Identifier"}))}}else if((0,_.isIdentifier)(d.object)&&d.object.namespace==="elements.$ce.property"){let v=d.getAncestor("ViewElement");if(v){let f=`elements.${v.name}`,y=qe(p,f);y&&(d.object=new C.Identifier({name:y.identifier}))}}}else if((0,_.isCallLogic)(d)){let v=qe(p,d.calleeNamespace);v&&(d.calleeNamespace=v.identifier)}})}a(A,"resolveComponentRef");function c(p){p.forEach(d=>{let v=t.findComponentRefByComponentName(d.__raw.name);if(v){let f=Ne(new C.BindAttribute({name:"ref",type:"dynamic",expression:new C.Identifier({name:v.identifier})}));d.attrs.push(f)}c(d.children)})}a(c,"recursivelyBindRefAttrIfNecessary")})}}a(zt,"collectAllViews");var te=S("IR builder"),Te=class{static{a(this,"NASLAppIRBuilderPlugin")}buildIR(e,r,i){let o=Vt(r.variables),s=Mt(e.logics,o),l=zt(e,r,o);return{baseCtx:o,configs:m(),apis:s,views:l,packages:g()};function m(){let x={...De.functions}.makeBasePlatformConfig(e,r,i),h=(0,C.genMetaData)(e,r,i),t=r.bindEvents.map(xe).filter(z);return{config:i,basePlatformConfig:x,events:t,metaData:h,globalVariables:r.variables,themeCSS:r.genThemeCSS(),document:{icon:r.documentIcon}}}function g(){let b=Ot(e).map(x=>({kind:"extension",name:x.name,version:x.version,hasCss:!0}));return te.debug({extensionPackages:b}),[...b,{kind:"standard",name:"@lcap/pc-react-ui",version:"1.0.0"}]}}};Te=Rt([(0,xn.injectable)()],Te);var j=require("@lcap/nasl"),u=require("@lcap/nasl/out/concepts/utils/asserts"),Tn=me(require("json5")),Rn=require("lodash");var Sn={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 Pe=S("JavaScriptCodeGen");function G(n,e){return r(o(n));function r(t){return(0,u.isLogicItem)(t)?h(t):(0,u.isLogic)(t)?l(t):m(t)}function i(t){let w=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:A,typeKind:c,typeName:p,typeNamespace:d}=w||{};if(d?.endsWith(".metadataTypes")){let f=t.app.findNodeByCompleteName(d+"."+p)?.typeAnnotation;f&&(A=`${f.typeNamespace}.${f.typeName}`,c=f.typeKind,p=f.typeName)}if(w&&(!["primitive","union"].includes(c??"")||p==="DateTime")){let f=r(t);return j.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new j.Argument({expression:new j.StringLiteral({value:A})}),new j.Argument({expression:new j.Unparsed({code:f})})]},t.parentNode,t.parentKey)}return t}function o(t){return(0,u.isCallFunction)(t)||(0,u.isCallLogic)(t)||(0,u.isNewComposite)(t)||(0,u.isDefaultValue)(t)?i(t):t}function s(t){return`(${A()})=>(${w()})`;function w(){let c=t.logics[0];return G(c,e)}function A(){return t.params.map(c=>c.name).toString()}}function l(t){let w="async (";return Array.isArray(t.params)&&(w+=t.params.map(A=>A.name).toString()),w+=") => {",Array.isArray(t.params)&&t.params.forEach(A=>{let c=G(A,e);A.name!==c&&(w+=`${A.name} = ${c};
|
|
4746
|
+
`}},environment:"vanilla"};var ot=require("inversify");var Br=require("@abraham/reflection"),C=require("@lcap/nasl"),_=require("@lcap/nasl/out/concepts/utils/asserts"),xn=require("inversify"),Re=require("lodash");var ce=class{static{a(this,"StateActionIR")}__raw;deps;params;logics;name;kind;constructor(e){Object.assign(this,e)}};function z(n){return n!=null}a(z,"isNotNil");function cn(n){return Array.isArray(n)?n:[n]}a(cn,"ensureArray");function ln(){throw new Error("todo")}a(ln,"todo");function $(n){let e=n?JSON.stringify(n):String(n);throw new Error(`not implemented for ${e}`)}a($,"notImplemented");function Q(n){let e=n?JSON.stringify(n):String(n);throw new Error(`never implemented for ${e}. Should never be here!`)}a(Q,"neverImplemented");function J(n){throw new Error(`assertNever failed: ${n}`)}a(J,"assertNever");var pn=a(n=>n.startsWith("elements."),"isNameAElementRef"),un=a(n=>n.split(".").at(1),"extractComponentNameFromElementRefName"),Qe=a(n=>`${n}Ref`,"componentNameToRefName");function Ge(n){return n.kind==="library"}a(Ge,"isComponentFromLib");function dn(n){return n.tag==="template"}a(dn,"isReferencedComponentATemplate");var mn=require("lodash"),fn=me(require("pino"));var Dt=process.env.LOG_LEVEL||"info",St=(0,fn.default)({level:Dt,transport:{target:"pino-pretty",options:{colorize:!0}}});function S(n){return St.child({},{msgPrefix:`[${n}] `})}a(S,"Logger");function gn(n){if(!(0,mn.isFunction)(n))throw new Error;let e=n.name,r=Object.getOwnPropertyNames(n.prototype),i=S(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(gn,"logging");var ne=require("@lcap/nasl");function Ke(n,e){let r=n?.split(".")||[],o=r[0]==="app"?1:0;return r.findIndex((s,l)=>l%2===o?s===e:!1)}a(Ke,"findConceptKeyWordIndexFromNamespace");function hn(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"),m=n.defaultValue?.expression?n.defaultValue.expression:new ne.Unparsed({code:void 0});return l?ne.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new ne.Argument({expression:new ne.StringLiteral({value:r})}),new ne.Argument({expression:m})]},n.parentNode,n.parentKey):m}a(hn,"prepareVariableDefaultValue");var yn=require("@lcap/nasl/out/utils/string");var be=a(n=>n.replaceAll("_","-").replace(/(?:-)([a-zA-Z0-9])/g,(e,r)=>r.toUpperCase()),"trueKebab2Camel"),le=a(n=>(0,yn.firstUpperCase)(be(n)),"kebab2Pascal");function vn(n){return/^[A-Z]/.test(n)}a(vn,"startsWithUpperCase");function wn(n){return z(n)&&n!==""}a(wn,"isNotEmptyString");function V({name:n,functions:e}){return{name:n,functions:e}}a(V,"makePlugin");var Tt={enabled:!1,locale:"zh-CN",messages:{},I18nList:[]},De=V({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:Tt},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 Rt(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 m=n.length-1;m>=0;m--)(l=n[m])&&(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(Rt,"_ts_decorate");var Se=class n{static{a(this,"StateContextIR")}providedStates;consumedStateNames;actions;parentCtx;constructor(e,r,i,o){this.providedStates=e,this.consumedStateNames=r,this.actions=i,this.parentCtx=o}recursivelyExtractTreeStates(){return[...this.providedStates.filter(e=>e.kind==="tree"),...this.parentCtx?.recursivelyExtractTreeStates()??[]]}resolveExprToString(e,r,i){return r.printSyntaxNode(e,{resolve({kind:o,value:s}){switch(o){case"calleeNamespace":return i.resolveCalleeNamespace(s);case"identifier":return i.resolveIdentifier(s)}}})}static fromParent(e){return new n([],[],[],e)}provide(e){return this.providedStates.push(e),this}provideAction(e){return this.actions.push(e),this}findStateByName(e){return this.providedStates.find(r=>r.identifier===e)??this.parentCtx?.findStateByName(e)}findActionByName(e){return this.actions.find(r=>r.name===e)??this.parentCtx?.findActionByName(e)}findComponentRefByComponentName(e){return this.findStateByName(Qe(e))??this.parentCtx?.findComponentRefByComponentName(e)}};function Nt(n,e){let r=[],i=[];return n.dependencies&&r.push(...n.dependencies),n.interfaceDependencies&&r.push(...n.interfaceDependencies),e.views&&i.push(...e.views),r.forEach(o=>{o.views&&i.push(...o.views)}),i}a(Nt,"collectTopLevelViews");function pe(n){return{name:n.name,typeAnnotation:n.__TypeAnnotation,defaultValue:n.defaultValue}}a(pe,"paramToIR");function Pt(n){if(e(n)||r(n)){if(r(n)){let i=C.CallFunction.from({calleeNamespace:"nasl.auth",calleeName:"has",arguments:[C.Argument.from({expression:new C.StringLiteral({value:n.viewElement.authPath})})]},n.parentNode,n.parentKey);return{__raw:n,concept:n.concept,expression:ue(i),kind:"if"}}else{let i=n.expression;if(i)return{__raw:n,concept:n.concept,expression:ue(i),kind:"if"};te.debug({nodePath:n.nodePath},"\u65E0expression\u7684directive\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E")}return}else return te.error({nodePath:n.nodePath},`\u9047\u5230\u4E86\u4E0D\u652F\u6301\u7684 directive: ${n.name}`),$(n);function e(i){return i.name==="if"}a(e,"isIfDirective");function r(i){return i.name==="auth"}a(r,"isAuthDirective")}a(Pt,"bindDirectiveToIR");function ue(n){return{expr:n,deps:[]}}a(ue,"exprToIR");function Ne(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=C.StringLiteral.from({value:n.value});if(n.sync)throw te.error({nodePath:n.nodePath},"string\u4E0D\u53EF\u4E3Async"),new Error("string\u4E0D\u53EF\u4E3Async");return{__raw:n,concept:n.concept,kind:"expr",expression:ue(e),name:n.name,sync:!1}}case"static":case"dynamic":return n.type==="dynamic"&&(n.destination?n.expression=n.destination:n.externalDestination&&(n.expression=n.externalDestination,n.name="link")),{__raw:n,concept:n.concept,kind:"expr",expression:ue(n.expression),name:n.name,sync:n.sync??!1};case"component":return{kind:"render",concept:"BindAttribute",component:n.component,scopeVariable:n.scopeVariable,name:n.name};default:J(n)}}a(Ne,"bindAttrToIR");function se(n){return{logic:n,deps:[]}}a(se,"logicToLogicIR");function An(n,e){return be(`${e??""}-${n}`)}a(An,"getHandlerName");function It(n){return{value:"change",checked:"change"}[n]??`${n}-change`}a(It,"inferChangeEventNameFromAttrName");function xe(n){return{__raw:n,logics:n.logics.map(se),concept:n.concept,params:n.getContextLogicParams().map(pe),handlerName:An(n.name,n.parentNode?.name)}}a(xe,"bindViewElementEventToIR");function Be(n){return{__raw:n.__raw,logics:n.logics,deps:[],name:n.handlerName,params:n.params,kind:"standalone"}}a(Be,"bindEventToAction");var bn="@lcap/pc-react-ui";function jt(n){let e=n.tag;if(vn(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}`:bn,tag:e}}else if(e){if(e.includes("-"))throw te.error({viewElement:(0,Re.pick)(n,["name","concept","tag"]),nodePath:n.nodePath},"\u4E0D\u652F\u6301\u7684tag\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E"),new Error(`\u5B58\u5728\u810F\u6570\u636E: ${n.nodePath}`);return{kind:"library",libraryName:bn,tag:e}}throw new Error("empty tag name!")}a(jt,"getReferencedLibComponent");function Ct(n){n.attrs.flatMap(r=>{if(r.kind==="expr"&&r.sync){if(r.expression.expr)return[r];te.debug(`${r.__raw.nodePath}\u7684expression\u4E3A\u7A7A\uFF0C\u4F46\u4ECD\u4E3A\u53CC\u5411\u7ED1\u5B9A\u3002\u5DF2\u5FFD\u7565\u3002`)}return[]}).forEach(r=>{te.debug({x:r},"\u6784\u9020\u53CC\u5411\u7ED1\u5B9A\u7684handler");let i=m(),o=i.params.at(0),s=new C.Param({name:o?.name??"event"}),l=C.Logic.from({name:"_syncChange",body:[C.Assignment.from({left:r.expression.expr,right:s},r.__raw.parentNode,r.__raw.parentKey)],params:[s]});i.logics.unshift(se(l)),o||i.params.push(pe(s));function m(){let g=It(r.name),b=An(g,r.__raw.parentNode?.name);te.trace({targetEventName:g,targetHandlerName:b});let x=n.events.find(t=>t.handlerName===b);if(x)return x;let y=xe(C.BindEvent.from({logics:[],name:"change"},r.__raw.parentNode,"bindEvents"));return n.events.push(y),y}a(m,"findOrCreateBindEvent")})}a(Ct,"prependBindEventForSyncBindAttribute");function kn(n){if(n.logics.length>1){let e=[],r=n.params.map(s=>C.Param.from(s)),i=n.logics.map(s=>{let l=`${n.name}_${s.logic.name}`,m=C.Logic.from({...s.logic.toJSON(),params:r,name:l},s.logic.parentNode,s.logic.parentKey);return se(m)}),o=new ce({...n,logics:i});return e.push(o),i.forEach(s=>{let l=new ce({...n,name:s.logic.name,logics:[s],kind:"standalone"});e.push(l)}),e}else return[n]}a(kn,"splitLogicsInActionToMultipleActions");function Lt(n){if(n.some(s=>s.kind!=="if"))throw te.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=C.BinaryExpression.from({left:i,operator:"&&",right:s.expression.expr},s.__raw.parentNode,s.__raw.parentKey);return[{kind:"if",concept:"BindDirective",expression:ue(i),__raw:e.__raw}]}a(Lt,"mergeMultipleIfDirectivesIntoConjunctiveNormalForm");function Dn(n,e){let r=e.bindAttrs.map(Ne),o={directives:Lt(e.bindDirectives.map(Pt).filter(z)),attrs:r,events:e.bindEvents.map(xe).filter(z),children:e.children.map(l=>Dn(n,l)),component:jt(e),__raw:e,slot:{scope:e.slotScope||void 0,target:s(e.slotTarget)}};return Ct(o),o.events.forEach(l=>{let m=kn(Be(l));for(let g of m)n.provideAction(g)}),o;function s(l){if(!(l==="default"||l===""))return l}a(s,"normalizeSlotTarget")}a(Dn,"extractAsComponentInstanceIR");function Et(n){let e=[],r=[];return n.variables.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"static",value:ue(hn(o))},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),n.bindEvents.forEach(o=>{let s=new ce({__raw:o,logics:o.logics.map(se),deps:[],name:o.name,params:o.getContextLogicParams().map(pe),kind:"view-lifecycle"}),l=kn(s);r.push(...l)}),n.logics.forEach(o=>{r.push(new ce({__raw:o,deps:[],name:o.name,params:o.params.map(pe),logics:[o].map(se),kind:"standalone"}))}),n.params.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"url-param",__raw:pe(o),defaultValue:o.defaultValue?.expression?ue(o.defaultValue.expression):void 0},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),{consumedStateNames:[],providedStates:e,actions:r}}a(Et,"collectStatesAndActionsFromView");function Ft(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(Ft,"enhanceStateContext");function qe(n,e){if(e&&pn(e)){let r=un(e);if(!r)return;let i=n.findComponentRefByComponentName(r);if(i)return i;let s={kind:"standalone",identifier:Qe(r),initialization:{kind:"component-ref",componentName:r},typeAnnotation:null};return n.provide(s),s}}a(qe,"provideAsComponentRefIfOk");function Vt(n){let e=new Se([],[],[],null);return Ft(e)}a(Vt,"makeBaseCtx");var He="apiClient";function Mt(n,e){return e.provide({kind:"tree",identifier:He,initialization:{kind:"api-client"},typeAnnotation:null}),n.map(se)}a(Mt,"collectApis");function Ot(n){return n.dependencies.map(r=>{if(!(0,_.isConnector)(r)&&r.frontends?.length)return r}).filter(z)}a(Ot,"collectFrontendExtensionModules");function zt(n,e,r){let i=Nt(n,e);return s(i,r);function s(l,m){return l.map(g=>{let b=s(g.children,m),{providedStates:x,actions:y}=Et(g),t=new Se(x,[],y,m);A(t);let w=g.elements.map(p=>Dn(t,p));return c(w),{__raw:g,childComponents:b,stateContext:t,identifier:g.name,elements:w};function A(p){g.traverseStrictChildren(d=>{if((0,Re.isObject)(d)&&"playground"in d&&(d.playground=[]),(0,_.isMemberExpression)(d)){if((0,_.isIdentifier)(d.object)&&(0,_.isIdentifier)(d.property)&&d.object.name==="elements"&&d.property.name==="$ce"){let v=d.getAncestor("ViewElement");if(v){let f=`elements.${v.name}`,h=qe(p,f);h&&(d.emit=()=>{},d.parentNode&&(d.parentNode.emit=()=>{}),d.replaceNode({name:h.identifier,concept:"Identifier"}))}}else if((0,_.isIdentifier)(d.object)&&d.object.namespace==="elements.$ce.property"){let v=d.getAncestor("ViewElement");if(v){let f=`elements.${v.name}`,h=qe(p,f);h&&(d.object=new C.Identifier({name:h.identifier}))}}}else if((0,_.isCallLogic)(d)){let v=qe(p,d.calleeNamespace);v&&(d.calleeNamespace=v.identifier)}})}a(A,"resolveComponentRef");function c(p){p.forEach(d=>{let v=t.findComponentRefByComponentName(d.__raw.name);if(v){let f=Ne(new C.BindAttribute({name:"ref",type:"dynamic",expression:new C.Identifier({name:v.identifier})}));d.attrs.push(f)}c(d.children)})}a(c,"recursivelyBindRefAttrIfNecessary")})}}a(zt,"collectAllViews");var te=S("IR builder"),Te=class{static{a(this,"NASLAppIRBuilderPlugin")}buildIR(e,r,i){let o=Vt(r.variables),s=Mt(e.logics,o),l=zt(e,r,o);return{baseCtx:o,configs:m(),apis:s,views:l,packages:g()};function m(){let x={...De.functions}.makeBasePlatformConfig(e,r,i),y=(0,C.genMetaData)(e,r,i),t=r.bindEvents.map(xe).filter(z);return{config:i,basePlatformConfig:x,events:t,metaData:y,globalVariables:r.variables,themeCSS:r.genThemeCSS(),document:{icon:r.documentIcon}}}function g(){let b=Ot(e).map(x=>({kind:"extension",name:x.name,version:x.version,hasCss:!0}));return te.debug({extensionPackages:b}),[...b,{kind:"standard",name:"@lcap/pc-react-ui",version:"1.0.0"}]}}};Te=Rt([(0,xn.injectable)()],Te);var j=require("@lcap/nasl"),u=require("@lcap/nasl/out/concepts/utils/asserts"),Tn=me(require("json5")),Rn=require("lodash");var Sn={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 Pe=S("JavaScriptCodeGen");function G(n,e){return r(o(n));function r(t){return(0,u.isLogicItem)(t)?y(t):(0,u.isLogic)(t)?l(t):m(t)}function i(t){let w=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:A,typeKind:c,typeName:p,typeNamespace:d}=w||{};if(d?.endsWith(".metadataTypes")){let f=t.app.findNodeByCompleteName(d+"."+p)?.typeAnnotation;f&&(A=`${f.typeNamespace}.${f.typeName}`,c=f.typeKind,p=f.typeName)}if(w&&(!["primitive","union"].includes(c??"")||p==="DateTime")){let f=r(t);return j.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new j.Argument({expression:new j.StringLiteral({value:A})}),new j.Argument({expression:new j.Unparsed({code:f})})]},t.parentNode,t.parentKey)}return t}function o(t){return(0,u.isCallFunction)(t)||(0,u.isCallLogic)(t)||(0,u.isNewComposite)(t)||(0,u.isDefaultValue)(t)?i(t):t}function s(t){return`(${A()})=>(${w()})`;function w(){let c=t.logics[0];return G(c,e)}function A(){return t.params.map(c=>c.name).toString()}}function l(t){let w="async (";return Array.isArray(t.params)&&(w+=t.params.map(A=>A.name).toString()),w+=") => {",Array.isArray(t.params)&&t.params.forEach(A=>{let c=G(A,e);A.name!==c&&(w+=`${A.name} = ${c};
|
|
4747
4747
|
`)}),Array.isArray(t.variables)&&t.variables.forEach(A=>{w+=`let ${G(A,e)};
|
|
4748
4748
|
`}),Array.isArray(t.returns)&&t.returns.forEach(A=>{w+=`let ${G(A,e)};
|
|
4749
|
-
`}),Array.isArray(t.body)&&t.body.forEach(A=>{if((0,Rn.isNil)(A))throw Pe.error(`${t.nodePath} \u7684 body \u6709\u7A7A\u503C`),new Error("");w+=
|
|
4750
|
-
`}),w+="}",w}function m(t){if((0,u.isReturn)(t)){let p=function(d){let v="",f=d.typeAnnotation||d.__TypeAnnotation,
|
|
4749
|
+
`}),Array.isArray(t.body)&&t.body.forEach(A=>{if((0,Rn.isNil)(A))throw Pe.error(`${t.nodePath} \u7684 body \u6709\u7A7A\u503C`),new Error("");w+=y(A),w+=`
|
|
4750
|
+
`}),w+="}",w}function m(t){if((0,u.isReturn)(t)){let p=function(d){let v="",f=d.typeAnnotation||d.__TypeAnnotation,h=f&&(!["primitive","union"].includes(f.typeKind)||f.typeName==="DateTime");h&&(v+=`genInitFromSchema('${f?.sortedTypeKey}',`);let k=d.defaultValue?.toJS?.()??"undefined";return v+=k,h&&(v+=")"),v};var w=p;a(p,"makeRight");let A=e?.resolve?.({kind:"identifier",value:new j.Identifier({name:t.name})})??t.name,c=p(t);return`${A} = ${c}`}else if((0,u.isParam)(t)){let A=t.defaultValue?G(t.defaultValue,e):void 0;return A?`${t.name} === undefined ? ${A} : ${t.name}`:`${t.name}`}else if((0,u.isVariable)(t)){let A=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:c,typeKind:p,typeName:d,typeNamespace:v}=A||{};if(v?.endsWith(".metadataTypes")){let D=(t.app.findNodeByCompleteName(v+"."+d)||{}).typeAnnotation||{};c=`${D.typeNamespace}.${D.typeName}`,p=D.typeKind,d=D.typeName}let f=A&&(!["primitive","union"].includes(p)||d==="DateTime"),h=`${t.name} = `;if(f&&(h+=`genInitFromSchema('${c}',`),t.defaultValue?.expression){let k=G(t.defaultValue.expression,e);h+=k}else h+="undefined";return f&&(h+=")"),h}else if((0,u.isDefaultValue)(t)){let A="";return["Date","Time","DateTime"].includes(t.parentNode?.typeAnnotation?.typeName)&&t.expression?.value===""?"null":(A+=t.expression?G(t.expression,e):"undefined",A)}else return $(t)}function g(t){if(t.calleeNamespace){let w=t.calleeNamespace,A=w.startsWith("extensions."),c=w.startsWith("extensions.")&&w.includes(".frontends."),p=`'${t.calleeNamespace}.${t.calleeName}'`;return t.calleeNamespace.startsWith("app.dataSources.")?`apiClient[${p}]`:A?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 j.Identifier({name:t.calleeName})})??t.calleeName}function b(t){let w=g(t),A=(0,u.isCallLogic)(t)?c(t).join(", "):t.arguments.map(p=>y(p)).join(", ");return`${w}?.(${A})`;function c(p){let d="";d+=`
|
|
4751
4751
|
config: {
|
|
4752
4752
|
download: false,
|
|
4753
4753
|
},
|
|
4754
4754
|
headers: {
|
|
4755
4755
|
"lcap-calllogic-uuid": "${p.uuid}",
|
|
4756
|
-
},`;let v=p.calleeName;if(p.isProcessV2Logic)throw Pe.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(y
|
|
4757
|
-
${I.keyword}: ${
|
|
4756
|
+
},`;let v=p.calleeName;if(p.isProcessV2Logic)throw Pe.error("\u7FFB\u8BD1\u5668\u5C1A\u672A\u652F\u6301\u6D41\u7A0BV2\u7684\u903B\u8F91"),new Error("\u7FFB\u8BD1\u5668\u5C1A\u672A\u652F\u6301\u6D41\u7A0BV2\u7684\u903B\u8F91");if(p.isViewLogic)return p.arguments.map(h=>y(h));{let k=p.getCallNode()?.params||[],D=k.some(N=>N.spread),R=Ke(p.calleeNamespace,"entities"),L=Ke(p.calleeNamespace,"processes");if(R!==-1){let N=p.arguments,H=!1;switch(v){case"get":case"delete":{N=[],d+="query: {";let q=k.map((I,T)=>{let X=p.arguments?.[T];return{keyword:I?.name,arg:X}}).map(I=>`
|
|
4757
|
+
${I.keyword}: ${y(I.arg)}`).join(", ");d+=q,d+=`},
|
|
4758
4758
|
`;break}case"update":case"createOrUpdate":case"batchUpdate":{d+=`body: {
|
|
4759
|
-
`;let q=N.map(I=>`${I.keyword==="body"?p.calleeName==="batchUpdate"?"entities":"entity":I.keyword}: ${
|
|
4759
|
+
`;let q=N.map(I=>`${I.keyword==="body"?p.calleeName==="batchUpdate"?"entities":"entity":I.keyword}: ${y(I.expression)}`).join(`,
|
|
4760
4760
|
`);d+=q,d+=`},
|
|
4761
4761
|
`,N=[],H=!0;break}case"updateBy":{d+="body: {";let q=N.map(I=>{let T=I.keyword==="body"?"entity":I.keyword;if(I.expression.returnExpression){let X=JSON.stringify(f(I.expression.returnExpression)).replace(/"__@@(.*?)@@__"/g,"$1");return`${T}: {
|
|
4762
4762
|
concept: 'Function',
|
|
4763
4763
|
name: 'filter',
|
|
4764
4764
|
returnExpression: window.$resolveRequestData(${X})
|
|
4765
|
-
}`}return`${T}: ${
|
|
4765
|
+
}`}return`${T}: ${y(I.expression)}`}).join(",");d+=q,d+=`},
|
|
4766
4766
|
`,N=[],H=!0;break}case"deleteBy":{d+="body: ";let q=JSON.stringify(f(N[0].expression.returnExpression)).replace(/"__@@(.*?)@@__"/g,"$1");d+=`{
|
|
4767
4767
|
concept: 'Function',
|
|
4768
4768
|
name: 'filter',
|
|
4769
4769
|
returnExpression: window.$resolveRequestData(${q})
|
|
4770
4770
|
}`,d+=`,
|
|
4771
4771
|
`,N=[],H=!0;break}default:break}let E=N.find(q=>q.keyword==="body");H||(E?d+=`
|
|
4772
|
-
${E?.keyword}: ${
|
|
4772
|
+
${E?.keyword}: ${y(E)}`:d+="body: {}")}else{let N=L!==-1,H=a(E=>!!E?.expression,"isShowArgument");if(d+=`path: {},
|
|
4773
4773
|
body: {`,!N){let E=[...k],q;D&&(q=E.pop());let I=E.map((ee,P)=>{let oe=p.completeArguments[P];return{keyword:ee?.name,arg:oe}}).filter(ee=>H(ee.arg)),T=I.map(ee=>`
|
|
4774
|
-
${ee?.keyword}: ${
|
|
4774
|
+
${ee?.keyword}: ${y(ee?.arg)}`).join(", ");if(d+=T,I.length&&(d+=", "),D){let ee=p.completeArguments.slice(E.length),P=a(U=>U?.expression,"isShowArgument"),oe=ee.filter(U=>P(U)).map(U=>y(U)||"").join(", ");d+=`
|
|
4775
4775
|
${q.name}: [${oe}],`}let X=p.__TypeArguments?.length?p.__TypeArguments:p.typeArguments;Array.isArray(X)&&X.length&&(d+=`
|
|
4776
|
-
__typeArguments: ${Tn.stringify(X)}`)}d+="}"}}return[`{${d}}`];function f(
|
|
4777
|
-
`)}function
|
|
4776
|
+
__typeArguments: ${Tn.stringify(X)}`)}d+="}"}}return[`{${d}}`];function f(h){if(!h)return;if(h.concept==="Identifier"){let R=y(h);return{concept:h.concept,name:h.name,value:`__@@${R}@@__`,expression:R}}if(h.concept==="MemberExpression"){let{concept:R}=h,{value:L}=h;if(h?.object.name==="_")return{concept:R,name:h.name,value:L,object:h.object,property:h.property};let N=y(h);return h.object?.namespace==="app.enums"?(L=N.replace(/^"(.+)"$/,"$1"),N=void 0,R="StringLiteral"):L=`__@@${N}@@__`,{concept:R,name:h.name,value:L,expression:N}}let k;h.concept==="UnaryExpression"?k=f(h.argument):k=f(h.left);let D=f(h.right);return{concept:h.concept,name:h.name,value:h.value,expression:h.expression,operator:h.operator,left:k,right:D}}}}function x(t){return t.map(y).join(`;
|
|
4777
|
+
`)}function y(t){if((0,u.isSubLogic)(t))return l(t);if((0,u.isAnonymousFunction)(t)){let c=t.parentNode?.parentNode;return(0,u.isCallLogic)(c)&&/dataSources\.[^.]+\.entities\.[^.]+\.logics/.test(c.calleeNamespace)&&["update","updateBy","createOrUpdate","batchUpdate"].includes(c.calleeName)?a(()=>{let d="[";return t.body&&(0,u.isNewList)(t.body)&&t.body.items.forEach((v,f,h)=>{d+=`'${y(v.property)}'`,f!==h.length-1&&(d+=",")}),d+="]",d},"toJSOfEntityLogicProperties")():s({logics:[t.body],params:t.params})}else{if((0,u.isAbort)(t))return"throw Error('\u7A0B\u5E8F\u4E2D\u6B62');";if((0,u.isStart)(t))return"";if((0,u.isEnd)(t)){let c=t.logic.returns.at(0);return c?`return ${c.name};`:"return;"}else if((0,u.isIfStatement)(t)){let c=`if(${y(t.test)}){
|
|
4778
4778
|
${x(t.consequent)}
|
|
4779
|
-
}`;return t.alternate.length?`${c} else {${x(t.alternate)}}`:c}else if((0,u.isSwitchStatement)(t)){let c="";return t.cases.forEach(p=>{c+=
|
|
4780
|
-
`):p!==d-1?(v="else if (",v+=t.test?
|
|
4779
|
+
}`;return t.alternate.length?`${c} else {${x(t.alternate)}}`:c}else if((0,u.isSwitchStatement)(t)){let c="";return t.cases.forEach(p=>{c+=y(p)}),c}else if((0,u.isSwitchCase)(t)){let c=t.parentNode;if(!(0,u.isSwitchStatement)(c))throw new Error("SwitchCase\u7684\u7236\u8282\u70B9\u4E0D\u662FSwitchStatement");let p=c.cases.indexOf(t),d=c.cases.length;if(p===-1)throw new Error("\u65E0\u6CD5\u5728\u7236\u8282\u70B9\u4E2D\u627E\u5230\u6B64SwitchCase");let v="";return p===0?(v="if (",v+=t.test?y(t.test):"",v+=`) {
|
|
4780
|
+
`):p!==d-1?(v="else if (",v+=t.test?y(t.test):"",v+=`) {
|
|
4781
4781
|
`):v+=`else {
|
|
4782
|
-
`,Array.isArray(t.consequent)&&t.consequent.forEach(f=>{v+=`${
|
|
4782
|
+
`,Array.isArray(t.consequent)&&t.consequent.forEach(f=>{v+=`${y(f)}
|
|
4783
4783
|
`}),v+=`}
|
|
4784
|
-
`,v}else if((0,u.isForEachStatement)(t)){let c="",p=t.each?G(t.each,e):"",d=Math.random(),v=Math.round(d*1e4),f=`$forEachListVariable${v}`,
|
|
4784
|
+
`,v}else if((0,u.isForEachStatement)(t)){let c="",p=t.each?G(t.each,e):"",d=Math.random(),v=Math.round(d*1e4),f=`$forEachListVariable${v}`,h="";return t.end?h=G(t.end,e):t.each&&(h=`(${f} || {}).length`),c+=`var ${f} = ${p};
|
|
4785
4785
|
`,c+=`var $forEachStartVariable${v} = ${t.start&&G(t.start,e)};
|
|
4786
|
-
`,c+=`var $forEachEndVariable${v} = ${
|
|
4786
|
+
`,c+=`var $forEachEndVariable${v} = ${h};
|
|
4787
4787
|
`,c+=`if(Array.isArray($forEachListVariable${v})) {
|
|
4788
4788
|
`,c+=`for (let ${t.index.name} = $forEachStartVariable${v}; `,c+=`${t.index.name} < $forEachEndVariable${v}; ${t.index.name}++) {
|
|
4789
4789
|
`,c+=`var ${t.item.name} = $forEachListVariable${v}[${t.index.name}];
|
|
4790
4790
|
`,Array.isArray(t.body)&&t.body.forEach(k=>{c+=`${G(k,e)}
|
|
4791
4791
|
`}),c+=`}
|
|
4792
4792
|
`,c+=`}
|
|
4793
|
-
`,c}else if((0,u.isWhileStatement)(t)){let c="";return c+="while (",c+=t.test?
|
|
4794
|
-
`,Array.isArray(t.body)&&t.body.forEach(p=>{c+=`${
|
|
4793
|
+
`,c}else if((0,u.isWhileStatement)(t)){let c="";return c+="while (",c+=t.test?y(t.test):"",c+=`) {
|
|
4794
|
+
`,Array.isArray(t.body)&&t.body.forEach(p=>{c+=`${y(p)}
|
|
4795
4795
|
`}),c+=`}
|
|
4796
|
-
`,c}else{if((0,u.isAssignment)(t))return`${G(t.left,{...e,shouldInsertOptional:!1})} = ${G(t.right,e)}`;if((0,u.isBatchAssignment)(t)){let c="",p=new Map;return t.assignmentLines.forEach(({leftIndex:d,rightIndex:v})=>{let f=JSON.stringify(v);p.has(f)?p.set(f,[...p.get(f),d]):p.set(f,[d])}),p.forEach((d,v)=>{let f=JSON.parse(v)||[],
|
|
4796
|
+
`,c}else{if((0,u.isAssignment)(t))return`${G(t.left,{...e,shouldInsertOptional:!1})} = ${G(t.right,e)}`;if((0,u.isBatchAssignment)(t)){let c="",p=new Map;return t.assignmentLines.forEach(({leftIndex:d,rightIndex:v})=>{let f=JSON.stringify(v);p.has(f)?p.set(f,[...p.get(f),d]):p.set(f,[d])}),p.forEach((d,v)=>{let f=JSON.parse(v)||[],h=d.map(L=>L.length!==1?t.left.members[L[1]]:t.left.expression),[k,D]=[f[0],f[1]],R=D!==void 0?t.rights[k].members[D]:t.rights[k].expression;h.forEach(L=>{c+=`${G(L,{...e,shouldInsertOptional:!1})}`,c+=" = "}),c+=`${y(R)}`,c+=`;
|
|
4797
4797
|
`}),c}else{if((0,u.isComment)(t))return["/**",...t.value.split(`
|
|
4798
4798
|
`).map(p=>`* ${p}`),"*/"].join(`
|
|
4799
|
-
`);if((0,u.isCallLogic)(t))return["jsonSerialize","jsonDeserialize"].includes(t.calleeName)&&t.calleeNamespace==="nasl.util"?b(t):((t.calleeNamespace==="nasl.browser"||t.calleeNamespace==="nasl.configuration"||t.calleeNamespace==="nasl.process")&&(t.calleeNamespace="$global"),`await (${b(t)})`);if((0,u.isCallConnector)(t))return Q();if((0,u.isCallFunction)(t)){let c=g(t),p="";p+=`${c}`,p+="(";let d;if(t.calleeName==="ToString"){let f=t.arguments[0];d=f.typeAnnotation||f.__TypeAnnotation}else t.calleeName==="FromString"&&(d=t.typeArguments?.[0]);if(t.calleeName==="ToString"&&d&&(p+=`'${d.sortedTypeKey}', `),Array.isArray(t.arguments)&&t.arguments.length&&t.arguments.forEach((f,
|
|
4799
|
+
`);if((0,u.isCallLogic)(t))return["jsonSerialize","jsonDeserialize"].includes(t.calleeName)&&t.calleeNamespace==="nasl.util"?b(t):((t.calleeNamespace==="nasl.browser"||t.calleeNamespace==="nasl.configuration"||t.calleeNamespace==="nasl.process")&&(t.calleeNamespace="$global"),`await (${b(t)})`);if((0,u.isCallConnector)(t))return Q();if((0,u.isCallFunction)(t)){let c=g(t),p="";p+=`${c}`,p+="(";let d;if(t.calleeName==="ToString"){let f=t.arguments[0];d=f.typeAnnotation||f.__TypeAnnotation}else t.calleeName==="FromString"&&(d=t.typeArguments?.[0]);if(t.calleeName==="ToString"&&d&&(p+=`'${d.sortedTypeKey}', `),Array.isArray(t.arguments)&&t.arguments.length&&t.arguments.forEach((f,h)=>{let k=y(f),D=f.typeAnnotation||f.__TypeAnnotation;(0,j.transfromUnionTypeAnnotation)(D,t.app);let{sortedTypeKey:R}=(0,j.transfromMetadataType)(D,t.app);["HasValue"].includes(t.calleeName)&&(k=`{ type: '${R}', value: ${k} }`),p+=k,h!==t.arguments?.length-1&&(p+=", ")}),t.calleeName==="FromString"&&d){let{sortedTypeKey:f}=(0,j.transfromMetadataType)(d,t.app);p+=`, '${f}'`}if(!(["ToString","FromString"].includes(t.calleeName)&&d)&&Array.isArray(t.typeArguments)&&t.typeArguments.length){t.arguments?.length&&(p+=", ");let f=t.typeArguments.length;t.typeArguments?.forEach((h,k)=>{p+=JSON.stringify(h),k!==f-1&&(p+=", ")})}return p+=")",p}else if((0,u.isCallInterface)(t)){let k=function(){let P=t.getAncestor("Connector"),oe=t.getAncestor("Integration");return P&&oe?p?.integration?.connectors?.find?.(U=>U.name===v):P&&!oe?p?.connectorDependencies?.find?.(U=>U.name===v):p?.interfaceDependencies?.find?.(U=>U.name===v)};var w=k;a(k,"getModule");let{calleewholeKey:c,app:p,completeArguments:d}=t,[,v,,f]=c.split("."),D=k()?.interfaces?.find?.(P=>P.name===f);if(!D)throw!t.calleeNamespace||!t.calleeName?new Error("\u8C03\u7528\u63A5\u53E3\u4E3A\u7A7A"):new Error(`${v}\u4E0B\u7684${f}\u63A5\u53E3\u672A\u627E\u5230`);let R=!1,L=D.params,N=L.filter(P=>P.in==="query").map(P=>P.name),H=L.filter(P=>P.in==="header").map(P=>P.name),E=L.filter(P=>P.in==="body").map(P=>(P.typeAnnotation.typeKind==="primitive"&&(R=!0),P.name)),q=L.filter(P=>P.in==="path").map(P=>P.name),I=a((P,oe,U,tn,rn)=>{let on=P.filter(ke=>oe.includes(ke.keyword));return on.forEach((ke,ht)=>{let Ue=y(ke);rn?U+=` ...${Ue}`:tn?U+=`
|
|
4800
4800
|
'${ke?.keyword}': ${Ue}`:U+=` ${Ue}`,ht!==P.length-1&&(U+=", ")}),on.length===0&&!tn&&!rn&&(U+="undefined"),U},"setArgumentCode"),T=`await $services['_custom']['${t.calleeNamespace}.${t.calleeName}']`;T+=`({ config: {
|
|
4801
4801
|
download: false,
|
|
4802
4802
|
},
|
|
4803
4803
|
query: {`,T=I(d,N,T,!0,!1),T+="}, path: {",T=I(d,q,T,!0,!1),T+="}, headers: {",T=I(d,H,T,!0,!1),T+=`},
|
|
4804
4804
|
`,R?(T+="body: ",T=I(d,E,T,!1,!1)):(T+="body: {",T=I(d,E,T,!1,!0),T+="}"),T+=`
|
|
4805
|
-
})`;let X=t.typeAnnotation||t.__TypeAnnotation;return X&&!["primitive","union"].includes(X.typeKind)&&(T=`genInitFromSchema('${X?.sortedTypeKey}', ${T})`),T}else{if((0,u.isCallAuthInterface)(t))return Q();if((0,u.isDestination)(t)){let v=function(f){let
|
|
4806
|
-
`)}}`;if((0,u.isIdentifier)(t)){let{namespace:c}=t;if(c)if(t.isFrontendVariables){let p=j.MemberExpression.from({object:new j.Identifier({name:"$frontendVariables"}),property:new j.Identifier({name:t.name})},t.parentNode,t.parentKey);return
|
|
4807
|
-
`:
|
|
4805
|
+
})`;let X=t.typeAnnotation||t.__TypeAnnotation;return X&&!["primitive","union"].includes(X.typeKind)&&(T=`genInitFromSchema('${X?.sortedTypeKey}', ${T})`),T}else{if((0,u.isCallAuthInterface)(t))return Q();if((0,u.isDestination)(t)){let v=function(f){let h="`",k=f.genViewArr();if(Array.isArray(k)&&k.length){h+=`${f.viewNode?.frontend?.prefixPath?f.viewNode.frontend.prefixPath:""}/${k.join("/")}`;let{completeArguments:D}=f;if(D.length){let R=f.viewNode,L=[];R?.params&&(L=R.params);let N=L.length,H=D.map((E,q)=>{let I=y(E),T="";return I&&q<N&&(T+=`${E.keyword}=\${`,I==="undefined"?T+="null":T+=I,T+="}"),T}).filter(E=>!!E);h+=`?${H.join("&")}`}if(f.anchor){let R=y(f.anchor);R&&(h+=`#\${${R}}`)}}return h+="`",h};var A=v;a(v,"destinationToUrlExpr");let c=v(t);if((0,u.isBindAttribute)(t.parentNode))return c;let d="";return d+="$destination(",d+=c,d+=',"',d+=`${t.target}`,d+='")',d}else if((0,u.isExternalDestination)(t)){let c="";if(t.link){let p=y(t.link);if((0,u.isBindAttribute)(t.parentNode))return p;let v=e?.resolve?.({kind:"identifier",value:new j.Identifier({name:"$link"})});if(c+=`${v}(\`\${`,c+=`${p}`,c+="}",t.anchor){let f=y(t.anchor);f&&(c+=`#\${${f}}`)}c+='`,"',c+=`${t.target}`,c+='")'}return c}else if((0,u.isValidationRule)(t)){let c="{";if(t.calleeName&&t.calleeName.includes("("))return`'${t.calleeName}'`;if(t.calleeName==="unique"?c+="validate: 'excluded',":t.calleeName==="confirmed"?c+="validate: 'is',":c+=`validate: '${t.calleeName}',`,t.arguments.length){let p="[";t.arguments?.forEach((d,v)=>{p+=y(d),v!==t.arguments?.length-1&&(p+=", ")}),p+="]",c+=`args: ${p} ,`}if(t.errorMessage)c+=`message: ${y(t.errorMessage)},`;else{let p=Sn[t.calleeName]??"",d=0;for(;p&&p.indexOf("{args}")!==-1;)p=p.replace("{args}",`\${${y(t.arguments[d])}}`),d++;if(p?.includes("{label}"))return ln();c+=`message: \`${p}\`,`}return c+="trigger: 'input+blur'",["required","filled","notEmpty"].includes(t.calleeName)&&(c+=",required: true"),c+="}",c}else if((0,u.isArgument)(t)){let c="";if(t.expression){let p=G(t.expression,e);c+=p}else c+="undefined";return t.spread?`...${c}`:`${c}`}else{if((0,u.isAnchor)(t))return t.expression?y(t.expression):"";if((0,u.isJSBlock)(t))return t.code;if((0,u.isJavaLogic)(t))return Q();if((0,u.isBlock)(t))return`{${t.logicItems.map(p=>y(t)).join(`
|
|
4806
|
+
`)}}`;if((0,u.isIdentifier)(t)){let{namespace:c}=t;if(c)if(t.isFrontendVariables){let p=j.MemberExpression.from({object:new j.Identifier({name:"$frontendVariables"}),property:new j.Identifier({name:t.name})},t.parentNode,t.parentKey);return y(p)}else if(t.isEnum()){let p=t.name;return c.startsWith("extensions.")&&(p=`${c}.${t.name}`),p}else{if(c.endsWith("configuration.groups.custom.properties"))return`"${c}.${t.name}"`;if(c.endsWith("logics"))return`'${c}.${t.name}'`}return e?.resolve?.({kind:"identifier",value:t})??t.name}else{if((0,u.isNullLiteral)(t))return"null";if((0,u.isBooleanLiteral)(t))return t.value;if((0,u.isStringLiteral)(t))return`${JSON.stringify(t.value)}`;if((0,u.isStringInterpolation)(t))return t.expressions.length?t.expressions.map(c=>{let p=c.typeAnnotation||c.__TypeAnnotation;(0,j.transfromUnionTypeAnnotation)(p,t.app);let{sortedTypeKey:d}=(0,j.transfromMetadataType)(p,t.app);return`nasl.util.ToString('${d}', ${y(c)})`}).join(" + "):"''";if((0,u.isNumericLiteral)(t))return t.value;if((0,u.isBinaryExpression)(t))return`${y(t.left)}${t.operator}${y(t.right)}`;if((0,u.isMatchCase)(t)){let c=t.parentNode;if(!(0,u.isMatch)(c))throw new Error("MatchCase\u7684\u7236\u8282\u70B9\u975EMatch");let p="";if(Array.isArray(t.patterns)){let v=t.patterns.map(h=>j.asserts.isTypeAnnotation(h)?`window.$isInstanceOf(${y(c.expression)}, '${h.sortedTypeKey}')`:`window.$global.isEqual(${y(c.expression)}, ${y(h)})`).join("||"),f=c.cases.length;if(f>1){let h=c.cases.indexOf(t);if(h===-1)throw new Error("\u65E0\u6CD5\u5728Match\u4E2D\u627E\u5230\u6B64MatchCase");h===0?p=`if (${v}) {
|
|
4807
|
+
`:h!==f-1?p=`else if (${v}) {
|
|
4808
4808
|
`:p+=`else {
|
|
4809
|
-
`}Array.isArray(t.body)&&t.body.forEach((
|
|
4809
|
+
`}Array.isArray(t.body)&&t.body.forEach((h,k)=>{t.parentNode.isExpression&&k===t.body.length-1&&h.concept!=="Abort"&&(p+="return "),p+=`${y(h)}
|
|
4810
4810
|
`}),f>1&&(p+=`}
|
|
4811
4811
|
`)}return p}else if((0,u.isMatch)(t)){let c="",p=t.getAncestor("Logic");return(t.isExpression||!p)&&(p?c+=`await (async () => {
|
|
4812
4812
|
`:c+=`(() => {
|
|
4813
|
-
`),t.expression&&Array.isArray(t.cases)&&t.cases.forEach((d,v)=>{c+=
|
|
4813
|
+
`),t.expression&&Array.isArray(t.cases)&&t.cases.forEach((d,v)=>{c+=y(d)}),(t.isExpression||!p)&&(c+="})()"),c}else if((0,u.isUnaryExpression)(t)){let c=y(t.argument);return t.operator==="isNull"?c:`!(${c})`}else if((0,u.isMemberExpression)(t)){if((0,u.isIdentifier)(t.object)&&t.object.isEnum()&&(0,u.isIdentifier)(t.property))return y(new j.StringLiteral({value:t.property.name}));let c=e?.shouldInsertOptional===!1?"":"?";if((0,u.isIdentifier)(t.object)){let p=t.object.name;return`${e?.resolve?.({kind:"calleeNamespace",value:p})??p}${c}.${G(t.property)}`}return`${y(t.object)}${c}.${G(t.property)}`}else{if((0,u.isUnparsed)(t))return t.code;if((0,u.isNew)(t))return"";if((0,u.isNewComposite)(t)){let c="",{typeAnnotation:p}=t,d=t.assignmentLines.findIndex(({leftIndex:f})=>f[1]===void 0);if(!t.typeAnnotation)return"";if(t.getAncestor("Logic")?c+=`await (async () => {
|
|
4814
4814
|
`:c+=`(() => {
|
|
4815
|
-
`,d!==-1){let{rightIndex:f}=t.assignmentLines[d],
|
|
4815
|
+
`,d!==-1){let{rightIndex:f}=t.assignmentLines[d],h=f[1]!==void 0?t.rights[f[0]].members[f[1]]:t.rights[f[0]].expression;c+=`return ${y(h)};
|
|
4816
4816
|
`}else if(p.typeKind!=="anonymousStructure"){c+=`const obj = genInitFromSchema('${p.sortedTypeKey}', nasl.util.New(${p.toJS()}));
|
|
4817
|
-
`;let f=new Map;t.assignmentLines.forEach(({leftIndex:
|
|
4817
|
+
`;let f=new Map;t.assignmentLines.forEach(({leftIndex:h,rightIndex:k})=>{let D=JSON.stringify(k);f.has(D)?f.set(D,[...f.get(D),h]):f.set(D,[h])}),f.forEach((h,k)=>{let D=JSON.parse(k)||[],R=h.map(E=>t.properties[E[1]]),[L,N]=[D[0],D[1]],H=N!==void 0?t.rights[L].members[N]:t.rights[L].expression;R.forEach(E=>{c+=`obj.${E.name} = `}),c+=`${y(H)}`,c+=`;
|
|
4818
4818
|
`}),c+=`return obj;
|
|
4819
4819
|
`}else{c+=`const obj = {};
|
|
4820
|
-
`,t.properties.forEach(
|
|
4821
|
-
`});let f=new Map;t.assignmentLines.forEach(({leftIndex:
|
|
4820
|
+
`,t.properties.forEach(h=>{c+=`obj.${h.name} = null;
|
|
4821
|
+
`});let f=new Map;t.assignmentLines.forEach(({leftIndex:h,rightIndex:k})=>{let D=JSON.stringify(k);f.has(D)?f.set(D,[...f.get(D),h]):f.set(D,[h])}),f.forEach((h,k)=>{let D=JSON.parse(k)||[],R=h.map(E=>t.properties[E[1]]),[L,N]=[D[0],D[1]],H=N!==void 0?t.rights[L].members[N]:t.rights[L].expression;R.forEach(E=>{c+=`obj.${E.name} = `}),c+=`${y(H)}`,c+=`;
|
|
4822
4822
|
`}),c+=`return obj;
|
|
4823
4823
|
`}return c+="})()",c}else if((0,u.isNewList)(t)){let c="";return t.getAncestor?.("Logic")?c+=`await (async () => {
|
|
4824
4824
|
`:c+=`(() => {
|
|
4825
4825
|
`,c+=`const arr = [
|
|
4826
|
-
`,t.items.forEach((p,d)=>{c+=
|
|
4826
|
+
`,t.items.forEach((p,d)=>{c+=y(p),d+1<t.items.length&&(c+=", ")}),c+=`
|
|
4827
4827
|
];
|
|
4828
4828
|
`,c+=`return arr;
|
|
4829
4829
|
`,c+="})()",c}else if((0,u.isNewMap)(t)){let c="";return t.getAncestor?.("Logic")?c+=`await (async () => {
|
|
4830
4830
|
`:c+=`(() => {
|
|
4831
4831
|
`,c+=`const obj = {};
|
|
4832
4832
|
`,c+=`let k;
|
|
4833
|
-
`,t.keys.forEach((p,d)=>{let v=p,f=t.values[d];c+="k = ",c+=`${v?
|
|
4834
|
-
`,c+="obj[k] = ",c+=`${f?
|
|
4833
|
+
`,t.keys.forEach((p,d)=>{let v=p,f=t.values[d];c+="k = ",c+=`${v?y(v):void 0};
|
|
4834
|
+
`,c+="obj[k] = ",c+=`${f?y(f):void 0};
|
|
4835
4835
|
`}),c+=`return obj;
|
|
4836
4836
|
`,c+="})()",c}else return(0,u.isCallQueryComponent)(t)?Q():(0,u.isQueryFromExpression)(t)?Q():(0,u.isQueryJoinExpression)(t)?Q():(0,u.isQueryFieldExpression)(t)?Q():(0,u.isQueryAggregateExpression)(t)?Q():(0,u.isQueryOrderByExpression)(t)?Q():(0,u.isQueryGroupByExpression)(t)?Q():(0,u.isQuerySelectExpression)(t)?Q():(0,u.isQueryLimitExpression)(t)?Q():(0,u.isSqlQueryComponent)(t)?Q():(0,u.isOqlQueryComponent)(t)?Q():(0,u.isProcessOutcome)(t)?Q():(0,u.isAssignee)(t)?Q():(0,u.isProcessOutcomes)(t)?Q():t?(Pe.error(`Concept:${t.concept} \u672A\u88AB\u5904\u7406\uFF0C\u56DE\u9000\u81F3\u9ED8\u8BA4\u7FFB\u8BD1\uFF0C\u8BF7\u62A5\u544A\u6B64\u9519\u8BEF`),t.toJS()):(Pe.error("\u9047\u5230\u7A7A\u8282\u70B9\uFF0C\u8BF7\u62A5\u544A\u6B64\u9519\u8BEF"),"(undefined)")}}}}}}}}}a(G,"getRuntimeStr");var Y=V({name:"javaScriptCodeGen",functions:{printSyntaxNode(n,e){return G(n,e)},printParamIR(n){return`${n.name}:any`}}});var Yn=me(require("postcss"));var Zn=me(require("postcss-js"));var $e=require("@lcap/nasl/out/concepts/utils/asserts"),Bn=require("html-escaper"),Hn=require("inversify"),W=require("lodash");var M={StateManager:Symbol.for("StateManager"),CodePrinter:Symbol.for("CodePrinter"),ProjectOrganizer:Symbol.for("ProjectOrganizer"),MicroFrontendManager:Symbol.for("MicroFrontendManager"),FrontendCodeGenerator:Symbol.for("FrontendCodeGenerator"),IRBuilder:Symbol.for("IRBuilder"),NASLTranspiler:Symbol.for("NASLTranspiler"),CodeGenerationLifecycleHooks:Symbol.for("CodeGenerationLifecycleHooks"),FileSystemProvider:Symbol.for("FileSystemProvider")};var Nn="__SomethingYouNeverGuessAsUndefinedPlaceholder__undefined__";function Pn(n){return JSON.stringify(n,(e,r)=>r===void 0?Nn:r,2).replaceAll(`"${Nn}"`,"undefined")}a(Pn,"jsonStringifyKeepUndefined");var In=require("path");function jn(n){return(0,In.extname)(n)!==""}a(jn,"hasExtension");function Je(n){return"/"+n.map(r=>r.name).join("/")}a(Je,"folderPathToString");var We=V({name:"apiClientPlugin",functions:{buildApiStubFile(n,e){function r(o){let s=o.map(l=>[l.logic.name,l.logic.toService()]);return Object.fromEntries(s)}a(r,"apiSignaturesToServiceConfigMap");let i=Object.assign({},e.logicsMap,r(n));return new O("apis",[{from:"@lcap/basic-template",import:"{initLogic, initDataTypes, initService, Global}"}],[],["export { genInitFromSchema } from '@lcap/basic-template/dist/init/dataTypes';",`export const dataTypesMap = ${JSON.stringify(e.dataTypesMap)};`,`export const enumsMap = ${JSON.stringify(e.enumsMap)};`,`export const servicesMap = ${JSON.stringify(e.servicesMap)};`,`const logicsMap = ${JSON.stringify(i)};`,`
|
|
4837
4837
|
const {$global} = initDataTypes({dataTypesMap});
|
|
@@ -4859,7 +4859,7 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4859
4859
|
export const useServices = ()=>{
|
|
4860
4860
|
return services;
|
|
4861
4861
|
}
|
|
4862
|
-
`])}}});var Cn=require("prettier/standalone");var Ln=me(require("prettier/parser-typescript"));var Ut={tabWidth:2,printWidth:150,singleQuote:!0,trailingComma:"es5",plugins:[Ln.default],parser:"typescript"},Qt=S("codeFormatPlugin"),En=V({name:"CodeFormatPlugin",functions:{async format(n,e){function r(){try{return(0,Cn.format)(n,{...Ut,...e})}catch(o){return Qt.debug(o,"format\u51FA\u9519"),n}}return a(r,"prettierFormat"),await r()}}});var Fn=require("inversify"),Vn=require("memfs");function Gt(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 m=n.length-1;m>=0;m--)(l=n[m])&&(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(Gt,"_ts_decorate");var fe=class{static{a(this,"FileSystemPlugin")}vol=new Vn.Volume;read(e){if(this.vol.existsSync(e))return this.vol.readFileSync(e).toString()}write(e,r){this.vol.fromJSON({[e]:r})}remove(e){this.vol.unlinkSync(e)}toJSON(){return this.vol.toJSON()}};fe=Gt([(0,Fn.injectable)()],fe);var Ce=require("inversify"),he=require("path");var Mn=require("@lcap/nasl");var Kt=S("ReactRouterPlugin"),qt=[{from:"react-dom",import:"ReactDOM"},{from:"react",import:"React, { useEffect, useState }"},{from:"react-router-dom",import:" { RouterProvider, Navigate, useNavigate,useLocation } "},{from:"./router/component",import:"{ createRouter }"},{from:"./router/hooks",import:"{ useUserInfo, useUserResources }"},{from:"./nasl",import:"{ useAppConfig }"}],Ie="__views__",Bt=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)}},ge=V({name:"ReactRouter",functions:{routeToCode(n,e){let r={...On.functions,...Y.functions},i=new Bt,o=new WeakMap,s=l(n);function l(t){return t.flatMap(w=>{if(w.kind==="normal"){let A=w.elementTemplate.identifier;if(A){let c=e.get(w.elementTemplate),p=le(A),d=le(`${c}${A}`.replaceAll("/","-").replace(/^-/,"")),v=i.query(d);w.elementMangledName=v,Kt.debug({mangledName:v});let
|
|
4862
|
+
`])}}});var Cn=require("prettier/standalone");var Ln=me(require("prettier/parser-typescript"));var Ut={tabWidth:2,printWidth:150,singleQuote:!0,trailingComma:"es5",plugins:[Ln.default],parser:"typescript"},Qt=S("codeFormatPlugin"),En=V({name:"CodeFormatPlugin",functions:{async format(n,e){function r(){try{return(0,Cn.format)(n,{...Ut,...e})}catch(o){return Qt.debug(o,"format\u51FA\u9519"),n}}return a(r,"prettierFormat"),await r()}}});var Fn=require("inversify"),Vn=require("memfs");function Gt(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 m=n.length-1;m>=0;m--)(l=n[m])&&(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(Gt,"_ts_decorate");var fe=class{static{a(this,"FileSystemPlugin")}vol=new Vn.Volume;read(e){if(this.vol.existsSync(e))return this.vol.readFileSync(e).toString()}write(e,r){this.vol.fromJSON({[e]:r})}remove(e){this.vol.unlinkSync(e)}toJSON(){return this.vol.toJSON()}};fe=Gt([(0,Fn.injectable)()],fe);var Ce=require("inversify"),he=require("path");var Mn=require("@lcap/nasl");var Kt=S("ReactRouterPlugin"),qt=[{from:"react-dom",import:"ReactDOM"},{from:"react",import:"React, { useEffect, useState }"},{from:"react-router-dom",import:" { RouterProvider, Navigate, useNavigate,useLocation } "},{from:"./router/component",import:"{ createRouter }"},{from:"./router/hooks",import:"{ useUserInfo, useUserResources }"},{from:"./nasl",import:"{ useAppConfig }"}],Ie="__views__",Bt=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)}},ge=V({name:"ReactRouter",functions:{routeToCode(n,e){let r={...On.functions,...Y.functions},i=new Bt,o=new WeakMap,s=l(n);function l(t){return t.flatMap(w=>{if(w.kind==="normal"){let A=w.elementTemplate.identifier;if(A){let c=e.get(w.elementTemplate),p=le(A),d=le(`${c}${A}`.replaceAll("/","-").replace(/^-/,"")),v=i.query(d);w.elementMangledName=v,Kt.debug({mangledName:v});let h={from:`./${Ie}${c}/${p}`,import:v,lazy:w.lazy};return o.set(w.elementTemplate,h),[h,...l(w.children??[])]}}return[]})}a(l,"recursivelyExtractImportIR");function m(t){let w=t.thisLevelPath??"/";if(t.kind==="normal"){let v=function(){return`element: ${p}`};var A=v;a(v,"importConfigToPropertyStr");let c=t.children?.map(m).filter(z)??[],p=r.printTag(t.elementMangledName??t.elementTemplate.identifier),d=c.join(`,
|
|
4863
4863
|
`);return`{path: "${w}", meta: ${JSON.stringify(t.meta)}, children: [${d}], ${v()} }`}if(t.kind==="redirect"){let c=r.printSyntaxNode(Mn.StringLiteral.from({value:t.redirect}));return`{path: "${w}", element: <Navigate to={${c}} />}`}$(t)}a(m,"serializeReactRoute");let g=[...qt,...s,{from:"@lcap/pc-react-ui",import:"{ConfigProvider, RouterContext}"},{from:"./platform.config",import:"platformConfig"}];return{code:`
|
|
4864
4864
|
${`const defaultRoutes = [${n.map(m).filter(z).join(`,
|
|
4865
4865
|
`)}];`}
|
|
@@ -4906,7 +4906,7 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4906
4906
|
const {link, destination} = initRouter();
|
|
4907
4907
|
export const useLink = ()=>link;
|
|
4908
4908
|
export const useDestination = useNavigate;
|
|
4909
|
-
`])}}});function Ht(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 m=n.length-1;m>=0;m--)(l=n[m])&&(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(Ht,"_ts_decorate");function zn(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(zn,"_ts_metadata");function Jt(n,e){return function(r,i){e(r,i,n)}}a(Jt,"_ts_param");var Wt=a(n=>n.import?n.lazy?`const ${n.import} = React.lazy(() => import('${n.from}'));`:`import ${n.import} from '${n.from}';`:`import '${n.from}';`,"identityImportResolver"),Un=S("ProjectOrganizerPlugin"),Xt=[".mjs",".js",".mts",".ts",".jsx",".tsx",".json"];function Yt(n){return Qn(n)||n.from.startsWith("/")}a(Yt,"isIntraProjectImport");function Qn(n){return n.from.startsWith(".")}a(Qn,"isRelativeImport");async function Zt(n){let e=new WeakMap,r={},i=[];return Object.entries(n.project).forEach(([l,m])=>{if(m){let g=cn(m);for(let b of g){let{dir:x}=s(l,b),
|
|
4909
|
+
`])}}});function Ht(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 m=n.length-1;m>=0;m--)(l=n[m])&&(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(Ht,"_ts_decorate");function zn(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(zn,"_ts_metadata");function Jt(n,e){return function(r,i){e(r,i,n)}}a(Jt,"_ts_param");var Wt=a(n=>n.import?n.lazy?`const ${n.import} = React.lazy(() => import('${n.from}'));`:`import ${n.import} from '${n.from}';`:`import '${n.from}';`,"identityImportResolver"),Un=S("ProjectOrganizerPlugin"),Xt=[".mjs",".js",".mts",".ts",".jsx",".tsx",".json"];function Yt(n){return Qn(n)||n.from.startsWith("/")}a(Yt,"isIntraProjectImport");function Qn(n){return n.from.startsWith(".")}a(Qn,"isRelativeImport");async function Zt(n){let e=new WeakMap,r={},i=[];return Object.entries(n.project).forEach(([l,m])=>{if(m){let g=cn(m);for(let b of g){let{dir:x}=s(l,b),y=new Xe(b,x);i.push(y),r[y.originalAbsolutePath]=y;let t=b.getImports().map(w=>{if(Yt(w)){let A=Qn(w)?(0,he.join)(x,w.from):w.from;return{ir:w,kind:"relative",getRelativePathAfterMoving:()=>{let p=x,d=v()??A;return Un.debug({currentDir:p,targetPath:d}),`./${(0,he.relative)(p,d)}`;function v(){if(!jn(w.from))for(let f of Xt){let h=r[A+f]?.currentAbsolutePath;if(h)return h}}a(v,"tryToAppendExtIfNecessary")}}}else return{ir:w,kind:"absolute"}});e.set(y,t)}}}),{mapping:e,placedFiles:i};function o(l){let m={name:"src"};return l==="views"?[m,{name:Ie}]:[m]}a(o,"decideDirForKey");function s(l,m){let g=o(l);m.folder=[...g,...m.folder??[]];let b=m.getFolderPath()??"";return{path:(0,he.join)(b,m.fileNameWithExt),dir:b}}a(s,"initFilePath")}a(Zt,"initImport");var Xe=class n{static{a(this,"PlacedFile")}file;folder;constructor(e,r){this.file=e,this.folder=r,this.originalFolder=r,this.currentAbsolutePath=this.originalAbsolutePath}currentAbsolutePath;get originalAbsolutePath(){return(0,he.join)(this.originalFolder,this.file.fileNameWithExt)}originalFolder;getFolder(){return this.folder.endsWith("/")?this.folder:`${this.folder}/`}moveFileTo(e){return this.currentAbsolutePath=new n(this.file,e).originalAbsolutePath,this.folder=e,this}};async function $t(n,e,r){return Promise.all(e.map(async o=>{let s=a(m=>{let g=b(m);return Wt(g);function b(x){let y=n.get(o)?.find(t=>t.ir===x);if(y){let t=i(y);return{...x,from:t}}return x}},"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($t,"writeAllPlacedFile");var je=class{static{a(this,"ProjectOrganizerPlugin")}fileSystemProvider;constructor(e){this.fileSystemProvider=e}async organize(e){let{mapping:r,placedFiles:i}=await Zt(e);return await this.moveFilesAsYouWant(i),await $t(r,i,{noFormat:e.options?.noFormat})}async moveFilesAsYouWant(e){let r=Un.child({},{msgPrefix:"[\u79FB\u52A8\u6587\u4EF6] "});for(let i of e){let o=`/${Ie}/`;if(i.originalAbsolutePath.includes(o)){let s=i.getFolder().replace(o,"/pages/");i.moveFileTo(s),r.debug(`${i.originalAbsolutePath} -> ${i.currentAbsolutePath}`)}}}};je=Ht([(0,Ce.injectable)(),gn,Jt(0,(0,Ce.inject)(M.FileSystemProvider)),zn("design:type",Function),zn("design:paramtypes",[typeof GeneratorInfrastructureDomain>"u"||typeof GeneratorInfrastructureDomain.FileSystemProvider>"u"?Object:GeneratorInfrastructureDomain.FileSystemProvider])],je);var _t="notFound",Ae=V({name:"RoutesExtraction",functions:{extractRoute(n,e,r){let i=a((x,y)=>x.flatMap(t=>{let w=`${y}${t.identifier}`,A={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=A.children?.map(p=>{if(p.kind==="normal"&&p.elementTemplate.__raw.isIndex)return{accumulativePath:`${w}/`,thisLevelPath:"",redirect:`${w}/${p.elementTemplate.identifier}`,kind:"redirect"}}).filter(z);return c?.length&&A.children?.push(...c),[A]}),"extractRouteHelper"),o=i(n,e),s=n.find(x=>x.__raw.isIndex);s&&o.push({accumulativePath:"/",thisLevelPath:"/",redirect:`${e}${s.identifier}`,kind:"redirect"});let l=n.find(x=>x.identifier===_t)??s;l&&o.push({accumulativePath:"*",thisLevelPath:"*",redirect:`${e}${l.identifier}`,kind:"redirect"});let m=[],g=[];return o.filter(x=>x.kind==="normal").forEach(x=>{let y=a((t,w)=>{if(t.kind==="normal"){let A=t.elementTemplate.__raw,c=w||A.auth;c?m.push(t.accumulativePath):g.push(t.accumulativePath),t.children?.forEach(p=>{y(p,c)})}},"traverseRoutes");y(x,!1)}),{authResourcePaths:m,baseResourcePaths:g,routes:o}}}});var F=require("@lcap/nasl"),B=require("@lcap/nasl/out/concepts/utils/asserts"),Gn=require("lodash");var er=S("component hack"),Ye=V({name:"ReactComponentLibHackPlugin",functions:{__hooksDefinitions(){return new O("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===Le&&e.__raw.type==="dynamic"){let s=r(e.expression.expr);if(s&&i(s))return e;let l=F.Argument.from({expression:e.expression.expr},e.__raw,"arguments");l.__TypeAnnotation=s??new F.TypeAnnotation;let m=F.CallFunction.from({calleeName:"ToString",calleeNamespace:"nasl.util",arguments:[l]});return m.__TypeAnnotation=F.TypeAnnotation.createPrimitive("String"),{...e,expression:{expr:m}}}else if(e.name==="dataSource"){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===Le&&e.__raw.type==="dynamic"){let s=r(e.expression.expr);if(s&&i(s))return e;let l=F.Argument.from({expression:e.expression.expr},e.__raw,"arguments");l.__TypeAnnotation=s??new F.TypeAnnotation;let m=F.CallFunction.from({calleeName:"ToString",calleeNamespace:"nasl.util",arguments:[l]});return m.__TypeAnnotation=F.TypeAnnotation.createPrimitive("String"),{...e,expression:{expr:m}}}else if(e.name==="dataSource"){let y=function(w){return{__raw:w,logics:w.logics.map(se),concept:w.concept,params:w.getContextLogicParams().map(pe),handlerName:l.dataFetchMethod}};var o=y;if(a(y,"bindManualBindEventToIR"),(0,B.isIdentifier)(e.expression.expr)||(0,B.isMemberExpression)(e.expression.expr)||(0,B.isNumericLiteral)(e.expression.expr)||(0,B.isStringLiteral)(e.expression.expr)||(0,B.isBooleanLiteral)(e.expression.expr)||(0,B.isNullLiteral)(e.expression.expr)){let w=F.CallFunction.from({calleeName:"toJS",arguments:[new F.Argument({expression:e.expression.expr})]},e.__raw.parentNode,e.__raw.parentKey);return{...e,expression:{expr:w}}}let s=`dataSource${(0,Gn.uniqueId)()}`,l={queryParam:"event",tempResultVariable:`${s}LoadResult`,dataFetchMethod:`${s}Load`},m=e.__raw.getAncestor("ViewElement");if(!m){let w=`\u627E\u4E0D\u5230${e.__raw.nodePath} \u7684\u7956\u5148ViewElement`;throw er.error(w),new Error(w)}let g=n.findComponentRefByComponentName(m?.name??"")?.identifier;g&&e.expression.expr.traverseStrictChildren(w=>{(0,B.isMemberExpression)(w)&&(0,B.isIdentifier)(w.object)&&(0,B.isIdentifier)(w.property)&&w.object.name===g&&["current","pageSize","sorter","order"].includes(w.property.name)&&(w.object=new F.Identifier({name:l.queryParam}),w.property=new F.Identifier({name:w.property.name}))});let b=F.Logic.from({body:[new F.Assignment({left:new F.Identifier({name:l.tempResultVariable}),right:e.expression.expr}),new F.Unparsed({code:`return ${l.tempResultVariable}`})],params:[new F.Param({name:l.queryParam})],returns:[new F.Return({name:l.tempResultVariable})]},e.__raw.parentNode,void 0),x=F.BindEvent.from({name:"dataSource",params:b.params,logics:[b]},e.__raw.parentNode,"bindEvents"),t=y(x);return xe(x),n.provideAction(Be(t)),t}return e}}});var re=require("@lcap/nasl");function Ee(n){let e=re.BaseNode.prototype.subConstructor,r=a(function(o){e.call(this,o),o.typeAnnotation&&(this.typeAnnotation=new re.TypeAnnotation(o.typeAnnotation)),o.__TypeArguments&&(this.__TypeArguments=o.__TypeArguments.map(s=>s&&new re.TypeAnnotation(s)))},"hack");re.BaseNode.prototype.subConstructor=r;let i=new re.App(n);return re.BaseNode.prototype.subConstructor=e,i}a(Ee,"deserializeAppWhileKeepTypeAnnotation");function Ze(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(Ze,"serializeAppWithKeepTypeAnnotation");var mo=S("ReactSlotPlugin"),Kn=V({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(dn(r.component)&&r.children.length===0)continue;n.attrs.push(Ne({type:"component",component:r,scopeVariable:r.slot.scope,name:i}))}else e.push(r)}n.children=e}}});var ae=require("@lcap/nasl");var Fe=require("@lcap/nasl");function qn(n){return new Fe.Argument({expression:new Fe.Identifier({name:n.name})})}a(qn,"paramToArgument");var nr=S("ReactStateManagerVanilla"),tr=class{static{a(this,"ReactHookTransformer")}static componentRefNameToHook(e){return{kind:"free",code:`const ${e}= useRef(null);`,import:{from:"react",import:"{ useRef }"}}}};function rr(n){return n.recursivelyExtractTreeStates().map(r=>{let i={...K.functions,...Y.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:J(r.initialization)}})}a(rr,"makeTreeStateHooks");var K=V({name:"ReactStateManagerVanilla",functions:{makeLocalLogicHooks(n){let e=n.providedStates.flatMap(o=>{let s=o.identifier;return[{kind:"useState",declarations:[`${s}`,`use${s}`],initial:void 0}]}),r={...K.functions,...Y.functions},i=n.actions.filter(o=>o.kind==="standalone").flatMap(o=>[{kind:"useCallback",declaration:o.name,deps:[],body:r.actionToBody(n,o)}]);return[...e,...i]},actionToBody(n,e,r){let i={...K.functions,...Y.functions};function o(){let s=e.params.map(l=>ae.Param.from(l));if(e.logics.length===0)return new ae.Logic;if(e.logics.length===1){let l=e.logics[0].logic;return ae.Logic.from({...l,params:s})}else return ae.Logic.from({params:s,body:e.logics.map(m=>{let g=`${m.logic.name}`;return ae.CallLogic.from({calleeName:g,arguments:e.params.map(qn)})})})}return a(o,"getLogic"),`${n.resolveExprToString(o(),i,r?.()?.(n)??i.withCtx(n))}`},makeLocalIndividualHooks(n,e){let r={...K.functions,...Y.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[tr.componentRefNameToHook(i.identifier)];default:J(i.initialization.kind)}return $(i)}),...n.actions.filter(i=>i.kind==="view-lifecycle").flatMap(i=>[{kind:"useEffect",deps:[],body:`()=>{
|
|
4951
4951
|
(${r.actionToBody(n,i,e)})();
|
|
4952
4952
|
return ()=>{};
|
|
4953
4953
|
}`}])]},makeTreeStateHooks:rr,initializationToExpr(n,e){if(!e)return;let r={...K.functions,...Y.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 J(e)}},produceHooks(n){let e={...K.functions},r=K.functions.makeTreeStateHooks(n),i=K.functions.makeLocalIndividualHooks(n),o=e.makeLocalLogicHooks(n);return[...r,...i,...o]},withCtx(n){let e={...K.functions};return{resolveIdentifier:r=>e.__resolveIdentifier(n,r),resolveName:r=>e.__resolveName(n,r),resolveCalleeNamespace:r=>e.__resolveName(n,r)}},__resolveIdentifier(n,e){return{...K.functions}.__resolveName(n,e.name)},__resolveName(n,e){let r={...K.functions},i=o(e)??s(e);return i||nr.debug(`cannot find symbol "${e}" in the state context`),i;function o(l){let m=n.findActionByName(l);if(m)return`${m.name}`}a(o,"resolveAsAction");function s(l){let m=n.findStateByName(l);if(m)switch(m.kind){case"standalone":case"local-logic":case"tree":return l;default:J(m)}}a(s,"resolveAsState")},__hooksDefinitions(){return new O("VanillaHookUtils",[],[],[`
|
|
@@ -4962,7 +4962,7 @@ 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 ir(n){let e={...ie.functions},r=a(l=>`${l.name}:${K.functions.actionToBody(n,l,()=>e.withCtx.bind(e))}`,"actionToProperty"),i=[...n.providedStates.filter(l=>l.kind==="local-logic"&&l.initialization?.kind!=="url-param").map(s),...n.actions.filter(l=>l.kind==="standalone").map(r)];function o(){let m=n.providedStates.filter(g=>g.kind==="local-logic"&&g.initialization?.kind==="url-param").map(g=>{let x={...K.functions}.initializationToExpr(n,g.initialization)??"''",
|
|
4965
|
+
`])}}});function ir(n){let e={...ie.functions},r=a(l=>`${l.name}:${K.functions.actionToBody(n,l,()=>e.withCtx.bind(e))}`,"actionToProperty"),i=[...n.providedStates.filter(l=>l.kind==="local-logic"&&l.initialization?.kind!=="url-param").map(s),...n.actions.filter(l=>l.kind==="standalone").map(r)];function o(){let m=n.providedStates.filter(g=>g.kind==="local-logic"&&g.initialization?.kind==="url-param").map(g=>{let x={...K.functions}.initializationToExpr(n,g.initialization)??"''",y=`
|
|
4966
4966
|
get ${g.identifier}() {
|
|
4967
4967
|
return localStore.$queryParams.get('${g.identifier}') || ${x};
|
|
4968
4968
|
}
|
|
@@ -4970,7 +4970,7 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4970
4970
|
set ${g.identifier}(value) {
|
|
4971
4971
|
${ie.functions.storeName}.$updateQueryParam('${g.identifier}', value);
|
|
4972
4972
|
}
|
|
4973
|
-
`;return`${
|
|
4973
|
+
`;return`${y},${t}`}).join(",");return m&&`
|
|
4974
4974
|
$queryParams: new URL(window.location).searchParams,
|
|
4975
4975
|
$updateQueryParam(key: string, value: string) {
|
|
4976
4976
|
const params = new URL(window.location).searchParams;
|
|
@@ -4985,18 +4985,18 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4985
4985
|
}
|
|
4986
4986
|
})`,import:{import:"{ useLocalObservable }",from:"mobx-react-lite"}};function s(l){let g={...K.functions}.initializationToExpr(n,l.initialization);return`${l.identifier}: ${g??"undefined"}`}a(s,"localLogicStateToProperty")}a(ir,"makeLocalLogicBundleHook");var or=S("MobX Plugin"),ie=V({name:"ReactStateManagerMobxPlugin",functions:{produceHooks(n){let e=ir(n),r=K.functions.makeTreeStateHooks(n),i={...ie.functions},o=K.functions.makeLocalIndividualHooks(n,()=>i.withCtx.bind(i));return[...r,e,...o]},get storeName(){return"localStore"},__resolveIdentifier(n,e){return{...ie.functions}.__resolveName(n,e.name)},__resolveName(n,e){let r={...ie.functions},i=o(e)??s(e);return i||or.debug(`cannot find symbol "${e}" in the state context`),i;function o(l){let m=n.findActionByName(l);if(m)return`${r.storeName}.${m.name}`}a(o,"resolveAsAction");function s(l){let m=n.findStateByName(l);if(m)switch(m.kind){case"standalone":switch(m.initialization.kind){case"component-ref":return l;default:J(m.initialization.kind)}case"tree":return l;case"local-logic":return`${r.storeName}.${l}`;default:J(m)}}a(s,"resolveAsState")},withCtx(n){let e={...ie.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,He)},"resolveAsNamespace")(r);if(o)return o;{let s=e.__resolveName(n,r);return s?.endsWith("Ref")?`${s}.current`:s}}}},__hooksDefinitions(){return new O("MobxHooks",[],[],[`export const useUserInfo = ()=>{
|
|
4987
4987
|
return window.$global.userInfo ?? {};
|
|
4988
|
-
}`])}}});var Jn=ie,Z={...Jn.functions,...Y.functions},sr=S("react codegen");function Wn(n){return le(n.identifier)}a(Wn,"getComponentName");var Le="children",ye=class n{static{a(this,"ReactFragment")}name;imports;hooks;children;ctx;options;constructor(e,r,i,o,s,l){this.name=e,this.imports=r,this.hooks=i,this.children=o,this.ctx=s,this.options=l,this.attrMap=new Map,this.directives=new Map}attrMap;directives;getImports(){return(0,W.uniq)([...this.imports,...this.hooks.map(e=>e.kind==="free"?e.import:{from:"react",import:`{${e.kind}}`}),{import:"{ observer }",from:"mobx-react-lite"},{from:"mobx",import:"{ toJS }"}].filter(z))}getHooks(){return this.hooks}getAttrMapStr(){let e=[];for(let[r,i]of this.attrMap)if(r!==Le){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:be(r),value:o()})}return e.map(({key:r,value:i})=>` ${r}=${i}`).join("")}getMangledName(){return this.options?.mangledName??this.name}toJsx(e){let r=this.getAttrMapStr(),i=e?.rootAsFragment?"":this.name,o=a(()=>{let g=a(()=>{let
|
|
4989
|
-
`)??"";function w(A){return(0,Bn.escape)(A).replace(/({|})/g,(c,p)=>`{'${p}'}`)}},"getChildrenStr")(),b=x();if(this.options?.slot){let
|
|
4988
|
+
}`])}}});var Jn=ie,Z={...Jn.functions,...Y.functions},sr=S("react codegen");function Wn(n){return le(n.identifier)}a(Wn,"getComponentName");var Le="children",ye=class n{static{a(this,"ReactFragment")}name;imports;hooks;children;ctx;options;constructor(e,r,i,o,s,l){this.name=e,this.imports=r,this.hooks=i,this.children=o,this.ctx=s,this.options=l,this.attrMap=new Map,this.directives=new Map}attrMap;directives;getImports(){return(0,W.uniq)([...this.imports,...this.hooks.map(e=>e.kind==="free"?e.import:{from:"react",import:`{${e.kind}}`}),{import:"{ observer }",from:"mobx-react-lite"},{from:"mobx",import:"{ toJS }"}].filter(z))}getHooks(){return this.hooks}getAttrMapStr(){let e=[];for(let[r,i]of this.attrMap)if(r!==Le){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:be(r),value:o()})}return e.map(({key:r,value:i})=>` ${r}=${i}`).join("")}getMangledName(){return this.options?.mangledName??this.name}toJsx(e){let r=this.getAttrMapStr(),i=e?.rootAsFragment?"":this.name,o=a(()=>{let g=a(()=>{let y=this.attrMap.get(Le);if(y)return y.kind==="string"?w(y.payload):`{${y.payload}}`;return e?.shallow?"":this.children.map(A=>A.toJsx()).join(`
|
|
4989
|
+
`)??"";function w(A){return(0,Bn.escape)(A).replace(/({|})/g,(c,p)=>`{'${p}'}`)}},"getChildrenStr")(),b=x();if(this.options?.slot){let y=this.options?.slot.scope;if(this.options?.slot.target&&y)return{body:`(${y}: any) => ${b}`}}return{body:b};function x(){return i?`<${i}${r}>${g}</${i}>`:`<>${g}</>`}},"getBody"),{body:s}=o(),l=this.directives.get("if");return l?`{(${this.ctx.resolveExprToString(l.expression.expr,Z,Z.withCtx(this.ctx))}) ? (${s}) : undefined}`:s}toFunctionComponentVariable(){let e=this.getMangledName(),r=this.toJsx({rootAsFragment:!0});function i(l){switch(l.kind){case"useCallback":{let m=l.body;return`const ${l.declaration} = useCallback(${m}, [${l.deps.join(",")}])`}case"useState":return`const [${l.declarations.join(",")}] = useState(${l.initial})`;case"useEffect":return`useEffect(${l.body}, [${l.deps.join(",")}])`;case"free":return`${l.code}`;default:$(l)}}a(i,"serializeReactHook");let o=`const ${e}: FC = observer(() => {
|
|
4990
4990
|
${this.hooks.map(i).join(`;
|
|
4991
4991
|
`)}
|
|
4992
4992
|
return (${r});
|
|
4993
|
-
});`,s=(0,W.uniq)([...this.getImports()]).filter(z);return{componentStr:o,imports:s}}toCode(){let{componentStr:e,imports:r}=this.toFunctionComponentVariable();return{code:e,imports:r}}static fromComponentIR(e){let r=Wn(e),i=e.elements.map(s=>de.functions.genReactFragment(s,e.stateContext)),o=ie.functions.produceHooks(e.stateContext);return new n(r,[...i.flatMap(s=>s.getImports())],[...o,...i.flatMap(s=>s.getHooks())],i,e.stateContext,{mangledName:`__${r}`})}bindEvent(e,r){let i=r?.handlerPrefix??"on-",o=e.__raw.name,s=`${i}${o}`,l=Z.__resolveName(this.ctx,e.handlerName);if(!l)throw new Error("cannot find event handler");let m=e.params,g=m.at(0);if(m.length>1&&g){let b=m.map(x=>x.name).join(",");this.attrMap.set(s,{kind:"expr",payload:`(${g.name}) => ${l}(${b})`})}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=Ye.functions.hackBindAttribute(this.ctx,e);if(r.concept==="BindEvent")return this.bindEvent(r,{handlerPrefix:""});let i=this.ctx.resolveExprToString(r.expression.expr,Z,Z.withCtx(this.ctx));this.attrMap.set(e.__raw.name,{kind:"expr",payload:i})}else{let r=`${e.__raw.nodePath}@${e.__raw.concept} \u7684expression \u4E3A\u7A7A`;sr.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}wn(e.__raw.value)&&this.attrMap.set(e.__raw.name,{kind:"expr",payload:String(e.__raw.value)})}return}case"render":{let r=de.functions.genReactFragment(e.component,this.ctx),i=r.toJsx();this.imports.push(...r.getImports()),this.attrMap.set(e.name,{kind:"expr",payload:i});return}case"validation-rules":{let r=e.rules.map(i=>this.ctx.resolveExprToString(i,Z,Z.withCtx(this.ctx)));this.attrMap.set(e.name,{kind:"expr",payload:`[${r.join(", ")}]`});return}default:J(e)}}setStyleAndStaticStyle(e,r){if(e.length===0&&!r)return;let i=Xn(r);e.forEach(g=>{if(!g.name)throw new Error(g.nodePath);if(g.expression&&(i[g.name]=g,!(0,$e.isBindStyle)(g)))throw new Error(`${g} is not bindStyle`)});let o=this;function s(g){return g.replace(/-([a-z])/g,(b,x)=>x.toUpperCase())}a(s,"cssPropertyNameToReactStyleObjectKey");let l=Object.entries(i).map(([g,b])=>{if((0,W.isObject)(b)&&(0,$e.isBindStyle)(b)){let x=s(g),
|
|
4994
|
-
`)}}`}}a(m,"formatValuePayloadAsObjectStr"),this.attrMap.set("style",m(l))}bindDirective(e){this.directives.set(e.kind,e)}},O=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 Je(this.folder)}getImports(){return[...this.imports,...this.body.flatMap(e=>e.getImports())].filter(z)}async serialize(e){let
|
|
4995
|
-
`),
|
|
4996
|
-
`),(0,W.uniq)(
|
|
4993
|
+
});`,s=(0,W.uniq)([...this.getImports()]).filter(z);return{componentStr:o,imports:s}}toCode(){let{componentStr:e,imports:r}=this.toFunctionComponentVariable();return{code:e,imports:r}}static fromComponentIR(e){let r=Wn(e),i=e.elements.map(s=>de.functions.genReactFragment(s,e.stateContext)),o=ie.functions.produceHooks(e.stateContext);return new n(r,[...i.flatMap(s=>s.getImports())],[...o,...i.flatMap(s=>s.getHooks())],i,e.stateContext,{mangledName:`__${r}`})}bindEvent(e,r){let i=r?.handlerPrefix??"on-",o=e.__raw.name,s=`${i}${o}`,l=Z.__resolveName(this.ctx,e.handlerName);if(!l)throw new Error("cannot find event handler");let m=e.params,g=m.at(0);if(m.length>1&&g){let b=m.map(x=>x.name).join(",");this.attrMap.set(s,{kind:"expr",payload:`(${g.name}) => ${l}(${b})`})}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=Ye.functions.hackBindAttribute(this.ctx,e);if(r.concept==="BindEvent")return this.bindEvent(r,{handlerPrefix:""});let i=this.ctx.resolveExprToString(r.expression.expr,Z,Z.withCtx(this.ctx));this.attrMap.set(e.__raw.name,{kind:"expr",payload:i})}else{let r=`${e.__raw.nodePath}@${e.__raw.concept} \u7684expression \u4E3A\u7A7A`;sr.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}wn(e.__raw.value)&&this.attrMap.set(e.__raw.name,{kind:"expr",payload:String(e.__raw.value)})}return}case"render":{let r=de.functions.genReactFragment(e.component,this.ctx),i=r.toJsx();this.imports.push(...r.getImports()),this.attrMap.set(e.name,{kind:"expr",payload:i});return}case"validation-rules":{let r=e.rules.map(i=>this.ctx.resolveExprToString(i,Z,Z.withCtx(this.ctx)));this.attrMap.set(e.name,{kind:"expr",payload:`[${r.join(", ")}]`});return}default:J(e)}}setStyleAndStaticStyle(e,r){if(e.length===0&&!r)return;let i=Xn(r);e.forEach(g=>{if(!g.name)throw new Error(g.nodePath);if(g.expression&&(i[g.name]=g,!(0,$e.isBindStyle)(g)))throw new Error(`${g} is not bindStyle`)});let o=this;function s(g){return g.replace(/-([a-z])/g,(b,x)=>x.toUpperCase())}a(s,"cssPropertyNameToReactStyleObjectKey");let l=Object.entries(i).map(([g,b])=>{if((0,W.isObject)(b)&&(0,$e.isBindStyle)(b)){let x=s(g),y=o.ctx.resolveExprToString(b.expression,Z,Z.withCtx(o.ctx));return x==="backgroundImage"?{kind:"expr",payload:`\`url(\${${y}})\``,key:x}:{kind:"expr",payload:y,key:x}}else if((0,W.isString)(b))return{kind:"string",payload:b,key:g}}).filter(z);function m(g){return{kind:"expr",payload:`{${g.map(x=>{let y=t();return`${JSON.stringify(x.key)}: ${y}`;function t(){return x.kind==="expr"?x.payload:`${JSON.stringify(x.payload)}`}}).join(`,
|
|
4994
|
+
`)}}`}}a(m,"formatValuePayloadAsObjectStr"),this.attrMap.set("style",m(l))}bindDirective(e){this.directives.set(e.kind,e)}},O=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 Je(this.folder)}getImports(){return[...this.imports,...this.body.flatMap(e=>e.getImports())].filter(z)}async serialize(e,r){let i=this.exports,o=this.body.map(x=>x.toCode()),l=this.getImports().map(e),g=[(0,W.uniq)(l).join(`
|
|
4995
|
+
`),o.map(x=>x.code).join(`
|
|
4996
|
+
`),(0,W.uniq)(i).join(`
|
|
4997
4997
|
`)].join(`
|
|
4998
|
-
`)
|
|
4999
|
-
${g}
|
|
4998
|
+
`);return this.fileNameWithExt.endsWith(".tsx")&&(g=`//@ts-nocheck
|
|
4999
|
+
${g}`),r?.noFormat?g:await En.functions.format(g)}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.body),this.exports.push(...e.exports),this):this}static empty(e){return new n(e??"NoName",[],[],[])}};function ar(n){return Ge(n.component)&&n.component.tag==="template"?"":n.component.tag}a(ar,"getReactComponentName");var de=V({name:"reactCodeGen",functions:{genReactFragment(n,e){let r={...Ae.functions,...de.functions,...ge.functions,...Kn.functions},i=[{from:"react",import:"React"},{from:"react",import:"{type FC}"}],o=[];r.preprocessForSlots(n);let s=n.children.map(g=>r.genReactFragment(g,e));s.forEach(g=>{o.push(...g.getHooks()),i.push(...g.getImports())});let l=ar(n),m=new ye(l,i,o,s,e,{slot:n.slot});l&&Ge(n.component)&&i.push({from:`${n.component.libraryName}`,import:`{${n.component.tag}}`}),m.setStyleAndStaticStyle(n.__raw.bindStyles??[],n.__raw.staticStyle??"");for(let g of n.events)m.bindEvent(g);for(let g of n.attrs)m.bindAttr(g);for(let g of n.directives)m.bindDirective(g);return m},genReactComponent(n,e){let r=Wn(n),i=ye.fromComponentIR(n);return[new O(r,(0,W.uniq)(i.getImports()),[i],[`export default ${i.getMangledName()}`],e)]},recursivelyGenReactComponent(n,e,r){let i={...de.functions};return e.set(n,r?Je(r):"/"),(0,W.flatten)([i.genReactComponent(n,r),n.childComponents.flatMap(o=>i.recursivelyGenReactComponent(o,e,[...r??[],{name:n.identifier}]))])},buildRoutes(n,e){let r={...Ae.functions,...ge.functions},{routes:i}=r.extractRoute(n,"/",{lazy:!0}),{code:o,imports:s}=r.routeToCode(i,e);return new O("Router",[...s],[],[o])},buildPlatformConfig(n){let e={...Ae.functions,...ge.functions},{authResourcePaths:r,baseResourcePaths:i}=e.extractRoute(n.views,"/",{lazy:!1}),o={...n.configs.basePlatformConfig,authResourcePaths:r,baseResourcePaths:i};return new O("platform.config.ts",[],[],[`export default ${Pn(o)}`])},buildInit(n){let e={...Y.functions},r="",o=n.configs.document.icon?`
|
|
5000
5000
|
{
|
|
5001
5001
|
const link = document.createElement('link');
|
|
5002
5002
|
link.rel = 'shortcut icon';
|
|
@@ -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}: ${le(i.name)}`)}
|
|
5054
5054
|
};
|
|
5055
|
-
}`])},async genFiles(n,e){let r={...Ae.functions,...de.functions,...ge.functions,...We.functions,...De.functions},i=O.empty("Hooks").merge(new O("",[{from:"./init"}],[],[])).merge(Jn.functions.__hooksDefinitions()).merge(ge.functions.__hooksDefinitions()).merge(We.functions.__hooksDefinitions()).merge(Ye.functions.__hooksDefinitions()).merge(r.buildLibraryHook(n.packages)).merge(new O("",[],[],["export {nasl, genInitFromSchema};"])),o=r.buildApiStubFile(n.apis,n.configs.metaData),s=new WeakMap,l=n.views.flatMap(t=>r.recursivelyGenReactComponent(t,s)),m=r.buildRoutes(n.views,s),g=await r.buildMasterCss(n.configs.themeCSS,n.packages),b=await r.buildGlobalFrontendVariableFile(n.configs.globalVariables,n.baseCtx),x=new Hn.Container;return x.bind(M.FileSystemProvider).to(fe),x.bind(M.ProjectOrganizer).to(je),await x.get(M.ProjectOrganizer).organize({baseDir:e,project:{api:o,utils:i,routes:m,views:l,platformConfig:r.buildPlatformConfig(n),init:r.buildInit(n),masterCss:g,globalVariables:b}})}}});function Xn(n){try{let e=Yn.parse(n);return Zn.default.objectify(e)}catch{return{}}}a(Xn,"styleStringToInlineObject");var On=V({name:"JsxCodeGen",functions:{printJSX(n,e){return ye.fromComponentIR(n).toJsx(e)},printTag(n){return`<${n} />`}}});var nt=require("inversify");var $n=`
|
|
5055
|
+
}`])},async genFiles(n,e){let r={...Ae.functions,...de.functions,...ge.functions,...We.functions,...De.functions},i=O.empty("Hooks").merge(new O("",[{from:"./init"}],[],[])).merge(Jn.functions.__hooksDefinitions()).merge(ge.functions.__hooksDefinitions()).merge(We.functions.__hooksDefinitions()).merge(Ye.functions.__hooksDefinitions()).merge(r.buildLibraryHook(n.packages)).merge(new O("",[],[],["export {nasl, genInitFromSchema};"])),o=r.buildApiStubFile(n.apis,n.configs.metaData),s=new WeakMap,l=n.views.flatMap(t=>r.recursivelyGenReactComponent(t,s)),m=r.buildRoutes(n.views,s),g=await r.buildMasterCss(n.configs.themeCSS,n.packages),b=await r.buildGlobalFrontendVariableFile(n.configs.globalVariables,n.baseCtx),x=new Hn.Container;return x.bind(M.FileSystemProvider).to(fe),x.bind(M.ProjectOrganizer).to(je),await x.get(M.ProjectOrganizer).organize({baseDir:e,project:{api:o,utils:i,routes:m,views:l,platformConfig:r.buildPlatformConfig(n),init:r.buildInit(n),masterCss:g,globalVariables:b},options:{noFormat:!n.configs.config.isExport}})}}});function Xn(n){try{let e=Yn.parse(n);return Zn.default.objectify(e)}catch{return{}}}a(Xn,"styleStringToInlineObject");var On=V({name:"JsxCodeGen",functions:{printJSX(n,e){return ye.fromComponentIR(n).toJsx(e)},printTag(n){return`<${n} />`}}});var nt=require("inversify");var $n=`
|
|
5056
5056
|
if(window.ICESTARK && window.ICESTARK.root) {
|
|
5057
5057
|
Object.assign(window.ICESTARK, {
|
|
5058
5058
|
appEnter({ container, customProps }) {
|
|
@@ -5178,5 +5178,5 @@ window.LazyLoad.css(\${JSON.stringify(cssAssets)})\`;
|
|
|
5178
5178
|
${m};
|
|
5179
5179
|
})();\`;
|
|
5180
5180
|
}
|
|
5181
|
-
`}];for(let x of b)this.fileSystemProvider.write(x.path,x.content);return b}catch(o){throw o}}};Oe=dr([(0,ve.injectable)(),_e(0,(0,ve.inject)(M.IRBuilder)),_e(1,(0,ve.inject)(M.MicroFrontendManager)),_e(2,(0,ve.inject)(M.FileSystemProvider)),it("design:type",Function),it("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])],Oe);function st(){let n=new ot.Container;return n.bind(M.NASLTranspiler).to(Oe),n.bind(M.IRBuilder).to(Te),n.bind(M.MicroFrontendManager).to(Ve),n.bind(M.FileSystemProvider).to(fe).inSingletonScope(),n}a(st,"makeDefaultContainer");async function at(n,e,r,i="./out",o){let s=S("\u7FFB\u8BD1\u8FC7\u7A0B");s.debug({config:r});async function l(){s.info("\u5F00\u59CB\u7FFB\u8BD1");try{let g=await o.get(M.NASLTranspiler).transpile({app:n,frontend:e,config:r,baseDir:i});return o.isBound(M.CodeGenerationLifecycleHooks)&&o.getAll(M.CodeGenerationLifecycleHooks).forEach(b=>{b.afterAllFilesGenerated()}),g}catch(g){throw s.error(g),g}finally{s.info("\u7FFB\u8BD1\u7ED3\u675F")}}return a(l,"genCode"),await l()??[]}a(at,"translateNASLToReactApp");function ct(n,e,r){let i=`${e.USER_STATIC_URL}/${e.tenant}/${n.id}/${e.env}`;return r&&i.startsWith("//")?`${r}:${i}`:i}a(ct,"getBasePath");function fr(n){try{let e=new URL(n);return e.protocol==="http:"||e.protocol==="https:"?n:"https://"+n}catch{return`https://${n}`}}a(fr,"ensureUrlHasProtocol");function lt(n){return fr(n.replace(/^\/\//,""))}a(lt,"normalizeStaticUrl");var pt=require("@lcap/nasl/out/concepts/utils/asserts");function gr(n){let e=S("extractFrontendDeps"),r=n.dependencies.filter(s=>!(0,pt.isConnector)(s)&&!!s.frontends?.length);e.info({packageInfo:n.packageInfos});let i=[...r.map(({name:s,version:l})=>({name:s,version:l,kind:"extension"}))],o={name:"@lcap/pc-react-ui",version:"1.0.0",kind:"standard"};return i.push(o),i}a(gr,"extractFrontendDeps");async function ut(n,e,r,i){let o=S("downloadDependenciesToProject"),s=gr(n);if(s.length===0){o.info("\u65E0\u4F9D\u8D56\u5E93");return}else o.info({feExtensions:s.map(b=>`${b.name}@${b.version}`)},"\u524D\u7AEF\u4F9D\u8D56\u5E93\u5217\u8868");o.info("\u5F00\u59CB\u4E0B\u8F7D\u524D\u7AEF\u4F9D\u8D56\u5E93");let l=lt(i.STATIC_URL),m=i.axios,g=await Promise.all(s.map(async b=>{o.info({ext:b},"\u4E0B\u8F7D\u4F9D\u8D56\u5E93");let
|
|
5182
|
-
`)??[],c=yr(n,r,e),p=v(n,r),d=t.read("/rspack.config.js");d&&t.write("/rspack.config.js",d.replace("const backendUrl = '';",`const backendUrl = '${p}'`).replace("alias: {}",`alias: {${A}}`).replace("const publicPath = '';",`const publicPath = '${c}';`));function v(f,y){return y.isExport?"localhost:8080":`http://${y.env}.${f.name}.${y.tenant}.${y.lowcodeDomain}`}a(v,"getBackendPath")}a(h,"configRspack")}a(mt,"compileAsProject");function yr(n,e,r){if(e.isExport)return"/";let i=`${ct(n,e)}${r.basePath??""}`;return i.endsWith("/")?i:`${i}/`}a(yr,"getPublicPath");var ze=require("lodash");var ft=S("SanityCheck");function nn(n,e=[]){if((0,ze.isObject)(n)){if("concept"in n&&n?.concept==="ViewElement"&&[(0,ze.isNil)(n.name),n.name===""].some(Boolean)){let r=`${JSON.stringify(e)}\u7684name\u4E3A\u7A7A\uFF0C\u8FD9\u53EF\u80FD\u7531\u810F\u6570\u636E\u5BFC\u81F4\uFF0C\u8BF7\u62A5\u544A\u6B64\u9519\u8BEF`;throw ft.error(r),ft.error({appObject:n}),new Error}Object.entries(n).forEach(([r,i])=>{nn(i,[...e,r])})}}a(nn,"sanityCheck");var vr={nuimsDomain:"user.lcap.codewave-test.163yun.com",kubeInsightAppCluster:"drill",officialTenantId:"00000000000000000000000000000000",enableOpenAiCompletionForLogic:!0,pwdSecurity:{pwdCategory:"normal"},tenantAndAppMaxLength:32,platformCreateDatabaseOpen:!1,documentCenter:{isLocalDeployment:!1,deliveryMode:"online",url:"https://community.codewave.163.com/CommunityParent"},lcpRedirectSwitch:!0,kubeInsightAddress:"",gatewayType:"light",STATIC_URL:"//minio-api.codewave-test.163yun.com/lowcode-static",traceSwitch:!1,resourceAssignStrategy:"app",creatorIsManager:!1,websqlSwitch:"dev,online",enableCodeWaveMarket:!1,platformEnv:"dev",IDE_STATIC_URL:"//minio-api.codewave-test.163yun.com/lowcode-static",isPrivatized:"true",clientToken:"ODDINZU1OWYTZWM5NY0ZZJEYLTK3NGQTNWNJNJQYYMM0OGM1",biConfig:!1,platformExtraAbilityDetail:null,USER_STATIC_URL:"//minio-api.codewave-test.163yun.com/lowcode-static",kubeInsightServiceName:"codewave#lcap-fe",consoleDomain:"",enableOpenAiForLogic:!0,lowcodeDomain:"lcap.codewave-test.163yun.com",name:"lcap",tenantIntegrationSwitch:!1,envNuimsDomain:{dev:"user.lcap.codewave-test.163yun.com",online:"user.lcap.codewave-test.163yun.com"},envLcpDomain:{dev:{lcpDomain:"lcap.codewave-test.163yun.com"},online:{lcpDomain:"lcap.codewave-test.163yun.com"}},kubeClientApplicationKey:"lcp-drill",tenant:"defaulttenant",env:"dev",tenantID:"00000000000000000000000000000000",multiEnvEnable:!0,tenantType:0,tenantLevel:1,tenantLevelDetail:{onlineReplicasLimit:"3",aiJavaLogicCompletionDisplay:"true",releaseDevAppCountLimit:"-1",customPackageSupport:"true",aiNl2sqlSupport:"false",aiNextComponentSupport:"true",productAppSpecification:"1",configDatabaseSupport:"true",aiJavaLogicDisplay:"true",appPublishOnlineSupport:"true",rdsMode:"0",assetsLibraryExportSupport:"true",assignDeveloperSupport:"true",cpuLimit:"4",configSourceCodeSupport:"true",mavenConfigEditSupport:"true",aiCodeAnalyzeSupport:"false",aiNl2LogicSupport:"false",onboardingSupport:"false",storageLimit:"8",releaseAppCountLimit:"4",configFrontSupport:"true",configFileStorageSupport:"true",aiNl2sqlDisplay:"true",teamDeveloperSupport:"true",accountLimit:"-1",aiD2CSupport:"false",exportSourceSupport:"true",customDomainSupport:"true",reportFormsEditSupport:"true",aiNl2LogicDisplay:"true",memoryLimit:"8",aiJavaLogicCompletionSupport:"false",assetsArchetypeSupport:"true",appCreateLimit:"-1",configImageRepoSupport:"true",configSourceSupport:"true",aiJavaLogicSupport:"false",assetsTemplateExportSupport:"true"},tenantExtraAbilityDetail:null,tenantVersion:{tenantName:"defaulttenant",versionType:4,versionId:"2417a61d7e9a4cb7b5ed2d83d29cc5fa",snapshotId:"c8885750ba4f48eea67f85fc965f71f8",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",changeStatus:0,changeDesc:null,createdTime:"2024-02-02 12:44:02",updatedTime:"2024-02-02 12:44:02",businessVersionDTO:{versionType:4,versionId:"2417a61d7e9a4cb7b5ed2d83d29cc5fa",snapshotId:"c8885750ba4f48eea67f85fc965f71f8",versionName:"\u79C1\u6709\u5316\u4F01\u4E1A\u7248",description:"\u79C1\u6709\u5316\u4F01\u4E1A\u7248",resourceList:null,createdTime:"2024-02-02 12:26:04",updatedTime:"2024-02-02 12:26:04"},resourceList:[{resourceItem:"onlineReplicasLimit",resourceValue:"3"},{resourceItem:"aiJavaLogicCompletionDisplay",resourceValue:"true"},{resourceItem:"releaseDevAppCountLimit",resourceValue:"-1"},{resourceItem:"customPackageSupport",resourceValue:"true"},{resourceItem:"aiNl2sqlSupport",resourceValue:"false"},{resourceItem:"aiNextComponentSupport",resourceValue:"true"},{resourceItem:"productAppSpecification",resourceValue:"1"},{resourceItem:"configDatabaseSupport",resourceValue:"true"},{resourceItem:"aiJavaLogicDisplay",resourceValue:"true"},{resourceItem:"appPublishOnlineSupport",resourceValue:"true"},{resourceItem:"rdsMode",resourceValue:"0"},{resourceItem:"assetsLibraryExportSupport",resourceValue:"true"},{resourceItem:"assignDeveloperSupport",resourceValue:"true"},{resourceItem:"cpuLimit",resourceValue:"4"},{resourceItem:"configSourceCodeSupport",resourceValue:"true"},{resourceItem:"mavenConfigEditSupport",resourceValue:"true"},{resourceItem:"aiNl2LogicSupport",resourceValue:"false"},{resourceItem:"aiCodeAnalyzeSupport",resourceValue:"false"},{resourceItem:"onboardingSupport",resourceValue:"false"},{resourceItem:"storageLimit",resourceValue:"8"},{resourceItem:"releaseAppCountLimit",resourceValue:"4"},{resourceItem:"configFrontSupport",resourceValue:"true"},{resourceItem:"configFileStorageSupport",resourceValue:"true"},{resourceItem:"accountLimit",resourceValue:"-1"},{resourceItem:"teamDeveloperSupport",resourceValue:"true"},{resourceItem:"aiNl2sqlDisplay",resourceValue:"true"},{resourceItem:"exportSourceSupport",resourceValue:"true"},{resourceItem:"aiD2CSupport",resourceValue:"false"},{resourceItem:"customDomainSupport",resourceValue:"true"},{resourceItem:"reportFormsEditSupport",resourceValue:"true"},{resourceItem:"memoryLimit",resourceValue:"8"},{resourceItem:"aiNl2LogicDisplay",resourceValue:"true"},{resourceItem:"aiJavaLogicCompletionSupport",resourceValue:"false"},{resourceItem:"appCreateLimit",resourceValue:"-1"},{resourceItem:"assetsArchetypeSupport",resourceValue:"true"},{resourceItem:"configSourceSupport",resourceValue:"true"},{resourceItem:"configImageRepoSupport",resourceValue:"true"},{resourceItem:"assetsTemplateExportSupport",resourceValue:"true"},{resourceItem:"aiJavaLogicSupport",resourceValue:"false"}]},tenantResource:[{resourceItem:"onlineReplicasLimit",resourceValue:"3",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"onlineReplicasLimit",resourceValue:"3",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiJavaLogicCompletionDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiJavaLogicCompletionDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"releaseDevAppCountLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"releaseDevAppCountLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"customPackageSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"customPackageSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiNl2sqlSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiNl2sqlSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiNextComponentSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiNextComponentSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"productAppSpecification",resourceValue:"1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"productAppSpecification",resourceValue:"1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configDatabaseSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configDatabaseSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiJavaLogicDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiJavaLogicDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"appPublishOnlineSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"appPublishOnlineSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"rdsMode",resourceValue:"0",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"rdsMode",resourceValue:"0",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"assetsLibraryExportSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"assetsLibraryExportSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"assignDeveloperSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"assignDeveloperSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"cpuLimit",resourceValue:"4",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"cpuLimit",resourceValue:"4",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configSourceCodeSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configSourceCodeSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"mavenConfigEditSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"mavenConfigEditSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiNl2LogicSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiNl2LogicSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiCodeAnalyzeSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiCodeAnalyzeSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"onboardingSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"onboardingSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"storageLimit",resourceValue:"8",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"storageLimit",resourceValue:"8",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"releaseAppCountLimit",resourceValue:"4",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"releaseAppCountLimit",resourceValue:"4",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configFrontSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configFrontSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configFileStorageSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configFileStorageSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"accountLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"accountLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"teamDeveloperSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"teamDeveloperSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiNl2sqlDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiNl2sqlDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"exportSourceSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"exportSourceSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiD2CSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiD2CSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"customDomainSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"customDomainSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"reportFormsEditSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"reportFormsEditSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"memoryLimit",resourceValue:"8",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"memoryLimit",resourceValue:"8",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiNl2LogicDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiNl2LogicDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiJavaLogicCompletionSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiJavaLogicCompletionSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"appCreateLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"appCreateLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"assetsArchetypeSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"assetsArchetypeSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configSourceSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configSourceSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configImageRepoSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configImageRepoSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"assetsTemplateExportSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"assetsTemplateExportSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiJavaLogicSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiJavaLogicSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0}],businessConfig:{upgradeClueCollect:{appId:"",support:!1},eventTracking:{appId:"",support:!1},beginnerGuide:{appId:"",support:!1},corpCertify:{appId:"",support:!1},rateLimiter:{appId:"",support:!1},businessAccess:{appId:"",support:!1},createSaaSTenant:{appId:"",support:!1},customApp:{appId:"",support:!1},research:{appId:"",support:!1}},expireTimeStr:null,layOutConfig:{},isPreviewFe:!1,previewVersion:"",isExport:!1,extendedConfig:null,appid:"7c058eff-e54c-4991-9e71-8b6357eb43b7"},wr=S("Playground");async function br(n){let e=await l();if(!e)throw new Error("app \u4E3A\u7A7A");let r=e.frontendTypes.find(g=>g.kind==="pc")?.frontends.at(0);if(!r)throw new Error("frontend \u4E3A\u7A7A");let o=(await mt(e,r,vr,n)).getFileDict().files;wr.debug({files:Object.keys(o)},"\u6587\u4EF6\u7CFB\u7EDF\u5185\u5BB9");let s=Object.entries(o).map(([g,b])=>({path:g,content:b.code}));return await m(s),s;async function l(){let g=await xr();return nn(g),Ee(g)}a(l,"getApp");async function m(g){let x="http://localhost:3001",h=S("\u4EE3\u7801\u5199\u5165");h.info("\u5F00\u59CB\u5199\u5165debug\u7528\u6587\u4EF6\u7CFB\u7EDF");for(let{content:t,path:w}of g)h.trace({path:w},"\u5199\u5165"),await fetch(`${x}/compile`,{method:"POST",body:JSON.stringify({path:w,content:t}),headers:{"content-type":"application/json"}}),h.trace({path:w},"\u5199\u5165\u5B8C\u6210");h.info("\u5168\u90E8\u5199\u5165\u5B8C\u6210")}a(m,"writeCode")}a(br,"startDemoTranslation");function xr(){return n();async function n(){let e=(0,gt.readFileSync)("./playground/fixtures/src.json").toString();return JSON.parse(e)}}a(xr,"fetchApp");0&&(module.exports={startDemoTranslation});
|
|
5181
|
+
`}];for(let x of b)this.fileSystemProvider.write(x.path,x.content);return b}catch(o){throw o}}};Oe=dr([(0,ve.injectable)(),_e(0,(0,ve.inject)(M.IRBuilder)),_e(1,(0,ve.inject)(M.MicroFrontendManager)),_e(2,(0,ve.inject)(M.FileSystemProvider)),it("design:type",Function),it("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])],Oe);function st(){let n=new ot.Container;return n.bind(M.NASLTranspiler).to(Oe),n.bind(M.IRBuilder).to(Te),n.bind(M.MicroFrontendManager).to(Ve),n.bind(M.FileSystemProvider).to(fe).inSingletonScope(),n}a(st,"makeDefaultContainer");async function at(n,e,r,i="./out",o){let s=S("\u7FFB\u8BD1\u8FC7\u7A0B");s.debug({config:r});async function l(){s.info("\u5F00\u59CB\u7FFB\u8BD1");try{let g=await o.get(M.NASLTranspiler).transpile({app:n,frontend:e,config:r,baseDir:i});return o.isBound(M.CodeGenerationLifecycleHooks)&&o.getAll(M.CodeGenerationLifecycleHooks).forEach(b=>{b.afterAllFilesGenerated()}),g}catch(g){throw s.error(g),g}finally{s.info("\u7FFB\u8BD1\u7ED3\u675F")}}return a(l,"genCode"),await l()??[]}a(at,"translateNASLToReactApp");function ct(n,e,r){let i=`${e.USER_STATIC_URL}/${e.tenant}/${n.id}/${e.env}`;return r&&i.startsWith("//")?`${r}:${i}`:i}a(ct,"getBasePath");function fr(n){try{let e=new URL(n);return e.protocol==="http:"||e.protocol==="https:"?n:"https://"+n}catch{return`https://${n}`}}a(fr,"ensureUrlHasProtocol");function lt(n){return fr(n.replace(/^\/\//,""))}a(lt,"normalizeStaticUrl");var pt=require("@lcap/nasl/out/concepts/utils/asserts");function gr(n){let e=S("extractFrontendDeps"),r=n.dependencies.filter(s=>!(0,pt.isConnector)(s)&&!!s.frontends?.length);e.info({packageInfo:n.packageInfos});let i=[...r.map(({name:s,version:l})=>({name:s,version:l,kind:"extension"}))],o={name:"@lcap/pc-react-ui",version:"1.0.0",kind:"standard"};return i.push(o),i}a(gr,"extractFrontendDeps");async function ut(n,e,r,i){let o=S("downloadDependenciesToProject"),s=gr(n);if(s.length===0){o.info("\u65E0\u4F9D\u8D56\u5E93");return}else o.info({feExtensions:s.map(b=>`${b.name}@${b.version}`)},"\u524D\u7AEF\u4F9D\u8D56\u5E93\u5217\u8868");o.info("\u5F00\u59CB\u4E0B\u8F7D\u524D\u7AEF\u4F9D\u8D56\u5E93");let l=lt(i.STATIC_URL),m=i.axios,g=await Promise.all(s.map(async b=>{o.info({ext:b},"\u4E0B\u8F7D\u4F9D\u8D56\u5E93");let y=`packages${b.kind==="extension"?"/extension":""}/${b.name}@${b.version}`,t=`${y}/dist-theme`,w=`${l}/${y}`,A=await p(b);o.debug({sources:A});let c=A.map(d=>{let v=`${l}/${d}`;return o.debug({url:v,source:d}),{url:v,source:d}});r.write(`/src/${y}/dist-theme/index.css`,""),o.info({urls:c.map(d=>d.url)},"\u4E0B\u8F7D\u6587\u4EF6\u5217\u8868");try{await Promise.all([...c.map(async({source:d,url:v})=>{o.debug({url:v},"\u6B63\u5728\u4E0B\u8F7D");try{let h=(await m.get(v,{responseType:"text"})).data,k=`/src/${d}`;r.write(k,h),o.debug({vfsPath:k},"\u5199\u5165\u865A\u62DF\u6587\u4EF6\u7CFB\u7EDF\u8DEF\u5F84")}catch(f){o.error({url:v,error:f},"\u4E0B\u8F7D\u5931\u8D25")}o.debug({url:v},"\u4E0B\u8F7D\u6210\u529F")})])}catch(d){o.error(d)}async function p({name:d,version:v}){if(d==="@lcap/pc-react-ui")return["index.js","index.css"].map(R=>`packages/${d}@${v}/dist-theme/${R}`);let f=`${w}/manifest`,D=(await m.get(f,{responseType:"text"})).data.split(/\n/).filter(R=>R.trim().startsWith(t)).map(R=>R.split(":")[0].trim());return D.length===0?[`${y}/dist-theme/index.js`]:D}return a(p,"listPackageSources"),{packagePath:w,sources:A,projectPath:y,...b}}));return o.info("\u4F9D\u8D56\u5E93\u4E0B\u8F7D\u5B8C\u6210"),o.debug(g),g}a(ut,"downloadDependenciesToProject");var en=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 mt(n,e,r,i,o){let s=i??st(),l=S("compileAsProject");l.info("\u5F00\u59CB\u7F16\u8BD1\u9759\u6001\u4EA7\u7269"),l.info("\u8F7D\u5165\u9879\u76EE\u6A21\u677F");let m=s.get(M.FileSystemProvider);Object.entries(an.files).forEach(([t,w])=>{m.write(t,w.code)});let g=ut(n,e,m,{STATIC_URL:r.STATIC_URL,axios:o??dt.default.create()}),b=await at(n,e,r,"/",s);await y(m),l.debug(Object.keys(m.toJSON()),"\u751F\u6210\u7684\u6587\u4EF6");let x=new en({});return Object.entries(m.toJSON()).forEach(([t,w])=>{x.mutateFile(t,w??"")}),x;async function y(t){let A=(await g)?.map(f=>{let h=f.sources.find(k=>k.endsWith("/index.js"));if(h)return{name:f.name,resolvedTo:`./src/${h}`,scope:f.kind==="extension"?"@extension":void 0}}).filter(z).map(f=>`'${f.scope?`${f.scope}/${f.name}`:f.name}' : path.resolve(__dirname, '${f.resolvedTo}'),`).join(`
|
|
5182
|
+
`)??[],c=yr(n,r,e),p=v(n,r),d=t.read("/rspack.config.js");d&&t.write("/rspack.config.js",d.replace("const backendUrl = '';",`const backendUrl = '${p}'`).replace("alias: {}",`alias: {${A}}`).replace("const publicPath = '';",`const publicPath = '${c}';`));function v(f,h){return h.isExport?"localhost:8080":`http://${h.env}.${f.name}.${h.tenant}.${h.lowcodeDomain}`}a(v,"getBackendPath")}a(y,"configRspack")}a(mt,"compileAsProject");function yr(n,e,r){if(e.isExport)return"/";let i=`${ct(n,e)}${r.basePath??""}`;return i.endsWith("/")?i:`${i}/`}a(yr,"getPublicPath");var ze=require("lodash");var ft=S("SanityCheck");function nn(n,e=[]){if((0,ze.isObject)(n)){if("concept"in n&&n?.concept==="ViewElement"&&[(0,ze.isNil)(n.name),n.name===""].some(Boolean)){let r=`${JSON.stringify(e)}\u7684name\u4E3A\u7A7A\uFF0C\u8FD9\u53EF\u80FD\u7531\u810F\u6570\u636E\u5BFC\u81F4\uFF0C\u8BF7\u62A5\u544A\u6B64\u9519\u8BEF`;throw ft.error(r),ft.error({appObject:n}),new Error}Object.entries(n).forEach(([r,i])=>{nn(i,[...e,r])})}}a(nn,"sanityCheck");var vr={nuimsDomain:"user.lcap.codewave-test.163yun.com",kubeInsightAppCluster:"drill",officialTenantId:"00000000000000000000000000000000",enableOpenAiCompletionForLogic:!0,pwdSecurity:{pwdCategory:"normal"},tenantAndAppMaxLength:32,platformCreateDatabaseOpen:!1,documentCenter:{isLocalDeployment:!1,deliveryMode:"online",url:"https://community.codewave.163.com/CommunityParent"},lcpRedirectSwitch:!0,kubeInsightAddress:"",gatewayType:"light",STATIC_URL:"//minio-api.codewave-test.163yun.com/lowcode-static",traceSwitch:!1,resourceAssignStrategy:"app",creatorIsManager:!1,websqlSwitch:"dev,online",enableCodeWaveMarket:!1,platformEnv:"dev",IDE_STATIC_URL:"//minio-api.codewave-test.163yun.com/lowcode-static",isPrivatized:"true",clientToken:"ODDINZU1OWYTZWM5NY0ZZJEYLTK3NGQTNWNJNJQYYMM0OGM1",biConfig:!1,platformExtraAbilityDetail:null,USER_STATIC_URL:"//minio-api.codewave-test.163yun.com/lowcode-static",kubeInsightServiceName:"codewave#lcap-fe",consoleDomain:"",enableOpenAiForLogic:!0,lowcodeDomain:"lcap.codewave-test.163yun.com",name:"lcap",tenantIntegrationSwitch:!1,envNuimsDomain:{dev:"user.lcap.codewave-test.163yun.com",online:"user.lcap.codewave-test.163yun.com"},envLcpDomain:{dev:{lcpDomain:"lcap.codewave-test.163yun.com"},online:{lcpDomain:"lcap.codewave-test.163yun.com"}},kubeClientApplicationKey:"lcp-drill",tenant:"defaulttenant",env:"dev",tenantID:"00000000000000000000000000000000",multiEnvEnable:!0,tenantType:0,tenantLevel:1,tenantLevelDetail:{onlineReplicasLimit:"3",aiJavaLogicCompletionDisplay:"true",releaseDevAppCountLimit:"-1",customPackageSupport:"true",aiNl2sqlSupport:"false",aiNextComponentSupport:"true",productAppSpecification:"1",configDatabaseSupport:"true",aiJavaLogicDisplay:"true",appPublishOnlineSupport:"true",rdsMode:"0",assetsLibraryExportSupport:"true",assignDeveloperSupport:"true",cpuLimit:"4",configSourceCodeSupport:"true",mavenConfigEditSupport:"true",aiCodeAnalyzeSupport:"false",aiNl2LogicSupport:"false",onboardingSupport:"false",storageLimit:"8",releaseAppCountLimit:"4",configFrontSupport:"true",configFileStorageSupport:"true",aiNl2sqlDisplay:"true",teamDeveloperSupport:"true",accountLimit:"-1",aiD2CSupport:"false",exportSourceSupport:"true",customDomainSupport:"true",reportFormsEditSupport:"true",aiNl2LogicDisplay:"true",memoryLimit:"8",aiJavaLogicCompletionSupport:"false",assetsArchetypeSupport:"true",appCreateLimit:"-1",configImageRepoSupport:"true",configSourceSupport:"true",aiJavaLogicSupport:"false",assetsTemplateExportSupport:"true"},tenantExtraAbilityDetail:null,tenantVersion:{tenantName:"defaulttenant",versionType:4,versionId:"2417a61d7e9a4cb7b5ed2d83d29cc5fa",snapshotId:"c8885750ba4f48eea67f85fc965f71f8",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",changeStatus:0,changeDesc:null,createdTime:"2024-02-02 12:44:02",updatedTime:"2024-02-02 12:44:02",businessVersionDTO:{versionType:4,versionId:"2417a61d7e9a4cb7b5ed2d83d29cc5fa",snapshotId:"c8885750ba4f48eea67f85fc965f71f8",versionName:"\u79C1\u6709\u5316\u4F01\u4E1A\u7248",description:"\u79C1\u6709\u5316\u4F01\u4E1A\u7248",resourceList:null,createdTime:"2024-02-02 12:26:04",updatedTime:"2024-02-02 12:26:04"},resourceList:[{resourceItem:"onlineReplicasLimit",resourceValue:"3"},{resourceItem:"aiJavaLogicCompletionDisplay",resourceValue:"true"},{resourceItem:"releaseDevAppCountLimit",resourceValue:"-1"},{resourceItem:"customPackageSupport",resourceValue:"true"},{resourceItem:"aiNl2sqlSupport",resourceValue:"false"},{resourceItem:"aiNextComponentSupport",resourceValue:"true"},{resourceItem:"productAppSpecification",resourceValue:"1"},{resourceItem:"configDatabaseSupport",resourceValue:"true"},{resourceItem:"aiJavaLogicDisplay",resourceValue:"true"},{resourceItem:"appPublishOnlineSupport",resourceValue:"true"},{resourceItem:"rdsMode",resourceValue:"0"},{resourceItem:"assetsLibraryExportSupport",resourceValue:"true"},{resourceItem:"assignDeveloperSupport",resourceValue:"true"},{resourceItem:"cpuLimit",resourceValue:"4"},{resourceItem:"configSourceCodeSupport",resourceValue:"true"},{resourceItem:"mavenConfigEditSupport",resourceValue:"true"},{resourceItem:"aiNl2LogicSupport",resourceValue:"false"},{resourceItem:"aiCodeAnalyzeSupport",resourceValue:"false"},{resourceItem:"onboardingSupport",resourceValue:"false"},{resourceItem:"storageLimit",resourceValue:"8"},{resourceItem:"releaseAppCountLimit",resourceValue:"4"},{resourceItem:"configFrontSupport",resourceValue:"true"},{resourceItem:"configFileStorageSupport",resourceValue:"true"},{resourceItem:"accountLimit",resourceValue:"-1"},{resourceItem:"teamDeveloperSupport",resourceValue:"true"},{resourceItem:"aiNl2sqlDisplay",resourceValue:"true"},{resourceItem:"exportSourceSupport",resourceValue:"true"},{resourceItem:"aiD2CSupport",resourceValue:"false"},{resourceItem:"customDomainSupport",resourceValue:"true"},{resourceItem:"reportFormsEditSupport",resourceValue:"true"},{resourceItem:"memoryLimit",resourceValue:"8"},{resourceItem:"aiNl2LogicDisplay",resourceValue:"true"},{resourceItem:"aiJavaLogicCompletionSupport",resourceValue:"false"},{resourceItem:"appCreateLimit",resourceValue:"-1"},{resourceItem:"assetsArchetypeSupport",resourceValue:"true"},{resourceItem:"configSourceSupport",resourceValue:"true"},{resourceItem:"configImageRepoSupport",resourceValue:"true"},{resourceItem:"assetsTemplateExportSupport",resourceValue:"true"},{resourceItem:"aiJavaLogicSupport",resourceValue:"false"}]},tenantResource:[{resourceItem:"onlineReplicasLimit",resourceValue:"3",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"onlineReplicasLimit",resourceValue:"3",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiJavaLogicCompletionDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiJavaLogicCompletionDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"releaseDevAppCountLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"releaseDevAppCountLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"customPackageSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"customPackageSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiNl2sqlSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiNl2sqlSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiNextComponentSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiNextComponentSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"productAppSpecification",resourceValue:"1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"productAppSpecification",resourceValue:"1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configDatabaseSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configDatabaseSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiJavaLogicDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiJavaLogicDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"appPublishOnlineSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"appPublishOnlineSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"rdsMode",resourceValue:"0",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"rdsMode",resourceValue:"0",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"assetsLibraryExportSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"assetsLibraryExportSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"assignDeveloperSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"assignDeveloperSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"cpuLimit",resourceValue:"4",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"cpuLimit",resourceValue:"4",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configSourceCodeSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configSourceCodeSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"mavenConfigEditSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"mavenConfigEditSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiNl2LogicSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiNl2LogicSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiCodeAnalyzeSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiCodeAnalyzeSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"onboardingSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"onboardingSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"storageLimit",resourceValue:"8",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"storageLimit",resourceValue:"8",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"releaseAppCountLimit",resourceValue:"4",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"releaseAppCountLimit",resourceValue:"4",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configFrontSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configFrontSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configFileStorageSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configFileStorageSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"accountLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"accountLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"teamDeveloperSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"teamDeveloperSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiNl2sqlDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiNl2sqlDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"exportSourceSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"exportSourceSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiD2CSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiD2CSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"customDomainSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"customDomainSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"reportFormsEditSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"reportFormsEditSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"memoryLimit",resourceValue:"8",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"memoryLimit",resourceValue:"8",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiNl2LogicDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiNl2LogicDisplay",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiJavaLogicCompletionSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiJavaLogicCompletionSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"appCreateLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"appCreateLimit",resourceValue:"-1",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"assetsArchetypeSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"assetsArchetypeSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configSourceSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configSourceSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"configImageRepoSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"configImageRepoSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"assetsTemplateExportSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"assetsTemplateExportSupport",resourceValue:"true",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0},{resourceItem:"aiJavaLogicSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:{resourceItem:"aiJavaLogicSupport",resourceValue:"false",validDateType:1,startTime:"2024-02-02 12:44:02",endTime:"2024-02-02 12:44:02",versionResourceDetail:null,valueAddedResourceDetail:null,valid:!0},valueAddedResourceDetail:null,valid:!0}],businessConfig:{upgradeClueCollect:{appId:"",support:!1},eventTracking:{appId:"",support:!1},beginnerGuide:{appId:"",support:!1},corpCertify:{appId:"",support:!1},rateLimiter:{appId:"",support:!1},businessAccess:{appId:"",support:!1},createSaaSTenant:{appId:"",support:!1},customApp:{appId:"",support:!1},research:{appId:"",support:!1}},expireTimeStr:null,layOutConfig:{},isPreviewFe:!1,previewVersion:"",isExport:!1,extendedConfig:null,appid:"7c058eff-e54c-4991-9e71-8b6357eb43b7"},wr=S("Playground");async function br(n){let e=await l();if(!e)throw new Error("app \u4E3A\u7A7A");let r=e.frontendTypes.find(g=>g.kind==="pc")?.frontends.at(0);if(!r)throw new Error("frontend \u4E3A\u7A7A");let o=(await mt(e,r,vr,n)).getFileDict().files;wr.debug({files:Object.keys(o)},"\u6587\u4EF6\u7CFB\u7EDF\u5185\u5BB9");let s=Object.entries(o).map(([g,b])=>({path:g,content:b.code}));return await m(s),s;async function l(){let g=await xr();return nn(g),Ee(g)}a(l,"getApp");async function m(g){let x="http://localhost:3001",y=S("\u4EE3\u7801\u5199\u5165");y.info("\u5F00\u59CB\u5199\u5165debug\u7528\u6587\u4EF6\u7CFB\u7EDF");for(let{content:t,path:w}of g)y.trace({path:w},"\u5199\u5165"),await fetch(`${x}/compile`,{method:"POST",body:JSON.stringify({path:w,content:t}),headers:{"content-type":"application/json"}}),y.trace({path:w},"\u5199\u5165\u5B8C\u6210");y.info("\u5168\u90E8\u5199\u5165\u5B8C\u6210")}a(m,"writeCode")}a(br,"startDemoTranslation");function xr(){return n();async function n(){let e=(0,gt.readFileSync)("./playground/fixtures/src.json").toString();return JSON.parse(e)}}a(xr,"fetchApp");0&&(module.exports={startDemoTranslation});
|