@finos/legend-graph 0.2.0 → 0.2.5

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 (110) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/lib/GraphManagerState.d.ts +1 -0
  3. package/lib/GraphManagerState.d.ts.map +1 -1
  4. package/lib/GraphManagerState.js +27 -2
  5. package/lib/GraphManagerState.js.map +1 -1
  6. package/lib/GraphManagerStateProvider.js +1 -1
  7. package/lib/GraphManagerStateProvider.js.map +1 -1
  8. package/lib/GraphManagerTestUtils.js +1 -1
  9. package/lib/GraphManagerTestUtils.js.map +1 -1
  10. package/lib/graphManager/action/SourceInformationHelper.d.ts.map +1 -1
  11. package/lib/graphManager/action/SourceInformationHelper.js +3 -1
  12. package/lib/graphManager/action/SourceInformationHelper.js.map +1 -1
  13. package/lib/helpers/MappingResolutionHelper.js +1 -1
  14. package/lib/helpers/MappingResolutionHelper.js.map +1 -1
  15. package/lib/models/metamodels/pure/packageableElements/domain/Association.js +1 -1
  16. package/lib/models/metamodels/pure/packageableElements/domain/Association.js.map +1 -1
  17. package/lib/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.d.ts.map +1 -1
  18. package/lib/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.js +2 -2
  19. package/lib/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.js.map +1 -1
  20. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts.map +1 -1
  21. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js +0 -1
  22. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js.map +1 -1
  23. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.d.ts.map +1 -1
  24. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.js +3 -1
  25. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.js.map +1 -1
  26. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +3 -3
  27. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  28. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextPointer.d.ts +3 -3
  29. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextPointer.d.ts.map +1 -1
  30. package/lib/models/protocols/pure/v1/model/context/{V1_AlloySdlc.d.ts → V1_SDLC.d.ts} +4 -4
  31. package/lib/models/protocols/pure/v1/model/context/V1_SDLC.d.ts.map +1 -0
  32. package/lib/models/protocols/pure/v1/model/context/{V1_AlloySdlc.js → V1_SDLC.js} +3 -3
  33. package/lib/models/protocols/pure/v1/model/context/V1_SDLC.js.map +1 -0
  34. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts.map +1 -1
  35. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.js.map +1 -1
  36. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.d.ts.map +1 -1
  37. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.js +4 -2
  38. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.js.map +1 -1
  39. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  40. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +6 -4
  41. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  42. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.d.ts.map +1 -1
  43. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +4 -3
  44. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
  45. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
  46. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +6 -6
  47. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
  48. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.d.ts.map +1 -1
  49. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.js +2 -2
  50. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.js.map +1 -1
  51. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +1 -1
  52. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js +4 -4
  53. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +1 -1
  54. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +1 -1
  55. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js +3 -3
  56. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +1 -1
  57. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +1 -1
  58. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js +12 -10
  59. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +1 -1
  60. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.d.ts.map +1 -1
  61. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js +3 -2
  62. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js.map +1 -1
  63. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
  64. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +1 -1
  65. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
  66. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.d.ts.map +1 -1
  67. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +2 -1
  68. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
  69. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
  70. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  71. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.d.ts +1 -1
  72. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.d.ts.map +1 -1
  73. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js +6 -4
  74. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js.map +1 -1
  75. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  76. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +12 -11
  77. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  78. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js +8 -8
  79. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js.map +1 -1
  80. package/package.json +8 -8
  81. package/src/GraphManagerState.ts +35 -4
  82. package/src/graphManager/action/SourceInformationHelper.ts +3 -1
  83. package/src/helpers/MappingResolutionHelper.ts +3 -3
  84. package/src/models/metamodels/pure/packageableElements/domain/Association.ts +1 -1
  85. package/src/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.ts +7 -2
  86. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementation.ts +0 -1
  87. package/src/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.ts +3 -1
  88. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +3 -3
  89. package/src/models/protocols/pure/v1/model/context/V1_PureModelContextPointer.ts +3 -3
  90. package/src/models/protocols/pure/v1/model/context/{V1_AlloySdlc.ts → V1_SDLC.ts} +3 -3
  91. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.ts +0 -1
  92. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.ts +4 -2
  93. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +7 -4
  94. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +4 -3
  95. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +32 -6
  96. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.ts +2 -1
  97. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts +6 -3
  98. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.ts +3 -2
  99. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.ts +18 -11
  100. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.ts +3 -2
  101. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +13 -4
  102. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +2 -1
  103. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +3 -1
  104. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.ts +8 -4
  105. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +19 -13
  106. package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.ts +5 -5
  107. package/tsconfig.json +2 -1
  108. package/tsconfig.package.json +1 -0
  109. package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.d.ts.map +0 -1
  110. package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.js.map +0 -1
