@l-v-yonsama/multi-platform-database-drivers 1.3.0 → 2.0.1

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 (267) hide show
  1. package/README.md +40 -0
  2. package/built/src/drivers/Auth0Driver.js +9 -9
  3. package/built/src/drivers/Auth0Driver.js.map +1 -1
  4. package/built/src/drivers/AwsDriver.js +3 -3
  5. package/built/src/drivers/AwsDriver.js.map +1 -1
  6. package/built/src/drivers/BaseDriver.d.ts +1 -1
  7. package/built/src/drivers/BaseDriver.js +4 -6
  8. package/built/src/drivers/BaseDriver.js.map +1 -1
  9. package/built/src/drivers/DBDriverResolver.js.map +1 -1
  10. package/built/src/drivers/DBError.js.map +1 -1
  11. package/built/src/drivers/KeycloakDriver.d.ts +2 -3
  12. package/built/src/drivers/KeycloakDriver.js +27 -262
  13. package/built/src/drivers/KeycloakDriver.js.map +1 -1
  14. package/built/src/drivers/MemcacheDriver.d.ts +0 -1
  15. package/built/src/drivers/MemcacheDriver.js +5 -5
  16. package/built/src/drivers/MemcacheDriver.js.map +1 -1
  17. package/built/src/drivers/MqttDriver.d.ts +0 -1
  18. package/built/src/drivers/MqttDriver.js +4 -4
  19. package/built/src/drivers/MqttDriver.js.map +1 -1
  20. package/built/src/drivers/MySQLDriver.js +12 -12
  21. package/built/src/drivers/MySQLDriver.js.map +1 -1
  22. package/built/src/drivers/OracleDriver.js +13 -13
  23. package/built/src/drivers/OracleDriver.js.map +1 -1
  24. package/built/src/drivers/PostgresDriver.js +22 -2
  25. package/built/src/drivers/PostgresDriver.js.map +1 -1
  26. package/built/src/drivers/RDSBaseDriver.d.ts +1 -1
  27. package/built/src/drivers/RDSBaseDriver.js +6 -6
  28. package/built/src/drivers/RDSBaseDriver.js.map +1 -1
  29. package/built/src/drivers/RedisDriver.js +2 -2
  30. package/built/src/drivers/RedisDriver.js.map +1 -1
  31. package/built/src/drivers/SQLServerDriver.js +7 -7
  32. package/built/src/drivers/SQLServerDriver.js.map +1 -1
  33. package/built/src/drivers/SQLiteDriver.d.ts +1 -1
  34. package/built/src/drivers/SQLiteDriver.js +7 -7
  35. package/built/src/drivers/SQLiteDriver.js.map +1 -1
  36. package/built/src/drivers/aws/AwsCloudFormationServiceClient.js +2 -2
  37. package/built/src/drivers/aws/AwsCloudFormationServiceClient.js.map +1 -1
  38. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js +3 -3
  39. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js.map +1 -1
  40. package/built/src/drivers/aws/AwsDynamoServiceClient.js +7 -7
  41. package/built/src/drivers/aws/AwsDynamoServiceClient.js.map +1 -1
  42. package/built/src/drivers/aws/AwsS3ServiceClient.js +24 -24
  43. package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -1
  44. package/built/src/drivers/aws/AwsSESServiceClient.js.map +1 -1
  45. package/built/src/drivers/aws/AwsSQSServiceClient.js +8 -8
  46. package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -1
  47. package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js +1 -1
  48. package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js.map +1 -1
  49. package/built/src/drivers/aws/AwsServiceClient.js +2 -2
  50. package/built/src/drivers/aws/AwsServiceClient.js.map +1 -1
  51. package/built/src/drivers/aws/AwsSsmServiceClient.js +1 -1
  52. package/built/src/drivers/aws/AwsSsmServiceClient.js.map +1 -1
  53. package/built/src/drivers/keycloak/resourceTreeBuilder.d.ts +5 -0
  54. package/built/src/drivers/keycloak/resourceTreeBuilder.js +37 -0
  55. package/built/src/drivers/keycloak/resourceTreeBuilder.js.map +1 -0
  56. package/built/src/drivers/keycloak/scanResultBuilder.d.ts +8 -0
  57. package/built/src/drivers/keycloak/scanResultBuilder.js +212 -0
  58. package/built/src/drivers/keycloak/scanResultBuilder.js.map +1 -0
  59. package/built/src/drivers/memcache/helper.d.ts +0 -1
  60. package/built/src/drivers/memcache/helper.js +13 -14
  61. package/built/src/drivers/memcache/helper.js.map +1 -1
  62. package/built/src/helpers/ProposalHelper.js +3 -3
  63. package/built/src/helpers/ProposalHelper.js.map +1 -1
  64. package/built/src/helpers/RdhRecordRuleHelper.js.map +1 -1
  65. package/built/src/helpers/RuleEngine.d.ts +5 -5
  66. package/built/src/helpers/RuleEngine.js +14 -14
  67. package/built/src/helpers/RuleEngine.js.map +1 -1
  68. package/built/src/helpers/SQLHelper.d.ts +8 -115
  69. package/built/src/helpers/SQLHelper.js +35 -1084
  70. package/built/src/helpers/SQLHelper.js.map +1 -1
  71. package/built/src/helpers/prompts/Auth0PromptHelper.js.map +1 -1
  72. package/built/src/helpers/prompts/AwsPromptHelper.js.map +1 -1
  73. package/built/src/helpers/prompts/KeycloakPromptHelper.js.map +1 -1
  74. package/built/src/helpers/prompts/MemcachePromptHelper.js.map +1 -1
  75. package/built/src/helpers/prompts/MqttPromptHelper.js.map +1 -1
  76. package/built/src/helpers/prompts/RdsPromptHelper.js +1 -1
  77. package/built/src/helpers/prompts/RdsPromptHelper.js.map +1 -1
  78. package/built/src/helpers/prompts/RedisPromptHelper.js.map +1 -1
  79. package/built/src/helpers/prompts/SchemaPromptHelper.js.map +1 -1
  80. package/built/src/helpers/sql/dynamoConversion.d.ts +2 -0
  81. package/built/src/helpers/sql/dynamoConversion.js +27 -0
  82. package/built/src/helpers/sql/dynamoConversion.js.map +1 -0
  83. package/built/src/helpers/sql/formatQuery.d.ts +6 -0
  84. package/built/src/helpers/sql/formatQuery.js +45 -0
  85. package/built/src/helpers/sql/formatQuery.js.map +1 -0
  86. package/built/src/helpers/sql/mutationQuery.d.ts +54 -0
  87. package/built/src/helpers/sql/mutationQuery.js +250 -0
  88. package/built/src/helpers/sql/mutationQuery.js.map +1 -0
  89. package/built/src/helpers/sql/parameterNormalizer.d.ts +16 -0
  90. package/built/src/helpers/sql/parameterNormalizer.js +166 -0
  91. package/built/src/helpers/sql/parameterNormalizer.js.map +1 -0
  92. package/built/src/helpers/sql/queryParser.d.ts +6 -0
  93. package/built/src/helpers/sql/queryParser.js +239 -0
  94. package/built/src/helpers/sql/queryParser.js.map +1 -0
  95. package/built/src/helpers/sql/quote.d.ts +17 -0
  96. package/built/src/helpers/sql/quote.js +140 -0
  97. package/built/src/helpers/sql/quote.js.map +1 -0
  98. package/built/src/helpers/sql/selectQuery.d.ts +24 -0
  99. package/built/src/helpers/sql/selectQuery.js +262 -0
  100. package/built/src/helpers/sql/selectQuery.js.map +1 -0
  101. package/built/src/resource/aws.d.ts +106 -0
  102. package/built/src/resource/aws.js +219 -0
  103. package/built/src/resource/aws.js.map +1 -0
  104. package/built/src/resource/base.d.ts +28 -0
  105. package/built/src/resource/base.js +76 -0
  106. package/built/src/resource/base.js.map +1 -0
  107. package/built/src/resource/connection.d.ts +35 -0
  108. package/built/src/resource/connection.js +52 -0
  109. package/built/src/resource/connection.js.map +1 -0
  110. package/built/src/resource/fromJson.d.ts +2 -0
  111. package/built/src/resource/fromJson.js +125 -0
  112. package/built/src/resource/fromJson.js.map +1 -0
  113. package/built/src/resource/iam.d.ts +70 -0
  114. package/built/src/resource/iam.js +175 -0
  115. package/built/src/resource/iam.js.map +1 -0
  116. package/built/src/resource/index.d.ts +8 -1
  117. package/built/src/resource/index.js +8 -1
  118. package/built/src/resource/index.js.map +1 -1
  119. package/built/src/resource/keyValue.d.ts +85 -0
  120. package/built/src/resource/keyValue.js +74 -0
  121. package/built/src/resource/keyValue.js.map +1 -0
  122. package/built/src/resource/rdb.d.ts +49 -0
  123. package/built/src/resource/rdb.js +155 -0
  124. package/built/src/resource/rdb.js.map +1 -0
  125. package/built/src/resource/types.d.ts +18 -0
  126. package/built/src/resource/types.js +3 -0
  127. package/built/src/resource/types.js.map +1 -0
  128. package/built/src/types/drivers/Keycloak.js +1 -1
  129. package/built/src/types/drivers/Keycloak.js.map +1 -1
  130. package/built/src/types/drivers/MemcachedParams.d.ts +0 -1
  131. package/built/src/types/helpers/index.js +1 -1
  132. package/built/src/types/helpers/index.js.map +1 -1
  133. package/built/src/types/resource/AwsCfnStackAttributes.d.ts +1 -1
  134. package/built/src/types/resource/MySQLColumnType.js +2 -2
  135. package/built/src/types/resource/MySQLColumnType.js.map +1 -1
  136. package/built/src/types/resource/OracleColumnType.js +2 -2
  137. package/built/src/types/resource/OracleColumnType.js.map +1 -1
  138. package/built/src/types/resource/PartiQLAttrType.js.map +1 -1
  139. package/built/src/types/resource/PostgresColumnType.js +2 -2
  140. package/built/src/types/resource/PostgresColumnType.js.map +1 -1
  141. package/built/src/types/resource/SQLServerColumnType.js +2 -2
  142. package/built/src/types/resource/SQLServerColumnType.js.map +1 -1
  143. package/built/src/types/utils/index.js +2 -2
  144. package/built/src/types/utils/index.js.map +1 -1
  145. package/built/src/utils/base.js +1 -1
  146. package/built/src/utils/base.js.map +1 -1
  147. package/built/src/utils/cfn/applicationDiagram.js +52 -12
  148. package/built/src/utils/cfn/applicationDiagram.js.map +1 -1
  149. package/built/src/utils/cfn/applicationRelations.d.ts +1 -1
  150. package/built/src/utils/cfn/applicationRelations.js +107 -15
  151. package/built/src/utils/cfn/applicationRelations.js.map +1 -1
  152. package/built/src/utils/cfn/cfnDependencyGraphDiagram.js.map +1 -1
  153. package/built/src/utils/cfn/{architectureTopology.d.ts → deploymentTopology.d.ts} +5 -1
  154. package/built/src/utils/cfn/{architectureTopology.js → deploymentTopology.js} +127 -13
  155. package/built/src/utils/cfn/deploymentTopology.js.map +1 -0
  156. package/built/src/utils/cfn/diagramFileModel.js.map +1 -1
  157. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.d.ts +3 -0
  158. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js +174 -0
  159. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js.map +1 -0
  160. package/built/src/utils/cfn/drawio/commonCells.d.ts +22 -0
  161. package/built/src/utils/cfn/drawio/commonCells.js +83 -0
  162. package/built/src/utils/cfn/drawio/commonCells.js.map +1 -0
  163. package/built/src/utils/cfn/drawio/edgeRouting.d.ts +34 -0
  164. package/built/src/utils/cfn/drawio/edgeRouting.js +77 -0
  165. package/built/src/utils/cfn/drawio/edgeRouting.js.map +1 -0
  166. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.d.ts +3 -0
  167. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js +812 -0
  168. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js.map +1 -0
  169. package/built/src/utils/cfn/drawioApplicationDiagram.d.ts +1 -0
  170. package/built/src/utils/cfn/drawioApplicationDiagram.js +290 -32
  171. package/built/src/utils/cfn/drawioApplicationDiagram.js.map +1 -1
  172. package/built/src/utils/cfn/drawioInfrastructureDiagrams.d.ts +2 -4
  173. package/built/src/utils/cfn/drawioInfrastructureDiagrams.js +7 -441
  174. package/built/src/utils/cfn/drawioInfrastructureDiagrams.js.map +1 -1
  175. package/built/src/utils/cfn/drawioXml.d.ts +0 -24
  176. package/built/src/utils/cfn/drawioXml.js +5 -47
  177. package/built/src/utils/cfn/drawioXml.js.map +1 -1
  178. package/built/src/utils/cfn/generateDiagram.js +3 -4
  179. package/built/src/utils/cfn/generateDiagram.js.map +1 -1
  180. package/built/src/utils/cfn/icons.js.map +1 -1
  181. package/built/src/utils/cfn/index.d.ts +4 -4
  182. package/built/src/utils/cfn/index.js +9 -8
  183. package/built/src/utils/cfn/index.js.map +1 -1
  184. package/built/src/utils/cfn/intrinsics.d.ts +1 -1
  185. package/built/src/utils/cfn/intrinsics.js.map +1 -1
  186. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.d.ts +27 -0
  187. package/built/src/utils/cfn/{multiAzDeploymentDataPaths.js → multiAzDeploymentTrafficPathsAndProtection.js} +162 -10
  188. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.js.map +1 -0
  189. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.d.ts +2 -0
  190. package/built/src/utils/cfn/{architectureDiagram.js → multiAzDeploymentTrafficPathsAndProtectionDiagram.js} +82 -34
  191. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.js.map +1 -0
  192. package/built/src/utils/cfn/naming.d.ts +2 -1
  193. package/built/src/utils/cfn/naming.js +3 -3
  194. package/built/src/utils/cfn/naming.js.map +1 -1
  195. package/built/src/utils/cfn/resourceDependencies.js.map +1 -1
  196. package/built/src/utils/cfn/templateParsing.js +11 -26
  197. package/built/src/utils/cfn/templateParsing.js.map +1 -1
  198. package/built/src/utils/csv.js.map +1 -1
  199. package/built/src/utils/dbType.js.map +1 -1
  200. package/built/src/utils/diagramLayout/elkLayoutEngine.d.ts +3 -0
  201. package/built/src/utils/diagramLayout/elkLayoutEngine.js +199 -0
  202. package/built/src/utils/diagramLayout/elkLayoutEngine.js.map +1 -0
  203. package/built/src/utils/diagramLayout/index.d.ts +4 -0
  204. package/built/src/utils/diagramLayout/index.js +13 -0
  205. package/built/src/utils/diagramLayout/index.js.map +1 -0
  206. package/built/src/utils/diagramLayout/normalizeLayout.d.ts +33 -0
  207. package/built/src/utils/diagramLayout/normalizeLayout.js +116 -0
  208. package/built/src/utils/diagramLayout/normalizeLayout.js.map +1 -0
  209. package/built/src/utils/diagramLayout/types.d.ts +64 -0
  210. package/built/src/utils/diagramLayout/types.js +3 -0
  211. package/built/src/utils/diagramLayout/types.js.map +1 -0
  212. package/built/src/utils/drawio/drawioXml.d.ts +24 -0
  213. package/built/src/utils/drawio/drawioXml.js +47 -0
  214. package/built/src/utils/drawio/drawioXml.js.map +1 -0
  215. package/built/src/utils/drawio/index.d.ts +2 -0
  216. package/built/src/utils/drawio/index.js +10 -0
  217. package/built/src/utils/drawio/index.js.map +1 -0
  218. package/built/src/utils/driverUtil.d.ts +1 -1
  219. package/built/src/utils/driverUtil.js.map +1 -1
  220. package/built/src/utils/er/erDiagramDrawioGenerator.d.ts +26 -0
  221. package/built/src/utils/er/erDiagramDrawioGenerator.js +99 -0
  222. package/built/src/utils/er/erDiagramDrawioGenerator.js.map +1 -0
  223. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.d.ts +2 -0
  224. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js +103 -0
  225. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js.map +1 -0
  226. package/built/src/utils/er/erDiagramGenerator.d.ts +7 -0
  227. package/built/src/utils/er/erDiagramGenerator.js +321 -0
  228. package/built/src/utils/er/erDiagramGenerator.js.map +1 -0
  229. package/built/src/utils/er/index.d.ts +4 -0
  230. package/built/src/utils/er/index.js +13 -0
  231. package/built/src/utils/er/index.js.map +1 -0
  232. package/built/src/utils/er/types.d.ts +31 -0
  233. package/built/src/utils/er/types.js +3 -0
  234. package/built/src/utils/er/types.js.map +1 -0
  235. package/built/src/utils/index.d.ts +1 -0
  236. package/built/src/utils/index.js +1 -0
  237. package/built/src/utils/index.js.map +1 -1
  238. package/built/src/utils/log/LogParser.js.map +1 -1
  239. package/built/src/utils/log/buildSqlExecutions.js +3 -4
  240. package/built/src/utils/log/buildSqlExecutions.js.map +1 -1
  241. package/built/src/utils/log/classify/classifyEvent.js +2 -3
  242. package/built/src/utils/log/classify/classifyEvent.js.map +1 -1
  243. package/built/src/utils/log/detect/presetDetector.js +4 -5
  244. package/built/src/utils/log/detect/presetDetector.js.map +1 -1
  245. package/built/src/utils/log/extract/runExtractors.js +1 -2
  246. package/built/src/utils/log/extract/runExtractors.js.map +1 -1
  247. package/built/src/utils/log/logSummary.js +5 -5
  248. package/built/src/utils/log/logSummary.js.map +1 -1
  249. package/built/src/utils/log/pattern/logEventPattern.js +2 -3
  250. package/built/src/utils/log/pattern/logEventPattern.js.map +1 -1
  251. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js +2 -3
  252. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js.map +1 -1
  253. package/built/src/utils/log/split/splitLogEvents.js +1 -2
  254. package/built/src/utils/log/split/splitLogEvents.js.map +1 -1
  255. package/built/src/utils/log/sql/removeSqlComments.js +2 -3
  256. package/built/src/utils/log/sql/removeSqlComments.js.map +1 -1
  257. package/built/src/utils/log/validator.js +8 -5
  258. package/built/src/utils/log/validator.js.map +1 -1
  259. package/package.json +14 -10
  260. package/built/src/resource/DbResource.d.ts +0 -373
  261. package/built/src/resource/DbResource.js +0 -836
  262. package/built/src/resource/DbResource.js.map +0 -1
  263. package/built/src/utils/cfn/architectureDiagram.d.ts +0 -3
  264. package/built/src/utils/cfn/architectureDiagram.js.map +0 -1
  265. package/built/src/utils/cfn/architectureTopology.js.map +0 -1
  266. package/built/src/utils/cfn/multiAzDeploymentDataPaths.d.ts +0 -27
  267. package/built/src/utils/cfn/multiAzDeploymentDataPaths.js.map +0 -1
