@lcap/nasl-unified-frontend-generator 0.0.1-beta.4 → 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 +17 -2
- package/dist/index.d.ts +17 -2
- package/dist/index.js +138 -146
- package/dist/index.mjs +136 -144
- package/dist/playground.js +139 -147
- package/dist/playground.mjs +134 -142
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var ft=Object.create;var xe=Object.defineProperty;var gt=Object.getOwnPropertyDescriptor;var ht=Object.getOwnPropertyNames;var yt=Object.getPrototypeOf,wt=Object.prototype.hasOwnProperty;var a=(n,e)=>xe(n,"name",{value:e,configurable:!0});var bt=(n,e)=>{for(var r in e)xe(n,r,{get:e[r],enumerable:!0})},fn=(n,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ht(e))!wt.call(n,o)&&o!==r&&xe(n,o,{get:()=>e[o],enumerable:!(i=gt(e,o))||i.enumerable});return n};var he=(n,e,r)=>(r=n!=null?ft(yt(n)):{},fn(e||!n||!n.__esModule?xe(r,"default",{value:n,enumerable:!0}):r,n)),vt=n=>fn(xe({},"__esModule",{value:!0}),n);var gr={};bt(gr,{ApiClientIdentifier:()=>Te,FileSystemPlugin:()=>me,LifeCycleHooksPlugin:()=>sn,Logger:()=>P,MicroFrontendPlugin:()=>Ie,NASLAppIRBuilderPlugin:()=>Ne,PlacedFile:()=>ze,ProjectOrganizerPlugin:()=>Ce,ReactChildrenPropName:()=>De,ReactFileDescription:()=>z,ReactFragment:()=>ge,ReactPresetPlugin:()=>Ee,ReactRouterDefaultViewFolderName:()=>je,ServiceMetaKind:()=>O,StateActionIR:()=>ae,StateContextIR:()=>Se,VirtualProject:()=>Ke,bindAttrToIR:()=>Pe,bindEventToAction:()=>Me,bindViewElementEventToIR:()=>ye,codeFormatPlugin:()=>$e,compileAsProject:()=>mr,compileNASLToReactDist:()=>fr,defaultErrorMessageDict:()=>Xe,deserializeAppWhileKeepTypeAnnotation:()=>en,getComponentName:()=>rn,getRuntimeStr:()=>Q,javaScriptCodeGenPlugin:()=>J,jsxCodeGenPlugin:()=>_e,logicToLogicIR:()=>ie,makeDefaultContainer:()=>cn,makePlugin:()=>M,metadataPlugin:()=>Ae,paramToIR:()=>ce,reactCodeGenPlugin:()=>pe,reactComponentLibHackPlugin:()=>Ue,reactRouterPlugin:()=>fe,reactSlotPlugin:()=>nn,reactStateManagerMobxPlugin:()=>ee,reactStateManagerVanillaPlugin:()=>K,routesExtractionPlugin:()=>be,serializeAppWithKeepTypeAnnotation:()=>Re,styleStringToInlineObject:()=>on,translateNASLToReactApp:()=>ln});module.exports=vt(gr);var pn=he(require("axios")),dt=require("lodash");var gn={files:{"/README.md":{code:`# React + TypeScript + Vite
|
|
2
2
|
|
|
3
3
|
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
|
|
4
4
|
|
|
@@ -60,14 +60,15 @@ export default {
|
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@lcap/basic-template": "http://minio-api.codewave-test.163yun.com/lowcode-static/packages/%40lcap/basic-template%401.3.0/zip.tgz",
|
|
63
|
-
"ahooks": "
|
|
63
|
+
"ahooks": "3.7.10",
|
|
64
64
|
"antd": "5.14.0",
|
|
65
|
+
"i18next": "23.11.5",
|
|
65
66
|
"lodash": "4.17.11",
|
|
66
|
-
"mobx": "
|
|
67
|
-
"mobx-react-lite": "
|
|
67
|
+
"mobx": "6.12.0",
|
|
68
|
+
"mobx-react-lite": "4.0.5",
|
|
68
69
|
"react": "18.2.0",
|
|
69
70
|
"react-dom": "18.2.0",
|
|
70
|
-
"react-router-dom": "
|
|
71
|
+
"react-router-dom": "6.20.1"
|
|
71
72
|
},
|
|
72
73
|
"resolutions": {
|
|
73
74
|
"commander": "11.1.0"
|
|
@@ -76,11 +77,11 @@ export default {
|
|
|
76
77
|
"@rspack/cli": "0.5.3",
|
|
77
78
|
"@rspack/core": "0.5.3",
|
|
78
79
|
"@rspack/plugin-react-refresh": "0.5.3",
|
|
79
|
-
"@types/react": "
|
|
80
|
-
"@types/react-dom": "
|
|
81
|
-
"html-webpack-plugin": "
|
|
82
|
-
"react-refresh": "
|
|
83
|
-
"typescript": "
|
|
80
|
+
"@types/react": "18.2.64",
|
|
81
|
+
"@types/react-dom": "18.2.18",
|
|
82
|
+
"html-webpack-plugin": "5.6.0",
|
|
83
|
+
"react-refresh": "0.14.0",
|
|
84
|
+
"typescript": "5.4.4"
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
`},"/pnpm-lock.yaml":{code:`lockfileVersion: '9.0'
|
|
@@ -100,19 +101,22 @@ importers:
|
|
|
100
101
|
specifier: http://minio-api.codewave-test.163yun.com/lowcode-static/packages/%40lcap/basic-template%401.3.0/zip.tgz
|
|
101
102
|
version: http://minio-api.codewave-test.163yun.com/lowcode-static/packages/%40lcap/basic-template%401.3.0/zip.tgz
|
|
102
103
|
ahooks:
|
|
103
|
-
specifier:
|
|
104
|
+
specifier: 3.7.10
|
|
104
105
|
version: 3.7.10(react@18.2.0)
|
|
105
106
|
antd:
|
|
106
107
|
specifier: 5.14.0
|
|
107
108
|
version: 5.14.0(date-fns@2.30.0)(moment@2.30.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
|
|
109
|
+
i18next:
|
|
110
|
+
specifier: 23.11.5
|
|
111
|
+
version: 23.11.5
|
|
108
112
|
lodash:
|
|
109
113
|
specifier: 4.17.11
|
|
110
114
|
version: 4.17.11
|
|
111
115
|
mobx:
|
|
112
|
-
specifier:
|
|
116
|
+
specifier: 6.12.0
|
|
113
117
|
version: 6.12.0
|
|
114
118
|
mobx-react-lite:
|
|
115
|
-
specifier:
|
|
119
|
+
specifier: 4.0.5
|
|
116
120
|
version: 4.0.5(mobx@6.12.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
|
|
117
121
|
react:
|
|
118
122
|
specifier: 18.2.0
|
|
@@ -121,8 +125,8 @@ importers:
|
|
|
121
125
|
specifier: 18.2.0
|
|
122
126
|
version: 18.2.0(react@18.2.0)
|
|
123
127
|
react-router-dom:
|
|
124
|
-
specifier:
|
|
125
|
-
version: 6.
|
|
128
|
+
specifier: 6.20.1
|
|
129
|
+
version: 6.20.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
|
|
126
130
|
devDependencies:
|
|
127
131
|
'@rspack/cli':
|
|
128
132
|
specifier: 0.5.3
|
|
@@ -134,20 +138,20 @@ importers:
|
|
|
134
138
|
specifier: 0.5.3
|
|
135
139
|
version: 0.5.3(react-refresh@0.14.0)
|
|
136
140
|
'@types/react':
|
|
137
|
-
specifier:
|
|
138
|
-
version: 18.2.
|
|
141
|
+
specifier: 18.2.64
|
|
142
|
+
version: 18.2.64
|
|
139
143
|
'@types/react-dom':
|
|
140
|
-
specifier:
|
|
144
|
+
specifier: 18.2.18
|
|
141
145
|
version: 18.2.18
|
|
142
146
|
html-webpack-plugin:
|
|
143
|
-
specifier:
|
|
147
|
+
specifier: 5.6.0
|
|
144
148
|
version: 5.6.0(@rspack/core@0.5.3)(webpack@5.90.1)
|
|
145
149
|
react-refresh:
|
|
146
|
-
specifier:
|
|
150
|
+
specifier: 0.14.0
|
|
147
151
|
version: 0.14.0
|
|
148
152
|
typescript:
|
|
149
|
-
specifier:
|
|
150
|
-
version: 5.
|
|
153
|
+
specifier: 5.4.4
|
|
154
|
+
version: 5.4.4
|
|
151
155
|
|
|
152
156
|
packages:
|
|
153
157
|
|
|
@@ -280,8 +284,8 @@ packages:
|
|
|
280
284
|
react: '>=16.9.0'
|
|
281
285
|
react-dom: '>=16.9.0'
|
|
282
286
|
|
|
283
|
-
'@remix-run/router@1.
|
|
284
|
-
resolution: {integrity: sha512-
|
|
287
|
+
'@remix-run/router@1.13.1':
|
|
288
|
+
resolution: {integrity: sha512-so+DHzZKsoOcoXrILB4rqDkMDy7NLMErRdOxvzvOKb507YINKUP4Di+shbTZDhSE/pBZ+vr7XGIpcOO0VLSA+Q==}
|
|
285
289
|
engines: {node: '>=14.0.0'}
|
|
286
290
|
|
|
287
291
|
'@rspack/binding-darwin-arm64@0.5.3':
|
|
@@ -423,8 +427,8 @@ packages:
|
|
|
423
427
|
'@types/react-dom@18.2.18':
|
|
424
428
|
resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==}
|
|
425
429
|
|
|
426
|
-
'@types/react@18.2.
|
|
427
|
-
resolution: {integrity: sha512-
|
|
430
|
+
'@types/react@18.2.64':
|
|
431
|
+
resolution: {integrity: sha512-MlmPvHgjj2p3vZaxbQgFUQFvD8QiZwACfGqEdDSWou5yISWxDQ4/74nCAwsUiX7UFLKZz3BbVSPj+YxeoGGCfg==}
|
|
428
432
|
|
|
429
433
|
'@types/retry@0.12.0':
|
|
430
434
|
resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
|
|
@@ -582,9 +586,8 @@ packages:
|
|
|
582
586
|
async-validator@4.2.5:
|
|
583
587
|
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
|
|
584
588
|
|
|
585
|
-
axios@0.
|
|
586
|
-
resolution: {integrity: sha512-
|
|
587
|
-
deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
|
|
589
|
+
axios@0.21.4:
|
|
590
|
+
resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==}
|
|
588
591
|
|
|
589
592
|
balanced-match@1.0.2:
|
|
590
593
|
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
|
@@ -752,14 +755,6 @@ packages:
|
|
|
752
755
|
supports-color:
|
|
753
756
|
optional: true
|
|
754
757
|
|
|
755
|
-
debug@3.1.0:
|
|
756
|
-
resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==}
|
|
757
|
-
peerDependencies:
|
|
758
|
-
supports-color: '*'
|
|
759
|
-
peerDependenciesMeta:
|
|
760
|
-
supports-color:
|
|
761
|
-
optional: true
|
|
762
|
-
|
|
763
758
|
debug@4.3.4:
|
|
764
759
|
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
|
765
760
|
engines: {node: '>=6.0'}
|
|
@@ -929,10 +924,6 @@ packages:
|
|
|
929
924
|
debug:
|
|
930
925
|
optional: true
|
|
931
926
|
|
|
932
|
-
follow-redirects@1.5.10:
|
|
933
|
-
resolution: {integrity: sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==}
|
|
934
|
-
engines: {node: '>=4.0'}
|
|
935
|
-
|
|
936
927
|
forwarded@0.2.0:
|
|
937
928
|
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
|
|
938
929
|
engines: {node: '>= 0.6'}
|
|
@@ -976,6 +967,7 @@ packages:
|
|
|
976
967
|
|
|
977
968
|
glob@7.2.3:
|
|
978
969
|
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
|
970
|
+
deprecated: Glob versions prior to v9 are no longer supported
|
|
979
971
|
|
|
980
972
|
gopd@1.0.1:
|
|
981
973
|
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
|
|
@@ -1073,12 +1065,16 @@ packages:
|
|
|
1073
1065
|
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
|
|
1074
1066
|
engines: {node: '>=10.17.0'}
|
|
1075
1067
|
|
|
1068
|
+
i18next@23.11.5:
|
|
1069
|
+
resolution: {integrity: sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA==}
|
|
1070
|
+
|
|
1076
1071
|
iconv-lite@0.4.24:
|
|
1077
1072
|
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
|
|
1078
1073
|
engines: {node: '>=0.10.0'}
|
|
1079
1074
|
|
|
1080
1075
|
inflight@1.0.6:
|
|
1081
1076
|
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
|
1077
|
+
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
|
|
1082
1078
|
|
|
1083
1079
|
inherits@2.0.3:
|
|
1084
1080
|
resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
|
|
@@ -1651,15 +1647,15 @@ packages:
|
|
|
1651
1647
|
resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
|
|
1652
1648
|
engines: {node: '>=0.10.0'}
|
|
1653
1649
|
|
|
1654
|
-
react-router-dom@6.
|
|
1655
|
-
resolution: {integrity: sha512-
|
|
1650
|
+
react-router-dom@6.20.1:
|
|
1651
|
+
resolution: {integrity: sha512-npzfPWcxfQN35psS7rJgi/EW0Gx6EsNjfdJSAk73U/HqMEJZ2k/8puxfwHFgDQhBGmS3+sjnGbMdMSV45axPQw==}
|
|
1656
1652
|
engines: {node: '>=14.0.0'}
|
|
1657
1653
|
peerDependencies:
|
|
1658
1654
|
react: '>=16.8'
|
|
1659
1655
|
react-dom: '>=16.8'
|
|
1660
1656
|
|
|
1661
|
-
react-router@6.
|
|
1662
|
-
resolution: {integrity: sha512-
|
|
1657
|
+
react-router@6.20.1:
|
|
1658
|
+
resolution: {integrity: sha512-ccvLrB4QeT5DlaxSFFYi/KR8UMQ4fcD8zBcR71Zp1kaYTC5oJKYAp1cbavzGrogwxca+ubjkd7XjFZKBW8CxPA==}
|
|
1663
1659
|
engines: {node: '>=14.0.0'}
|
|
1664
1660
|
peerDependencies:
|
|
1665
1661
|
react: '>=16.8'
|
|
@@ -1720,6 +1716,7 @@ packages:
|
|
|
1720
1716
|
|
|
1721
1717
|
rimraf@3.0.2:
|
|
1722
1718
|
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
|
|
1719
|
+
deprecated: Rimraf versions prior to v4 are no longer supported
|
|
1723
1720
|
hasBin: true
|
|
1724
1721
|
|
|
1725
1722
|
safe-buffer@5.1.2:
|
|
@@ -1934,8 +1931,8 @@ packages:
|
|
|
1934
1931
|
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
|
|
1935
1932
|
engines: {node: '>= 0.6'}
|
|
1936
1933
|
|
|
1937
|
-
typescript@5.
|
|
1938
|
-
resolution: {integrity: sha512-
|
|
1934
|
+
typescript@5.4.4:
|
|
1935
|
+
resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==}
|
|
1939
1936
|
engines: {node: '>=14.17'}
|
|
1940
1937
|
hasBin: true
|
|
1941
1938
|
|
|
@@ -2184,7 +2181,7 @@ snapshots:
|
|
|
2184
2181
|
|
|
2185
2182
|
'@lcap/basic-template@http://minio-api.codewave-test.163yun.com/lowcode-static/packages/%40lcap/basic-template%401.3.0/zip.tgz':
|
|
2186
2183
|
dependencies:
|
|
2187
|
-
axios: 0.
|
|
2184
|
+
axios: 0.21.4
|
|
2188
2185
|
crypto-js: 4.2.0
|
|
2189
2186
|
date-fns: 2.30.0
|
|
2190
2187
|
date-fns-tz: 2.0.0(date-fns@2.30.0)
|
|
@@ -2196,7 +2193,7 @@ snapshots:
|
|
|
2196
2193
|
qs: 6.11.2
|
|
2197
2194
|
request-pre: 0.4.3
|
|
2198
2195
|
transitivePeerDependencies:
|
|
2199
|
-
-
|
|
2196
|
+
- debug
|
|
2200
2197
|
|
|
2201
2198
|
'@leichtgewicht/ip-codec@2.0.4': {}
|
|
2202
2199
|
|
|
@@ -2275,7 +2272,7 @@ snapshots:
|
|
|
2275
2272
|
react: 18.2.0
|
|
2276
2273
|
react-dom: 18.2.0(react@18.2.0)
|
|
2277
2274
|
|
|
2278
|
-
'@remix-run/router@1.
|
|
2275
|
+
'@remix-run/router@1.13.1': {}
|
|
2279
2276
|
|
|
2280
2277
|
'@rspack/binding-darwin-arm64@0.5.3':
|
|
2281
2278
|
optional: true
|
|
@@ -2452,9 +2449,9 @@ snapshots:
|
|
|
2452
2449
|
|
|
2453
2450
|
'@types/react-dom@18.2.18':
|
|
2454
2451
|
dependencies:
|
|
2455
|
-
'@types/react': 18.2.
|
|
2452
|
+
'@types/react': 18.2.64
|
|
2456
2453
|
|
|
2457
|
-
'@types/react@18.2.
|
|
2454
|
+
'@types/react@18.2.64':
|
|
2458
2455
|
dependencies:
|
|
2459
2456
|
'@types/prop-types': 15.7.11
|
|
2460
2457
|
'@types/scheduler': 0.16.8
|
|
@@ -2698,11 +2695,11 @@ snapshots:
|
|
|
2698
2695
|
|
|
2699
2696
|
async-validator@4.2.5: {}
|
|
2700
2697
|
|
|
2701
|
-
axios@0.
|
|
2698
|
+
axios@0.21.4:
|
|
2702
2699
|
dependencies:
|
|
2703
|
-
follow-redirects: 1.5
|
|
2700
|
+
follow-redirects: 1.15.5
|
|
2704
2701
|
transitivePeerDependencies:
|
|
2705
|
-
-
|
|
2702
|
+
- debug
|
|
2706
2703
|
|
|
2707
2704
|
balanced-match@1.0.2: {}
|
|
2708
2705
|
|
|
@@ -2883,10 +2880,6 @@ snapshots:
|
|
|
2883
2880
|
dependencies:
|
|
2884
2881
|
ms: 2.0.0
|
|
2885
2882
|
|
|
2886
|
-
debug@3.1.0:
|
|
2887
|
-
dependencies:
|
|
2888
|
-
ms: 2.0.0
|
|
2889
|
-
|
|
2890
2883
|
debug@4.3.4:
|
|
2891
2884
|
dependencies:
|
|
2892
2885
|
ms: 2.1.2
|
|
@@ -3070,12 +3063,6 @@ snapshots:
|
|
|
3070
3063
|
|
|
3071
3064
|
follow-redirects@1.15.5: {}
|
|
3072
3065
|
|
|
3073
|
-
follow-redirects@1.5.10:
|
|
3074
|
-
dependencies:
|
|
3075
|
-
debug: 3.1.0
|
|
3076
|
-
transitivePeerDependencies:
|
|
3077
|
-
- supports-color
|
|
3078
|
-
|
|
3079
3066
|
forwarded@0.2.0: {}
|
|
3080
3067
|
|
|
3081
3068
|
fresh@0.5.2: {}
|
|
@@ -3224,6 +3211,10 @@ snapshots:
|
|
|
3224
3211
|
|
|
3225
3212
|
human-signals@2.1.0: {}
|
|
3226
3213
|
|
|
3214
|
+
i18next@23.11.5:
|
|
3215
|
+
dependencies:
|
|
3216
|
+
'@babel/runtime': 7.23.9
|
|
3217
|
+
|
|
3227
3218
|
iconv-lite@0.4.24:
|
|
3228
3219
|
dependencies:
|
|
3229
3220
|
safer-buffer: 2.1.2
|
|
@@ -3832,16 +3823,16 @@ snapshots:
|
|
|
3832
3823
|
|
|
3833
3824
|
react-refresh@0.14.0: {}
|
|
3834
3825
|
|
|
3835
|
-
react-router-dom@6.
|
|
3826
|
+
react-router-dom@6.20.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
|
|
3836
3827
|
dependencies:
|
|
3837
|
-
'@remix-run/router': 1.
|
|
3828
|
+
'@remix-run/router': 1.13.1
|
|
3838
3829
|
react: 18.2.0
|
|
3839
3830
|
react-dom: 18.2.0(react@18.2.0)
|
|
3840
|
-
react-router: 6.
|
|
3831
|
+
react-router: 6.20.1(react@18.2.0)
|
|
3841
3832
|
|
|
3842
|
-
react-router@6.
|
|
3833
|
+
react-router@6.20.1(react@18.2.0):
|
|
3843
3834
|
dependencies:
|
|
3844
|
-
'@remix-run/router': 1.
|
|
3835
|
+
'@remix-run/router': 1.13.1
|
|
3845
3836
|
react: 18.2.0
|
|
3846
3837
|
|
|
3847
3838
|
react@18.2.0:
|
|
@@ -4146,7 +4137,7 @@ snapshots:
|
|
|
4146
4137
|
media-typer: 0.3.0
|
|
4147
4138
|
mime-types: 2.1.35
|
|
4148
4139
|
|
|
4149
|
-
typescript@5.
|
|
4140
|
+
typescript@5.4.4: {}
|
|
4150
4141
|
|
|
4151
4142
|
undici-types@5.26.5: {}
|
|
4152
4143
|
|
|
@@ -4337,7 +4328,7 @@ snapshots:
|
|
|
4337
4328
|
zod: 3.22.4
|
|
4338
4329
|
|
|
4339
4330
|
zod@3.22.4: {}
|
|
4340
|
-
`},"/public/vite.svg":{code:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>'},"/rspack.config.js":{code:`const path = require('path');
|
|
4331
|
+
`},"/pnpm-workspace.yaml":{code:""},"/public/vite.svg":{code:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>'},"/rspack.config.js":{code:`const path = require('path');
|
|
4341
4332
|
const rspack = require('@rspack/core');
|
|
4342
4333
|
const refreshPlugin = require('@rspack/plugin-react-refresh');
|
|
4343
4334
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
@@ -4356,6 +4347,7 @@ module.exports = {
|
|
|
4356
4347
|
import: './src/main.tsx',
|
|
4357
4348
|
},
|
|
4358
4349
|
},
|
|
4350
|
+
devtool: isDev ? 'source-map' : false,
|
|
4359
4351
|
output: {
|
|
4360
4352
|
publicPath: isDev ? '/' : publicPath,
|
|
4361
4353
|
filename: '[name].[contenthash].js',
|
|
@@ -4460,7 +4452,7 @@ module.exports = {
|
|
|
4460
4452
|
inject: false,
|
|
4461
4453
|
template: './client-lazyload-template.js',
|
|
4462
4454
|
filename: 'client.js',
|
|
4463
|
-
minify: false
|
|
4455
|
+
minify: false,
|
|
4464
4456
|
})
|
|
4465
4457
|
: null,
|
|
4466
4458
|
].filter(Boolean),
|
|
@@ -4751,97 +4743,97 @@ export const useHandlePageNavigationEvent = ()=>{
|
|
|
4751
4743
|
},
|
|
4752
4744
|
"include": ["src"]
|
|
4753
4745
|
}
|
|
4754
|
-
`}},environment:"vanilla"};var st=require("inversify");var Vr=require("@abraham/reflection"),I=require("@lcap/nasl"),_=require("@lcap/nasl/out/concepts/utils/asserts"),Rn=require("inversify"),Fe=require("lodash");var ae=class{static{a(this,"StateActionIR")}__raw;deps;params;logics;name;kind;constructor(e){Object.assign(this,e)}};function V(n){return n!=null}a(V,"isNotNil");function hn(n){return Array.isArray(n)?n:[n]}a(hn,"ensureArray");function yn(){throw new Error("todo")}a(yn,"todo");function $(n){let e=n?JSON.stringify(n):String(n);throw new Error(`not implemented for ${e}`)}a($,"notImplemented");function G(n){let e=n?JSON.stringify(n):String(n);throw new Error(`never implemented for ${e}. Should never be here!`)}a(G,"neverImplemented");function W(n){throw new Error(`assertNever failed: ${n}`)}a(W,"assertNever");var wn=a(n=>n.startsWith("elements."),"isNameAElementRef"),bn=a(n=>n.split(".").at(1),"extractComponentNameFromElementRefName"),He=a(n=>`${n}Ref`,"componentNameToRefName");function Be(n){return n.kind==="library"}a(Be,"isComponentFromLib");function vn(n){return n.tag==="template"}a(vn,"isReferencedComponentATemplate");var xn=require("lodash"),kn=de(require("pino"));var kt=process.env.LOG_LEVEL||"info",At=(0,kn.default)({level:kt,transport:{target:"pino-pretty",options:{colorize:!0}}});function P(n){return At.child({},{msgPrefix:`[${n}] `})}a(P,"Logger");function An(n){if(!(0,xn.isFunction)(n))throw new Error;let e=n.name,r=Object.getOwnPropertyNames(n.prototype),i=P(e);return r.forEach(o=>{let s=n.prototype[o];n.prototype[o]=function(...l){return i.trace({method:o,args:l}),s.apply(this,l)}}),n}a(An,"logging");var te=require("@lcap/nasl");function We(n,e){let r=n?.split(".")||[],o=r[0]==="app"?1:0;return r.findIndex((s,l)=>l%2===o?s===e:!1)}a(We,"findConceptKeyWordIndexFromNamespace");function Sn(n){let e=n.typeAnnotation||n.__TypeAnnotation,{sortedTypeKey:r,typeKind:i,typeName:o,typeNamespace:s}=e||{};if(s?.endsWith(".metadataTypes")){let x=(n.app.findNodeByCompleteName(s+"."+o)||{}).typeAnnotation||{};r=`${x.typeNamespace}.${x.typeName}`,i=x.typeKind,o=x.typeName}let l=e&&(!["primitive","union"].includes(i)||o==="DateTime"),u=n.defaultValue?.expression?n.defaultValue.expression:new te.Unparsed({code:void 0});return l?te.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new te.Argument({expression:new te.StringLiteral({value:r})}),new te.Argument({expression:u})]},n.parentNode,n.parentKey):u}a(Sn,"prepareVariableDefaultValue");var Nn=require("@lcap/nasl/out/utils/string");var ke=a(n=>n.replaceAll("_","-").replace(/(?:-)([a-zA-Z0-9])/g,(e,r)=>r.toUpperCase()),"trueKebab2Camel"),ue=a(n=>(0,Nn.firstUpperCase)(ke(n)),"kebab2Pascal");function Pn(n){return/^[A-Z]/.test(n)}a(Pn,"startsWithUpperCase");function jn(n){return V(n)&&n!==""}a(jn,"isNotEmptyString");function M({name:n,functions:e}){return{name:n,functions:e}}a(M,"makePlugin");var St={enabled:!1,locale:"zh-CN",messages:{},I18nList:[]},Ae=M({name:"MetadataPlugin",functions:{makeBasePlatformConfig(n,e,r){let i=r?.lowcodeDomain,o=r?.envNuimsDomain?.[r?.env]||r?.nuimsDomain,s=r?.envLcpDomain?.[r?.env]?.lcpDomain||r?.lowcodeDomain;return{appConfig:{project:n.name,domainName:n.name,nuimsDomain:o,lowcodeDomain:i,envNuimsDomain:r.envNuimsDomain,tenantType:r.tenantType,tenantLevel:r.tenantLevel,extendedConfig:r.extendedConfig,envConfig:{lowcodeDomain:s},tenant:r.tenant,documentTitle:e.documentTitle,i18nInfo:St},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 Nt(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(Nt,"_ts_decorate");var Se=class n{static{a(this,"StateContextIR")}providedStates;consumedStateNames;actions;parentCtx;constructor(e,r,i,o){this.providedStates=e,this.consumedStateNames=r,this.actions=i,this.parentCtx=o}recursivelyExtractTreeStates(){return[...this.providedStates.filter(e=>e.kind==="tree"),...this.parentCtx?.recursivelyExtractTreeStates()??[]]}resolveExprToString(e,r,i){return r.printSyntaxNode(e,{resolve({kind:o,value:s}){switch(o){case"calleeNamespace":return i.resolveCalleeNamespace(s);case"identifier":return i.resolveIdentifier(s)}}})}static fromParent(e){return new n([],[],[],e)}provide(e){return this.providedStates.push(e),this}provideAction(e){return this.actions.push(e),this}findStateByName(e){return this.providedStates.find(r=>r.identifier===e)??this.parentCtx?.findStateByName(e)}findActionByName(e){return this.actions.find(r=>r.name===e)??this.parentCtx?.findActionByName(e)}findComponentRefByComponentName(e){return this.findStateByName(He(e))??this.parentCtx?.findComponentRefByComponentName(e)}};function Pt(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(Pt,"collectTopLevelViews");function ce(n){return{name:n.name,typeAnnotation:n.__TypeAnnotation,defaultValue:n.defaultValue}}a(ce,"paramToIR");function jt(n){if(e(n)||r(n)){if(r(n)){let i=I.CallFunction.from({calleeNamespace:"nasl.auth",calleeName:"has",arguments:[I.Argument.from({expression:new I.StringLiteral({value:n.viewElement.authPath})})]},n.parentNode,n.parentKey);return{__raw:n,concept:n.concept,expression:me(i),kind:"if"}}else{let i=n.expression;if(i)return{__raw:n,concept:n.concept,expression:me(i),kind:"if"};re.debug({nodePath:n.nodePath},"\u65E0expression\u7684directive\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E")}return}else return re.error({nodePath:n.nodePath},`\u9047\u5230\u4E86\u4E0D\u652F\u6301\u7684 directive: ${n.name}`),$(n);function e(i){return i.name==="if"}a(e,"isIfDirective");function r(i){return i.name==="auth"}a(r,"isAuthDirective")}a(jt,"bindDirectiveToIR");function me(n){return{expr:n,deps:[]}}a(me,"exprToIR");function Pe(n){if(n.type===void 0&&n.name==="rules")return{kind:"validation-rules",concept:"BindAttribute",name:"rules",rules:n.rules,__raw:n};switch(n.type){case"string":{let e=I.StringLiteral.from({value:n.value});if(n.sync)throw re.error({nodePath:n.nodePath},"string\u4E0D\u53EF\u4E3Async"),new Error("string\u4E0D\u53EF\u4E3Async");return{__raw:n,concept:n.concept,kind:"expr",expression:me(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:me(n.expression),name:n.name,sync:n.sync??!1};case"component":return{kind:"render",concept:"BindAttribute",component:n.component,scopeVariable:n.scopeVariable,name:n.name};default:W(n)}}a(Pe,"bindAttrToIR");function ie(n){return{logic:n,deps:[]}}a(ie,"logicToLogicIR");function Dn(n,e){return ke(`${e??""}-${n}`)}a(Dn,"getHandlerName");function Ct(n){return n==="value"?"change":`${n}-change`}a(Ct,"inferChangeEventNameFromAttrName");function ye(n){return{__raw:n,logics:n.logics.map(ie),concept:n.concept,params:n.getContextLogicParams().map(ce),handlerName:Dn(n.name,n.parentNode?.name)}}a(ye,"bindViewElementEventToIR");function Me(n){return{__raw:n.__raw,logics:n.logics,deps:[],name:n.handlerName,params:n.params,kind:"standalone"}}a(Me,"bindEventToAction");var Cn="@lcap/pc-react-ui";function Rt(n){let e=n.tag;if(Pn(e)){let r=n?.app?.dependencies?.find(o=>o.frontends.some(s=>s.viewComponents.some(l=>l.name===e)));return e==="Router"?{kind:"library",libraryName:"react-router-dom",tag:"Outlet"}:{kind:"library",libraryName:r?`@extension/${r.name}`:Cn,tag:e}}else if(e){if(e.includes("-"))throw re.error({viewElement:(0,Fe.pick)(n,["name","concept","tag"]),nodePath:n.nodePath},"\u4E0D\u652F\u6301\u7684tag\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E"),new Error(`\u5B58\u5728\u810F\u6570\u636E: ${n.nodePath}`);return{kind:"library",libraryName:Cn,tag:e}}throw new Error("empty tag name!")}a(Rt,"getReferencedLibComponent");function Dt(n){n.attrs.flatMap(r=>{if(r.kind==="expr"&&r.sync){if(r.expression.expr)return[r];re.debug(`${r.__raw.nodePath}\u7684expression\u4E3A\u7A7A\uFF0C\u4F46\u4ECD\u4E3A\u53CC\u5411\u7ED1\u5B9A\u3002\u5DF2\u5FFD\u7565\u3002`)}return[]}).forEach(r=>{re.debug({x:r},"\u6784\u9020\u53CC\u5411\u7ED1\u5B9A\u7684handler");let i=u(),o=i.params.at(0),s=new I.Param({name:o?.name??"event"}),l=I.Logic.from({name:"_syncChange",body:[I.Assignment.from({left:r.expression.expr,right:s},r.__raw.parentNode,r.__raw.parentKey)],params:[s]});i.logics.unshift(ie(l)),o||i.params.push(ce(s));function u(){let f=Ct(r.name),x=Dn(f,r.__raw.parentNode?.name);re.trace({targetEventName:f,targetHandlerName:x});let v=n.events.find(t=>t.handlerName===x);if(v)return v;let h=ye(I.BindEvent.from({logics:[],name:"change"},r.__raw.parentNode,"bindEvents"));return n.events.push(h),h}a(u,"findOrCreateBindEvent")})}a(Dt,"prependBindEventForSyncBindAttribute");function In(n){if(n.logics.length>1){let e=[],r=n.params.map(s=>I.Param.from(s)),i=n.logics.map(s=>{let l=`${n.name}_${s.logic.name}`,u=I.Logic.from({...s.logic.toJSON(),params:r,name:l},s.logic.parentNode,s.logic.parentKey);return ie(u)}),o=new ae({...n,logics:i});return e.push(o),i.forEach(s=>{let l=new ae({...n,name:s.logic.name,logics:[s],kind:"standalone"});e.push(l)}),e}else return[n]}a(In,"splitLogicsInActionToMultipleActions");function It(n){if(n.some(s=>s.kind!=="if"))throw re.error("mergeIfDirectives\u63A5\u6536\u5230\u4E86\u4E0D\u662Fif\u6307\u4EE4\u7684bindDirectives"),new Error("mergeIfDirectives\u63A5\u6536\u5230\u4E86\u4E0D\u662Fif\u6307\u4EE4\u7684bindDirectives");let[e,...r]=n;if(!e)return n;let i=e.expression.expr;for(let s of r)i=I.BinaryExpression.from({left:i,operator:"&&",right:s.expression.expr},s.__raw.parentNode,s.__raw.parentKey);return[{kind:"if",concept:"BindDirective",expression:me(i),__raw:e.__raw}]}a(It,"mergeMultipleIfDirectivesIntoConjunctiveNormalForm");function En(n,e){let r=e.bindAttrs.map(Pe),o={directives:It(e.bindDirectives.map(jt).filter(V)),attrs:r,events:e.bindEvents.map(ye).filter(V),children:e.children.map(l=>En(n,l)),component:Rt(e),__raw:e,slot:{scope:e.slotScope||void 0,target:s(e.slotTarget)}};return Dt(o),o.events.forEach(l=>{let u=In(Me(l));for(let f of u)n.provideAction(f)}),o;function s(l){if(!(l==="default"||l===""))return l}a(s,"normalizeSlotTarget")}a(En,"extractAsComponentInstanceIR");function Et(n){let e=[],r=[];return n.variables.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"static",value:me(Sn(o))},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),n.bindEvents.forEach(o=>{let s=new ae({__raw:o,logics:o.logics.map(ie),deps:[],name:o.name,params:o.getContextLogicParams().map(ce),kind:"view-lifecycle"}),l=In(s);r.push(...l)}),n.logics.forEach(o=>{r.push(new ae({__raw:o,deps:[],name:o.name,params:o.params.map(ce),logics:[o].map(ie),kind:"standalone"}))}),n.params.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"url-param",__raw:ce(o),defaultValue:o.defaultValue?.expression?me(o.defaultValue.expression):void 0},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),{consumedStateNames:[],providedStates:e,actions:r}}a(Et,"collectStatesAndActionsFromView");function Lt(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(Lt,"enhanceStateContext");function Je(n,e){if(e&&wn(e)){let r=bn(e);if(!r)return;let i=n.findComponentRefByComponentName(r);if(i)return i;let s={kind:"standalone",identifier:He(r),initialization:{kind:"component-ref",componentName:r},typeAnnotation:null};return n.provide(s),s}}a(Je,"provideAsComponentRefIfOk");function Ft(n){let e=new Se([],[],[],null);return Lt(e)}a(Ft,"makeBaseCtx");var Te="apiClient";function Mt(n,e){return e.provide({kind:"tree",identifier:Te,initialization:{kind:"api-client"},typeAnnotation:null}),n.map(ie)}a(Mt,"collectApis");function Tt(n){return n.dependencies.map(r=>{if(!(0,_.isConnector)(r)&&r.frontends?.length)return r}).filter(V)}a(Tt,"collectFrontendExtensionModules");function Ot(n,e,r){let i=Pt(n,e);return s(i,r);function s(l,u){return l.map(f=>{let x=s(f.children,u),{providedStates:v,actions:h}=Et(f),t=new Se(v,[],h,u);k(t);let b=f.elements.map(p=>En(t,p));return c(b),{__raw:f,childComponents:x,stateContext:t,identifier:f.name,elements:b};function k(p){f.traverseStrictChildren(m=>{if((0,Fe.isObject)(m)&&"playground"in m&&(m.playground=[]),(0,_.isMemberExpression)(m)){if((0,_.isIdentifier)(m.object)&&(0,_.isIdentifier)(m.property)&&m.object.name==="elements"&&m.property.name==="$ce"){let w=m.getAncestor("ViewElement");if(w){let g=`elements.${w.name}`,y=Je(p,g);y&&(m.emit=()=>{},m.parentNode&&(m.parentNode.emit=()=>{}),m.replaceNode({name:y.identifier,concept:"Identifier"}))}}else if((0,_.isIdentifier)(m.object)&&m.object.namespace==="elements.$ce.property"){let w=m.getAncestor("ViewElement");if(w){let g=`elements.${w.name}`,y=Je(p,g);y&&(m.object=new I.Identifier({name:y.identifier}))}}}else if((0,_.isCallLogic)(m)){let w=Je(p,m.calleeNamespace);w&&(m.calleeNamespace=w.identifier)}})}a(k,"resolveComponentRef");function c(p){p.forEach(m=>{let w=t.findComponentRefByComponentName(m.__raw.name);if(w){let g=Pe(new I.BindAttribute({name:"ref",type:"dynamic",expression:new I.Identifier({name:w.identifier})}));m.attrs.push(g)}c(m.children)})}a(c,"recursivelyBindRefAttrIfNecessary")})}}a(Ot,"collectAllViews");var re=P("IR builder"),Ne=class{static{a(this,"NASLAppIRBuilderPlugin")}buildIR(e,r,i){let o=Ft(r.variables),s=Mt(e.logics,o),l=Ot(e,r,o);return{baseCtx:o,configs:u(),apis:s,views:l,packages:f()};function u(){let v={...Ae.functions}.makeBasePlatformConfig(e,r,i),h=(0,I.genMetaData)(e,r,i),t=r.bindEvents.map(ye).filter(V);return{config:i,basePlatformConfig:v,events:t,metaData:h,globalVariables:r.variables,themeCSS:r.genThemeCSS(),document:{icon:r.documentIcon}}}function f(){let x=Tt(e).map(v=>({kind:"extension",name:v.name,version:v.version,hasCss:!0}));return re.debug({extensionPackages:x}),[...x,{kind:"standard",name:"@lcap/pc-react-ui",version:"1.0.0"}]}}};Ne=Nt([(0,Rn.injectable)()],Ne);var D=require("@lcap/nasl"),d=require("@lcap/nasl/out/concepts/utils/asserts"),Ln=de(require("json5")),Fn=require("lodash");var Xe={required:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",filled:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",notEmpty:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",empty:"\u8868\u5355\u9879\u5FC5\u987B\u4E3A\u7A7A",minLength:"\u4E0D\u5F97\u5C11\u4E8E{args}\u4E2A\u5B57\u7B26",maxLength:"\u4E0D\u5F97\u8D85\u8FC7{args}\u4E2A\u5B57\u7B26",rangeLength:"\u8BF7\u8F93\u5165{args}-{args}\u4E2A\u5B57\u7B26",min:"\u4E0D\u80FD\u5C0F\u4E8E{args}",max:"\u4E0D\u80FD\u5927\u4E8E{args}",range:"\u8303\u56F4\u5728{args}-{args}\u4E4B\u95F4",pattern:"\u8868\u5355\u9879\u683C\u5F0F\u4E0D\u6B63\u786E",is:"\u5FC5\u987B\u4E0E{args}\u76F8\u540C",isNot:"\u5FC5\u987B\u4E0E{args}\u4E0D\u540C",equals:"\u5FC5\u987B\u7B49\u4E8E{args}",notEquals:"\u5FC5\u987B\u4E0D\u7B49\u4E8E{args}",confirmed:"\u4E24\u6B21\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u4E00\u81F4",includes:"\u5FC5\u987B\u5305\u542B{args}",excludes:"\u4E0D\u80FD\u5305\u542B{args}",included:"\u5FC5\u987B\u4E3A{args}\u4E2D\u7684\u503C",excluded:"\u4E0D\u80FD\u4E3A{args}\u4E2D\u7684\u503C",unique:"\u8BE5\u8868\u5355\u9879\u5DF2\u7ECF\u5B58\u5728",noDuplicates:"\u4E0D\u80FD\u51FA\u73B0\u91CD\u590D\u9879",string:"\u8BF7\u8F93\u5165\u5B57\u7B26\u4E32",number:"\u8BF7\u8F93\u5165\u6570\u5B57",numeric:"\u8BF7\u8F93\u5165\u6570\u5B57",integer:"\u8BF7\u8F93\u5165\u6574\u6570",decimal:"\u8BF7\u8F93\u5165\u6B63\u786E\u683C\u5F0F\u7684\u5C0F\u6570",boolean:"\u5FC5\u987B\u4E3A\u5E03\u5C14\u7C7B\u578B",function:"\u5FC5\u987B\u4E3A\u51FD\u6570",object:"\u5FC5\u987B\u4E3A\u5BF9\u8C61",plainObject:"\u5FC5\u987B\u4E3A\u7B80\u5355\u5BF9\u8C61",array:"\u5FC5\u987B\u4E3A\u6570\u7EC4",alpha:"\u8BF7\u8F93\u5165\u5B57\u6BCD",alphaNum:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u6216\u6570\u5B57",alphaDash:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u6216\u4E0B\u5212\u7EBF",alphaNumDash:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF",alphaSpaces:"\u4EE5\u5B57\u6BCD\u6216\u7A7A\u683C\u7EC4\u6210",lowerCase:"\u4E0D\u80FD\u51FA\u73B0\u5927\u5199\u5B57\u6BCD",upperCase:"\u4E0D\u80FD\u51FA\u73B0\u5C0F\u5199\u5B57\u6BCD","^az":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u5F00\u5934","^az09":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934","^az09_":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u5F00\u5934","^azAZ":"\u4EE5\u5B57\u6BCD\u5F00\u5934","^azAZ09":"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934","^azAZ09_":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u5F00\u5934",az09$:"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u7ED3\u5C3E",azAZ09$:"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u7ED3\u5C3E","^09$":"\u4EE5\u6570\u5B57\u7EC4\u6210","^az09$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u7EC4\u6210","^az09-$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E2D\u5212\u7EBF\u7EC4\u6210","^az09-.$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'.'\u7EC4\u6210","^azAZ09$":"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u7EC4\u6210","^azAZ09-$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216'-'\u7EC4\u6210","^az09-_$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'_'\u7EC4\u6210","^azAZ09_$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216'_'\u7EC4\u6210","^azAZ09-_$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'_'\u7EC4\u6210","without--":"\u4E0D\u80FD\u8FDE\u7EED\u51FA\u73B0\u4E2D\u5212\u7EBF",without__:"\u4E0D\u80FD\u8FDE\u7EED\u51FA\u73B0\u4E0B\u5212\u7EBF",email:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u90AE\u7BB1",ip:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 IP",ipRange:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 IP \u6BB5",port:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u7AEF\u53E3",url:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 URL",macAddress:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 MAC \u5730\u5740",md5:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 MD5",ascii:"\u5FC5\u987B\u4E3A ASCII",base32:"\u5FC5\u987B\u4E3A base32 \u7F16\u7801",base64:"\u5FC5\u987B\u4E3A base64 \u7F16\u7801",byteLength:"\u5B57\u8282\u957F\u5EA6\u4E0D\u5728\u6307\u5B9A\u8303\u56F4\u5185",dataURI:"\u5FC5\u987B\u4E3A DataURI \u7F16\u7801",magnetURI:"\u5FC5\u987B\u4E3A MagnetURI \u7F16\u7801",divisibleBy:"\u5FC5\u987B\u88AB{args}\u6574\u9664",fullWidth:"\u5FC5\u987B\u8F93\u5165\u5168\u89D2\u5B57\u7B26",halfWidth:"\u5FC5\u987B\u8F93\u5165\u534A\u89D2\u5B57\u7B26",hash:"\u54C8\u5E0C\u7F16\u7801\u4E0D\u7B26\u5408{args}\u7B97\u6CD5",hexColor:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u5341\u516D\u8FDB\u5236\u989C\u8272\u503C",hex:"\u8BF7\u8F93\u5165\u5341\u516D\u8FDB\u5236\u6570",identityCard:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u8EAB\u4EFD\u8BC1\u53F7\u7801",creditCard:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u4FE1\u7528\u5361\u53F7",fqdn:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u5168\u9650\u5B9A\u57DF\u540D",ipOrFQDN:"\u8BF7\u8F93\u5165\u4E00\u4E2A\u5408\u6CD5 IP \u6216\u5168\u9650\u5B9A\u57DF\u540D",isbn:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u6807\u51C6\u4E66\u53F7",issn:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u6807\u51C6\u8FDE\u7EED\u51FA\u7248\u7269\u7F16\u53F7",isin:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u8BC1\u5238\u8BC6\u522B\u7801",iso8601:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO8601 \u65E5\u671F\u683C\u5F0F",rfc3339:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 RFC3339 \u65E5\u671F\u683C\u5F0F",iso31661Alpha2:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO 3166-1 Alpha-2 \u56FD\u5BB6\u4EE3\u7801",iso31661Alpha3:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO 3166-1 Alpha-3 \u56FD\u5BB6\u4EE3\u7801",json:"\u5FC5\u987B\u4E3A JSON \u683C\u5F0F\u5B57\u7B26\u4E32",jwt:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 JSON Web Token",latLong:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u7ECF\u7EAC\u5EA6\u5750\u6807\uFF0C\u5982 (-17.738223, 85.605469)",mobile:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u624B\u673A\u53F7\u7801",mongoId:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684 MongoDB \u5BF9\u8C61 ID",postalCode:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u90AE\u653F\u7F16\u7801",uuid:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684 UUID",chinese:"\u8BF7\u8F93\u5165\u4E2D\u6587\u5185\u5BB9"};var Oe=P("JavaScriptCodeGen");function Q(n,e){return r(o(n));function r(t){return(0,d.isLogicItem)(t)?h(t):(0,d.isLogic)(t)?l(t):u(t)}function i(t){let b=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:k,typeKind:c,typeName:p,typeNamespace:m}=b||{};if(m?.endsWith(".metadataTypes")){let g=t.app.findNodeByCompleteName(m+"."+p)?.typeAnnotation;g&&(k=`${g.typeNamespace}.${g.typeName}`,c=g.typeKind,p=g.typeName)}if(b&&(!["primitive","union"].includes(c??"")||p==="DateTime")){let g=r(t);return D.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new D.Argument({expression:new D.StringLiteral({value:k})}),new D.Argument({expression:new D.Unparsed({code:g})})]},t.parentNode,t.parentKey)}return t}function o(t){return(0,d.isCallFunction)(t)||(0,d.isCallLogic)(t)||(0,d.isNewComposite)(t)||(0,d.isDefaultValue)(t)?i(t):t}function s(t){return`(${k()})=>(${b()})`;function b(){let c=t.logics[0];return Q(c,e)}function k(){return t.params.map(c=>c.name).toString()}}function l(t){let b="async (";return Array.isArray(t.params)&&(b+=t.params.map(k=>k.name).toString()),b+=") => {",Array.isArray(t.params)&&t.params.forEach(k=>{let c=Q(k,e);k.name!==c&&(b+=`${k.name} = ${c};
|
|
4746
|
+
`}},environment:"vanilla"};var st=require("inversify");var zr=require("@abraham/reflection"),E=require("@lcap/nasl"),_=require("@lcap/nasl/out/concepts/utils/asserts"),Dn=require("inversify"),Fe=require("lodash");var ae=class{static{a(this,"StateActionIR")}__raw;deps;params;logics;name;kind;constructor(e){Object.assign(this,e)}};function V(n){return n!=null}a(V,"isNotNil");function hn(n){return Array.isArray(n)?n:[n]}a(hn,"ensureArray");function yn(){throw new Error("todo")}a(yn,"todo");function $(n){let e=n?JSON.stringify(n):String(n);throw new Error(`not implemented for ${e}`)}a($,"notImplemented");function G(n){let e=n?JSON.stringify(n):String(n);throw new Error(`never implemented for ${e}. Should never be here!`)}a(G,"neverImplemented");function W(n){throw new Error(`assertNever failed: ${n}`)}a(W,"assertNever");var wn=a(n=>n.startsWith("elements."),"isNameAElementRef"),bn=a(n=>n.split(".").at(1),"extractComponentNameFromElementRefName"),He=a(n=>`${n}Ref`,"componentNameToRefName");function qe(n){return n.kind==="library"}a(qe,"isComponentFromLib");function vn(n){return n.tag==="template"}a(vn,"isReferencedComponentATemplate");var xn=require("lodash"),kn=he(require("pino"));var xt=process.env.LOG_LEVEL||"info",kt=(0,kn.default)({level:xt,transport:{target:"pino-pretty",options:{colorize:!0}}});function P(n){return kt.child({},{msgPrefix:`[${n}] `})}a(P,"Logger");function An(n){if(!(0,xn.isFunction)(n))throw new Error;let e=n.name,r=Object.getOwnPropertyNames(n.prototype),i=P(e);return r.forEach(o=>{let s=n.prototype[o];n.prototype[o]=function(...l){return i.trace({method:o,args:l}),s.apply(this,l)}}),n}a(An,"logging");var te=require("@lcap/nasl");function We(n,e){let r=n?.split(".")||[],o=r[0]==="app"?1:0;return r.findIndex((s,l)=>l%2===o?s===e:!1)}a(We,"findConceptKeyWordIndexFromNamespace");function Sn(n){let e=n.typeAnnotation||n.__TypeAnnotation,{sortedTypeKey:r,typeKind:i,typeName:o,typeNamespace:s}=e||{};if(s?.endsWith(".metadataTypes")){let x=(n.app.findNodeByCompleteName(s+"."+o)||{}).typeAnnotation||{};r=`${x.typeNamespace}.${x.typeName}`,i=x.typeKind,o=x.typeName}let l=e&&(!["primitive","union"].includes(i)||o==="DateTime"),u=n.defaultValue?.expression?n.defaultValue.expression:new te.Unparsed({code:void 0});return l?te.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new te.Argument({expression:new te.StringLiteral({value:r})}),new te.Argument({expression:u})]},n.parentNode,n.parentKey):u}a(Sn,"prepareVariableDefaultValue");var Nn=require("@lcap/nasl/out/utils/string");var ke=a(n=>n.replaceAll("_","-").replace(/(?:-)([a-zA-Z0-9])/g,(e,r)=>r.toUpperCase()),"trueKebab2Camel"),de=a(n=>(0,Nn.firstUpperCase)(ke(n)),"kebab2Pascal");function Pn(n){return/^[A-Z]/.test(n)}a(Pn,"startsWithUpperCase");function jn(n){return V(n)&&n!==""}a(jn,"isNotEmptyString");function M({name:n,functions:e}){return{name:n,functions:e}}a(M,"makePlugin");var At={enabled:!1,locale:"zh-CN",messages:{},I18nList:[]},Ae=M({name:"MetadataPlugin",functions:{makeBasePlatformConfig(n,e,r){let i=r?.lowcodeDomain,o=r?.envNuimsDomain?.[r?.env]||r?.nuimsDomain,s=r?.envLcpDomain?.[r?.env]?.lcpDomain||r?.lowcodeDomain;return{appConfig:{project:n.name,domainName:n.name,nuimsDomain:o,lowcodeDomain:i,envNuimsDomain:r.envNuimsDomain,tenantType:r.tenantType,tenantLevel:r.tenantLevel,extendedConfig:r.extendedConfig,envConfig:{lowcodeDomain:s},tenant:r.tenant,documentTitle:e.documentTitle,i18nInfo:At},dnsAddr:n.dnsAddr,tenant:r.tenant,env:r.env,hasUserCenter:n.hasUserCenter,hasAuth:n.hasAuth,basePath:e.prefixPath,sysPrefixPath:n.sysPrefixPath,frontendName:e.name}}}});function St(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(St,"_ts_decorate");var Se=class n{static{a(this,"StateContextIR")}providedStates;consumedStateNames;actions;parentCtx;constructor(e,r,i,o){this.providedStates=e,this.consumedStateNames=r,this.actions=i,this.parentCtx=o}recursivelyExtractTreeStates(){return[...this.providedStates.filter(e=>e.kind==="tree"),...this.parentCtx?.recursivelyExtractTreeStates()??[]]}resolveExprToString(e,r,i){return r.printSyntaxNode(e,{resolve({kind:o,value:s}){switch(o){case"calleeNamespace":return i.resolveCalleeNamespace(s);case"identifier":return i.resolveIdentifier(s)}}})}static fromParent(e){return new n([],[],[],e)}provide(e){return this.providedStates.push(e),this}provideAction(e){return this.actions.push(e),this}findStateByName(e){return this.providedStates.find(r=>r.identifier===e)??this.parentCtx?.findStateByName(e)}findActionByName(e){return this.actions.find(r=>r.name===e)??this.parentCtx?.findActionByName(e)}findComponentRefByComponentName(e){return this.findStateByName(He(e))??this.parentCtx?.findComponentRefByComponentName(e)}};function Nt(n,e){let r=[],i=[];return n.dependencies&&r.push(...n.dependencies),n.interfaceDependencies&&r.push(...n.interfaceDependencies),e.views&&i.push(...e.views),r.forEach(o=>{o.views&&i.push(...o.views)}),i}a(Nt,"collectTopLevelViews");function ce(n){return{name:n.name,typeAnnotation:n.__TypeAnnotation,defaultValue:n.defaultValue}}a(ce,"paramToIR");function Pt(n){if(e(n)||r(n)){if(r(n)){let i=E.CallFunction.from({calleeNamespace:"nasl.auth",calleeName:"has",arguments:[E.Argument.from({expression:new E.StringLiteral({value:n.viewElement.authPath})})]},n.parentNode,n.parentKey);return{__raw:n,concept:n.concept,expression:ue(i),kind:"if"}}else{let i=n.expression;if(i)return{__raw:n,concept:n.concept,expression:ue(i),kind:"if"};re.debug({nodePath:n.nodePath},"\u65E0expression\u7684directive\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E")}return}else return re.error({nodePath:n.nodePath},`\u9047\u5230\u4E86\u4E0D\u652F\u6301\u7684 directive: ${n.name}`),$(n);function e(i){return i.name==="if"}a(e,"isIfDirective");function r(i){return i.name==="auth"}a(r,"isAuthDirective")}a(Pt,"bindDirectiveToIR");function ue(n){return{expr:n,deps:[]}}a(ue,"exprToIR");function Pe(n){if(n.type===void 0&&n.name==="rules")return{kind:"validation-rules",concept:"BindAttribute",name:"rules",rules:n.rules,__raw:n};switch(n.type){case"string":{let e=E.StringLiteral.from({value:n.value});if(n.sync)throw re.error({nodePath:n.nodePath},"string\u4E0D\u53EF\u4E3Async"),new Error("string\u4E0D\u53EF\u4E3Async");return{__raw:n,concept:n.concept,kind:"expr",expression:ue(e),name:n.name,sync:!1}}case"static":case"dynamic":return n.type==="dynamic"&&(n.destination?n.expression=n.destination:n.externalDestination&&(n.expression=n.externalDestination,n.name="link")),{__raw:n,concept:n.concept,kind:"expr",expression:ue(n.expression),name:n.name,sync:n.sync??!1};case"component":return{kind:"render",concept:"BindAttribute",component:n.component,scopeVariable:n.scopeVariable,name:n.name};default:W(n)}}a(Pe,"bindAttrToIR");function ie(n){return{logic:n,deps:[]}}a(ie,"logicToLogicIR");function Rn(n,e){return ke(`${e??""}-${n}`)}a(Rn,"getHandlerName");function jt(n){return{value:"change",checked:"change"}[n]??`${n}-change`}a(jt,"inferChangeEventNameFromAttrName");function ye(n){return{__raw:n,logics:n.logics.map(ie),concept:n.concept,params:n.getContextLogicParams().map(ce),handlerName:Rn(n.name,n.parentNode?.name)}}a(ye,"bindViewElementEventToIR");function Me(n){return{__raw:n.__raw,logics:n.logics,deps:[],name:n.handlerName,params:n.params,kind:"standalone"}}a(Me,"bindEventToAction");var Cn="@lcap/pc-react-ui";function Ct(n){let e=n.tag;if(Pn(e)){let r=n?.app?.dependencies?.find(o=>o.frontends.some(s=>s.viewComponents.some(l=>l.name===e)));return e==="Router"?{kind:"library",libraryName:"react-router-dom",tag:"Outlet"}:{kind:"library",libraryName:r?`@extension/${r.name}`:Cn,tag:e}}else if(e){if(e.includes("-"))throw re.error({viewElement:(0,Fe.pick)(n,["name","concept","tag"]),nodePath:n.nodePath},"\u4E0D\u652F\u6301\u7684tag\uFF0C\u53EF\u80FD\u4E3A\u810F\u6570\u636E"),new Error(`\u5B58\u5728\u810F\u6570\u636E: ${n.nodePath}`);return{kind:"library",libraryName:Cn,tag:e}}throw new Error("empty tag name!")}a(Ct,"getReferencedLibComponent");function Dt(n){n.attrs.flatMap(r=>{if(r.kind==="expr"&&r.sync){if(r.expression.expr)return[r];re.debug(`${r.__raw.nodePath}\u7684expression\u4E3A\u7A7A\uFF0C\u4F46\u4ECD\u4E3A\u53CC\u5411\u7ED1\u5B9A\u3002\u5DF2\u5FFD\u7565\u3002`)}return[]}).forEach(r=>{re.debug({x:r},"\u6784\u9020\u53CC\u5411\u7ED1\u5B9A\u7684handler");let i=u(),o=i.params.at(0),s=new E.Param({name:o?.name??"event"}),l=E.Logic.from({name:"_syncChange",body:[E.Assignment.from({left:r.expression.expr,right:s},r.__raw.parentNode,r.__raw.parentKey)],params:[s]});i.logics.unshift(ie(l)),o||i.params.push(ce(s));function u(){let g=jt(r.name),x=Rn(g,r.__raw.parentNode?.name);re.trace({targetEventName:g,targetHandlerName:x});let v=n.events.find(t=>t.handlerName===x);if(v)return v;let y=ye(E.BindEvent.from({logics:[],name:"change"},r.__raw.parentNode,"bindEvents"));return n.events.push(y),y}a(u,"findOrCreateBindEvent")})}a(Dt,"prependBindEventForSyncBindAttribute");function In(n){if(n.logics.length>1){let e=[],r=n.params.map(s=>E.Param.from(s)),i=n.logics.map(s=>{let l=`${n.name}_${s.logic.name}`,u=E.Logic.from({...s.logic.toJSON(),params:r,name:l},s.logic.parentNode,s.logic.parentKey);return ie(u)}),o=new ae({...n,logics:i});return e.push(o),i.forEach(s=>{let l=new ae({...n,name:s.logic.name,logics:[s],kind:"standalone"});e.push(l)}),e}else return[n]}a(In,"splitLogicsInActionToMultipleActions");function Rt(n){if(n.some(s=>s.kind!=="if"))throw re.error("mergeIfDirectives\u63A5\u6536\u5230\u4E86\u4E0D\u662Fif\u6307\u4EE4\u7684bindDirectives"),new Error("mergeIfDirectives\u63A5\u6536\u5230\u4E86\u4E0D\u662Fif\u6307\u4EE4\u7684bindDirectives");let[e,...r]=n;if(!e)return n;let i=e.expression.expr;for(let s of r)i=E.BinaryExpression.from({left:i,operator:"&&",right:s.expression.expr},s.__raw.parentNode,s.__raw.parentKey);return[{kind:"if",concept:"BindDirective",expression:ue(i),__raw:e.__raw}]}a(Rt,"mergeMultipleIfDirectivesIntoConjunctiveNormalForm");function En(n,e){let r=e.bindAttrs.map(Pe),o={directives:Rt(e.bindDirectives.map(Pt).filter(V)),attrs:r,events:e.bindEvents.map(ye).filter(V),children:e.children.map(l=>En(n,l)),component:Ct(e),__raw:e,slot:{scope:e.slotScope||void 0,target:s(e.slotTarget)}};return Dt(o),o.events.forEach(l=>{let u=In(Me(l));for(let g of u)n.provideAction(g)}),o;function s(l){if(!(l==="default"||l===""))return l}a(s,"normalizeSlotTarget")}a(En,"extractAsComponentInstanceIR");function It(n){let e=[],r=[];return n.variables.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"static",value:ue(Sn(o))},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),n.bindEvents.forEach(o=>{let s=new ae({__raw:o,logics:o.logics.map(ie),deps:[],name:o.name,params:o.getContextLogicParams().map(ce),kind:"view-lifecycle"}),l=In(s);r.push(...l)}),n.logics.forEach(o=>{r.push(new ae({__raw:o,deps:[],name:o.name,params:o.params.map(ce),logics:[o].map(ie),kind:"standalone"}))}),n.params.forEach(o=>{let s={kind:"local-logic",initialization:{kind:"url-param",__raw:ce(o),defaultValue:o.defaultValue?.expression?ue(o.defaultValue.expression):void 0},identifier:o.name,typeAnnotation:o.__TypeAnnotation};e.push(s)}),{consumedStateNames:[],providedStates:e,actions:r}}a(It,"collectStatesAndActionsFromView");function Et(n){return n.provide({identifier:"nasl",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useNasl"}}).provide({identifier:"$frontendVariables",kind:"tree",typeAnnotation:null,initialization:{kind:"frontend-variable",hookName:"useFrontendVariables"}}).provide({identifier:"$services",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useServices"}}).provide({identifier:"$destination",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useDestination"}}).provide({identifier:"$library",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useLibrary"}}).provide({identifier:"$link",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useLink"}}).provide({identifier:"userInfo",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useUserInfo"}}).provide({identifier:"genInitFromSchema",kind:"tree",typeAnnotation:null,initialization:{kind:"global-hook",hookName:"useGenInitFromSchema"}})}a(Et,"enhanceStateContext");function Je(n,e){if(e&&wn(e)){let r=bn(e);if(!r)return;let i=n.findComponentRefByComponentName(r);if(i)return i;let s={kind:"standalone",identifier:He(r),initialization:{kind:"component-ref",componentName:r},typeAnnotation:null};return n.provide(s),s}}a(Je,"provideAsComponentRefIfOk");function Lt(n){let e=new Se([],[],[],null);return Et(e)}a(Lt,"makeBaseCtx");var Te="apiClient";function Ft(n,e){return e.provide({kind:"tree",identifier:Te,initialization:{kind:"api-client"},typeAnnotation:null}),n.map(ie)}a(Ft,"collectApis");function Mt(n){return n.dependencies.map(r=>{if(!(0,_.isConnector)(r)&&r.frontends?.length)return r}).filter(V)}a(Mt,"collectFrontendExtensionModules");function Tt(n,e,r){let i=Nt(n,e);return s(i,r);function s(l,u){return l.map(g=>{let x=s(g.children,u),{providedStates:v,actions:y}=It(g),t=new Se(v,[],y,u);k(t);let b=g.elements.map(p=>En(t,p));return c(b),{__raw:g,childComponents:x,stateContext:t,identifier:g.name,elements:b};function k(p){g.traverseStrictChildren(m=>{if((0,Fe.isObject)(m)&&"playground"in m&&(m.playground=[]),(0,_.isMemberExpression)(m)){if((0,_.isIdentifier)(m.object)&&(0,_.isIdentifier)(m.property)&&m.object.name==="elements"&&m.property.name==="$ce"){let w=m.getAncestor("ViewElement");if(w){let f=`elements.${w.name}`,h=Je(p,f);h&&(m.emit=()=>{},m.parentNode&&(m.parentNode.emit=()=>{}),m.replaceNode({name:h.identifier,concept:"Identifier"}))}}else if((0,_.isIdentifier)(m.object)&&m.object.namespace==="elements.$ce.property"){let w=m.getAncestor("ViewElement");if(w){let f=`elements.${w.name}`,h=Je(p,f);h&&(m.object=new E.Identifier({name:h.identifier}))}}}else if((0,_.isCallLogic)(m)){let w=Je(p,m.calleeNamespace);w&&(m.calleeNamespace=w.identifier)}})}a(k,"resolveComponentRef");function c(p){p.forEach(m=>{let w=t.findComponentRefByComponentName(m.__raw.name);if(w){let f=Pe(new E.BindAttribute({name:"ref",type:"dynamic",expression:new E.Identifier({name:w.identifier})}));m.attrs.push(f)}c(m.children)})}a(c,"recursivelyBindRefAttrIfNecessary")})}}a(Tt,"collectAllViews");var re=P("IR builder"),Ne=class{static{a(this,"NASLAppIRBuilderPlugin")}buildIR(e,r,i){let o=Lt(r.variables),s=Ft(e.logics,o),l=Tt(e,r,o);return{baseCtx:o,configs:u(),apis:s,views:l,packages:g()};function u(){let v={...Ae.functions}.makeBasePlatformConfig(e,r,i),y=(0,E.genMetaData)(e,r,i),t=r.bindEvents.map(ye).filter(V);return{config:i,basePlatformConfig:v,events:t,metaData:y,globalVariables:r.variables,themeCSS:r.genThemeCSS(),document:{icon:r.documentIcon}}}function g(){let x=Mt(e).map(v=>({kind:"extension",name:v.name,version:v.version,hasCss:!0}));return re.debug({extensionPackages:x}),[...x,{kind:"standard",name:"@lcap/pc-react-ui",version:"1.0.0"}]}}};Ne=St([(0,Dn.injectable)()],Ne);var I=require("@lcap/nasl"),d=require("@lcap/nasl/out/concepts/utils/asserts"),Ln=he(require("json5")),Fn=require("lodash");var Xe={required:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",filled:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",notEmpty:"\u8868\u5355\u9879\u4E0D\u5F97\u4E3A\u7A7A",empty:"\u8868\u5355\u9879\u5FC5\u987B\u4E3A\u7A7A",minLength:"\u4E0D\u5F97\u5C11\u4E8E{args}\u4E2A\u5B57\u7B26",maxLength:"\u4E0D\u5F97\u8D85\u8FC7{args}\u4E2A\u5B57\u7B26",rangeLength:"\u8BF7\u8F93\u5165{args}-{args}\u4E2A\u5B57\u7B26",min:"\u4E0D\u80FD\u5C0F\u4E8E{args}",max:"\u4E0D\u80FD\u5927\u4E8E{args}",range:"\u8303\u56F4\u5728{args}-{args}\u4E4B\u95F4",pattern:"\u8868\u5355\u9879\u683C\u5F0F\u4E0D\u6B63\u786E",is:"\u5FC5\u987B\u4E0E{args}\u76F8\u540C",isNot:"\u5FC5\u987B\u4E0E{args}\u4E0D\u540C",equals:"\u5FC5\u987B\u7B49\u4E8E{args}",notEquals:"\u5FC5\u987B\u4E0D\u7B49\u4E8E{args}",confirmed:"\u4E24\u6B21\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u4E00\u81F4",includes:"\u5FC5\u987B\u5305\u542B{args}",excludes:"\u4E0D\u80FD\u5305\u542B{args}",included:"\u5FC5\u987B\u4E3A{args}\u4E2D\u7684\u503C",excluded:"\u4E0D\u80FD\u4E3A{args}\u4E2D\u7684\u503C",unique:"\u8BE5\u8868\u5355\u9879\u5DF2\u7ECF\u5B58\u5728",noDuplicates:"\u4E0D\u80FD\u51FA\u73B0\u91CD\u590D\u9879",string:"\u8BF7\u8F93\u5165\u5B57\u7B26\u4E32",number:"\u8BF7\u8F93\u5165\u6570\u5B57",numeric:"\u8BF7\u8F93\u5165\u6570\u5B57",integer:"\u8BF7\u8F93\u5165\u6574\u6570",decimal:"\u8BF7\u8F93\u5165\u6B63\u786E\u683C\u5F0F\u7684\u5C0F\u6570",boolean:"\u5FC5\u987B\u4E3A\u5E03\u5C14\u7C7B\u578B",function:"\u5FC5\u987B\u4E3A\u51FD\u6570",object:"\u5FC5\u987B\u4E3A\u5BF9\u8C61",plainObject:"\u5FC5\u987B\u4E3A\u7B80\u5355\u5BF9\u8C61",array:"\u5FC5\u987B\u4E3A\u6570\u7EC4",alpha:"\u8BF7\u8F93\u5165\u5B57\u6BCD",alphaNum:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u6216\u6570\u5B57",alphaDash:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u6216\u4E0B\u5212\u7EBF",alphaNumDash:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF",alphaSpaces:"\u4EE5\u5B57\u6BCD\u6216\u7A7A\u683C\u7EC4\u6210",lowerCase:"\u4E0D\u80FD\u51FA\u73B0\u5927\u5199\u5B57\u6BCD",upperCase:"\u4E0D\u80FD\u51FA\u73B0\u5C0F\u5199\u5B57\u6BCD","^az":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u5F00\u5934","^az09":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934","^az09_":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u5F00\u5934","^azAZ":"\u4EE5\u5B57\u6BCD\u5F00\u5934","^azAZ09":"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u5F00\u5934","^azAZ09_":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u5F00\u5934",az09$:"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u7ED3\u5C3E",azAZ09$:"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u7ED3\u5C3E","^09$":"\u4EE5\u6570\u5B57\u7EC4\u6210","^az09$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u6216\u6570\u5B57\u7EC4\u6210","^az09-$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E2D\u5212\u7EBF\u7EC4\u6210","^az09-.$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'.'\u7EC4\u6210","^azAZ09$":"\u4EE5\u5B57\u6BCD\u6216\u6570\u5B57\u7EC4\u6210","^azAZ09-$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216'-'\u7EC4\u6210","^az09-_$":"\u4EE5\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'_'\u7EC4\u6210","^azAZ09_$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u6216'_'\u7EC4\u6210","^azAZ09-_$":"\u4EE5\u5B57\u6BCD\u3001\u6570\u5B57\u3001'-'\u6216'_'\u7EC4\u6210","without--":"\u4E0D\u80FD\u8FDE\u7EED\u51FA\u73B0\u4E2D\u5212\u7EBF",without__:"\u4E0D\u80FD\u8FDE\u7EED\u51FA\u73B0\u4E0B\u5212\u7EBF",email:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u90AE\u7BB1",ip:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 IP",ipRange:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 IP \u6BB5",port:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u7AEF\u53E3",url:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 URL",macAddress:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 MAC \u5730\u5740",md5:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684 MD5",ascii:"\u5FC5\u987B\u4E3A ASCII",base32:"\u5FC5\u987B\u4E3A base32 \u7F16\u7801",base64:"\u5FC5\u987B\u4E3A base64 \u7F16\u7801",byteLength:"\u5B57\u8282\u957F\u5EA6\u4E0D\u5728\u6307\u5B9A\u8303\u56F4\u5185",dataURI:"\u5FC5\u987B\u4E3A DataURI \u7F16\u7801",magnetURI:"\u5FC5\u987B\u4E3A MagnetURI \u7F16\u7801",divisibleBy:"\u5FC5\u987B\u88AB{args}\u6574\u9664",fullWidth:"\u5FC5\u987B\u8F93\u5165\u5168\u89D2\u5B57\u7B26",halfWidth:"\u5FC5\u987B\u8F93\u5165\u534A\u89D2\u5B57\u7B26",hash:"\u54C8\u5E0C\u7F16\u7801\u4E0D\u7B26\u5408{args}\u7B97\u6CD5",hexColor:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u5341\u516D\u8FDB\u5236\u989C\u8272\u503C",hex:"\u8BF7\u8F93\u5165\u5341\u516D\u8FDB\u5236\u6570",identityCard:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u8EAB\u4EFD\u8BC1\u53F7\u7801",creditCard:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u4FE1\u7528\u5361\u53F7",fqdn:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u5168\u9650\u5B9A\u57DF\u540D",ipOrFQDN:"\u8BF7\u8F93\u5165\u4E00\u4E2A\u5408\u6CD5 IP \u6216\u5168\u9650\u5B9A\u57DF\u540D",isbn:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u6807\u51C6\u4E66\u53F7",issn:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u6807\u51C6\u8FDE\u7EED\u51FA\u7248\u7269\u7F16\u53F7",isin:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684\u56FD\u9645\u8BC1\u5238\u8BC6\u522B\u7801",iso8601:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO8601 \u65E5\u671F\u683C\u5F0F",rfc3339:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 RFC3339 \u65E5\u671F\u683C\u5F0F",iso31661Alpha2:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO 3166-1 Alpha-2 \u56FD\u5BB6\u4EE3\u7801",iso31661Alpha3:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 ISO 3166-1 Alpha-3 \u56FD\u5BB6\u4EE3\u7801",json:"\u5FC5\u987B\u4E3A JSON \u683C\u5F0F\u5B57\u7B26\u4E32",jwt:"\u5FC5\u987B\u4E3A\u5408\u6CD5\u7684 JSON Web Token",latLong:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u7ECF\u7EAC\u5EA6\u5750\u6807\uFF0C\u5982 (-17.738223, 85.605469)",mobile:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u624B\u673A\u53F7\u7801",mongoId:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684 MongoDB \u5BF9\u8C61 ID",postalCode:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684\u90AE\u653F\u7F16\u7801",uuid:"\u8BF7\u8F93\u5165\u5408\u6CD5\u7684 UUID",chinese:"\u8BF7\u8F93\u5165\u4E2D\u6587\u5185\u5BB9"};var Oe=P("JavaScriptCodeGen");function Q(n,e){return r(o(n));function r(t){return(0,d.isLogicItem)(t)?y(t):(0,d.isLogic)(t)?l(t):u(t)}function i(t){let b=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:k,typeKind:c,typeName:p,typeNamespace:m}=b||{};if(m?.endsWith(".metadataTypes")){let f=t.app.findNodeByCompleteName(m+"."+p)?.typeAnnotation;f&&(k=`${f.typeNamespace}.${f.typeName}`,c=f.typeKind,p=f.typeName)}if(b&&(!["primitive","union"].includes(c??"")||p==="DateTime")){let f=r(t);return I.CallFunction.from({calleeName:"genInitFromSchema",arguments:[new I.Argument({expression:new I.StringLiteral({value:k})}),new I.Argument({expression:new I.Unparsed({code:f})})]},t.parentNode,t.parentKey)}return t}function o(t){return(0,d.isCallFunction)(t)||(0,d.isCallLogic)(t)||(0,d.isNewComposite)(t)||(0,d.isDefaultValue)(t)?i(t):t}function s(t){return`(${k()})=>(${b()})`;function b(){let c=t.logics[0];return Q(c,e)}function k(){return t.params.map(c=>c.name).toString()}}function l(t){let b="async (";return Array.isArray(t.params)&&(b+=t.params.map(k=>k.name).toString()),b+=") => {",Array.isArray(t.params)&&t.params.forEach(k=>{let c=Q(k,e);k.name!==c&&(b+=`${k.name} = ${c};
|
|
4755
4747
|
`)}),Array.isArray(t.variables)&&t.variables.forEach(k=>{b+=`let ${Q(k,e)};
|
|
4756
4748
|
`}),Array.isArray(t.returns)&&t.returns.forEach(k=>{b+=`let ${Q(k,e)};
|
|
4757
|
-
`}),Array.isArray(t.body)&&t.body.forEach(k=>{if((0,Fn.isNil)(k))throw Oe.error(`${t.nodePath} \u7684 body \u6709\u7A7A\u503C`),new Error("");b+=
|
|
4758
|
-
`}),b+="}",b}function u(t){if((0,d.isReturn)(t)){let p=function(m){let w="",
|
|
4749
|
+
`}),Array.isArray(t.body)&&t.body.forEach(k=>{if((0,Fn.isNil)(k))throw Oe.error(`${t.nodePath} \u7684 body \u6709\u7A7A\u503C`),new Error("");b+=y(k),b+=`
|
|
4750
|
+
`}),b+="}",b}function u(t){if((0,d.isReturn)(t)){let p=function(m){let w="",f=m.typeAnnotation||m.__TypeAnnotation,h=f&&(!["primitive","union"].includes(f.typeKind)||f.typeName==="DateTime");h&&(w+=`genInitFromSchema('${f?.sortedTypeKey}',`);let A=m.defaultValue?.toJS?.()??"undefined";return w+=A,h&&(w+=")"),w};var b=p;a(p,"makeRight");let k=e?.resolve?.({kind:"identifier",value:new I.Identifier({name:t.name})})??t.name,c=p(t);return`${k} = ${c}`}else if((0,d.isParam)(t)){let k=t.defaultValue?Q(t.defaultValue,e):void 0;return k?`${t.name} === undefined ? ${k} : ${t.name}`:`${t.name}`}else if((0,d.isVariable)(t)){let k=t.typeAnnotation||t.__TypeAnnotation,{sortedTypeKey:c,typeKind:p,typeName:m,typeNamespace:w}=k||{};if(w?.endsWith(".metadataTypes")){let S=(t.app.findNodeByCompleteName(w+"."+m)||{}).typeAnnotation||{};c=`${S.typeNamespace}.${S.typeName}`,p=S.typeKind,m=S.typeName}let f=k&&(!["primitive","union"].includes(p)||m==="DateTime"),h=`${t.name} = `;if(f&&(h+=`genInitFromSchema('${c}',`),t.defaultValue?.expression){let A=Q(t.defaultValue.expression,e);h+=A}else h+="undefined";return f&&(h+=")"),h}else if((0,d.isDefaultValue)(t)){let k="";return["Date","Time","DateTime"].includes(t.parentNode?.typeAnnotation?.typeName)&&t.expression?.value===""?"null":(k+=t.expression?Q(t.expression,e):"undefined",k)}else return $(t)}function g(t){if(t.calleeNamespace){let b=t.calleeNamespace,k=b.startsWith("extensions."),c=b.startsWith("extensions.")&&b.includes(".frontends."),p=`'${t.calleeNamespace}.${t.calleeName}'`;return t.calleeNamespace.startsWith("app.dataSources.")?`apiClient[${p}]`:k?c?`$library['${b.split(".")[1]}']['${t.calleeName}']`:`apiClient[${p}]`:`${e?.resolve?.({kind:"calleeNamespace",value:t.calleeNamespace})??t.calleeNamespace}.${t.calleeName}`}else return e?.resolve?.({kind:"identifier",value:new I.Identifier({name:t.calleeName})})??t.calleeName}function x(t){let b=g(t),k=(0,d.isCallLogic)(t)?c(t).join(", "):t.arguments.map(p=>y(p)).join(", ");return`${b}?.(${k})`;function c(p){let m="";m+=`
|
|
4759
4751
|
config: {
|
|
4760
4752
|
download: false,
|
|
4761
4753
|
},
|
|
4762
4754
|
headers: {
|
|
4763
4755
|
"lcap-calllogic-uuid": "${p.uuid}",
|
|
4764
|
-
},`;let w=p.calleeName;if(p.isProcessV2Logic)throw Oe.error("\u7FFB\u8BD1\u5668\u5C1A\u672A\u652F\u6301\u6D41\u7A0BV2\u7684\u903B\u8F91"),new Error("\u7FFB\u8BD1\u5668\u5C1A\u672A\u652F\u6301\u6D41\u7A0BV2\u7684\u903B\u8F91");if(p.isViewLogic)return p.arguments.map(y
|
|
4765
|
-
${R.keyword}: ${
|
|
4756
|
+
},`;let w=p.calleeName;if(p.isProcessV2Logic)throw Oe.error("\u7FFB\u8BD1\u5668\u5C1A\u672A\u652F\u6301\u6D41\u7A0BV2\u7684\u903B\u8F91"),new Error("\u7FFB\u8BD1\u5668\u5C1A\u672A\u652F\u6301\u6D41\u7A0BV2\u7684\u903B\u8F91");if(p.isViewLogic)return p.arguments.map(h=>y(h));{let A=p.getCallNode()?.params||[],S=A.some(C=>C.spread),j=We(p.calleeNamespace,"entities"),L=We(p.calleeNamespace,"processes");if(j!==-1){let C=p.arguments,q=!1;switch(w){case"get":case"delete":{C=[],m+="query: {";let B=A.map((R,N)=>{let Y=p.arguments?.[N];return{keyword:R?.name,arg:Y}}).map(R=>`
|
|
4757
|
+
${R.keyword}: ${y(R.arg)}`).join(", ");m+=B,m+=`},
|
|
4766
4758
|
`;break}case"update":case"createOrUpdate":case"batchUpdate":{m+=`body: {
|
|
4767
|
-
`;let
|
|
4768
|
-
`);m+=
|
|
4769
|
-
`,
|
|
4759
|
+
`;let B=C.map(R=>`${R.keyword==="body"?p.calleeName==="batchUpdate"?"entities":"entity":R.keyword}: ${y(R.expression)}`).join(`,
|
|
4760
|
+
`);m+=B,m+=`},
|
|
4761
|
+
`,C=[],q=!0;break}case"updateBy":{m+="body: {";let B=C.map(R=>{let N=R.keyword==="body"?"entity":R.keyword;if(R.expression.returnExpression){let Y=JSON.stringify(f(R.expression.returnExpression)).replace(/"__@@(.*?)@@__"/g,"$1");return`${N}: {
|
|
4770
4762
|
concept: 'Function',
|
|
4771
4763
|
name: 'filter',
|
|
4772
4764
|
returnExpression: window.$resolveRequestData(${Y})
|
|
4773
|
-
}`}return`${N}: ${
|
|
4774
|
-
`,
|
|
4765
|
+
}`}return`${N}: ${y(R.expression)}`}).join(",");m+=B,m+=`},
|
|
4766
|
+
`,C=[],q=!0;break}case"deleteBy":{m+="body: ";let B=JSON.stringify(f(C[0].expression.returnExpression)).replace(/"__@@(.*?)@@__"/g,"$1");m+=`{
|
|
4775
4767
|
concept: 'Function',
|
|
4776
4768
|
name: 'filter',
|
|
4777
|
-
returnExpression: window.$resolveRequestData(${
|
|
4769
|
+
returnExpression: window.$resolveRequestData(${B})
|
|
4778
4770
|
}`,m+=`,
|
|
4779
|
-
`,
|
|
4780
|
-
${F?.keyword}: ${
|
|
4781
|
-
body: {`,!
|
|
4782
|
-
${ne?.keyword}: ${
|
|
4783
|
-
${
|
|
4784
|
-
__typeArguments: ${Ln.stringify(Y)}`)}m+="}"}}return[`{${m}}`];function
|
|
4785
|
-
`)}function
|
|
4771
|
+
`,C=[],q=!0;break}default:break}let F=C.find(B=>B.keyword==="body");q||(F?m+=`
|
|
4772
|
+
${F?.keyword}: ${y(F)}`:m+="body: {}")}else{let C=L!==-1,q=a(F=>!!F?.expression,"isShowArgument");if(m+=`path: {},
|
|
4773
|
+
body: {`,!C){let F=[...A],B;S&&(B=F.pop());let R=F.map((ne,D)=>{let se=p.completeArguments[D];return{keyword:ne?.name,arg:se}}).filter(ne=>q(ne.arg)),N=R.map(ne=>`
|
|
4774
|
+
${ne?.keyword}: ${y(ne?.arg)}`).join(", ");if(m+=N,R.length&&(m+=", "),S){let ne=p.completeArguments.slice(F.length),D=a(U=>U?.expression,"isShowArgument"),se=ne.filter(U=>D(U)).map(U=>y(U)||"").join(", ");m+=`
|
|
4775
|
+
${B.name}: [${se}],`}let Y=p.__TypeArguments?.length?p.__TypeArguments:p.typeArguments;Array.isArray(Y)&&Y.length&&(m+=`
|
|
4776
|
+
__typeArguments: ${Ln.stringify(Y)}`)}m+="}"}}return[`{${m}}`];function f(h){if(!h)return;if(h.concept==="Identifier"){let j=y(h);return{concept:h.concept,name:h.name,value:`__@@${j}@@__`,expression:j}}if(h.concept==="MemberExpression"){let{concept:j}=h,{value:L}=h;if(h?.object.name==="_")return{concept:j,name:h.name,value:L,object:h.object,property:h.property};let C=y(h);return h.object?.namespace==="app.enums"?(L=C.replace(/^"(.+)"$/,"$1"),C=void 0,j="StringLiteral"):L=`__@@${C}@@__`,{concept:j,name:h.name,value:L,expression:C}}let A;h.concept==="UnaryExpression"?A=f(h.argument):A=f(h.left);let S=f(h.right);return{concept:h.concept,name:h.name,value:h.value,expression:h.expression,operator:h.operator,left:A,right:S}}}}function v(t){return t.map(y).join(`;
|
|
4777
|
+
`)}function y(t){if((0,d.isSubLogic)(t))return l(t);if((0,d.isAnonymousFunction)(t)){let c=t.parentNode?.parentNode;return(0,d.isCallLogic)(c)&&/dataSources\.[^.]+\.entities\.[^.]+\.logics/.test(c.calleeNamespace)&&["update","updateBy","createOrUpdate","batchUpdate"].includes(c.calleeName)?a(()=>{let m="[";return t.body&&(0,d.isNewList)(t.body)&&t.body.items.forEach((w,f,h)=>{m+=`'${y(w.property)}'`,f!==h.length-1&&(m+=",")}),m+="]",m},"toJSOfEntityLogicProperties")():s({logics:[t.body],params:t.params})}else{if((0,d.isAbort)(t))return"throw Error('\u7A0B\u5E8F\u4E2D\u6B62');";if((0,d.isStart)(t))return"";if((0,d.isEnd)(t)){let c=t.logic.returns.at(0);return c?`return ${c.name};`:"return;"}else if((0,d.isIfStatement)(t)){let c=`if(${y(t.test)}){
|
|
4786
4778
|
${v(t.consequent)}
|
|
4787
|
-
}`;return t.alternate.length?`${c} else {${v(t.alternate)}}`:c}else if((0,d.isSwitchStatement)(t)){let c="";return t.cases.forEach(p=>{c+=
|
|
4788
|
-
`):p!==m-1?(w="else if (",w+=t.test?
|
|
4779
|
+
}`;return t.alternate.length?`${c} else {${v(t.alternate)}}`:c}else if((0,d.isSwitchStatement)(t)){let c="";return t.cases.forEach(p=>{c+=y(p)}),c}else if((0,d.isSwitchCase)(t)){let c=t.parentNode;if(!(0,d.isSwitchStatement)(c))throw new Error("SwitchCase\u7684\u7236\u8282\u70B9\u4E0D\u662FSwitchStatement");let p=c.cases.indexOf(t),m=c.cases.length;if(p===-1)throw new Error("\u65E0\u6CD5\u5728\u7236\u8282\u70B9\u4E2D\u627E\u5230\u6B64SwitchCase");let w="";return p===0?(w="if (",w+=t.test?y(t.test):"",w+=`) {
|
|
4780
|
+
`):p!==m-1?(w="else if (",w+=t.test?y(t.test):"",w+=`) {
|
|
4789
4781
|
`):w+=`else {
|
|
4790
|
-
`,Array.isArray(t.consequent)&&t.consequent.forEach(
|
|
4782
|
+
`,Array.isArray(t.consequent)&&t.consequent.forEach(f=>{w+=`${y(f)}
|
|
4791
4783
|
`}),w+=`}
|
|
4792
|
-
`,w}else if((0,d.isForEachStatement)(t)){let c="",p=t.each?Q(t.each,e):"",m=Math.random(),w=Math.round(m*1e4),
|
|
4784
|
+
`,w}else if((0,d.isForEachStatement)(t)){let c="",p=t.each?Q(t.each,e):"",m=Math.random(),w=Math.round(m*1e4),f=`$forEachListVariable${w}`,h="";return t.end?h=Q(t.end,e):t.each&&(h=`(${f} || {}).length`),c+=`var ${f} = ${p};
|
|
4793
4785
|
`,c+=`var $forEachStartVariable${w} = ${t.start&&Q(t.start,e)};
|
|
4794
|
-
`,c+=`var $forEachEndVariable${w} = ${
|
|
4786
|
+
`,c+=`var $forEachEndVariable${w} = ${h};
|
|
4795
4787
|
`,c+=`if(Array.isArray($forEachListVariable${w})) {
|
|
4796
4788
|
`,c+=`for (let ${t.index.name} = $forEachStartVariable${w}; `,c+=`${t.index.name} < $forEachEndVariable${w}; ${t.index.name}++) {
|
|
4797
4789
|
`,c+=`var ${t.item.name} = $forEachListVariable${w}[${t.index.name}];
|
|
4798
4790
|
`,Array.isArray(t.body)&&t.body.forEach(A=>{c+=`${Q(A,e)}
|
|
4799
4791
|
`}),c+=`}
|
|
4800
4792
|
`,c+=`}
|
|
4801
|
-
`,c}else if((0,d.isWhileStatement)(t)){let c="";return c+="while (",c+=t.test?
|
|
4802
|
-
`,Array.isArray(t.body)&&t.body.forEach(p=>{c+=`${
|
|
4793
|
+
`,c}else if((0,d.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)}
|
|
4803
4795
|
`}),c+=`}
|
|
4804
|
-
`,c}else{if((0,d.isAssignment)(t))return`${Q(t.left,{...e,shouldInsertOptional:!1})} = ${Q(t.right,e)}`;if((0,d.isBatchAssignment)(t)){let c="",p=new Map;return t.assignmentLines.forEach(({leftIndex:m,rightIndex:w})=>{let
|
|
4796
|
+
`,c}else{if((0,d.isAssignment)(t))return`${Q(t.left,{...e,shouldInsertOptional:!1})} = ${Q(t.right,e)}`;if((0,d.isBatchAssignment)(t)){let c="",p=new Map;return t.assignmentLines.forEach(({leftIndex:m,rightIndex:w})=>{let f=JSON.stringify(w);p.has(f)?p.set(f,[...p.get(f),m]):p.set(f,[m])}),p.forEach((m,w)=>{let f=JSON.parse(w)||[],h=m.map(L=>L.length!==1?t.left.members[L[1]]:t.left.expression),[A,S]=[f[0],f[1]],j=S!==void 0?t.rights[A].members[S]:t.rights[A].expression;h.forEach(L=>{c+=`${Q(L,{...e,shouldInsertOptional:!1})}`,c+=" = "}),c+=`${y(j)}`,c+=`;
|
|
4805
4797
|
`}),c}else{if((0,d.isComment)(t))return["/**",...t.value.split(`
|
|
4806
4798
|
`).map(p=>`* ${p}`),"*/"].join(`
|
|
4807
|
-
`);if((0,d.isCallLogic)(t))return["jsonSerialize","jsonDeserialize"].includes(t.calleeName)&&t.calleeNamespace==="nasl.util"?x(t):((t.calleeNamespace==="nasl.browser"||t.calleeNamespace==="nasl.configuration"||t.calleeNamespace==="nasl.process")&&(t.calleeNamespace="$global"),`await (${x(t)})`);if((0,d.isCallConnector)(t))return G();if((0,d.isCallFunction)(t)){let c=
|
|
4808
|
-
'${Le?.keyword}': ${
|
|
4799
|
+
`);if((0,d.isCallLogic)(t))return["jsonSerialize","jsonDeserialize"].includes(t.calleeName)&&t.calleeNamespace==="nasl.util"?x(t):((t.calleeNamespace==="nasl.browser"||t.calleeNamespace==="nasl.configuration"||t.calleeNamespace==="nasl.process")&&(t.calleeNamespace="$global"),`await (${x(t)})`);if((0,d.isCallConnector)(t))return G();if((0,d.isCallFunction)(t)){let c=g(t),p="";p+=`${c}`,p+="(";let m;if(t.calleeName==="ToString"){let f=t.arguments[0];m=f.typeAnnotation||f.__TypeAnnotation}else t.calleeName==="FromString"&&(m=t.typeArguments?.[0]);if(t.calleeName==="ToString"&&m&&(p+=`'${m.sortedTypeKey}', `),Array.isArray(t.arguments)&&t.arguments.length&&t.arguments.forEach((f,h)=>{let A=y(f),S=f.typeAnnotation||f.__TypeAnnotation;(0,I.transfromUnionTypeAnnotation)(S,t.app);let{sortedTypeKey:j}=(0,I.transfromMetadataType)(S,t.app);["HasValue"].includes(t.calleeName)&&(A=`{ type: '${j}', value: ${A} }`),p+=A,h!==t.arguments?.length-1&&(p+=", ")}),t.calleeName==="FromString"&&m){let{sortedTypeKey:f}=(0,I.transfromMetadataType)(m,t.app);p+=`, '${f}'`}if(!(["ToString","FromString"].includes(t.calleeName)&&m)&&Array.isArray(t.typeArguments)&&t.typeArguments.length){t.arguments?.length&&(p+=", ");let f=t.typeArguments.length;t.typeArguments?.forEach((h,A)=>{p+=JSON.stringify(h),A!==f-1&&(p+=", ")})}return p+=")",p}else if((0,d.isCallInterface)(t)){let A=function(){let D=t.getAncestor("Connector"),se=t.getAncestor("Integration");return D&&se?p?.integration?.connectors?.find?.(U=>U.name===w):D&&!se?p?.connectorDependencies?.find?.(U=>U.name===w):p?.interfaceDependencies?.find?.(U=>U.name===w)};var b=A;a(A,"getModule");let{calleewholeKey:c,app:p,completeArguments:m}=t,[,w,,f]=c.split("."),S=A()?.interfaces?.find?.(D=>D.name===f);if(!S)throw!t.calleeNamespace||!t.calleeName?new Error("\u8C03\u7528\u63A5\u53E3\u4E3A\u7A7A"):new Error(`${w}\u4E0B\u7684${f}\u63A5\u53E3\u672A\u627E\u5230`);let j=!1,L=S.params,C=L.filter(D=>D.in==="query").map(D=>D.name),q=L.filter(D=>D.in==="header").map(D=>D.name),F=L.filter(D=>D.in==="body").map(D=>(D.typeAnnotation.typeKind==="primitive"&&(j=!0),D.name)),B=L.filter(D=>D.in==="path").map(D=>D.name),R=a((D,se,U,dn,un)=>{let mn=D.filter(Le=>se.includes(Le.keyword));return mn.forEach((Le,mt)=>{let Be=y(Le);un?U+=` ...${Be}`:dn?U+=`
|
|
4800
|
+
'${Le?.keyword}': ${Be}`:U+=` ${Be}`,mt!==D.length-1&&(U+=", ")}),mn.length===0&&!dn&&!un&&(U+="undefined"),U},"setArgumentCode"),N=`await $services['_custom']['${t.calleeNamespace}.${t.calleeName}']`;N+=`({ config: {
|
|
4809
4801
|
download: false,
|
|
4810
4802
|
},
|
|
4811
|
-
query: {`,N=R(m,
|
|
4812
|
-
`,
|
|
4813
|
-
})`;let Y=t.typeAnnotation||t.__TypeAnnotation;return Y&&!["primitive","union"].includes(Y.typeKind)&&(N=`genInitFromSchema('${Y?.sortedTypeKey}', ${N})`),N}else{if((0,d.isCallAuthInterface)(t))return G();if((0,d.isDestination)(t)){let w=function(
|
|
4814
|
-
`)}}`;if((0,d.isIdentifier)(t)){let{namespace:c}=t;if(c)if(t.isFrontendVariables){let p=
|
|
4815
|
-
`:
|
|
4803
|
+
query: {`,N=R(m,C,N,!0,!1),N+="}, path: {",N=R(m,B,N,!0,!1),N+="}, headers: {",N=R(m,q,N,!0,!1),N+=`},
|
|
4804
|
+
`,j?(N+="body: ",N=R(m,F,N,!1,!1)):(N+="body: {",N=R(m,F,N,!1,!0),N+="}"),N+=`
|
|
4805
|
+
})`;let Y=t.typeAnnotation||t.__TypeAnnotation;return Y&&!["primitive","union"].includes(Y.typeKind)&&(N=`genInitFromSchema('${Y?.sortedTypeKey}', ${N})`),N}else{if((0,d.isCallAuthInterface)(t))return G();if((0,d.isDestination)(t)){let w=function(f){let h="`",A=f.genViewArr();if(Array.isArray(A)&&A.length){h+=`${f.viewNode?.frontend?.prefixPath?f.viewNode.frontend.prefixPath:""}/${A.join("/")}`;let{completeArguments:S}=f;if(S.length){let j=f.viewNode,L=[];j?.params&&(L=j.params);let C=L.length,q=S.map((F,B)=>{let R=y(F),N="";return R&&B<C&&(N+=`${F.keyword}=\${`,R==="undefined"?N+="null":N+=R,N+="}"),N}).filter(F=>!!F);h+=`?${q.join("&")}`}if(f.anchor){let j=y(f.anchor);j&&(h+=`#\${${j}}`)}}return h+="`",h};var k=w;a(w,"destinationToUrlExpr");let c=w(t);if((0,d.isBindAttribute)(t.parentNode))return c;let m="";return m+="$destination(",m+=c,m+=',"',m+=`${t.target}`,m+='")',m}else if((0,d.isExternalDestination)(t)){let c="";if(t.link){let p=y(t.link);if((0,d.isBindAttribute)(t.parentNode))return p;let w=e?.resolve?.({kind:"identifier",value:new I.Identifier({name:"$link"})});if(c+=`${w}(\`\${`,c+=`${p}`,c+="}",t.anchor){let f=y(t.anchor);f&&(c+=`#\${${f}}`)}c+='`,"',c+=`${t.target}`,c+='")'}return c}else if((0,d.isValidationRule)(t)){let c="{";if(t.calleeName&&t.calleeName.includes("("))return`'${t.calleeName}'`;if(t.calleeName==="unique"?c+="validate: 'excluded',":t.calleeName==="confirmed"?c+="validate: 'is',":c+=`validate: '${t.calleeName}',`,t.arguments.length){let p="[";t.arguments?.forEach((m,w)=>{p+=y(m),w!==t.arguments?.length-1&&(p+=", ")}),p+="]",c+=`args: ${p} ,`}if(t.errorMessage)c+=`message: ${y(t.errorMessage)},`;else{let p=Xe[t.calleeName]??"",m=0;for(;p&&p.indexOf("{args}")!==-1;)p=p.replace("{args}",`\${${y(t.arguments[m])}}`),m++;if(p?.includes("{label}"))return yn();c+=`message: \`${p}\`,`}return c+="trigger: 'input+blur'",["required","filled","notEmpty"].includes(t.calleeName)&&(c+=",required: true"),c+="}",c}else if((0,d.isArgument)(t)){let c="";if(t.expression){let p=Q(t.expression,e);c+=p}else c+="undefined";return t.spread?`...${c}`:`${c}`}else{if((0,d.isAnchor)(t))return t.expression?y(t.expression):"";if((0,d.isJSBlock)(t))return t.code;if((0,d.isJavaLogic)(t))return G();if((0,d.isBlock)(t))return`{${t.logicItems.map(p=>y(t)).join(`
|
|
4806
|
+
`)}}`;if((0,d.isIdentifier)(t)){let{namespace:c}=t;if(c)if(t.isFrontendVariables){let p=I.MemberExpression.from({object:new I.Identifier({name:"$frontendVariables"}),property:new I.Identifier({name:t.name})},t.parentNode,t.parentKey);return y(p)}else if(t.isEnum()){let p=t.name;return c.startsWith("extensions.")&&(p=`${c}.${t.name}`),p}else{if(c.endsWith("configuration.groups.custom.properties"))return`"${c}.${t.name}"`;if(c.endsWith("logics"))return`'${c}.${t.name}'`}return e?.resolve?.({kind:"identifier",value:t})??t.name}else{if((0,d.isNullLiteral)(t))return"null";if((0,d.isBooleanLiteral)(t))return t.value;if((0,d.isStringLiteral)(t))return`${JSON.stringify(t.value)}`;if((0,d.isStringInterpolation)(t))return t.expressions.length?t.expressions.map(c=>{let p=c.typeAnnotation||c.__TypeAnnotation;(0,I.transfromUnionTypeAnnotation)(p,t.app);let{sortedTypeKey:m}=(0,I.transfromMetadataType)(p,t.app);return`nasl.util.ToString('${m}', ${y(c)})`}).join(" + "):"''";if((0,d.isNumericLiteral)(t))return t.value;if((0,d.isBinaryExpression)(t))return`${y(t.left)}${t.operator}${y(t.right)}`;if((0,d.isMatchCase)(t)){let c=t.parentNode;if(!(0,d.isMatch)(c))throw new Error("MatchCase\u7684\u7236\u8282\u70B9\u975EMatch");let p="";if(Array.isArray(t.patterns)){let w=t.patterns.map(h=>I.asserts.isTypeAnnotation(h)?`window.$isInstanceOf(${y(c.expression)}, '${h.sortedTypeKey}')`:`window.$global.isEqual(${y(c.expression)}, ${y(h)})`).join("||"),f=c.cases.length;if(f>1){let h=c.cases.indexOf(t);if(h===-1)throw new Error("\u65E0\u6CD5\u5728Match\u4E2D\u627E\u5230\u6B64MatchCase");h===0?p=`if (${w}) {
|
|
4807
|
+
`:h!==f-1?p=`else if (${w}) {
|
|
4816
4808
|
`:p+=`else {
|
|
4817
|
-
`}Array.isArray(t.body)&&t.body.forEach((
|
|
4818
|
-
`}),
|
|
4809
|
+
`}Array.isArray(t.body)&&t.body.forEach((h,A)=>{t.parentNode.isExpression&&A===t.body.length-1&&h.concept!=="Abort"&&(p+="return "),p+=`${y(h)}
|
|
4810
|
+
`}),f>1&&(p+=`}
|
|
4819
4811
|
`)}return p}else if((0,d.isMatch)(t)){let c="",p=t.getAncestor("Logic");return(t.isExpression||!p)&&(p?c+=`await (async () => {
|
|
4820
4812
|
`:c+=`(() => {
|
|
4821
|
-
`),t.expression&&Array.isArray(t.cases)&&t.cases.forEach((m,w)=>{c+=
|
|
4813
|
+
`),t.expression&&Array.isArray(t.cases)&&t.cases.forEach((m,w)=>{c+=y(m)}),(t.isExpression||!p)&&(c+="})()"),c}else if((0,d.isUnaryExpression)(t)){let c=y(t.argument);return t.operator==="isNull"?c:`!(${c})`}else if((0,d.isMemberExpression)(t)){if((0,d.isIdentifier)(t.object)&&t.object.isEnum()&&(0,d.isIdentifier)(t.property))return y(new I.StringLiteral({value:t.property.name}));let c=e?.shouldInsertOptional===!1?"":"?";if((0,d.isIdentifier)(t.object)){let p=t.object.name;return`${e?.resolve?.({kind:"calleeNamespace",value:p})??p}${c}.${Q(t.property)}`}return`${y(t.object)}${c}.${Q(t.property)}`}else{if((0,d.isUnparsed)(t))return t.code;if((0,d.isNew)(t))return"";if((0,d.isNewComposite)(t)){let c="",{typeAnnotation:p}=t,m=t.assignmentLines.findIndex(({leftIndex:f})=>f[1]===void 0);if(!t.typeAnnotation)return"";if(t.getAncestor("Logic")?c+=`await (async () => {
|
|
4822
4814
|
`:c+=`(() => {
|
|
4823
|
-
`,m!==-1){let{rightIndex:
|
|
4815
|
+
`,m!==-1){let{rightIndex:f}=t.assignmentLines[m],h=f[1]!==void 0?t.rights[f[0]].members[f[1]]:t.rights[f[0]].expression;c+=`return ${y(h)};
|
|
4824
4816
|
`}else if(p.typeKind!=="anonymousStructure"){c+=`const obj = genInitFromSchema('${p.sortedTypeKey}', nasl.util.New(${p.toJS()}));
|
|
4825
|
-
`;let
|
|
4817
|
+
`;let f=new Map;t.assignmentLines.forEach(({leftIndex:h,rightIndex:A})=>{let S=JSON.stringify(A);f.has(S)?f.set(S,[...f.get(S),h]):f.set(S,[h])}),f.forEach((h,A)=>{let S=JSON.parse(A)||[],j=h.map(F=>t.properties[F[1]]),[L,C]=[S[0],S[1]],q=C!==void 0?t.rights[L].members[C]:t.rights[L].expression;j.forEach(F=>{c+=`obj.${F.name} = `}),c+=`${y(q)}`,c+=`;
|
|
4826
4818
|
`}),c+=`return obj;
|
|
4827
4819
|
`}else{c+=`const obj = {};
|
|
4828
|
-
`,t.properties.forEach(
|
|
4829
|
-
`});let
|
|
4820
|
+
`,t.properties.forEach(h=>{c+=`obj.${h.name} = null;
|
|
4821
|
+
`});let f=new Map;t.assignmentLines.forEach(({leftIndex:h,rightIndex:A})=>{let S=JSON.stringify(A);f.has(S)?f.set(S,[...f.get(S),h]):f.set(S,[h])}),f.forEach((h,A)=>{let S=JSON.parse(A)||[],j=h.map(F=>t.properties[F[1]]),[L,C]=[S[0],S[1]],q=C!==void 0?t.rights[L].members[C]:t.rights[L].expression;j.forEach(F=>{c+=`obj.${F.name} = `}),c+=`${y(q)}`,c+=`;
|
|
4830
4822
|
`}),c+=`return obj;
|
|
4831
4823
|
`}return c+="})()",c}else if((0,d.isNewList)(t)){let c="";return t.getAncestor?.("Logic")?c+=`await (async () => {
|
|
4832
4824
|
`:c+=`(() => {
|
|
4833
4825
|
`,c+=`const arr = [
|
|
4834
|
-
`,t.items.forEach((p,m)=>{c+=
|
|
4826
|
+
`,t.items.forEach((p,m)=>{c+=y(p),m+1<t.items.length&&(c+=", ")}),c+=`
|
|
4835
4827
|
];
|
|
4836
4828
|
`,c+=`return arr;
|
|
4837
4829
|
`,c+="})()",c}else if((0,d.isNewMap)(t)){let c="";return t.getAncestor?.("Logic")?c+=`await (async () => {
|
|
4838
4830
|
`:c+=`(() => {
|
|
4839
4831
|
`,c+=`const obj = {};
|
|
4840
4832
|
`,c+=`let k;
|
|
4841
|
-
`,t.keys.forEach((p,m)=>{let w=p,
|
|
4842
|
-
`,c+="obj[k] = ",c+=`${
|
|
4833
|
+
`,t.keys.forEach((p,m)=>{let w=p,f=t.values[m];c+="k = ",c+=`${w?y(w):void 0};
|
|
4834
|
+
`,c+="obj[k] = ",c+=`${f?y(f):void 0};
|
|
4843
4835
|
`}),c+=`return obj;
|
|
4844
|
-
`,c+="})()",c}else return(0,d.isCallQueryComponent)(t)?G():(0,d.isQueryFromExpression)(t)?G():(0,d.isQueryJoinExpression)(t)?G():(0,d.isQueryFieldExpression)(t)?G():(0,d.isQueryAggregateExpression)(t)?G():(0,d.isQueryOrderByExpression)(t)?G():(0,d.isQueryGroupByExpression)(t)?G():(0,d.isQuerySelectExpression)(t)?G():(0,d.isQueryLimitExpression)(t)?G():(0,d.isSqlQueryComponent)(t)?G():(0,d.isOqlQueryComponent)(t)?G():(0,d.isProcessOutcome)(t)?G():(0,d.isAssignee)(t)?G():(0,d.isProcessOutcomes)(t)?G():t?(Oe.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()):(Oe.error("\u9047\u5230\u7A7A\u8282\u70B9\uFF0C\u8BF7\u62A5\u544A\u6B64\u9519\u8BEF"),"(undefined)")}}}}}}}}}a(Q,"getRuntimeStr");var J=M({name:"javaScriptCodeGen",functions:{printSyntaxNode(n,e){return Q(n,e)},printParamIR(n){return`${n.name}:any`}}});var $n=
|
|
4836
|
+
`,c+="})()",c}else return(0,d.isCallQueryComponent)(t)?G():(0,d.isQueryFromExpression)(t)?G():(0,d.isQueryJoinExpression)(t)?G():(0,d.isQueryFieldExpression)(t)?G():(0,d.isQueryAggregateExpression)(t)?G():(0,d.isQueryOrderByExpression)(t)?G():(0,d.isQueryGroupByExpression)(t)?G():(0,d.isQuerySelectExpression)(t)?G():(0,d.isQueryLimitExpression)(t)?G():(0,d.isSqlQueryComponent)(t)?G():(0,d.isOqlQueryComponent)(t)?G():(0,d.isProcessOutcome)(t)?G():(0,d.isAssignee)(t)?G():(0,d.isProcessOutcomes)(t)?G():t?(Oe.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()):(Oe.error("\u9047\u5230\u7A7A\u8282\u70B9\uFF0C\u8BF7\u62A5\u544A\u6B64\u9519\u8BEF"),"(undefined)")}}}}}}}}}a(Q,"getRuntimeStr");var J=M({name:"javaScriptCodeGen",functions:{printSyntaxNode(n,e){return Q(n,e)},printParamIR(n){return`${n.name}:any`}}});var $n=he(require("postcss"));var _n=he(require("postcss-js"));var tn=require("@lcap/nasl/out/concepts/utils/asserts"),Xn=require("html-escaper"),Yn=require("inversify"),X=require("lodash");var O={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 Mn="__SomethingYouNeverGuessAsUndefinedPlaceholder__undefined__";function Tn(n){return JSON.stringify(n,(e,r)=>r===void 0?Mn:r,2).replaceAll(`"${Mn}"`,"undefined")}a(Tn,"jsonStringifyKeepUndefined");var On=require("path");function zn(n){return(0,On.extname)(n)!==""}a(zn,"hasExtension");function Ye(n){return"/"+n.map(r=>r.name).join("/")}a(Ye,"folderPathToString");var Ze=M({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 z("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)};`,`
|
|
4845
4837
|
const {$global} = initDataTypes({dataTypesMap});
|
|
4846
4838
|
export const dataTypesGlobal = $global;
|
|
4847
4839
|
window.$isInstanceOf = Global.prototype.$isInstanceOf;
|
|
@@ -4867,8 +4859,8 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4867
4859
|
export const useServices = ()=>{
|
|
4868
4860
|
return services;
|
|
4869
4861
|
}
|
|
4870
|
-
`])}}});var Vn=require("prettier/standalone");var Un=
|
|
4871
|
-
`);return`{path: "${b}", meta: ${JSON.stringify(t.meta)}, children: [${m}], ${w()} }`}if(t.kind==="redirect"){let c=r.printSyntaxNode(Kn.StringLiteral.from({value:t.redirect}));return`{path: "${b}", element: <Navigate to={${c}} />}`}$(t)}a(u,"serializeReactRoute");let
|
|
4862
|
+
`])}}});var Vn=require("prettier/standalone");var Un=he(require("prettier/parser-typescript"));var Ot={tabWidth:2,printWidth:150,singleQuote:!0,trailingComma:"es5",plugins:[Un.default],parser:"typescript"},zt=P("codeFormatPlugin"),$e=M({name:"CodeFormatPlugin",functions:{async format(n,e){function r(){try{return(0,Vn.format)(n,{...Ot,...e})}catch(o){return zt.debug(o,"format\u51FA\u9519"),n}}return a(r,"prettierFormat"),await r()}}});var Qn=require("inversify"),Gn=require("memfs");function Vt(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(Vt,"_ts_decorate");var me=class{static{a(this,"FileSystemPlugin")}vol=new Gn.Volume;read(e){if(this.vol.existsSync(e))return this.vol.readFileSync(e).toString()}write(e,r){this.vol.fromJSON({[e]:r})}remove(e){this.vol.unlinkSync(e)}toJSON(){return this.vol.toJSON()}};me=Vt([(0,Qn.injectable)()],me);var Ve=require("inversify"),we=require("path");var Kn=require("@lcap/nasl");var Ut=P("ReactRouterPlugin"),Qt=[{from:"react-dom",import:"ReactDOM"},{from:"react",import:"React, { useEffect, useState }"},{from:"react-router-dom",import:" { RouterProvider, Navigate, useNavigate,useLocation } "},{from:"./router/component",import:"{ createRouter }"},{from:"./router/hooks",import:"{ useUserInfo, useUserResources }"},{from:"./nasl",import:"{ useAppConfig }"}],je="__views__",Gt=class{static{a(this,"NameMangler")}dict=new Map;query(e){let r=this.inc(e);return r===1?`${e}`:`${e}${r}`}inc(e){let r=this.initName(e);return this.dict.set(e,r+1),r+1}initName(e){return this.dict.has(e)?this.dict.get(e):(this.dict.set(e,0),0)}},fe=M({name:"ReactRouter",functions:{routeToCode(n,e){let r={..._e.functions,...J.functions},i=new Gt,o=new WeakMap,s=l(n);function l(t){return t.flatMap(b=>{if(b.kind==="normal"){let k=b.elementTemplate.identifier;if(k){let c=e.get(b.elementTemplate),p=de(k),m=de(`${c}${k}`.replaceAll("/","-").replace(/^-/,"")),w=i.query(m);b.elementMangledName=w,Ut.debug({mangledName:w});let h={from:`./${je}${c}/${p}`,import:w,lazy:b.lazy};return o.set(b.elementTemplate,h),[h,...l(b.children??[])]}}return[]})}a(l,"recursivelyExtractImportIR");function u(t){let b=t.thisLevelPath??"/";if(t.kind==="normal"){let w=function(){return`element: ${p}`};var k=w;a(w,"importConfigToPropertyStr");let c=t.children?.map(u).filter(V)??[],p=r.printTag(t.elementMangledName??t.elementTemplate.identifier),m=c.join(`,
|
|
4863
|
+
`);return`{path: "${b}", meta: ${JSON.stringify(t.meta)}, children: [${m}], ${w()} }`}if(t.kind==="redirect"){let c=r.printSyntaxNode(Kn.StringLiteral.from({value:t.redirect}));return`{path: "${b}", element: <Navigate to={${c}} />}`}$(t)}a(u,"serializeReactRoute");let g=[...Qt,...s,{from:"@lcap/pc-react-ui",import:"{ConfigProvider, RouterContext}"},{from:"./platform.config",import:"platformConfig"}];return{code:`
|
|
4872
4864
|
${`const defaultRoutes = [${n.map(u).filter(V).join(`,
|
|
4873
4865
|
`)}];`}
|
|
4874
4866
|
function setDocumentTitleByMetaTitle(metaTitle: string) {
|
|
@@ -4910,11 +4902,11 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4910
4902
|
}
|
|
4911
4903
|
|
|
4912
4904
|
export default App;
|
|
4913
|
-
`,imports:
|
|
4905
|
+
`,imports:g}},__hooksDefinitions(){return new z("ReactRouterHooks",[{from:"react-router-dom",import:"{ useSearchParams, useNavigate }"},{from:"@lcap/basic-template",import:"{initRouter}"}],[],[`
|
|
4914
4906
|
const {link, destination} = initRouter();
|
|
4915
4907
|
export const useLink = ()=>link;
|
|
4916
4908
|
export const useDestination = useNavigate;
|
|
4917
|
-
`])}}});function
|
|
4909
|
+
`])}}});function Kt(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(Kt,"_ts_decorate");function Bn(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(Bn,"_ts_metadata");function Bt(n,e){return function(r,i){e(r,i,n)}}a(Bt,"_ts_param");var Ht=a(n=>n.import?n.lazy?`const ${n.import} = React.lazy(() => import('${n.from}'));`:`import ${n.import} from '${n.from}';`:`import '${n.from}';`,"identityImportResolver"),Hn=P("ProjectOrganizerPlugin"),qt=[".mjs",".js",".mts",".ts",".jsx",".tsx",".json"];function Wt(n){return qn(n)||n.from.startsWith("/")}a(Wt,"isIntraProjectImport");function qn(n){return n.from.startsWith(".")}a(qn,"isRelativeImport");async function Jt(n){let e=new WeakMap,r={},i=[];return Object.entries(n.project).forEach(([l,u])=>{if(u){let g=hn(u);for(let x of g){let{dir:v}=s(l,x),y=new ze(x,v);i.push(y),r[y.originalAbsolutePath]=y;let t=x.getImports().map(b=>{if(Wt(b)){let k=qn(b)?(0,we.join)(v,b.from):b.from;return{ir:b,kind:"relative",getRelativePathAfterMoving:()=>{let p=v,m=w()??k;return Hn.debug({currentDir:p,targetPath:m}),`./${(0,we.relative)(p,m)}`;function w(){if(!zn(b.from))for(let f of qt){let h=r[k+f]?.currentAbsolutePath;if(h)return h}}a(w,"tryToAppendExtIfNecessary")}}}else return{ir:b,kind:"absolute"}});e.set(y,t)}}}),{mapping:e,placedFiles:i};function o(l){let u={name:"src"};return l==="views"?[u,{name:je}]:[u]}a(o,"decideDirForKey");function s(l,u){let g=o(l);u.folder=[...g,...u.folder??[]];let x=u.getFolderPath()??"";return{path:(0,we.join)(x,u.fileNameWithExt),dir:x}}a(s,"initFilePath")}a(Jt,"initImport");var ze=class n{static{a(this,"PlacedFile")}file;folder;constructor(e,r){this.file=e,this.folder=r,this.originalFolder=r,this.currentAbsolutePath=this.originalAbsolutePath}currentAbsolutePath;get originalAbsolutePath(){return(0,we.join)(this.originalFolder,this.file.fileNameWithExt)}originalFolder;getFolder(){return this.folder.endsWith("/")?this.folder:`${this.folder}/`}moveFileTo(e){return this.currentAbsolutePath=new n(this.file,e).originalAbsolutePath,this.folder=e,this}};async function Xt(n,e,r){return Promise.all(e.map(async o=>{let s=a(u=>{let g=x(u);return Ht(g);function x(v){let y=n.get(o)?.find(t=>t.ir===v);if(y){let t=i(y);return{...v,from:t}}return v}},"ownImportResolver");return{content:await o.file.serialize(s,r),path:o.currentAbsolutePath}}));function i(o){return o.kind==="relative"?o.getRelativePathAfterMoving():o.ir.from}}a(Xt,"writeAllPlacedFile");var Ce=class{static{a(this,"ProjectOrganizerPlugin")}fileSystemProvider;constructor(e){this.fileSystemProvider=e}async organize(e){let{mapping:r,placedFiles:i}=await Jt(e);return await this.moveFilesAsYouWant(i),await Xt(r,i,{noFormat:e.options?.noFormat})}async moveFilesAsYouWant(e){let r=Hn.child({},{msgPrefix:"[\u79FB\u52A8\u6587\u4EF6] "});for(let i of e){let o=`/${je}/`;if(i.originalAbsolutePath.includes(o)){let s=i.getFolder().replace(o,"/pages/");i.moveFileTo(s),r.debug(`${i.originalAbsolutePath} -> ${i.currentAbsolutePath}`)}}}};Ce=Kt([(0,Ve.injectable)(),An,Bt(0,(0,Ve.inject)(O.FileSystemProvider)),Bn("design:type",Function),Bn("design:paramtypes",[typeof GeneratorInfrastructureDomain>"u"||typeof GeneratorInfrastructureDomain.FileSystemProvider>"u"?Object:GeneratorInfrastructureDomain.FileSystemProvider])],Ce);var Yt="notFound",be=M({name:"RoutesExtraction",functions:{extractRoute(n,e,r){let i=a((v,y)=>v.flatMap(t=>{let b=`${y}${t.identifier}`,k={accumulativePath:b,thisLevelPath:`${t.identifier}`,children:i(t.childComponents,`${b}/`),elementTemplate:t,kind:"normal",lazy:!!r?.lazy,meta:{title:t.__raw.title??"",crumb:t.__raw.crumb?.value??""}},c=k.children?.map(p=>{if(p.kind==="normal"&&p.elementTemplate.__raw.isIndex)return{accumulativePath:`${b}/`,thisLevelPath:"",redirect:`${b}/${p.elementTemplate.identifier}`,kind:"redirect"}}).filter(V);return c?.length&&k.children?.push(...c),[k]}),"extractRouteHelper"),o=i(n,e),s=n.find(v=>v.__raw.isIndex);s&&o.push({accumulativePath:"/",thisLevelPath:"/",redirect:`${e}${s.identifier}`,kind:"redirect"});let l=n.find(v=>v.identifier===Yt)??s;l&&o.push({accumulativePath:"*",thisLevelPath:"*",redirect:`${e}${l.identifier}`,kind:"redirect"});let u=[],g=[];return o.filter(v=>v.kind==="normal").forEach(v=>{let y=a((t,b)=>{if(t.kind==="normal"){let k=t.elementTemplate.__raw,c=b||k.auth;c?u.push(t.accumulativePath):g.push(t.accumulativePath),t.children?.forEach(p=>{y(p,c)})}},"traverseRoutes");y(v,!1)}),{authResourcePaths:u,baseResourcePaths:g,routes:o}}}});var T=require("@lcap/nasl"),H=require("@lcap/nasl/out/concepts/utils/asserts"),Wn=require("lodash");var Zt=P("component hack"),Ue=M({name:"ReactComponentLibHackPlugin",functions:{__hooksDefinitions(){return new z("ReactComponentLibHackHooks",[{import:"{initUtils, cookie}",from:"@lcap/basic-template"},{import:"{Modal}",from:"antd"},{import:"{message}",from:"@lcap/pc-react-ui"},{from:"./apis",import:"{enumsMap, dataTypesMap}"},{from:"@lcap/basic-template",import:"{ initAuth }"},{from:"./apis",import:"{dataTypesGlobal}"}],[],[`
|
|
4918
4910
|
const {utils} = initUtils({enumsMap, dataTypesMap});
|
|
4919
4911
|
const ui = { showMessage: message.info };
|
|
4920
4912
|
|
|
@@ -4955,10 +4947,10 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4955
4947
|
return nasl;
|
|
4956
4948
|
};
|
|
4957
4949
|
|
|
4958
|
-
`])},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===
|
|
4950
|
+
`])},hackBindAttribute(n,e){function r(s){return s.typeAnnotation??s.__TypeAnnotation}a(r,"getTypeAnnotation");function i(s){return s.typeKind==="primitive"&&s.typeNamespace==="nasl.core"&&s.typeName==="String"}if(a(i,"isNASLPrimitiveStringType"),e.name===De&&e.__raw.type==="dynamic"){let s=r(e.expression.expr);if(s&&i(s))return e;let l=T.Argument.from({expression:e.expression.expr},e.__raw,"arguments");l.__TypeAnnotation=s??new T.TypeAnnotation;let u=T.CallFunction.from({calleeName:"ToString",calleeNamespace:"nasl.util",arguments:[l]});return u.__TypeAnnotation=T.TypeAnnotation.createPrimitive("String"),{...e,expression:{expr:u}}}else if(e.name==="dataSource"){let y=function(b){return{__raw:b,logics:b.logics.map(ie),concept:b.concept,params:b.getContextLogicParams().map(ce),handlerName:l.dataFetchMethod}};var o=y;if(a(y,"bindManualBindEventToIR"),(0,H.isIdentifier)(e.expression.expr)||(0,H.isMemberExpression)(e.expression.expr)||(0,H.isNumericLiteral)(e.expression.expr)||(0,H.isStringLiteral)(e.expression.expr)||(0,H.isBooleanLiteral)(e.expression.expr)||(0,H.isNullLiteral)(e.expression.expr)){let b=T.CallFunction.from({calleeName:"toJS",arguments:[new T.Argument({expression:e.expression.expr})]},e.__raw.parentNode,e.__raw.parentKey);return{...e,expression:{expr:b}}}let s=`dataSource${(0,Wn.uniqueId)()}`,l={queryParam:"event",tempResultVariable:`${s}LoadResult`,dataFetchMethod:`${s}Load`},u=e.__raw.getAncestor("ViewElement");if(!u){let b=`\u627E\u4E0D\u5230${e.__raw.nodePath} \u7684\u7956\u5148ViewElement`;throw Zt.error(b),new Error(b)}let g=n.findComponentRefByComponentName(u?.name??"")?.identifier;g&&e.expression.expr.traverseStrictChildren(b=>{(0,H.isMemberExpression)(b)&&(0,H.isIdentifier)(b.object)&&(0,H.isIdentifier)(b.property)&&b.object.name===g&&["current","pageSize","sorter","order"].includes(b.property.name)&&(b.object=new T.Identifier({name:l.queryParam}),b.property=new T.Identifier({name:b.property.name}))});let x=T.Logic.from({body:[new T.Assignment({left:new T.Identifier({name:l.tempResultVariable}),right:e.expression.expr}),new T.Unparsed({code:`return ${l.tempResultVariable}`})],params:[new T.Param({name:l.queryParam})],returns:[new T.Return({name:l.tempResultVariable})]},e.__raw.parentNode,void 0),v=T.BindEvent.from({name:"dataSource",params:x.params,logics:[x]},e.__raw.parentNode,"bindEvents"),t=y(v);return ye(v),n.provideAction(Me(t)),t}return e}}});var oe=require("@lcap/nasl");function en(n){let e=oe.BaseNode.prototype.subConstructor,r=a(function(o){e.call(this,o),o.typeAnnotation&&(this.typeAnnotation=new oe.TypeAnnotation(o.typeAnnotation)),o.__TypeArguments&&(this.__TypeArguments=o.__TypeArguments.map(s=>s&&new oe.TypeAnnotation(s)))},"hack");oe.BaseNode.prototype.subConstructor=r;let i=new oe.App(n);return oe.BaseNode.prototype.subConstructor=e,i}a(en,"deserializeAppWhileKeepTypeAnnotation");function Re(n){let e=n.__proto__.__proto__,r=e._toJSON,i=a(function(o){let s=r.call(this,o);return(this.typeAnnotation||this.__TypeAnnotation)&&(s.typeAnnotation=this.typeAnnotation?.toJSON()??this.__TypeAnnotation?.toJSON()),this.__TypeArguments&&(s.__TypeArguments=this.__TypeArguments.map?.(l=>l&&l.toJSON())),s},"newToJSON");e._toJSON=i;try{return n.toJSON()}catch(o){throw o}finally{e._toJSON=r}}a(Re,"serializeAppWithKeepTypeAnnotation");var oo=P("ReactSlotPlugin"),nn=M({name:"ReactSlotPlugin",functions:{preprocessForSlots(n){let e=[];for(let r of n.children){let i=r.slot.target;if(i){if(n.attrs.some(o=>o.name===i)){let o=n.__raw.nodePath;throw new Error(`${o}\u5B58\u5728\u591A\u4E2AslotName=${i}\u7684\u5B50\u5143\u7D20\u6216\u5DF2\u7ECF\u6709attr\u540D\u4E3A${i}\uFF0C\u4E3A\u810F\u6570\u636E`)}if(vn(r.component)&&r.children.length===0)continue;n.attrs.push(Pe({type:"component",component:r,scopeVariable:r.slot.scope,name:i}))}else e.push(r)}n.children=e}}});var le=require("@lcap/nasl");var Qe=require("@lcap/nasl");function Jn(n){return new Qe.Argument({expression:new Qe.Identifier({name:n.name})})}a(Jn,"paramToArgument");var $t=P("ReactStateManagerVanilla"),_t=class{static{a(this,"ReactHookTransformer")}static componentRefNameToHook(e){return{kind:"free",code:`const ${e}= useRef(null);`,import:{from:"react",import:"{ useRef }"}}}};function er(n){return n.recursivelyExtractTreeStates().map(r=>{let i={...K.functions,...J.functions};switch(r.initialization.kind){case"global-hook":{let o=r.initialization.hookName;return{kind:"free",code:`const ${r.identifier} = ${o}();`,import:{from:"/src/Hooks",import:`{${o}}`}}}case"api-client":return{kind:"free",import:{from:"/src/apis",import:"{apiClient, genInitFromSchema}"},code:""};case"frontend-variable":{let o=r.initialization.hookName;return{kind:"free",code:`const ${r.identifier} = ${o}();`,import:{from:"/src/global-variables",import:`{${o}}`}}}default:W(r.initialization)}})}a(er,"makeTreeStateHooks");var K=M({name:"ReactStateManagerVanilla",functions:{makeLocalLogicHooks(n){let e=n.providedStates.flatMap(o=>{let s=o.identifier;return[{kind:"useState",declarations:[`${s}`,`use${s}`],initial:void 0}]}),r={...K.functions,...J.functions},i=n.actions.filter(o=>o.kind==="standalone").flatMap(o=>[{kind:"useCallback",declaration:o.name,deps:[],body:r.actionToBody(n,o)}]);return[...e,...i]},actionToBody(n,e,r){let i={...K.functions,...J.functions};function o(){let s=e.params.map(l=>le.Param.from(l));if(e.logics.length===0)return new le.Logic;if(e.logics.length===1){let l=e.logics[0].logic;return le.Logic.from({...l,params:s})}else return le.Logic.from({params:s,body:e.logics.map(u=>{let g=`${u.logic.name}`;return le.CallLogic.from({calleeName:g,arguments:e.params.map(Jn)})})})}return a(o,"getLogic"),`${n.resolveExprToString(o(),i,r?.()?.(n)??i.withCtx(n))}`},makeLocalIndividualHooks(n,e){let r={...K.functions,...J.functions};return[...n.providedStates.filter(i=>i.kind==="standalone").flatMap(i=>{if(i.initialization&&i.kind==="standalone")switch(i.initialization.kind){case"component-ref":return[_t.componentRefNameToHook(i.identifier)];default:W(i.initialization.kind)}return $(i)}),...n.actions.filter(i=>i.kind==="view-lifecycle").flatMap(i=>[{kind:"useEffect",deps:[],body:`()=>{
|
|
4959
4951
|
(${r.actionToBody(n,i,e)})();
|
|
4960
4952
|
return ()=>{};
|
|
4961
|
-
}`}])]},makeTreeStateHooks:
|
|
4953
|
+
}`}])]},makeTreeStateHooks:er,initializationToExpr(n,e){if(!e)return;let r={...K.functions,...J.functions};switch(e.kind){case"static":return n.resolveExprToString(e.value.expr,r,r.withCtx(n));case"url-param":return e.defaultValue?.expr?n.resolveExprToString(e.defaultValue?.expr,r,r.withCtx(n)):void 0;default:return W(e)}},produceHooks(n){let e={...K.functions},r=K.functions.makeTreeStateHooks(n),i=K.functions.makeLocalIndividualHooks(n),o=e.makeLocalLogicHooks(n);return[...r,...i,...o]},withCtx(n){let e={...K.functions};return{resolveIdentifier:r=>e.__resolveIdentifier(n,r),resolveName:r=>e.__resolveName(n,r),resolveCalleeNamespace:r=>e.__resolveName(n,r)}},__resolveIdentifier(n,e){return{...K.functions}.__resolveName(n,e.name)},__resolveName(n,e){let r={...K.functions},i=o(e)??s(e);return i||$t.debug(`cannot find symbol "${e}" in the state context`),i;function o(l){let u=n.findActionByName(l);if(u)return`${u.name}`}a(o,"resolveAsAction");function s(l){let u=n.findStateByName(l);if(u)switch(u.kind){case"standalone":case"local-logic":case"tree":return l;default:W(u)}}a(s,"resolveAsState")},__hooksDefinitions(){return new z("VanillaHookUtils",[],[],[`
|
|
4962
4954
|
const useStateRef = <T extends unknown>(initialState: T) => {
|
|
4963
4955
|
const [state, setState] = useState(initialState);
|
|
4964
4956
|
const ref = useRef(initialState);
|
|
@@ -4970,15 +4962,15 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4970
4962
|
// Use "as const" below so the returned array is a proper tuple
|
|
4971
4963
|
return [state, setState, ref] as const;
|
|
4972
4964
|
};
|
|
4973
|
-
`])}}});function
|
|
4974
|
-
get ${
|
|
4975
|
-
return localStore.$queryParams.get('${
|
|
4965
|
+
`])}}});function nr(n){let e={...ee.functions},r=a(l=>`${l.name}:${K.functions.actionToBody(n,l,()=>e.withCtx.bind(e))}`,"actionToProperty"),i=[...n.providedStates.filter(l=>l.kind==="local-logic"&&l.initialization?.kind!=="url-param").map(s),...n.actions.filter(l=>l.kind==="standalone").map(r)];function o(){let u=n.providedStates.filter(g=>g.kind==="local-logic"&&g.initialization?.kind==="url-param").map(g=>{let v={...K.functions}.initializationToExpr(n,g.initialization)??"''",y=`
|
|
4966
|
+
get ${g.identifier}() {
|
|
4967
|
+
return localStore.$queryParams.get('${g.identifier}') || ${v};
|
|
4976
4968
|
}
|
|
4977
4969
|
`,t=`
|
|
4978
|
-
set ${
|
|
4979
|
-
${ee.functions.storeName}.$updateQueryParam('${
|
|
4970
|
+
set ${g.identifier}(value) {
|
|
4971
|
+
${ee.functions.storeName}.$updateQueryParam('${g.identifier}', value);
|
|
4980
4972
|
}
|
|
4981
|
-
`;return`${
|
|
4973
|
+
`;return`${y},${t}`}).join(",");return u&&`
|
|
4982
4974
|
$queryParams: new URL(window.location).searchParams,
|
|
4983
4975
|
$updateQueryParam(key: string, value: string) {
|
|
4984
4976
|
const params = new URL(window.location).searchParams;
|
|
@@ -4991,20 +4983,20 @@ const genInitFromSchema = useGenInitFromSchema();
|
|
|
4991
4983
|
${o()}
|
|
4992
4984
|
${i}
|
|
4993
4985
|
}
|
|
4994
|
-
})`,import:{import:"{ useLocalObservable }",from:"mobx-react-lite"}};function s(l){let
|
|
4986
|
+
})`,import:{import:"{ useLocalObservable }",from:"mobx-react-lite"}};function s(l){let g={...K.functions}.initializationToExpr(n,l.initialization);return`${l.identifier}: ${g??"undefined"}`}a(s,"localLogicStateToProperty")}a(nr,"makeLocalLogicBundleHook");var tr=P("MobX Plugin"),ee=M({name:"ReactStateManagerMobxPlugin",functions:{produceHooks(n){let e=nr(n),r=K.functions.makeTreeStateHooks(n),i={...ee.functions},o=K.functions.makeLocalIndividualHooks(n,()=>i.withCtx.bind(i));return[...r,e,...o]},get storeName(){return"localStore"},__resolveIdentifier(n,e){return{...ee.functions}.__resolveName(n,e.name)},__resolveName(n,e){let r={...ee.functions},i=o(e)??s(e);return i||tr.debug(`cannot find symbol "${e}" in the state context`),i;function o(l){let u=n.findActionByName(l);if(u)return`${r.storeName}.${u.name}`}a(o,"resolveAsAction");function s(l){let u=n.findStateByName(l);if(u)switch(u.kind){case"standalone":switch(u.initialization.kind){case"component-ref":return l;default:W(u.initialization.kind)}case"tree":return l;case"local-logic":return`${r.storeName}.${l}`;default:W(u)}}a(s,"resolveAsState")},withCtx(n){let e={...ee.functions};return{resolveIdentifier:r=>e.__resolveIdentifier(n,r),resolveName:r=>e.__resolveName(n,r),resolveCalleeNamespace:r=>{let o=a(s=>{if(!s.startsWith("nasl.")&&s.startsWith("app.logics"))return e.__resolveName(n,Te)},"resolveAsNamespace")(r);if(o)return o;{let s=e.__resolveName(n,r);return s?.endsWith("Ref")?`${s}.current`:s}}}},__hooksDefinitions(){return new z("MobxHooks",[],[],[`export const useUserInfo = ()=>{
|
|
4995
4987
|
return window.$global.userInfo ?? {};
|
|
4996
|
-
}`])}}});var Zn=ee,Z={...Zn.functions,...J.functions},
|
|
4997
|
-
`)??"";function b(k){return(0,Xn.escape)(k).replace(/({|})/g,(c,p)=>`{'${p}'}`)}},"getChildrenStr")(),x=v();if(this.options?.slot){let
|
|
4988
|
+
}`])}}});var Zn=ee,Z={...Zn.functions,...J.functions},rr=P("react codegen");function rn(n){return de(n.identifier)}a(rn,"getComponentName");var De="children",ge=class n{static{a(this,"ReactFragment")}name;imports;hooks;children;ctx;options;constructor(e,r,i,o,s,l){this.name=e,this.imports=r,this.hooks=i,this.children=o,this.ctx=s,this.options=l,this.attrMap=new Map,this.directives=new Map}attrMap;directives;getImports(){return(0,X.uniq)([...this.imports,...this.hooks.map(e=>e.kind==="free"?e.import:{from:"react",import:`{${e.kind}}`}),{import:"{ observer }",from:"mobx-react-lite"},{from:"mobx",import:"{ toJS }"}].filter(V))}getHooks(){return this.hooks}getAttrMapStr(){let e=[];for(let[r,i]of this.attrMap)if(r!==De){let o=a(()=>{if(i.kind==="expr")return`{${i.payload}}`;{let s=i.payload;return s.includes('"')?`{${JSON.stringify(s)}}`:`${JSON.stringify(s)}`}},"getAttrValueStr");e.push({key:ke(r),value:o()})}return e.map(({key:r,value:i})=>` ${r}=${i}`).join("")}getMangledName(){return this.options?.mangledName??this.name}toJsx(e){let r=this.getAttrMapStr(),i=e?.rootAsFragment?"":this.name,o=a(()=>{let g=a(()=>{let y=this.attrMap.get(De);if(y)return y.kind==="string"?b(y.payload):`{${y.payload}}`;return e?.shallow?"":this.children.map(k=>k.toJsx()).join(`
|
|
4989
|
+
`)??"";function b(k){return(0,Xn.escape)(k).replace(/({|})/g,(c,p)=>`{'${p}'}`)}},"getChildrenStr")(),x=v();if(this.options?.slot){let y=this.options?.slot.scope;if(this.options?.slot.target&&y)return{body:`(${y}: any) => ${x}`}}return{body:x};function v(){return i?`<${i}${r}>${g}</${i}>`:`<>${g}</>`}},"getBody"),{body:s}=o(),l=this.directives.get("if");return l?`{(${this.ctx.resolveExprToString(l.expression.expr,Z,Z.withCtx(this.ctx))}) ? (${s}) : undefined}`:s}toFunctionComponentVariable(){let e=this.getMangledName(),r=this.toJsx({rootAsFragment:!0});function i(l){switch(l.kind){case"useCallback":{let u=l.body;return`const ${l.declaration} = useCallback(${u}, [${l.deps.join(",")}])`}case"useState":return`const [${l.declarations.join(",")}] = useState(${l.initial})`;case"useEffect":return`useEffect(${l.body}, [${l.deps.join(",")}])`;case"free":return`${l.code}`;default:$(l)}}a(i,"serializeReactHook");let o=`const ${e}: FC = observer(() => {
|
|
4998
4990
|
${this.hooks.map(i).join(`;
|
|
4999
4991
|
`)}
|
|
5000
4992
|
return (${r});
|
|
5001
|
-
});`,s=(0,X.uniq)([...this.getImports()]).filter(V);return{componentStr:o,imports:s}}toCode(){let{componentStr:e,imports:r}=this.toFunctionComponentVariable();return{code:e,imports:r}}static fromComponentIR(e){let r=rn(e),i=e.elements.map(s=>pe.functions.genReactFragment(s,e.stateContext)),o=ee.functions.produceHooks(e.stateContext);return new n(r,[...i.flatMap(s=>s.getImports())],[...o,...i.flatMap(s=>s.getHooks())],i,e.stateContext,{mangledName:`__${r}`})}bindEvent(e,r){let i=r?.handlerPrefix??"on-",o=e.__raw.name,s=`${i}${o}`,l=Z.__resolveName(this.ctx,e.handlerName);if(!l)throw new Error("cannot find event handler");let u=e.params,
|
|
5002
|
-
`)}}`}}a(u,"formatValuePayloadAsObjectStr"),this.attrMap.set("style",u(l))}bindDirective(e){this.directives.set(e.kind,e)}},z=class n{static{a(this,"ReactFileDescription")}fileName;imports;body;exports;folder;constructor(e,r,i,o,s){this.fileName=e,this.imports=r,this.body=i,this.exports=o,this.folder=s}get fileNameWithExt(){return this.fileName.includes(".")?this.fileName:`${this.fileName}.tsx`}getFolderPath(){if(this.folder)return Ye(this.folder)}getImports(){return[...this.imports,...this.body.flatMap(e=>e.getImports())].filter(V)}async serialize(e){let
|
|
5003
|
-
`),
|
|
5004
|
-
`),(0,X.uniq)(
|
|
4993
|
+
});`,s=(0,X.uniq)([...this.getImports()]).filter(V);return{componentStr:o,imports:s}}toCode(){let{componentStr:e,imports:r}=this.toFunctionComponentVariable();return{code:e,imports:r}}static fromComponentIR(e){let r=rn(e),i=e.elements.map(s=>pe.functions.genReactFragment(s,e.stateContext)),o=ee.functions.produceHooks(e.stateContext);return new n(r,[...i.flatMap(s=>s.getImports())],[...o,...i.flatMap(s=>s.getHooks())],i,e.stateContext,{mangledName:`__${r}`})}bindEvent(e,r){let i=r?.handlerPrefix??"on-",o=e.__raw.name,s=`${i}${o}`,l=Z.__resolveName(this.ctx,e.handlerName);if(!l)throw new Error("cannot find event handler");let u=e.params,g=u.at(0);if(u.length>1&&g){let x=u.map(v=>v.name).join(",");this.attrMap.set(s,{kind:"expr",payload:`(${g.name}) => ${l}(${x})`})}else this.attrMap.set(s,{kind:"expr",payload:l})}bindAttr(e){switch(e.kind){case"expr":{if(e.__raw.type==="string")this.attrMap.set(e.__raw.name,{kind:"string",payload:String(e.__raw.value)});else if(e.__raw.type==="dynamic")if(e.expression.expr){let r=Ue.functions.hackBindAttribute(this.ctx,e);if(r.concept==="BindEvent")return this.bindEvent(r,{handlerPrefix:""});let i=this.ctx.resolveExprToString(r.expression.expr,Z,Z.withCtx(this.ctx));this.attrMap.set(e.__raw.name,{kind:"expr",payload:i})}else{let r=`${e.__raw.nodePath}@${e.__raw.concept} \u7684expression \u4E3A\u7A7A`;rr.debug(r);return}else if(e.__raw.type==="static"){if(e.__raw.name==="children"){this.attrMap.set(e.__raw.name,{kind:"string",payload:String(e.__raw.value)});return}jn(e.__raw.value)&&this.attrMap.set(e.__raw.name,{kind:"expr",payload:String(e.__raw.value)})}return}case"render":{let r=pe.functions.genReactFragment(e.component,this.ctx),i=r.toJsx();this.imports.push(...r.getImports()),this.attrMap.set(e.name,{kind:"expr",payload:i});return}case"validation-rules":{let r=e.rules.map(i=>this.ctx.resolveExprToString(i,Z,Z.withCtx(this.ctx)));this.attrMap.set(e.name,{kind:"expr",payload:`[${r.join(", ")}]`});return}default:W(e)}}setStyleAndStaticStyle(e,r){if(e.length===0&&!r)return;let i=on(r);e.forEach(g=>{if(!g.name)throw new Error(g.nodePath);if(g.expression&&(i[g.name]=g,!(0,tn.isBindStyle)(g)))throw new Error(`${g} is not bindStyle`)});let o=this;function s(g){return g.replace(/-([a-z])/g,(x,v)=>v.toUpperCase())}a(s,"cssPropertyNameToReactStyleObjectKey");let l=Object.entries(i).map(([g,x])=>{if((0,X.isObject)(x)&&(0,tn.isBindStyle)(x)){let v=s(g),y=o.ctx.resolveExprToString(x.expression,Z,Z.withCtx(o.ctx));return v==="backgroundImage"?{kind:"expr",payload:`\`url(\${${y}})\``,key:v}:{kind:"expr",payload:y,key:v}}else if((0,X.isString)(x))return{kind:"string",payload:x,key:g}}).filter(V);function u(g){return{kind:"expr",payload:`{${g.map(v=>{let y=t();return`${JSON.stringify(v.key)}: ${y}`;function t(){return v.kind==="expr"?v.payload:`${JSON.stringify(v.payload)}`}}).join(`,
|
|
4994
|
+
`)}}`}}a(u,"formatValuePayloadAsObjectStr"),this.attrMap.set("style",u(l))}bindDirective(e){this.directives.set(e.kind,e)}},z=class n{static{a(this,"ReactFileDescription")}fileName;imports;body;exports;folder;constructor(e,r,i,o,s){this.fileName=e,this.imports=r,this.body=i,this.exports=o,this.folder=s}get fileNameWithExt(){return this.fileName.includes(".")?this.fileName:`${this.fileName}.tsx`}getFolderPath(){if(this.folder)return Ye(this.folder)}getImports(){return[...this.imports,...this.body.flatMap(e=>e.getImports())].filter(V)}async serialize(e,r){let i=this.exports,o=this.body.map(v=>v.toCode()),l=this.getImports().map(e),g=[(0,X.uniq)(l).join(`
|
|
4995
|
+
`),o.map(v=>v.code).join(`
|
|
4996
|
+
`),(0,X.uniq)(i).join(`
|
|
5005
4997
|
`)].join(`
|
|
5006
|
-
`)
|
|
5007
|
-
${
|
|
4998
|
+
`);return this.fileNameWithExt.endsWith(".tsx")&&(g=`//@ts-nocheck
|
|
4999
|
+
${g}`),r?.noFormat?g:await $e.functions.format(g)}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.body),this.exports.push(...e.exports),this):this}static empty(e){return new n(e??"NoName",[],[],[])}};function ir(n){return qe(n.component)&&n.component.tag==="template"?"":n.component.tag}a(ir,"getReactComponentName");var pe=M({name:"reactCodeGen",functions:{genReactFragment(n,e){let r={...be.functions,...pe.functions,...fe.functions,...nn.functions},i=[{from:"react",import:"React"},{from:"react",import:"{type FC}"}],o=[];r.preprocessForSlots(n);let s=n.children.map(g=>r.genReactFragment(g,e));s.forEach(g=>{o.push(...g.getHooks()),i.push(...g.getImports())});let l=ir(n),u=new ge(l,i,o,s,e,{slot:n.slot});l&&qe(n.component)&&i.push({from:`${n.component.libraryName}`,import:`{${n.component.tag}}`}),u.setStyleAndStaticStyle(n.__raw.bindStyles??[],n.__raw.staticStyle??"");for(let g of n.events)u.bindEvent(g);for(let g of n.attrs)u.bindAttr(g);for(let g of n.directives)u.bindDirective(g);return u},genReactComponent(n,e){let r=rn(n),i=ge.fromComponentIR(n);return[new z(r,(0,X.uniq)(i.getImports()),[i],[`export default ${i.getMangledName()}`],e)]},recursivelyGenReactComponent(n,e,r){let i={...pe.functions};return e.set(n,r?Ye(r):"/"),(0,X.flatten)([i.genReactComponent(n,r),n.childComponents.flatMap(o=>i.recursivelyGenReactComponent(o,e,[...r??[],{name:n.identifier}]))])},buildRoutes(n,e){let r={...be.functions,...fe.functions},{routes:i}=r.extractRoute(n,"/",{lazy:!0}),{code:o,imports:s}=r.routeToCode(i,e);return new z("Router",[...s],[],[o])},buildPlatformConfig(n){let e={...be.functions,...fe.functions},{authResourcePaths:r,baseResourcePaths:i}=e.extractRoute(n.views,"/",{lazy:!1}),o={...n.configs.basePlatformConfig,authResourcePaths:r,baseResourcePaths:i};return new z("platform.config.ts",[],[],[`export default ${Tn(o)}`])},buildInit(n){let e={...J.functions},r="",o=n.configs.document.icon?`
|
|
5008
5000
|
{
|
|
5009
5001
|
const link = document.createElement('link');
|
|
5010
5002
|
link.rel = 'shortcut icon';
|
|
@@ -5020,7 +5012,7 @@ ${f}`:f}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.b
|
|
|
5020
5012
|
${r}
|
|
5021
5013
|
}
|
|
5022
5014
|
init();
|
|
5023
|
-
`])},async buildMasterCss(n,e){P("buildMasterCss").info(e);let i=e.map(o=>o.kind==="standard"?`@import './packages/${o.name}@${o.version}/dist-theme/index.css';`:`@import './packages/extension/${o.name}@${o.version}/dist-theme/index.css';`);return new z("index.css",[],[],[...i,n])},async buildGlobalFrontendVariableFile(n,e){let r=n.map(o=>{let s=`${JSON.stringify(o.name)}`,l=u();if(l)return`${o.name} = ${l};`;return`${o.name}: any;`;function u(){let
|
|
5015
|
+
`])},async buildMasterCss(n,e){P("buildMasterCss").info(e);let i=e.map(o=>o.kind==="standard"?`@import './packages/${o.name}@${o.version}/dist-theme/index.css';`:`@import './packages/extension/${o.name}@${o.version}/dist-theme/index.css';`);return new z("index.css",[],[],[...i,n])},async buildGlobalFrontendVariableFile(n,e){let r=n.map(o=>{let s=`${JSON.stringify(o.name)}`,l=u();if(l)return`${o.name} = ${l};`;return`${o.name}: any;`;function u(){let g=o.defaultValue?.expression?e.resolveExprToString(o.defaultValue.expression,Z,Z.withCtx(e)):void 0;if(o.localCache){let x=`loadFromLocalStorage(${s})`;return g?`${x} ?? ${g}`:x}else if(g)return g}}).join(`
|
|
5024
5016
|
`),i=JSON.stringify(n.filter(o=>o.localCache).map(o=>o.name));return new z("global-variables.tsx",[{from:"mobx",import:"{makeAutoObservable, observe}"},{from:"./Hooks",import:"{genInitFromSchema, nasl}"}],[],[`
|
|
5025
5017
|
const loadFromLocalStorage = (key: string)=> {
|
|
5026
5018
|
const value = globalThis.localStorage[key];
|
|
@@ -5056,11 +5048,11 @@ ${f}`:f}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.b
|
|
|
5056
5048
|
saveToLocalStorage(key, value);
|
|
5057
5049
|
}
|
|
5058
5050
|
});
|
|
5059
|
-
`])},buildLibraryHook(n){let e=n.filter(i=>i.kind==="extension"),r=e.map(i=>({from:`@extension/${i.name}`,import:`* as ${
|
|
5051
|
+
`])},buildLibraryHook(n){let e=n.filter(i=>i.kind==="extension"),r=e.map(i=>({from:`@extension/${i.name}`,import:`* as ${de(i.name)}`})).filter(V);return new z("",[...r],[],[`export const useLibrary = ()=>{
|
|
5060
5052
|
return {
|
|
5061
|
-
${e.map(i=>`${i.name}: ${
|
|
5053
|
+
${e.map(i=>`${i.name}: ${de(i.name)}`)}
|
|
5062
5054
|
};
|
|
5063
|
-
}`])},async genFiles(n,e){let r={...be.functions,...pe.functions,...
|
|
5055
|
+
}`])},async genFiles(n,e){let r={...be.functions,...pe.functions,...fe.functions,...Ze.functions,...Ae.functions},i=z.empty("Hooks").merge(new z("",[{from:"./init"}],[],[])).merge(Zn.functions.__hooksDefinitions()).merge(fe.functions.__hooksDefinitions()).merge(Ze.functions.__hooksDefinitions()).merge(Ue.functions.__hooksDefinitions()).merge(r.buildLibraryHook(n.packages)).merge(new z("",[],[],["export {nasl, genInitFromSchema};"])),o=r.buildApiStubFile(n.apis,n.configs.metaData),s=new WeakMap,l=n.views.flatMap(t=>r.recursivelyGenReactComponent(t,s)),u=r.buildRoutes(n.views,s),g=await r.buildMasterCss(n.configs.themeCSS,n.packages),x=await r.buildGlobalFrontendVariableFile(n.configs.globalVariables,n.baseCtx),v=new Yn.Container;return v.bind(O.FileSystemProvider).to(me),v.bind(O.ProjectOrganizer).to(Ce),await v.get(O.ProjectOrganizer).organize({baseDir:e,project:{api:o,utils:i,routes:u,views:l,platformConfig:r.buildPlatformConfig(n),init:r.buildInit(n),masterCss:g,globalVariables:x},options:{noFormat:!n.configs.config.isExport}})}}});function on(n){try{let e=$n.parse(n);return _n.default.objectify(e)}catch{return{}}}a(on,"styleStringToInlineObject");var _e=M({name:"JsxCodeGen",functions:{printJSX(n,e){return ge.fromComponentIR(n).toJsx(e)},printTag(n){return`<${n} />`}}});var rt=require("inversify");var et=`
|
|
5064
5056
|
if(window.ICESTARK && window.ICESTARK.root) {
|
|
5065
5057
|
Object.assign(window.ICESTARK, {
|
|
5066
5058
|
appEnter({ container, customProps }) {
|
|
@@ -5158,7 +5150,7 @@ ${f}`:f}merge(e){return e?(this.imports.push(...e.imports),this.body.push(...e.b
|
|
|
5158
5150
|
} else {
|
|
5159
5151
|
loadAssets();
|
|
5160
5152
|
}
|
|
5161
|
-
`;var
|
|
5153
|
+
`;var or={qiankun:nt,icestark:et};function tt(n){if(n.type==="h5")return"";let{framework:e,name:r,routePrefix:i,proxyPrefix:o,loginUrl:s,noAuthUrl:l,notFoundUrl:u}=n.app.integration?.microApp||{};e||="icestark",s===`${i}${n.basePath}/login`&&(s=void 0),l===`${i}${n.basePath}/noAuth`&&(l=void 0),u===`${i}${n.basePath}/notFound`&&(u=void 0);let g=JSON.stringify({name:r||void 0,routePrefix:i||void 0,proxyPrefix:o||void 0,loginUrl:s||void 0,noAuthUrl:l||void 0,notFoundUrl:u||void 0});return or[e].replace(/\{properties\}/g,g)}a(tt,"integrateMicroApp");function sr(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(sr,"_ts_decorate");var Ie=class{static{a(this,"MicroFrontendPlugin")}produceScript(e){return tt(e)}};Ie=sr([(0,rt.injectable)()],Ie);var ps=require("@abraham/reflection"),Ge=require("inversify");function ar(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(ar,"_ts_decorate");function it(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(it,"_ts_metadata");function cr(n,e){return function(r,i){e(r,i,n)}}a(cr,"_ts_param");var sn=class{static{a(this,"LifeCycleHooksPlugin")}fileSystemProvider;constructor(e){this.fileSystemProvider=e}afterAllFilesGenerated(){}};sn=ar([(0,Ge.injectable)(),cr(0,(0,Ge.inject)(O.FileSystemProvider)),it("design:type",Function),it("design:paramtypes",[typeof GeneratorInfrastructureDomain>"u"||typeof GeneratorInfrastructureDomain.FileSystemProvider>"u"?Object:GeneratorInfrastructureDomain.FileSystemProvider])],sn);var As=require("@abraham/reflection"),ve=require("inversify");function lr(n,e,r,i){var o=arguments.length,s=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,r,i);else for(var u=n.length-1;u>=0;u--)(l=n[u])&&(s=(o<3?l(s):o>3?l(e,r,s):l(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}a(lr,"_ts_decorate");function ot(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}a(ot,"_ts_metadata");function an(n,e){return function(r,i){e(r,i,n)}}a(an,"_ts_param");var pr=P("ReactPresetPlugin"),Ee=class{static{a(this,"ReactPresetPlugin")}irBuilder;microFrontendManager;fileSystemProvider;constructor(e,r,i){this.irBuilder=e,this.microFrontendManager=r,this.fileSystemProvider=i}async transpile(e){let r={...pe.functions},i=Re(e.app);try{let o=en(i),s=o.findNodeByPath(e.frontend.nodePath),l=this.irBuilder.buildIR(o,s,e.config),u=this.microFrontendManager.produceScript(s);pr.debug({script:u});let x=[...await r.genFiles(l,e.baseDir),{path:"/src/entry/index.tsx",content:`
|
|
5162
5154
|
import '../init';
|
|
5163
5155
|
import {renderApp} from './helper';
|
|
5164
5156
|
|
|
@@ -5186,6 +5178,6 @@ window.LazyLoad.css(\${JSON.stringify(cssAssets)})\`;
|
|
|
5186
5178
|
${u};
|
|
5187
5179
|
})();\`;
|
|
5188
5180
|
}
|
|
5189
|
-
`}];for(let v of x)this.fileSystemProvider.write(v.path,v.content);return x}catch(o){throw o}}};Ee=
|
|
5190
|
-
`)??[],
|
|
5191
|
-
`)??"";throw i.error("\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF"),v&&console.error(v),x?new Error(`\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF: ${x}`):new Error("\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF")}return u.data.result.files})).map(u=>{let
|
|
5181
|
+
`}];for(let v of x)this.fileSystemProvider.write(v.path,v.content);return x}catch(o){throw o}}};Ee=lr([(0,ve.injectable)(),an(0,(0,ve.inject)(O.IRBuilder)),an(1,(0,ve.inject)(O.MicroFrontendManager)),an(2,(0,ve.inject)(O.FileSystemProvider)),ot("design:type",Function),ot("design:paramtypes",[typeof NASLDomain>"u"||typeof NASLDomain.IRBuilder>"u"?Object:NASLDomain.IRBuilder,typeof JavaScriptDomain>"u"||typeof JavaScriptDomain.FrontendApplicationDomain>"u"||typeof JavaScriptDomain.FrontendApplicationDomain.MicroFrontendManager>"u"?Object:JavaScriptDomain.FrontendApplicationDomain.MicroFrontendManager,typeof GeneratorInfrastructureDomain>"u"||typeof GeneratorInfrastructureDomain.FileSystemProvider>"u"?Object:GeneratorInfrastructureDomain.FileSystemProvider])],Ee);function cn(){let n=new st.Container;return n.bind(O.NASLTranspiler).to(Ee),n.bind(O.IRBuilder).to(Ne),n.bind(O.MicroFrontendManager).to(Ie),n.bind(O.FileSystemProvider).to(me).inSingletonScope(),n}a(cn,"makeDefaultContainer");async function ln(n,e,r,i="./out",o){let s=P("\u7FFB\u8BD1\u8FC7\u7A0B");s.debug({config:r});async function l(){s.info("\u5F00\u59CB\u7FFB\u8BD1");try{let g=await o.get(O.NASLTranspiler).transpile({app:n,frontend:e,config:r,baseDir:i});return o.isBound(O.CodeGenerationLifecycleHooks)&&o.getAll(O.CodeGenerationLifecycleHooks).forEach(x=>{x.afterAllFilesGenerated()}),g}catch(g){throw s.error(g),g}finally{s.info("\u7FFB\u8BD1\u7ED3\u675F")}}return a(l,"genCode"),await l()??[]}a(ln,"translateNASLToReactApp");function at(n,e,r){let i=`${e.USER_STATIC_URL}/${e.tenant}/${n.id}/${e.env}`;return r&&i.startsWith("//")?`${r}:${i}`:i}a(at,"getBasePath");function dr(n){try{let e=new URL(n);return e.protocol==="http:"||e.protocol==="https:"?n:"https://"+n}catch{return`https://${n}`}}a(dr,"ensureUrlHasProtocol");function ct(n){return dr(n.replace(/^\/\//,""))}a(ct,"normalizeStaticUrl");var lt=require("@lcap/nasl/out/concepts/utils/asserts");function ur(n){let e=P("extractFrontendDeps"),r=n.dependencies.filter(s=>!(0,lt.isConnector)(s)&&!!s.frontends?.length);e.info({packageInfo:n.packageInfos});let i=[...r.map(({name:s,version:l})=>({name:s,version:l,kind:"extension"}))],o={name:"@lcap/pc-react-ui",version:"1.0.0",kind:"standard"};return i.push(o),i}a(ur,"extractFrontendDeps");async function pt(n,e,r,i){let o=P("downloadDependenciesToProject"),s=ur(n);if(s.length===0){o.info("\u65E0\u4F9D\u8D56\u5E93");return}else o.info({feExtensions:s.map(x=>`${x.name}@${x.version}`)},"\u524D\u7AEF\u4F9D\u8D56\u5E93\u5217\u8868");o.info("\u5F00\u59CB\u4E0B\u8F7D\u524D\u7AEF\u4F9D\u8D56\u5E93");let l=ct(i.STATIC_URL),u=i.axios,g=await Promise.all(s.map(async x=>{o.info({ext:x},"\u4E0B\u8F7D\u4F9D\u8D56\u5E93");let y=`packages${x.kind==="extension"?"/extension":""}/${x.name}@${x.version}`,t=`${y}/dist-theme`,b=`${l}/${y}`,k=await p(x);o.debug({sources:k});let c=k.map(m=>{let w=`${l}/${m}`;return o.debug({url:w,source:m}),{url:w,source:m}});r.write(`/src/${y}/dist-theme/index.css`,""),o.info({urls:c.map(m=>m.url)},"\u4E0B\u8F7D\u6587\u4EF6\u5217\u8868");try{await Promise.all([...c.map(async({source:m,url:w})=>{o.debug({url:w},"\u6B63\u5728\u4E0B\u8F7D");try{let h=(await u.get(w,{responseType:"text"})).data,A=`/src/${m}`;r.write(A,h),o.debug({vfsPath:A},"\u5199\u5165\u865A\u62DF\u6587\u4EF6\u7CFB\u7EDF\u8DEF\u5F84")}catch(f){o.error({url:w,error:f},"\u4E0B\u8F7D\u5931\u8D25")}o.debug({url:w},"\u4E0B\u8F7D\u6210\u529F")})])}catch(m){o.error(m)}async function p({name:m,version:w}){if(m==="@lcap/pc-react-ui")return["index.js","index.css"].map(j=>`packages/${m}@${w}/dist-theme/${j}`);let f=`${b}/manifest`,S=(await u.get(f,{responseType:"text"})).data.split(/\n/).filter(j=>j.trim().startsWith(t)).map(j=>j.split(":")[0].trim());return S.length===0?[`${y}/dist-theme/index.js`]:S}return a(p,"listPackageSources"),{packagePath:b,sources:k,projectPath:y,...x}}));return o.info("\u4F9D\u8D56\u5E93\u4E0B\u8F7D\u5B8C\u6210"),o.debug(g),g}a(pt,"downloadDependenciesToProject");var Ke=class{static{a(this,"VirtualProject")}fileDict;constructor(e){this.fileDict=e}mutateFile(e,r,i={}){this.fileDict[e]={...i,code:r}}getFileDict(){return{files:this.fileDict}}readFile(e){return this.fileDict[e].code}};async function mr(n,e,r,i,o){let s=i??cn(),l=P("compileAsProject");l.info("\u5F00\u59CB\u7F16\u8BD1\u9759\u6001\u4EA7\u7269"),l.info("\u8F7D\u5165\u9879\u76EE\u6A21\u677F");let u=s.get(O.FileSystemProvider);Object.entries(gn.files).forEach(([t,b])=>{u.write(t,b.code)});let g=pt(n,e,u,{STATIC_URL:r.STATIC_URL,axios:o??pn.default.create()}),x=await ln(n,e,r,"/",s);await y(u),l.debug(Object.keys(u.toJSON()),"\u751F\u6210\u7684\u6587\u4EF6");let v=new Ke({});return Object.entries(u.toJSON()).forEach(([t,b])=>{v.mutateFile(t,b??"")}),v;async function y(t){let k=(await g)?.map(f=>{let h=f.sources.find(A=>A.endsWith("/index.js"));if(h)return{name:f.name,resolvedTo:`./src/${h}`,scope:f.kind==="extension"?"@extension":void 0}}).filter(V).map(f=>`'${f.scope?`${f.scope}/${f.name}`:f.name}' : path.resolve(__dirname, '${f.resolvedTo}'),`).join(`
|
|
5182
|
+
`)??[],c=ut(n,r,e),p=w(n,r),m=t.read("/rspack.config.js");m&&t.write("/rspack.config.js",m.replace("const backendUrl = '';",`const backendUrl = '${p}'`).replace("alias: {}",`alias: {${k}}`).replace("const publicPath = '';",`const publicPath = '${c}';`));function w(f,h){return h.isExport?"localhost:8080":`http://${h.env}.${f.name}.${h.tenant}.${h.lowcodeDomain}`}a(w,"getBackendPath")}a(y,"configRspack")}a(mr,"compileAsProject");function ut(n,e,r){if(e.isExport)return"/";let i=`${at(n,e)}${r.basePath??""}`;return i.endsWith("/")?i:`${i}/`}a(ut,"getPublicPath");async function fr(n,e,r){let i=P("compileNASLToReactDist");r={...r,STATIC_URL:r.STATIC_URL||globalThis?.appInfo?.STATIC_URL};let o=ut(n,r,e);i.info("\u8C03\u7528\u7F16\u8BD1\u63A5\u53E3\uFF0C\u8F93\u51FA\u9759\u6001\u6587\u4EF6");try{let l=(await pn.default.post("/api/v1/app/compileNaslToDist",{config:r,appId:n.id,frontendNodePath:e.nodePath,app:Re(n)}).then(u=>{if(u?.data?.code!==200){let x=u.data?.message??"\u539F\u56E0\u672A\u77E5",v=u.data?.errorPayload?.logs?.join(`
|
|
5183
|
+
`)??"";throw i.error("\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF"),v&&console.error(v),x?new Error(`\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF: ${x}`):new Error("\u9875\u9762\u4EE3\u7801\u7F16\u8BD1\u9519\u8BEF")}return u.data.result.files})).map(u=>{let g=o+(0,dt.trimStart)(u.path,"/");return{...u,path:g}});return i.info("\u7F16\u8BD1\u7ED3\u679C",l.map(u=>u.path)),l}catch(s){throw s}}a(fr,"compileNASLToReactDist");0&&(module.exports={ApiClientIdentifier,FileSystemPlugin,LifeCycleHooksPlugin,Logger,MicroFrontendPlugin,NASLAppIRBuilderPlugin,PlacedFile,ProjectOrganizerPlugin,ReactChildrenPropName,ReactFileDescription,ReactFragment,ReactPresetPlugin,ReactRouterDefaultViewFolderName,ServiceMetaKind,StateActionIR,StateContextIR,VirtualProject,bindAttrToIR,bindEventToAction,bindViewElementEventToIR,codeFormatPlugin,compileAsProject,compileNASLToReactDist,defaultErrorMessageDict,deserializeAppWhileKeepTypeAnnotation,getComponentName,getRuntimeStr,javaScriptCodeGenPlugin,jsxCodeGenPlugin,logicToLogicIR,makeDefaultContainer,makePlugin,metadataPlugin,paramToIR,reactCodeGenPlugin,reactComponentLibHackPlugin,reactRouterPlugin,reactSlotPlugin,reactStateManagerMobxPlugin,reactStateManagerVanillaPlugin,routesExtractionPlugin,serializeAppWithKeepTypeAnnotation,styleStringToInlineObject,translateNASLToReactApp});
|