@lcap/nasl 4.3.0-rc.5 → 4.4.0-beta.3

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 (173) hide show
  1. package/out/generator/annotation/full.d.ts.map +1 -1
  2. package/out/generator/annotation/full.js +0 -32
  3. package/out/generator/annotation/full.js.map +1 -1
  4. package/out/generator/genBundleFiles.d.ts +3 -2
  5. package/out/generator/genBundleFiles.d.ts.map +1 -1
  6. package/out/generator/genBundleFiles.js +178 -140
  7. package/out/generator/genBundleFiles.js.map +1 -1
  8. package/out/generator/genSimpleBundleFile.d.ts +19 -0
  9. package/out/generator/genSimpleBundleFile.d.ts.map +1 -0
  10. package/out/generator/genSimpleBundleFile.js +114 -0
  11. package/out/generator/genSimpleBundleFile.js.map +1 -0
  12. package/out/generator/index.d.ts +1 -0
  13. package/out/generator/index.d.ts.map +1 -1
  14. package/out/generator/index.js +1 -0
  15. package/out/generator/index.js.map +1 -1
  16. package/out/generator/qiankun.d.ts +1 -1
  17. package/out/generator/qiankun.d.ts.map +1 -1
  18. package/out/generator/qiankun.js +4 -1
  19. package/out/generator/qiankun.js.map +1 -1
  20. package/out/generator/release-body/data.d.ts.map +1 -1
  21. package/out/generator/release-body/data.js +34 -1
  22. package/out/generator/release-body/data.js.map +1 -1
  23. package/out/generator/release-body/utils.d.ts +2 -6
  24. package/out/generator/release-body/utils.d.ts.map +1 -1
  25. package/out/generator/release-body/utils.js +101 -3
  26. package/out/generator/release-body/utils.js.map +1 -1
  27. package/out/generator/templates/chunk.d.ts +11 -0
  28. package/out/generator/templates/chunk.d.ts.map +1 -0
  29. package/out/generator/templates/chunk.js +29 -0
  30. package/out/generator/templates/chunk.js.map +1 -0
  31. package/out/generator/templates/runtime.d.ts +7 -0
  32. package/out/generator/templates/runtime.d.ts.map +1 -0
  33. package/out/generator/templates/runtime.js +409 -0
  34. package/out/generator/templates/runtime.js.map +1 -0
  35. package/out/generator/ui-library-declaration/basic.d.ts.map +1 -1
  36. package/out/generator/ui-library-declaration/basic.js +5 -5
  37. package/out/generator/ui-library-declaration/basic.js.map +1 -1
  38. package/out/generator/ui-library-declaration/dependency.d.ts.map +1 -1
  39. package/out/generator/ui-library-declaration/dependency.js +3 -3
  40. package/out/generator/ui-library-declaration/dependency.js.map +1 -1
  41. package/out/index.d.ts +1 -0
  42. package/out/index.d.ts.map +1 -1
  43. package/out/index.js +1 -0
  44. package/out/index.js.map +1 -1
  45. package/out/manager/diagnostic.d.ts.map +1 -1
  46. package/out/manager/diagnostic.js +0 -1
  47. package/out/manager/diagnostic.js.map +1 -1
  48. package/out/natural/getContext/nasl2Files.d.ts +15 -0
  49. package/out/natural/getContext/nasl2Files.d.ts.map +1 -0
  50. package/out/natural/getContext/nasl2Files.js +75 -0
  51. package/out/natural/getContext/nasl2Files.js.map +1 -0
  52. package/out/natural/index.d.ts +5 -1
  53. package/out/natural/index.d.ts.map +1 -1
  54. package/out/natural/index.js +7 -1
  55. package/out/natural/index.js.map +1 -1
  56. package/out/natural/parseNaturalTS.d.ts +6 -8
  57. package/out/natural/parseNaturalTS.d.ts.map +1 -1
  58. package/out/natural/parseNaturalTS.js +205 -54
  59. package/out/natural/parseNaturalTS.js.map +1 -1
  60. package/out/natural/parseNaturalTSXView.d.ts +7 -0
  61. package/out/natural/parseNaturalTSXView.d.ts.map +1 -0
  62. package/out/natural/parseNaturalTSXView.js +722 -0
  63. package/out/natural/parseNaturalTSXView.js.map +1 -0
  64. package/out/natural/transform2BatchActions.d.ts +96 -0
  65. package/out/natural/transform2BatchActions.d.ts.map +1 -0
  66. package/out/natural/transform2BatchActions.js +387 -0
  67. package/out/natural/transform2BatchActions.js.map +1 -0
  68. package/out/natural/transformTS2UI.d.ts.map +1 -1
  69. package/out/natural/transformTS2UI.js +16 -25
  70. package/out/natural/transformTS2UI.js.map +1 -1
  71. package/out/natural/transformTSCode.d.ts +2 -2
  72. package/out/natural/transformTSCode.d.ts.map +1 -1
  73. package/out/natural/transformTSCode.js +19 -11
  74. package/out/natural/transformTSCode.js.map +1 -1
  75. package/out/natural/transforms/transform2Entity.d.ts +2 -2
  76. package/out/natural/transforms/transform2Entity.d.ts.map +1 -1
  77. package/out/natural/transforms/transform2Entity.js +31 -7
  78. package/out/natural/transforms/transform2Entity.js.map +1 -1
  79. package/out/natural/transforms/transform2Enum.d.ts +2 -2
  80. package/out/natural/transforms/transform2Enum.d.ts.map +1 -1
  81. package/out/natural/transforms/transform2Enum.js +20 -4
  82. package/out/natural/transforms/transform2Enum.js.map +1 -1
  83. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts +2 -2
  84. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts.map +1 -1
  85. package/out/natural/transforms/transform2GlobalLogicDeclaration.js +4 -4
  86. package/out/natural/transforms/transform2GlobalLogicDeclaration.js.map +1 -1
  87. package/out/natural/transforms/transform2Logic.d.ts +4 -2
  88. package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
  89. package/out/natural/transforms/transform2Logic.js +46 -8
  90. package/out/natural/transforms/transform2Logic.js.map +1 -1
  91. package/out/natural/transforms/transform2LogicItem.d.ts +65 -30
  92. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  93. package/out/natural/transforms/transform2LogicItem.js +502 -222
  94. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  95. package/out/natural/transforms/transform2MetadataType.d.ts +3 -0
  96. package/out/natural/transforms/transform2MetadataType.d.ts.map +1 -0
  97. package/out/natural/transforms/transform2MetadataType.js +14 -0
  98. package/out/natural/transforms/transform2MetadataType.js.map +1 -0
  99. package/out/natural/transforms/transform2Structure.d.ts +2 -2
  100. package/out/natural/transforms/transform2Structure.d.ts.map +1 -1
  101. package/out/natural/transforms/transform2Structure.js +5 -5
  102. package/out/natural/transforms/transform2Structure.js.map +1 -1
  103. package/out/natural/transforms/transform2TypeAnnotation.d.ts +2 -2
  104. package/out/natural/transforms/transform2TypeAnnotation.d.ts.map +1 -1
  105. package/out/natural/transforms/transform2TypeAnnotation.js +10 -14
  106. package/out/natural/transforms/transform2TypeAnnotation.js.map +1 -1
  107. package/out/natural/transforms/transform2ValidationRule.d.ts +3 -0
  108. package/out/natural/transforms/transform2ValidationRule.d.ts.map +1 -0
  109. package/out/natural/transforms/transform2ValidationRule.js +24 -0
  110. package/out/natural/transforms/transform2ValidationRule.js.map +1 -0
  111. package/out/natural/transforms/transform2Variable.d.ts +3 -2
  112. package/out/natural/transforms/transform2Variable.d.ts.map +1 -1
  113. package/out/natural/transforms/transform2Variable.js +30 -6
  114. package/out/natural/transforms/transform2Variable.js.map +1 -1
  115. package/out/natural/transforms/transformThemeAndStyle.d.ts +24 -0
  116. package/out/natural/transforms/transformThemeAndStyle.d.ts.map +1 -0
  117. package/out/natural/transforms/transformThemeAndStyle.js +269 -0
  118. package/out/natural/transforms/transformThemeAndStyle.js.map +1 -0
  119. package/out/natural/transforms/utils.d.ts +37 -3
  120. package/out/natural/transforms/utils.d.ts.map +1 -1
  121. package/out/natural/transforms/utils.js +95 -13
  122. package/out/natural/transforms/utils.js.map +1 -1
  123. package/out/server/OQL/oql-cache.js +1 -1
  124. package/out/server/OQL/oql-cache.js.map +1 -1
  125. package/out/server/OQL/sqlCategory.json +410 -0
  126. package/out/server/OQL/sqlFunctions.json +695 -7
  127. package/out/server/OQL/utils.d.ts +1 -0
  128. package/out/server/OQL/utils.d.ts.map +1 -1
  129. package/out/server/OQL/utils.js +1 -0
  130. package/out/server/OQL/utils.js.map +1 -1
  131. package/out/server/index.d.ts +1 -0
  132. package/out/server/index.d.ts.map +1 -1
  133. package/out/server/index.js +1 -0
  134. package/out/server/index.js.map +1 -1
  135. package/out/server/naslServer.d.ts +5 -2
  136. package/out/server/naslServer.d.ts.map +1 -1
  137. package/out/server/naslServer.js +62 -34
  138. package/out/server/naslServer.js.map +1 -1
  139. package/out/service/initial/form-designer.d.ts +1 -1
  140. package/out/service/initial/form-designer.d.ts.map +1 -1
  141. package/out/service/initial/form-designer.js +4 -1
  142. package/out/service/initial/form-designer.js.map +1 -1
  143. package/out/service/initial/processV2.d.ts +1 -1
  144. package/out/service/initial/processV2.d.ts.map +1 -1
  145. package/out/service/initial/processV2.js +4 -1
  146. package/out/service/initial/processV2.js.map +1 -1
  147. package/out/service/initial/types.d.ts +1 -0
  148. package/out/service/initial/types.d.ts.map +1 -1
  149. package/out/service/storage/api.d.ts +9 -0
  150. package/out/service/storage/api.js +8 -0
  151. package/out/service/storage/api.js.map +1 -1
  152. package/out/service/storage/service.d.ts +3 -0
  153. package/out/service/storage/service.d.ts.map +1 -1
  154. package/out/service/storage/service.js +11 -0
  155. package/out/service/storage/service.js.map +1 -1
  156. package/out/service/storage/specTools.d.ts +34 -0
  157. package/out/service/storage/specTools.d.ts.map +1 -0
  158. package/out/service/storage/specTools.js +52 -0
  159. package/out/service/storage/specTools.js.map +1 -0
  160. package/out/utils/json-schema-to-nasl-type.d.ts +37 -0
  161. package/out/utils/json-schema-to-nasl-type.d.ts.map +1 -0
  162. package/out/utils/json-schema-to-nasl-type.js +195 -0
  163. package/out/utils/json-schema-to-nasl-type.js.map +1 -0
  164. package/package.json +12 -10
  165. package/sandbox/stdlib/nasl.oql.ts +1 -0
  166. package/out/generator/ui-library-declaration/utils.d.ts +0 -3
  167. package/out/generator/ui-library-declaration/utils.d.ts.map +0 -1
  168. package/out/generator/ui-library-declaration/utils.js +0 -20
  169. package/out/generator/ui-library-declaration/utils.js.map +0 -1
  170. package/out/natural/transforms/registerTransform.d.ts +0 -8
  171. package/out/natural/transforms/registerTransform.d.ts.map +0 -1
  172. package/out/natural/transforms/registerTransform.js +0 -24
  173. package/out/natural/transforms/registerTransform.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.transform2TypeAnnotation = void 0;
