@finos/legend-graph 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 (354) hide show
  1. package/lib/GraphManagerState.d.ts +4 -4
  2. package/lib/GraphManagerState.d.ts.map +1 -1
  3. package/lib/GraphManagerState.js +6 -6
  4. package/lib/GraphManagerState.js.map +1 -1
  5. package/lib/GraphManagerTestUtils.d.ts +5 -2
  6. package/lib/GraphManagerTestUtils.d.ts.map +1 -1
  7. package/lib/GraphManagerTestUtils.js +10 -3
  8. package/lib/GraphManagerTestUtils.js.map +1 -1
  9. package/lib/MetaModelConst.d.ts +3 -1
  10. package/lib/MetaModelConst.d.ts.map +1 -1
  11. package/lib/MetaModelConst.js +2 -0
  12. package/lib/MetaModelConst.js.map +1 -1
  13. package/lib/graph/BasicModel.d.ts.map +1 -1
  14. package/lib/graph/BasicModel.js +1 -0
  15. package/lib/graph/BasicModel.js.map +1 -1
  16. package/lib/graph/DSLExternalFormat_Extension.d.ts +22 -0
  17. package/lib/graph/DSLExternalFormat_Extension.d.ts.map +1 -0
  18. package/lib/graph/DSLExternalFormat_Extension.js +31 -0
  19. package/lib/graph/DSLExternalFormat_Extension.js.map +1 -0
  20. package/lib/graph/DSLExternalFormat_PureGraphPlugin.d.ts +23 -0
  21. package/lib/graph/DSLExternalFormat_PureGraphPlugin.d.ts.map +1 -0
  22. package/lib/graph/DSLExternalFormat_PureGraphPlugin.js +28 -0
  23. package/lib/graph/DSLExternalFormat_PureGraphPlugin.js.map +1 -0
  24. package/lib/graph/DependencyManager.d.ts.map +1 -1
  25. package/lib/graph/DependencyManager.js +2 -0
  26. package/lib/graph/DependencyManager.js.map +1 -1
  27. package/lib/graph/PureModel.d.ts.map +1 -1
  28. package/lib/graph/PureModel.js +8 -3
  29. package/lib/graph/PureModel.js.map +1 -1
  30. package/lib/graphManager/AbstractPureGraphManager.d.ts +10 -6
  31. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  32. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  33. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.d.ts +21 -0
  34. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.d.ts.map +1 -0
  35. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.js +21 -0
  36. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.js.map +1 -0
  37. package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.d.ts +25 -0
  38. package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.d.ts.map +1 -0
  39. package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.js +67 -0
  40. package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.js.map +1 -0
  41. package/lib/graphManager/GraphBuilderReport.d.ts +28 -0
  42. package/lib/graphManager/GraphBuilderReport.d.ts.map +1 -0
  43. package/lib/graphManager/GraphBuilderReport.js +24 -0
  44. package/lib/graphManager/GraphBuilderReport.js.map +1 -0
  45. package/lib/graphManager/{GraphManagerLogEvent.d.ts → GraphManagerEvent.d.ts} +12 -18
  46. package/lib/graphManager/GraphManagerEvent.d.ts.map +1 -0
  47. package/lib/graphManager/GraphManagerEvent.js +45 -0
  48. package/lib/graphManager/GraphManagerEvent.js.map +1 -0
  49. package/lib/graphManager/GraphManagerTelemetry.d.ts +28 -0
  50. package/lib/graphManager/GraphManagerTelemetry.d.ts.map +1 -0
  51. package/lib/graphManager/GraphManagerTelemetry.js +22 -0
  52. package/lib/graphManager/GraphManagerTelemetry.js.map +1 -0
  53. package/lib/graphManager/action/EngineError.d.ts +3 -0
  54. package/lib/graphManager/action/EngineError.d.ts.map +1 -1
  55. package/lib/graphManager/action/EngineError.js +3 -0
  56. package/lib/graphManager/action/EngineError.js.map +1 -1
  57. package/lib/graphManager/action/externalFormat/ExternalFormatDescription.d.ts +26 -0
  58. package/lib/graphManager/action/externalFormat/ExternalFormatDescription.d.ts.map +1 -0
  59. package/lib/graphManager/action/externalFormat/ExternalFormatDescription.js +27 -0
  60. package/lib/graphManager/action/externalFormat/ExternalFormatDescription.js.map +1 -0
  61. package/lib/index.d.ts +15 -1
  62. package/lib/index.d.ts.map +1 -1
  63. package/lib/index.js +16 -1
  64. package/lib/index.js.map +1 -1
  65. package/lib/models/DSLExternalFormat_ModelUtils.d.ts +24 -0
  66. package/lib/models/DSLExternalFormat_ModelUtils.d.ts.map +1 -0
  67. package/lib/models/DSLExternalFormat_ModelUtils.js +25 -0
  68. package/lib/models/DSLExternalFormat_ModelUtils.js.map +1 -0
  69. package/lib/models/metamodels/pure/packageableElements/PackageableElement.js +1 -1
  70. package/lib/models/metamodels/pure/packageableElements/PackageableElement.js.map +1 -1
  71. package/lib/models/metamodels/pure/packageableElements/domain/Package.d.ts.map +1 -1
  72. package/lib/models/metamodels/pure/packageableElements/domain/Package.js +4 -2
  73. package/lib/models/metamodels/pure/packageableElements/domain/Package.js.map +1 -1
  74. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.d.ts +29 -0
  75. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.d.ts.map +1 -0
  76. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.js +45 -0
  77. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.js.map +1 -0
  78. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.d.ts +23 -0
  79. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.d.ts.map +1 -0
  80. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.js +35 -0
  81. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.js.map +1 -0
  82. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.d.ts +28 -0
  83. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.d.ts.map +1 -0
  84. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.js +53 -0
  85. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.js.map +1 -0
  86. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.d.ts +29 -0
  87. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.d.ts.map +1 -0
  88. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.js +55 -0
  89. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.js.map +1 -0
  90. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.d.ts +25 -0
  91. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.d.ts.map +1 -0
  92. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.js +38 -0
  93. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.js.map +1 -0
  94. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts +35 -0
  95. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts.map +1 -0
  96. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js +65 -0
  97. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js.map +1 -0
  98. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.d.ts +31 -0
  99. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.d.ts.map +1 -0
  100. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js +61 -0
  101. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js.map +1 -0
  102. package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.d.ts +33 -0
  103. package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.d.ts.map +1 -0
  104. package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.js +46 -0
  105. package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.js.map +1 -0
  106. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.d.ts +2 -1
  107. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.d.ts.map +1 -1
  108. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.js +1 -1
  109. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.js.map +1 -1
  110. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts +3 -0
  111. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts.map +1 -1
  112. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js +1 -0
  113. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js.map +1 -1
  114. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts +9 -3
  115. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts.map +1 -1
  116. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.js +32 -8
  117. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.js.map +1 -1
  118. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts +3 -0
  119. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts.map +1 -1
  120. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js +7 -0
  121. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js.map +1 -1
  122. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.d.ts +4 -0
  123. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.d.ts.map +1 -1
  124. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.js +11 -0
  125. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.js.map +1 -1
  126. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts +34 -0
  127. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -0
  128. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +253 -0
  129. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -0
  130. package/lib/models/protocols/pure/v1/V1_Core_SystemModels.json +2248 -0
  131. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +13 -7
  132. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  133. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +209 -192
  134. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  135. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -0
  136. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  137. package/lib/models/protocols/pure/v1/engine/V1_Engine.js +17 -3
  138. package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
  139. package/lib/models/protocols/pure/v1/engine/V1_EngineEvent.d.ts +21 -0
  140. package/lib/models/protocols/pure/v1/engine/V1_EngineEvent.d.ts.map +1 -0
  141. package/lib/models/protocols/pure/v1/engine/V1_EngineEvent.js +22 -0
  142. package/lib/models/protocols/pure/v1/engine/V1_EngineEvent.js.map +1 -0
  143. package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.d.ts +6 -2
  144. package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.d.ts.map +1 -1
  145. package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.js +31 -16
  146. package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.js.map +1 -1
  147. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +5 -0
  148. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  149. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +4 -0
  150. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  151. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.d.ts +28 -0
  152. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.d.ts.map +1 -0
  153. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.js +38 -0
  154. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.js.map +1 -0
  155. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.d.ts +25 -0
  156. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.d.ts.map +1 -0
  157. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.js +35 -0
  158. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.js.map +1 -0
  159. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContext.d.ts +0 -2
  160. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContext.d.ts.map +1 -1
  161. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContext.js +0 -2
  162. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContext.js.map +1 -1
  163. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.d.ts +0 -2
  164. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.d.ts.map +1 -1
  165. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.js +0 -3
  166. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.js.map +1 -1
  167. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.d.ts +24 -0
  168. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.d.ts.map +1 -0
  169. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.js +32 -0
  170. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.js.map +1 -0
  171. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.d.ts +21 -0
  172. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.d.ts.map +1 -0
  173. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.js +24 -0
  174. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.js.map +1 -0
  175. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.d.ts +23 -0
  176. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.d.ts.map +1 -0
  177. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.js +31 -0
  178. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.js.map +1 -0
  179. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.d.ts +25 -0
  180. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.d.ts.map +1 -0
  181. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.js +34 -0
  182. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.js.map +1 -0
  183. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.d.ts +21 -0
  184. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.d.ts.map +1 -0
  185. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.js +24 -0
  186. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.js.map +1 -0
  187. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.d.ts +28 -0
  188. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.d.ts.map +1 -0
  189. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.js +38 -0
  190. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.js.map +1 -0
  191. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.d.ts +22 -0
  192. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.d.ts.map +1 -0
  193. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.js +29 -0
  194. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.js.map +1 -0
  195. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts +2 -0
  196. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts.map +1 -1
  197. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.js.map +1 -1
  198. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.d.ts +25 -0
  199. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.d.ts.map +1 -0
  200. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.js +34 -0
  201. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.js.map +1 -0
  202. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.d.ts +2 -1
  203. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.d.ts.map +1 -1
  204. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.js +1 -1
  205. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.js.map +1 -1
  206. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts +4 -1
  207. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts.map +1 -1
  208. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js +8 -2
  209. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js.map +1 -1
  210. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.d.ts +2 -0
  211. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.d.ts.map +1 -1
  212. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.js +2 -0
  213. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.js.map +1 -1
  214. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.d.ts +3 -0
  215. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.d.ts.map +1 -1
  216. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.js +5 -0
  217. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.js.map +1 -1
  218. package/lib/models/protocols/pure/v1/model/valueSpecification/raw/V1_HackedUnit.d.ts +1 -1
  219. package/lib/models/protocols/pure/v1/model/valueSpecification/raw/V1_HackedUnit.js +1 -1
  220. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.d.ts.map +1 -1
  221. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +4 -1
  222. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
  223. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.d.ts.map +1 -1
  224. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.js +5 -2
  225. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.js.map +1 -1
  226. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts +2 -0
  227. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  228. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +34 -2
  229. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  230. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.d.ts +22 -0
  231. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.d.ts.map +1 -0
  232. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.js +19 -0
  233. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.js.map +1 -0
  234. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts +2 -0
  235. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts.map +1 -1
  236. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js +8 -0
  237. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +1 -1
  238. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts +2 -0
  239. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +1 -1
  240. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js +5 -2
  241. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +1 -1
  242. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +1 -1
  243. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js +12 -4
  244. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +1 -1
  245. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
  246. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +5 -2
  247. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
  248. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.d.ts.map +1 -1
  249. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js +5 -3
  250. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js.map +1 -1
  251. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.js +4 -4
  252. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.js.map +1 -1
  253. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +2 -2
  254. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
  255. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  256. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +3 -7
  257. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  258. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.js +2 -2
  259. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.js.map +1 -1
  260. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
  261. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +4 -1
  262. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
  263. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.d.ts +25 -0
  264. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.d.ts.map +1 -0
  265. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.js +62 -0
  266. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.js.map +1 -0
  267. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.d.ts.map +1 -1
  268. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.js +10 -1
  269. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.js.map +1 -1
  270. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.d.ts.map +1 -1
  271. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js +23 -2
  272. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js.map +1 -1
  273. package/lib/package.json +68 -0
  274. package/package.json +15 -11
  275. package/src/GraphManagerState.ts +14 -7
  276. package/src/GraphManagerTestUtils.tsx +17 -3
  277. package/src/MetaModelConst.ts +2 -0
  278. package/src/graph/BasicModel.ts +2 -0
  279. package/src/graph/DSLExternalFormat_Extension.ts +37 -0
  280. package/src/graph/DSLExternalFormat_PureGraphPlugin.ts +35 -0
  281. package/src/graph/DependencyManager.ts +5 -0
  282. package/src/graph/PureModel.ts +16 -2
  283. package/src/graphManager/AbstractPureGraphManager.ts +19 -6
  284. package/src/graphManager/DSLExternalFormat_GraphManagerHelper.ts +30 -0
  285. package/src/graphManager/DSLExternalFormat_PureGraphManagerPlugin.ts +86 -0
  286. package/src/graphManager/GraphBuilderReport.ts +31 -0
  287. package/src/graphManager/{GraphManagerLogEvent.ts → GraphManagerEvent.ts} +10 -20
  288. package/src/graphManager/GraphManagerTelemetry.ts +35 -0
  289. package/src/graphManager/action/EngineError.ts +3 -0
  290. package/src/graphManager/action/externalFormat/ExternalFormatDescription.ts +30 -0
  291. package/src/index.ts +16 -2
  292. package/src/models/DSLExternalFormat_ModelUtils.ts +24 -0
  293. package/src/models/metamodels/pure/packageableElements/PackageableElement.ts +1 -1
  294. package/src/models/metamodels/pure/packageableElements/domain/Package.ts +3 -2
  295. package/src/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.ts +57 -0
  296. package/src/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.ts +39 -0
  297. package/src/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.ts +59 -0
  298. package/src/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.ts +74 -0
  299. package/src/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.ts +44 -0
  300. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.ts +80 -0
  301. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.ts +98 -0
  302. package/src/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.ts +81 -0
  303. package/src/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.ts +1 -1
  304. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementation.ts +5 -0
  305. package/src/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.ts +40 -9
  306. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.ts +9 -0
  307. package/src/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.ts +14 -0
  308. package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +417 -0
  309. package/src/models/protocols/pure/v1/V1_Core_SystemModels.json +2248 -0
  310. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +324 -384
  311. package/src/models/protocols/pure/v1/engine/V1_Engine.ts +34 -2
  312. package/src/models/protocols/pure/v1/engine/V1_EngineEvent.ts +21 -0
  313. package/src/models/protocols/pure/v1/engine/V1_EngineHelper.ts +59 -29
  314. package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +22 -0
  315. package/src/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.ts +46 -0
  316. package/src/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.ts +44 -0
  317. package/src/models/protocols/pure/v1/model/context/V1_PureModelContext.ts +1 -5
  318. package/src/models/protocols/pure/v1/model/context/V1_PureModelContextData.ts +0 -9
  319. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.ts +42 -0
  320. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.ts +26 -0
  321. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.ts +33 -0
  322. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.ts +43 -0
  323. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.ts +26 -0
  324. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.ts +45 -0
  325. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.ts +31 -0
  326. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.ts +4 -0
  327. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.ts +46 -0
  328. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.ts +1 -1
  329. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.ts +8 -2
  330. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.ts +3 -0
  331. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.ts +9 -0
  332. package/src/models/protocols/pure/v1/model/valueSpecification/raw/V1_HackedUnit.ts +1 -1
  333. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +4 -1
  334. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.ts +4 -0
  335. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +53 -1
  336. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.ts +40 -0
  337. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts +32 -0
  338. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts +9 -2
  339. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.ts +15 -4
  340. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +4 -0
  341. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.ts +18 -5
  342. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.ts +4 -4
  343. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +2 -2
  344. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +4 -10
  345. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.ts +2 -2
  346. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +4 -1
  347. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.ts +90 -0
  348. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.ts +13 -0
  349. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.ts +30 -1
  350. package/tsconfig.json +31 -1
  351. package/CHANGELOG.md +0 -223
  352. package/lib/graphManager/GraphManagerLogEvent.d.ts.map +0 -1
  353. package/lib/graphManager/GraphManagerLogEvent.js +0 -52
  354. package/lib/graphManager/GraphManagerLogEvent.js.map +0 -1
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { observable, action, makeObservable, override } from 'mobx';
18
+ import { hashArray, type Hashable } from '@finos/legend-shared';
19
+ import type { SchemaSet } from '../schemaSet/DSLExternalFormat_SchemaSet';
20
+ import { Store } from '../../store/Store';
21
+ import type { OptionalPackageableElementReference } from '../../PackageableElementReference';
22
+ import type { ModelUnit } from './DSLExternalFormat_ModelUnit';
23
+ import type { PackageableElementVisitor } from '../../PackageableElement';
24
+ import { DSL_EXTERNAL_FORMAT_HASH_STRUCTURE } from '../../../../../DSLExternalFormat_ModelUtils';
25
+
26
+ export class Binding extends Store implements Hashable {
27
+ schemaSet!: OptionalPackageableElementReference<SchemaSet>;
28
+ schemaId?: string | undefined;
29
+ contentType!: string;
30
+ modelUnit!: ModelUnit;
31
+
32
+ constructor(name: string) {
33
+ super(name);
34
+
35
+ makeObservable<Binding, '_elementHashCode'>(this, {
36
+ schemaSet: observable,
37
+ schemaId: observable,
38
+ contentType: observable,
39
+ modelUnit: observable,
40
+ setSchemaSet: action,
41
+ setSchemaId: action,
42
+ setContentType: action,
43
+ setModelUnit: action,
44
+ _elementHashCode: override,
45
+ });
46
+ }
47
+
48
+ setSchemaSet(value: SchemaSet | undefined): void {
49
+ this.schemaSet.setValue(value);
50
+ }
51
+
52
+ setSchemaId(value: string | undefined): void {
53
+ this.schemaId = value;
54
+ }
55
+
56
+ setContentType(value: string): void {
57
+ this.contentType = value;
58
+ }
59
+
60
+ setModelUnit(value: ModelUnit): void {
61
+ this.modelUnit = value;
62
+ }
63
+
64
+ protected override get _elementHashCode(): string {
65
+ return hashArray([
66
+ DSL_EXTERNAL_FORMAT_HASH_STRUCTURE.BINDING,
67
+ this.path,
68
+ this.schemaSet.valueForSerialization ?? '',
69
+ this.schemaId ?? '',
70
+ this.contentType,
71
+ this.modelUnit,
72
+ ]);
73
+ }
74
+
75
+ accept_PackageableElementVisitor<T>(
76
+ visitor: PackageableElementVisitor<T>,
77
+ ): T {
78
+ return visitor.visit_PackageableElement(this);
79
+ }
80
+ }
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { observable, computed, makeObservable, action } from 'mobx';
18
+ import {
19
+ type Hashable,
20
+ addUniqueEntry,
21
+ changeEntry,
22
+ deleteEntry,
23
+ hashArray,
24
+ } from '@finos/legend-shared';
25
+ import type { PackageableElementReference } from '../../PackageableElementReference';
26
+ import type { PackageableElement } from '../../PackageableElement';
27
+ import { DSL_EXTERNAL_FORMAT_HASH_STRUCTURE } from '../../../../../DSLExternalFormat_ModelUtils';
28
+
29
+ export class ModelUnit implements Hashable {
30
+ packageableElementIncludes: PackageableElementReference<PackageableElement>[] =
31
+ [];
32
+ packageableElementExcludes: PackageableElementReference<PackageableElement>[] =
33
+ [];
34
+
35
+ constructor() {
36
+ makeObservable(this, {
37
+ packageableElementIncludes: observable,
38
+ packageableElementExcludes: observable,
39
+ hashCode: computed,
40
+ addPackageableElementIncludes: action,
41
+ deletePackageableElementIncludes: action,
42
+ updatePackageableElementIncludes: action,
43
+ addPackageableElementExcludes: action,
44
+ deletePackageableElementExcludes: action,
45
+ updatePackageableElementExcludes: action,
46
+ });
47
+ }
48
+
49
+ addPackageableElementIncludes(
50
+ value: PackageableElementReference<PackageableElement>,
51
+ ): void {
52
+ addUniqueEntry(this.packageableElementIncludes, value);
53
+ }
54
+
55
+ deletePackageableElementIncludes(
56
+ value: PackageableElementReference<PackageableElement>,
57
+ ): void {
58
+ deleteEntry(this.packageableElementIncludes, value);
59
+ }
60
+
61
+ updatePackageableElementIncludes(
62
+ oldValue: PackageableElementReference<PackageableElement>,
63
+ newValue: PackageableElementReference<PackageableElement>,
64
+ ): void {
65
+ changeEntry(this.packageableElementIncludes, oldValue, newValue);
66
+ }
67
+
68
+ addPackageableElementExcludes(
69
+ value: PackageableElementReference<PackageableElement>,
70
+ ): void {
71
+ addUniqueEntry(this.packageableElementExcludes, value);
72
+ }
73
+
74
+ deletePackageableElementExcludes(
75
+ value: PackageableElementReference<PackageableElement>,
76
+ ): void {
77
+ deleteEntry(this.packageableElementExcludes, value);
78
+ }
79
+
80
+ updatePackageableElementExcludes(
81
+ oldValue: PackageableElementReference<PackageableElement>,
82
+ newValue: PackageableElementReference<PackageableElement>,
83
+ ): void {
84
+ changeEntry(this.packageableElementExcludes, oldValue, newValue);
85
+ }
86
+
87
+ get hashCode(): string {
88
+ return hashArray([
89
+ DSL_EXTERNAL_FORMAT_HASH_STRUCTURE.MODEL_UNIT,
90
+ hashArray(
91
+ this.packageableElementIncludes.map((element) => element.hashValue),
92
+ ),
93
+ hashArray(
94
+ this.packageableElementExcludes.map((element) => element.hashValue),
95
+ ),
96
+ ]);
97
+ }
98
+ }
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { observable, action, makeObservable } from 'mobx';
18
+ import { type Hashable, hashArray } from '@finos/legend-shared';
19
+ import { CORE_HASH_STRUCTURE } from '../../../../../MetaModelConst';
20
+ import type { PackageableElementReference } from '../PackageableElementReference';
21
+ import type { Mapping } from './Mapping';
22
+ import type { Class } from '../domain/Class';
23
+ import type { InferableMappingElementIdValue } from './InferableMappingElementId';
24
+ import type { InferableMappingElementRoot } from './InferableMappingElementRoot';
25
+ import {
26
+ type OperationType,
27
+ OperationSetImplementation,
28
+ } from './OperationSetImplementation';
29
+ import type { Stubable } from '../../../../../helpers/Stubable';
30
+ import type { RawLambda } from '../../rawValueSpecification/RawLambda';
31
+ import type { SetImplementationVisitor } from './SetImplementation';
32
+ import { hashLambda } from '../../../../../MetaModelUtils';
33
+
34
+ export class MergeOperationSetImplementation
35
+ extends OperationSetImplementation
36
+ implements Hashable, Stubable
37
+ {
38
+ validationFunction: RawLambda;
39
+
40
+ constructor(
41
+ id: InferableMappingElementIdValue,
42
+ parent: Mapping,
43
+ pureClass: PackageableElementReference<Class>,
44
+ root: InferableMappingElementRoot,
45
+ operation: OperationType,
46
+ validationFunction: RawLambda,
47
+ ) {
48
+ super(id, parent, pureClass, root, operation);
49
+
50
+ makeObservable(this, {
51
+ validationFunction: observable,
52
+ setValidationFunction: action,
53
+ });
54
+
55
+ this.validationFunction = validationFunction;
56
+ }
57
+
58
+ setValidationFunction(value: RawLambda): void {
59
+ this.validationFunction = value;
60
+ }
61
+
62
+ override get hashCode(): string {
63
+ return hashArray([
64
+ CORE_HASH_STRUCTURE.OPERATION_SET_IMPLEMENTATION,
65
+ this.operation,
66
+ hashArray(
67
+ this.parameters.map((param) => param.setImplementation.value.id.value),
68
+ ),
69
+ hashLambda(
70
+ this.validationFunction.parameters,
71
+ this.validationFunction.body,
72
+ ),
73
+ ]);
74
+ }
75
+
76
+ override accept_SetImplementationVisitor<T>(
77
+ visitor: SetImplementationVisitor<T>,
78
+ ): T {
79
+ return visitor.visit_MergeOperationSetImplementation(this);
80
+ }
81
+ }
@@ -40,7 +40,7 @@ export enum OperationType {
40
40
  STORE_UNION = 'STORE_UNION',
41
41
  ROUTER_UNION = 'ROUTER_UNION',
42
42
  INHERITANCE = 'INHERITANCE',
43
- // MERGE = 'MERGE',
43
+ MERGE = 'MERGE',
44
44
  }
