@finos/legend-query-builder 4.15.41 → 4.15.43

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 (33) hide show
  1. package/lib/graph/QueryBuilderMetaModelConst.d.ts +5 -0
  2. package/lib/graph/QueryBuilderMetaModelConst.d.ts.map +1 -1
  3. package/lib/graph/QueryBuilderMetaModelConst.js +5 -0
  4. package/lib/graph/QueryBuilderMetaModelConst.js.map +1 -1
  5. package/lib/index.css +1 -1
  6. package/lib/package.json +3 -3
  7. package/lib/stores/QueryBuilderStateBuilder.d.ts +2 -1
  8. package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -1
  9. package/lib/stores/QueryBuilderStateBuilder.js +15 -2
  10. package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
  11. package/lib/stores/data-cube/QueryBuilderDataCubeEngine.d.ts +7 -8
  12. package/lib/stores/data-cube/QueryBuilderDataCubeEngine.d.ts.map +1 -1
  13. package/lib/stores/data-cube/QueryBuilderDataCubeEngine.js +46 -48
  14. package/lib/stores/data-cube/QueryBuilderDataCubeEngine.js.map +1 -1
  15. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts +1 -0
  16. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -1
  17. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js +26 -2
  18. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
  19. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
  20. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js +3 -75
  21. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
  22. package/lib/stores/fetch-structure/tds/result-modifier/ResultModifierValueSpecificationBuilder.d.ts +74 -0
  23. package/lib/stores/fetch-structure/tds/result-modifier/ResultModifierValueSpecificationBuilder.d.ts.map +1 -0
  24. package/lib/stores/fetch-structure/tds/result-modifier/ResultModifierValueSpecificationBuilder.js +213 -0
  25. package/lib/stores/fetch-structure/tds/result-modifier/ResultModifierValueSpecificationBuilder.js.map +1 -0
  26. package/package.json +9 -9
  27. package/src/graph/QueryBuilderMetaModelConst.ts +5 -1
  28. package/src/stores/QueryBuilderStateBuilder.ts +21 -3
  29. package/src/stores/data-cube/QueryBuilderDataCubeEngine.ts +86 -86
  30. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.ts +64 -1
  31. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +16 -146
  32. package/src/stores/fetch-structure/tds/result-modifier/ResultModifierValueSpecificationBuilder.ts +337 -0
  33. package/tsconfig.json +1 -0
@@ -13,89 +13,17 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { CollectionInstanceValue, extractElementNameFromPath, GenericType, GenericTypeExplicitReference, PrimitiveInstanceValue, SimpleFunctionExpression, INTERNAL__UnknownValueSpecification, V1_serializeRawValueSpecification, V1_transformRawLambda, V1_GraphTransformerContextBuilder, matchFunctionName, PrimitiveType, LambdaFunctionInstanceValue, } from '@finos/legend-graph';
16
+ import { CollectionInstanceValue, extractElementNameFromPath, GenericType, GenericTypeExplicitReference, PrimitiveInstanceValue, SimpleFunctionExpression, INTERNAL__UnknownValueSpecification, V1_serializeRawValueSpecification, V1_transformRawLambda, V1_GraphTransformerContextBuilder, PrimitiveType, LambdaFunctionInstanceValue, } from '@finos/legend-graph';
17
17
  import { at, guaranteeNonNullable, UnsupportedOperationError, } from '@finos/legend-shared';
18
18
  import { QueryBuilderDerivationProjectionColumnState, QueryBuilderSimpleProjectionColumnState, } from './QueryBuilderProjectionColumnState.js';
19
- import {} from '../QueryResultSetModifierState.js';
20
19
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../graph/QueryBuilderMetaModelConst.js';
21
20
  import { buildGenericLambdaFunctionInstanceValue } from '../../../QueryBuilderValueSpecificationHelper.js';
22
21
  import { buildPropertyExpressionChain, } from '../../../QueryBuilderValueSpecificationBuilderHelper.js';
23
22
  import { appendOLAPGroupByState } from '../window/QueryBuilderWindowValueSpecificationBuilder.js';
24
23
  import { appendPostFilter } from '../post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js';
25
- import { buildTDSSortTypeExpression } from '../QueryBuilderTDSHelper.js';
26
24
  import { buildRelationProjection } from './QueryBuilderRelationProjectValueSpecBuidler.js';
27
25
  import { QueryBuilderAggregateOperator_Wavg } from '../aggregation/operators/QueryBuilderAggregateOperator_Wavg.js';
