@finos/legend-graph 31.2.0 → 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.
@@ -82,6 +82,7 @@ export declare const V1_buildBaseSimpleFunctionExpression: (processedParameters:
82
82
  * type-inferencing of the return and the parameters.
83
83
  */
84
84
  export declare const V1_buildGenericFunctionExpression: (functionName: string, parameters: V1_ValueSpecification[], openVariables: string[], compileContext: V1_GraphBuilderContext, processingContext: V1_ProcessingContext) => SimpleFunctionExpression;
85
+ export declare const V1_buildGenericLetFunctionExpression: (functionName: string, parameters: V1_ValueSpecification[], openVariables: string[], compileContext: V1_GraphBuilderContext, processingContext: V1_ProcessingContext) => SimpleFunctionExpression;
85
86
  /**
86
87
  * This is fairly similar to how engine does function matching in a way.
87
88
  * Notice that Studio core should not attempt to do any function inferencing/matching
@@ -1 +1 @@
1
- {"version":3,"file":"V1_ValueSpecificationBuilderHelper.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"V1_ValueSpecificationBuilderHelper.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { guaranteeNonNullable, guaranteeType, UnsupportedOperationError, isNonNullable, uniq, returnUndefOnError, } from '@finos/legend-shared';
16
+ import { guaranteeNonNullable, guaranteeType, UnsupportedOperationError, isNonNullable, uniq, returnUndefOnError, assertTrue, } from '@finos/legend-shared';
17
17
  import { PRIMITIVE_TYPE, SUPPORTED_FUNCTIONS, } from '../../../../../../../../graph/MetaModelConst.js';
18
18
  import { LambdaFunction, FunctionType, LambdaFunctionInstanceValue, } from '../../../../../../../../graph/metamodel/pure/valueSpecification/LambdaFunction.js';
19
19
  import { VariableExpression } from '../../../../../../../../graph/metamodel/pure/valueSpecification/VariableExpression.js';
@@ -39,7 +39,7 @@ import { INTERNAL__UnknownValueSpecification } from '../../../../../../../../gra
39
39
  import { GraphBuilderError } from '../../../../../../../../graph-manager/GraphManagerUtils.js';
40
40
  import { getEnumValue } from '../../../../../../../../graph/helpers/DomainHelper.js';
41
41
  import { matchFunctionName } from '../../../../../../../../graph/MetaModelUtils.js';
42
- import { V1_ClassInstanceType } from '../../../pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js';
42
+ import { V1_ClassInstanceType, V1_serializeValueSpecification, } from '../../../pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js';
43
43
  import { Multiplicity } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/Multiplicity.js';
44
44
  import { KeyExpression, KeyExpressionInstanceValue, } from '../../../../../../../../graph/metamodel/pure/valueSpecification/KeyExpressionInstanceValue.js';
45
45
  import { V1_SubTypeGraphFetchTree } from '../../../../model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.js';
@@ -101,12 +101,13 @@ export class V1_ValueSpecificationBuilder {
101
101
  visit_AppliedFunction(appliedFunction) {
102
102
  this.processingContext.push(`Applying function '${appliedFunction.function}'`);
103
103
  if (matchFunctionName(appliedFunction.function, SUPPORTED_FUNCTIONS.LET)) {
104
- const parameters = appliedFunction.parameters.map((expression) => expression.accept_ValueSpecificationVisitor(new V1_ValueSpecificationBuilder(this.context, this.processingContext, this.openVariables)));
104
+ // We will build the let parameters to assign the right side of the expression to the left side
105
+ const parameters = appliedFunction.parameters.map((expression) => returnUndefOnError(() => expression.accept_ValueSpecificationVisitor(new V1_ValueSpecificationBuilder(this.context, this.processingContext, this.openVariables))));
105
106
  const letName = guaranteeType(appliedFunction.parameters[0], V1_CString).value;
106
107
  // right side (value spec)
107
- const rightSide = guaranteeNonNullable(parameters[1]);
108
- const variableExpression = new VariableExpression(letName, rightSide.multiplicity);
109
- variableExpression.genericType = rightSide.genericType;
108
+ const rightSide = parameters[1];
109
+ const variableExpression = new VariableExpression(letName, rightSide?.multiplicity ?? Multiplicity.ONE);
110
+ variableExpression.genericType = rightSide?.genericType;
110
111
  this.processingContext.addInferredVariables(letName, variableExpression);
111
112
  this.openVariables.push(letName);
112
113
  }
@@ -277,6 +278,21 @@ export const V1_buildBaseSimpleFunctionExpression = (processedParameters, functi
277
278
  * type-inferencing of the return and the parameters.
278
279
  */
279
280
  export const V1_buildGenericFunctionExpression = (functionName, parameters, openVariables, compileContext, processingContext) => V1_buildBaseSimpleFunctionExpression(parameters.map((parameter) => parameter.accept_ValueSpecificationVisitor(new V1_ValueSpecificationBuilder(compileContext, processingContext, openVariables))), functionName, compileContext);
281
+ export const V1_buildGenericLetFunctionExpression = (functionName, parameters, openVariables, compileContext, processingContext) => {
282
+ try {
283
+ return V1_buildGenericFunctionExpression(functionName, parameters, openVariables, compileContext, processingContext);
284
+ }
285
+ catch (error) {
286
+ // let statement
287
+ assertTrue(matchFunctionName(functionName, SUPPORTED_FUNCTIONS.LET), 'Expected let() function for custom let() handling');
288
+ assertTrue(parameters.length === 2, 'Let() function expects 2 parameters');
289
+ const leftSide = guaranteeNonNullable(parameters[0], 'Left side of let statement expected to be defined').accept_ValueSpecificationVisitor(new V1_ValueSpecificationBuilder(compileContext, processingContext, openVariables));
290
+ const rightSideParam = guaranteeNonNullable(parameters[1]);
291
+ const rightSide = returnUndefOnError(() => rightSideParam.accept_ValueSpecificationVisitor(new V1_ValueSpecificationBuilder(compileContext, processingContext, openVariables))) ??
292
+ new INTERNAL__UnknownValueSpecification(V1_serializeValueSpecification(rightSideParam, compileContext.extensions.plugins));
293
+ return V1_buildBaseSimpleFunctionExpression([leftSide, rightSide], functionName, compileContext);
294
+ }
295
+ };
280
296
  /**
281
297
  * This is fairly similar to how engine does function matching in a way.
282
298
  * Notice that Studio core should not attempt to do any function inferencing/matching
@@ -293,6 +309,9 @@ checkFunctionName) {
293
309
  return V1_buildGenericFunctionExpression(functionName, parameters, openVariables, compileContext, processingContext);
294
310
  }
295
311
  if (matchFunctionName(functionName, Object.values(SUPPORTED_FUNCTIONS))) {
312
+ if (matchFunctionName(functionName, SUPPORTED_FUNCTIONS.LET)) {
313
+ return V1_buildGenericLetFunctionExpression(functionName, parameters, openVariables, compileContext, processingContext);
314
+ }
296
315
  // NOTE: this is a catch-all builder that is only meant for basic function expression
297
316
  // such as and(), or(), etc. It will fail when type-inferencing/function-matching is required
298
317
  // such as for project(), filter(), getAll(), etc.
@@ -1 +1 @@
1
- {"version":3,"file":"V1_ValueSpecificationBuilderHelper.js","sourceRoot":"","sources":["../../../../../../../../../src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"V1_ValueSpecificationBuilderHelper.js","sourceRoot":"","sources":["../../../../../../../../../src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts"],"names":[],"mappings":"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"}
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-graph",
3
- "version": "31.2.0",
3
+ "version": "31.2.1",
4
4
  "description": "Legend graph and graph manager",
5
5
  "keywords": [
6
6
  "legend",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-graph",
3
- "version": "31.2.0",
3
+ "version": "31.2.1",
4
4
  "description": "Legend graph and graph manager",
5
5
  "keywords": [
6
6
  "legend",
@@ -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,7 +96,10 @@ 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,
@@ -220,12 +224,15 @@ export class V1_ValueSpecificationBuilder
220
224
  `Applying function '${appliedFunction.function}'`,
221
225
  );
222
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
223
228
  const parameters = appliedFunction.parameters.map((expression) =>
224
- expression.accept_ValueSpecificationVisitor(
225
- new V1_ValueSpecificationBuilder(
226
- this.context,
227
- this.processingContext,
228
- this.openVariables,
229
+ returnUndefOnError(() =>
230
+ expression.accept_ValueSpecificationVisitor(
231
+ new V1_ValueSpecificationBuilder(
232
+ this.context,
233
+ this.processingContext,
234
+ this.openVariables,
235
+ ),
229
236
  ),
230
237
  ),
231
238
  );
@@ -234,13 +241,13 @@ export class V1_ValueSpecificationBuilder
234
241
  V1_CString,
235
242
  ).value;
236
243
  // right side (value spec)
237
- const rightSide = guaranteeNonNullable(parameters[1]);
244
+ const rightSide = parameters[1];
238
245
  const variableExpression = new VariableExpression(
239
246
  letName,
240
- rightSide.multiplicity,
247
+ rightSide?.multiplicity ?? Multiplicity.ONE,
241
248
  );
242
249
 
243
- variableExpression.genericType = rightSide.genericType;
250
+ variableExpression.genericType = rightSide?.genericType;
244
251
  this.processingContext.addInferredVariables(letName, variableExpression);
245
252
  this.openVariables.push(letName);
246
253
  }
@@ -619,6 +626,63 @@ export const V1_buildGenericFunctionExpression = (
619
626
  functionName,
620
627
  compileContext,
621
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
+ };
622
686
  /**
623
687
  * This is fairly similar to how engine does function matching in a way.
624
688
  * Notice that Studio core should not attempt to do any function inferencing/matching
@@ -647,6 +711,15 @@ export function V1_buildFunctionExpression(
647
711
  );
648
712
  }
649
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
+ }
650
723
  // NOTE: this is a catch-all builder that is only meant for basic function expression
651
724
  // such as and(), or(), etc. It will fail when type-inferencing/function-matching is required
652
725
  // such as for project(), filter(), getAll(), etc.