@lcap/nasl 4.3.0-beta.9 → 4.3.0-creator.2

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 (137) hide show
  1. package/out/generator/genBundleFiles.d.ts +1 -0
  2. package/out/generator/genBundleFiles.d.ts.map +1 -1
  3. package/out/generator/genBundleFiles.js +2 -1
  4. package/out/generator/genBundleFiles.js.map +1 -1
  5. package/out/generator/genSimpleBundleFile.d.ts +19 -0
  6. package/out/generator/genSimpleBundleFile.d.ts.map +1 -0
  7. package/out/generator/genSimpleBundleFile.js +114 -0
  8. package/out/generator/genSimpleBundleFile.js.map +1 -0
  9. package/out/generator/index.d.ts +1 -0
  10. package/out/generator/index.d.ts.map +1 -1
  11. package/out/generator/index.js +1 -0
  12. package/out/generator/index.js.map +1 -1
  13. package/out/generator/release-body/data.d.ts.map +1 -1
  14. package/out/generator/release-body/data.js +2 -0
  15. package/out/generator/release-body/data.js.map +1 -1
  16. package/out/generator/release-body/utils.d.ts.map +1 -1
  17. package/out/generator/release-body/utils.js +2 -1
  18. package/out/generator/release-body/utils.js.map +1 -1
  19. package/out/index.d.ts +1 -1
  20. package/out/index.d.ts.map +1 -1
  21. package/out/index.js +2 -1
  22. package/out/index.js.map +1 -1
  23. package/out/natural/index.d.ts +2 -0
  24. package/out/natural/index.d.ts.map +1 -1
  25. package/out/natural/index.js +4 -0
  26. package/out/natural/index.js.map +1 -1
  27. package/out/natural/parseNaturalTS.d.ts +5 -8
  28. package/out/natural/parseNaturalTS.d.ts.map +1 -1
  29. package/out/natural/parseNaturalTS.js +211 -50
  30. package/out/natural/parseNaturalTS.js.map +1 -1
  31. package/out/natural/parseNaturalTSXView.d.ts +18 -0
  32. package/out/natural/parseNaturalTSXView.d.ts.map +1 -0
  33. package/out/natural/parseNaturalTSXView.js +641 -0
  34. package/out/natural/parseNaturalTSXView.js.map +1 -0
  35. package/out/natural/transformTS2UI.d.ts.map +1 -1
  36. package/out/natural/transformTS2UI.js +16 -17
  37. package/out/natural/transformTS2UI.js.map +1 -1
  38. package/out/natural/transformTSCode.d.ts.map +1 -1
  39. package/out/natural/transformTSCode.js +4 -4
  40. package/out/natural/transformTSCode.js.map +1 -1
  41. package/out/natural/transforms/transform2Entity.d.ts +3 -1
  42. package/out/natural/transforms/transform2Entity.d.ts.map +1 -1
  43. package/out/natural/transforms/transform2Entity.js +31 -7
  44. package/out/natural/transforms/transform2Entity.js.map +1 -1
  45. package/out/natural/transforms/transform2Enum.d.ts +3 -1
  46. package/out/natural/transforms/transform2Enum.d.ts.map +1 -1
  47. package/out/natural/transforms/transform2Enum.js +19 -3
  48. package/out/natural/transforms/transform2Enum.js.map +1 -1
  49. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts +3 -1
  50. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts.map +1 -1
  51. package/out/natural/transforms/transform2GlobalLogicDeclaration.js +3 -3
  52. package/out/natural/transforms/transform2GlobalLogicDeclaration.js.map +1 -1
  53. package/out/natural/transforms/transform2Logic.d.ts +9 -1
  54. package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
  55. package/out/natural/transforms/transform2Logic.js +44 -7
  56. package/out/natural/transforms/transform2Logic.js.map +1 -1
  57. package/out/natural/transforms/transform2LogicItem.d.ts +61 -28
  58. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  59. package/out/natural/transforms/transform2LogicItem.js +459 -198
  60. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  61. package/out/natural/transforms/transform2MetadataType.d.ts +5 -0
  62. package/out/natural/transforms/transform2MetadataType.d.ts.map +1 -0
  63. package/out/natural/transforms/transform2MetadataType.js +14 -0
  64. package/out/natural/transforms/transform2MetadataType.js.map +1 -0
  65. package/out/natural/transforms/transform2Structure.d.ts +3 -1
  66. package/out/natural/transforms/transform2Structure.d.ts.map +1 -1
  67. package/out/natural/transforms/transform2Structure.js +4 -4
  68. package/out/natural/transforms/transform2Structure.js.map +1 -1
  69. package/out/natural/transforms/transform2TypeAnnotation.d.ts +3 -1
  70. package/out/natural/transforms/transform2TypeAnnotation.d.ts.map +1 -1
  71. package/out/natural/transforms/transform2TypeAnnotation.js +15 -11
  72. package/out/natural/transforms/transform2TypeAnnotation.js.map +1 -1
  73. package/out/natural/transforms/transform2ValidationRule.d.ts +5 -0
  74. package/out/natural/transforms/transform2ValidationRule.d.ts.map +1 -0
  75. package/out/natural/transforms/transform2ValidationRule.js +24 -0
  76. package/out/natural/transforms/transform2ValidationRule.js.map +1 -0
  77. package/out/natural/transforms/transform2Variable.d.ts +6 -1
  78. package/out/natural/transforms/transform2Variable.d.ts.map +1 -1
  79. package/out/natural/transforms/transform2Variable.js +30 -6
  80. package/out/natural/transforms/transform2Variable.js.map +1 -1
  81. package/out/natural/transforms/transformThemeAndStyle.d.ts +28 -0
  82. package/out/natural/transforms/transformThemeAndStyle.d.ts.map +1 -0
  83. package/out/natural/transforms/transformThemeAndStyle.js +269 -0
  84. package/out/natural/transforms/transformThemeAndStyle.js.map +1 -0
  85. package/out/natural/transforms/utils.d.ts +22 -3
  86. package/out/natural/transforms/utils.d.ts.map +1 -1
  87. package/out/natural/transforms/utils.js +80 -12
  88. package/out/natural/transforms/utils.js.map +1 -1
  89. package/out/server/OQL/oql-cache.d.ts.map +1 -1
  90. package/out/server/OQL/oql-cache.js +3 -1
  91. package/out/server/OQL/oql-cache.js.map +1 -1
  92. package/out/server/OQL/sqlCategory.json +410 -0
  93. package/out/server/OQL/sqlFunctions.json +695 -7
  94. package/out/server/extendBaseNode.js +1 -1
  95. package/out/server/extendBaseNode.js.map +1 -1
  96. package/out/server/index.d.ts +1 -0
  97. package/out/server/index.d.ts.map +1 -1
  98. package/out/server/index.js +1 -0
  99. package/out/server/index.js.map +1 -1
  100. package/out/server/naslServer.d.ts +6 -1
  101. package/out/server/naslServer.d.ts.map +1 -1
  102. package/out/server/naslServer.js +76 -21
  103. package/out/server/naslServer.js.map +1 -1
  104. package/out/service/autofix/rules/rule-delete-void-expression.d.ts.map +1 -1
  105. package/out/service/autofix/rules/rule-delete-void-expression.js +5 -1
  106. package/out/service/autofix/rules/rule-delete-void-expression.js.map +1 -1
  107. package/out/service/creator/errHandles.js +0 -5
  108. package/out/service/creator/errHandles.js.map +1 -1
  109. package/out/service/initial/form-designer.d.ts +1 -1
  110. package/out/service/initial/form-designer.d.ts.map +1 -1
  111. package/out/service/initial/form-designer.js +4 -1
  112. package/out/service/initial/form-designer.js.map +1 -1
  113. package/out/service/initial/processV2.d.ts +1 -1
  114. package/out/service/initial/processV2.d.ts.map +1 -1
  115. package/out/service/initial/processV2.js +4 -1
  116. package/out/service/initial/processV2.js.map +1 -1
  117. package/out/service/initial/types.d.ts +1 -0
  118. package/out/service/initial/types.d.ts.map +1 -1
  119. package/out/service/storage/init.d.ts +5 -0
  120. package/out/service/storage/init.d.ts.map +1 -1
  121. package/out/service/storage/init.js +9 -3
  122. package/out/service/storage/init.js.map +1 -1
  123. package/out/service/storage/service.d.ts.map +1 -1
  124. package/out/service/storage/service.js +1 -0
  125. package/out/service/storage/service.js.map +1 -1
  126. package/out/templator/utils.d.ts +16 -7
  127. package/out/templator/utils.d.ts.map +1 -1
  128. package/out/templator/utils.js +14 -2
  129. package/out/templator/utils.js.map +1 -1
  130. package/package.json +14 -12
  131. package/sandbox/stdlib/nasl.io.ts +10 -0
  132. package/sandbox/stdlib/nasl.oql.ts +1 -0
  133. package/sandbox/stdlib/nasl.ui.ts +1 -9
  134. package/out/natural/transforms/registerTransform.d.ts +0 -8
  135. package/out/natural/transforms/registerTransform.d.ts.map +0 -1
  136. package/out/natural/transforms/registerTransform.js +0 -24
  137. package/out/natural/transforms/registerTransform.js.map +0 -1