@@ -1,16 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateDiagramArchitectureDiagram = exports.generateDiagramMultiAzDeploymentDataPaths = void 0;
4
- const architectureTopology_1 = require("./architectureTopology");
3
+ exports.generateDiagramMultiAzDeploymentTrafficPathsAndProtection = void 0;
4
+ const deploymentTopology_1 = require("./deploymentTopology");
5
5
  const diagramFileModel_1 = require("./diagramFileModel");
6
- const multiAzDeploymentDataPaths_1 = require("./multiAzDeploymentDataPaths");
6
+ const multiAzDeploymentTrafficPathsAndProtection_1 = require("./multiAzDeploymentTrafficPathsAndProtection");
7
7
  const mermaidFlowchart_1 = require("./mermaidFlowchart");
8
8
  const naming_1 = require("./naming");
9
9
  const pathStyle = {
10
10
  'client-request-response': { color: '#2563eb', width: 3, dashed: false },
11
- 'egress-return': { color: '#0891b2', width: 2, dashed: true },
11
+ 'egress-return': { color: '#0d9488', width: 2, dashed: false },
12
12
  'event-delivery': { color: '#d97706', width: 2, dashed: true },
13
13
  'data-access': { color: '#059669', width: 2, dashed: false },
14
+ 'resource-membership': { color: '#64748b', width: 2, dashed: true },
15
+ 'security-permission': { color: '#7c3aed', width: 2, dashed: true },
16
+ 'security-protection': { color: '#dc2626', width: 2, dashed: false },
14
17
  };