28
- const buildSortExpression = (sortColumnState) => buildTDSSortTypeExpression(sortColumnState.sortType, sortColumnState.columnState.columnName);
29
- const appendResultSetModifier = (resultModifierState, lambdaFunction, options) => {
30
- if (lambdaFunction.expressionSequence.length === 1) {
31
- const func = lambdaFunction.expressionSequence[0];
32
- if (func instanceof SimpleFunctionExpression) {
33
- if (matchFunctionName(func.functionName, [
34
- QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT,
35
- QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY,
36
- QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FILTER,
37
- QUERY_BUILDER_SUPPORTED_FUNCTIONS.OLAP_GROUPBY,
38
- ])) {
39
- let currentExpression = func;
40
- // build distinct()
41
- if (resultModifierState.distinct) {
42
- const distinctFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_DISTINCT));
43
- distinctFunction.parametersValues[0] = currentExpression;
44
- currentExpression = distinctFunction;
45
- }
46
- // build sort()
47
- if (resultModifierState.sortColumns.length) {
48
- const sortFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_SORT));
49
- const multiplicity = resultModifierState.tdsState.queryBuilderState.graphManagerState.graph.getMultiplicity(resultModifierState.sortColumns.length, resultModifierState.sortColumns.length);
50
- const collection = new CollectionInstanceValue(multiplicity, undefined);
51
- collection.values =
52
- resultModifierState.sortColumns.map(buildSortExpression);
53
- sortFunction.parametersValues[0] = currentExpression;
54
- sortFunction.parametersValues[1] = collection;
55
- currentExpression = sortFunction;
56
- }
57
- // build take()
58
- if (resultModifierState.limit || options?.overridingLimit) {
59
- const limit = new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(PrimitiveType.INTEGER)));
60
- limit.values = [
61
- Math.min(resultModifierState.limit
62
- ? options?.withDataOverflowCheck
63
- ? resultModifierState.limit + 1
64
- : resultModifierState.limit
65
- : Number.MAX_SAFE_INTEGER, options?.overridingLimit
66
- ? options.withDataOverflowCheck
67
- ? options.overridingLimit + 1
68
- : options.overridingLimit
69
- : Number.MAX_SAFE_INTEGER),
70
- ];
71
- const takeFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_TAKE));
72
- takeFunction.parametersValues[0] = currentExpression;
73
- takeFunction.parametersValues[1] = limit;
74
- currentExpression = takeFunction;
75
- }
76
- // build slice()
77
- if (resultModifierState.slice) {
78
- const sliceStart = resultModifierState.slice[0];
79
- const sliceEnd = resultModifierState.slice[1];
80
- const startVal = new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(PrimitiveType.INTEGER)));
81
- const endVal = new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(PrimitiveType.INTEGER)));
82
- startVal.values = [sliceStart];
83
- endVal.values = [sliceEnd];
84
- const sliceFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.SLICE));
85
- sliceFunction.parametersValues = [
86
- currentExpression,
87
- startVal,
88
- endVal,
89
- ];
90
- currentExpression = sliceFunction;
91
- }
92
- lambdaFunction.expressionSequence[0] = currentExpression;
93
- return lambdaFunction;
94
- }
95
- }
96
- }
97
- return lambdaFunction;
98
- };
26
+ import { appendResultSetModifier } from '../result-modifier/ResultModifierValueSpecificationBuilder.js';
99
27
  const buildProjectColFunc = (tdsState, projectionColumnState, options) => {
100
28
  const colFunc = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_COL));
101
29
  let columnLambda;
