@lcap/nasl 4.4.0-beta.3 → 4.4.0-beta.30

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.
Files changed (268) hide show
  1. package/out/generator/genBundleFiles.d.ts +2 -0
  2. package/out/generator/genBundleFiles.d.ts.map +1 -1
  3. package/out/generator/genBundleFiles.js +77 -12
  4. package/out/generator/genBundleFiles.js.map +1 -1
  5. package/out/generator/icestark.d.ts +1 -1
  6. package/out/generator/icestark.d.ts.map +1 -1
  7. package/out/generator/icestark.js +6 -1
  8. package/out/generator/icestark.js.map +1 -1
  9. package/out/generator/qiankun.d.ts +1 -1
  10. package/out/generator/qiankun.d.ts.map +1 -1
  11. package/out/generator/qiankun.js +9 -3
  12. package/out/generator/qiankun.js.map +1 -1
  13. package/out/generator/release-body/body.d.ts +0 -1
  14. package/out/generator/release-body/body.d.ts.map +1 -1
  15. package/out/generator/release-body/body.js +1 -390
  16. package/out/generator/release-body/body.js.map +1 -1
  17. package/out/generator/release-body/data.d.ts.map +1 -1
  18. package/out/generator/release-body/data.js +38 -11
  19. package/out/generator/release-body/data.js.map +1 -1
  20. package/out/generator/release-body/internal.d.ts +1 -0
  21. package/out/generator/release-body/internal.d.ts.map +1 -1
  22. package/out/generator/release-body/internal.js.map +1 -1
  23. package/out/generator/release-body/share-content.js +1 -1
  24. package/out/generator/release-body/share-content.js.map +1 -1
  25. package/out/generator/release-body/types.d.ts +2 -0
  26. package/out/generator/release-body/types.d.ts.map +1 -1
  27. package/out/generator/release-body/utils.d.ts +1 -0
  28. package/out/generator/release-body/utils.d.ts.map +1 -1
  29. package/out/generator/release-body/utils.js +2 -1
  30. package/out/generator/release-body/utils.js.map +1 -1
  31. package/out/generator/templates/chunk.js +1 -1
  32. package/out/generator/templates/runtime.js +2 -2
  33. package/out/generator/wujie.d.ts +1 -1
  34. package/out/generator/wujie.d.ts.map +1 -1
  35. package/out/generator/wujie.js +6 -1
  36. package/out/generator/wujie.js.map +1 -1
  37. package/out/natural/exports/nasl2Files.d.ts +34 -0
  38. package/out/natural/exports/nasl2Files.d.ts.map +1 -0
  39. package/out/natural/exports/nasl2Files.js +237 -0
  40. package/out/natural/exports/nasl2Files.js.map +1 -0
  41. package/out/natural/{transform2BatchActions.d.ts → exports/transform2BatchActions.d.ts} +20 -2
  42. package/out/natural/exports/transform2BatchActions.d.ts.map +1 -0
  43. package/out/natural/exports/transform2BatchActions.js +1233 -0
  44. package/out/natural/exports/transform2BatchActions.js.map +1 -0
  45. package/out/natural/index.d.ts +12 -12
  46. package/out/natural/index.d.ts.map +1 -1
  47. package/out/natural/index.js +12 -14
  48. package/out/natural/index.js.map +1 -1
  49. package/out/natural/{genNaturalTS.d.ts → old/getContext/genNaturalTS.d.ts} +12 -12
  50. package/out/natural/old/getContext/genNaturalTS.d.ts.map +1 -0
  51. package/out/natural/{genNaturalTS.js → old/getContext/genNaturalTS.js} +65 -65
  52. package/out/natural/old/getContext/genNaturalTS.js.map +1 -0
  53. package/out/natural/old/getContext/genTextualNASL.d.ts.map +1 -0
  54. package/out/natural/old/getContext/genTextualNASL.js.map +1 -0
  55. package/out/natural/{getContext → old/getContext}/getUILib.d.ts +1 -1
  56. package/out/natural/old/getContext/getUILib.d.ts.map +1 -0
  57. package/out/natural/{getContext → old/getContext}/getUILib.js +14 -14
  58. package/out/natural/old/getContext/getUILib.js.map +1 -0
  59. package/out/natural/{getContext → old/getContext}/index.d.ts +3 -3
  60. package/out/natural/old/getContext/index.d.ts.map +1 -0
  61. package/out/natural/{getContext → old/getContext}/index.js +4 -4
  62. package/out/natural/old/getContext/index.js.map +1 -0
  63. package/out/natural/old/getContext/naslStdlibMap.d.ts.map +1 -0
  64. package/out/natural/{getContext → old/getContext}/naslStdlibMap.js +10 -10
  65. package/out/natural/old/getContext/naslStdlibMap.js.map +1 -0
  66. package/out/natural/{transformTS2UI.d.ts → old/parser/transformTS2UI.d.ts} +2 -2
  67. package/out/natural/old/parser/transformTS2UI.d.ts.map +1 -0
  68. package/out/natural/{transformTS2UI.js → old/parser/transformTS2UI.js} +13 -14
  69. package/out/natural/old/parser/transformTS2UI.js.map +1 -0
  70. package/out/natural/{transformTSCode.d.ts → old/parser/transformTSCode.d.ts} +1 -1
  71. package/out/natural/old/parser/transformTSCode.d.ts.map +1 -0
  72. package/out/natural/{transformTSCode.js → old/parser/transformTSCode.js} +32 -8
  73. package/out/natural/old/parser/transformTSCode.js.map +1 -0
  74. package/out/natural/{tools.d.ts → old/tools.d.ts} +0 -4
  75. package/out/natural/old/tools.d.ts.map +1 -0
  76. package/out/natural/{tools.js → old/tools.js} +7 -25
  77. package/out/natural/old/tools.js.map +1 -0
  78. package/out/natural/{parseNaturalTS.d.ts → parser/parseNaturalTS.d.ts} +9 -2
  79. package/out/natural/parser/parseNaturalTS.d.ts.map +1 -0
  80. package/out/natural/{parseNaturalTS.js → parser/parseNaturalTS.js} +119 -38
  81. package/out/natural/parser/parseNaturalTS.js.map +1 -0
  82. package/out/natural/{parseNaturalTSXView.d.ts → parser/parseNaturalTSXView.d.ts} +1 -2
  83. package/out/natural/parser/parseNaturalTSXView.d.ts.map +1 -0
  84. package/out/natural/{parseNaturalTSXView.js → parser/parseNaturalTSXView.js} +181 -139
  85. package/out/natural/parser/parseNaturalTSXView.js.map +1 -0
  86. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.d.ts +7 -0
  87. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.d.ts.map +1 -0
  88. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.js +38 -0
  89. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.js.map +1 -0
  90. package/out/natural/transforms/checker/checkDefaultValue.d.ts +14 -0
  91. package/out/natural/transforms/checker/checkDefaultValue.d.ts.map +1 -0
  92. package/out/natural/transforms/checker/checkDefaultValue.js +39 -0
  93. package/out/natural/transforms/checker/checkDefaultValue.js.map +1 -0
  94. package/out/natural/transforms/checker/checkLcapEntity.d.ts +16 -0
  95. package/out/natural/transforms/checker/checkLcapEntity.d.ts.map +1 -0
  96. package/out/natural/transforms/checker/checkLcapEntity.js +337 -0
  97. package/out/natural/transforms/checker/checkLcapEntity.js.map +1 -0
  98. package/out/natural/transforms/checker/checkValidationCalleeName.d.ts +3 -0
  99. package/out/natural/transforms/checker/checkValidationCalleeName.d.ts.map +1 -0
  100. package/out/natural/transforms/checker/checkValidationCalleeName.js +88 -0
  101. package/out/natural/transforms/checker/checkValidationCalleeName.js.map +1 -0
  102. package/out/natural/transforms/checker/checkViewElement.d.ts +29 -0
  103. package/out/natural/transforms/checker/checkViewElement.d.ts.map +1 -0
  104. package/out/natural/transforms/checker/checkViewElement.js +618 -0
  105. package/out/natural/transforms/checker/checkViewElement.js.map +1 -0
  106. package/out/natural/transforms/checker/index.d.ts +19 -0
  107. package/out/natural/transforms/checker/index.d.ts.map +1 -0
  108. package/out/natural/transforms/checker/index.js +30 -0
  109. package/out/natural/transforms/checker/index.js.map +1 -0
  110. package/out/natural/transforms/transform2Entity.d.ts +13 -1
  111. package/out/natural/transforms/transform2Entity.d.ts.map +1 -1
  112. package/out/natural/transforms/transform2Entity.js +172 -17
  113. package/out/natural/transforms/transform2Entity.js.map +1 -1
  114. package/out/natural/transforms/transform2Enum.d.ts +1 -1
  115. package/out/natural/transforms/transform2Enum.d.ts.map +1 -1
  116. package/out/natural/transforms/transform2Enum.js +5 -1
  117. package/out/natural/transforms/transform2Enum.js.map +1 -1
  118. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts +2 -2
  119. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts.map +1 -1
  120. package/out/natural/transforms/transform2GlobalLogicDeclaration.js +18 -4
  121. package/out/natural/transforms/transform2GlobalLogicDeclaration.js.map +1 -1
  122. package/out/natural/transforms/transform2Logic.d.ts +4 -4
  123. package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
  124. package/out/natural/transforms/transform2Logic.js +58 -17
  125. package/out/natural/transforms/transform2Logic.js.map +1 -1
  126. package/out/natural/transforms/transform2LogicItem.d.ts +11 -4
  127. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  128. package/out/natural/transforms/transform2LogicItem.js +279 -178
  129. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  130. package/out/natural/transforms/transform2MetadataType.d.ts +1 -1
  131. package/out/natural/transforms/transform2MetadataType.d.ts.map +1 -1
  132. package/out/natural/transforms/transform2MetadataType.js +1 -1
  133. package/out/natural/transforms/transform2MetadataType.js.map +1 -1
  134. package/out/natural/transforms/transform2Param.d.ts +4 -0
  135. package/out/natural/transforms/transform2Param.d.ts.map +1 -0
  136. package/out/natural/transforms/transform2Param.js +114 -0
  137. package/out/natural/transforms/transform2Param.js.map +1 -0
  138. package/out/natural/transforms/transform2Structure.d.ts +1 -1
  139. package/out/natural/transforms/transform2Structure.d.ts.map +1 -1
  140. package/out/natural/transforms/transform2Structure.js +13 -2
  141. package/out/natural/transforms/transform2Structure.js.map +1 -1
  142. package/out/natural/transforms/transform2TypeAnnotation.d.ts +1 -1
  143. package/out/natural/transforms/transform2TypeAnnotation.d.ts.map +1 -1
  144. package/out/natural/transforms/transform2TypeAnnotation.js +3 -3
  145. package/out/natural/transforms/transform2TypeAnnotation.js.map +1 -1
  146. package/out/natural/transforms/transform2ValidationRule.d.ts +2 -2
  147. package/out/natural/transforms/transform2ValidationRule.d.ts.map +1 -1
  148. package/out/natural/transforms/transform2ValidationRule.js +6 -1
  149. package/out/natural/transforms/transform2ValidationRule.js.map +1 -1
  150. package/out/natural/transforms/transform2Variable.d.ts +4 -3
  151. package/out/natural/transforms/transform2Variable.d.ts.map +1 -1
  152. package/out/natural/transforms/transform2Variable.js +57 -6
  153. package/out/natural/transforms/transform2Variable.js.map +1 -1
  154. package/out/natural/transforms/transformThemeAndStyle.d.ts +5 -2
  155. package/out/natural/transforms/transformThemeAndStyle.d.ts.map +1 -1
  156. package/out/natural/transforms/transformThemeAndStyle.js +26 -13
  157. package/out/natural/transforms/transformThemeAndStyle.js.map +1 -1
  158. package/out/natural/transforms/utils/createComponentLookupMap.d.ts +32 -0
  159. package/out/natural/transforms/utils/createComponentLookupMap.d.ts.map +1 -0
  160. package/out/natural/transforms/utils/createComponentLookupMap.js +57 -0
  161. package/out/natural/transforms/utils/createComponentLookupMap.js.map +1 -0
  162. package/out/natural/transforms/utils/iconNames.d.ts +2 -0
  163. package/out/natural/transforms/utils/iconNames.d.ts.map +1 -0
  164. package/out/natural/transforms/utils/iconNames.js +299 -0
  165. package/out/natural/transforms/utils/iconNames.js.map +1 -0
  166. package/out/natural/transforms/utils/misc.d.ts +16 -0
  167. package/out/natural/transforms/utils/misc.d.ts.map +1 -0
  168. package/out/natural/transforms/utils/misc.js +240 -0
  169. package/out/natural/transforms/utils/misc.js.map +1 -0
  170. package/out/natural/transforms/utils/normalizeNode.d.ts +3 -0
  171. package/out/natural/transforms/utils/normalizeNode.d.ts.map +1 -0
  172. package/out/natural/transforms/utils/normalizeNode.js +15 -0
  173. package/out/natural/transforms/utils/normalizeNode.js.map +1 -0
  174. package/out/natural/transforms/utils/parseDecorator.d.ts +74 -0
  175. package/out/natural/transforms/utils/parseDecorator.d.ts.map +1 -0
  176. package/out/natural/transforms/utils/parseDecorator.js +252 -0
  177. package/out/natural/transforms/utils/parseDecorator.js.map +1 -0
  178. package/out/natural/transforms/utils/transform2Directory.d.ts +59 -0
  179. package/out/natural/transforms/utils/transform2Directory.d.ts.map +1 -0
  180. package/out/natural/transforms/utils/transform2Directory.js +229 -0
  181. package/out/natural/transforms/utils/transform2Directory.js.map +1 -0
  182. package/out/natural/{transforms/utils.d.ts → utils/index.d.ts} +35 -18
  183. package/out/natural/utils/index.d.ts.map +1 -0
  184. package/out/natural/utils/index.js +206 -0
  185. package/out/natural/utils/index.js.map +1 -0
  186. package/out/natural/utils/nasl-file-types.d.ts +45 -0
  187. package/out/natural/utils/nasl-file-types.d.ts.map +1 -0
  188. package/out/natural/utils/nasl-file-types.js +131 -0
  189. package/out/natural/utils/nasl-file-types.js.map +1 -0
  190. package/out/server/OQL/sqlDbTypes.json +717 -0
  191. package/out/server/createUiTs.d.ts +0 -1
  192. package/out/server/createUiTs.d.ts.map +1 -1
  193. package/out/server/createUiTs.js +1 -118
  194. package/out/server/createUiTs.js.map +1 -1
  195. package/out/server/extendBaseNode.d.ts.map +1 -1
  196. package/out/server/extendBaseNode.js +17 -0
  197. package/out/server/extendBaseNode.js.map +1 -1
  198. package/out/server/findReference.js +1 -1
  199. package/out/server/findReference.js.map +1 -1
  200. package/out/server/naslServer.d.ts +0 -1
  201. package/out/server/naslServer.d.ts.map +1 -1
  202. package/out/server/naslServer.js +66 -55
  203. package/out/server/naslServer.js.map +1 -1
  204. package/out/server/translator.js.map +1 -1
  205. package/out/service/autofix/rules/rule-convert-incompatible-assignment-to-union.js.map +1 -1
  206. package/out/service/creator/add.configs.js +1 -1
  207. package/out/service/creator/add.configs.js.map +1 -1
  208. package/out/service/storage/init.d.ts +1 -1
  209. package/out/service/storage/init.d.ts.map +1 -1
  210. package/out/service/storage/init.js +26 -9
  211. package/out/service/storage/init.js.map +1 -1
  212. package/out/service/storage/specTools.d.ts +20 -8
  213. package/out/service/storage/specTools.d.ts.map +1 -1
  214. package/out/service/storage/specTools.js +157 -5
  215. package/out/service/storage/specTools.js.map +1 -1
  216. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.d.ts +4 -0
  217. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.d.ts.map +1 -1
  218. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.js +20 -1
  219. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.js.map +1 -1
  220. package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.d.ts.map +1 -1
  221. package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.js +28 -1
  222. package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.js.map +1 -1
  223. package/out/templator/block2nasl/transformBlock2Nasl.js +2 -2
  224. package/out/templator/block2nasl/transformBlock2Nasl.js.map +1 -1
  225. package/out/templator/block2nasl/viewMergeBlock.js +3 -2
  226. package/out/templator/block2nasl/viewMergeBlock.js.map +1 -1
  227. package/out/utils/can-i-use.d.ts.map +1 -1
  228. package/out/utils/can-i-use.js +1 -0
  229. package/out/utils/can-i-use.js.map +1 -1
  230. package/package.json +9 -9
  231. package/sandbox/stdlib/nasl.core.ts +2 -0
  232. package/sandbox/stdlib/nasl.io.ts +1 -1
  233. package/sandbox/stdlib/nasl.oql.ts +2 -0
  234. package/sandbox/stdlib/nasl.util.ts +1 -1
  235. package/sandbox/stdlib/nasl.validation.ts +50 -14
  236. package/out/natural/genNaturalTS.d.ts.map +0 -1
  237. package/out/natural/genNaturalTS.js.map +0 -1
  238. package/out/natural/genTextualNASL.d.ts.map +0 -1
  239. package/out/natural/genTextualNASL.js.map +0 -1
  240. package/out/natural/getContext/getUILib.d.ts.map +0 -1
  241. package/out/natural/getContext/getUILib.js.map +0 -1
  242. package/out/natural/getContext/index.d.ts.map +0 -1
  243. package/out/natural/getContext/index.js.map +0 -1
  244. package/out/natural/getContext/nasl2Files.d.ts +0 -15
  245. package/out/natural/getContext/nasl2Files.d.ts.map +0 -1
  246. package/out/natural/getContext/nasl2Files.js +0 -75
  247. package/out/natural/getContext/nasl2Files.js.map +0 -1
  248. package/out/natural/getContext/naslStdlibMap.d.ts.map +0 -1
  249. package/out/natural/getContext/naslStdlibMap.js.map +0 -1
  250. package/out/natural/parseNaturalTS.d.ts.map +0 -1
  251. package/out/natural/parseNaturalTS.js.map +0 -1
  252. package/out/natural/parseNaturalTSXView.d.ts.map +0 -1
  253. package/out/natural/parseNaturalTSXView.js.map +0 -1
  254. package/out/natural/tools.d.ts.map +0 -1
  255. package/out/natural/tools.js.map +0 -1
  256. package/out/natural/transform2BatchActions.d.ts.map +0 -1
  257. package/out/natural/transform2BatchActions.js +0 -387
  258. package/out/natural/transform2BatchActions.js.map +0 -1
  259. package/out/natural/transformTS2UI.d.ts.map +0 -1
  260. package/out/natural/transformTS2UI.js.map +0 -1
  261. package/out/natural/transformTSCode.d.ts.map +0 -1
  262. package/out/natural/transformTSCode.js.map +0 -1
  263. package/out/natural/transforms/utils.d.ts.map +0 -1
  264. package/out/natural/transforms/utils.js +0 -407
  265. package/out/natural/transforms/utils.js.map +0 -1
  266. /package/out/natural/{genTextualNASL.d.ts → old/getContext/genTextualNASL.d.ts} +0 -0
  267. /package/out/natural/{genTextualNASL.js → old/getContext/genTextualNASL.js} +0 -0
  268. /package/out/natural/{getContext → old/getContext}/naslStdlibMap.d.ts +0 -0
