@finos/legend-graph 31.1.10 → 31.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/lib/graph/helpers/DSL_Mapping_Helper.d.ts +3 -1
  2. package/lib/graph/helpers/DSL_Mapping_Helper.d.ts.map +1 -1
  3. package/lib/graph/helpers/DSL_Mapping_Helper.js +17 -0
  4. package/lib/graph/helpers/DSL_Mapping_Helper.js.map +1 -1
  5. package/lib/graph/metamodel/pure/executionPlan/nodes/AllocationExecutionNode.d.ts +1 -1
  6. package/lib/graph/metamodel/pure/executionPlan/nodes/AllocationExecutionNode.d.ts.map +1 -1
  7. package/lib/graph/metamodel/pure/executionPlan/nodes/AllocationExecutionNode.js.map +1 -1
  8. package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.d.ts +2 -6
  9. package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.d.ts.map +1 -1
  10. package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.js +0 -5
  11. package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.js.map +1 -1
  12. package/lib/graph/metamodel/pure/executionPlan/nodes/GlobalGraphFetchExecutionNode.d.ts +29 -0
  13. package/lib/graph/metamodel/pure/executionPlan/nodes/GlobalGraphFetchExecutionNode.d.ts.map +1 -0
  14. package/lib/graph/metamodel/pure/executionPlan/nodes/GlobalGraphFetchExecutionNode.js +27 -0
  15. package/lib/graph/metamodel/pure/executionPlan/nodes/GlobalGraphFetchExecutionNode.js.map +1 -0
  16. package/lib/graph/metamodel/pure/executionPlan/nodes/GraphFetchExecutionNode.d.ts +25 -0
  17. package/lib/graph/metamodel/pure/executionPlan/nodes/GraphFetchExecutionNode.d.ts.map +1 -0
  18. package/lib/graph/metamodel/pure/executionPlan/nodes/GraphFetchExecutionNode.js +23 -0
  19. package/lib/graph/metamodel/pure/executionPlan/nodes/GraphFetchExecutionNode.js.map +1 -0
  20. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryGraphFetchExecutionNode.d.ts +20 -0
  21. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryGraphFetchExecutionNode.d.ts.map +1 -0
  22. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryGraphFetchExecutionNode.js +20 -0
  23. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryGraphFetchExecutionNode.js.map +1 -0
  24. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryPropertyGraphFetchExecutionNode.d.ts +19 -0
  25. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryPropertyGraphFetchExecutionNode.d.ts.map +1 -0
  26. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryPropertyGraphFetchExecutionNode.js +19 -0
  27. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryPropertyGraphFetchExecutionNode.js.map +1 -0
  28. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryRootGraphFetchExecutionNode.d.ts +22 -0
  29. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryRootGraphFetchExecutionNode.d.ts.map +1 -0
  30. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryRootGraphFetchExecutionNode.js +22 -0
  31. package/lib/graph/metamodel/pure/executionPlan/nodes/InMemoryRootGraphFetchExecutionNode.js.map +1 -0
  32. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromResultSetAsValueTuplesTempTableStrategy.d.ts +20 -0
  33. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromResultSetAsValueTuplesTempTableStrategy.d.ts.map +1 -0
  34. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromResultSetAsValueTuplesTempTableStrategy.js +20 -0
  35. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromResultSetAsValueTuplesTempTableStrategy.js.map +1 -0
  36. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromSubQueryTempTableStrategy.d.ts +19 -0
  37. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromSubQueryTempTableStrategy.d.ts.map +1 -0
  38. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromSubQueryTempTableStrategy.js +19 -0
  39. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromSubQueryTempTableStrategy.js.map +1 -0
  40. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromTempFileTempTableStrategy.d.ts +19 -0
  41. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromTempFileTempTableStrategy.d.ts.map +1 -0
  42. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromTempFileTempTableStrategy.js +19 -0
  43. package/lib/graph/metamodel/pure/executionPlan/nodes/LoadFromTempFileTempTableStrategy.js.map +1 -0
  44. package/lib/graph/metamodel/pure/executionPlan/nodes/LocalGraphFetchExecutionNode.d.ts +23 -0
  45. package/lib/graph/metamodel/pure/executionPlan/nodes/LocalGraphFetchExecutionNode.d.ts.map +1 -0
  46. package/lib/graph/metamodel/pure/executionPlan/nodes/LocalGraphFetchExecutionNode.js +22 -0
  47. package/lib/graph/metamodel/pure/executionPlan/nodes/LocalGraphFetchExecutionNode.js.map +1 -0
  48. package/lib/graph/metamodel/pure/executionPlan/nodes/PureExpressionPlatformExecutionNode.d.ts +21 -0
  49. package/lib/graph/metamodel/pure/executionPlan/nodes/PureExpressionPlatformExecutionNode.d.ts.map +1 -0
  50. package/lib/graph/metamodel/pure/executionPlan/nodes/PureExpressionPlatformExecutionNode.js +20 -0
  51. package/lib/graph/metamodel/pure/executionPlan/nodes/PureExpressionPlatformExecutionNode.js.map +1 -0
  52. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalClassQueryTempTableGraphFetchExecutionNode.d.ts +19 -0
  53. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalClassQueryTempTableGraphFetchExecutionNode.d.ts.map +1 -0
  54. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalClassQueryTempTableGraphFetchExecutionNode.js +19 -0
  55. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalClassQueryTempTableGraphFetchExecutionNode.js.map +1 -0
  56. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalCrossRootQueryTempTableGraphFetchExecutionNode.d.ts +25 -0
  57. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalCrossRootQueryTempTableGraphFetchExecutionNode.d.ts.map +1 -0
  58. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalCrossRootQueryTempTableGraphFetchExecutionNode.js +23 -0
  59. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalCrossRootQueryTempTableGraphFetchExecutionNode.js.map +1 -0
  60. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalGraphFetchExecutionNode.d.ts +20 -0
  61. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalGraphFetchExecutionNode.d.ts.map +1 -0
  62. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalGraphFetchExecutionNode.js +20 -0
  63. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalGraphFetchExecutionNode.js.map +1 -0
  64. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalRootQueryTempTableGraphFetchExecutionNode.d.ts +21 -0
  65. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalRootQueryTempTableGraphFetchExecutionNode.d.ts.map +1 -0
  66. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalRootQueryTempTableGraphFetchExecutionNode.js +21 -0
  67. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalRootQueryTempTableGraphFetchExecutionNode.js.map +1 -0
  68. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalTempTableGraphFetchExecutionNode.d.ts +25 -0
  69. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalTempTableGraphFetchExecutionNode.d.ts.map +1 -0
  70. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalTempTableGraphFetchExecutionNode.js +23 -0
  71. package/lib/graph/metamodel/pure/executionPlan/nodes/RelationalTempTableGraphFetchExecutionNode.js.map +1 -0
  72. package/lib/graph/metamodel/pure/executionPlan/nodes/StoreMappingGlobalGraphFetchExecutionNode.d.ts +24 -0
  73. package/lib/graph/metamodel/pure/executionPlan/nodes/StoreMappingGlobalGraphFetchExecutionNode.d.ts.map +1 -0
  74. package/lib/graph/metamodel/pure/executionPlan/nodes/StoreMappingGlobalGraphFetchExecutionNode.js +23 -0
  75. package/lib/graph/metamodel/pure/executionPlan/nodes/StoreMappingGlobalGraphFetchExecutionNode.js.map +1 -0
  76. package/lib/graph/metamodel/pure/executionPlan/nodes/TempTableStrategy.d.ts +22 -0
  77. package/lib/graph/metamodel/pure/executionPlan/nodes/TempTableStrategy.d.ts.map +1 -0
  78. package/lib/graph/metamodel/pure/executionPlan/nodes/TempTableStrategy.js +21 -0
  79. package/lib/graph/metamodel/pure/executionPlan/nodes/TempTableStrategy.js.map +1 -0
  80. package/lib/graph/metamodel/pure/executionPlan/result/ClassResultType.d.ts +21 -0
  81. package/lib/graph/metamodel/pure/executionPlan/result/ClassResultType.d.ts.map +1 -0
  82. package/lib/graph/metamodel/pure/executionPlan/result/ClassResultType.js +20 -0
  83. package/lib/graph/metamodel/pure/executionPlan/result/ClassResultType.js.map +1 -0
  84. package/lib/graph/metamodel/pure/executionPlan/result/PartialClassResultType.d.ts +21 -0
  85. package/lib/graph/metamodel/pure/executionPlan/result/PartialClassResultType.d.ts.map +1 -0
  86. package/lib/graph/metamodel/pure/executionPlan/result/PartialClassResultType.js +20 -0
  87. package/lib/graph/metamodel/pure/executionPlan/result/PartialClassResultType.js.map +1 -0
  88. package/lib/graph/metamodel/pure/executionPlan/result/PropertyMapping.d.ts +21 -0
  89. package/lib/graph/metamodel/pure/executionPlan/result/PropertyMapping.d.ts.map +1 -0
  90. package/lib/graph/metamodel/pure/executionPlan/result/PropertyMapping.js +21 -0
  91. package/lib/graph/metamodel/pure/executionPlan/result/PropertyMapping.js.map +1 -0
  92. package/lib/graph/metamodel/pure/executionPlan/result/PropertyWithParameters.d.ts +21 -0
  93. package/lib/graph/metamodel/pure/executionPlan/result/PropertyWithParameters.d.ts.map +1 -0
  94. package/lib/graph/metamodel/pure/executionPlan/result/PropertyWithParameters.js +20 -0
  95. package/lib/graph/metamodel/pure/executionPlan/result/PropertyWithParameters.js.map +1 -0
  96. package/lib/graph/metamodel/pure/executionPlan/result/SetImplementationPtr.d.ts +23 -0
  97. package/lib/graph/metamodel/pure/executionPlan/result/SetImplementationPtr.d.ts.map +1 -0
  98. package/lib/graph/metamodel/pure/executionPlan/result/SetImplementationPtr.js +22 -0
  99. package/lib/graph/metamodel/pure/executionPlan/result/SetImplementationPtr.js.map +1 -0
  100. package/lib/graph/metamodel/pure/executionPlan/result/VoidResultType.d.ts +19 -0
  101. package/lib/graph/metamodel/pure/executionPlan/result/VoidResultType.d.ts.map +1 -0
  102. package/lib/graph/metamodel/pure/executionPlan/result/VoidResultType.js +19 -0
  103. package/lib/graph/metamodel/pure/executionPlan/result/VoidResultType.js.map +1 -0
  104. package/lib/graph/metamodel/pure/packageableElements/mapping/xStore/XStorePropertyFetchDetails.d.ts +26 -0
  105. package/lib/graph/metamodel/pure/packageableElements/mapping/xStore/XStorePropertyFetchDetails.d.ts.map +1 -0
  106. package/lib/graph/metamodel/pure/packageableElements/mapping/xStore/XStorePropertyFetchDetails.js +26 -0
  107. package/lib/graph/metamodel/pure/packageableElements/mapping/xStore/XStorePropertyFetchDetails.js.map +1 -0
  108. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_AllocationExecutionNode.d.ts +1 -1
  109. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_AllocationExecutionNode.d.ts.map +1 -1
  110. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_AllocationExecutionNode.js.map +1 -1
  111. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.d.ts +3 -6
  112. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.d.ts.map +1 -1
  113. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.js +1 -5
  114. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.js.map +1 -1
  115. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_GlobalGraphFetchExecutionNode.d.ts +29 -0
  116. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_GlobalGraphFetchExecutionNode.d.ts.map +1 -0
  117. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_GlobalGraphFetchExecutionNode.js +27 -0
  118. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_GlobalGraphFetchExecutionNode.js.map +1 -0
  119. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_GraphFetchExecutionNode.d.ts +25 -0
  120. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_GraphFetchExecutionNode.d.ts.map +1 -0
  121. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_GraphFetchExecutionNode.js +23 -0
  122. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_GraphFetchExecutionNode.js.map +1 -0
  123. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryGraphFetchExecutionNode.d.ts +20 -0
  124. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryGraphFetchExecutionNode.d.ts.map +1 -0
  125. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryGraphFetchExecutionNode.js +20 -0
  126. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryGraphFetchExecutionNode.js.map +1 -0
  127. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryPropertyGraphFetchExecutionNode.d.ts +19 -0
  128. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryPropertyGraphFetchExecutionNode.d.ts.map +1 -0
  129. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryPropertyGraphFetchExecutionNode.js +19 -0
  130. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryPropertyGraphFetchExecutionNode.js.map +1 -0
  131. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryRootGraphFetchExecutionNode.d.ts +22 -0
  132. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryRootGraphFetchExecutionNode.d.ts.map +1 -0
  133. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryRootGraphFetchExecutionNode.js +22 -0
  134. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryRootGraphFetchExecutionNode.js.map +1 -0
  135. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromResultSetAsValueTuplesTempTableStrategy.d.ts +20 -0
  136. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromResultSetAsValueTuplesTempTableStrategy.d.ts.map +1 -0
  137. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromResultSetAsValueTuplesTempTableStrategy.js +20 -0
  138. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromResultSetAsValueTuplesTempTableStrategy.js.map +1 -0
  139. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromSubQueryTempTableStrategy.d.ts +19 -0
  140. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromSubQueryTempTableStrategy.d.ts.map +1 -0
  141. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromSubQueryTempTableStrategy.js +19 -0
  142. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromSubQueryTempTableStrategy.js.map +1 -0
  143. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromTempFileTempTableStrategy.d.ts +19 -0
  144. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromTempFileTempTableStrategy.d.ts.map +1 -0
  145. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromTempFileTempTableStrategy.js +19 -0
  146. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromTempFileTempTableStrategy.js.map +1 -0
  147. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LocalGraphFetchExecutionNode.d.ts +23 -0
  148. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LocalGraphFetchExecutionNode.d.ts.map +1 -0
  149. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LocalGraphFetchExecutionNode.js +22 -0
  150. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LocalGraphFetchExecutionNode.js.map +1 -0
  151. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_PureExpressionPlatformExecutionNode.d.ts +21 -0
  152. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_PureExpressionPlatformExecutionNode.d.ts.map +1 -0
  153. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_PureExpressionPlatformExecutionNode.js +20 -0
  154. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_PureExpressionPlatformExecutionNode.js.map +1 -0
  155. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalClassQueryTempTableGraphFetchExecutionNode.d.ts +19 -0
  156. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalClassQueryTempTableGraphFetchExecutionNode.d.ts.map +1 -0
  157. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalClassQueryTempTableGraphFetchExecutionNode.js +19 -0
  158. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalClassQueryTempTableGraphFetchExecutionNode.js.map +1 -0
  159. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalCrossRootQueryTempTableGraphFetchExecutionNode.d.ts +25 -0
  160. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalCrossRootQueryTempTableGraphFetchExecutionNode.d.ts.map +1 -0
  161. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalCrossRootQueryTempTableGraphFetchExecutionNode.js +23 -0
  162. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalCrossRootQueryTempTableGraphFetchExecutionNode.js.map +1 -0
  163. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalGraphFetchExecutionNode.d.ts +20 -0
  164. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalGraphFetchExecutionNode.d.ts.map +1 -0
  165. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalGraphFetchExecutionNode.js +20 -0
  166. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalGraphFetchExecutionNode.js.map +1 -0
  167. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalRootQueryTempTableGraphFetchExecutionNode.d.ts +21 -0
  168. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalRootQueryTempTableGraphFetchExecutionNode.d.ts.map +1 -0
  169. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalRootQueryTempTableGraphFetchExecutionNode.js +21 -0
  170. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalRootQueryTempTableGraphFetchExecutionNode.js.map +1 -0
  171. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalTempTableGraphFetchExecutionNode.d.ts +25 -0
  172. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalTempTableGraphFetchExecutionNode.d.ts.map +1 -0
  173. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalTempTableGraphFetchExecutionNode.js +23 -0
  174. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalTempTableGraphFetchExecutionNode.js.map +1 -0
  175. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_StoreMappingGlobalGraphFetchExecutionNode.d.ts +24 -0
  176. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_StoreMappingGlobalGraphFetchExecutionNode.d.ts.map +1 -0
  177. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_StoreMappingGlobalGraphFetchExecutionNode.js +23 -0
  178. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_StoreMappingGlobalGraphFetchExecutionNode.js.map +1 -0
  179. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_TempTableStrategy.d.ts +22 -0
  180. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_TempTableStrategy.d.ts.map +1 -0
  181. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_TempTableStrategy.js +21 -0
  182. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_TempTableStrategy.js.map +1 -0
  183. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_ClassResultType.d.ts +22 -0
  184. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_ClassResultType.d.ts.map +1 -0
  185. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_ClassResultType.js +21 -0
  186. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_ClassResultType.js.map +1 -0
  187. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PartialClassResultType.d.ts +21 -0
  188. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PartialClassResultType.d.ts.map +1 -0
  189. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PartialClassResultType.js +20 -0
  190. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PartialClassResultType.js.map +1 -0
  191. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PropertyMapping.d.ts +21 -0
  192. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PropertyMapping.d.ts.map +1 -0
  193. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PropertyMapping.js +21 -0
  194. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PropertyMapping.js.map +1 -0
  195. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PropertyWithParameters.d.ts +21 -0
  196. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PropertyWithParameters.d.ts.map +1 -0
  197. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PropertyWithParameters.js +20 -0
  198. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PropertyWithParameters.js.map +1 -0
  199. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_SetImplementationPtr.d.ts +23 -0
  200. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_SetImplementationPtr.d.ts.map +1 -0
  201. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_SetImplementationPtr.js +22 -0
  202. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_SetImplementationPtr.js.map +1 -0
  203. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_VoidResultType.d.ts +19 -0
  204. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_VoidResultType.d.ts.map +1 -0
  205. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_VoidResultType.js +19 -0
  206. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_VoidResultType.js.map +1 -0
  207. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/xStore/V1_XStorePropertyFetchDetails.d.ts +26 -0
  208. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/xStore/V1_XStorePropertyFetchDetails.d.ts.map +1 -0
  209. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/xStore/V1_XStorePropertyFetchDetails.js +26 -0
  210. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/xStore/V1_XStorePropertyFetchDetails.js.map +1 -0
  211. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/application/V1_AppliedFunction.d.ts +1 -0
  212. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/application/V1_AppliedFunction.d.ts.map +1 -1
  213. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/application/V1_AppliedFunction.js +1 -1
  214. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/application/V1_AppliedFunction.js.map +1 -1
  215. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.d.ts.map +1 -1
  216. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.js +289 -1
  217. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.js.map +1 -1
  218. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
  219. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +316 -2
  220. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
  221. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts +5 -3
  222. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  223. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +72 -21
  224. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  225. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.d.ts +3 -0
  226. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.d.ts.map +1 -1
  227. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js +3 -2
  228. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js.map +1 -1
  229. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.d.ts +18 -2
  230. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.d.ts.map +1 -1
  231. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js +317 -20
  232. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js.map +1 -1
  233. package/lib/index.d.ts +14 -0
  234. package/lib/index.d.ts.map +1 -1
  235. package/lib/index.js +14 -0
  236. package/lib/index.js.map +1 -1
  237. package/lib/package.json +1 -1
  238. package/package.json +1 -1
  239. package/src/graph/helpers/DSL_Mapping_Helper.ts +24 -1
  240. package/src/graph/metamodel/pure/executionPlan/nodes/AllocationExecutionNode.ts +1 -1
  241. package/src/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.ts +2 -6
  242. package/src/graph/metamodel/pure/executionPlan/nodes/GlobalGraphFetchExecutionNode.ts +30 -0
  243. package/src/graph/metamodel/pure/executionPlan/nodes/GraphFetchExecutionNode.ts +26 -0
  244. package/src/graph/metamodel/pure/executionPlan/nodes/InMemoryGraphFetchExecutionNode.ts +21 -0
  245. package/src/graph/metamodel/pure/executionPlan/nodes/InMemoryPropertyGraphFetchExecutionNode.ts +19 -0
  246. package/src/graph/metamodel/pure/executionPlan/nodes/InMemoryRootGraphFetchExecutionNode.ts +23 -0
  247. package/src/graph/metamodel/pure/executionPlan/nodes/LoadFromResultSetAsValueTuplesTempTableStrategy.ts +21 -0
  248. package/src/graph/metamodel/pure/executionPlan/nodes/LoadFromSubQueryTempTableStrategy.ts +19 -0
  249. package/src/graph/metamodel/pure/executionPlan/nodes/LoadFromTempFileTempTableStrategy.ts +19 -0
  250. package/src/graph/metamodel/pure/executionPlan/nodes/LocalGraphFetchExecutionNode.ts +24 -0
  251. package/src/graph/metamodel/pure/executionPlan/nodes/PureExpressionPlatformExecutionNode.ts +22 -0
  252. package/src/graph/metamodel/pure/executionPlan/nodes/RelationalClassQueryTempTableGraphFetchExecutionNode.ts +19 -0
  253. package/src/graph/metamodel/pure/executionPlan/nodes/RelationalCrossRootQueryTempTableGraphFetchExecutionNode.ts +26 -0
  254. package/src/graph/metamodel/pure/executionPlan/nodes/RelationalGraphFetchExecutionNode.ts +21 -0
  255. package/src/graph/metamodel/pure/executionPlan/nodes/RelationalRootQueryTempTableGraphFetchExecutionNode.ts +22 -0
  256. package/src/graph/metamodel/pure/executionPlan/nodes/RelationalTempTableGraphFetchExecutionNode.ts +26 -0
  257. package/src/graph/metamodel/pure/executionPlan/nodes/StoreMappingGlobalGraphFetchExecutionNode.ts +25 -0
  258. package/src/graph/metamodel/pure/executionPlan/nodes/TempTableStrategy.ts +23 -0
  259. package/src/graph/metamodel/pure/executionPlan/result/ClassResultType.ts +22 -0
  260. package/src/graph/metamodel/pure/executionPlan/result/PartialClassResultType.ts +22 -0
  261. package/src/graph/metamodel/pure/executionPlan/result/PropertyMapping.ts +21 -0
  262. package/src/graph/metamodel/pure/executionPlan/result/PropertyWithParameters.ts +22 -0
  263. package/src/graph/metamodel/pure/executionPlan/result/SetImplementationPtr.ts +24 -0
  264. package/src/graph/metamodel/pure/executionPlan/result/VoidResultType.ts +19 -0
  265. package/src/graph/metamodel/pure/packageableElements/mapping/xStore/XStorePropertyFetchDetails.ts +26 -0
  266. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_AllocationExecutionNode.ts +1 -1
  267. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.ts +3 -6
  268. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_GlobalGraphFetchExecutionNode.ts +30 -0
  269. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_GraphFetchExecutionNode.ts +26 -0
  270. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryGraphFetchExecutionNode.ts +21 -0
  271. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryPropertyGraphFetchExecutionNode.ts +19 -0
  272. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_InMemoryRootGraphFetchExecutionNode.ts +23 -0
  273. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromResultSetAsValueTuplesTempTableStrategy.ts +21 -0
  274. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromSubQueryTempTableStrategy.ts +19 -0
  275. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LoadFromTempFileTempTableStrategy.ts +19 -0
  276. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_LocalGraphFetchExecutionNode.ts +24 -0
  277. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_PureExpressionPlatformExecutionNode.ts +22 -0
  278. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalClassQueryTempTableGraphFetchExecutionNode.ts +19 -0
  279. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalCrossRootQueryTempTableGraphFetchExecutionNode.ts +26 -0
  280. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalGraphFetchExecutionNode.ts +21 -0
  281. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalRootQueryTempTableGraphFetchExecutionNode.ts +22 -0
  282. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_RelationalTempTableGraphFetchExecutionNode.ts +26 -0
  283. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_StoreMappingGlobalGraphFetchExecutionNode.ts +25 -0
  284. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_TempTableStrategy.ts +23 -0
  285. package/src/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_ClassResultType.ts +23 -0
  286. package/src/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PartialClassResultType.ts +22 -0
  287. package/src/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PropertyMapping.ts +21 -0
  288. package/src/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_PropertyWithParameters.ts +22 -0
  289. package/src/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_SetImplementationPtr.ts +24 -0
  290. package/src/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_VoidResultType.ts +19 -0
  291. package/src/graph-manager/protocol/pure/v1/model/packageableElements/mapping/xStore/V1_XStorePropertyFetchDetails.ts +26 -0
  292. package/src/graph-manager/protocol/pure/v1/model/valueSpecification/application/V1_AppliedFunction.ts +1 -1
  293. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.ts +538 -1
  294. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +605 -2
  295. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +142 -14
  296. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts +8 -2
  297. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.ts +610 -23
  298. package/src/index.ts +14 -0
  299. package/tsconfig.json +48 -0