package/out/index.d.ts CHANGED
@@ -12,7 +12,7 @@ export * as Types from '@lcap/nasl-types';
12
12
  export * as LanguageServerCore from '@lcap/nasl-language-server-core';
13
13
  export * from './decorators';
14
14
  export { getOperationRecords, operationRecordInfoMap, doOperationRecord, operationRecordQuery, operationRecordPlayback, } from './service/storage/operation';
15
- export { loadApp, setStore, loadAppSync, handleApp, batchAction, batchQuery, cleanUselessUnit, mountDatabaseTypes, changeTabTimestamp, getGlobalChangedTime, getNaslIncrQuery, saveNaslManual, } from './service/storage/init';
15
+ export { loadApp, setStore, loadAppSync, handleApp, batchAction, batchQuery, cleanUselessUnit, mountDatabaseTypes, initializeCheckRules, changeTabTimestamp, getGlobalChangedTime, getNaslIncrQuery, saveNaslManual, } from './service/storage/init';
16
16
  export { createService } from './service/creator';
17
17
  export { defaultAutoFixRuleSet, findSupportedRules } from './service/autofix';
18
18
  export { stepRecorder } from './manager/stepRecorder';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,kBAAkB,MAAM,iCAAiC,CAAC;AACtE,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAE7B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,kBAAkB,MAAM,iCAAiC,CAAC;AACtE,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAE7B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
package/out/index.js CHANGED
@@ -29,7 +29,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.canIUse = exports.deleteTaskQueueFromIndexedDB = exports.deleteExpiredTaskQueueRecords = exports.getTaskQueueTimestamps = exports.getAllTaskQueueRecords = exports.saveTaskQueueToIndexedDB = exports.loadTaskQueueFromIndexedDB = exports.stepRecorder = exports.findSupportedRules = exports.defaultAutoFixRuleSet = exports.createService = exports.saveNaslManual = exports.getNaslIncrQuery = exports.getGlobalChangedTime = exports.changeTabTimestamp = exports.mountDatabaseTypes = exports.cleanUselessUnit = exports.batchQuery = exports.batchAction = exports.handleApp = exports.loadAppSync = exports.setStore = exports.loadApp = exports.operationRecordPlayback = exports.operationRecordQuery = exports.doOperationRecord = exports.operationRecordInfoMap = exports.getOperationRecords = exports.LanguageServerCore = exports.Types = exports.breakpoint = exports.instruct = exports.utils = exports.genBlock = exports.NaslServer = exports.server = void 0;
32
+ exports.canIUse = exports.deleteTaskQueueFromIndexedDB = exports.deleteExpiredTaskQueueRecords = exports.getTaskQueueTimestamps = exports.getAllTaskQueueRecords = exports.saveTaskQueueToIndexedDB = exports.loadTaskQueueFromIndexedDB = exports.stepRecorder = exports.findSupportedRules = exports.defaultAutoFixRuleSet = exports.createService = exports.saveNaslManual = exports.getNaslIncrQuery = exports.getGlobalChangedTime = exports.changeTabTimestamp = exports.initializeCheckRules = exports.mountDatabaseTypes = exports.cleanUselessUnit = exports.batchQuery = exports.batchAction = exports.handleApp = exports.loadAppSync = exports.setStore = exports.loadApp = exports.operationRecordPlayback = exports.operationRecordQuery = exports.doOperationRecord = exports.operationRecordInfoMap = exports.getOperationRecords = exports.LanguageServerCore = exports.Types = exports.breakpoint = exports.instruct = exports.utils = exports.genBlock = exports.NaslServer = exports.server = void 0;
33
33
  __exportStar(require("./concepts"), exports);