4
4
  const utils_1 = require("./utils");
5
- function transform2TypeAnnotation(node) {
5
+ function transform2TypeAnnotation(node, parseState) {
6
6
  if (!node)
7
7
  return null;
8
8
  if (node.type === 'TSTypeReference') {
@@ -26,8 +26,7 @@ function transform2TypeAnnotation(node) {
26
26
  });
27
27
  }
28
28
  if (typeName === 'Any' || typeName === 'any' || typeName === '__IDENTIFIER__') {
29
- (0, utils_1.throwError)(`Unsupport type ${typeName}`);
30
- return undefined;
29
+ return (0, utils_1.throwError)(parseState, `Unsupport type ${typeName}`);
31
30
  }
32
31
  if (typeName === 'Integer') {
33
32
  return utils_1.naslTypes.TypeAnnotation.createPrimitive('Long');
@@ -45,7 +44,7 @@ function transform2TypeAnnotation(node) {
45
44
  if (['HttpRequest', 'HttpResponse'].includes(typeName)) {
46
45
  return utils_1.naslTypes.TypeAnnotation.createGeneric(typeName, {
47
46
  typeNamespace: 'nasl.http',
48
- typeArguments: node?.typeParameters?.params.map(transform2TypeAnnotation),
47
+ typeArguments: node?.typeParameters?.params.map((type) => transform2TypeAnnotation(type, parseState)).filter(Boolean),
49
48
  });
50
49
  }
51
50
  if (primitiveType) {
@@ -64,13 +63,13 @@ function transform2TypeAnnotation(node) {
64
63
  };
65
64
  }
66
65
  return type;
67
- }).map(transform2TypeAnnotation),
66
+ }).map((type) => transform2TypeAnnotation(type, parseState)).filter(Boolean),
68
67
  });