@@ -278,7 +206,7 @@ export const appendProjection = (tdsState, lambdaFunction, options) => {
278
206
  // build post-filter
279
207
  appendPostFilter(tdsState.postFilterState, lambdaFunction);
280
208
  // build result set modifiers
281
- appendResultSetModifier(tdsState.resultSetModifierState, lambdaFunction, {
209
+ appendResultSetModifier(tdsState.resultSetModifierState, lambdaFunction, tdsState.queryBuilderState.isFetchStructureTyped, {
282
210
  overridingLimit: options?.isBuildingExecutionQuery && !options.isExportingResult
283
211
  ? queryBuilderState.resultState.previewLimit
284
212
  : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderProjectionValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,uBAAuB,EACvB,0BAA0B,EAC1B,WAAW,EACX,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,mCAAmC,EACnC,iCAAiC,EACjC,qBAAqB,EACrB,iCAAiC,EACjC,iBAAiB,EACjB,aAAa,EACb,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,EAAE,EACF,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,2CAA2C,EAC3C,uCAAuC,GACxC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAGN,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iCAAiC,EAAE,MAAM,iDAAiD,CAAC;AACpG,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAC3G,OAAO,EACL,4BAA4B,GAE7B,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0DAA0D,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mEAAmE,CAAC;AACrG,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,kCAAkC,EAAE,MAAM,gEAAgE,CAAC;AAEpH,MAAM,mBAAmB,GAAG,CAC1B,eAAgC,EACN,EAAE,CAC5B,0BAA0B,CACxB,eAAe,CAAC,QAAQ,EACxB,eAAe,CAAC,WAAW,CAAC,UAAU,CACvC,CAAC;AAEJ,MAAM,uBAAuB,GAAG,CAC9B,mBAAgD,EAChD,cAA8B,EAC9B,OAKa,EACG,EAAE;IAClB,IAAI,cAAc,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,IAAI,YAAY,wBAAwB,EAAE,CAAC;YAC7C,IACE,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE;gBACnC,iCAAiC,CAAC,WAAW;gBAC7C,iCAAiC,CAAC,YAAY;gBAC9C,iCAAiC,CAAC,UAAU;gBAC5C,iCAAiC,CAAC,YAAY;aAC/C,CAAC,EACF,CAAC;gBACD,IAAI,iBAAiB,GAAG,IAAI,CAAC;gBAE7B,mBAAmB;gBACnB,IAAI,mBAAmB,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,gBAAgB,GAAG,IAAI,wBAAwB,CACnD,0BAA0B,CACxB,iCAAiC,CAAC,YAAY,CAC/C,CACF,CAAC;oBACF,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;oBACzD,iBAAiB,GAAG,gBAAgB,CAAC;gBACvC,CAAC;gBAED,eAAe;gBACf,IAAI,mBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;oBAC3C,MAAM,YAAY,GAAG,IAAI,wBAAwB,CAC/C,0BAA0B,CACxB,iCAAiC,CAAC,QAAQ,CAC3C,CACF,CAAC;oBACF,MAAM,YAAY,GAChB,mBAAmB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CACpF,mBAAmB,CAAC,WAAW,CAAC,MAAM,EACtC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CACvC,CAAC;oBACJ,MAAM,UAAU,GAAG,IAAI,uBAAuB,CAC5C,YAAY,EACZ,SAAS,CACV,CAAC;oBACF,UAAU,CAAC,MAAM;wBACf,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;oBAC3D,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;oBACrD,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;oBAC9C,iBAAiB,GAAG,YAAY,CAAC;gBACnC,CAAC;gBAED,eAAe;gBACf,IAAI,mBAAmB,CAAC,KAAK,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;oBAC1D,MAAM,KAAK,GAAG,IAAI,sBAAsB,CACtC,4BAA4B,CAAC,MAAM,CACjC,IAAI,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CACvC,CACF,CAAC;oBACF,KAAK,CAAC,MAAM,GAAG;wBACb,IAAI,CAAC,GAAG,CACN,mBAAmB,CAAC,KAAK;4BACvB,CAAC,CAAC,OAAO,EAAE,qBAAqB;gCAC9B,CAAC,CAAC,mBAAmB,CAAC,KAAK,GAAG,CAAC;gCAC/B,CAAC,CAAC,mBAAmB,CAAC,KAAK;4BAC7B,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAC3B,OAAO,EAAE,eAAe;4BACtB,CAAC,CAAC,OAAO,CAAC,qBAAqB;gCAC7B,CAAC,CAAC,OAAO,CAAC,eAAe,GAAG,CAAC;gCAC7B,CAAC,CAAC,OAAO,CAAC,eAAe;4BAC3B,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAC5B;qBACF,CAAC;oBACF,MAAM,YAAY,GAAG,IAAI,wBAAwB,CAC/C,0BAA0B,CACxB,iCAAiC,CAAC,QAAQ,CAC3C,CACF,CAAC;oBACF,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;oBACrD,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBACzC,iBAAiB,GAAG,YAAY,CAAC;gBACnC,CAAC;gBACD,gBAAgB;gBAChB,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9C,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CACzC,4BAA4B,CAAC,MAAM,CACjC,IAAI,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CACvC,CACF,CAAC;oBACF,MAAM,MAAM,GAAG,IAAI,sBAAsB,CACvC,4BAA4B,CAAC,MAAM,CACjC,IAAI,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CACvC,CACF,CAAC;oBACF,QAAQ,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC/B,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC3B,MAAM,aAAa,GAAG,IAAI,wBAAwB,CAChD,0BAA0B,CAAC,iCAAiC,CAAC,KAAK,CAAC,CACpE,CAAC;oBACF,aAAa,CAAC,gBAAgB,GAAG;wBAC/B,iBAAiB;wBACjB,QAAQ;wBACR,MAAM;qBACP,CAAC;oBACF,iBAAiB,GAAG,aAAa,CAAC;gBACpC,CAAC;gBAED,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;gBACzD,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,QAA8B,EAC9B,qBAAwD,EACxD,OAAqC,EACX,EAAE;IAC5B,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAC1C,0BAA0B,CAAC,iCAAiC,CAAC,OAAO,CAAC,CACtE,CAAC;IACF,IAAI,YAAgC,CAAC;IACrC,IACE,qBAAqB,YAAY,uCAAuC,EACxE,CAAC;QACD,YAAY,GAAG,uCAAuC,CACpD,qBAAqB,CAAC,mBAAmB,EACzC;YACE,4BAA4B,CAC1B,qBAAqB,CAAC,uBAAuB,CAAC,kBAAkB,EAChE,qBAAqB,CAAC,uBAAuB,CAAC,iBAAiB,EAC/D,qBAAqB,CAAC,mBAAmB,EACzC,OAAO,CACR;SACF,EACD,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CACnD,CAAC;IACJ,CAAC;SAAM,IACL,qBAAqB,YAAY,2CAA2C,EAC5E,CAAC;QACD,YAAY,GAAG,IAAI,mCAAmC,CACpD,iCAAiC,CAC/B,qBAAqB,CACnB,qBAAqB,CAAC,MAAM,EAC5B,IAAI,iCAAiC;QACnC,iDAAiD;QACjD,EAAE,CACH;aACE,6BAA6B,CAC5B,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CACxC;aACA,KAAK,EAAE,CACX,CACF,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,yBAAyB,CACjC,8EAA8E,EAC9E,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CACzC,4BAA4B,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAC3E,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACvD,OAAO,CAAC,gBAAgB,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAA8B,EAC9B,cAA8B,EAC9B,OAAqC,EAC/B,EAAE;IACR,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACrD,MAAM,mBAAmB,GAAG,oBAAoB,CAC9C,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACpC,wEAAwE,CACzE,CAAC;IACF,mBAAmB;IACnB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7C,cAAc;QACd,MAAM,eAAe,GAAG,IAAI,wBAAwB,CAClD,0BAA0B,CACxB,iCAAiC,CAAC,YAAY,CAC/C,CACF,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,uBAAuB,CAC5C,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CACvD,QAAQ,CAAC,iBAAiB,CAAC,MAAM;YAC/B,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAC1C,QAAQ,CAAC,iBAAiB,CAAC,MAAM;YAC/B,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAC3C,CACF,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,CAClD,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CACvD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EACxC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CACzC,CACF,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,uBAAuB,CAC5C,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CACvD,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EACjC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAClC,CACF,CAAC;QACF,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,EAAE;YAC3D,eAAe;YACf,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CACzC,4BAA4B,CAAC,MAAM,CACjC,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CACtC,CACF,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACvD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEjC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CACjE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,KAAK,qBAAqB,CACnE,CAAC;YAEF,oBAAoB;YACpB,IAAI,YAAgC,CAAC;YACrC,IACE,qBAAqB,YAAY,uCAAuC,EACxE,CAAC;gBACD,YAAY,GAAG,uCAAuC,CACpD,qBAAqB,CAAC,mBAAmB,EACzC;oBACE,4BAA4B,CAC1B,qBAAqB,CAAC,uBAAuB,CAAC,kBAAkB,EAChE,qBAAqB,CAAC,uBAAuB,CAAC,iBAAiB,EAC/D,qBAAqB,CAAC,mBAAmB,EACzC,OAAO,EACP,IAAI,CACL;iBACF,EACD,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAC1C,CAAC;YACJ,CAAC;iBAAM,IACL,qBAAqB;gBACrB,2CAA2C,EAC3C,CAAC;gBACD,YAAY,GAAG,IAAI,mCAAmC,CACpD,iCAAiC,CAC/B,qBAAqB,CACnB,qBAAqB,CAAC,MAAM,EAC5B,IAAI,iCAAiC;gBACnC,iDAAiD;gBACjD,EAAE,CACH;qBACE,6BAA6B,CAC5B,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CACxC;qBACA,KAAK,EAAE,CACX,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,yBAAyB,CACjC,8EAA8E,EAC9E,qBAAqB,CACtB,CAAC;YACJ,CAAC;YAED,qBAAqB;YACrB,IAAI,oBAAoB,EAAE,CAAC;gBACzB,IACE,oBAAoB,CAAC,QAAQ;oBAC7B,kCAAkC,EAClC,CAAC;oBACD,oBAAoB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM,2BAA2B,GAAG,IAAI,wBAAwB,CAC9D,0BAA0B,CAAC,iCAAiC,CAAC,OAAO,CAAC,CACtE,CAAC;gBACF,MAAM,eAAe,GAAG,uCAAuC,CAC7D,oBAAoB,CAAC,mBAAmB,EACxC;oBACE,oBAAoB,CAAC,QAAQ,CAAC,iCAAiC,CAC7D,oBAAoB,CACrB;iBACF,EACD,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB;qBAC7D,iBAAiB,CAAC,KAAK,CAC3B,CAAC;gBACF,IAAI,uBAAuB,CAAC;gBAC5B,MAAM,4BAA4B,GAChC,oBAAoB,CAAC,gBAAgB,EAAE,wCAAwC,CAC7E,oBAAoB,EACpB,YAAY,CACb,CAAC;gBACJ,IACE,iBAAiB,CAAC,iBAAiB;oBACnC,4BAA4B,YAAY,wBAAwB,EAChE,CAAC;oBACD,uBAAuB,GAAG,uCAAuC,CAC/D,oBAAoB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;yBACxD,mBAAmB,EACtB,CAAC,4BAA4B,CAAC,EAC9B,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB;yBAC7D,iBAAiB,CAAC,KAAK,CAC3B,CAAC;gBACJ,CAAC;gBACD,+DAA+D;gBAC/D,IACE,oBAAoB,CAAC,QAAQ;oBAC3B,kCAAkC;oBACpC,oBAAoB,CAAC,QAAQ,CAAC,MAAM;oBACpC,oBAAoB,CAAC,qBAAqB;wBACxC,uCAAuC;oBACzC,YAAY,YAAY,2BAA2B,EACnD,CAAC;oBACD,kBAAkB;oBAClB,MAAM,aAAa,GAAG,IAAI,wBAAwB,CAChD,iCAAiC,CAAC,eAAe,CAClD,CAAC;oBACF,YAAY;oBACZ,MAAM,QAAQ,GACZ,oBAAoB,CAAC,qBAAqB,CAAC,uBAAuB;yBAC/D,kBAAkB,CAAC;oBACxB,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACpD,aAAa,CAAC,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACpD,IACE,uBAAuB;wBACvB,uBAAuB,YAAY,2BAA2B,EAC9D,CAAC;wBACD,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;4BACzD,aAAa,CAAC;oBAClB,CAAC;yBAAM,IAAI,YAAY,YAAY,2BAA2B,EAAE,CAAC;wBAC/D,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;oBACnE,CAAC;gBACH,CAAC;gBACD,2BAA2B,CAAC,gBAAgB,GAAG;oBAC7C,uBAAuB,IAAI,YAAY;oBACvC,eAAe;iBAChB,CAAC;gBACF,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,eAAe,CAAC,gBAAgB,GAAG;YACjC,mBAAmB;YACnB,UAAU;YACV,gBAAgB;YAChB,UAAU;SACX,CAAC;QACF,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;IACzD,CAAC;SAAM,IAAI,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YACtD,aAAa;YACb,MAAM,eAAe,GAAG,IAAI,wBAAwB,CAClD,0BAA0B,CACxB,iCAAiC,CAAC,WAAW,CAC9C,CACF,CAAC;YACF,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACxB,MAAM,iBAAiB,GAAG,IAAI,uBAAuB,CACnD,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CACvD,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EACjC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAClC,CACF,CAAC;gBACF,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,EAAE;oBAC3D,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAC3B,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAC9D,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,eAAe,CAAC,gBAAgB,GAAG;oBACjC,mBAAmB;oBACnB,iBAAiB;iBAClB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,IAAI,uBAAuB,CAC5C,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CACvD,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EACjC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAClC,CACF,CAAC;gBACF,MAAM,UAAU,GAAG,IAAI,uBAAuB,CAC5C,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CACvD,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EACjC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAClC,CACF,CAAC;gBACF,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,EAAE;oBAC3D,eAAe;oBACf,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CACzC,4BAA4B,CAAC,MAAM,CACjC,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CACtC,CACF,CAAC;oBACF,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;oBACvD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAEjC,oBAAoB;oBACpB,IAAI,YAAgC,CAAC;oBACrC,IACE,qBAAqB;wBACrB,uCAAuC,EACvC,CAAC;wBACD,YAAY,GAAG,uCAAuC,CACpD,qBAAqB,CAAC,mBAAmB,EACzC;4BACE,4BAA4B,CAC1B,qBAAqB,CAAC,uBAAuB;iCAC1C,kBAAkB,EACrB,qBAAqB,CAAC,uBAAuB;iCAC1C,iBAAiB,EACpB,qBAAqB,CAAC,mBAAmB,EACzC,OAAO,CACR;yBACF,EACD,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAC1C,CAAC;oBACJ,CAAC;yBAAM,IACL,qBAAqB;wBACrB,2CAA2C,EAC3C,CAAC;wBACD,YAAY,GAAG,IAAI,mCAAmC,CACpD,iCAAiC,CAC/B,qBAAqB,CACnB,qBAAqB,CAAC,MAAM,EAC5B,IAAI,iCAAiC;wBACnC,iDAAiD;wBACjD,EAAE,CACH;6BACE,6BAA6B,CAC5B,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CACxC;6BACA,KAAK,EAAE,CACX,CACF,CACF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,yBAAyB,CACjC,8EAA8E,EAC9E,qBAAqB,CACtB,CAAC;oBACJ,CAAC;oBACD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,eAAe,CAAC,gBAAgB,GAAG;oBACjC,mBAAmB;oBACnB,UAAU;oBACV,UAAU;iBACX,CAAC;YACJ,CAAC;YACD,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAG,uBAAuB,CAC7C,mBAAmB,EACnB,QAAQ,EACR,OAAO,CACR,CAAC;YACF,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;QACzD,CAAC;IACH,CAAC;IACD,oBAAoB;IACpB,sBAAsB,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAE7D,oBAAoB;IACpB,gBAAgB,CAAC,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAE3D,6BAA6B;IAC7B,uBAAuB,CAAC,QAAQ,CAAC,sBAAsB,EAAE,cAAc,EAAE;QACvE,eAAe,EACb,OAAO,EAAE,wBAAwB,IAAI,CAAC,OAAO,CAAC,iBAAiB;YAC7D,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,YAAY;YAC5C,CAAC,CAAC,SAAS;QACf,qBAAqB,EACnB,OAAO,EAAE,wBAAwB,IAAI,CAAC,OAAO,CAAC,iBAAiB;YAC7D,CAAC,CAAC,OAAO,CAAC,qBAAqB;YAC/B,CAAC,CAAC,SAAS;KAChB,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"QueryBuilderProjectionValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts"],"names":[],"mappings":"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"}
@@ -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
+ import { type GraphManagerState, type LambdaFunction, type ValueSpecification, SimpleFunctionExpression } from '@finos/legend-graph';
17
+ import { COLUMN_SORT_TYPE } from '../../../../graph/QueryBuilderMetaModelConst.js';
18
+ import type { QueryResultSetModifierState, SortColumnState } from '../QueryResultSetModifierState.js';
19
+ export type ResultModifierValueSpecOptions = {
20
+ overridingLimit?: number | undefined;
21
+ withDataOverflowCheck?: boolean | undefined;
22
+ };
23
+ export declare abstract class ResultModifierValueSpecificationBuilder {
24
+ _currentResultModifierFunc: SimpleFunctionExpression | undefined;
25
+ readonly graphManagerState: GraphManagerState;
26
+ options: ResultModifierValueSpecOptions | undefined;
27
+ distinct: boolean;
28
+ sortColumns: SortColumnState[] | undefined;
29
+ limit?: number | undefined;
30
+ slice: [number, number] | undefined;
31
+ constructor(graphManagerState: GraphManagerState);
32
+ get currentExpression(): SimpleFunctionExpression;
33
+ abstract get distinctFunctionName(): string;
34
+ abstract get sortFunctionName(): string;
35
+ abstract get limitFunctionName(): string;
36
+ abstract get sliceFunctionName(): string;
37
+ abstract get ascFunctionname(): string;
38
+ abstract get descFunctionName(): string;
39
+ get supportedResultModifiersFunctions(): string[];
40
+ getSortTypeFunctionName(sortType: COLUMN_SORT_TYPE): string;
41
+ setCurrentResultModifierFunction(val: SimpleFunctionExpression): void;
42
+ withOptions(options: ResultModifierValueSpecOptions | undefined): ResultModifierValueSpecificationBuilder;
43
+ withDistinct(distinct: boolean): ResultModifierValueSpecificationBuilder;
44
+ withSortColumns(sortCols: SortColumnState[] | undefined): ResultModifierValueSpecificationBuilder;
45
+ withLimit(limit: number | undefined): ResultModifierValueSpecificationBuilder;
46
+ withSlice(slice: [number, number] | undefined): ResultModifierValueSpecificationBuilder;
47
+ buildDistinctFunction(): void;
48
+ buildSortFunction(sortColumns: SortColumnState[]): void;
49
+ buildSortExpression(sortColumnState: SortColumnState): SimpleFunctionExpression;
50
+ abstract buildColumnValueSpec(colName: string): ValueSpecification;
51
+ buildLimitFunction(limit?: number | undefined): void;
52
+ buildSliceFunction(slice: [number, number]): void;
53
+ build(lambdaFunction: LambdaFunction): LambdaFunction;
54
+ }
55
+ export declare class TDSResultModifierValueSpecificationBuilder extends ResultModifierValueSpecificationBuilder {
56
+ get limitFunctionName(): string;
57
+ get sliceFunctionName(): string;
58
+ get sortFunctionName(): string;
59
+ get distinctFunctionName(): string;
60
+ get ascFunctionname(): string;
61
+ get descFunctionName(): string;
62
+ buildColumnValueSpec(columnName: string): ValueSpecification;
63
+ }
64
+ export declare class TypedResultModifierValueSpecificationBuilder extends ResultModifierValueSpecificationBuilder {
65
+ get limitFunctionName(): string;
66
+ get sliceFunctionName(): string;
67
+ get ascFunctionname(): string;
68
+ get descFunctionName(): string;
69
+ get sortFunctionName(): string;
70
+ get distinctFunctionName(): string;
71
+ buildColumnValueSpec(columnName: string): ValueSpecification;
72
+ }
73
+ export declare const appendResultSetModifier: (resultModifierState: QueryResultSetModifierState, lambdaFunction: LambdaFunction, isTyped: boolean, options?: ResultModifierValueSpecOptions | undefined) => LambdaFunction;
74
+ //# sourceMappingURL=ResultModifierValueSpecificationBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultModifierValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/result-modifier/ResultModifierValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EASvB,wBAAwB,EAIzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAEjB,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EACV,2BAA2B,EAC3B,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAG3C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,8BAAsB,uCAAuC;IAC3D,0BAA0B,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,OAAO,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAEpD,QAAQ,UAAS;IACjB,WAAW,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;gBAExB,iBAAiB,EAAE,iBAAiB;IAIhD,IAAI,iBAAiB,IAAI,wBAAwB,CAKhD;IAED,QAAQ,KAAK,oBAAoB,IAAI,MAAM,CAAC;IAC5C,QAAQ,KAAK,gBAAgB,IAAI,MAAM,CAAC;IACxC,QAAQ,KAAK,iBAAiB,IAAI,MAAM,CAAC;IACzC,QAAQ,KAAK,iBAAiB,IAAI,MAAM,CAAC;IACzC,QAAQ,KAAK,eAAe,IAAI,MAAM,CAAC;IACvC,QAAQ,KAAK,gBAAgB,IAAI,MAAM,CAAC;IAExC,IAAI,iCAAiC,IAAI,MAAM,EAAE,CAOhD;IACD,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM;IAO3D,gCAAgC,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;IAIrE,WAAW,CACT,OAAO,EAAE,8BAA8B,GAAG,SAAS,GAClD,uCAAuC;IAK1C,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,uCAAuC;IAKxE,eAAe,CACb,QAAQ,EAAE,eAAe,EAAE,GAAG,SAAS,GACtC,uCAAuC;IAO1C,SAAS,CACP,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,uCAAuC;IAK1C,SAAS,CACP,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAClC,uCAAuC;IAM1C,qBAAqB,IAAI,IAAI;IAQ7B,iBAAiB,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI;IAevD,mBAAmB,CACjB,eAAe,EAAE,eAAe,GAC/B,wBAAwB;IAY3B,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;IAElE,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS;IA4B7C,kBAAkB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAsBjD,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,cAAc;CAsCtD;AAED,qBAAa,0CAA2C,SAAQ,uCAAuC;IACrG,IAAa,iBAAiB,IAAI,MAAM,CAEvC;IACD,IAAa,iBAAiB,IAAI,MAAM,CAEvC;IACD,IAAa,gBAAgB,IAAI,MAAM,CAEtC;IAED,IAAa,oBAAoB,IAAI,MAAM,CAE1C;IAED,IAAa,eAAe,IAAI,MAAM,CAErC;IACD,IAAa,gBAAgB,IAAI,MAAM,CAEtC;IAEQ,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB;CAGtE;AAED,qBAAa,4CAA6C,SAAQ,uCAAuC;IACvG,IAAa,iBAAiB,IAAI,MAAM,CAEvC;IACD,IAAa,iBAAiB,IAAI,MAAM,CAEvC;IACD,IAAa,eAAe,IAAI,MAAM,CAErC;IACD,IAAa,gBAAgB,IAAI,MAAM,CAEtC;IACD,IAAa,gBAAgB,IAAI,MAAM,CAEtC;IACD,IAAa,oBAAoB,IAAI,MAAM,CAE1C;IAEQ,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB;CAOtE;AAED,eAAO,MAAM,uBAAuB,wBACb,2BAA2B,kBAChC,cAAc,WACrB,OAAO,YACN,8BAA8B,GAAG,SAAS,KACnD,cAeF,CAAC"}
@@ -0,0 +1,213 @@
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
+ import { ColSpec, ColSpecInstanceValue, CollectionInstanceValue, GenericType, GenericTypeExplicitReference, Multiplicity, PrimitiveInstanceValue, PrimitiveType, SimpleFunctionExpression, createPrimitiveInstance_String, extractElementNameFromPath, matchFunctionName, } from '@finos/legend-graph';
17
+ import { COLUMN_SORT_TYPE, QUERY_BUILDER_SUPPORTED_FUNCTIONS, } from '../../../../graph/QueryBuilderMetaModelConst.js';
18
+ import { guaranteeNonNullable } from '@finos/legend-shared';
19
+ export class ResultModifierValueSpecificationBuilder {
20
+ _currentResultModifierFunc;
21
+ graphManagerState;
22
+ options;
23
+ distinct = false;
24
+ sortColumns;
25
+ limit;
26
+ slice;
27
+ constructor(graphManagerState) {
28
+ this.graphManagerState = graphManagerState;
29
+ }
30
+ get currentExpression() {
31
+ return guaranteeNonNullable(this._currentResultModifierFunc, `Current expression needs to be defined to build result modifier`);
32
+ }
33
+ get supportedResultModifiersFunctions() {
34
+ return [
35
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT,
36
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY,
37
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FILTER,
38
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.OLAP_GROUPBY,
39
+ ];
40
+ }
41
+ getSortTypeFunctionName(sortType) {
42
+ return sortType === COLUMN_SORT_TYPE.ASC
43
+ ? this.ascFunctionname
44
+ : this.descFunctionName;
45
+ }
46
+ // builders
47
+ setCurrentResultModifierFunction(val) {
48
+ this._currentResultModifierFunc = val;
49
+ }
50
+ withOptions(options) {
51
+ this.options = options;
52
+ return this;
53
+ }
54
+ withDistinct(distinct) {
55
+ this.distinct = distinct;
56
+ return this;
57
+ }
58
+ withSortColumns(sortCols) {
59
+ if (sortCols?.length) {
60
+ this.sortColumns = sortCols;
61
+ }
62
+ return this;
63
+ }
64
+ withLimit(limit) {
65
+ this.limit = limit;
66
+ return this;
67
+ }
68
+ withSlice(slice) {
69
+ this.slice = slice;
70
+ return this;
71
+ }
72
+ // builder
73
+ buildDistinctFunction() {
74
+ const distinctFunction = new SimpleFunctionExpression(extractElementNameFromPath(this.distinctFunctionName));
75
+ distinctFunction.parametersValues[0] = this.currentExpression;
76
+ this.setCurrentResultModifierFunction(distinctFunction);
77
+ }
78
+ buildSortFunction(sortColumns) {
79
+ const sortFunction = new SimpleFunctionExpression(extractElementNameFromPath(this.sortFunctionName));
80
+ const multiplicity = this.graphManagerState.graph.getMultiplicity(sortColumns.length, sortColumns.length);
81
+ const collection = new CollectionInstanceValue(multiplicity, undefined);
82
+ collection.values = sortColumns.map((e) => this.buildSortExpression(e));
83
+ sortFunction.parametersValues[0] = this.currentExpression;
84
+ sortFunction.parametersValues[1] = collection;
85
+ this.setCurrentResultModifierFunction(sortFunction);
86
+ }
87
+ buildSortExpression(sortColumnState) {
88
+ const sortColumnFunction = new SimpleFunctionExpression(extractElementNameFromPath(this.getSortTypeFunctionName(sortColumnState.sortType)));
89
+ sortColumnFunction.parametersValues[0] = this.buildColumnValueSpec(sortColumnState.columnState.columnName);
90
+ return sortColumnFunction;
91
+ }
92
+ buildLimitFunction(limit) {
93
+ const limitPrimitiveInstanceVal = new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(PrimitiveType.INTEGER)));
94
+ limitPrimitiveInstanceVal.values = [
95
+ Math.min(limit
96
+ ? this.options?.withDataOverflowCheck
97
+ ? limit + 1
98
+ : limit
99
+ : Number.MAX_SAFE_INTEGER, this.options?.overridingLimit
100
+ ? this.options.withDataOverflowCheck
101
+ ? this.options.overridingLimit + 1
102
+ : this.options.overridingLimit
103
+ : Number.MAX_SAFE_INTEGER),
104
+ ];
105
+ const takeFunction = new SimpleFunctionExpression(extractElementNameFromPath(this.limitFunctionName));
106
+ takeFunction.parametersValues[0] = this.currentExpression;
107
+ takeFunction.parametersValues[1] = limitPrimitiveInstanceVal;
108
+ this.setCurrentResultModifierFunction(takeFunction);
109
+ }
110
+ buildSliceFunction(slice) {
111
+ const sliceStart = slice[0];
112
+ const sliceEnd = slice[1];
113
+ const startVal = new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(PrimitiveType.INTEGER)));
114
+ const endVal = new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(PrimitiveType.INTEGER)));
115
+ startVal.values = [sliceStart];
116
+ endVal.values = [sliceEnd];
117
+ const sliceFunction = new SimpleFunctionExpression(extractElementNameFromPath(this.sliceFunctionName));
118
+ sliceFunction.parametersValues = [this.currentExpression, startVal, endVal];
119
+ this.setCurrentResultModifierFunction(sliceFunction);
120
+ }
121
+ build(lambdaFunction) {
122
+ if (lambdaFunction.expressionSequence.length === 1) {
123
+ const func = lambdaFunction.expressionSequence[0];
124
+ if (func instanceof SimpleFunctionExpression) {
125
+ if (matchFunctionName(func.functionName, this.supportedResultModifiersFunctions)) {
126
+ this._currentResultModifierFunc = func;
127
+ // build distinct()
128
+ if (this.distinct) {
129
+ this.buildDistinctFunction();
130
+ }
131
+ // build sort()
132
+ if (this.sortColumns) {
133
+ this.buildSortFunction(this.sortColumns);
134
+ }
135
+ // build take()
136
+ if (this.limit || this.options?.overridingLimit) {
137
+ this.buildLimitFunction(this.limit);
138
+ }
139
+ // build slice()
140
+ if (this.slice) {
141
+ this.buildSliceFunction(this.slice);
142
+ }
143
+ lambdaFunction.expressionSequence[0] = this.currentExpression;
144
+ return lambdaFunction;
145
+ }
146
+ }
147
+ }
148
+ return lambdaFunction;
149
+ }
150
+ }
151
+ export class TDSResultModifierValueSpecificationBuilder extends ResultModifierValueSpecificationBuilder {
152
+ get limitFunctionName() {
153
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_TAKE;
154
+ }
155
+ get sliceFunctionName() {
156
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.SLICE;
157
+ }
158
+ get sortFunctionName() {
159
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_SORT;
160
+ }
161
+ get distinctFunctionName() {
162
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_DISTINCT;
163
+ }
164
+ get ascFunctionname() {
165
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_ASC;
166
+ }
167
+ get descFunctionName() {
168
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_DESC;
169
+ }
170
+ buildColumnValueSpec(columnName) {
171
+ return createPrimitiveInstance_String(columnName);
172
+ }
173
+ }
174
+ export class TypedResultModifierValueSpecificationBuilder extends ResultModifierValueSpecificationBuilder {
175
+ get limitFunctionName() {
176
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_LIMIT;
177
+ }
178
+ get sliceFunctionName() {
179
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_SLICE;
180
+ }
181
+ get ascFunctionname() {
182
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_ASC;
183
+ }
184
+ get descFunctionName() {
185
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_DESC;
186
+ }
187
+ get sortFunctionName() {
188
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_SORT;
189
+ }
190
+ get distinctFunctionName() {
191
+ return QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_DISTINCT;
192
+ }
193
+ buildColumnValueSpec(columnName) {
194
+ const colSpec = new ColSpecInstanceValue(Multiplicity.ONE, undefined);
195
+ const value = new ColSpec();
196
+ value.name = columnName;
197
+ colSpec.values = [value];
198
+ return colSpec;
199
+ }
200
+ }
201
+ export const appendResultSetModifier = (resultModifierState, lambdaFunction, isTyped, options) => {
202
+ const builder = isTyped
203
+ ? new TypedResultModifierValueSpecificationBuilder(resultModifierState.tdsState.queryBuilderState.graphManagerState)
204
+ : new TDSResultModifierValueSpecificationBuilder(resultModifierState.tdsState.queryBuilderState.graphManagerState);
205
+ return builder
206
+ .withOptions(options)
207
+ .withDistinct(resultModifierState.distinct)
208
+ .withSortColumns(resultModifierState.sortColumns)
209
+ .withLimit(resultModifierState.limit)
210
+ .withSlice(resultModifierState.slice)
211
+ .build(lambdaFunction);
212
+ };
213
+ //# sourceMappingURL=ResultModifierValueSpecificationBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultModifierValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/result-modifier/ResultModifierValueSpecificationBuilder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-query-builder",
3
- "version": "4.15.41",
3
+ "version": "4.15.43",
4
4
  "description": "Legend query builder core",