34
34
  __exportStar(require("./generator"), exports);
35
35
  __exportStar(require("./translator"), exports);
@@ -60,6 +60,7 @@ Object.defineProperty(exports, "batchAction", { enumerable: true, get: function
60
60
  Object.defineProperty(exports, "batchQuery", { enumerable: true, get: function () { return init_1.batchQuery; } });
61
61
  Object.defineProperty(exports, "cleanUselessUnit", { enumerable: true, get: function () { return init_1.cleanUselessUnit; } });
62
62
  Object.defineProperty(exports, "mountDatabaseTypes", { enumerable: true, get: function () { return init_1.mountDatabaseTypes; } });
63
+ Object.defineProperty(exports, "initializeCheckRules", { enumerable: true, get: function () { return init_1.initializeCheckRules; } });
63
64
  Object.defineProperty(exports, "changeTabTimestamp", { enumerable: true, get: function () { return init_1.changeTabTimestamp; } });
64
65
  Object.defineProperty(exports, "getGlobalChangedTime", { enumerable: true, get: function () { return init_1.getGlobalChangedTime; } });
65
66
  Object.defineProperty(exports, "getNaslIncrQuery", { enumerable: true, get: function () { return init_1.getNaslIncrQuery; } });
package/out/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,mCAAyD;AAAhD,iHAAA,OAAO,OAAU;AAAE,oGAAA,UAAU,OAAA;AACtC,wDAAwC;AACxC,iDAAiC;AACjC,2CAAyB;AACzB,6CAA2B;AAC3B,qEAAqD;AACrD,2DAA2C;AAC3C,0DAA0C;AAC1C,sFAAsE;AACtE,+CAA6B;AAC7B,yDAMqC;AALnC,gHAAA,mBAAmB,OAAA;AACnB,mHAAA,sBAAsB,OAAA;AACtB,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AACpB,oHAAA,uBAAuB,OAAA;AAEzB,+CAagC;AAZ9B,+FAAA,OAAO,OAAA;AACP,gGAAA,QAAQ,OAAA;AACR,mGAAA,WAAW,OAAA;AACX,iGAAA,SAAS,OAAA;AACT,mGAAA,WAAW,OAAA;AACX,kGAAA,UAAU,OAAA;AACV,wGAAA,gBAAgB,OAAA;AAChB,0GAAA,kBAAkB,OAAA;AAClB,0GAAA,kBAAkB,OAAA;AAClB,4GAAA,oBAAoB,OAAA;AACpB,wGAAA,gBAAgB,OAAA;AAChB,sGAAA,cAAc,OAAA;AAGhB,6CAAkD;AAAzC,wGAAA,aAAa,OAAA;AACtB,6CAA8E;AAArE,gHAAA,qBAAqB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAClD,uDAAsD;AAA7C,4GAAA,YAAY,OAAA;AAErB,4CAA0B;AAC1B,+CAA6B;AAE7B,yDAOqC;AANnC,uHAAA,0BAA0B,OAAA;AAC1B,qHAAA,wBAAwB,OAAA;AACxB,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,0HAAA,6BAA6B,OAAA;AAC7B,yHAAA,4BAA4B,OAAA;AAG9B,iCAAkC;AAAzB,gGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,mCAAyD;AAAhD,iHAAA,OAAO,OAAU;AAAE,oGAAA,UAAU,OAAA;AACtC,wDAAwC;AACxC,iDAAiC;AACjC,2CAAyB;AACzB,6CAA2B;AAC3B,qEAAqD;AACrD,2DAA2C;AAC3C,0DAA0C;AAC1C,sFAAsE;AACtE,+CAA6B;AAC7B,yDAMqC;AALnC,gHAAA,mBAAmB,OAAA;AACnB,mHAAA,sBAAsB,OAAA;AACtB,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AACpB,oHAAA,uBAAuB,OAAA;AAEzB,+CAcgC;AAb9B,+FAAA,OAAO,OAAA;AACP,gGAAA,QAAQ,OAAA;AACR,mGAAA,WAAW,OAAA;AACX,iGAAA,SAAS,OAAA;AACT,mGAAA,WAAW,OAAA;AACX,kGAAA,UAAU,OAAA;AACV,wGAAA,gBAAgB,OAAA;AAChB,0GAAA,kBAAkB,OAAA;AAClB,4GAAA,oBAAoB,OAAA;AACpB,0GAAA,kBAAkB,OAAA;AAClB,4GAAA,oBAAoB,OAAA;AACpB,wGAAA,gBAAgB,OAAA;AAChB,sGAAA,cAAc,OAAA;AAGhB,6CAAkD;AAAzC,wGAAA,aAAa,OAAA;AACtB,6CAA8E;AAArE,gHAAA,qBAAqB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAClD,uDAAsD;AAA7C,4GAAA,YAAY,OAAA;AAErB,4CAA0B;AAC1B,+CAA6B;AAE7B,yDAOqC;AANnC,uHAAA,0BAA0B,OAAA;AAC1B,qHAAA,wBAAwB,OAAA;AACxB,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,0HAAA,6BAA6B,OAAA;AAC7B,yHAAA,4BAA4B,OAAA;AAG9B,iCAAkC;AAAzB,gGAAA,OAAO,OAAA"}
@@ -3,7 +3,9 @@ export * from './genTextualNASL';
3
3
  export * from './transformTSCode';
4
4
  export * from './transformTS2UI';
5
5
  export * from './parseNaturalTS';
6
+ export * from './parseNaturalTSXView';
6
7
  export * from './getContext/getUILib';
7
8
  export * from './getContext';
8
9
  export * from './tools';
10
+ export { parseNaturalTSErrorMap } from './transforms/utils';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/natural/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/natural/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -14,12 +14,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.parseNaturalTSErrorMap = void 0;
17
18
  __exportStar(require("./genNaturalTS"), exports);
18
19
  __exportStar(require("./genTextualNASL"), exports);
19
20
  __exportStar(require("./transformTSCode"), exports);
20
21
  __exportStar(require("./transformTS2UI"), exports);
21
22
  __exportStar(require("./parseNaturalTS"), exports);
23
+ __exportStar(require("./parseNaturalTSXView"), exports);
22
24
  __exportStar(require("./getContext/getUILib"), exports);
23
25
  __exportStar(require("./getContext"), exports);
24
26
  __exportStar(require("./tools"), exports);
27
+ var utils_1 = require("./transforms/utils");
28
+ Object.defineProperty(exports, "parseNaturalTSErrorMap", { enumerable: true, get: function () { return utils_1.parseNaturalTSErrorMap; } });
25
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/natural/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mDAAiC;AACjC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,wDAAsC;AACtC,+CAA6B;AAC7B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/natural/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mDAAiC;AACjC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,wDAAsC;AACtC,wDAAsC;AACtC,+CAA6B;AAC7B,0CAAwB;AACxB,4CAA4D;AAAnD,+GAAA,sBAAsB,OAAA"}
@@ -1,15 +1,12 @@
1
1
  import { naslTypes } from './transforms/utils';
2
- interface PartialAppInfo {
3
- name?: string;
4
- title?: string;
5
- ideVersion?: string;
6
- }
7
2
  type HeadNamespace = 'app' | 'extensions' | 'apis' | 'connectors';
8
- type TypeInNamespace = 'structures' | 'enums' | 'logics' | 'interfaces';
3
+ type TypeInNamespace = 'structures' | 'enums' | 'metadataTypes' | 'logics' | 'interfaces';
9
4
  /**
10
5
  * 添加到指定命名空间中
11
6
  */
12
- export declare function addType2Namespace(app: naslTypes.App, node: any, namespacePrefix: HeadNamespace, type: TypeInNamespace, options?: any): void;
13
- export declare function parseNaturalTS(tsCode: string, appInfo?: PartialAppInfo): naslTypes.App;
7
+ export declare function addType2Namespace(app: naslTypes.App, node: any, namespacePrefix: HeadNamespace, type: TypeInNamespace, opts?: any): void;
8
+ export declare function parseNaturalTS(tsCode: string, options: {
9
+ parsingId?: number;
10
+ }): naslTypes.App;
14
11
  export {};
15
12
  //# sourceMappingURL=parseNaturalTS.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseNaturalTS.d.ts","sourceRoot":"","sources":["../../src/natural/parseNaturalTS.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAA2C,MAAM,oBAAoB,CAAC;AAQpG,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAyGD,KAAK,aAAa,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY,CAAC;AAClE,KAAK,eAAe,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;AAIxE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,GAAG,QA+BpI;AASD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,iBA4H1E"}
1
+ {"version":3,"file":"parseNaturalTS.d.ts","sourceRoot":"","sources":["../../src/natural/parseNaturalTS.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAA2C,MAAM,oBAAoB,CAAC;AAyHpG,KAAK,aAAa,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY,CAAC;AAClE,KAAK,eAAe,GAAG,YAAY,GAAG,OAAO,GAAG,eAAe,GAAG,QAAQ,GAAG,YAAY,CAAC;AAI1F;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,GAAG,QA+BjI;AASD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,iBAiR7E"}
@@ -32,6 +32,9 @@ const transform2GlobalLogicDeclaration_1 = require("./transforms/transform2Globa
32
32
  const transform2Enum_1 = require("./transforms/transform2Enum");
33
33
  const transform2Logic_1 = require("./transforms/transform2Logic");
34
34
  const transform2Variable_1 = require("./transforms/transform2Variable");
35
+ const parseNaturalTSXView_1 = require("./parseNaturalTSXView");
36
+ const transform2MetadataType_1 = require("./transforms/transform2MetadataType");
37
+ const transformThemeAndStyle_1 = require("./transforms/transformThemeAndStyle");
35
38
  /**
36
39
  * 铺平命名空间
37
40
  */
@@ -55,22 +58,22 @@ function flatNamespace(node) {
55
58
  * ids: apis.myInterface.interfaces statement: TSDeclareFunction
56
59
  * ids: apis.myInterface.interfaces statement: FunctionDeclaration
57
60
  */
58
- function flatMapNamespaceStatements(nodes, isInner = false) {
61
+ function flatMapNamespaceStatements(nodes, isInner = false, options) {
59
62
  const result = [];
60
63
  nodes.forEach((node) => {
61
64
  let statement = node;
62
65
  if (node.type === 'ExportNamedDeclaration') {
63
- // if (!isInner) throwError('顶层不应该导出:' + node.declaration.type);
66
+ // if (!isInner) return throwError(options?.parsingId, '顶层不应该导出:' + node.declaration.type);
64
67
  statement = node.declaration;
65
68
  statement.leadingComments = node.leadingComments;
66
69
  }
67
70
  else {
68
- if (isInner)
69
- (0, utils_1.throwError)('内层必须使用导出:' + node.type);
71
+ if (isInner && !(node.type === 'ExpressionStatement' && ['CallExpression', 'TaggedTemplateExpression'].includes(node.expression.type))) // && node.expression.callee.type === 'Identifier' && /^[@$]/.test(node.expression.callee.name)))
72
+ return (0, utils_1.throwError)(options?.parsingId, '内层必须使用导出:' + node.type);
70
73
  }
71
74
  if (statement.type === 'TSModuleDeclaration') {
72
75
  const curr = flatNamespace(statement);
73
- const subResult = flatMapNamespaceStatements(curr.block.body, true);
76
+ const subResult = flatMapNamespaceStatements(curr.block.body, true, options);
74
77
  subResult.forEach((item) => {
75
78
  result.push({ ids: [...curr.ids, ...item.ids], statement: item.statement });
76
79
  });
@@ -81,19 +84,19 @@ function flatMapNamespaceStatements(nodes, isInner = false) {
81
84
  });
82
85
  return result;
83
86
  }
84
- function handleDependency({ dependencies, moduleType, listName, options, node }) {
85
- let dependency = dependencies.find((d) => d.name === options?.moduleName);
87
+ function handleDependency({ dependencies, moduleType, listName, opts, node }) {
88
+ let dependency = dependencies.find((d) => d.name === opts?.moduleName);
86
89
  if (!dependency) {
87
90
  if (moduleType === 'connector') {
88
91
  dependency = new utils_1.naslTypes.Connector({
89
92
  type: moduleType,
90
- name: options.moduleName,
93
+ name: opts.moduleName,
91
94
  });
92
95
  }
93
96
  else {
94
97
  dependency = new utils_1.naslTypes.Module({
95
98
  type: moduleType,
96
- name: options.moduleName,
99
+ name: opts.moduleName,
97
100
  });
98
101
  }
99
102
  dependencies.push(dependency);
@@ -118,13 +121,13 @@ function handleDependency({ dependencies, moduleType, listName, options, node })
118
121
  }
119
122
  }
120
123
  const hasLogicIndex = logicList.findIndex((item) => item.name === node.name);
121
- if (options.logicType === 'declare') {
124
+ if (opts.logicType === 'declare') {
122
125
  // 逻辑不存在时添加
123
126
  if (hasLogicIndex === -1) {
124
127
  logicList.push(node);
125
128
  }
126
129
  }
127
- else if (options.logicType === 'export') {
130
+ else if (opts.logicType === 'export') {
128
131
  if (hasLogicIndex !== -1) {
129
132
  // 覆盖
130
133
  logicList[hasLogicIndex] = node;
@@ -137,19 +140,19 @@ function handleDependency({ dependencies, moduleType, listName, options, node })
137
140
  }
138
141
  }
139
142
  const HEAD_NAMESPACES = ['app', 'extensions', 'apis', 'connectors'];
140
- const TYPE_IN_NAMESPACES = ['structures', 'enums', 'logics', 'interfaces'];
143
+ const TYPE_IN_NAMESPACES = ['structures', 'enums', 'metadataTypes', 'logics', 'interfaces'];
141
144
  /**
142
145
  * 添加到指定命名空间中
143
146
  */
144
- function addType2Namespace(app, node, namespacePrefix, type, options) {
147
+ function addType2Namespace(app, node, namespacePrefix, type, opts) {
145
148
  if (namespacePrefix === 'app') {
146
149
  app[type].push(node);
147
150
  }
148
151
  if (namespacePrefix === 'extensions') {
149
- handleDependency({ dependencies: app.dependencies, moduleType: 'extension', listName: type, options, node });
152
+ handleDependency({ dependencies: app.dependencies, moduleType: 'extension', listName: type, opts, node });
150
153
  }
151
154
  else if (namespacePrefix === 'connectors') {
152
- handleDependency({ dependencies: app.connectorDependencies, moduleType: 'connector', listName: type, options, node });
155
+ handleDependency({ dependencies: app.connectorDependencies, moduleType: 'connector', listName: type, opts, node });
153
156
  }
154
157
  else if (namespacePrefix === 'apis') {
155
158
  if (type === 'interfaces') {
@@ -172,7 +175,7 @@ function addType2Namespace(app, node, namespacePrefix, type, options) {
172
175
  params: interfaceParams
173
176
  });
174
177
  }
175
- handleDependency({ dependencies: app.interfaceDependencies, moduleType: 'interface', listName: type, options, node });
178
+ handleDependency({ dependencies: app.interfaceDependencies, moduleType: 'interface', listName: type, opts, node });
176
179
  }
177
180
  }
178
181
  exports.addType2Namespace = addType2Namespace;
@@ -182,23 +185,24 @@ function addConnectionByName(app, connectionName, connectorName) {
182
185
  namespace: `connector.${connectorName}`,
183
186
  }));
184
187
  }
185
- function parseNaturalTS(tsCode, appInfo = {}) {
188
+ function parseNaturalTS(tsCode, options) {
186
189
  const plugins = [
187
190
  ['@babel/plugin-proposal-decorators', { legacy: true }],
188
191
  '@babel/plugin-proposal-class-properties'
189
192
  ];
190
193
  const root = babel.parseSync(tsCode, {
191
- filename: 'result.ts',
194
+ filename: 'result.tsx',
192
195
  presets: [require('@babel/preset-typescript')],
193
196
  plugins
194
197
  });
195
198
  const app = new utils_1.naslTypes.App();
196
199
  const namespaceStatements = flatMapNamespaceStatements(root.program.body);
197
- namespaceStatements.forEach(({ ids: _ids, statement }) => {
200
+ let viewStack = [];
201
+ namespaceStatements.forEach(({ ids: _ids, statement }, index) => {
198
202
  const idNames = _ids.map((id) => id.name);
199
203
  const idNamesStr = idNames.join('.');
200
204
  if (!HEAD_NAMESPACES.includes(idNames[0]))
201
- (0, utils_1.throwError)(`不支持命名空间以${idNames[0]}开头`);
205
+ return (0, utils_1.throwError)(options?.parsingId, `不支持命名空间以${idNames[0]}开头`);
202
206
  let headNamespace = idNames[0];
203
207
  let typeInNamespace;
204
208
  if (headNamespace === 'app') {
@@ -214,16 +218,16 @@ function parseNaturalTS(tsCode, appInfo = {}) {
214
218
  return;
215
219
  }
216
220
  else if (paramType.type !== 'TSUnionType')
217
- (0, utils_1.throwError)('连接必须使用字符串联合类型');
221
+ return (0, utils_1.throwError)(options?.parsingId, '连接必须使用字符串联合类型');
218
222
  else {
219
223
  const connectionNames = paramType.types.map((type) => {
220
224
  if (type.type === 'TSLiteralType' && type.literal.type === 'StringLiteral') {
221
225
  return type.literal.value;
222
226
  }
223
227
  else {
224
- (0, utils_1.throwError)('连接必须使用字符串字面量');
228
+ return (0, utils_1.throwError)(options?.parsingId, '连接必须使用字符串字面量');
225
229
  }
226
- });
230
+ }).filter(Boolean);
227
231
  connectionNames.forEach((connectionName) => {
228
232
  addConnectionByName(app, connectionName, idNames[1]);
229
233
  });
@@ -231,7 +235,7 @@ function parseNaturalTS(tsCode, appInfo = {}) {
231
235
  }
232
236
  }
233
237
  else {
234
- (0, utils_1.throwError)(`不支持的命名空间:${idNamesStr}`);
238
+ return (0, utils_1.throwError)(options?.parsingId, `不支持的命名空间:${idNamesStr}`);
235
239
  }
236
240
  }
237
241
  else {
@@ -240,12 +244,12 @@ function parseNaturalTS(tsCode, appInfo = {}) {
240
244
  }
241
245
  let tailNamespace = idNames[idNames.length - 1];
242
246
  let moduleName = headNamespace === 'app' ? '' : idNames[1];
243
- const options = { moduleName };
247
+ const opts = { moduleName, parsingId: options?.parsingId };
244
248
  if (idNames[1] === 'dataSources' && idNames[3] === 'entities') {
245
249
  let dataSource = app.dataSources[0];
246
250
  if (dataSource) {
247
251
  if (dataSource.name !== idNames[2])
248
- (0, utils_1.throwError)(`暂时不支持多数据源${dataSource.name},${idNames[2]}`);
252
+ return (0, utils_1.throwError)(options?.parsingId, `暂时不支持多数据源${dataSource.name},${idNames[2]}`);
249
253
  }
250
254
  else {
251
255
  dataSource = new utils_1.naslTypes.DataSource({
@@ -254,63 +258,82 @@ function parseNaturalTS(tsCode, appInfo = {}) {
254
258
  app.dataSources.push(dataSource);
255
259
  }
256
260
  if (statement.type === 'ClassDeclaration') {
257
- dataSource.entities.push((0, transform2Entity_1.transform2Entity)(statement));
261
+ dataSource.entities.push((0, transform2Entity_1.transform2Entity)(statement, opts));
258
262
  }
259
263
  else if (statement.type === 'VariableDeclaration') { }
264
+ else if (statement.type === 'ExpressionStatement' && statement.expression.type === 'CallExpression' && statement.expression.callee.type === 'MemberExpression' && statement.expression.callee.property.type === 'Identifier' && statement.expression.callee.property.name === '$mockData') {
265
+ if (statement.expression.arguments.length > 0) {
266
+ const firstArg = statement.expression.arguments[0];
267
+ try {
268
+ const argCode = (0, utils_1.generate)(firstArg).code;
269
+ JSON.parse(argCode);
270
+ }
271
+ catch (error) {
272
+ return (0, utils_1.throwError)(options?.parsingId, '$mockData的参数不是有效的JSON格式', firstArg.type, statement);
273
+ }
274
+ }
275
+ }
260
276
  else
261
- (0, utils_1.throwError)('实体命名空间中不支持的节点类型:' + statement.type);
277
+ return (0, utils_1.throwError)(options?.parsingId, '实体命名空间中不支持的节点类型', statement.type, statement);
262
278
  }
263
279
  else if (typeInNamespace === 'structures') {
264
280
  if (statement.type === 'ClassDeclaration') {
265
- addType2Namespace(app, (0, transform2Structure_1.transform2Structure)(statement), headNamespace, typeInNamespace, options);
281
+ addType2Namespace(app, (0, transform2Structure_1.transform2Structure)(statement), headNamespace, typeInNamespace, opts);
266
282
  }
267
283
  else
268
- (0, utils_1.throwError)('数据结构命名空间中不支持的节点类型:' + statement.type);
284
+ return (0, utils_1.throwError)(options?.parsingId, '数据结构命名空间中不支持的节点类型', statement.type, statement);
269
285
  }
270
286
  else if (typeInNamespace === 'enums') {
271
287
  if (statement.type === 'ClassDeclaration') {
272
- addType2Namespace(app, (0, transform2Enum_1.transform2Enum)(statement, statement.leadingComments), headNamespace, typeInNamespace, options);
288
+ addType2Namespace(app, (0, transform2Enum_1.transform2Enum)(statement, statement.leadingComments, opts), headNamespace, typeInNamespace, opts);
273
289
  }
274
290
  else
275
- (0, utils_1.throwError)('枚举命名空间中不支持的节点类型:' + statement.type);
291
+ return (0, utils_1.throwError)(options?.parsingId, '枚举命名空间中不支持的节点类型', statement.type, statement);
292
+ }
293
+ else if (typeInNamespace === 'metadataTypes') {
294
+ if (statement.type === 'TSTypeAliasDeclaration') {
295
+ addType2Namespace(app, (0, transform2MetadataType_1.transform2MetadataType)(statement, statement.leadingComments, opts), headNamespace, typeInNamespace, opts);
296
+ }
297
+ else
298
+ return (0, utils_1.throwError)(options?.parsingId, '元数据类型命名空间中不支持的节点类型', statement.type, statement);
276
299
  }
277
300
  else if (typeInNamespace === 'logics') {
278
- options.logicType = statement.type === 'TSDeclareFunction' ? 'declare' : 'export';
301
+ opts.logicType = statement.type === 'TSDeclareFunction' ? 'declare' : 'export';
279
302
  if (statement.type === 'TSDeclareFunction') {
280
- addType2Namespace(app, (0, transform2GlobalLogicDeclaration_1.transform2GlobalLogicDeclaration)(statement), headNamespace, typeInNamespace, options);
303
+ addType2Namespace(app, (0, transform2GlobalLogicDeclaration_1.transform2GlobalLogicDeclaration)(statement, opts), headNamespace, typeInNamespace, opts);
281
304
  }
282
305
  else if (statement.type === 'FunctionDeclaration') {
283
- addType2Namespace(app, (0, transform2Logic_1.transform2Logic)(statement), headNamespace, typeInNamespace, options);
306
+ addType2Namespace(app, (0, transform2Logic_1.transform2Logic)(statement, undefined, opts), headNamespace, typeInNamespace, opts);
284
307
  }
285
308
  else
286
- (0, utils_1.throwError)('逻辑命名空间中不支持的节点类型:' + statement.type);
309
+ return (0, utils_1.throwError)(options?.parsingId, '逻辑命名空间中不支持的节点类型', statement.type, statement);
287
310
  }
288
311
  else if (['apis', 'extensions', 'connectors'].includes(headNamespace)) {
289
312
  // logics / interfaces
290
313
  if (tailNamespace === 'logics' || tailNamespace === 'interfaces') {
291
- options.logicType = statement.type === 'TSDeclareFunction' ? 'declare' : 'export';
292
- const logic = (0, transform2Logic_1.transform2Logic)(statement);
293
- if (options.logicType === 'declare') {
314
+ opts.logicType = statement.type === 'TSDeclareFunction' ? 'declare' : 'export';
315
+ const logic = (0, transform2Logic_1.transform2Logic)(statement, undefined, opts);
316
+ if (opts.logicType === 'declare') {
294
317
  logic.body = [];
295
318
  }
296
- addType2Namespace(app, logic, headNamespace, tailNamespace, options);
319
+ addType2Namespace(app, logic, headNamespace, tailNamespace, opts);
297
320
  }
298
321
  else if (tailNamespace === 'enums' && statement.type === 'ClassDeclaration') {
299
- addType2Namespace(app, (0, transform2Enum_1.transform2Enum)(statement, statement.leadingComments), headNamespace, tailNamespace, options);
322
+ addType2Namespace(app, (0, transform2Enum_1.transform2Enum)(statement, statement.leadingComments, opts), headNamespace, tailNamespace, opts);
300
323
  }
301
324
  else if (tailNamespace === 'structures' && statement.type === 'ClassDeclaration') {
302
- addType2Namespace(app, (0, transform2Structure_1.transform2Structure)(statement), headNamespace, tailNamespace, options);
325
+ addType2Namespace(app, (0, transform2Structure_1.transform2Structure)(statement, opts), headNamespace, tailNamespace, opts);
303
326
  }
304
327
  else if (headNamespace === 'connectors') {
305
- options.logicType = statement.type === 'TSDeclareFunction' ? 'declare' : 'export';
306
- const logic = (0, transform2Logic_1.transform2Logic)(statement);
307
- if (options.logicType === 'declare') {
328
+ opts.logicType = statement.type === 'TSDeclareFunction' ? 'declare' : 'export';
329
+ const logic = (0, transform2Logic_1.transform2Logic)(statement, undefined, opts);
330
+ if (opts.logicType === 'declare') {
308
331
  logic.body = [];
309
332
  }
310
- addType2Namespace(app, logic, headNamespace, tailNamespace, options);
333
+ addType2Namespace(app, logic, headNamespace, tailNamespace, opts);
311
334
  }
312
335
  else {
313
- (0, utils_1.throwError)('不支持的命名空间:' + idNamesStr);
336
+ return (0, utils_1.throwError)(options?.parsingId, '不支持的命名空间:' + idNamesStr);
314
337
  }
315
338
  }
316
339
  else if (idNamesStr === 'app.backend.variables') {
@@ -318,13 +341,151 @@ function parseNaturalTS(tsCode, appInfo = {}) {
318
341
  if (!app.backend) {
319
342
  app.backend = new utils_1.naslTypes.Backend();
320
343
  }
321
- app.backend.variables.push((0, transform2Variable_1.transform2BackendVariable)(statement));
344
+ const variable = (0, transform2Variable_1.transform2BackendVariable)(statement, options);
345
+ variable && app.backend.variables.push(variable);
322
346
  }
323
347
  else
324
- (0, utils_1.throwError)('变量命名空间中不支持的节点类型:' + statement.type);
348
+ return (0, utils_1.throwError)(options?.parsingId, '变量命名空间中不支持的节点类型', statement.type, statement);
349
+ }
350
+ else if (idNames[1] === 'frontendTypes' && idNames[3] === 'frontends') {
351
+ let frontendType = app.frontendTypes.find((item) => item.name === idNames[2]);
352
+ if (!frontendType) {
353
+ frontendType = new utils_1.naslTypes.FrontendType({
354
+ name: idNames[2],
355
+ kind: idNames[2],
356
+ frameworkKind: "vue3",
357
+ frameworkUI: "ElementPlus",
358
+ });
359
+ app.frontendTypes.push(frontendType);
360
+ }
361
+ let frontend = frontendType.frontends.find((item) => item.name === idNames[4]);
362
+ if (!frontend) {
363
+ frontend = new utils_1.naslTypes.Frontend({
364
+ type: idNames[2],
365
+ name: idNames[4],
366
+ title: idNames[4].toUpperCase() + '端',
367
+ path: '/',
368
+ theme: new utils_1.naslTypes.Theme({
369
+ name: 'default',
370
+ title: '默认主题样式',
371
+ })
372
+ });
373
+ frontendType.frontends.push(frontend);
374
+ }
375
+ if (idNames[5] === 'variables') {
376
+ if (statement.type === 'VariableDeclaration') {
377
+ const variable = (0, transform2Variable_1.transform2FrontendVariable)(statement, options);
378
+ variable && frontend.variables.push(variable);
379
+ }
380
+ else
381
+ return (0, utils_1.throwError)(options?.parsingId, '前端变量命名空间中不支持的节点类型', statement.type, statement);
382
+ }
383
+ else if (idNames[5] === 'views') {
384
+ if (statement.type === 'FunctionDeclaration' || statement.type === 'TSDeclareFunction') {
385
+ let decorator;
386
+ let prevStatement = namespaceStatements[index - 1]?.statement;
387
+ if (prevStatement?.type === 'ExpressionStatement' && prevStatement.expression.type === 'CallExpression' && prevStatement.expression.callee.type === 'Identifier' && prevStatement.expression.callee.name === '$View') {
388
+ decorator = prevStatement.expression;
389
+ }
390
+ const view = statement.type === 'FunctionDeclaration' ? (0, parseNaturalTSXView_1.transform2View)(statement, decorator, options) : (0, parseNaturalTSXView_1.transformTSDeclareFunction2View)(statement, decorator, options);
391
+ const viewPathLength = (idNames.length - 4) / 2;
392
+ function findViewByPath(views, pathSegments) {
393
+ if (pathSegments.length === 0)
394
+ return null;
395
+ const targetName = pathSegments[0];
396
+ const foundView = views.find(v => v.name === targetName);
397
+ if (!foundView)
398
+ return null;
399
+ if (pathSegments.length === 1)
400
+ return foundView;
401
+ return findViewByPath(foundView.children || [], pathSegments.slice(1));
402
+ }
403
+ let parentList;
404
+ if (viewPathLength === 1) {
405
+ parentList = frontend.views;
406
+ viewStack = [];
407
+ }
408
+ else {
409
+ const parentPath = [];
410
+ for (let i = 6; i < idNames.length - 1; i += 2) {
411
+ if (idNames[i + 1] === 'views') {
412
+ parentPath.push(idNames[i]);
413
+ }
414
+ }
415
+ const parentView = findViewByPath(frontend.views, parentPath);
416
+ if (parentView) {
417
+ if (!parentView.children) {
418
+ parentView.children = [];
419
+ }
420
+ parentList = parentView.children;
421
+ viewStack = [];
422
+ let currentViews = frontend.views;
423
+ for (const pathSegment of parentPath) {
424
+ const foundView = currentViews.find(v => v.name === pathSegment);
425
+ if (foundView) {
426
+ viewStack.push(foundView);
427
+ currentViews = foundView.children || [];
428
+ }
429
+ }
430
+ }
431
+ else {
432
+ if (viewPathLength > viewStack.length) {
433
+ parentList = viewStack[viewStack.length - 1]?.children || frontend.views;
434
+ }
435
+ else if (viewPathLength < viewStack.length) {
436
+ viewStack.splice(viewPathLength - 1);
437
+ parentList = viewStack[viewStack.length - 1]?.children || frontend.views;
438
+ }
439
+ else {
440
+ viewStack.pop();
441
+ parentList = viewStack[viewStack.length - 1]?.children || frontend.views;
442
+ }
443
+ }
444
+ }
445
+ if (view) {
446
+ const saveView = parentList.find((item) => item.name === view.name);
447
+ if (saveView) {
448
+ if (utils_1.DEBUG) {
449
+ throw new Error(`${idNamesStr} 中存在同名页面:${view.name}`);
450
+ }
451
+ else {
452
+ delete view.children;
453
+ Object.assign(saveView, view);
454
+ viewStack.push(saveView);
455
+ }
456
+ }
457
+ else {
458
+ parentList.push(view);
459
+ viewStack.push(view);
460
+ }
461
+ }
462
+ }
463
+ }
464
+ else if (statement.type === 'ExpressionStatement' && statement.expression.type === 'TaggedTemplateExpression') {
465
+ const expression = statement.expression;
466
+ if (expression.tag.type === 'Identifier' && expression.tag.name === '$theme') {
467
+ if (expression.quasi.expressions.length > 0) {
468
+ return (0, utils_1.throwError)(options?.parsingId, '不支持在 $theme 中使用动态表达式');
469
+ }
470
+ const css = expression.quasi.quasis[0].value.raw;
471
+ const variableMap = (0, transformThemeAndStyle_1.transformTheme)(css, options);
472
+ frontend.theme.scopeVariableMap = variableMap;
473
+ }
474
+ else if (expression.tag.type === 'Identifier' && expression.tag.name === '$extraStyle') {
475
+ if (expression.quasi.expressions.length > 0) {
476
+ return (0, utils_1.throwError)(options?.parsingId, '不支持在 $style 中使用动态表达式');
477
+ }
478
+ const css = expression.quasi.quasis[0].value.raw;
479
+ const cssRules = (0, transformThemeAndStyle_1.transformStyle)(css, options);
480
+ frontend.theme.cssRules = cssRules;
481
+ }
482
+ }
483
+ else {
484
+ return (0, utils_1.throwError)(options?.parsingId, '不支持的命名空间:' + idNamesStr);
485
+ }
325
486
  }
326
487
  else {
327
- (0, utils_1.throwError)('不支持的命名空间:' + idNamesStr);
488
+ return (0, utils_1.throwError)(options?.parsingId, '不支持的命名空间:' + idNamesStr);
328
489
  }
329
490
  });
330
491
  return app;
@@ -1 +1 @@
1
- {"version":3,"file":"parseNaturalTS.js","sourceRoot":"","sources":["../../src/natural/parseNaturalTS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseNaturalTS.js","sourceRoot":"","sources":["../../src/natural/parseNaturalTS.ts"],"names":[],"mappings":"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"}