69
68
  }
70
69
  if (node.typeName.type === 'TSQualifiedName' && node.typeParameters) {
71
70
  const curTypeName = node?.typeName?.right?.name;
72
71
  return utils_1.naslTypes.TypeAnnotation.createGeneric(curTypeName, {
73
- typeArguments: node?.typeParameters?.params.map(transform2TypeAnnotation),
72
+ typeArguments: node?.typeParameters?.params.map((type) => transform2TypeAnnotation(type, parseState)).filter(Boolean),
74
73
  });
75
74
  }
76
75
  if (!node.typeParameters) {
@@ -92,17 +91,14 @@ function transform2TypeAnnotation(node) {
92
91
  typeNamespace: 'nasl.util',
93
92
  });
94
93
  }
95
- (0, utils_1.throwError)(`Unknown type reference ${typeName}`);
96
- return utils_1.naslTypes.TypeAnnotation.createReference(typeName, {
97
- typeNamespace: null,
98
- });
94
+ return (0, utils_1.throwError)(parseState, `Unknown type reference ${typeName}`);
99
95
  }
100
- (0, utils_1.throwError)(`Unhandled node ${node.type}`);
96
+ return (0, utils_1.throwError)(parseState, `Unhandled node ${node.type}`);
101
97
  }
102
98
  else if (node.type === 'TSTypeLiteral') {
103
99
  return utils_1.naslTypes.TypeAnnotation.createTypeAnonymousStructure(node.members.map((member) => new utils_1.naslTypes.StructureProperty({
104
100
  name: member.key.name,
105
- typeAnnotation: transform2TypeAnnotation(member.typeAnnotation.typeAnnotation),
101
+ typeAnnotation: transform2TypeAnnotation(member.typeAnnotation.typeAnnotation, parseState) || undefined,
106
102
  })));
107
103
  }
108
104
  else if (node.type === 'TSBooleanKeyword') {
@@ -118,12 +114,12 @@ function transform2TypeAnnotation(node) {
118
114
  const union = utils_1.naslTypes.TypeAnnotation.createPrimitive('Union');
119
115
  union.typeArguments = [];
120
116
  node.types.forEach((curType) => {
121
- union.typeArguments.push(transform2TypeAnnotation(curType));
117
+ union.typeArguments.push(transform2TypeAnnotation(curType, parseState) || undefined);
122
118
  });
123
119
  return union;
124
120
  }
125
121
  else {
126
- (0, utils_1.throwError)(`Unhandled node ${node.type}`);
122
+ return (0, utils_1.throwError)(parseState, `Unhandled node ${node.type}`);
127
123
  }
128
124
  }
129
125
  exports.transform2TypeAnnotation = transform2TypeAnnotation;
