@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,86 @@
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 packageJson from '../../package.json';
18
+ import { ExternalFormatConnection } from '../models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection';
19
+ import { SchemaSet } from '../models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet';
20
+ import { Binding } from '../models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding';
21
+ import type {
22
+ DSLMapping_PureGraphManagerPlugin_Extension,
23
+ PureGrammarConnectionLabeler,
24
+ } from './DSLMapping_PureGraphManagerPlugin_Extension';
25
+ import {
26
+ type PureGrammarElementLabeler,
27
+ PureGraphManagerPlugin,
28
+ } from './PureGraphManagerPlugin';
29
+
30
+ const PURE_GRAMMAR_BINDING_PARSER_NAME = 'ExternalFormat';
31
+ const PURE_GRAMMAR_BINDING_ELEMENT_TYPE_LABEL = 'Binding';
32
+ const PURE_GRAMMAR_SCHEMA_SET_PARSER_NAME = 'ExternalFormat';
33
+ const PURE_GRAMMAR_SCHEMA_SET_ELEMENT_TYPE_LABEL = 'SchemaSet';
34
+ const PURE_GRAMMAR_EXTERNAL_FORMAT_CONNECTION_TYPE_LABEL =
35
+ 'ExternalFormatConnection';
36
+
37
+ export class DSLExternalFormat_PureGraphManagerPlugin
38
+ extends PureGraphManagerPlugin
39
+ implements DSLMapping_PureGraphManagerPlugin_Extension
40
+ {
41
+ constructor() {
42
+ super(
43
+ packageJson.extensions.dsl_external_format_pureGraphManagerPlugin,
44
+ packageJson.version,
45
+ );
46
+ }
47
+
48
+ override getExtraPureGrammarParserNames(): string[] {
49
+ return [
50
+ PURE_GRAMMAR_BINDING_PARSER_NAME,
51
+ PURE_GRAMMAR_SCHEMA_SET_PARSER_NAME,
52
+ ];
53
+ }
54
+
55
+ override getExtraPureGrammarKeywords(): string[] {
56
+ return [
57
+ PURE_GRAMMAR_BINDING_ELEMENT_TYPE_LABEL,
58
+ PURE_GRAMMAR_SCHEMA_SET_ELEMENT_TYPE_LABEL,
59
+ PURE_GRAMMAR_EXTERNAL_FORMAT_CONNECTION_TYPE_LABEL,
60
+ ];
61
+ }
62
+
63
+ override getExtraPureGrammarElementLabelers(): PureGrammarElementLabeler[] {
64
+ return [
65
+ (element): string | undefined => {
66
+ if (element instanceof Binding) {
67
+ return PURE_GRAMMAR_BINDING_ELEMENT_TYPE_LABEL;
68
+ } else if (element instanceof SchemaSet) {
69
+ return PURE_GRAMMAR_SCHEMA_SET_ELEMENT_TYPE_LABEL;
70
+ }
71
+ return undefined;
72
+ },
73
+ ];
74
+ }
75
+
76
+ getExtraPureGrammarConnectionLabelers(): PureGrammarConnectionLabeler[] {
77
+ return [
78
+ (connection): string | undefined => {
79
+ if (connection instanceof ExternalFormatConnection) {
80
+ return PURE_GRAMMAR_EXTERNAL_FORMAT_CONNECTION_TYPE_LABEL;
81
+ }
82
+ return undefined;
83
+ },
84
+ ];
85
+ }
86
+ }
@@ -0,0 +1,31 @@
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 { GRAPH_MANAGER_EVENT } from './GraphManagerEvent';
18
+
19
+ export class GraphBuilderReport {
20
+ timings: {
21
+ [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: number;
22
+ [key: string]: number;
23
+ } = { [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: 0 };
24
+ elementCount: {
25
+ total: number;
26
+ [key: string]: number;
27
+ } = {
28
+ total: 0,
29
+ };
30
+ otherStats: Record<PropertyKey, unknown> = {};
31
+ }
@@ -14,31 +14,21 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export enum GRAPH_MANAGER_LOG_EVENT {
18
- GRAPH_BUILDER_FAILURE = 'GRAPH_BUILD_FAILURE',
19
-
20
- GRAPH_BUILDER_SYSTEM_BUILT = 'GRAPH_BUILDER_SYSTEM_BUILT',
21
- GRAPH_BUILDER_DEPENDENCIES_PREPROCESSED = 'GRAPH_BUILDER_DEPENDENCIES_PREPROCESSED',
22
- GRAPH_BUILDER_DEPENDENCIES_PROCESSED = 'GRAPH_BUILDER_DEPENDENCIES_PROCESSED',
23
- GRAPH_BUILDER_DEPENDENCIES_BUILT = 'GRAPH_BUILDER_DEPENDENCIES_BUILT',
24
- GRAPH_BUILDER_GENERATIONS_BUILT = 'GRAPH_BUILDER_GENERATIONS_BUILT',
25
- GRAPH_BUILDER_DATA_MODEL_PARSED = 'GRAPH_BUILDER_DATA_MODEL_PARSED',
26
- GRAPH_BUILDER_COMPLETED = 'GRAPH_BUILDER_COMPLETED',
27
- GRAPH_BUILDER_ELEMENTS_INITIALIZED_AND_INDEXED = 'GRAPH_BUILDER_ELEMENTS_INITIALIZED_AND_INDEXED',
17
+ export enum GRAPH_MANAGER_EVENT {
18
+ GRAPH_BUILDER_ELEMENTS_DESERIALIZED = 'GRAPH_BUILDER_ELEMENTS_DESERIALIZED',
19
+ GRAPH_BUILDER_ELEMENTS_INDEXED = 'GRAPH_BUILDER_ELEMENTS_INDEXED',
28
20
  GRAPH_BUILDER_SECTION_INDICES_BUILT = 'GRAPH_BUILDER_SECTION_INDICES_BUILT',
29
21
  GRAPH_BUILDER_DOMAIN_MODELS_BUILT = 'GRAPH_BUILDER_DOMAIN_MODELS_BUILT',
30
22
  GRAPH_BUILDER_STORES_BUILT = 'GRAPH_BUILDER_STORES_BUILT',
31
23
  GRAPH_BUILDER_MAPPINGS_BUILT = 'GRAPH_BUILDER_MAPPINGS_BUILT',
32
- GRAPH_BUILDER_CONNECTIONS_BUILT = 'GRAPH_BUILDER_CONNECTIONS_BUILT',
33
- GRAPH_BUILDER_RUNTIMES_BUILT = 'GRAPH_BUILDER_RUNTIMES_BUILT',
34
- GRAPH_BUILDER_OTHER_ELEMENTS_BUILT = 'GRAPH_BUILDER_OTHER_ELEMENTS_BUILT',
35
-
36
- // TODO: we should be able to move these out with modularization
37
- GRAPH_BUILDER_FILE_GENERATIONS_BUILT = 'GRAPH_BUILDER_FILE_GENERATIONS_BUILT',
38
- GRAPH_BUILDER_GENERATION_TREE_BUILT = 'GRAPH_BUILDER_GENERATION_TREE_BUILT',
24
+ GRAPH_BUILDER_CONNECTIONS_AND_RUNTIMES_BUILT = 'GRAPH_BUILDER_CONNECTIONS_AND_RUNTIMES_BUILT',
39
25
  GRAPH_BUILDER_SERVICES_BUILT = 'GRAPH_BUILDER_SERVICES_BUILT',
26
+ GRAPH_BUILDER_OTHER_ELEMENTS_BUILT = 'GRAPH_BUILDER_OTHER_ELEMENTS_BUILT',
27
+ GRAPH_BUILDER_POST_PROCESSED = 'GRAPH_BUILDER_POST_PROCESSED',
28
+ GRAPH_BUILDER_COMPLETED = 'GRAPH_BUILDER_COMPLETED',
40
29
 
41
30
  GRAPH_INITIALIZED = 'GRAPH_INITIALIZED',
31
+ GRAPH_DEPENDENCIES_FETCHED = 'GRAPH_DEPENDENCIES_FETCHED',
42
32
  GRAPH_ENTITIES_FETCHED = 'GRAPH_ENTITIES_FETCHED',
43
33
  GRAPH_UPDATED_AND_REBUILT = 'GRAPH_REBUILT',
44
34
  GRAPH_MODEL_TO_GRAMMAR_TRANSFORMED = 'GRAPH_MODEL_TO_GRAMMAR_TRANSFORMED',
@@ -48,9 +38,9 @@ export enum GRAPH_MANAGER_LOG_EVENT {
48
38
  GRAPH_PROTOCOL_SERIALIZED = 'GRAPH_PROTOCOL_SERIALIZED',
49
39
  GRAPH_HASHES_PRECOMPUTED = 'GRAPH_HASHES_PRECOMPUTED',
50
40
 
51
- GRAPH_MANAGER_FAILURE = 'GRAPH_MANAGER_FAILURE',
52
-
41
+ GRAPH_BUILDER_FAILURE = 'GRAPH_BUILD_FAILURE',
53
42
  EXECUTION_FAILURE = 'EXECUTION_FAILURE',
54
43
  COMPILATION_FAILURE = 'COMPILATION_FAILURE',
55
44
  PARSING_FAILURE = 'PARSING_FAILURE',
45
+ GRAPH_MANAGER_FAILURE = 'GRAPH_MANAGER_FAILURE',
56
46
  }
@@ -0,0 +1,35 @@
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 type { TelemetryService } from '@finos/legend-shared';
18
+ import type { GraphBuilderReport } from './GraphBuilderReport';
19
+ import { GRAPH_MANAGER_EVENT } from './GraphManagerEvent';
20
+
21
+ type GraphBuilt_TelemetryData = {
22
+ timings: Record<string, number>;
23
+ dependencies: GraphBuilderReport;
24
+ graph: GraphBuilderReport;
25
+ generations?: GraphBuilderReport;
26
+ };
27
+
28
+ export class GraphManagerTelemetry {
29
+ static logEvent_GraphInitialized(
30
+ telemetryService: TelemetryService,
31
+ data: GraphBuilt_TelemetryData,
32
+ ): void {
33
+ telemetryService.logEvent(GRAPH_MANAGER_EVENT.GRAPH_INITIALIZED, data);
34
+ }
35
+ }
@@ -39,3 +39,6 @@ export class EngineError extends ApplicationError {
39
39
  export class ParserError extends EngineError {}
40
40
 
41
41
  export class CompilationError extends EngineError {}
42
+ export class ExternalFormatError extends CompilationError {
43
+ schemaSourceInformation?: SourceInformation | undefined;
44
+ }
@@ -0,0 +1,30 @@
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 type { GenerationProperty } from '../generation/GenerationConfigurationDescription';
18
+
19
+ export class ExternalFormatDescription {
20
+ name: string;
21
+ contentTypes: string[] = [];
22
+ supportsSchemaGeneration = false;
23
+ schemaGenerationProperties: GenerationProperty[] = [];
24
+ supportsModelGeneration = false;
25
+ modelGenerationProperties: GenerationProperty[] = [];
26
+
27
+ constructor(name: string) {
28
+ this.name = name;
29
+ }
30
+ }
package/src/index.ts CHANGED
@@ -69,7 +69,14 @@ export {
69
69
  TagReference,
70
70
  TagExplicitReference,
71
71
  } from './models/metamodels/pure/packageableElements/domain/TagReference';
72
-
72
+ // metamodel external formats
73
+ export { Binding } from './models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding';
74
+ export { ModelUnit } from './models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit';
75
+ export { SchemaSet } from './models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet';
76
+ export { Schema as ExternalFormatSchema } from './models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema';
77
+ export { ExternalFormatConnection } from './models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection';
78
+ export { UrlStream } from './models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream';
79
+ export { DSLExternalFormat_GraphPreset } from './graph/DSLExternalFormat_Extension';
73
80
  // V1 protocols
74
81
  export * from './models/protocols/pure/v1/model/packageableElements/V1_PackageableElement';
75
82
  export { V1_StereotypePtr } from './models/protocols/pure/v1/model/packageableElements/domain/V1_StereotypePtr';
@@ -126,6 +133,8 @@ export { V1_Lambda } from './models/protocols/pure/v1/model/valueSpecification/r
126
133
  export { V1_Variable } from './models/protocols/pure/v1/model/valueSpecification/V1_Variable';
127
134
  export { V1_ValueSpecification } from './models/protocols/pure/v1/model/valueSpecification/V1_ValueSpecification';
128
135
  export { V1_Multiplicity } from './models/protocols/pure/v1/model/packageableElements/domain/V1_Multiplicity';
136
+ export { V1_ExternalFormatDescription } from './models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription';
137
+ export { V1_ExternalFormatModelGenerationInput } from './models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration';
129
138
 
130
139
  // --------------------------------------------- EXECUTION PLAN --------------------------------------------------
131
140
 
@@ -175,8 +184,10 @@ export {
175
184
  AbstractPureGraphManager,
176
185
  type GraphBuilderOptions,
177
186
  } from './graphManager/AbstractPureGraphManager';
187
+ export { GraphBuilderReport } from './graphManager/GraphBuilderReport';
188
+ export { GraphManagerTelemetry } from './graphManager/GraphManagerTelemetry';
178
189
  export * from './graphManager/GraphManagerUtils';
179
- export { GRAPH_MANAGER_LOG_EVENT } from './graphManager/GraphManagerLogEvent';
190
+ export * from './graphManager/GraphManagerEvent';
180
191
  export * from './graphManager/DSLMapping_PureGraphManagerPlugin_Extension';
181
192
  export * from './graphManager/DSLGenerationSpecification_PureGraphManagerPlugin_Extension';
182
193
  export {
@@ -185,6 +196,7 @@ export {
185
196
  RawExecutionResult,
186
197
  EXECUTION_SERIALIZATION_FORMAT,
187
198
  } from './graphManager/action/execution/ExecutionResult';
199
+ export { ExternalFormatDescription } from './graphManager/action/externalFormat/ExternalFormatDescription';
188
200
  export * from './graphManager/action/execution/ExecutionResultHelper';
189
201
  export * from './graphManager/PureGraphManagerPlugin';
190
202
  export * from './graphManager/action/query/Query';
@@ -231,6 +243,7 @@ export {
231
243
  export { V1_transformPropertyReference } from './models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer';
232
244
  export { V1_EngineServerClient } from './models/protocols/pure/v1/engine/V1_EngineServerClient';
233
245
  export { V1_Engine } from './models/protocols/pure/v1/engine/V1_Engine';
246
+ export * from './models/protocols/pure/v1/engine/V1_EngineEvent';
234
247
  export { V1_deserializePureModelContextData as V1_jsonToPureModelContextData } from './models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization';
235
248
  export {
236
249
  V1_propertyPointerModelSchema,
@@ -240,6 +253,7 @@ export {
240
253
  export { V1_serializeValueSpecification } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer';
241
254
  export { V1_ValueSpecificationBuilder } from './models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper';
242
255
  export * from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper';
256
+ export * from './models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper';
243
257
 
244
258
  // --------------------------------------------- TO BE MODULARIZED --------------------------------------------------
245
259
 
@@ -0,0 +1,24 @@
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
+ export enum DSL_EXTERNAL_FORMAT_HASH_STRUCTURE {
18
+ BINDING = 'BINDING',
19
+ SCHEMA_SET = 'SCHEMA_SET',
20
+ SCHEMA = 'SCHEMA',
21
+ MODEL_UNIT = 'MODEL_UNIT',
22
+ URL_STREAM = 'URL_STREAM',
23
+ EXTERNAL_FORMAT_CONNECTION = 'EXTERNAL_FORMAT_CONNECTION',
24
+ }
@@ -90,7 +90,7 @@ export abstract class PackageableElement implements Hashable, Stubable {
90
90
  isDeleted: computed,
91
91
  path: computed,
92
92
  _elementHashCode: computed,
93
- // We need to enable `keepAlive` to facillitate precomutation of element hash code
93
+ // We need to enable `keepAlive` to facillitate precomputation of element hash code
94
94
  hashCode: computed({ keepAlive: true }),
95
95
  setName: action,
96
96
  setPackage: action,
@@ -23,7 +23,6 @@ import {
23
23
  type Hashable,
24
24
  hashArray,
25
25
  assertTrue,
26
- addUniqueEntry,
27
26
  AssertionError,
28
27
  } from '@finos/legend-shared';
29
28
  import {
@@ -58,7 +57,9 @@ export class Package extends PackageableElement implements Hashable {
58
57
  }
59
58
 
60
59
  addChild(value: PackageableElement): void {
61
- addUniqueEntry(this.children, value);
60
+ // NOTE: here we directly push the element to the children array without any checks rather than use `addUniqueEntry` to improve performance.
61
+ // Duplication checks should be handled separately
62
+ this.children.push(value);
62
63
  }
63
64
 
64
65
  addElement(element: PackageableElement): void {
@@ -0,0 +1,57 @@
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 { type Hashable, ContentType, hashArray } from '@finos/legend-shared';
18
+ import { action, computed, makeObservable, observable } from 'mobx';
19
+ import type { Binding } from '../store/DSLExternalFormat_Binding';
20
+ import type { UrlStream } from './DSLExternalFormat_UrlStream';
21
+ import {
22
+ Connection,
23
+ type ConnectionVisitor,
24
+ } from '../../connection/Connection';
25
+ import type { PackageableElementReference } from '../../PackageableElementReference';
26
+ import { DSL_EXTERNAL_FORMAT_HASH_STRUCTURE } from '../../../../../DSLExternalFormat_ModelUtils';
27
+
28
+ export class ExternalFormatConnection extends Connection implements Hashable {
29
+ static readonly CONTENT_TYPE = ContentType.TEXT_PLAIN;
30
+ externalSource!: UrlStream;
31
+
32
+ constructor(store: PackageableElementReference<Binding>) {
33
+ super(store);
34
+
35
+ makeObservable(this, {
36
+ externalSource: observable,
37
+ setSource: action,
38
+ hashCode: computed,
39
+ });
40
+ }
41
+
42
+ setSource(value: UrlStream): void {
43
+ this.externalSource = value;
44
+ }
45
+
46
+ get hashCode(): string {
47
+ return hashArray([
48
+ DSL_EXTERNAL_FORMAT_HASH_STRUCTURE.EXTERNAL_FORMAT_CONNECTION,
49
+ this.store.hashValue,
50
+ this.externalSource,
51
+ ]);
52
+ }
53
+
54
+ accept_ConnectionVisitor<T>(visitor: ConnectionVisitor<T>): T {
55
+ return visitor.visit_Connection(this);
56
+ }
57
+ }
@@ -0,0 +1,39 @@
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 { type Hashable, hashArray } from '@finos/legend-shared';
18
+ import { action, computed, makeObservable, observable } from 'mobx';
19
+ import { DSL_EXTERNAL_FORMAT_HASH_STRUCTURE } from '../../../../../DSLExternalFormat_ModelUtils';
20
+
21
+ export class UrlStream implements Hashable {
22
+ url!: string;
23
+
24
+ constructor() {
25
+ makeObservable(this, {
26
+ url: observable,
27
+ hashCode: computed,
28
+ setUrl: action,
29
+ });
30
+ }
31
+
32
+ setUrl(val: string): void {
33
+ this.url = val;
34
+ }
35
+
36
+ get hashCode(): string {
37
+ return hashArray([DSL_EXTERNAL_FORMAT_HASH_STRUCTURE.URL_STREAM, this.url]);
38
+ }
39
+ }
@@ -0,0 +1,59 @@
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 { uuid, hashArray, type Hashable } from '@finos/legend-shared';
19
+ import { DSL_EXTERNAL_FORMAT_HASH_STRUCTURE } from '../../../../../DSLExternalFormat_ModelUtils';
20
+
21
+ export class Schema implements Hashable {
22
+ uuid = uuid();
23
+ id?: string | undefined;
24
+ location?: string | undefined;
25
+ content!: string;
26
+
27
+ constructor() {
28
+ makeObservable(this, {
29
+ id: observable,
30
+ location: observable,
31
+ content: observable,
32
+ setId: action,
33
+ setLocation: action,
34
+ setContent: action,
35
+ hashCode: computed,
36
+ });
37
+ }
38
+
39
+ setId(value: string): void {
40
+ this.id = value;
41
+ }
42
+
43
+ setLocation(value: string): void {
44
+ this.location = value;
45
+ }
46
+
47
+ setContent(value: string): void {
48
+ this.content = value;
49
+ }
50
+
51
+ get hashCode(): string {
52
+ return hashArray([
53
+ DSL_EXTERNAL_FORMAT_HASH_STRUCTURE.SCHEMA,
54
+ this.id ?? '',
55
+ this.location ?? '',
56
+ this.content,
57
+ ]);
58
+ }
59
+ }
@@ -0,0 +1,74 @@
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 {
19
+ hashArray,
20
+ addUniqueEntry,
21
+ deleteEntry,
22
+ type Hashable,
23
+ } from '@finos/legend-shared';
24
+ import type { Schema } from './DSLExternalFormat_Schema';
25
+ import {
26
+ type PackageableElementVisitor,
27
+ PackageableElement,
28
+ } from '../../PackageableElement';
29
+ import { DSL_EXTERNAL_FORMAT_HASH_STRUCTURE } from '../../../../../DSLExternalFormat_ModelUtils';
30
+
31
+ export class SchemaSet extends PackageableElement implements Hashable {
32
+ format!: string;
33
+ schemas: Schema[] = [];
34
+
35
+ constructor(name: string) {
36
+ super(name);
37
+
38
+ makeObservable<SchemaSet, '_elementHashCode'>(this, {
39
+ format: observable,
40
+ schemas: observable,
41
+ setFormat: action,
42
+ addSchema: action,
43
+ deleteSchema: action,
44
+ _elementHashCode: override,
45
+ });
46
+ }
47
+
48
+ setFormat(value: string): void {
49
+ this.format = value;
50
+ }
51
+
52
+ addSchema(value: Schema): void {
53
+ addUniqueEntry(this.schemas, value);
54
+ }
55
+
56
+ deleteSchema(value: Schema): void {
57
+ deleteEntry(this.schemas, value);
58
+ }
59
+
60
+ protected override get _elementHashCode(): string {
61
+ return hashArray([
62
+ DSL_EXTERNAL_FORMAT_HASH_STRUCTURE.SCHEMA_SET,
63
+ this.path,
64
+ this.format,
65
+ hashArray(this.schemas),
66
+ ]);
67
+ }
68
+
69
+ accept_PackageableElementVisitor<T>(
70
+ visitor: PackageableElementVisitor<T>,
71
+ ): T {
72
+ return visitor.visit_PackageableElement(this);
73
+ }
74
+ }
@@ -0,0 +1,44 @@
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 { type Hashable, hashArray } from '@finos/legend-shared';
18
+ import { action, computed, makeObservable, observable } from 'mobx';
19
+ import { CORE_HASH_STRUCTURE } from '../../../../../../MetaModelConst';
20
+ import type { PackageableElementReference } from '../../PackageableElementReference';
21
+ import type { Binding } from './DSLExternalFormat_Binding';
22
+
23
+ export class BindingTransformer implements Hashable {
24
+ binding!: PackageableElementReference<Binding>;
25
+
26
+ constructor() {
27
+ makeObservable(this, {
28
+ binding: observable,
29
+ hashCode: computed,
30
+ setBinding: action,
31
+ });
32
+ }
33
+
34
+ setBinding(value: PackageableElementReference<Binding>): void {
35
+ this.binding = value;
36
+ }
37
+
38
+ get hashCode(): string {
39
+ return hashArray([
40
+ CORE_HASH_STRUCTURE.BINDING_TRANSFORMER,
41
+ this.binding.hashValue,
42
+ ]);
43
+ }
44
+ }