@l-v-yonsama/multi-platform-database-drivers 1.2.0 → 2.0.0

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 (315) 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.d.ts +6 -0
  5. package/built/src/drivers/AwsDriver.js +87 -7
  6. package/built/src/drivers/AwsDriver.js.map +1 -1
  7. package/built/src/drivers/BaseDriver.d.ts +1 -1
  8. package/built/src/drivers/BaseDriver.js +4 -6
  9. package/built/src/drivers/BaseDriver.js.map +1 -1
  10. package/built/src/drivers/DBDriverResolver.js.map +1 -1
  11. package/built/src/drivers/DBError.js.map +1 -1
  12. package/built/src/drivers/KeycloakDriver.d.ts +2 -3
  13. package/built/src/drivers/KeycloakDriver.js +27 -262
  14. package/built/src/drivers/KeycloakDriver.js.map +1 -1
  15. package/built/src/drivers/MemcacheDriver.d.ts +0 -1
  16. package/built/src/drivers/MemcacheDriver.js +5 -5
  17. package/built/src/drivers/MemcacheDriver.js.map +1 -1
  18. package/built/src/drivers/MqttDriver.d.ts +0 -1
  19. package/built/src/drivers/MqttDriver.js +4 -4
  20. package/built/src/drivers/MqttDriver.js.map +1 -1
  21. package/built/src/drivers/MySQLDriver.js +12 -12
  22. package/built/src/drivers/MySQLDriver.js.map +1 -1
  23. package/built/src/drivers/OracleDriver.js +13 -13
  24. package/built/src/drivers/OracleDriver.js.map +1 -1
  25. package/built/src/drivers/PostgresDriver.js +22 -2
  26. package/built/src/drivers/PostgresDriver.js.map +1 -1
  27. package/built/src/drivers/RDSBaseDriver.d.ts +1 -1
  28. package/built/src/drivers/RDSBaseDriver.js +6 -6
  29. package/built/src/drivers/RDSBaseDriver.js.map +1 -1
  30. package/built/src/drivers/RedisDriver.js +2 -2
  31. package/built/src/drivers/RedisDriver.js.map +1 -1
  32. package/built/src/drivers/SQLServerDriver.js +7 -7
  33. package/built/src/drivers/SQLServerDriver.js.map +1 -1
  34. package/built/src/drivers/SQLiteDriver.d.ts +1 -1
  35. package/built/src/drivers/SQLiteDriver.js +7 -7
  36. package/built/src/drivers/SQLiteDriver.js.map +1 -1
  37. package/built/src/drivers/aws/AwsCloudFormationServiceClient.d.ts +35 -0
  38. package/built/src/drivers/aws/AwsCloudFormationServiceClient.js +197 -0
  39. package/built/src/drivers/aws/AwsCloudFormationServiceClient.js.map +1 -0
  40. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js +4 -7
  41. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js.map +1 -1
  42. package/built/src/drivers/aws/AwsDynamoServiceClient.js +8 -11
  43. package/built/src/drivers/aws/AwsDynamoServiceClient.js.map +1 -1
  44. package/built/src/drivers/aws/AwsS3ServiceClient.js +28 -30
  45. package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -1
  46. package/built/src/drivers/aws/AwsSESServiceClient.js +23 -0
  47. package/built/src/drivers/aws/AwsSESServiceClient.js.map +1 -1
  48. package/built/src/drivers/aws/AwsSQSServiceClient.d.ts +1 -0
  49. package/built/src/drivers/aws/AwsSQSServiceClient.js +40 -8
  50. package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -1
  51. package/built/src/drivers/aws/AwsSecretsManagerServiceClient.d.ts +19 -0
  52. package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js +118 -0
  53. package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js.map +1 -0
  54. package/built/src/drivers/aws/AwsServiceClient.d.ts +1 -0
  55. package/built/src/drivers/aws/AwsServiceClient.js +13 -2
  56. package/built/src/drivers/aws/AwsServiceClient.js.map +1 -1
  57. package/built/src/drivers/aws/AwsSsmServiceClient.d.ts +19 -0
  58. package/built/src/drivers/aws/AwsSsmServiceClient.js +116 -0
  59. package/built/src/drivers/aws/AwsSsmServiceClient.js.map +1 -0
  60. package/built/src/drivers/aws/index.d.ts +3 -0
  61. package/built/src/drivers/aws/index.js +3 -0
  62. package/built/src/drivers/aws/index.js.map +1 -1
  63. package/built/src/drivers/keycloak/resourceTreeBuilder.d.ts +5 -0
  64. package/built/src/drivers/keycloak/resourceTreeBuilder.js +37 -0
  65. package/built/src/drivers/keycloak/resourceTreeBuilder.js.map +1 -0
  66. package/built/src/drivers/keycloak/scanResultBuilder.d.ts +8 -0
  67. package/built/src/drivers/keycloak/scanResultBuilder.js +212 -0
  68. package/built/src/drivers/keycloak/scanResultBuilder.js.map +1 -0
  69. package/built/src/drivers/memcache/helper.d.ts +0 -1
  70. package/built/src/drivers/memcache/helper.js +13 -14
  71. package/built/src/drivers/memcache/helper.js.map +1 -1
  72. package/built/src/helpers/ProposalHelper.js +3 -3
  73. package/built/src/helpers/ProposalHelper.js.map +1 -1
  74. package/built/src/helpers/RdhRecordRuleHelper.js.map +1 -1
  75. package/built/src/helpers/RuleEngine.d.ts +5 -5
  76. package/built/src/helpers/RuleEngine.js +14 -14
  77. package/built/src/helpers/RuleEngine.js.map +1 -1
  78. package/built/src/helpers/SQLHelper.d.ts +8 -115
  79. package/built/src/helpers/SQLHelper.js +35 -1084
  80. package/built/src/helpers/SQLHelper.js.map +1 -1
  81. package/built/src/helpers/prompts/Auth0PromptHelper.js.map +1 -1
  82. package/built/src/helpers/prompts/AwsPromptHelper.js +93 -2
  83. package/built/src/helpers/prompts/AwsPromptHelper.js.map +1 -1
  84. package/built/src/helpers/prompts/KeycloakPromptHelper.js.map +1 -1
  85. package/built/src/helpers/prompts/MemcachePromptHelper.js.map +1 -1
  86. package/built/src/helpers/prompts/MqttPromptHelper.js.map +1 -1
  87. package/built/src/helpers/prompts/RdsPromptHelper.js +1 -1
  88. package/built/src/helpers/prompts/RdsPromptHelper.js.map +1 -1
  89. package/built/src/helpers/prompts/RedisPromptHelper.js.map +1 -1
  90. package/built/src/helpers/prompts/SchemaPromptHelper.js.map +1 -1
  91. package/built/src/helpers/sql/dynamoConversion.d.ts +2 -0
  92. package/built/src/helpers/sql/dynamoConversion.js +27 -0
  93. package/built/src/helpers/sql/dynamoConversion.js.map +1 -0
  94. package/built/src/helpers/sql/formatQuery.d.ts +6 -0
  95. package/built/src/helpers/sql/formatQuery.js +45 -0
  96. package/built/src/helpers/sql/formatQuery.js.map +1 -0
  97. package/built/src/helpers/sql/mutationQuery.d.ts +54 -0
  98. package/built/src/helpers/sql/mutationQuery.js +250 -0
  99. package/built/src/helpers/sql/mutationQuery.js.map +1 -0
  100. package/built/src/helpers/sql/parameterNormalizer.d.ts +16 -0
  101. package/built/src/helpers/sql/parameterNormalizer.js +166 -0
  102. package/built/src/helpers/sql/parameterNormalizer.js.map +1 -0
  103. package/built/src/helpers/sql/queryParser.d.ts +6 -0
  104. package/built/src/helpers/sql/queryParser.js +239 -0
  105. package/built/src/helpers/sql/queryParser.js.map +1 -0
  106. package/built/src/helpers/sql/quote.d.ts +17 -0
  107. package/built/src/helpers/sql/quote.js +140 -0
  108. package/built/src/helpers/sql/quote.js.map +1 -0
  109. package/built/src/helpers/sql/selectQuery.d.ts +24 -0
  110. package/built/src/helpers/sql/selectQuery.js +262 -0
  111. package/built/src/helpers/sql/selectQuery.js.map +1 -0
  112. package/built/src/resource/aws.d.ts +106 -0
  113. package/built/src/resource/aws.js +219 -0
  114. package/built/src/resource/aws.js.map +1 -0
  115. package/built/src/resource/base.d.ts +28 -0
  116. package/built/src/resource/base.js +76 -0
  117. package/built/src/resource/base.js.map +1 -0
  118. package/built/src/resource/connection.d.ts +35 -0
  119. package/built/src/resource/connection.js +52 -0
  120. package/built/src/resource/connection.js.map +1 -0
  121. package/built/src/resource/fromJson.d.ts +2 -0
  122. package/built/src/resource/fromJson.js +125 -0
  123. package/built/src/resource/fromJson.js.map +1 -0
  124. package/built/src/resource/iam.d.ts +70 -0
  125. package/built/src/resource/iam.js +175 -0
  126. package/built/src/resource/iam.js.map +1 -0
  127. package/built/src/resource/index.d.ts +8 -1
  128. package/built/src/resource/index.js +8 -1
  129. package/built/src/resource/index.js.map +1 -1
  130. package/built/src/resource/keyValue.d.ts +85 -0
  131. package/built/src/resource/keyValue.js +74 -0
  132. package/built/src/resource/keyValue.js.map +1 -0
  133. package/built/src/resource/rdb.d.ts +49 -0
  134. package/built/src/resource/rdb.js +155 -0
  135. package/built/src/resource/rdb.js.map +1 -0
  136. package/built/src/resource/types.d.ts +18 -0
  137. package/built/src/resource/types.js +3 -0
  138. package/built/src/resource/types.js.map +1 -0
  139. package/built/src/types/drivers/Keycloak.js +1 -1
  140. package/built/src/types/drivers/Keycloak.js.map +1 -1
  141. package/built/src/types/drivers/MemcachedParams.d.ts +0 -1
  142. package/built/src/types/drivers/ScanParams.d.ts +15 -1
  143. package/built/src/types/helpers/index.js +1 -1
  144. package/built/src/types/helpers/index.js.map +1 -1
  145. package/built/src/types/resource/AwsCfnStackAttributes.d.ts +164 -0
  146. package/built/src/types/resource/AwsCfnStackAttributes.js +56 -0
  147. package/built/src/types/resource/AwsCfnStackAttributes.js.map +1 -0
  148. package/built/src/types/resource/AwsSESIdentityAttributes.d.ts +17 -0
  149. package/built/src/types/resource/AwsSESIdentityAttributes.js +3 -0
  150. package/built/src/types/resource/AwsSESIdentityAttributes.js.map +1 -0
  151. package/built/src/types/resource/AwsSQSAttributes.d.ts +1 -0
  152. package/built/src/types/resource/AwsSecretAttributes.d.ts +6 -0
  153. package/built/src/types/resource/AwsSecretAttributes.js +3 -0
  154. package/built/src/types/resource/AwsSecretAttributes.js.map +1 -0
  155. package/built/src/types/resource/AwsServiceType.d.ts +4 -1
  156. package/built/src/types/resource/AwsServiceType.js +3 -0
  157. package/built/src/types/resource/AwsServiceType.js.map +1 -1
  158. package/built/src/types/resource/AwsSsmParameterAttributes.d.ts +12 -0
  159. package/built/src/types/resource/AwsSsmParameterAttributes.js +3 -0
  160. package/built/src/types/resource/AwsSsmParameterAttributes.js.map +1 -0
  161. package/built/src/types/resource/ConnectionSetting.d.ts +2 -2
  162. package/built/src/types/resource/ConnectionSetting.js.map +1 -1
  163. package/built/src/types/resource/MySQLColumnType.js +2 -2
  164. package/built/src/types/resource/MySQLColumnType.js.map +1 -1
  165. package/built/src/types/resource/OracleColumnType.js +2 -2
  166. package/built/src/types/resource/OracleColumnType.js.map +1 -1
  167. package/built/src/types/resource/PartiQLAttrType.js.map +1 -1
  168. package/built/src/types/resource/PostgresColumnType.js +2 -2
  169. package/built/src/types/resource/PostgresColumnType.js.map +1 -1
  170. package/built/src/types/resource/ResourceType.d.ts +5 -0
  171. package/built/src/types/resource/ResourceType.js +5 -0
  172. package/built/src/types/resource/ResourceType.js.map +1 -1
  173. package/built/src/types/resource/SQLServerColumnType.js +2 -2
  174. package/built/src/types/resource/SQLServerColumnType.js.map +1 -1
  175. package/built/src/types/resource/index.d.ts +4 -0
  176. package/built/src/types/resource/index.js +4 -0
  177. package/built/src/types/resource/index.js.map +1 -1
  178. package/built/src/types/utils/index.js +2 -2
  179. package/built/src/types/utils/index.js.map +1 -1
  180. package/built/src/utils/base.js +1 -1
  181. package/built/src/utils/base.js.map +1 -1
  182. package/built/src/utils/cfn/applicationDiagram.d.ts +2 -0
  183. package/built/src/utils/cfn/applicationDiagram.js +174 -0
  184. package/built/src/utils/cfn/applicationDiagram.js.map +1 -0
  185. package/built/src/utils/cfn/applicationRelations.d.ts +28 -0
  186. package/built/src/utils/cfn/applicationRelations.js +430 -0
  187. package/built/src/utils/cfn/applicationRelations.js.map +1 -0
  188. package/built/src/utils/cfn/cfnDependencyGraphDiagram.d.ts +2 -0
  189. package/built/src/utils/cfn/cfnDependencyGraphDiagram.js +198 -0
  190. package/built/src/utils/cfn/cfnDependencyGraphDiagram.js.map +1 -0
  191. package/built/src/utils/cfn/deploymentTopology.d.ts +132 -0
  192. package/built/src/utils/cfn/deploymentTopology.js +637 -0
  193. package/built/src/utils/cfn/deploymentTopology.js.map +1 -0
  194. package/built/src/utils/cfn/diagramFileModel.d.ts +2 -0
  195. package/built/src/utils/cfn/diagramFileModel.js +178 -0
  196. package/built/src/utils/cfn/diagramFileModel.js.map +1 -0
  197. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.d.ts +3 -0
  198. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js +174 -0
  199. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js.map +1 -0
  200. package/built/src/utils/cfn/drawio/commonCells.d.ts +22 -0
  201. package/built/src/utils/cfn/drawio/commonCells.js +83 -0
  202. package/built/src/utils/cfn/drawio/commonCells.js.map +1 -0
  203. package/built/src/utils/cfn/drawio/edgeRouting.d.ts +34 -0
  204. package/built/src/utils/cfn/drawio/edgeRouting.js +77 -0
  205. package/built/src/utils/cfn/drawio/edgeRouting.js.map +1 -0
  206. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.d.ts +3 -0
  207. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js +812 -0
  208. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js.map +1 -0
  209. package/built/src/utils/cfn/drawioApplicationDiagram.d.ts +3 -0
  210. package/built/src/utils/cfn/drawioApplicationDiagram.js +455 -0
  211. package/built/src/utils/cfn/drawioApplicationDiagram.js.map +1 -0
  212. package/built/src/utils/cfn/drawioInfrastructureDiagrams.d.ts +2 -0
  213. package/built/src/utils/cfn/drawioInfrastructureDiagrams.js +10 -0
  214. package/built/src/utils/cfn/drawioInfrastructureDiagrams.js.map +1 -0
  215. package/built/src/utils/cfn/drawioXml.d.ts +1 -0
  216. package/built/src/utils/cfn/drawioXml.js +11 -0
  217. package/built/src/utils/cfn/drawioXml.js.map +1 -0
  218. package/built/src/utils/cfn/generateDiagram.d.ts +2 -0
  219. package/built/src/utils/cfn/generateDiagram.js +22 -0
  220. package/built/src/utils/cfn/generateDiagram.js.map +1 -0
  221. package/built/src/utils/cfn/icons.d.ts +1 -0
  222. package/built/src/utils/cfn/icons.js +60 -0
  223. package/built/src/utils/cfn/icons.js.map +1 -0
  224. package/built/src/utils/cfn/index.d.ts +11 -0
  225. package/built/src/utils/cfn/index.js +34 -0
  226. package/built/src/utils/cfn/index.js.map +1 -0
  227. package/built/src/utils/cfn/intrinsics.d.ts +12 -0
  228. package/built/src/utils/cfn/intrinsics.js +158 -0
  229. package/built/src/utils/cfn/intrinsics.js.map +1 -0
  230. package/built/src/utils/cfn/mermaidFlowchart.d.ts +3 -0
  231. package/built/src/utils/cfn/mermaidFlowchart.js +14 -0
  232. package/built/src/utils/cfn/mermaidFlowchart.js.map +1 -0
  233. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.d.ts +27 -0
  234. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.js +409 -0
  235. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.js.map +1 -0
  236. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.d.ts +2 -0
  237. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.js +286 -0
  238. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.js.map +1 -0
  239. package/built/src/utils/cfn/naming.d.ts +7 -0
  240. package/built/src/utils/cfn/naming.js +33 -0
  241. package/built/src/utils/cfn/naming.js.map +1 -0
  242. package/built/src/utils/cfn/resourceDependencies.d.ts +2 -0
  243. package/built/src/utils/cfn/resourceDependencies.js +33 -0
  244. package/built/src/utils/cfn/resourceDependencies.js.map +1 -0
  245. package/built/src/utils/cfn/templateParsing.d.ts +3 -0
  246. package/built/src/utils/cfn/templateParsing.js +58 -0
  247. package/built/src/utils/cfn/templateParsing.js.map +1 -0
  248. package/built/src/utils/cfn/viewpoints.d.ts +3 -0
  249. package/built/src/utils/cfn/viewpoints.js +122 -0
  250. package/built/src/utils/cfn/viewpoints.js.map +1 -0
  251. package/built/src/utils/csv.js.map +1 -1
  252. package/built/src/utils/dbType.js.map +1 -1
  253. package/built/src/utils/diagramLayout/elkLayoutEngine.d.ts +3 -0
  254. package/built/src/utils/diagramLayout/elkLayoutEngine.js +199 -0
  255. package/built/src/utils/diagramLayout/elkLayoutEngine.js.map +1 -0
  256. package/built/src/utils/diagramLayout/index.d.ts +4 -0
  257. package/built/src/utils/diagramLayout/index.js +13 -0
  258. package/built/src/utils/diagramLayout/index.js.map +1 -0
  259. package/built/src/utils/diagramLayout/normalizeLayout.d.ts +33 -0
  260. package/built/src/utils/diagramLayout/normalizeLayout.js +116 -0
  261. package/built/src/utils/diagramLayout/normalizeLayout.js.map +1 -0
  262. package/built/src/utils/diagramLayout/types.d.ts +64 -0
  263. package/built/src/utils/diagramLayout/types.js +3 -0
  264. package/built/src/utils/diagramLayout/types.js.map +1 -0
  265. package/built/src/utils/drawio/drawioXml.d.ts +24 -0
  266. package/built/src/utils/drawio/drawioXml.js +47 -0
  267. package/built/src/utils/drawio/drawioXml.js.map +1 -0
  268. package/built/src/utils/drawio/index.d.ts +2 -0
  269. package/built/src/utils/drawio/index.js +10 -0
  270. package/built/src/utils/drawio/index.js.map +1 -0
  271. package/built/src/utils/driverUtil.d.ts +1 -1
  272. package/built/src/utils/driverUtil.js.map +1 -1
  273. package/built/src/utils/er/erDiagramDrawioGenerator.d.ts +26 -0
  274. package/built/src/utils/er/erDiagramDrawioGenerator.js +99 -0
  275. package/built/src/utils/er/erDiagramDrawioGenerator.js.map +1 -0
  276. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.d.ts +2 -0
  277. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js +103 -0
  278. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js.map +1 -0
  279. package/built/src/utils/er/erDiagramGenerator.d.ts +7 -0
  280. package/built/src/utils/er/erDiagramGenerator.js +321 -0
  281. package/built/src/utils/er/erDiagramGenerator.js.map +1 -0
  282. package/built/src/utils/er/index.d.ts +4 -0
  283. package/built/src/utils/er/index.js +13 -0
  284. package/built/src/utils/er/index.js.map +1 -0
  285. package/built/src/utils/er/types.d.ts +31 -0
  286. package/built/src/utils/er/types.js +3 -0
  287. package/built/src/utils/er/types.js.map +1 -0
  288. package/built/src/utils/index.d.ts +2 -0
  289. package/built/src/utils/index.js +2 -0
  290. package/built/src/utils/index.js.map +1 -1
  291. package/built/src/utils/log/LogParser.js.map +1 -1
  292. package/built/src/utils/log/buildSqlExecutions.js +3 -4
  293. package/built/src/utils/log/buildSqlExecutions.js.map +1 -1
  294. package/built/src/utils/log/classify/classifyEvent.js +2 -3
  295. package/built/src/utils/log/classify/classifyEvent.js.map +1 -1
  296. package/built/src/utils/log/detect/presetDetector.js +4 -5
  297. package/built/src/utils/log/detect/presetDetector.js.map +1 -1
  298. package/built/src/utils/log/extract/runExtractors.js +1 -2
  299. package/built/src/utils/log/extract/runExtractors.js.map +1 -1
  300. package/built/src/utils/log/logSummary.js +5 -5
  301. package/built/src/utils/log/logSummary.js.map +1 -1
  302. package/built/src/utils/log/pattern/logEventPattern.js +2 -3
  303. package/built/src/utils/log/pattern/logEventPattern.js.map +1 -1
  304. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js +2 -3
  305. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js.map +1 -1
  306. package/built/src/utils/log/split/splitLogEvents.js +1 -2
  307. package/built/src/utils/log/split/splitLogEvents.js.map +1 -1
  308. package/built/src/utils/log/sql/removeSqlComments.js +2 -3
  309. package/built/src/utils/log/sql/removeSqlComments.js.map +1 -1
  310. package/built/src/utils/log/validator.js +8 -5
  311. package/built/src/utils/log/validator.js.map +1 -1
  312. package/package.json +21 -9
  313. package/built/src/resource/DbResource.d.ts +0 -355
  314. package/built/src/resource/DbResource.js +0 -755
  315. package/built/src/resource/DbResource.js.map +0 -1