@@ -1 +1 @@
1
- {"version":3,"file":"transform2TypeAnnotation.js","sourceRoot":"","sources":["../../../src/natural/transforms/transform2TypeAnnotation.ts"],"names":[],"mappings":";;;AAAA,mCAAyF;AAEzF,SAAgB,wBAAwB,CAAC,IAAuB;IAC9D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACpC,IAAI,cAAqC,CAAC;QAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC7C,cAAc,GAAI,IAAI,CAAC,QAAgB,CAAC,KAAK,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,IAAI,CAAC,QAAiC,CAAC;QAC1D,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;QACrC,MAAM,aAAa,GAAG,iBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACzF,IAAK,IAAY,EAAE,aAAa,EAAE,CAAC;YACjC,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACxD,aAAa,EAAG,IAAY,CAAC,aAAa;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACxD,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAC9E,IAAA,kBAAU,EAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE;gBACvD,aAAa,EAAE,YAAY;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACxD,aAAa,EAAE,WAAW;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvD,OAAO,iBAAS,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACtD,aAAa,EAAE,WAAW;gBAC1B,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;aAC1E,CAAC,CAAC;QACL,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;YAC1E,OAAO,iBAAS,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACtD,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACvD,IAAI,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACxD,OAAO;4BACL,IAAI,EAAE,iBAAiB;4BACvB,QAAQ,EAAE;gCACR,IAAI,EAAE,YAAY;gCAClB,IAAI,EAAE,GAAG;6BACV;yBACF,CAAC;oBACJ,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACpE,MAAM,WAAW,GAAI,IAAI,EAAE,QAAgB,EAAE,KAAK,EAAE,IAAI,CAAC;YACzD,OAAO,iBAAS,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAAE;gBACzD,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;aAC1E,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAC/C,MAAM,WAAW,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAW,CAAC,EAAE,IAAI,CAAC;gBAChE,kBAAkB;gBAClB,IACE,4GAA4G,CAAC,IAAI,CAC/G,WAAW,CACZ,EACD,CAAC;oBACD,MAAM,WAAW,GAAI,IAAI,EAAE,QAAgB,EAAE,KAAK,EAAE,IAAI,CAAC;oBACzD,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,EAAE;wBAC3D,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC;qBACjE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACrB,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClD,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE;oBACvD,aAAa,EAAE,WAAW;iBAC3B,CAAC,CAAC;YACL,CAAC;YACD,IAAA,kBAAU,EAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;YACjD,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACxD,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;QACL,CAAC;QACD,IAAA,kBAAU,EAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACzC,OAAO,iBAAS,CAAC,cAAc,CAAC,4BAA4B,CAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,CAAC,MAAsC,EAAE,EAAE,CACzC,IAAI,iBAAS,CAAC,iBAAiB,CAAC;YAC9B,IAAI,EAAG,MAAM,CAAC,GAA6B,CAAC,IAAI;YAChD,cAAc,EAAE,wBAAwB,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC;SAC/E,CAAC,CACL,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC5C,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC3C,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC3C,OAAO,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,iBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAChE,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,IAAA,kBAAU,EAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AA/HD,4DA+HC"}
1
+ {"version":3,"file":"transform2TypeAnnotation.js","sourceRoot":"","sources":["../../../src/natural/transforms/transform2TypeAnnotation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { babelTypes, naslTypes, ParseNaturalTSState } from "./utils";
2
+ export declare function transform2ValidationRule(node: babelTypes.CallExpression, parseState: ParseNaturalTSState): naslTypes.ValidationRule;
3
+ //# sourceMappingURL=transform2ValidationRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform2ValidationRule.d.ts","sourceRoot":"","sources":["../../../src/natural/transforms/transform2ValidationRule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAwB,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE3F,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,EAAE,UAAU,EAAE,mBAAmB,GAAG,SAAS,CAAC,cAAc,CAkBnI"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transform2ValidationRule = void 0;
4
+ const transform2LogicItem_1 = require("./transform2LogicItem");
5
+ const utils_1 = require("./utils");
6
+ function transform2ValidationRule(node, parseState) {
7
+ const callee = (0, utils_1.generate)(node.callee).code;
8
+ const calleeArr = callee.split('.');
9
+ const calleeName = calleeArr.pop();
10
+ const calleeNamespace = calleeArr.join('.');
11
+ if (calleeNamespace && calleeNamespace !== 'nasl.validation') {
12
+ return (0, utils_1.throwError)(parseState, 'rules 中的函数命令空间可以不填或必须为 nasl.validation', node);
13
+ }
14
+ const rule = new utils_1.naslTypes.ValidationRule({
15
+ calleeNamespace: 'nasl.validation',
16
+ calleeName,
17
+ arguments: node.arguments.map((arg) => new utils_1.naslTypes.Argument({
18
+ expression: (0, transform2LogicItem_1.transform2LogicItem)(arg, { ...parseState, transformType: 'attr' }),
19
+ })),
20
+ });
21
+ return rule;
22
+ }
23
+ exports.transform2ValidationRule = transform2ValidationRule;
24
+ //# sourceMappingURL=transform2ValidationRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform2ValidationRule.js","sourceRoot":"","sources":["../../../src/natural/transforms/transform2ValidationRule.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAC5D,mCAA2F;AAE3F,SAAgB,wBAAwB,CAAC,IAA+B,EAAE,UAA+B;IACvG,MAAM,MAAM,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,eAAe,IAAI,eAAe,KAAK,iBAAiB,EAAE,CAAC;QAC7D,OAAO,IAAA,kBAAU,EAAC,UAAU,EAAE,wCAAwC,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,iBAAS,CAAC,cAAc,CAAC;QACxC,eAAe,EAAE,iBAAiB;QAClC,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,iBAAS,CAAC,QAAQ,CAAC;YAC1D,UAAU,EAAE,IAAA,yCAAmB,EAAC,GAAG,EAAE,EAAE,GAAG,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;SACjF,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,4DAkBC"}
@@ -1,3 +1,4 @@
1
- import { babelTypes, naslTypes } from './utils';
2
- export declare function transform2BackendVariable(node: babelTypes.VariableDeclaration): naslTypes.BackendVariable;
1
+ import { babelTypes, naslTypes, ParseNaturalTSState } from './utils';
2
+ export declare function transform2BackendVariable(node: babelTypes.VariableDeclaration, parseState: ParseNaturalTSState): naslTypes.BackendVariable | void;
3
+ export declare function transform2FrontendVariable(node: babelTypes.VariableDeclaration, parseState: ParseNaturalTSState): naslTypes.FrontendVariable | void;
3
4
  //# sourceMappingURL=transform2Variable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform2Variable.d.ts","sourceRoot":"","sources":["../../../src/natural/transforms/transform2Variable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAuG,MAAM,SAAS,CAAC;AAKrJ,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,mBAAmB,GAAG,SAAS,CAAC,eAAe,CAsBzG"}
1
+ {"version":3,"file":"transform2Variable.d.ts","sourceRoot":"","sources":["../../../src/natural/transforms/transform2Variable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAuG,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAK1K,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,GAAG,SAAS,CAAC,eAAe,GAAG,IAAI,CAsBjJ;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,GAAG,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAsBnJ"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transform2BackendVariable = void 0;
3
+ exports.transform2FrontendVariable = exports.transform2BackendVariable = void 0;
4
4
  const utils_1 = require("./utils");
5
5
  const transform2TypeAnnotation_1 = require("./transform2TypeAnnotation");
6
6
  const transform2LogicItem_1 = require("./transform2LogicItem");
7
- function transform2BackendVariable(node) {
7
+ function transform2BackendVariable(node, parseState) {
8
8
  if (node.declarations.length !== 1)
9
- (0, utils_1.throwError)(`VariableDeclaration should have only one declaration`);
9
+ return (0, utils_1.throwError)(parseState, `VariableDeclaration should have only one declaration`);
10
10
  const declarator = node.declarations[0];
11
11
  if (declarator.id.type !== 'Identifier')
12
- (0, utils_1.throwError)(`VariableDeclarator 标识符应该是 Identifier`);
12
+ return (0, utils_1.throwError)(parseState, `VariableDeclarator 标识符应该是 Identifier`);
13
13
  const id = declarator.id;
14
14
  const variable = new utils_1.naslTypes.BackendVariable({
15
15
  scope: 'request',
@@ -18,14 +18,38 @@ function transform2BackendVariable(node) {
18
18
  variable.description = (0, utils_1.fetchFromComments)(node.leadingComments);
19
19
  const typeAnnotation = id.typeAnnotation?.typeAnnotation;
20
20
  if (typeAnnotation) {
21
- variable.typeAnnotation = (0, transform2TypeAnnotation_1.transform2TypeAnnotation)(typeAnnotation);
21
+ variable.typeAnnotation = (0, transform2TypeAnnotation_1.transform2TypeAnnotation)(typeAnnotation, parseState) || undefined;
22
22
  }
23
23
  if (declarator.init) {
24
24
  variable.defaultValue = new utils_1.naslTypes.DefaultValue({
25
- expression: (0, transform2LogicItem_1.transform2LogicItem)(declarator.init, { transformType: 'attr' }),
25
+ expression: (0, transform2LogicItem_1.transform2LogicItem)(declarator.init, { ...parseState, transformType: 'attr' }),
26
26
  });
27
27
  }
28
28
  return variable;
29
29
  }
30
30
  exports.transform2BackendVariable = transform2BackendVariable;
31
+ function transform2FrontendVariable(node, parseState) {
32
+ if (node.declarations.length !== 1)
33
+ return (0, utils_1.throwError)(parseState, `VariableDeclaration should have only one declaration`);
34
+ const declarator = node.declarations[0];
35
+ if (declarator.id.type !== 'Identifier')
36
+ return (0, utils_1.throwError)(parseState, `VariableDeclarator 标识符应该是 Identifier`);
37
+ const id = declarator.id;
38
+ const variable = new utils_1.naslTypes.FrontendVariable({
39
+ localCache: false,
40
+ });
41
+ variable.name = id.name;
42
+ variable.description = (0, utils_1.fetchFromComments)(node.leadingComments);
43
+ const typeAnnotation = id.typeAnnotation?.typeAnnotation;
44
+ if (typeAnnotation) {
45
+ variable.typeAnnotation = (0, transform2TypeAnnotation_1.transform2TypeAnnotation)(typeAnnotation, parseState) || undefined;
46
+ }
47
+ if (declarator.init) {
48
+ variable.defaultValue = new utils_1.naslTypes.DefaultValue({
49
+ expression: (0, transform2LogicItem_1.transform2LogicItem)(declarator.init, { ...parseState, transformType: 'attr' }),
50
+ });
51
+ }
52
+ return variable;
53
+ }
54
+ exports.transform2FrontendVariable = transform2FrontendVariable;
31
55
  //# sourceMappingURL=transform2Variable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform2Variable.js","sourceRoot":"","sources":["../../../src/natural/transforms/transform2Variable.ts"],"names":[],"mappings":";;;AAAA,mCAAqJ;AACrJ,yEAAsE;AAEtE,+DAA4D;AAE5D,SAAgB,yBAAyB,CAAC,IAAoC;IAC1E,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,IAAA,kBAAU,EAAC,sDAAsD,CAAC,CAAC;IACvG,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY;QAAE,IAAA,kBAAU,EAAC,sCAAsC,CAAC,CAAC;IAC5F,MAAM,EAAE,GAAG,UAAU,CAAC,EAA2B,CAAC;IAElD,MAAM,QAAQ,GAAG,IAAI,iBAAS,CAAC,eAAe,CAAC;QAC3C,KAAK,EAAE,SAAS;KACnB,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IACxB,QAAQ,CAAC,WAAW,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAE/D,MAAM,cAAc,GAAI,EAAE,CAAC,cAA8C,EAAE,cAAc,CAAC;IAC1F,IAAI,cAAc,EAAE,CAAC;QACjB,QAAQ,CAAC,cAAc,GAAG,IAAA,mDAAwB,EAAC,cAAc,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,QAAQ,CAAC,YAAY,GAAG,IAAI,iBAAS,CAAC,YAAY,CAAC;YAC/C,UAAU,EAAE,IAAA,yCAAmB,EAAC,UAAU,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;SAC9E,CAAC,CAAC;IACP,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAtBD,8DAsBC"}
1
+ {"version":3,"file":"transform2Variable.js","sourceRoot":"","sources":["../../../src/natural/transforms/transform2Variable.ts"],"names":[],"mappings":";;;AAAA,mCAA0K;AAC1K,yEAAsE;AAEtE,+DAA4D;AAE5D,SAAgB,yBAAyB,CAAC,IAAoC,EAAE,UAA+B;IAC3G,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAA,kBAAU,EAAC,UAAU,EAAE,sDAAsD,CAAC,CAAC;IAC1H,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,IAAA,kBAAU,EAAC,UAAU,EAAE,sCAAsC,CAAC,CAAC;IAC/G,MAAM,EAAE,GAAG,UAAU,CAAC,EAA2B,CAAC;IAElD,MAAM,QAAQ,GAAG,IAAI,iBAAS,CAAC,eAAe,CAAC;QAC3C,KAAK,EAAE,SAAS;KACnB,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IACxB,QAAQ,CAAC,WAAW,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAE/D,MAAM,cAAc,GAAI,EAAE,CAAC,cAA8C,EAAE,cAAc,CAAC;IAC1F,IAAI,cAAc,EAAE,CAAC;QACjB,QAAQ,CAAC,cAAc,GAAG,IAAA,mDAAwB,EAAC,cAAc,EAAE,UAAU,CAAC,IAAI,SAAS,CAAC;IAChG,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,QAAQ,CAAC,YAAY,GAAG,IAAI,iBAAS,CAAC,YAAY,CAAC;YAC/C,UAAU,EAAE,IAAA,yCAAmB,EAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;SAC7F,CAAC,CAAC;IACP,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAtBD,8DAsBC;AAED,SAAgB,0BAA0B,CAAC,IAAoC,EAAE,UAA+B;IAC5G,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAA,kBAAU,EAAC,UAAU,EAAE,sDAAsD,CAAC,CAAC;IAC1H,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,IAAA,kBAAU,EAAC,UAAU,EAAE,sCAAsC,CAAC,CAAC;IAC/G,MAAM,EAAE,GAAG,UAAU,CAAC,EAA2B,CAAC;IAElD,MAAM,QAAQ,GAAG,IAAI,iBAAS,CAAC,gBAAgB,CAAC;QAC5C,UAAU,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IACxB,QAAQ,CAAC,WAAW,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAE/D,MAAM,cAAc,GAAI,EAAE,CAAC,cAA8C,EAAE,cAAc,CAAC;IAC1F,IAAI,cAAc,EAAE,CAAC;QACjB,QAAQ,CAAC,cAAc,GAAG,IAAA,mDAAwB,EAAC,cAAc,EAAE,UAAU,CAAC,IAAI,SAAS,CAAC;IAChG,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,QAAQ,CAAC,YAAY,GAAG,IAAI,iBAAS,CAAC,YAAY,CAAC;YAC/C,UAAU,EAAE,IAAA,yCAAmB,EAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;SAC7F,CAAC,CAAC;IACP,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAtBD,gEAsBC"}
@@ -0,0 +1,24 @@
1
+ import { naslTypes, ParseNaturalTSState } from './utils';
2
+ /**
3
+ * "map": {
4
+ ":root": {
5
+ "--brand-primary-disabled": "#b4c7e4",
6
+ "--brand-primary-opacity-20": "#355b9733",
7
+ "--brand-primary-lightest": "#e6ecf6",
8
+ "--brand-primary-lighter": "#b4c7e4",
9
+ "--brand-primary-light": "#3e6ab0",
10
+ "--brand-primary-dark": "#2f5186",
11
+ "--brand-primary-darker": "#121e32",
12
+ "--brand-primary-darkest": "#060a11",
13
+ "--brand-primary": "#355b97",
14
+ "--panel-background": "#bbb5b5"
15
+ },
16
+
17
+ ".el-card": {
18
+ "--el-card-border-color": "#28498c"
19
+ }
20
+ },
21
+ */
22
+ export declare function transformTheme(css: string, parseState: ParseNaturalTSState): Record<string, Record<string, string>>;
23
+ export declare function transformStyle(css: string, parseState: ParseNaturalTSState): naslTypes.CSSRule[];
24
+ //# sourceMappingURL=transformThemeAndStyle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformThemeAndStyle.d.ts","sourceRoot":"","sources":["../../../src/natural/transforms/transformThemeAndStyle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAc,MAAM,SAAS,CAAC;AAGrE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,0CAoC1E;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,uBAgC1E"}
@@ -0,0 +1,269 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.transformStyle = exports.transformTheme = void 0;
27
+ const postcss = __importStar(require("postcss"));
28
+ const postcss_values_parser_1 = require("postcss-values-parser");
29
+ const utils_1 = require("./utils");
30
+ const lodash_1 = require("lodash");
31
+ /**
32
+ * "map": {
33
+ ":root": {
34
+ "--brand-primary-disabled": "#b4c7e4",
35
+ "--brand-primary-opacity-20": "#355b9733",
36
+ "--brand-primary-lightest": "#e6ecf6",
37
+ "--brand-primary-lighter": "#b4c7e4",
38
+ "--brand-primary-light": "#3e6ab0",
39
+ "--brand-primary-dark": "#2f5186",
40
+ "--brand-primary-darker": "#121e32",
41
+ "--brand-primary-darkest": "#060a11",
42
+ "--brand-primary": "#355b97",
43
+ "--panel-background": "#bbb5b5"
44
+ },
45
+
46
+ ".el-card": {
47
+ "--el-card-border-color": "#28498c"
48
+ }
49
+ },
50
+ */
51
+ function transformTheme(css, parseState) {
52
+ const root = postcss.parse(css);
53
+ const map = {};
54
+ root.nodes.forEach((node) => {
55
+ if (node.type === 'comment')
56
+ return;
57
+ if (node.type === 'rule') {
58
+ // 获取选择器,支持多个选择器用逗号分隔
59
+ const selectors = node.selector.split(',').map(s => s.trim());
60
+ selectors.forEach(selector => {
61
+ // 初始化选择器对应的变量映射
62
+ if (!map[selector]) {
63
+ map[selector] = {};
64
+ }
65
+ node.nodes.forEach((decl) => {
66
+ if (decl.type === 'comment')
67
+ return;
68
+ if (decl.type === 'decl') {
69
+ // 只处理 CSS 变量(以 -- 开头的属性)
70
+ if (decl.prop.startsWith('--')) {
71
+ map[selector][decl.prop] = decl.value.trim();
72
+ }
73
+ else {
74
+ return (0, utils_1.throwError)(parseState, '$theme 中只支持 CSS 变量,不支持其他属性:' + decl.prop);
75
+ }
76
+ }
77
+ else {
78
+ return (0, utils_1.throwError)(parseState, '不支持的节点类型:' + decl.type);
79
+ }
80
+ });
81
+ });
82
+ }
83
+ else {
84
+ return (0, utils_1.throwError)(parseState, '不支持的节点类型:' + node.type);
85
+ }
86
+ });
87
+ return map;
88
+ }
89
+ exports.transformTheme = transformTheme;
90
+ function transformStyle(css, parseState) {
91
+ const root = postcss.parse(css);
92
+ const cssRules = [];
93
+ root.nodes.forEach((node) => {
94
+ if (node.type === 'comment')
95
+ return;
96
+ if (node.type === 'rule') {
97
+ const selector = node.selector;
98
+ const declarations = {};
99
+ node.nodes.forEach((decl) => {
100
+ if (decl.type === 'comment')
101
+ return;
102
+ if (decl.type === 'decl') {
103
+ Object.assign(declarations, getChildrenDeclaration(decl));
104
+ }
105
+ else {
106
+ return (0, utils_1.throwError)(parseState, '不支持的节点类型:' + decl.type);
107
+ }
108
+ });
109
+ cssRules.push({
110
+ concept: 'CSSRule',
111
+ selector,
112
+ declarations,
113
+ });
114
+ }
115
+ else {
116
+ return (0, utils_1.throwError)(parseState, '不支持的节点类型:' + node.type);
117
+ }
118
+ });
119
+ return cssRules.map((cssRule) => new utils_1.naslTypes.CSSRule(cssRule));
120
+ }
121
+ exports.transformStyle = transformStyle;
122
+ function getChildrenValue(val) {
123
+ return val.nodes.map((node) => node.toString());
124
+ }
125
+ /**
126
+ * @ref https://github.com/netease-lcap/ui-libraries/blob/test/packages/builder/src/build/build-css-info.ts#L206
127
+ */
128
+ function getChildrenDeclaration(decl) {
129
+ let match;
130
+ const value = decl.value;
131
+ const declarations = {};
132
+ if (decl.prop === 'background') {
133
+ declarations.backgroundColor = decl.value;
134
+ }
135
+ else if (decl.prop === 'border') {
136
+ if (value === undefined || value === null)
137
+ return;
138
+ const parseVal = (0, postcss_values_parser_1.parse)(value);
139
+ const arr = getChildrenValue(parseVal);
140
+ // const arr = value.split(/\s+/);
141
+ if (arr.length < 3)
142
+ return;
143
+ const [borderWidth, borderStyle, borderColor] = arr;
144
+ declarations.borderLeftWidth = borderWidth;
145
+ declarations.borderLeftStyle = borderStyle;
146
+ declarations.borderLeftColor = borderColor;
147
+ declarations.borderRightWidth = borderWidth;
148
+ declarations.borderRightStyle = borderStyle;
149
+ declarations.borderRightColor = borderColor;
150
+ declarations.borderTopWidth = borderWidth;
151
+ declarations.borderTopStyle = borderStyle;
152
+ declarations.borderTopColor = borderColor;
153
+ declarations.borderBottomWidth = borderWidth;
154
+ declarations.borderBottomStyle = borderStyle;
155
+ declarations.borderBottomColor = borderColor;
156
+ }
157
+ else if ((match = decl.prop.match(/^border-(left|right|top|bottom)$/))) {
158
+ const borderProp = match[1];
159
+ if (value === undefined || value === null)
160
+ return;
161
+ const parseVal = (0, postcss_values_parser_1.parse)(value);
162
+ const arr = getChildrenValue(parseVal);
163
+ // const arr = value.split(/\s+/);
164
+ if (arr.length < 3)
165
+ return;
166
+ const [borderWidth, borderStyle, borderColor] = arr;
167
+ declarations[`border${(0, lodash_1.capitalize)(borderProp)}Width`] = borderWidth;
168
+ declarations[`border${(0, lodash_1.capitalize)(borderProp)}Style`] = borderStyle;
169
+ declarations[`border${(0, lodash_1.capitalize)(borderProp)}Color`] = borderColor;
170
+ }
171
+ else if (decl.prop === 'margin') {
172
+ if (value === undefined || value === null)
173
+ return;
174
+ const parseVal = (0, postcss_values_parser_1.parse)(value);
175
+ const arr = getChildrenValue(parseVal);
176
+ // const arr = value.split(/\s+/);
177
+ if (arr.length === 1) {
178
+ declarations.marginTop = arr[0];
179
+ declarations.marginRight = arr[0];
180
+ declarations.marginBottom = arr[0];
181
+ declarations.marginLeft = arr[0];
182
+ }
183
+ else if (arr.length === 2) {
184
+ declarations.marginTop = arr[0];
185
+ declarations.marginRight = arr[1];
186
+ declarations.marginBottom = arr[0];
187
+ declarations.marginLeft = arr[1];
188
+ }
189
+ else if (arr.length === 3) {
190
+ declarations.marginTop = arr[0];
191
+ declarations.marginRight = arr[1];
192
+ declarations.marginBottom = arr[2];
193
+ declarations.marginLeft = arr[1];
194
+ }
195
+ else if (arr.length === 4) {
196
+ declarations.marginTop = arr[0];
197
+ declarations.marginRight = arr[1];
198
+ declarations.marginBottom = arr[2];
199
+ declarations.marginLeft = arr[3];
200
+ }
201
+ }
202
+ else if (decl.prop === 'padding') {
203
+ if (value === undefined || value === null)
204
+ return;
205
+ const parseVal = (0, postcss_values_parser_1.parse)(value);
206
+ const arr = getChildrenValue(parseVal);
207
+ // const arr = value.split(/\s+/);
208
+ if (arr.length === 1) {
209
+ declarations.paddingTop = arr[0];
210
+ declarations.paddingRight = arr[0];
211
+ declarations.paddingBottom = arr[0];
212
+ declarations.paddingLeft = arr[0];
213
+ }
214
+ else if (arr.length === 2) {
215
+ declarations.paddingTop = arr[0];
216
+ declarations.paddingRight = arr[1];
217
+ declarations.paddingBottom = arr[0];
218
+ declarations.paddingLeft = arr[1];
219
+ }
220
+ else if (arr.length === 3) {
221
+ declarations.paddingTop = arr[0];
222
+ declarations.paddingRight = arr[1];
223
+ declarations.paddingBottom = arr[2];
224
+ declarations.paddingLeft = arr[1];
225
+ }
226
+ else if (arr.length === 4) {
227
+ declarations.paddingTop = arr[0];
228
+ declarations.paddingRight = arr[1];
229
+ declarations.paddingBottom = arr[2];
230
+ declarations.paddingLeft = arr[3];
231
+ }
232
+ }
233
+ else if (decl.prop === 'border-radius') {
234
+ if (value === undefined || value === null)
235
+ return;
236
+ const parseVal = (0, postcss_values_parser_1.parse)(value);
237
+ const arr = getChildrenValue(parseVal);
238
+ // const arr = value.split(/\s+/);
239
+ if (arr.length === 1) {
240
+ declarations.borderTopLeftRadius = arr[0];
241
+ declarations.borderTopRightRadius = arr[0];
242
+ declarations.borderBottomRightRadius = arr[0];
243
+ declarations.borderBottomLeftRadius = arr[0];
244
+ }
245
+ else if (arr.length === 2) {
246
+ declarations.borderTopLeftRadius = arr[0];
247
+ declarations.borderTopRightRadius = arr[1];
248
+ declarations.borderBottomRightRadius = arr[0];
249
+ declarations.borderBottomLeftRadius = arr[1];
250
+ }
251
+ else if (arr.length === 3) {
252
+ declarations.borderTopLeftRadius = arr[0];
253
+ declarations.borderTopRightRadius = arr[1];
254
+ declarations.borderBottomRightRadius = arr[2];
255
+ declarations.borderBottomLeftRadius = arr[1];
256
+ }
257
+ else if (arr.length === 4) {
258
+ declarations.borderTopLeftRadius = arr[0];
259
+ declarations.borderTopRightRadius = arr[1];
260
+ declarations.borderBottomRightRadius = arr[2];
261
+ declarations.borderBottomLeftRadius = arr[3];
262
+ }
263
+ }
264
+ else {
265
+ declarations[(0, lodash_1.camelCase)(decl.prop)] = decl.value;
266
+ }
267
+ return declarations;
268
+ }
269
+ //# sourceMappingURL=transformThemeAndStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformThemeAndStyle.js","sourceRoot":"","sources":["../../../src/natural/transforms/transformThemeAndStyle.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,40 @@ import * as naslTypes from '../../concepts';
4
4
  import generate from '@babel/generator';
5
5
  export { babelTypes, naslTypes, generate };
6
6
  export declare function DEBUG(): boolean;
7
- export declare function throwError(message: string, force?: boolean): void;
7
+ export declare const parseNaturalTSErrorMap: Record<number, Array<string>>;
8
+ export declare class ParseNaturalTSError extends Error {
9
+ constructor(message: string);
10
+ }
11
+ export interface ParseNaturalTSState {
12
+ $$beacon: true;
13
+ parsingId?: number;
14
+ nodeNamespace?: string;
15
+ nodeName?: string;
16
+ moduleName?: string;
17
+ appendExtName?: boolean;
18
+ }
19
+ export interface ParseLogicState extends ParseNaturalTSState {
20
+ isInFrontend?: boolean;
21
+ logicType?: 'global_logic' | 'view_logic' | 'event_logic';
22
+ logicKind?: 'declare' | 'export';
23
+ }
24
+ export interface ParseViewState extends ParseLogicState {
25
+ nameMap: Map<string, boolean>;
26
+ }
27
+ /**
28
+ * 抛出错误
29
+ * @param message 错误信息
30
+ * @param babelNode babel节点,用于便捷生成代码片段信息
31
+ * @param babelNode2 babel节点,用于便捷生成代码片段信息
32
+ */
33
+ export declare function throwError(state: ParseNaturalTSState, message: string, babelNode?: babelTypes.Node | string, babelNode2?: babelTypes.Node | string): undefined;
34
+ /**
35
+ * 抛出警告,在 DEBUG 模式下不抛出这类错误
36
+ * @param message 错误信息
37
+ * @param babelNode babel节点,用于便捷生成代码片段信息
38
+ * @param babelNode2 babel节点,用于便捷生成代码片段信息
39
+ */
40
+ export declare function throwWarning(message: string, babelNode?: babelTypes.Node | string, babelNode2?: babelTypes.Node | string): void;
8
41
  export declare function tryParseTS(tsCode: string): import("@babel/parser").ParseResult<babel.types.File>;
9
42
  export declare const callFunctionMap: string[];
10
43
  export declare const replaceCallFunctionMap: {
@@ -16,10 +49,11 @@ export declare const replaceCallFunctionMap: {
16
49
  ListRemove: string;
17
50
  ListRemoveAt: string;
18
51
  ListSet: string;
52
+ COUNTD: string;
19
53
  };
20
54
  export declare function upgradeListSort(node: any): any;
21
- export declare function handleListSort(node: any): any;
55
+ export declare function handleListSort(node: naslTypes.CallFunction, parseState: ParseNaturalTSState): naslTypes.CallFunction | void;
22
56
  export declare function fetchFromComments(comments?: Array<babelTypes.Comment | babelTypes.CommentBlock>): string;
23
57
  export declare function checkOQLCalleeNameOrder(calleeNames: Array<string>): boolean;
24
- export declare const sqlFunctions: string[];
58
+ export declare function pickDecoratorObject(objectExpression: babelTypes.ObjectExpression, keys: Set<string>, parseState: ParseNaturalTSState): Record<string, any>;
25
59
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/natural/transforms/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAI3C,wBAAgB,KAAK,YAEpB;AAGD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAQ,QAIxD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,yDAWxC;AAED,eAAO,MAAM,eAAe,UA4F3B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;CASlC,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,OAoFxC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,OAgCvC;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,UAG/F;AAYD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAmBjE;AAED,eAAO,MAAM,YAAY,UAAmI,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/natural/transforms/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAG3C,wBAAgB,KAAK,YAEpB;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM,CAAC;AACxE,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AACD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;IAC1D,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,GAAG,SAAS,CA2B9J;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,QAYxH;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,yDAWxC;AAED,eAAO,MAAM,eAAe,UA4F3B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;CAUlC,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,OAoFxC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,mBAAmB,GAAG,SAAS,CAAC,YAAY,GAAG,IAAI,CAgC3H;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,UAG/F;AAYD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAmBjE;AAED,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,mBAAmB,uBAsBpI"}