15
18
  const vpcId = (vpc) => `f${vpc.fileIndex}_vpc_${vpc.logicalId}`;
16
19
  const resourceId = (vpc, fileIndex, logicalId) => `${vpcId(vpc)}_f${fileIndex}_${logicalId}`;
@@ -21,26 +24,28 @@ const displayCidr = (value) => value.replace(/_(\d+)$/, '/$1').replace(/_/g, '.'
21
24
  const displayAvailabilityZone = (value) => value.startsWith('Availability_Zone_')
22
25
  ? value.replace(/_/g, ' ')
23
26
  : value.replace(/_/g, '-');
24
- const generateDiagramMultiAzDeploymentDataPaths = (params) => {
25
- var _a, _b;
27
+ const generateDiagramMultiAzDeploymentTrafficPathsAndProtection = (params) => {
28
+ var _a;
26
29
  const diagramFiles = (0, diagramFileModel_1.parseDiagramFiles)(Object.assign(Object.assign({}, params), { options: { includeOutputs: true, includeParameters: true } }));
27
- const structure = new architectureTopology_1.CfnArchitectureDiagramStructure(diagramFiles);
28
- const dataPaths = (0, multiAzDeploymentDataPaths_1.buildMultiAzDeploymentDataPaths)(diagramFiles, structure);
30
+ const structure = new deploymentTopology_1.CfnDeploymentTopologyStructure(diagramFiles);
31
+ const trafficPathsAndProtection = (0, multiAzDeploymentTrafficPathsAndProtection_1.buildMultiAzDeploymentTrafficPathsAndProtection)(diagramFiles, structure);
29
32
  const contents = ['```mermaid', 'flowchart TB'];
30
- const hasInternet = dataPaths.paths.some((path) => path.from.id === multiAzDeploymentDataPaths_1.internetEndpoint.id ||
31
- path.to.id === multiAzDeploymentDataPaths_1.internetEndpoint.id);
33
+ const hasInternet = trafficPathsAndProtection.paths.some((path) => path.from.id === multiAzDeploymentTrafficPathsAndProtection_1.internetEndpoint.id ||
34
+ path.to.id === multiAzDeploymentTrafficPathsAndProtection_1.internetEndpoint.id);
32
35
  if (hasInternet) {
33
36
  contents.push(' internet(["Internet"])');
34
37
  }
35
- structure.vpcs.forEach((vpc) => renderVpc(contents, vpc));
38
+ const containedMemberIds = new Set();
39
+ structure.vpcs.forEach((vpc) => renderVpc(contents, vpc, trafficPathsAndProtection, containedMemberIds));
36
40
  if (structure.standaloneResources.length > 0) {
37
41
  renderStandaloneResources(contents, structure.standaloneResources);
38
42
  }
39
- renderRegionalServices(contents, dataPaths.regionalNodes);
43
+ renderRegionalServices(contents, trafficPathsAndProtection.regionalNodes);
44
+ const renderedPaths = trafficPathsAndProtection.paths.filter((path) => !(path.kind === 'resource-membership' && containedMemberIds.has(path.from.id)));
40
45
  const edgeStyles = [];
41
- dataPaths.paths.forEach((path) => {
42
- const source = nodeIdForEndpoint(structure, dataPaths.regionalNodes, path.from);
43
- const target = nodeIdForEndpoint(structure, dataPaths.regionalNodes, path.to);
46
+ renderedPaths.forEach((path) => {
47
+ const source = nodeIdForEndpoint(structure, trafficPathsAndProtection.regionalNodes, path.from);
48
+ const target = nodeIdForEndpoint(structure, trafficPathsAndProtection.regionalNodes, path.to);
44
49
  if (!source || !target)
45
50
  return;
46
51
  const edge = path.bidirectional
@@ -53,14 +58,23 @@ const generateDiagramMultiAzDeploymentDataPaths = (params) => {
53
58
  edgeStyles.push(` linkStyle ${edgeStyles.length} stroke:${style.color},stroke-width:${style.width}px${style.dashed ? ',stroke-dasharray:5 5' : ''}`);
54
59
  });
55
60
  contents.push(...edgeStyles);
56
- if (((_a = params.options) === null || _a === void 0 ? void 0 : _a.includeLegend) !== false && dataPaths.paths.length > 0) {
57
- contents.push(' subgraph path_legend["Path types"]');
58
- contents.push(` path_legend_card["${(0, mermaidFlowchart_1.mermaidCompactLegendLabel)('Edge styles', [
59
- 'Blue: client request / response',
60
- 'Cyan dashed: egress / return',
61
- 'Orange dashed: event delivery',
62
- 'Green: data access',
63
- ])}"]`);
61
+ const legendEntries = [
62
+ ['client-request-response', 'Blue: client request / response'],
63
+ ['egress-return', 'Teal: egress / return'],
64
+ ['event-delivery', 'Orange dashed: event delivery'],
65
+ ['data-access', 'Green: data access'],
66
+ ['resource-membership', 'Gray dashed: membership'],
67
+ ['security-permission', 'Purple dashed: security-group permission'],
68
+ ['security-protection', 'Red: security protection'],
69
+ ];
70
+ const usedPathKinds = new Set(renderedPaths.map((path) => path.kind));
71
+ const visibleLegendLabels = legendEntries
72
+ .filter(([kind]) => usedPathKinds.has(kind))
73
+ .map(([, label]) => label);
74
+ const showLegend = ((_a = params.options) === null || _a === void 0 ? void 0 : _a.includeLegend) !== false && visibleLegendLabels.length > 0;
75
+ if (showLegend) {
76
+ contents.push(' subgraph path_legend["Traffic and protection types"]');
77
+ contents.push(` path_legend_card["${(0, mermaidFlowchart_1.mermaidCompactLegendLabel)('Edge styles', visibleLegendLabels)}"]`);
64
78
  contents.push(' end');
65
79
  }
66
80
  contents.push(' classDef resourceNode fill:#ffffff,stroke:#64748b,color:#0f172a,stroke-width:1px');
@@ -68,28 +82,62 @@ const generateDiagramMultiAzDeploymentDataPaths = (params) => {
68
82
  contents.push(' classDef legendNode fill:#ffffff,stroke:#94a3b8,color:#334155,font-size:11px');
69
83
  if (hasInternet)
70
84
  contents.push(' class internet internetNode');
71
- if (((_b = params.options) === null || _b === void 0 ? void 0 : _b.includeLegend) !== false && dataPaths.paths.length > 0) {
85
+ if (showLegend) {
72
86
  contents.push(' class path_legend_card legendNode');
73
87
  contents.push(' style path_legend fill:#f8fafc,stroke:#94a3b8,stroke-dasharray:4 3');
74
88
  }
75
89
  contents.push('```');
76
90
  return contents.join('\n');
77
91
  };
78
- exports.generateDiagramMultiAzDeploymentDataPaths = generateDiagramMultiAzDeploymentDataPaths;
79
- exports.generateDiagramArchitectureDiagram = exports.generateDiagramMultiAzDeploymentDataPaths;
80
- const renderVpc = (contents, vpc) => {
92
+ exports.generateDiagramMultiAzDeploymentTrafficPathsAndProtection = generateDiagramMultiAzDeploymentTrafficPathsAndProtection;
93
+ const renderVpc = (contents, vpc, trafficPathsAndProtection, containedMemberIds) => {
81
94
  const groupId = vpcId(vpc);
82
95
  contents.push(` subgraph ${groupId}["VPC ${(0, mermaidFlowchart_1.escapeMermaidLabel)(displayCidr(vpc.cidrBlock))}"]`);
83
96
  contents.push(' direction TB');
84
97
  vpc.availabilityZones.forEach((az) => renderAvailabilityZone(contents, vpc, az));
85
98
  if (vpc.resources.length > 0) {
99
+ const vpcResourceEndpointIds = new Set(vpc.resources.map((resource) => `f${resource.fileIndex}_${resource.logicalId}`));
100
+ const memberParentId = new Map();
101
+ trafficPathsAndProtection.paths
102
+ .filter((path) => path.kind === 'resource-membership')
103
+ .forEach((path) => {
104
+ if (vpcResourceEndpointIds.has(path.from.id) && vpcResourceEndpointIds.has(path.to.id)) {
105
+ memberParentId.set(path.from.id, path.to.id);
106
+ }
107
+ });
108
+ const parentMembers = new Map();
109
+ vpc.resources.forEach((resource) => {
110
+ var _a;
111
+ const endpointId = `f${resource.fileIndex}_${resource.logicalId}`;
112
+ const parentId = memberParentId.get(endpointId);
113
+ if (!parentId)
114
+ return;
115
+ parentMembers.set(parentId, [...(_a = parentMembers.get(parentId)) !== null && _a !== void 0 ? _a : [], resource]);
116
+ containedMemberIds.add(endpointId);
117
+ });
118
+ const topLevelResources = vpc.resources.filter((resource) => !memberParentId.has(`f${resource.fileIndex}_${resource.logicalId}`));
86
119
  const multiAzGroupId = `${groupId}_multi_az`;
87
120
  contents.push(` subgraph ${multiAzGroupId}["Multi-AZ / VPC resources"]`);
88
- vpc.resources.forEach((resource) => {
89
- const placement = resource.multiAz
90
- ? `${resource.placement}; Multi-AZ`
91
- : resource.placement;
92
- contents.push(` ${resourceId(vpc, resource.fileIndex, resource.logicalId)}["${resourceLabel(resource.logicalId, resource.detail.Type, placement)}"]`);
121
+ topLevelResources.forEach((resource) => {
122
+ var _a, _b;
123
+ const endpointId = `f${resource.fileIndex}_${resource.logicalId}`;
124
+ const placement = [
125
+ resource.placement,
126
+ ...(resource.multiAz ? ['Multi-AZ'] : []),
127
+ ...((_a = resource.traits) !== null && _a !== void 0 ? _a : []),
128
+ ].join('; ');
129
+ const parentCellId = resourceId(vpc, resource.fileIndex, resource.logicalId);
130
+ const members = (_b = parentMembers.get(endpointId)) !== null && _b !== void 0 ? _b : [];
131
+ if (members.length === 0) {
132
+ contents.push(` ${parentCellId}["${resourceLabel(resource.logicalId, resource.detail.Type, placement)}"]`);
133
+ return;
134
+ }
135
+ contents.push(` subgraph ${parentCellId}["${resourceLabel(resource.logicalId, resource.detail.Type, placement)}"]`);
136
+ members.forEach((member) => {
137
+ contents.push(` ${resourceId(vpc, member.fileIndex, member.logicalId)}["${resourceLabel(member.logicalId, member.detail.Type)}"]`);
138
+ });
139
+ contents.push(' end');
140
+ contents.push(` style ${parentCellId} fill:#ffffff,stroke:#64748b,stroke-width:1px`);
93
141
  });
94
142
  contents.push(' end');
95
143
  contents.push(` style ${multiAzGroupId} fill:#f5f3ff,stroke:#7c3aed,stroke-dasharray:4 3`);
@@ -186,7 +234,7 @@ const renderStandaloneResources = (contents, standaloneResources) => {
186
234
  };
187
235
  const nodeIdForEndpoint = (structure, regionalNodes, endpoint) => {
188
236
  var _a;
189
- if (endpoint.id === multiAzDeploymentDataPaths_1.internetEndpoint.id)
237
+ if (endpoint.id === multiAzDeploymentTrafficPathsAndProtection_1.internetEndpoint.id)
190
238
  return 'internet';
191
239
  for (const vpc of structure.vpcs) {
192
240
  if (((_a = vpc.igw) === null || _a === void 0 ? void 0 : _a.fileIndex) === endpoint.fileIndex &&
@@ -235,4 +283,4 @@ const nodeIdForEndpoint = (structure, regionalNodes, endpoint) => {
235
283
  }
236
284
  return undefined;
237
285
  };
238
- //# sourceMappingURL=architectureDiagram.js.map
286
+ //# sourceMappingURL=multiAzDeploymentTrafficPathsAndProtectionDiagram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiAzDeploymentTrafficPathsAndProtectionDiagram.js","sourceRoot":"","sources":["../../../../src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Refable } from '../../types';
2
+ import { CfnStringResolutionContext } from './intrinsics';
2
3
  export declare const sanitizeLogicalId: (id: string) => string;
3
4
  export declare const sanitizeAwsType: (s: string) => string;
4
5
  export declare const shortResourceTypeName: (type: string) => string;
5
6
  export declare const resourceServiceLabel: (logicalId: string, type: string, iconStr: string) => string;
6
- export declare const getCidrBlock: (properties?: Record<string, Refable>) => string;
7
+ export declare const getCidrBlock: (properties?: Record<string, Refable>, context?: CfnStringResolutionContext) => string;
@@ -18,14 +18,14 @@ const shortResourceTypeName = (type) => {
18
18
  exports.shortResourceTypeName = shortResourceTypeName;
19
19
  const resourceServiceLabel = (logicalId, type, iconStr) => iconStr ? logicalId : `${logicalId} ${(0, exports.shortResourceTypeName)(type)}`;
20
20
  exports.resourceServiceLabel = resourceServiceLabel;
21
- const getCidrBlock = (properties) => {
21
+ const getCidrBlock = (properties, context) => {
22
22
  var _a;
23
23
  if (!properties || !properties.CidrBlock) {
24
24
  return '';
25
25
  }
26
26
  if (typeof properties.CidrBlock === 'object') {
27
- const refVal = (0, intrinsics_1.parseRefValue)(properties.CidrBlock);
28
- return refVal.value.replace(/[/.]/g, '_');
27
+ const resolved = (0, intrinsics_1.resolveCfnString)(properties.CidrBlock, context !== null && context !== void 0 ? context : {});
28
+ return typeof resolved === 'string' ? resolved.replace(/[/.]/g, '_') : '';
29
29
  }
30
30
  return ((_a = properties === null || properties === void 0 ? void 0 : properties.CidrBlock) !== null && _a !== void 0 ? _a : '').replace(/[/.]/g, '_');
31
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../../../src/utils/cfn/naming.ts"],"names":[],"mappings":";;;AACA,6CAA6C;AAEtC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAU,EAAE;IACtD,OAAO,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AACxE,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,eAAe,GAAG,CAAC,CAAS,EAAU,EAAE;IACnD,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAUK,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE;IAC5D,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC,CAAC;AAJW,QAAA,qBAAqB,yBAIhC;AASK,MAAM,oBAAoB,GAAG,CAClC,SAAiB,EACjB,IAAY,EACZ,OAAe,EACP,EAAE,CACV,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE,CAAC;AALzD,QAAA,oBAAoB,wBAKqC;AAE/D,MAAM,YAAY,GAAG,CAAC,UAAoC,EAAU,EAAE;;IAC3E,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;QACxC,OAAO,EAAE,CAAC;KACX;IACD,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE;QAE5C,MAAM,MAAM,GAAG,IAAA,0BAAa,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;KAC3C;IACD,OAAO,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB"}
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../../../src/utils/cfn/naming.ts"],"names":[],"mappings":";;;AACA,6CAA4E;AAErE,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAU,EAAE;IACtD,OAAO,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AACxE,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,eAAe,GAAG,CAAC,CAAS,EAAU,EAAE;IACnD,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAUK,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE;IAC5D,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC,CAAC;AAJW,QAAA,qBAAqB,yBAIhC;AASK,MAAM,oBAAoB,GAAG,CAClC,SAAiB,EACjB,IAAY,EACZ,OAAe,EACP,EAAE,CACV,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE,CAAC;AALzD,QAAA,oBAAoB,wBAKqC;AAE/D,MAAM,YAAY,GAAG,CAC1B,UAAoC,EACpC,OAAoC,EAC5B,EAAE;;IACV,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAU7C,MAAM,QAAQ,GAAG,IAAA,6BAAgB,EAAC,UAAU,CAAC,SAAS,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC;QACvE,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC;AArBW,QAAA,YAAY,gBAqBvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"resourceDependencies.js","sourceRoot":"","sources":["../../../../src/utils/cfn/resourceDependencies.ts"],"names":[],"mappings":";;;AAIA,6CAAiD;AAa1C,MAAM,2BAA2B,GAAG,CACzC,WAAmC,EACc,EAAE;IACnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAoD,EAAE,CAAC;IAEnE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE;QACtE,MAAM,IAAI,GAAoC,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,CACrB,QAAgB,EAChB,GAAyC,EACnC,EAAE;YACR,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE;gBACvD,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;aACzC;QACH,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACjC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SACxC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACnC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;SAC9D;QAED,IAAI,QAAQ,CAAC,UAAU,EAAE;YACvB,IAAA,8BAAiB,EAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CACvD,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAC9B,CAAC;SACH;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAClE,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;SAC5B;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAvCW,QAAA,2BAA2B,+BAuCtC"}
1
+ {"version":3,"file":"resourceDependencies.js","sourceRoot":"","sources":["../../../../src/utils/cfn/resourceDependencies.ts"],"names":[],"mappings":";;;AAIA,6CAAiD;AAa1C,MAAM,2BAA2B,GAAG,CACzC,WAAmC,EACc,EAAE;IACnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAoD,EAAE,CAAC;IAEnE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE;QACtE,MAAM,IAAI,GAAoC,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,CACrB,QAAgB,EAChB,GAAyC,EACnC,EAAE;YACR,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACxD,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,IAAA,8BAAiB,EAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CACvD,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAC9B,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAClE,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAvCW,QAAA,2BAA2B,+BAuCtC"}
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseCfnJsonTemplate = exports.parseCfnYamlTemplate = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
6
- const CFN_TAGS = [
6
+ const CFN_INTRINSIC_TAGS = [
7
7
  '!And',
8
8
  '!If',
9
9
  '!Not',
10
10
  '!Equals',
11
11
  '!Or',
12
+ '!FindInMap',
12
13
  '!Base64',
13
14
  '!Cidr',
14
15
  '!Ref',
@@ -18,33 +19,17 @@ const CFN_TAGS = [
18
19
  '!ImportValue',
19
20
  '!Select',
20
21
  '!Split',
21
- ];
22
- const CFN_SEQ_TAGS = [
23
- '!And',
24
- '!If',
25
- '!Not',
26
- '!Equals',
27
- '!Or',
28
- '!FindInMap',
29
- '!Base64',
30
- '!Cidr',
31
- '!Select',
32
- '!Split',
33
22
  '!Join',
34
23
  ];
24
+ const CFN_TAG_KINDS = ['scalar', 'sequence', 'mapping'];
35
25
  const parseCfnYamlTemplate = (yamlText) => {
36
- const customTags = CFN_TAGS.map((tag) => new js_yaml_1.default.Type(tag, {
37
- kind: 'scalar',
38
- construct: (data) => ({ [tag]: data }),
39
- }));
40
- const customTags2 = CFN_SEQ_TAGS.map((tag) => new js_yaml_1.default.Type(tag, {
41
- kind: 'sequence',
42
- construct: (data) => ({ [tag]: data }),
43
- }));
44
- const customSchema = js_yaml_1.default.DEFAULT_SCHEMA.extend([
45
- ...customTags,
46
- ...customTags2,
47
- ]);
26
+ const customTags = CFN_INTRINSIC_TAGS.flatMap((tag) => CFN_TAG_KINDS.map((kind) => new js_yaml_1.default.Type(tag, {
27
+ kind,
28
+ construct: (data) => ({
29
+ [tag]: data,
30
+ }),
31
+ })));
32
+ const customSchema = js_yaml_1.default.DEFAULT_SCHEMA.extend(customTags);
48
33
  const jsonObj = js_yaml_1.default.load(yamlText, { schema: customSchema });
49
34
  return jsonObj;
50
35
  };
@@ -57,7 +42,7 @@ const parseCfnJsonTemplate = (templateJSONString) => {
57
42
  try {
58
43
  jsonObj = JSON.parse(templateJSONString);
59
44
  }
60
- catch (error) {
45
+ catch (_a) {
61
46
  throw new Error('TemplateBody is not a valid JSON string.');
62
47
  }
63
48
  if (typeof jsonObj !== 'object' || jsonObj === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"templateParsing.js","sourceRoot":"","sources":["../../../../src/utils/cfn/templateParsing.ts"],"names":[],"mappings":";;;;AAAA,8DAA2B;AAQ3B,MAAM,QAAQ,GAAG;IACf,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,KAAK;IACL,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,cAAc;IACd,SAAS;IACT,QAAQ;CACT,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,KAAK;IACL,YAAY;IACZ,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;CACR,CAAC;AAQK,MAAM,oBAAoB,GAAG,CAClC,QAAgB,EACQ,EAAE;IAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAC7B,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,iBAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;KACvC,CAAC,CACL,CAAC;IACF,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAClC,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,iBAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QACjB,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;KACvC,CAAC,CACL,CAAC;IACF,MAAM,YAAY,GAAG,iBAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAC9C,GAAG,UAAU;QACb,GAAG,WAAW;KACf,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,iBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9D,OAAO,OAAiC,CAAC;AAC3C,CAAC,CAAC;AAxBW,QAAA,oBAAoB,wBAwB/B;AAEK,MAAM,oBAAoB,GAAG,CAClC,kBAA0B,EACF,EAAE;IAC1B,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACxD;IACD,IAAI,OAAgB,CAAC;IACrB,IAAI;QACF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;KAC1C;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;QACnD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IACD,MAAM,QAAQ,GAAG,OAAiC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE;QACjE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AApBW,QAAA,oBAAoB,wBAoB/B"}
1
+ {"version":3,"file":"templateParsing.js","sourceRoot":"","sources":["../../../../src/utils/cfn/templateParsing.ts"],"names":[],"mappings":";;;;AAAA,8DAA2B;AAkB3B,MAAM,kBAAkB,GAAG;IACzB,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,KAAK;IACL,YAAY;IACZ,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,cAAc;IACd,SAAS;IACT,QAAQ;IACR,OAAO;CACR,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAQ1D,MAAM,oBAAoB,GAAG,CAClC,QAAgB,EACQ,EAAE;IAC1B,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACpD,aAAa,CAAC,GAAG,CACf,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,iBAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QACjB,IAAI;QACJ,SAAS,EAAE,CAAC,IAAa,EAA2B,EAAE,CAAC,CAAC;YACtD,CAAC,GAAG,CAAC,EAAE,IAAI;SACZ,CAAC;KACH,CAAC,CACL,CACF,CAAC;IACF,MAAM,YAAY,GAAG,iBAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,iBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9D,OAAO,OAAiC,CAAC;AAC3C,CAAC,CAAC;AAlBW,QAAA,oBAAoB,wBAkB/B;AAEK,MAAM,oBAAoB,GAAG,CAClC,kBAA0B,EACF,EAAE;IAC1B,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC3C,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,QAAQ,GAAG,OAAiC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AApBW,QAAA,oBAAoB,wBAoB/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../../src/utils/csv.ts"],"names":[],"mappings":";;;;AAAA,0CAAsE;AACtE,yCAA2C;AAC3C,+CAAyB;AACzB,mCAAkC;AAClC,8CAA2C;AA+CpC,MAAM,gBAAgB,GAAG,CAC9B,QAAgB,EAChB,OAAiB,EACc,EAAE;IACjC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjC,OAAO,oBAAoB,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC,CAAA,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEK,MAAM,kBAAkB,GAAG,CAChC,SAAiB,EACjB,OAAiB,EACc,EAAE;IACjC,OAAO,oBAAoB,CAAC,iBAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC,CAAA,CAAC;AALW,QAAA,kBAAkB,sBAK7B;AAEF,MAAM,oBAAoB,GAAG,CAC3B,QAAkB,EAClB,OAAiB,EACc,EAAE;IACjC,IAAI,GAAG,GAAqC,SAAS,CAAC;IAEtD,MAAM,MAAM,GAAG,QAAQ;SACpB,IAAI,CACH,IAAA,iBAAK,kBACH,cAAc,EAAE,IAAI,EACpB,oBAAoB,EAAE,IAAI,IACvB,OAAO,EACV,CACH;SACA,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACnB,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,kBAAY,EAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACvE,GAAG,GAAG,IAAI,0BAAoB,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEL,MAAM,IAAA,mBAAQ,EAAC,MAAM,CAAC,CAAC;IAEvB,IAAI,GAAG,KAAK,SAAS,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KAClC;IAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;QACjB,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACzB,GAAG,CAAC,sBAAsB,EAAE,CAAC;KAC9B;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../../src/utils/csv.ts"],"names":[],"mappings":";;;;AAAA,0CAAsE;AACtE,yCAA2C;AAC3C,+CAAyB;AACzB,mCAAkC;AAClC,8CAA2C;AA+CpC,MAAM,gBAAgB,GAAG,CAC9B,QAAgB,EAChB,OAAiB,EACc,EAAE;IACjC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjC,OAAO,oBAAoB,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC,CAAA,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEK,MAAM,kBAAkB,GAAG,CAChC,SAAiB,EACjB,OAAiB,EACc,EAAE;IACjC,OAAO,oBAAoB,CAAC,iBAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC,CAAA,CAAC;AALW,QAAA,kBAAkB,sBAK7B;AAEF,MAAM,oBAAoB,GAAG,CAC3B,QAAkB,EAClB,OAAiB,EACc,EAAE;IACjC,IAAI,GAAG,GAAqC,SAAS,CAAC;IAEtD,MAAM,MAAM,GAAG,QAAQ;SACpB,IAAI,CACH,IAAA,iBAAK,kBACH,cAAc,EAAE,IAAI,EACpB,oBAAoB,EAAE,IAAI,IACvB,OAAO,EACV,CACH;SACA,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACnB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,kBAAY,EAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACvE,GAAG,GAAG,IAAI,0BAAoB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEL,MAAM,IAAA,mBAAQ,EAAC,MAAM,CAAC,CAAC;IAEvB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;QAClB,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACzB,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dbType.js","sourceRoot":"","sources":["../../../src/utils/dbType.ts"],"names":[],"mappings":";;;AAAA,oCAA8D;AAEvD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,cAAM,CAAC,GAAG,KAAK,MAAM,CAAC;AAA3D,QAAA,KAAK,SAAsD;AAEjE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAW,EAAE;IACnD,QAAQ,MAAM,EAAE;QACd,KAAK,cAAM,CAAC,KAAK,CAAC;QAClB,KAAK,cAAM,CAAC,QAAQ,CAAC;QACrB,KAAK,cAAM,CAAC,SAAS,CAAC;QACtB,KAAK,cAAM,CAAC,MAAM,CAAC;QACnB,KAAK,cAAM,CAAC,MAAM;YAChB,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB;AAkBK,MAAM,6BAA6B,GAAG,CAAC,MAAc,EAAW,EAAE;IACvE,QAAQ,MAAM,EAAE;QACd,KAAK,cAAM,CAAC,KAAK,CAAC;QAClB,KAAK,cAAM,CAAC,QAAQ,CAAC;QACrB,KAAK,cAAM,CAAC,MAAM;YAChB,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AARW,QAAA,6BAA6B,iCAQxC;AAEK,MAAM,aAAa,GAAG,CAC3B,MAAc,EACd,UAAuB,EACd,EAAE;IACX,IAAI,MAAM,KAAK,cAAM,CAAC,GAAG,IAAI,UAAU,KAAK,SAAS,EAAE;QACrD,OAAO,KAAK,CAAC;KACd;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAc,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB"}
1
+ {"version":3,"file":"dbType.js","sourceRoot":"","sources":["../../../src/utils/dbType.ts"],"names":[],"mappings":";;;AAAA,oCAA8D;AAEvD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,cAAM,CAAC,GAAG,KAAK,MAAM,CAAC;AAA3D,QAAA,KAAK,SAAsD;AAEjE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAW,EAAE;IACnD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,cAAM,CAAC,KAAK,CAAC;QAClB,KAAK,cAAM,CAAC,QAAQ,CAAC;QACrB,KAAK,cAAM,CAAC,SAAS,CAAC;QACtB,KAAK,cAAM,CAAC,MAAM,CAAC;QACnB,KAAK,cAAM,CAAC,MAAM;YAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB;AAkBK,MAAM,6BAA6B,GAAG,CAAC,MAAc,EAAW,EAAE;IACvE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,cAAM,CAAC,KAAK,CAAC;QAClB,KAAK,cAAM,CAAC,QAAQ,CAAC;QACrB,KAAK,cAAM,CAAC,MAAM;YAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AARW,QAAA,6BAA6B,iCAQxC;AAEK,MAAM,aAAa,GAAG,CAC3B,MAAc,EACd,UAAuB,EACd,EAAE;IACX,IAAI,MAAM,KAAK,cAAM,CAAC,GAAG,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAc,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB"}
@@ -0,0 +1,3 @@
1
+ import type { LayoutEngineOptions, LayoutGraph, LayoutResult } from './types';
2
+ export declare const disposeAutoLayoutEngine: () => void;
3
+ export declare const runElkLayout: (graph: LayoutGraph, options?: LayoutEngineOptions) => Promise<LayoutResult>;
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runElkLayout = exports.disposeAutoLayoutEngine = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ELKConstructor = require('elkjs/lib/elk.bundled.js');
6
+ const normalizeLayout_1 = require("./normalizeLayout");
7
+ const DEFAULT_LAYOUT_OPTIONS = {
8
+ 'elk.algorithm': 'layered',
9
+ 'elk.hierarchyHandling': 'INCLUDE_CHILDREN',
10
+ 'elk.edgeRouting': 'ORTHOGONAL',
11
+ 'elk.layered.spacing.nodeNodeBetweenLayers': '60',
12
+ 'elk.spacing.nodeNode': '40',
13
+ };
14
+ const directionToElk = (direction) => direction;
15
+ const lowestCommonAncestor = (parentOf, a, b) => {
16
+ const ancestorsOfA = new Set();
17
+ let cursor = a;
18
+ while (cursor !== undefined) {
19
+ ancestorsOfA.add(cursor);
20
+ cursor = parentOf.get(cursor);
21
+ }
22
+ cursor = b;
23
+ while (cursor !== undefined) {
24
+ if (ancestorsOfA.has(cursor))
25
+ return cursor;
26
+ cursor = parentOf.get(cursor);
27
+ }
28
+ return '';
29
+ };
30
+ const buildElkTree = (graph) => {
31
+ const parentOf = new Map();
32
+ graph.nodes.forEach((node) => parentOf.set(node.id, node.parentId));
33
+ const elkNodeById = new Map();
34
+ graph.nodes.forEach((node) => {
35
+ var _a, _b, _c;
36
+ const hasPorts = ((_b = (_a = node.ports) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0;
37
+ elkNodeById.set(node.id, {
38
+ id: node.id,
39
+ width: node.width,
40
+ height: node.height,
41
+ ports: (_c = node.ports) === null || _c === void 0 ? void 0 : _c.map((port) => {
42
+ var _a, _b;
43
+ return ({
44
+ id: port.id,
45
+ x: port.x,
46
+ y: port.y,
47
+ width: (_a = port.width) !== null && _a !== void 0 ? _a : 1,
48
+ height: (_b = port.height) !== null && _b !== void 0 ? _b : 1,
49
+ });
50
+ }),
51
+ layoutOptions: hasPorts
52
+ ? Object.assign({ 'elk.portConstraints': 'FIXED_POS' }, node.layoutOptions) : node.layoutOptions,
53
+ children: [],
54
+ edges: [],
55
+ });
56
+ });
57
+ const root = {
58
+ id: graph.id,
59
+ width: 0,
60
+ height: 0,
61
+ children: [],
62
+ edges: [],
63
+ layoutOptions: Object.assign(Object.assign(Object.assign({}, DEFAULT_LAYOUT_OPTIONS), { 'elk.direction': directionToElk(graph.direction) }), graph.layoutOptions),
64
+ };
65
+ elkNodeById.set('', root);
66
+ graph.nodes.forEach((node) => {
67
+ var _a, _b, _c;
68
+ const parent = (_b = elkNodeById.get((_a = node.parentId) !== null && _a !== void 0 ? _a : '')) !== null && _b !== void 0 ? _b : root;
69
+ parent.children = (_c = parent.children) !== null && _c !== void 0 ? _c : [];
70
+ parent.children.push(elkNodeById.get(node.id));
71
+ });
72
+ graph.edges.forEach((edge) => {
73
+ var _a, _b, _c, _d, _e, _f;
74
+ const sourceNodeParent = parentOf.get(edge.source.nodeId);
75
+ const targetNodeParent = parentOf.get(edge.target.nodeId);
76
+ const lca = edge.source.nodeId === edge.target.nodeId
77
+ ? (sourceNodeParent !== null && sourceNodeParent !== void 0 ? sourceNodeParent : '')
78
+ : lowestCommonAncestor(parentOf, edge.source.nodeId, edge.target.nodeId);
79
+ const container = (_a = elkNodeById.get(lca)) !== null && _a !== void 0 ? _a : root;
80
+ container.edges = (_b = container.edges) !== null && _b !== void 0 ? _b : [];
81
+ container.edges.push({
82
+ id: edge.id,
83
+ sources: [(_c = edge.source.portId) !== null && _c !== void 0 ? _c : edge.source.nodeId],
84
+ targets: [(_d = edge.target.portId) !== null && _d !== void 0 ? _d : edge.target.nodeId],
85
+ labels: edge.label
86
+ ? [{
87
+ text: edge.label,
88
+ width: (_e = edge.labelSize) === null || _e === void 0 ? void 0 : _e.width,
89
+ height: (_f = edge.labelSize) === null || _f === void 0 ? void 0 : _f.height,
90
+ }]
91
+ : undefined,
92
+ layoutOptions: edge.layoutOptions,
93
+ });
94
+ void targetNodeParent;
95
+ });
96
+ return root;
97
+ };
98
+ const collectResult = (root) => {
99
+ const nodes = new Map();
100
+ const edges = new Map();
101
+ const walkNodes = (elkNode, parentAbsX, parentAbsY) => {
102
+ var _a, _b, _c;
103
+ const absX = parentAbsX + ((_a = elkNode.x) !== null && _a !== void 0 ? _a : 0);
104
+ const absY = parentAbsY + ((_b = elkNode.y) !== null && _b !== void 0 ? _b : 0);
105
+ if (elkNode.id !== root.id) {
106
+ nodes.set(elkNode.id, {
107
+ id: elkNode.id,
108
+ x: absX,
109
+ y: absY,
110
+ width: elkNode.width,
111
+ height: elkNode.height,
112
+ });
113
+ }
114
+ ((_c = elkNode.children) !== null && _c !== void 0 ? _c : []).forEach((child) => walkNodes(child, absX, absY));
115
+ };
116
+ walkNodes(root, 0, 0);
117
+ const walkEdges = (elkNode, parentAbsX, parentAbsY) => {
118
+ var _a, _b, _c, _d;
119
+ const absX = parentAbsX + ((_a = elkNode.x) !== null && _a !== void 0 ? _a : 0);
120
+ const absY = parentAbsY + ((_b = elkNode.y) !== null && _b !== void 0 ? _b : 0);
121
+ ((_c = elkNode.edges) !== null && _c !== void 0 ? _c : []).forEach((edge) => {
122
+ var _a, _b;
123
+ const section = (_a = edge.sections) === null || _a === void 0 ? void 0 : _a[0];
124
+ if (!section)
125
+ return;
126
+ const toAbs = (point) => ({ x: point.x + absX, y: point.y + absY });
127
+ edges.set(edge.id, {
128
+ id: edge.id,
129
+ sourcePoint: toAbs(section.startPoint),
130
+ targetPoint: toAbs(section.endPoint),
131
+ bendPoints: ((_b = section.bendPoints) !== null && _b !== void 0 ? _b : []).map(toAbs),
132
+ });
133
+ });
134
+ ((_d = elkNode.children) !== null && _d !== void 0 ? _d : []).forEach((child) => walkEdges(child, absX, absY));
135
+ };
136
+ walkEdges(root, 0, 0);
137
+ return { nodes, edges, usedAutoLayout: true };
138
+ };
139
+ const resolveWorkerUrl = () => {
140
+ try {
141
+ require.resolve('web-worker');
142
+ return require.resolve('elkjs/lib/elk-worker.min.js');
143
+ }
144
+ catch (_a) {
145
+ return undefined;
146
+ }
147
+ };
148
+ let cachedWorkerElk;
149
+ let cachedPlainElk;
150
+ const getElkInstance = (useWorker) => {
151
+ if (!useWorker) {
152
+ if (!cachedPlainElk)
153
+ cachedPlainElk = new ELKConstructor();
154
+ return cachedPlainElk;
155
+ }
156
+ const workerUrl = resolveWorkerUrl();
157
+ if (!workerUrl) {
158
+ if (!cachedPlainElk)
159
+ cachedPlainElk = new ELKConstructor();
160
+ return cachedPlainElk;
161
+ }
162
+ if (!cachedWorkerElk) {
163
+ const ELK = require('elkjs');
164
+ cachedWorkerElk = new ELK({ workerUrl });
165
+ }
166
+ return cachedWorkerElk;
167
+ };
168
+ const disposeAutoLayoutEngine = () => {
169
+ if (cachedWorkerElk === null || cachedWorkerElk === void 0 ? void 0 : cachedWorkerElk.terminateWorker)
170
+ cachedWorkerElk.terminateWorker();
171
+ cachedWorkerElk = undefined;
172
+ };
173
+ exports.disposeAutoLayoutEngine = disposeAutoLayoutEngine;
174
+ const runElkLayout = (graph_1, ...args_1) => tslib_1.__awaiter(void 0, [graph_1, ...args_1], void 0, function* (graph, options = {}) {
175
+ var _a, _b;
176
+ const sorted = (0, normalizeLayout_1.stableSortGraph)(graph);
177
+ const timeoutMs = (_a = options.timeoutMs) !== null && _a !== void 0 ? _a : 8000;
178
+ const useWorker = (_b = options.useWorker) !== null && _b !== void 0 ? _b : true;
179
+ const elk = getElkInstance(useWorker);
180
+ let timeoutHandle;
181
+ const timeout = new Promise((_resolve, reject) => {
182
+ timeoutHandle = setTimeout(() => reject(new Error('ELK layout timed out')), timeoutMs);
183
+ });
184
+ try {
185
+ const elkGraph = buildElkTree(sorted);
186
+ const laidOut = yield Promise.race([elk.layout(elkGraph), timeout]);
187
+ return collectResult(laidOut);
188
+ }
189
+ catch (_c) {
190
+ (0, exports.disposeAutoLayoutEngine)();
191
+ return (0, normalizeLayout_1.gridFallbackLayout)(sorted);
192
+ }
193
+ finally {
194
+ if (timeoutHandle)
195
+ clearTimeout(timeoutHandle);
196
+ }
197
+ });
198
+ exports.runElkLayout = runElkLayout;
199
+ //# sourceMappingURL=elkLayoutEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elkLayoutEngine.js","sourceRoot":"","sources":["../../../../src/utils/diagramLayout/elkLayoutEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export type { ComputedEdgeLayout, ComputedNodeLayout, LayoutDirection, LayoutEdge, LayoutEndpoint, LayoutEngineOptions, LayoutGraph, LayoutNode, LayoutPoint, LayoutPort, LayoutResult, } from './types';
2
+ export { disposeAutoLayoutEngine, runElkLayout as computeAutoLayout, } from './elkLayoutEngine';
3
+ export { anchorFraction, estimateLabelSize, gridFallbackLayout, stableSortGraph, validateLayoutResult, } from './normalizeLayout';
4
+ export type { ContainmentViolation, LayoutValidationReport, OverlapViolation, } from './normalizeLayout';
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateLayoutResult = exports.stableSortGraph = exports.gridFallbackLayout = exports.estimateLabelSize = exports.anchorFraction = exports.computeAutoLayout = exports.disposeAutoLayoutEngine = void 0;
4
+ var elkLayoutEngine_1 = require("./elkLayoutEngine");
5
+ Object.defineProperty(exports, "disposeAutoLayoutEngine", { enumerable: true, get: function () { return elkLayoutEngine_1.disposeAutoLayoutEngine; } });
6
+ Object.defineProperty(exports, "computeAutoLayout", { enumerable: true, get: function () { return elkLayoutEngine_1.runElkLayout; } });
7
+ var normalizeLayout_1 = require("./normalizeLayout");
8
+ Object.defineProperty(exports, "anchorFraction", { enumerable: true, get: function () { return normalizeLayout_1.anchorFraction; } });
9
+ Object.defineProperty(exports, "estimateLabelSize", { enumerable: true, get: function () { return normalizeLayout_1.estimateLabelSize; } });
10
+ Object.defineProperty(exports, "gridFallbackLayout", { enumerable: true, get: function () { return normalizeLayout_1.gridFallbackLayout; } });
11
+ Object.defineProperty(exports, "stableSortGraph", { enumerable: true, get: function () { return normalizeLayout_1.stableSortGraph; } });
12
+ Object.defineProperty(exports, "validateLayoutResult", { enumerable: true, get: function () { return normalizeLayout_1.validateLayoutResult; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/diagramLayout/index.ts"],"names":[],"mappings":";;;AAiBA,qDAG2B;AAFzB,0HAAA,uBAAuB,OAAA;AACvB,oHAAA,YAAY,OAAqB;AAEnC,qDAM2B;AALzB,iHAAA,cAAc,OAAA;AACd,oHAAA,iBAAiB,OAAA;AACjB,qHAAA,kBAAkB,OAAA;AAClB,kHAAA,eAAe,OAAA;AACf,uHAAA,oBAAoB,OAAA"}