45
45
 
46
46
  export const getClassMappingOperationType = (value: string): OperationType =>
@@ -42,9 +42,13 @@ import {
42
42
  } from './InferableMappingElementRoot';
43
43
  import type { AggregationAwareSetImplementation } from './aggregationAware/AggregationAwareSetImplementation';
44
44
  import type { InstanceSetImplementation } from './InstanceSetImplementation';
45
+ import type { MergeOperationSetImplementation } from './MergeOperationSetImplementation';
45
46
 
46
47
  export interface SetImplementationVisitor<T> {
47
48
  visit_SetImplementation(setImplementation: InstanceSetImplementation): T;
49
+ visit_MergeOperationSetImplementation(
50
+ setImplementation: MergeOperationSetImplementation,
51
+ ): T;
48
52
  visit_OperationSetImplementation(
49
53
  setImplementation: OperationSetImplementation,
50
54
  ): T;
@@ -148,6 +152,7 @@ export enum BASIC_SET_IMPLEMENTATION_TYPE {
148
152
 
149
153
  export enum SET_IMPLEMENTATION_TYPE {
150
154
  OPERATION = 'operation',
155
+ MERGE_OPERATION = 'mergeOperation',
151
156
  PUREINSTANCE = 'pureInstance',
152
157
  FLAT_DATA = 'flatData',
153
158
  EMBEDDED_FLAT_DATA = 'embeddedFlatData',
@@ -345,25 +345,43 @@ export class RedshiftDatasourceSpecification
345
345
  extends DatasourceSpecification
346
346
  implements Hashable
347
347
  {
348
+ clusterID: string;
348
349
  databaseName: string;
349
- endpoint: string;
350
+ host: string;
350
351
  port: number;
352
+ region: string;
353
+ endpointURL: string;
351
354
 
352
- constructor(databaseName: string, endpoint: string, port: number) {
355
+ constructor(
356
+ databaseName: string,
357
+ endpointURL: string,
358
+ port: number,
359
+ host: string,
360
+ clusterID: string,
361
+ region: string,
362
+ ) {
353
363
  super();
354
364
 
355
365
  makeObservable(this, {
356
366
  databaseName: observable,
357
- endpoint: observable,
367
+ endpointURL: observable,
358
368
  port: observable,
369
+ region: observable,
370
+ clusterID: observable,
371
+ host: observable,
359
372
  hashCode: computed,
360
373
  setDatabaseName: action,
361
- setEndpoint: action,
374
+ setEndpointURL: action,
362
375
  setPort: action,
376
+ setRegion: action,
377
+ setClusterID: action,
378
+ setHost: action,
363
379
  });
364
-
380
+ this.clusterID = clusterID;
381
+ this.region = region;
382
+ this.host = host;
365
383
  this.databaseName = databaseName;
366
- this.endpoint = endpoint;
384
+ this.endpointURL = endpointURL;
367
385
  this.port = port;
368
386
  }
369
387
 
@@ -371,20 +389,33 @@ export class RedshiftDatasourceSpecification
371
389
  this.databaseName = val;
372
390
  }
373
391
 
374
- setEndpoint(val: string): void {
375
- this.endpoint = val;
392
+ setEndpointURL(val: string): void {
393
+ this.endpointURL = val;
376
394
  }
377
395
 
378
396
  setPort(val: number): void {
379
397
  this.port = val;
380
398
  }
399
+ setRegion(val: string): void {
400
+ this.region = val;
401
+ }
381
402
 
403
+ setHost(val: string): void {
404
+ this.host = val;
405
+ }
406
+
407
+ setClusterID(val: string): void {
408
+ this.clusterID = val;
409
+ }
382
410
  get hashCode(): string {
383
411
  return hashArray([
384
412
  CORE_HASH_STRUCTURE.REDSHIFT_DATASOURCE_SPECIFICATION,
385
413
  this.databaseName,
386
- this.endpoint,
414
+ this.endpointURL,
387
415
  this.port.toString(),
416
+ this.clusterID,
417
+ this.host,
418
+ this.region,
388
419
  ]);
389
420
  }
390
421
  }
@@ -30,6 +30,7 @@ import {
30
30
  isStubRelationalOperationElement,
31
31
  type RawRelationalOperationElement,
32
32
  } from '../model/RawRelationalOperationElement';
33
+ import type { BindingTransformer } from '../../../externalFormat/store/BindingTransformer';
33
34
 
34
35
  export class RelationalPropertyMapping
35
36
  extends PropertyMapping
@@ -37,6 +38,7 @@ export class RelationalPropertyMapping
37
38
  {
38
39
  transformer?: EnumerationMapping | undefined;
39
40
  relationalOperation!: RawRelationalOperationElement; // @MARKER GENERATED MODEL DISCREPANCY --- Studio does not process relational operation element
41
+ bindingTransformer?: BindingTransformer | undefined;
40
42
 
41
43
  constructor(
42
44
  owner: PropertyMappingsImplementation,
@@ -49,6 +51,8 @@ export class RelationalPropertyMapping
49
51
  makeObservable(this, {
50
52
  transformer: observable,
51
53
  relationalOperation: observable.ref,
54
+ bindingTransformer: observable,
55
+ setBindingTransformer: action,
52
56
  setTransformer: action,
53
57
  hashCode: computed,
54
58
  });
@@ -58,6 +62,10 @@ export class RelationalPropertyMapping
58
62
  this.transformer = value;
59
63
  }
60
64
 
65
+ setBindingTransformer(value: BindingTransformer | undefined): void {
66
+ this.bindingTransformer = value;
67
+ }
68
+
61
69
  accept_PropertyMappingVisitor<T>(visitor: PropertyMappingVisitor<T>): T {
62
70
  return visitor.visit_RelationalPropertyMapping(this);
63
71
  }
@@ -71,6 +79,7 @@ export class RelationalPropertyMapping
71
79
  CORE_HASH_STRUCTURE.REALTIONAL_PROPERTY_MAPPING,
72
80
  super.hashCode,
73
81
  this.transformer?.id.value ?? '',
82
+ this.bindingTransformer ?? '',
74
83
  hashObjectWithoutSourceInformation(this.relationalOperation),
75
84
  ]);
76
85
  }
@@ -315,3 +315,17 @@ export class Real extends RelationalDataType {
315
315
  return hashArray([CORE_HASH_STRUCTURE.RELATIONAL_DATATYPE_REAL]);
316
316
  }
317
317
  }
318
+
319
+ export class SemiStructured extends RelationalDataType {
320
+ constructor() {
321
+ super();
322
+
323
+ makeObservable(this, {
324
+ hashCode: computed,
325
+ });
326
+ }
327
+
328
+ get hashCode(): string {
329
+ return hashArray([CORE_HASH_STRUCTURE.RELATIONAL_DATATYPE_SEMISTRUCTURED]);
330
+ }
331
+ }