@@ -1,407 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.pickDecoratorObject = exports.checkOQLCalleeNameOrder = exports.fetchFromComments = exports.handleListSort = exports.upgradeListSort = exports.replaceCallFunctionMap = exports.callFunctionMap = exports.tryParseTS = exports.throwWarning = exports.throwError = exports.ParseNaturalTSError = exports.parseNaturalTSErrorMap = exports.DEBUG = exports.generate = exports.naslTypes = exports.babelTypes = void 0;
30
- const babel = __importStar(require("@babel/core"));
31
- const babelTypes = __importStar(require("@babel/types"));
32
- exports.babelTypes = babelTypes;
33
- const naslTypes = __importStar(require("../../concepts"));
34
- exports.naslTypes = naslTypes;
35
- const generator_1 = __importDefault(require("@babel/generator"));
36
- exports.generate = generator_1.default;
37
- // Dynamic DEBUG function to allow runtime environment variable changes
38
- function DEBUG() {
39
- return process.env.NATURAL_TS_THROW_ERROR === 'true';
40
- }
41
- exports.DEBUG = DEBUG;
42
- exports.parseNaturalTSErrorMap = {};
43
- class ParseNaturalTSError extends Error {
44
- constructor(message) {
45
- super(message);
46
- this.name = 'ParseNaturalTSError';
47
- }
48
- }
49
- exports.ParseNaturalTSError = ParseNaturalTSError;
50
- /**
51
- * 抛出错误
52
- * @param message 错误信息
53
- * @param babelNode babel节点,用于便捷生成代码片段信息
54
- * @param babelNode2 babel节点,用于便捷生成代码片段信息
55
- */
56
- function throwError(state, message, babelNode, babelNode2) {
57
- if (state.nodeNamespace) {
58
- let namespaceAndName = `${state.nodeNamespace}.${state.nodeName ? state.nodeName : '*'}`;
59
- if (state.nodeName && state.appendExtName) {
60
- namespaceAndName += state.nodeNamespace.includes('.views.') ? '.tsx' : '.ts';
61
- }
62
- message += '\n**可能的位置**: ' + namespaceAndName;
63
- }
64
- if (babelNode) {
65
- let code = typeof babelNode === 'string' ? babelNode : (0, generator_1.default)(babelNode).code;
66
- message += '\n**相关代码片段**: ' + code.slice(0, 1000);
67
- }
68
- if (babelNode2) {
69
- let code = typeof babelNode2 === 'string' ? babelNode2 : (0, generator_1.default)(babelNode2).code;
70
- message += '\n**更多代码片段**: ' + code.slice(0, 1000);
71
- }
72
- if (!state.parsingId) {
73
- throw new ParseNaturalTSError(message);
74
- }
75
- else {
76
- const keys = Object.keys(exports.parseNaturalTSErrorMap).map(Number).sort();
77
- keys.forEach((key) => {
78
- if (state.parsingId - key > 1000 * 60 * 60)
79
- delete exports.parseNaturalTSErrorMap[key];
80
- });
81
- const errors = exports.parseNaturalTSErrorMap[state.parsingId] = exports.parseNaturalTSErrorMap[state.parsingId] || [];
82
- errors.push(message);
83
- }
84
- }
85
- exports.throwError = throwError;
86
- /**
87
- * 抛出警告,在 DEBUG 模式下不抛出这类错误
88
- * @param message 错误信息
89
- * @param babelNode babel节点,用于便捷生成代码片段信息
90
- * @param babelNode2 babel节点,用于便捷生成代码片段信息
91
- */
92
- function throwWarning(message, babelNode, babelNode2) {
93
- if (DEBUG())
94
- return;
95
- if (babelNode) {
96
- let code = typeof babelNode === 'string' ? babelNode : (0, generator_1.default)(babelNode).code;
97
- message += ':' + code.slice(0, 1000);
98
- }
99
- if (babelNode2) {
100
- let code = typeof babelNode2 === 'string' ? babelNode2 : (0, generator_1.default)(babelNode2).code;
101
- message += '\n' + code.slice(0, 1000);
102
- }
103
- throw new Error(message);
104
- }
105
- exports.throwWarning = throwWarning;
106
- function tryParseTS(tsCode) {
107
- try {
108
- const root = babel.parseSync(tsCode, {
109
- filename: 'result.ts',
110
- presets: [require('@babel/preset-typescript')],
111
- });
112
- // console.log((root as any).program.body[0].body.body.map((item) => item.trailingComments));
113
- return root;
114
- }
115
- catch (e) {
116
- return null;
117
- }
118
- }
119
- exports.tryParseTS = tryParseTS;
120
- exports.callFunctionMap = [
121
- 'Convert',
122
- 'FormatNumber',
123
- 'FormatDateTime',
124
- 'FormatDate',
125
- 'FromString',
126
- 'ToString',
127
- 'Length',
128
- 'IndexOf',
129
- 'Join',
130
- 'LastIndexOf',
131
- 'Replace',
132
- 'Split',
133
- 'SubString',
134
- 'ToLower',
135
- 'ToUpper',
136
- 'Trim',
137
- 'CurrDate',
138
- 'CurrDateTime',
139
- 'CurrTime',
140
- 'DateDiff',
141
- 'AlterDateTime',
142
- 'GetDateCount',
143
- 'GetSpecificDaysOfWeek',
144
- 'ListAdd',
145
- 'ListAddAll',
146
- 'ListContains',
147
- 'ListInsert',
148
- 'ListDistinct',
149
- 'ListDistinctBy',
150
- 'ListFilter',
151
- 'ListFind',
152
- 'ListFindIndex',
153
- 'ListFlatten',
154
- 'ListGroupBy',
155
- 'ListHead',
156
- 'ListLast',
157
- 'ListMax',
158
- 'ListMin',
159
- 'ListReverse',
160
- 'ListSlice',
161
- 'ListSort',
162
- 'ListSum',
163
- 'ListToMap',
164
- 'ListTransform',
165
- 'ListGet',
166
- 'ListRemove',
167
- 'ListRemoveAt',
168
- 'ListSet',
169
- 'ListRange',
170
- 'ListRepeat',
171
- 'MapContains',
172
- 'MapGet',
173
- 'MapPut',
174
- 'MapKeys',
175
- 'MapRemove',
176
- 'MapValues',
177
- 'EnumToList',
178
- 'EnumItemToText',
179
- 'Round',
180
- 'Clear',
181
- 'Clone',
182
- 'HasValue',
183
- 'RandomInt',
184
- 'NewList',
185
- 'NewMap',
186
- 'NewEntity',
187
- 'NewStructure',
188
- 'NewAnonymousStructure',
189
- 'jsonSerialize',
190
- 'jsonDeserialize',
191
- "Add",
192
- "AddAll",
193
- "Contains",
194
- "Insert",
195
- "Get",
196
- "Remove",
197
- "RemoveAt",
198
- "Set",
199
- "Ceil",
200
- "Floor",
201
- "Trunc",
202
- "TruncDivide",
203
- "Abs",
204
- "Pow",
205
- "Sqrt",
206
- "Cbrt",
207
- "Log",
208
- "PadStart",
209
- "PadEnd",
210
- "TrimStart",
211
- "TrimEnd",
212
- ];
213
- exports.replaceCallFunctionMap = {
214
- "ListAdd": "Add",
215
- "ListAddAll": "AddAll",
216
- "ListContains": "Contains",
217
- "ListInsert": "Insert",
218
- "ListGet": "Get",
219
- "ListRemove": "Remove",
220
- "ListRemoveAt": "RemoveAt",
221
- "ListSet": "Set",
222
- "COUNTD": "COUNT",
223
- };
224
- function upgradeListSort(node) {
225
- const asc = node?.arguments?.[2]?.expression;
226
- const by = node?.arguments?.[1]?.expression;
227
- const newArgument = [
228
- {
229
- ...node.arguments[0]
230
- },
231
- {
232
- concept: 'Argument',
233
- keyword: 'fn1',
234
- expression: {
235
- concept: 'AnonymousFunction',
236
- body: {
237
- concept: 'NewComposite',
238
- typeAnnotation: {
239
- concept: 'TypeAnnotation',
240
- typeKind: 'anonymousStructure',
241
- properties: [
242
- {
243
- concept: 'StructureProperty',
244
- name: 'asc',
245
- typeAnnotation: {
246
- concept: 'TypeAnnotation',
247
- typeKind: 'primitive',
248
- typeNamespace: 'nasl.core',
249
- typeName: 'Boolean'
250
- }
251
- },
252
- {
253
- concept: 'StructureProperty',
254
- name: 'by',
255
- typeAnnotation: null
256
- }
257
- ]
258
- },
259
- properties: [
260
- {
261
- concept: 'Identifier',
262
- name: 'asc',
263
- folded: false,
264
- typeAnnotation: null
265
- },
266
- {
267
- concept: 'Identifier',
268
- name: 'by',
269
- folded: false,
270
- typeAnnotation: null
271
- }
272
- ],
273
- rights: [
274
- {
275
- concept: 'SelectMembers',
276
- hideMembers: false,
277
- expression: asc,
278
- members: []
279
- }
280
- ],
281
- assignmentLines: [
282
- {
283
- concept: 'AssignmentLine',
284
- leftIndex: [0, 0],
285
- rightIndex: [0]
286
- }
287
- ]
288
- },
289
- params: by?.params
290
- }
291
- }
292
- ];
293
- if (by?.body) {
294
- newArgument[1].expression.body.rights.push({
295
- concept: 'SelectMembers',
296
- hideMembers: false,
297
- expression: by.body,
298
- members: []
299
- });
300
- newArgument[1].expression.body.assignmentLines.push({
301
- concept: 'AssignmentLine',
302
- leftIndex: [0, 1],
303
- rightIndex: [1]
304
- });
305
- }
306
- node.arguments = newArgument;
307
- return node;
308
- }
309
- exports.upgradeListSort = upgradeListSort;
310
- function handleListSort(node, parseState) {
311
- const args = node?.arguments;
312
- if (args?.[args?.length - 1]?.expression?.concept === 'BooleanLiteral') {
313
- if (DEBUG)
314
- return throwError(parseState, '调用 ListSort 函数需要使用最新的写法');
315
- // 老的 ListSort 结构'nasl.util.ListSort(variable1, (item) => item, true)',要升级成新的
316
- return upgradeListSort(node);
317
- }
318
- else {
319
- args?.forEach((arg, index) => {
320
- // 新的 ListSort: nasl.util.ListSort(list, (item) => ({ asc: true, by: item.name}))
321
- if (index !== 0) {
322
- const argExpression = arg?.expression;
323
- if (argExpression?.concept === 'AnonymousFunction' && argExpression?.body?.concept === 'NewComposite') {
324
- // 做下特殊处理
325
- if (argExpression?.body?.rights[1] && argExpression?.body?.rights[1]?.members[0]) {
326
- argExpression.body.rights[1].expression = argExpression?.body?.rights[1]?.members[0];
327
- argExpression.body.rights[1].members = [];
328
- argExpression.body.assignmentLines[1].rightIndex = [1];
329
- }
330
- if (!argExpression?.params?.length) {
331
- argExpression.params = [
332
- {
333
- concept: 'Param',
334
- name: 'item',
335
- typeAnnotation: null
336
- }
337
- ];
338
- }
339
- }
340
- }
341
- });
342
- return node;
343
- }
344
- }
345
- exports.handleListSort = handleListSort;
346
- function fetchFromComments(comments) {
347
- if (!comments || comments.length === 0)
348
- return;
349
- return comments[0].value.trim();
350
- }
351
- exports.fetchFromComments = fetchFromComments;
352
- const expectedOrder = [
353
- "FROM",
354
- "JOIN",
355
- "WHERE",
356
- "GROUP_BY",
357
- "SELECT",
358
- "HAVING",
359
- "ORDER_BY",
360
- ];
361
- function checkOQLCalleeNameOrder(calleeNames) {
362
- let currentIndex = -1;
363
- for (const name of calleeNames) {
364
- const expectedIndex = expectedOrder.findIndex((item) => name?.includes(item));
365
- if (expectedIndex === -1) {
366
- // 如果名称不在期望顺序中,返回 false
367
- return false;
368
- }
369
- if (expectedIndex < currentIndex) {
370
- // 如果当前名称的索引小于前一个名称的索引,返回 false
371
- return false;
372
- }
373
- currentIndex = expectedIndex;
374
- }
375
- return true;
376
- }
377
- exports.checkOQLCalleeNameOrder = checkOQLCalleeNameOrder;
378
- function pickDecoratorObject(objectExpression, keys, parseState) {
379
- const result = {};
380
- objectExpression.properties.forEach((item) => {
381
- if (item.type === 'ObjectProperty' && item.key.type === 'Identifier' && keys.has(item.key.name)) {
382
- let value;
383
- if (item.value.type === 'NullLiteral') {
384
- value = null;
385
- }
386
- else if (item.value.type === 'BooleanLiteral') {
387
- value = item.value.value;
388
- }
389
- else if (item.value.type === 'StringLiteral') {
390
- value = item.value.value;
391
- }
392
- else if (item.value.type === 'NumericLiteral') {
393
- value = item.value.value;
394
- }
395
- else {
396
- return throwError(parseState, '不支持的装饰器对象属性值:' + (0, generator_1.default)(item).code);
397
- }
398
- result[item.key.name] = value;
399
- }
400
- else {
401
- return throwError(parseState, '不支持的装饰器对象属性:' + (0, generator_1.default)(item).code);
402
- }
403
- });
404
- return result;
405
- }
406
- exports.pickDecoratorObject = pickDecoratorObject;
407
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/natural/transforms/utils.ts"],"names":[],"mappings":"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"}