5
5
  "keywords": [
6
6
  "legend",
@@ -42,18 +42,18 @@
42
42
  "test:watch": "jest --watch"
43
43
  },
44
44
  "dependencies": {
45
- "@finos/legend-application": "16.0.20",
46
- "@finos/legend-art": "7.1.77",
47
- "@finos/legend-code-editor": "2.0.36",
48
- "@finos/legend-data-cube": "0.0.43",
49
- "@finos/legend-graph": "32.0.4",
50
- "@finos/legend-lego": "2.0.39",
45
+ "@finos/legend-application": "16.0.21",
46
+ "@finos/legend-art": "7.1.78",
47
+ "@finos/legend-code-editor": "2.0.38",
48
+ "@finos/legend-data-cube": "0.0.45",
49
+ "@finos/legend-graph": "32.0.6",
50
+ "@finos/legend-lego": "2.0.41",
51
51
  "@finos/legend-server-depot": "6.0.77",
52
52
  "@finos/legend-shared": "11.0.0",
53
53
  "@finos/legend-storage": "3.0.119",
54
54
  "@testing-library/dom": "10.4.0",
55
- "@testing-library/react": "16.1.0",
56
- "@types/react": "19.0.7",
55
+ "@testing-library/react": "16.2.0",
56
+ "@types/react": "19.0.8",
57
57
  "@types/react-dom": "19.0.3",
58
58
  "chart.js": "4.4.7",
59
59
  "mathjs": "14.0.1",
@@ -121,7 +121,11 @@ export enum QUERY_BUILDER_SUPPORTED_FUNCTIONS {
121
121
  // Relation
122
122
  RELATION_PROJECT = 'meta::pure::functions::relation::project',
123
123
  RELATION_LIMIT = 'meta::pure::functions::relation::limit',
124
-
124
+ RELATION_ASC = 'meta::pure::functions::relation::ascending',
125
+ RELATION_DESC = 'meta::pure::functions::relation::descending',
126
+ RELATION_DISTINCT = 'meta::pure::functions::relation::distinct',
127
+ RELATION_SORT = 'meta::pure::functions::relation::sort',
128
+ RELATION_SLICE = 'meta::pure::functions::relation::slice',
125
129
  // filter
126
130
  CONTAINS = 'meta::pure::functions::string::contains',
127
131
  ENDS_WITH = 'meta::pure::functions::string::endsWith',
@@ -54,6 +54,7 @@ import {
54
54
  RuntimePointer,
55
55
  PackageableElementExplicitReference,
56
56
  MILESTONING_STEREOTYPE,
57
+ type ColSpecInstanceValue,
57
58
  } from '@finos/legend-graph';
58
59
  import { processTDSPostFilterExpression } from './fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.js';
59
60
  import { processFilterExpression } from './filter/QueryBuilderFilterStateBuilder.js';
@@ -69,6 +70,7 @@ import {
69
70
  processInternalizeExpression,
70
71
  } from './fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js';
71
72
  import {
73
+ processRelationSortDirectionExpression,
72
74
  processTDSColExpression,
73
75
  processTDSDistinctExpression,
74
76
  processTDSProjectExpression,
@@ -669,10 +671,10 @@ export class QueryBuilderValueSpecificationProcessor
669
671
  processTDSColExpression(valueSpecification, this.queryBuilderState);
670
672
  return;
671
673
  } else if (
672
- matchFunctionName(
673
- functionName,
674
+ matchFunctionName(functionName, [
674
675
  QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_TAKE,
675
- )
676
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_LIMIT,
677
+ ])
676
678
  ) {
677
679
  processTDSTakeExpression(
678
680
  valueSpecification,
@@ -725,6 +727,18 @@ export class QueryBuilderValueSpecificationProcessor
725
727
  this.queryBuilderState,
726
728
  );
727
729
  return;
730
+ } else if (
731
+ matchFunctionName(functionName, [
732
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_ASC,
733
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_DESC,
734
+ ])
735
+ ) {
736
+ processRelationSortDirectionExpression(
737
+ valueSpecification,
738
+ this.parentExpression,
739
+ this.queryBuilderState,
740
+ );
741
+ return;
728
742
  } else if (
729
743
  matchFunctionName(
730
744
  functionName,
@@ -994,6 +1008,10 @@ export class QueryBuilderValueSpecificationProcessor
994
1008
  `Can't process col spec array expression with parent expression of function ${this.parentExpression.functionName}()`,
995
1009
  );
996
1010
  }
1011
+
1012
+ visit_ColSpecInstance(valueSpeciciation: ColSpecInstanceValue): void {
1013
+ throw new Error('Method not implemented.');
1014
+ }
997
1015
  }
998
1016
 
999
1017
  export const processParameters = (