@@ -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":";;;;AACA,MAAM,cAAc,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAW3D,uDAAwE;AAmCxE,MAAM,sBAAsB,GAA2B;IACrD,eAAe,EAAE,SAAS;IAC1B,uBAAuB,EAAE,kBAAkB;IAC3C,iBAAiB,EAAE,YAAY;IAC/B,2CAA2C,EAAE,IAAI;IACjD,sBAAsB,EAAE,IAAI;CAC7B,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,SAAmC,EAC3B,EAAE,CAAC,SAAS,CAAC;AAMvB,MAAM,oBAAoB,GAAG,CAC3B,QAAyC,EACzC,CAAS,EACT,CAAS,EACD,EAAE;IACV,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,IAAI,MAAM,GAAuB,CAAC,CAAC;IACnC,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5B,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,GAAG,CAAC,CAAC;IACX,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC5C,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAW,EAAE;IACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IACvD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC/C,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,EAAE;;QACvC,MAAM,QAAQ,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YACvB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBAChC,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,CAAC,EAAE,IAAI,CAAC,CAAC;oBACT,CAAC,EAAE,IAAI,CAAC,CAAC;oBACT,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,CAAC;oBACtB,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC;iBACzB,CAAC,CAAA;aAAA,CAAC;YACH,aAAa,EAAE,QAAQ;gBACrB,CAAC,iBAAG,qBAAqB,EAAE,WAAW,IAAK,IAAI,CAAC,aAAa,EAC7D,CAAC,CAAC,IAAI,CAAC,aAAa;YACtB,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAY;QACpB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,aAAa,gDACR,sBAAsB,KACzB,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,KAC7C,KAAK,CAAC,aAAa,CACvB;KACF,CAAC;IACF,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAE1B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;;QAC3B,MAAM,MAAM,GAAG,MAAA,WAAW,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,CAAC,mCAAI,IAAI,CAAC;QAC5D,MAAM,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAY,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,EAAE;;QACvC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM;YACnD,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC;YAC1B,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,MAAA,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,IAAI,CAAC;QAC/C,SAAS,CAAC,KAAK,GAAG,MAAA,SAAS,CAAC,KAAK,mCAAI,EAAE,CAAC;QACxC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;YACnB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,mCAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACnD,OAAO,EAAE,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,mCAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACnD,MAAM,EAAE,IAAI,CAAC,KAAK;gBAChB,CAAC,CAAC,CAAC;wBACC,IAAI,EAAE,IAAI,CAAC,KAAK;wBAChB,KAAK,EAAE,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK;wBAC5B,MAAM,EAAE,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM;qBAC/B,CAAC;gBACJ,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QACH,KAAK,gBAAgB,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAa,EAAgB,EAAE;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEpD,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,UAAkB,EAAE,UAAkB,EAAQ,EAAE;;QACnF,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,MAAA,OAAO,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,MAAA,OAAO,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;gBACpB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,IAAI;gBACP,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC;QACD,CAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;IACF,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAKtB,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,UAAkB,EAAE,UAAkB,EAAQ,EAAE;;QACnF,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,MAAA,OAAO,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,MAAA,OAAO,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAC;QAC3C,CAAC,MAAA,OAAO,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;;YACrC,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAG,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,KAAK,GAAG,CAAC,KAAe,EAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YAC3F,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;gBACjB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;gBACtC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACpC,UAAU,EAAE,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;aAClD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,CAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;IACF,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAChD,CAAC,CAAC;AAMF,MAAM,gBAAgB,GAAG,GAAuB,EAAE;IAChD,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACxD,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AASF,IAAI,eAAuG,CAAC;AAC5G,IAAI,cAAwE,CAAC;AAE7E,MAAM,cAAc,GAAG,CAAC,SAAkB,EAA8E,EAAE;IACxH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,cAAc;YAAE,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3D,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,cAAc;YAAE,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3D,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,eAAe,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,eAAe,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAMK,MAAM,uBAAuB,GAAG,GAAS,EAAE;IAChD,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,eAAe;QAAE,eAAe,CAAC,eAAe,EAAE,CAAC;IACxE,eAAe,GAAG,SAAS,CAAC;AAC9B,CAAC,CAAC;AAHW,QAAA,uBAAuB,2BAGlC;AAMK,MAAM,YAAY,GAAG,qBAGH,EAAE,oEAFzB,KAAkB,EAClB,UAA+B,EAAE;;IAEjC,MAAM,MAAM,GAAG,IAAA,iCAAe,EAAC,KAAK,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,CAAC;IAC5C,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAEtC,IAAI,aAAwD,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QACtD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,OAAO,aAAa,CAAC,OAAkB,CAAC,CAAC;IAC3C,CAAC;IAAC,WAAM,CAAC;QAOP,IAAA,+BAAuB,GAAE,CAAC;QAC1B,OAAO,IAAA,oCAAkB,EAAC,MAAM,CAAC,CAAC;IACpC,CAAC;YAAS,CAAC;QACT,IAAI,aAAa;YAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAA,CAAC;AA9BW,QAAA,YAAY,gBA8BvB"}
@@ -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"}
@@ -0,0 +1,33 @@
1
+ import { LayoutGraph, LayoutResult } from './types';
2
+ export declare const estimateLabelSize: (text: string, fontSizePx?: number) => {
3
+ width: number;
4
+ height: number;
5
+ };
6
+ export declare const anchorFraction: (point: {
7
+ x: number;
8
+ y: number;
9
+ }, box: {
10
+ x: number;
11
+ y: number;
12
+ width: number;
13
+ height: number;
14
+ }) => {
15
+ x: number;
16
+ y: number;
17
+ };
18
+ export declare const stableSortGraph: (graph: LayoutGraph) => LayoutGraph;
19
+ export type ContainmentViolation = {
20
+ nodeId: string;
21
+ parentId: string;
22
+ reason: 'out-of-bounds';
23
+ };
24
+ export type OverlapViolation = {
25
+ nodeId: string;
26
+ otherNodeId: string;
27
+ };
28
+ export type LayoutValidationReport = {
29
+ containmentViolations: ContainmentViolation[];
30
+ siblingOverlaps: OverlapViolation[];
31
+ };
32
+ export declare const validateLayoutResult: (graph: LayoutGraph, result: LayoutResult) => LayoutValidationReport;
33
+ export declare const gridFallbackLayout: (graph: LayoutGraph) => LayoutResult;
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gridFallbackLayout = exports.validateLayoutResult = exports.stableSortGraph = exports.anchorFraction = exports.estimateLabelSize = void 0;
4
+ const estimateLabelSize = (text, fontSizePx = 12) => ({
5
+ width: Math.ceil(text.length * fontSizePx * 0.62) + 16,
6
+ height: Math.ceil(fontSizePx * 1.6),
7
+ });
8
+ exports.estimateLabelSize = estimateLabelSize;
9
+ const anchorFraction = (point, box) => ({
10
+ x: Math.min(1, Math.max(0, box.width === 0 ? 0.5 : (point.x - box.x) / box.width)),
11
+ y: Math.min(1, Math.max(0, box.height === 0 ? 0.5 : (point.y - box.y) / box.height)),
12
+ });
13
+ exports.anchorFraction = anchorFraction;
14
+ const stableSortGraph = (graph) => (Object.assign(Object.assign({}, graph), { nodes: [...graph.nodes].sort((a, b) => a.id.localeCompare(b.id)), edges: [...graph.edges].sort((a, b) => a.id.localeCompare(b.id)) }));
15
+ exports.stableSortGraph = stableSortGraph;
16
+ const validateLayoutResult = (graph, result) => {
17
+ const containmentViolations = [];
18
+ const siblingOverlaps = [];
19
+ const childrenByParent = new Map();
20
+ graph.nodes.forEach((node) => {
21
+ var _a, _b;
22
+ const key = (_a = node.parentId) !== null && _a !== void 0 ? _a : '';
23
+ childrenByParent.set(key, [...((_b = childrenByParent.get(key)) !== null && _b !== void 0 ? _b : []), node]);
24
+ });
25
+ childrenByParent.forEach((siblings, parentKey) => {
26
+ const parentBox = parentKey ? result.nodes.get(parentKey) : undefined;
27
+ for (let i = 0; i < siblings.length; i++) {
28
+ const a = result.nodes.get(siblings[i].id);
29
+ if (!a)
30
+ continue;
31
+ if (parentBox) {
32
+ const withinX = a.x >= parentBox.x - 0.01 && a.x + a.width <= parentBox.x + parentBox.width + 0.01;
33
+ const withinY = a.y >= parentBox.y - 0.01 && a.y + a.height <= parentBox.y + parentBox.height + 0.01;
34
+ if (!withinX || !withinY) {
35
+ containmentViolations.push({
36
+ nodeId: siblings[i].id,
37
+ parentId: parentKey,
38
+ reason: 'out-of-bounds',
39
+ });
40
+ }
41
+ }
42
+ for (let j = i + 1; j < siblings.length; j++) {
43
+ const b = result.nodes.get(siblings[j].id);
44
+ if (!b)
45
+ continue;
46
+ const overlapsX = a.x < b.x + b.width && b.x < a.x + a.width;
47
+ const overlapsY = a.y < b.y + b.height && b.y < a.y + a.height;
48
+ if (overlapsX && overlapsY) {
49
+ siblingOverlaps.push({ nodeId: siblings[i].id, otherNodeId: siblings[j].id });
50
+ }
51
+ }
52
+ }
53
+ });
54
+ return { containmentViolations, siblingOverlaps };
55
+ };
56
+ exports.validateLayoutResult = validateLayoutResult;
57
+ const gridFallbackLayout = (graph) => {
58
+ const nodes = new Map();
59
+ const sorted = (0, exports.stableSortGraph)(graph);
60
+ const childrenByParent = new Map();
61
+ sorted.nodes.forEach((node) => {
62
+ var _a, _b;
63
+ const key = (_a = node.parentId) !== null && _a !== void 0 ? _a : '';
64
+ childrenByParent.set(key, [...((_b = childrenByParent.get(key)) !== null && _b !== void 0 ? _b : []), node]);
65
+ });
66
+ const GAP = 40;
67
+ const COLUMNS = 3;
68
+ const layoutGroup = (parentKey, originX, originY) => {
69
+ var _a;
70
+ const children = (_a = childrenByParent.get(parentKey)) !== null && _a !== void 0 ? _a : [];
71
+ let cursorX = 0;
72
+ let cursorY = 0;
73
+ let rowHeight = 0;
74
+ let maxX = 0;
75
+ children.forEach((child, index) => {
76
+ var _a;
77
+ if (index > 0 && index % COLUMNS === 0) {
78
+ cursorX = 0;
79
+ cursorY += rowHeight + GAP;
80
+ rowHeight = 0;
81
+ }
82
+ const childHasChildren = ((_a = childrenByParent.get(child.id)) !== null && _a !== void 0 ? _a : []).length > 0;
83
+ const size = childHasChildren
84
+ ? layoutGroup(child.id, originX + cursorX, originY + cursorY)
85
+ : { width: child.width, height: child.height };
86
+ nodes.set(child.id, {
87
+ id: child.id,
88
+ x: originX + cursorX,
89
+ y: originY + cursorY,
90
+ width: size.width,
91
+ height: size.height,
92
+ });
93
+ cursorX += size.width + GAP;
94
+ rowHeight = Math.max(rowHeight, size.height);
95
+ maxX = Math.max(maxX, cursorX - GAP);
96
+ });
97
+ return { width: Math.max(maxX, 1), height: cursorY + rowHeight };
98
+ };
99
+ layoutGroup('', 0, 0);
100
+ const edges = new Map();
101
+ graph.edges.forEach((edge) => {
102
+ const source = nodes.get(edge.source.nodeId);
103
+ const target = nodes.get(edge.target.nodeId);
104
+ if (!source || !target)
105
+ return;
106
+ edges.set(edge.id, {
107
+ id: edge.id,
108
+ sourcePoint: { x: source.x + source.width / 2, y: source.y + source.height / 2 },
109
+ targetPoint: { x: target.x + target.width / 2, y: target.y + target.height / 2 },
110
+ bendPoints: [],
111
+ });
112
+ });
113
+ return { nodes, edges, usedAutoLayout: false };
114
+ };
115
+ exports.gridFallbackLayout = gridFallbackLayout;
116
+ //# sourceMappingURL=normalizeLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeLayout.js","sourceRoot":"","sources":["../../../../src/utils/diagramLayout/normalizeLayout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ export type LayoutPort = {
2
+ id: string;
3
+ x: number;
4
+ y: number;
5
+ width?: number;
6
+ height?: number;
7
+ };
8
+ export type LayoutNode = {
9
+ id: string;
10
+ width: number;
11
+ height: number;
12
+ parentId?: string;
13
+ ports?: LayoutPort[];
14
+ layoutOptions?: Record<string, string>;
15
+ };
16
+ export type LayoutEndpoint = {
17
+ nodeId: string;
18
+ portId?: string;
19
+ };
20
+ export type LayoutEdge = {
21
+ id: string;
22
+ source: LayoutEndpoint;
23
+ target: LayoutEndpoint;
24
+ label?: string;
25
+ labelSize?: {
26
+ width: number;
27
+ height: number;
28
+ };
29
+ layoutOptions?: Record<string, string>;
30
+ };
31
+ export type LayoutDirection = 'DOWN' | 'RIGHT' | 'UP' | 'LEFT';
32
+ export type LayoutGraph = {
33
+ id: string;
34
+ direction: LayoutDirection;
35
+ nodes: LayoutNode[];
36
+ edges: LayoutEdge[];
37
+ layoutOptions?: Record<string, string>;
38
+ };
39
+ export type LayoutPoint = {
40
+ x: number;
41
+ y: number;
42
+ };
43
+ export type ComputedNodeLayout = {
44
+ id: string;
45
+ x: number;
46
+ y: number;
47
+ width: number;
48
+ height: number;
49
+ };
50
+ export type ComputedEdgeLayout = {
51
+ id: string;
52
+ sourcePoint: LayoutPoint;
53
+ targetPoint: LayoutPoint;
54
+ bendPoints: LayoutPoint[];
55
+ };
56
+ export type LayoutResult = {
57
+ nodes: Map<string, ComputedNodeLayout>;
58
+ edges: Map<string, ComputedEdgeLayout>;
59
+ usedAutoLayout: boolean;
60
+ };
61
+ export type LayoutEngineOptions = {
62
+ timeoutMs?: number;
63
+ useWorker?: boolean;
64
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/utils/diagramLayout/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ export declare const xmlEscape: (value: string) => string;
2
+ export declare const drawioPage: (id: string, name: string, cells: string[], rootId?: string, layerId?: string) => string;
3
+ export declare const wrapDrawioPages: (pages: string[]) => string;
4
+ export declare const pageLink: (pageId: string) => string;
5
+ export type DrawioLineLegendItem = {
6
+ id: string;
7
+ label: string;
8
+ color: string;
9
+ width: number;
10
+ dashed?: boolean;
11
+ bidirectional?: boolean;
12
+ };
13
+ type DrawioLineLegendParams = {
14
+ id?: string;
15
+ title: string;
16
+ x: number;
17
+ y: number;
18
+ width: number;
19
+ items: DrawioLineLegendItem[];
20
+ parent?: string;
21
+ jumpSize?: number;
22
+ };
23
+ export declare const drawioLineLegendCells: ({ id, title, x, y, width, items, parent, jumpSize, }: DrawioLineLegendParams) => string[];
24
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.drawioLineLegendCells = exports.pageLink = exports.wrapDrawioPages = exports.drawioPage = exports.xmlEscape = void 0;
4
+ const xmlEscape = (value) => value
5
+ .replace(/&/g, '&amp;')
6
+ .replace(/</g, '&lt;')
7
+ .replace(/>/g, '&gt;')
8
+ .replace(/"/g, '&quot;')
9
+ .replace(/'/g, '&apos;');
10
+ exports.xmlEscape = xmlEscape;
11
+ const drawioPage = (id, name, cells, rootId = '0', layerId = '1') => [
12
+ `<diagram id="${(0, exports.xmlEscape)(id)}" name="${(0, exports.xmlEscape)(name)}">`,
13
+ '<mxGraphModel dx="1600" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1000" math="0" shadow="0">',
14
+ `<root><mxCell id="${rootId}"/><mxCell id="${layerId}" parent="${rootId}"/>${cells.join('')}</root>`,
15
+ '</mxGraphModel>',
16
+ '</diagram>',
17
+ ].join('');
18
+ exports.drawioPage = drawioPage;
19
+ const wrapDrawioPages = (pages) => [
20
+ '<?xml version="1.0" encoding="UTF-8"?>',
21
+ '<mxfile host="app.diagrams.net" modified="2026-08-07T00:00:00.000Z" agent="db-drivers" version="24.7.17">',
22
+ ...pages,
23
+ '</mxfile>',
24
+ ].join('');
25
+ exports.wrapDrawioPages = wrapDrawioPages;
26
+ const pageLink = (pageId) => ` link="#${(0, exports.xmlEscape)(pageId)}"`;
27
+ exports.pageLink = pageLink;
28
+ const drawioLineLegendCells = ({ id = 'legend', title, x, y, width, items, parent = '1', jumpSize = 12, }) => {
29
+ const height = 135;
30
+ const horizontalPadding = 15;
31
+ const slotWidth = (width - horizontalPadding * 2) / items.length;
32
+ const lineStartOffset = 10;
33
+ const lineLength = Math.min(85, slotWidth * 0.38);
34
+ const labelGap = 10;
35
+ const labelWidth = slotWidth - lineStartOffset - lineLength - labelGap - 5;
36
+ const cells = [
37
+ `<mxCell id="${id}" value="${(0, exports.xmlEscape)(title)}" style="swimlane;html=1;rounded=1;horizontal=1;startSize=30;fillColor=#f8fafc;strokeColor=#94a3b8;fontStyle=1;" vertex="1" parent="${parent}"><mxGeometry x="${x}" y="${y}" width="${width}" height="${height}" as="geometry"/></mxCell>`,
38
+ ];
39
+ items.forEach((item, index) => {
40
+ const slotX = horizontalPadding + index * slotWidth;
41
+ cells.push(`<mxCell id="${id}_${item.id}_line" value="" style="edgeStyle=none;rounded=0;jumpStyle=arc;jumpSize=${jumpSize};html=1;strokeColor=${item.color};strokeWidth=${item.width};${item.dashed ? 'dashed=1;dashPattern=8 8;' : ''}${item.bidirectional ? 'startArrow=block;' : ''}endArrow=block;" edge="1" parent="${id}"><mxGeometry relative="1" as="geometry"><mxPoint x="${slotX + lineStartOffset}" y="70" as="sourcePoint"/><mxPoint x="${slotX + lineStartOffset + lineLength}" y="70" as="targetPoint"/></mxGeometry></mxCell>`);
42
+ cells.push(`<mxCell id="${id}_${item.id}_label" value="${(0, exports.xmlEscape)(item.label)}" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;" vertex="1" parent="${id}"><mxGeometry x="${slotX + lineStartOffset + lineLength + labelGap}" y="45" width="${labelWidth}" height="50" as="geometry"/></mxCell>`);
43
+ });
44
+ return cells;
45
+ };
46
+ exports.drawioLineLegendCells = drawioLineLegendCells;
47
+ //# sourceMappingURL=drawioXml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawioXml.js","sourceRoot":"","sources":["../../../../src/utils/drawio/drawioXml.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { drawioLineLegendCells, drawioPage, pageLink, wrapDrawioPages, xmlEscape, } from './drawioXml';
2
+ export type { DrawioLineLegendItem } from './drawioXml';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.xmlEscape = exports.wrapDrawioPages = exports.pageLink = exports.drawioPage = exports.drawioLineLegendCells = void 0;
4
+ var drawioXml_1 = require("./drawioXml");
5
+ Object.defineProperty(exports, "drawioLineLegendCells", { enumerable: true, get: function () { return drawioXml_1.drawioLineLegendCells; } });
6
+ Object.defineProperty(exports, "drawioPage", { enumerable: true, get: function () { return drawioXml_1.drawioPage; } });
7
+ Object.defineProperty(exports, "pageLink", { enumerable: true, get: function () { return drawioXml_1.pageLink; } });
8
+ Object.defineProperty(exports, "wrapDrawioPages", { enumerable: true, get: function () { return drawioXml_1.wrapDrawioPages; } });
9
+ Object.defineProperty(exports, "xmlEscape", { enumerable: true, get: function () { return drawioXml_1.xmlEscape; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/drawio/index.ts"],"names":[],"mappings":";;;AAGA,yCAMqB;AALnB,kHAAA,qBAAqB,OAAA;AACrB,uGAAA,UAAU,OAAA;AACV,qGAAA,QAAQ,OAAA;AACR,4GAAA,eAAe,OAAA;AACf,sGAAA,SAAS,OAAA"}
@@ -7,7 +7,7 @@ export declare const setRdhMetaAndStatement: ({ connectionName, useDatabase, par
7
7
  useDatabase?: string;
8
8
  params: QueryParams;
9
9
  rdb: ResultSetDataBuilder;
10
- type: Statement['type'];
10
+ type: Statement["type"];
11
11
  qst: QStatement;
12
12
  tableComment?: string;
13
13
  dbTable?: ITableComparable;
@@ -1 +1 @@
1
- {"version":3,"file":"driverUtil.js","sourceRoot":"","sources":["../../../src/utils/driverUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driverUtil.js","sourceRoot":"","sources":["../../../src/utils/driverUtil.ts"],"names":[],"mappings":"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"}