@@ -21,6 +21,7 @@ import {
21
21
  isNonNullable,
22
22
  uniq,
23
23
  returnUndefOnError,
24
+ assertTrue,
24
25
  } from '@finos/legend-shared';
25
26
  import {
26
27
  PRIMITIVE_TYPE,
@@ -95,13 +96,17 @@ import { getEnumValue } from '../../../../../../../../graph/helpers/DomainHelper
95
96
  import { matchFunctionName } from '../../../../../../../../graph/MetaModelUtils.js';
96
97
  import type { V1_ClassInstance } from '../../../../model/valueSpecification/raw/V1_ClassInstance.js';
97
98
  import type { V1_GenericTypeInstance } from '../../../../model/valueSpecification/raw/V1_GenericTypeInstance.js';
98
- import { V1_ClassInstanceType } from '../../../pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js';
99
+ import {
100
+ V1_ClassInstanceType,
101
+ V1_serializeValueSpecification,
102
+ } from '../../../pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js';
99
103
  import { Multiplicity } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/Multiplicity.js';
100
104
  import {
101
105
  KeyExpression,
102
106
  KeyExpressionInstanceValue,
103
107
  } from '../../../../../../../../graph/metamodel/pure/valueSpecification/KeyExpressionInstanceValue.js';
104
108
  import { V1_SubTypeGraphFetchTree } from '../../../../model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.js';
109
+ import { findMappingLocalProperty } from '../../../../../../../../graph/helpers/DSL_Mapping_Helper.js';
105
110
 
106
111
  const buildPrimtiveInstanceValue = (
107
112
  type: PRIMITIVE_TYPE,
@@ -120,15 +125,18 @@ export class V1_ValueSpecificationBuilder
120
125
  context: V1_GraphBuilderContext;
121
126
  processingContext: V1_ProcessingContext;
122
127
  openVariables: string[] = [];
128
+ checkFunctionName?: boolean | undefined;
123
129
 
124
130
  constructor(
125
131
  context: V1_GraphBuilderContext,
126
132
  processingContext: V1_ProcessingContext,
127
133
  openVariables: string[],
134
+ checkFunctionName?: boolean | undefined,
128
135
  ) {
129
136
  this.context = context;
130
137
  this.processingContext = processingContext;
131
138
  this.openVariables = openVariables;
139
+ this.checkFunctionName = checkFunctionName;
132
140
  }
133
141
 
134
142
  visit_INTERNAL__UnknownValueSpecfication(
@@ -216,12 +224,15 @@ export class V1_ValueSpecificationBuilder
216
224
  `Applying function '${appliedFunction.function}'`,
217
225
  );
218
226
  if (matchFunctionName(appliedFunction.function, SUPPORTED_FUNCTIONS.LET)) {
227
+ // We will build the let parameters to assign the right side of the expression to the left side
219
228
  const parameters = appliedFunction.parameters.map((expression) =>
220
- expression.accept_ValueSpecificationVisitor(
221
- new V1_ValueSpecificationBuilder(
222
- this.context,
223
- this.processingContext,
224
- this.openVariables,
229
+ returnUndefOnError(() =>
230
+ expression.accept_ValueSpecificationVisitor(
231
+ new V1_ValueSpecificationBuilder(
232
+ this.context,
233
+ this.processingContext,
234
+ this.openVariables,
235
+ ),
225
236
  ),
226
237
  ),
227
238
  );
@@ -230,13 +241,13 @@ export class V1_ValueSpecificationBuilder
230
241
  V1_CString,
231
242
  ).value;
232
243
  // right side (value spec)
233
- const rightSide = guaranteeNonNullable(parameters[1]);
244
+ const rightSide = parameters[1];
234
245
  const variableExpression = new VariableExpression(
235
246
  letName,
236
- rightSide.multiplicity,
247
+ rightSide?.multiplicity ?? Multiplicity.ONE,
237
248
  );
238
249
 
239
- variableExpression.genericType = rightSide.genericType;
250
+ variableExpression.genericType = rightSide?.genericType;
240
251
  this.processingContext.addInferredVariables(letName, variableExpression);
241
252
  this.openVariables.push(letName);
242
253
  }
@@ -246,6 +257,7 @@ export class V1_ValueSpecificationBuilder
246
257
  this.openVariables,
247
258
  this.context,
248
259
  this.processingContext,
260
+ this.checkFunctionName,
249
261
  );
250
262
  this.processingContext.pop();
251
263
 
@@ -614,6 +626,63 @@ export const V1_buildGenericFunctionExpression = (
614
626
  functionName,
615
627
  compileContext,
616
628
  );
629
+
630
+ export const V1_buildGenericLetFunctionExpression = (
631
+ functionName: string,
632
+ parameters: V1_ValueSpecification[],
633
+ openVariables: string[],
634
+ compileContext: V1_GraphBuilderContext,
635
+ processingContext: V1_ProcessingContext,
636
+ ): SimpleFunctionExpression => {
637
+ try {
638
+ return V1_buildGenericFunctionExpression(
639
+ functionName,
640
+ parameters,
641
+ openVariables,
642
+ compileContext,
643
+ processingContext,
644
+ );
645
+ } catch (error) {
646
+ // let statement
647
+ assertTrue(
648
+ matchFunctionName(functionName, SUPPORTED_FUNCTIONS.LET),
649
+ 'Expected let() function for custom let() handling',
650
+ );
651
+ assertTrue(parameters.length === 2, 'Let() function expects 2 parameters');
652
+ const leftSide = guaranteeNonNullable(
653
+ parameters[0],
654
+ 'Left side of let statement expected to be defined',
655
+ ).accept_ValueSpecificationVisitor(
656
+ new V1_ValueSpecificationBuilder(
657
+ compileContext,
658
+ processingContext,
659
+ openVariables,
660
+ ),
661
+ );
662
+ const rightSideParam = guaranteeNonNullable(parameters[1]);
663
+ const rightSide =
664
+ returnUndefOnError(() =>
665
+ rightSideParam.accept_ValueSpecificationVisitor(
666
+ new V1_ValueSpecificationBuilder(
667
+ compileContext,
668
+ processingContext,
669
+ openVariables,
670
+ ),
671
+ ),
672
+ ) ??
673
+ new INTERNAL__UnknownValueSpecification(
674
+ V1_serializeValueSpecification(
675
+ rightSideParam,
676
+ compileContext.extensions.plugins,
677
+ ),
678
+ );
679
+ return V1_buildBaseSimpleFunctionExpression(
680
+ [leftSide, rightSide],
681
+ functionName,
682
+ compileContext,
683
+ );
684
+ }
685
+ };
617
686
  /**
618
687
  * This is fairly similar to how engine does function matching in a way.
619
688
  * Notice that Studio core should not attempt to do any function inferencing/matching
@@ -628,8 +697,29 @@ export function V1_buildFunctionExpression(
628
697
  openVariables: string[],
629
698
  compileContext: V1_GraphBuilderContext,
630
699
  processingContext: V1_ProcessingContext,
700
+ // We don't want to throw error when we build valuespecification outside
701
+ // query context (for ex: while building execution plan)
702
+ checkFunctionName?: boolean | undefined,
631
703
  ): SimpleFunctionExpression {
704
+ if (checkFunctionName === false) {
705
+ return V1_buildGenericFunctionExpression(
706
+ functionName,
707
+ parameters,
708
+ openVariables,
709
+ compileContext,
710
+ processingContext,
711
+ );
712
+ }
632
713
  if (matchFunctionName(functionName, Object.values(SUPPORTED_FUNCTIONS))) {
714
+ if (matchFunctionName(functionName, SUPPORTED_FUNCTIONS.LET)) {
715
+ return V1_buildGenericLetFunctionExpression(
716
+ functionName,
717
+ parameters,
718
+ openVariables,
719
+ compileContext,
720
+ processingContext,
721
+ );
722
+ }
633
723
  // NOTE: this is a catch-all builder that is only meant for basic function expression
634
724
  // such as and(), or(), etc. It will fail when type-inferencing/function-matching is required
635
725
  // such as for project(), filter(), getAll(), etc.
@@ -688,6 +778,7 @@ export function V1_buildGraphFetchTree(
688
778
  parentClass: Class | undefined,
689
779
  openVariables: string[],
690
780
  processingContext: V1_ProcessingContext,
781
+ canResolveLocalProperty?: boolean | undefined,
691
782
  ): GraphFetchTree {
692
783
  if (graphFetchTree instanceof V1_PropertyGraphFetchTree) {
693
784
  return buildPropertyGraphFetchTree(
@@ -696,6 +787,7 @@ export function V1_buildGraphFetchTree(
696
787
  guaranteeNonNullable(parentClass),
697
788
  openVariables,
698
789
  processingContext,
790
+ canResolveLocalProperty,
699
791
  );
700
792
  } else if (graphFetchTree instanceof V1_RootGraphFetchTree) {
701
793
  return buildRootGraphFetchTree(
@@ -703,6 +795,7 @@ export function V1_buildGraphFetchTree(
703
795
  context,
704
796
  openVariables,
705
797
  processingContext,
798
+ canResolveLocalProperty,
706
799
  );
707
800
  } else if (graphFetchTree instanceof V1_SubTypeGraphFetchTree) {
708
801
  return buildSubTypeGraphFetchTree(
@@ -710,6 +803,7 @@ export function V1_buildGraphFetchTree(
710
803
  context,
711
804
  openVariables,
712
805
  processingContext,
806
+ canResolveLocalProperty,
713
807
  );
714
808
  }
715
809
  throw new UnsupportedOperationError(
@@ -734,6 +828,7 @@ function buildPropertyGraphFetchTree(
734
828
  parentClass: Class,
735
829
  openVariables: string[],
736
830
  processingContext: V1_ProcessingContext,
831
+ canResolveLocalProperty?: boolean | undefined,
737
832
  ): PropertyGraphFetchTree {
738
833
  let property: AbstractProperty;
739
834
  let pureParameters: ValueSpecification[] = [];
@@ -766,11 +861,38 @@ function buildPropertyGraphFetchTree(
766
861
  processingContext.flushVariable('this');
767
862
  processingContext.pop();
768
863
  } else {
769
- property = V1_getAppliedProperty(
770
- parentClass,
771
- undefined,
772
- propertyGraphFetchTree.property,
773
- );
864
+ // While building property graph fetch tree, the Class of root graph
865
+ // fetch tree is passed as the parentClass of property graph fetch tree.
866
+ // This Class contains the properties of property graph fetch trees.
867
+ // But sometimes, a local property is missing in the parentClass and
868
+ // causing error in V1_getAppliedProperty.
869
+ // To fix this, we get the local property from PureModel context.graph
870
+ // mappings. The function findProperty() is used for this purpose.
871
+ if (canResolveLocalProperty) {
872
+ try {
873
+ property = V1_getAppliedProperty(
874
+ parentClass,
875
+ undefined,
876
+ propertyGraphFetchTree.property,
877
+ );
878
+ } catch (error) {
879
+ const newProperty = findMappingLocalProperty(
880
+ context.graph.mappings,
881
+ propertyGraphFetchTree.property,
882
+ );
883
+ if (newProperty) {
884
+ property = newProperty;
885
+ } else {
886
+ throw error;
887
+ }
888
+ }
889
+ } else {
890
+ property = V1_getAppliedProperty(
891
+ parentClass,
892
+ undefined,
893
+ propertyGraphFetchTree.property,
894
+ );
895
+ }
774
896
  }
775
897
  const _subType = propertyGraphFetchTree.subType
776
898
  ? context.resolveClass(propertyGraphFetchTree.subType)
@@ -790,6 +912,7 @@ function buildPropertyGraphFetchTree(
790
912
  _returnTypeClasss,
791
913
  openVariables,
792
914
  processingContext,
915
+ canResolveLocalProperty,
793
916
  ),
794
917
  );
795
918
  }
@@ -809,6 +932,7 @@ function buildRootGraphFetchTree(
809
932
  context: V1_GraphBuilderContext,
810
933
  openVariables: string[],
811
934
  processingContext: V1_ProcessingContext,
935
+ canResolveLocalProperty?: boolean | undefined,
812
936
  ): RootGraphFetchTree {
813
937
  const _class = context.resolveClass(rootGraphFetchTree.class);
814
938
  const subTreeChildren = rootGraphFetchTree.subTrees.map((subTree) =>
@@ -818,6 +942,7 @@ function buildRootGraphFetchTree(
818
942
  _class.value,
819
943
  openVariables,
820
944
  processingContext,
945
+ canResolveLocalProperty,
821
946
  ),
822
947
  );
823
948
  const subTypeTreeChildren = rootGraphFetchTree.subTypeTrees.map(
@@ -827,6 +952,7 @@ function buildRootGraphFetchTree(
827
952
  context,
828
953
  openVariables,
829
954
  processingContext,
955
+ canResolveLocalProperty,
830
956
  ),
831
957
  );
832
958
  const _rootGraphFetchTree = new RootGraphFetchTree(
@@ -842,6 +968,7 @@ function buildSubTypeGraphFetchTree(
842
968
  context: V1_GraphBuilderContext,
843
969
  openVariables: string[],
844
970
  processingContext: V1_ProcessingContext,
971
+ canResolveLocalProperty?: boolean | undefined,
845
972
  ): SubTypeGraphFetchTree {
846
973
  const subTypeClass = context.resolveClass(subTypeGraphFetchTree.subTypeClass);
847
974
  const children = subTypeGraphFetchTree.subTrees.map((subTree) =>
@@ -851,6 +978,7 @@ function buildSubTypeGraphFetchTree(
851
978
  subTypeClass.value,
852
979
  openVariables,
853
980
  processingContext,
981
+ canResolveLocalProperty,
854
982
  ),
855
983
  );
856
984
  const _subTypeGraphFetchTree = new SubTypeGraphFetchTree(
@@ -482,6 +482,12 @@ const propertyGraphFetchTreeModelSchema = (
482
482
  (val) => V1_deserializeGraphFetchTree(val, plugins),
483
483
  ),
484
484
  ),
485
+ subTypeTrees: list(
486
+ custom(
487
+ (val) => V1_serializeGraphFetchTree(val, plugins),
488
+ (val) => V1_deserializeGraphFetchTree(val, plugins),
489
+ ),
490
+ ),
485
491
  subType: optional(primitive()),
486
492
  });
487
493
 
@@ -501,7 +507,7 @@ const subTypeGraphFetchTreeModelSchema = (
501
507
  subTypeClass: primitive(),
502
508
  });
503
509
 
504
- function V1_serializeGraphFetchTree(
510
+ export function V1_serializeGraphFetchTree(
505
511
  protocol: V1_GraphFetchTree,
506
512
  plugins: PureProtocolProcessorPlugin[],
507
513
  ): PlainObject<V1_GraphFetchTree> {
@@ -518,7 +524,7 @@ function V1_serializeGraphFetchTree(
518
524
  );
519
525
  }
520
526
 
521
- function V1_deserializeGraphFetchTree(
527
+ export function V1_deserializeGraphFetchTree(
522
528
  json: PlainObject<V1_GraphFetchTree>,
523
529
  plugins: PureProtocolProcessorPlugin[],
524
530
  ): V1_GraphFetchTree {