@@ -203,7 +203,7 @@ export class V1_ValueSpecificationBuilder
203
203
  `Applying function '${appliedFunction.function}'`,
204
204
  );
205
205
  if (appliedFunction.function === LET_FUNCTION) {
206
- const vs = appliedFunction.parameters.map((expression) =>
206
+ const parameters = appliedFunction.parameters.map((expression) =>
207
207
  expression.accept_ValueSpecificationVisitor(
208
208
  new V1_ValueSpecificationBuilder(
209
209
  this.context,
@@ -212,11 +212,16 @@ export class V1_ValueSpecificationBuilder
212
212
  ),
213
213
  ),
214
214
  );
215
- const letName = guaranteeType(appliedFunction.parameters[0], V1_CString)
216
- .values[0];
217
- const ve = new VariableExpression(letName, vs[0].multiplicity);
218
- ve.genericType = vs[0].genericType;
219
- this.processingContext.addInferredVariables(letName, ve);
215
+ const letName = guaranteeNonNullable(
216
+ guaranteeType(appliedFunction.parameters[0], V1_CString).values[0],
217
+ );
218
+ const firstParam = guaranteeNonNullable(parameters[0]);
219
+ const variableExpression = new VariableExpression(
220
+ letName,
221
+ firstParam.multiplicity,
222
+ );
223
+ variableExpression.genericType = firstParam.genericType;
224
+ this.processingContext.addInferredVariables(letName, variableExpression);
220
225
  }
221
226
  const func = V1_buildFunctionExpression(
222
227
  appliedFunction.function,
@@ -598,7 +603,7 @@ export function V1_buildLambdaBody(
598
603
  ) as VariableExpression,
599
604
  );
600
605
  const openVariables: string[] = [];
601
- const valueSpecifications = expressions.map((e) =>
606
+ const _expressions = expressions.map((e) =>
602
607
  e.accept_ValueSpecificationVisitor(
603
608
  new V1_ValueSpecificationBuilder(
604
609
  context,
@@ -608,15 +613,16 @@ export function V1_buildLambdaBody(
608
613
  ),
609
614
  );
610
615
  // Remove let variables
616
+ const firstExpression = guaranteeNonNullable(_expressions[0]);
611
617
  const functionType = buildFunctionType(
612
618
  pureParameters,
613
- valueSpecifications[0].genericType?.value.rawType,
614
- valueSpecifications[0].multiplicity,
619
+ firstExpression.genericType?.value.rawType,
620
+ firstExpression.multiplicity,
615
621
  );
616
622
  processingContext.pop();
617
623
  const _lambda = new LambdaFunction(functionType);
618
624
  _lambda.openVariables = [];
619
- _lambda.expressionSequence = valueSpecifications;
625
+ _lambda.expressionSequence = _expressions;
620
626
  return _lambda;
621
627
  }
622
628
 
@@ -684,7 +690,7 @@ function buildPropertyGraphFetchTree(
684
690
  ): PropertyGraphFetchTree {
685
691
  let property: AbstractProperty;
686
692
  let pureParameters: ValueSpecification[] = [];
687
- if (!propertyGraphFetchTree.parameters.length) {
693
+ if (propertyGraphFetchTree.parameters.length) {
688
694
  const thisVariable = new V1_Variable();
689
695
  thisVariable.name = 'this';
690
696
  thisVariable.class = parentClass.path;
@@ -836,7 +842,7 @@ export function V1_processProperty(
836
842
  ),
837
843
  ),
838
844
  );
839
- let inferredVariable: ValueSpecification;
845
+ let inferredVariable: ValueSpecification | undefined;
840
846
  if (firstParameter instanceof V1_Variable) {
841
847
  inferredVariable = guaranteeType(
842
848
  processingContext.getInferredVariable(firstParameter.name),
@@ -846,7 +852,7 @@ export function V1_processProperty(
846
852
  inferredVariable = processedParameters[0];
847
853
  }
848
854
  let inferredType: Type | undefined =
849
- inferredVariable.genericType?.value.rawType;
855
+ inferredVariable?.genericType?.value.rawType;
850
856
  if (inferredVariable instanceof AbstractPropertyExpression) {
851
857
  inferredType = inferredVariable.func.genericType.value.rawType;
852
858
  }
@@ -40,14 +40,14 @@ import {
40
40
  } from '../../transformation/pureProtocol/V1_PackageableElementSerialization';
41
41
  import { V1_PureModelContextComposite } from '../../model/context/V1_PureModelContextComposite';
42
42
  import { V1_Protocol } from '../../model/V1_Protocol';
43
- import { V1_AlloySdlc } from '../../model/context/V1_AlloySdlc';
43
+ import { V1_AlloySDLC } from '../../model/context/V1_SDLC';
44
44
  import type { V1_PureModelContext } from '../../model/context/V1_PureModelContext';
45
45
  import { V1_packageableElementPointerDeserializerSchema } from '../../transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper';
46
46
  import type { PureProtocolProcessorPlugin } from '../../../PureProtocolProcessorPlugin';
47
47
  import type { Entity } from '@finos/legend-model-storage';
48
48
  import { GraphDataDeserializationError } from '../../../../../../graphManager/GraphManagerUtils';
49
49
 
50
- enum V1_SdlcType {
50
+ enum V1_SDLCType {
51
51
  ALLOY = 'alloy',
52
52
  }
53
53
 
@@ -98,8 +98,8 @@ export const V1_entitiesToPureModelContextData = async (
98
98
  }
99
99
  };
100
100
 
101
- const alloySdlcSerializationModelSchema = createModelSchema(V1_AlloySdlc, {
102
- _type: usingConstantValueSchema(V1_SdlcType.ALLOY),
101
+ const alloySDLCSerializationModelSchema = createModelSchema(V1_AlloySDLC, {
102
+ _type: usingConstantValueSchema(V1_SDLCType.ALLOY),
103
103
  baseVersion: optional(primitive()),
104
104
  version: primitive(),
105
105
  groupId: primitive(),
@@ -120,7 +120,7 @@ const V1_pureModelContextPointerModelSchema = createModelSchema(
120
120
  {
121
121
  _type: usingConstantValueSchema(V1_PureModelContextType.POINTER),
122
122
  serializer: usingModelSchema(V1_Protocol.serialization.schema),
123
- sdlcInfo: usingModelSchema(alloySdlcSerializationModelSchema),
123
+ sdlcInfo: usingModelSchema(alloySDLCSerializationModelSchema),
124
124
  },
125
125
  );
126
126
 
package/tsconfig.json CHANGED
@@ -22,6 +22,7 @@
22
22
  "allowSyntheticDefaultImports": true,
23
23
  "strict": true,
24
24
  "noImplicitOverride": true,
25
+ "noUncheckedIndexedAccess": true,
25
26
  "exactOptionalPropertyTypes": true,
26
27
  "forceConsistentCasingInFileNames": true,
27
28
  "outDir": "./lib",
@@ -270,11 +271,11 @@
270
271
  "./src/models/protocols/pure/v1/engine/service/V1_ServiceTestResult.ts",
271
272
  "./src/models/protocols/pure/v1/model/V1_Protocol.ts",
272
273
  "./src/models/protocols/pure/v1/model/V1_SourceInformation.ts",
273
- "./src/models/protocols/pure/v1/model/context/V1_AlloySdlc.ts",
274
274
  "./src/models/protocols/pure/v1/model/context/V1_PureModelContext.ts",
275
275
  "./src/models/protocols/pure/v1/model/context/V1_PureModelContextComposite.ts",
276
276
  "./src/models/protocols/pure/v1/model/context/V1_PureModelContextData.ts",
277
277
  "./src/models/protocols/pure/v1/model/context/V1_PureModelContextPointer.ts",
278
+ "./src/models/protocols/pure/v1/model/context/V1_SDLC.ts",
278
279
  "./src/models/protocols/pure/v1/model/executionPlan/V1_ExecutionPlan.ts",
279
280
  "./src/models/protocols/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.ts",
280
281
  "./src/models/protocols/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.ts",
@@ -22,6 +22,7 @@
22
22
  "allowSyntheticDefaultImports": true,
23
23
  "strict": true,
24
24
  "noImplicitOverride": true,
25
+ "noUncheckedIndexedAccess": true,
25
26
  "exactOptionalPropertyTypes": true,
26
27
  "forceConsistentCasingInFileNames": true,
27
28
  "outDir": "./lib",
@@ -1 +0,0 @@
1
- {"version":3,"file":"V1_AlloySdlc.d.ts","sourceRoot":"","sources":["../../../../../../../src/models/protocols/pure/v1/model/context/V1_AlloySdlc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AAE1G,8BAAsB,OAAO;IAC3B,WAAW,SAAY;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B,EAAE,4BAA4B,EAAE,CAAM;gBAEpD,OAAO,EAAE,MAAM,GAAG,SAAS;CAGxC;AAED,qBAAa,YAAa,SAAQ,OAAO;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;gBAGjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAAG,SAAS;CAM9B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"V1_AlloySdlc.js","sourceRoot":"","sources":["../../../../../../../src/models/protocols/pure/v1/model/context/V1_AlloySdlc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,OAAgB,OAAO;IAC3B,WAAW,GAAG,QAAQ,CAAC;IACvB,OAAO,CAAS;IAChB,0BAA0B,GAAmC,EAAE,CAAC;IAEhE,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvC,OAAO,CAAS;IAChB,UAAU,CAAS;IAEnB,YACE,OAAe,EACf,UAAkB,EAClB,OAA2B;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}