@finos/legend-query-builder 1.0.6 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/application/QueryBuilderEvent.d.ts +7 -7
- package/lib/application/QueryBuilderEvent.d.ts.map +1 -1
- package/lib/application/QueryBuilderEvent.js +7 -7
- package/lib/application/QueryBuilderEvent.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js +2 -2
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts +3 -2
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js +53 -13
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js.map +1 -1
- package/lib/graphManager/QueryBuilderSupportedFunctions.d.ts +1 -0
- package/lib/graphManager/QueryBuilderSupportedFunctions.d.ts.map +1 -1
- package/lib/graphManager/QueryBuilderSupportedFunctions.js +1 -0
- package/lib/graphManager/QueryBuilderSupportedFunctions.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +6 -6
- package/lib/stores/QueryBuilderStateBuilder.d.ts +2 -1
- package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js +8 -1
- package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +1 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js +3 -2
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts +49 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +126 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.d.ts +1 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js +85 -4
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts +3 -2
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.js +96 -14
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +6 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
- package/package.json +13 -13
- package/src/application/QueryBuilderEvent.ts +7 -7
- package/src/components/fetch-structure/QueryBuilderFetchStructurePanel.tsx +2 -2
- package/src/components/fetch-structure/QueryBuilderGraphFetchTreePanel.tsx +240 -5
- package/src/graphManager/QueryBuilderSupportedFunctions.ts +1 -0
- package/src/stores/QueryBuilderStateBuilder.ts +20 -0
- package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +2 -0
- package/src/stores/fetch-structure/QueryBuilderFetchStructureState.ts +3 -2
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +158 -0
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.ts +258 -4
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.ts +166 -24
- package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +7 -0
@@ -38,6 +38,7 @@ export declare abstract class QueryBuilderFetchStructureImplementationState impl
|
|
38
38
|
abstract isVariableUsed(variable: VariableExpression): boolean;
|
39
39
|
abstract checkBeforeChangingImplementation(onChange: () => void): void;
|
40
40
|
abstract appendFetchStructure(lambdaFunction: LambdaFunction, options?: LambdaFunctionBuilderOption): void;
|
41
|
+
abstract initialize(): void;
|
41
42
|
abstract get hashCode(): string;
|
42
43
|
get TEMPORARY__showPostFetchStructurePanel(): boolean;
|
43
44
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderFetchStructureImplementationState.d.ts","sourceRoot":"","sources":["../../../src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,0CAA0C,CAAC;AACzG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AACrG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAE5F,oBAAY,8BAA8B;IACxC,sBAAsB,2BAA2B;IACjD,WAAW,gBAAgB;CAC5B;AAED,8BAAsB,6CACpB,YAAW,QAAQ;IAEnB,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;gBAG5D,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,+BAA+B;IAYtD,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC;IAC5B,QAAQ,KAAK,+BAA+B,IAAI,MAAM,EAAE,CAAC;IACzD,QAAQ,KAAK,gBAAgB,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;
|
1
|
+
{"version":3,"file":"QueryBuilderFetchStructureImplementationState.d.ts","sourceRoot":"","sources":["../../../src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,0CAA0C,CAAC;AACzG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AACrG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAE5F,oBAAY,8BAA8B;IACxC,sBAAsB,2BAA2B;IACjD,WAAW,gBAAgB;CAC5B;AAED,8BAAsB,6CACpB,YAAW,QAAQ;IAEnB,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;gBAG5D,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,+BAA+B;IAYtD,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC;IAC5B,QAAQ,KAAK,+BAA+B,IAAI,MAAM,EAAE,CAAC;IACzD,QAAQ,KAAK,gBAAgB,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;IAEtD,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IACvD,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO;IAC5E,QAAQ,CAAC,qBAAqB,IAAI,IAAI;IACtC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,wCAAwC,GAAG,IAAI;IAC5E,QAAQ,CAAC,eAAe,CACtB,KAAK,EAAE,wCAAwC,EAAE,GAChD,IAAI;IACP,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO;IAC9D,QAAQ,CAAC,iCAAiC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IACtE,QAAQ,CAAC,oBAAoB,CAC3B,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,2BAA2B,GACpC,IAAI;IACP,QAAQ,CAAC,UAAU,IAAI,IAAI;IAC3B,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC;IAEhC,IAAI,sCAAsC,IAAI,OAAO,CAEpD;CACF"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderFetchStructureImplementationState.js","sourceRoot":"","sources":["../../../src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAMhD,MAAM,CAAN,IAAY,8BAGX;AAHD,WAAY,8BAA8B;IACxC,mFAAiD,CAAA;IACjD,6DAA2B,CAAA;AAC7B,CAAC,EAHW,8BAA8B,GAA9B,8BAA8B,KAA9B,8BAA8B,QAGzC;AAED,MAAM,OAAgB,6CAA6C;IAGxD,iBAAiB,CAAoB;IACrC,mBAAmB,CAAkC;IAE9D,YACE,iBAAoC,EACpC,mBAAoD;QAEpD,cAAc,CAAC,IAAI,EAAE;YACnB,+BAA+B,EAAE,QAAQ;YACzC,gBAAgB,EAAE,QAAQ;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC;
|
1
|
+
{"version":3,"file":"QueryBuilderFetchStructureImplementationState.js","sourceRoot":"","sources":["../../../src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAMhD,MAAM,CAAN,IAAY,8BAGX;AAHD,WAAY,8BAA8B;IACxC,mFAAiD,CAAA;IACjD,6DAA2B,CAAA;AAC7B,CAAC,EAHW,8BAA8B,GAA9B,8BAA8B,KAA9B,8BAA8B,QAGzC;AAED,MAAM,OAAgB,6CAA6C;IAGxD,iBAAiB,CAAoB;IACrC,mBAAmB,CAAkC;IAE9D,YACE,iBAAoC,EACpC,mBAAoD;QAEpD,cAAc,CAAC,IAAI,EAAE;YACnB,+BAA+B,EAAE,QAAQ;YACzC,gBAAgB,EAAE,QAAQ;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC;IAsBD,IAAI,sCAAsC;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC;IACtD,CAAC;CACF"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderFetchStructureState.d.ts","sourceRoot":"","sources":["../../../src/stores/fetch-structure/QueryBuilderFetchStructureState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EACL,KAAK,gCAAgC,EAEtC,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAEL,KAAK,6CAA6C,EACnD,MAAM,oDAAoD,CAAC;AAE5D,qBAAa,+BAA+B;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,cAAc,EAAE,6CAA6C,CAAC;gBAElD,iBAAiB,EAAE,iBAAiB;IAmBhD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;
|
1
|
+
{"version":3,"file":"QueryBuilderFetchStructureState.d.ts","sourceRoot":"","sources":["../../../src/stores/fetch-structure/QueryBuilderFetchStructureState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EACL,KAAK,gCAAgC,EAEtC,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAEL,KAAK,6CAA6C,EACnD,MAAM,oDAAoD,CAAC;AAE5D,qBAAa,+BAA+B;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,cAAc,EAAE,6CAA6C,CAAC;gBAElD,iBAAiB,EAAE,iBAAiB;IAmBhD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAwBxC,aAAa,CAAC,IAAI,EAAE,gCAAgC,GAAG,IAAI;IAS3D,2BAA2B,CAAC,IAAI,EAAE,gCAAgC,GAAG,IAAI;CAoB1E"}
|
@@ -41,15 +41,16 @@ export class QueryBuilderFetchStructureState {
|
|
41
41
|
switch (type) {
|
42
42
|
case FETCH_STRUCTURE_IMPLEMENTATION.TABULAR_DATA_STRUCTURE: {
|
43
43
|
this.implementation = new QueryBuilderTDSState(this.queryBuilderState, this);
|
44
|
-
|
44
|
+
break;
|
45
45
|
}
|
46
46
|
case FETCH_STRUCTURE_IMPLEMENTATION.GRAPH_FETCH: {
|
47
47
|
this.implementation = new QueryBuilderGraphFetchTreeState(this.queryBuilderState, this);
|
48
|
-
|
48
|
+
break;
|
49
49
|
}
|
50
50
|
default:
|
51
51
|
throw new UnsupportedOperationError(`Can't change fetch-structure implementation to unsupported type: '${type}'`);
|
52
52
|
}
|
53
|
+
this.implementation.initialize();
|
53
54
|
}
|
54
55
|
fetchProperty(node) {
|
55
56
|
if (node instanceof QueryBuilderExplorerTreePropertyNodeData &&
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderFetchStructureState.js","sourceRoot":"","sources":["../../../src/stores/fetch-structure/QueryBuilderFetchStructureState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAEL,wCAAwC,GACzC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EACL,8BAA8B,GAE/B,MAAM,oDAAoD,CAAC;AAE5D,MAAM,OAAO,+BAA+B;IACjC,iBAAiB,CAAoB;IAC9C,cAAc,CAAgD;IAE9D,YAAY,iBAAoC;QAC9C,cAAc,CAAC,IAAI,EAAE;YACnB,cAAc,EAAE,UAAU;YAC1B,oBAAoB,EAAE,MAAM;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C;;;;;WAKG;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAC5C,IAAI,CAAC,iBAAiB,EACtB,IAAI,CACL,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,IAAY;QAC/B,QAAQ,IAAI,EAAE;YACZ,KAAK,8BAA8B,CAAC,sBAAsB,CAAC,CAAC;gBAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAC5C,IAAI,CAAC,iBAAiB,EACtB,IAAI,CACL,CAAC;gBACF,
|
1
|
+
{"version":3,"file":"QueryBuilderFetchStructureState.js","sourceRoot":"","sources":["../../../src/stores/fetch-structure/QueryBuilderFetchStructureState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAEL,wCAAwC,GACzC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EACL,8BAA8B,GAE/B,MAAM,oDAAoD,CAAC;AAE5D,MAAM,OAAO,+BAA+B;IACjC,iBAAiB,CAAoB;IAC9C,cAAc,CAAgD;IAE9D,YAAY,iBAAoC;QAC9C,cAAc,CAAC,IAAI,EAAE;YACnB,cAAc,EAAE,UAAU;YAC1B,oBAAoB,EAAE,MAAM;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C;;;;;WAKG;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAC5C,IAAI,CAAC,iBAAiB,EACtB,IAAI,CACL,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,IAAY;QAC/B,QAAQ,IAAI,EAAE;YACZ,KAAK,8BAA8B,CAAC,sBAAsB,CAAC,CAAC;gBAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAC5C,IAAI,CAAC,iBAAiB,EACtB,IAAI,CACL,CAAC;gBACF,MAAM;aACP;YACD,KAAK,8BAA8B,CAAC,WAAW,CAAC,CAAC;gBAC/C,IAAI,CAAC,cAAc,GAAG,IAAI,+BAA+B,CACvD,IAAI,CAAC,iBAAiB,EACtB,IAAI,CACL,CAAC;gBACF,MAAM;aACP;YACD;gBACE,MAAM,IAAI,yBAAyB,CACjC,qEAAqE,IAAI,GAAG,CAC7E,CAAC;SACL;QACD,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,IAAsC;QAClD,IACE,IAAI,YAAY,wCAAwC;YACxD,CAAC,CAAC,IAAI,CAAC,IAAI,YAAY,KAAK,CAAC,EAC7B;YACA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACzC;IACH,CAAC;IAED,2BAA2B,CAAC,IAAsC;QAChE,IAAI,IAAI,CAAC,IAAI,YAAY,KAAK,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,eAAe;YACjC,2FAA2F;YAC3F,iFAAiF;YACjF,IAAI,CAAC,WAAW;iBACb,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACf,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAChE,OAAO,CACR,CACF;iBACA,MAAM,CAAC,YAAY,CAAC,wCAAwC,CAAC,CAAC;iBAC9D,MAAM,CACL,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,CAAC,SAAS,CAAC,IAAI,YAAY,KAAK,CAAC;gBAClC,SAAS,CAAC,WAAW,CAAC,MAAM,CAC/B,CACJ,CAAC;SACH;IACH,CAAC;CACF"}
|
@@ -14,13 +14,55 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import type { QueryBuilderState } from '../../QueryBuilderState.js';
|
17
|
-
import { type CompilationError, type Class, type LambdaFunction, type VariableExpression } from '@finos/legend-graph';
|
17
|
+
import { type CompilationError, type Class, type LambdaFunction, type VariableExpression, type Binding } from '@finos/legend-graph';
|
18
18
|
import { type QueryBuilderGraphFetchTreeData } from './QueryBuilderGraphFetchTreeUtil.js';
|
19
19
|
import { type QueryBuilderExplorerTreePropertyNodeData } from '../../explorer/QueryBuilderExplorerState.js';
|
20
20
|
import { QueryBuilderFetchStructureImplementationState } from '../QueryBuilderFetchStructureImplementationState.js';
|
21
21
|
import type { QueryBuilderFetchStructureState } from '../QueryBuilderFetchStructureState.js';
|
22
22
|
import type { LambdaFunctionBuilderOption } from '../../QueryBuilderValueSpecificationBuilderHelper.js';
|
23
23
|
import { type Hashable } from '@finos/legend-shared';
|
24
|
+
export declare enum SERIALIZATION_TYPE {
|
25
|
+
PURE = "PURE",
|
26
|
+
EXTERNAL_FORMAT = "EXTERNAL_FORMAT"
|
27
|
+
}
|
28
|
+
export declare class PureSerializationConfig {
|
29
|
+
typeKeyName: string;
|
30
|
+
includeType: boolean;
|
31
|
+
includeEnumType: boolean;
|
32
|
+
removePropertiesWithNullValues: boolean;
|
33
|
+
removePropertiesWithEmptySets: boolean;
|
34
|
+
fullyQualifiedTypePath: boolean;
|
35
|
+
includeObjectReference: boolean;
|
36
|
+
constructor();
|
37
|
+
setTypeName(val: string): void;
|
38
|
+
setIncludeType(val: boolean): void;
|
39
|
+
setInclueEnumType(val: boolean): void;
|
40
|
+
setRemovePropertiesWithNullValues(val: boolean): void;
|
41
|
+
setRemovePropertiesWithEmptySets(val: boolean): void;
|
42
|
+
setFullyQualifiedTypePath(val: boolean): void;
|
43
|
+
setIncludeObjectReference(val: boolean): void;
|
44
|
+
}
|
45
|
+
export declare abstract class GraphFetchSerializationState {
|
46
|
+
readonly queryBuilderGraphFetchTreeState: QueryBuilderGraphFetchTreeState;
|
47
|
+
constructor(graphFetchTreeState: QueryBuilderGraphFetchTreeState);
|
48
|
+
abstract getLabel(): string;
|
49
|
+
}
|
50
|
+
export declare class GraphFetchPureSerializationState extends GraphFetchSerializationState {
|
51
|
+
config: PureSerializationConfig | undefined;
|
52
|
+
configModal: boolean;
|
53
|
+
constructor(graphFetchTreeState: QueryBuilderGraphFetchTreeState);
|
54
|
+
setConfig(value: PureSerializationConfig | undefined): void;
|
55
|
+
setConfigModal(val: boolean): void;
|
56
|
+
getLabel(): string;
|
57
|
+
}
|
58
|
+
export declare class GraphFetchExternalFormatSerializationState extends GraphFetchSerializationState {
|
59
|
+
targetBinding: Binding;
|
60
|
+
treeData: QueryBuilderGraphFetchTreeData | undefined;
|
61
|
+
constructor(graphFetchTreeState: QueryBuilderGraphFetchTreeState, targetBinding: Binding, treeData: QueryBuilderGraphFetchTreeData | undefined);
|
62
|
+
setBinding(value: Binding): void;
|
63
|
+
setGraphFetchTree(val: QueryBuilderGraphFetchTreeData | undefined): void;
|
64
|
+
getLabel(): string;
|
65
|
+
}
|
24
66
|
export declare class QueryBuilderGraphFetchTreeState extends QueryBuilderFetchStructureImplementationState implements Hashable {
|
25
67
|
treeData?: QueryBuilderGraphFetchTreeData | undefined;
|
26
68
|
/**
|
@@ -29,10 +71,16 @@ export declare class QueryBuilderGraphFetchTreeState extends QueryBuilderFetchSt
|
|
29
71
|
* Hence we default this to `false` for graph fetch to work universally.
|
30
72
|
*/
|
31
73
|
isChecked: boolean;
|
74
|
+
/**
|
75
|
+
* Used to describe how the graph fetch tree is serialized to the final result set
|
76
|
+
*/
|
77
|
+
serializationState: GraphFetchSerializationState;
|
32
78
|
constructor(queryBuilderState: QueryBuilderState, fetchStructureState: QueryBuilderFetchStructureState);
|
33
79
|
get type(): string;
|
34
80
|
get usedExplorerTreePropertyNodeIDs(): string[];
|
35
81
|
get validationIssues(): string[] | undefined;
|
82
|
+
initialize(): void;
|
83
|
+
setSerializationState(val: GraphFetchSerializationState): void;
|
36
84
|
setGraphFetchTree(val: QueryBuilderGraphFetchTreeData | undefined): void;
|
37
85
|
setChecked(val: boolean): void;
|
38
86
|
private updateTreeData;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderGraphFetchTreeState.d.ts","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,kBAAkB,
|
1
|
+
{"version":3,"file":"QueryBuilderGraphFetchTreeState.d.ts","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts"],"names":[],"mappings":"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"}
|
@@ -23,6 +23,117 @@ import { appendGraphFetch } from './QueryBuilderGraphFetchTreeValueSpecification
|
|
23
23
|
import { guaranteeNonNullable, hashArray, } from '@finos/legend-shared';
|
24
24
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../graphManager/QueryBuilderHashUtils.js';
|
25
25
|
import { isValueExpressionReferencedInValue } from '../../QueryBuilderValueSpecificationHelper.js';
|
26
|
+
export var SERIALIZATION_TYPE;
|
27
|
+
(function (SERIALIZATION_TYPE) {
|
28
|
+
SERIALIZATION_TYPE["PURE"] = "PURE";
|
29
|
+
SERIALIZATION_TYPE["EXTERNAL_FORMAT"] = "EXTERNAL_FORMAT";
|
30
|
+
})(SERIALIZATION_TYPE = SERIALIZATION_TYPE || (SERIALIZATION_TYPE = {}));
|
31
|
+
const DEFAULT_PURE_CONFIG_TYPE_NAME = '@type';
|
32
|
+
export class PureSerializationConfig {
|
33
|
+
typeKeyName;
|
34
|
+
includeType;
|
35
|
+
includeEnumType;
|
36
|
+
removePropertiesWithNullValues;
|
37
|
+
removePropertiesWithEmptySets;
|
38
|
+
fullyQualifiedTypePath;
|
39
|
+
includeObjectReference;
|
40
|
+
constructor() {
|
41
|
+
// default values
|
42
|
+
this.typeKeyName = DEFAULT_PURE_CONFIG_TYPE_NAME;
|
43
|
+
this.includeType = true;
|
44
|
+
this.includeEnumType = true;
|
45
|
+
this.removePropertiesWithNullValues = true;
|
46
|
+
this.removePropertiesWithEmptySets = false;
|
47
|
+
this.fullyQualifiedTypePath = true;
|
48
|
+
this.includeObjectReference = false;
|
49
|
+
makeObservable(this, {
|
50
|
+
typeKeyName: observable,
|
51
|
+
includeType: observable,
|
52
|
+
includeEnumType: observable,
|
53
|
+
removePropertiesWithNullValues: observable,
|
54
|
+
removePropertiesWithEmptySets: observable,
|
55
|
+
fullyQualifiedTypePath: observable,
|
56
|
+
includeObjectReference: observable,
|
57
|
+
setTypeName: action,
|
58
|
+
setIncludeObjectReference: action,
|
59
|
+
setIncludeType: action,
|
60
|
+
setFullyQualifiedTypePath: action,
|
61
|
+
setRemovePropertiesWithEmptySets: action,
|
62
|
+
setInclueEnumType: action,
|
63
|
+
setRemovePropertiesWithNullValues: action,
|
64
|
+
});
|
65
|
+
}
|
66
|
+
setTypeName(val) {
|
67
|
+
this.typeKeyName = val;
|
68
|
+
}
|
69
|
+
setIncludeType(val) {
|
70
|
+
this.includeType = val;
|
71
|
+
}
|
72
|
+
setInclueEnumType(val) {
|
73
|
+
this.includeEnumType = val;
|
74
|
+
}
|
75
|
+
setRemovePropertiesWithNullValues(val) {
|
76
|
+
this.removePropertiesWithNullValues = val;
|
77
|
+
}
|
78
|
+
setRemovePropertiesWithEmptySets(val) {
|
79
|
+
this.removePropertiesWithEmptySets = val;
|
80
|
+
}
|
81
|
+
setFullyQualifiedTypePath(val) {
|
82
|
+
this.fullyQualifiedTypePath = val;
|
83
|
+
}
|
84
|
+
setIncludeObjectReference(val) {
|
85
|
+
this.includeObjectReference = val;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
export class GraphFetchSerializationState {
|
89
|
+
queryBuilderGraphFetchTreeState;
|
90
|
+
constructor(graphFetchTreeState) {
|
91
|
+
this.queryBuilderGraphFetchTreeState = graphFetchTreeState;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
export class GraphFetchPureSerializationState extends GraphFetchSerializationState {
|
95
|
+
config;
|
96
|
+
configModal = false;
|
97
|
+
constructor(graphFetchTreeState) {
|
98
|
+
super(graphFetchTreeState);
|
99
|
+
makeObservable(this, {
|
100
|
+
config: observable,
|
101
|
+
configModal: observable,
|
102
|
+
setConfigModal: action,
|
103
|
+
});
|
104
|
+
}
|
105
|
+
setConfig(value) {
|
106
|
+
this.config = value;
|
107
|
+
}
|
108
|
+
setConfigModal(val) {
|
109
|
+
this.configModal = val;
|
110
|
+
}
|
111
|
+
getLabel() {
|
112
|
+
return SERIALIZATION_TYPE.PURE;
|
113
|
+
}
|
114
|
+
}
|
115
|
+
export class GraphFetchExternalFormatSerializationState extends GraphFetchSerializationState {
|
116
|
+
targetBinding;
|
117
|
+
treeData;
|
118
|
+
constructor(graphFetchTreeState, targetBinding, treeData) {
|
119
|
+
super(graphFetchTreeState);
|
120
|
+
makeObservable(this, {
|
121
|
+
targetBinding: observable,
|
122
|
+
treeData: observable.ref,
|
123
|
+
});
|
124
|
+
this.targetBinding = targetBinding;
|
125
|
+
this.treeData = treeData;
|
126
|
+
}
|
127
|
+
setBinding(value) {
|
128
|
+
this.targetBinding = value;
|
129
|
+
}
|
130
|
+
setGraphFetchTree(val) {
|
131
|
+
this.treeData = val;
|
132
|
+
}
|
133
|
+
getLabel() {
|
134
|
+
return SERIALIZATION_TYPE.EXTERNAL_FORMAT;
|
135
|
+
}
|
136
|
+
}
|
26
137
|
export class QueryBuilderGraphFetchTreeState extends QueryBuilderFetchStructureImplementationState {
|
27
138
|
treeData;
|
28
139
|
/**
|
@@ -31,17 +142,26 @@ export class QueryBuilderGraphFetchTreeState extends QueryBuilderFetchStructureI
|
|
31
142
|
* Hence we default this to `false` for graph fetch to work universally.
|
32
143
|
*/
|
33
144
|
isChecked = false;
|
145
|
+
/**
|
146
|
+
* Used to describe how the graph fetch tree is serialized to the final result set
|
147
|
+
*/
|
148
|
+
serializationState;
|
34
149
|
constructor(queryBuilderState, fetchStructureState) {
|
35
150
|
super(queryBuilderState, fetchStructureState);
|
36
151
|
makeObservable(this, {
|
37
152
|
treeData: observable.ref,
|
38
153
|
isChecked: observable,
|
154
|
+
serializationState: observable,
|
39
155
|
TEMPORARY__showPostFetchStructurePanel: computed,
|
40
156
|
setGraphFetchTree: action,
|
157
|
+
setSerializationState: action,
|
41
158
|
setChecked: action,
|
159
|
+
initialize: action,
|
42
160
|
});
|
43
161
|
// try to initialize the graph-fetch tree data using the setup class
|
44
162
|
this.updateTreeData(this.queryBuilderState.class);
|
163
|
+
// we will default to standard pure serialization with no config
|
164
|
+
this.serializationState = new GraphFetchPureSerializationState(this);
|
45
165
|
}
|
46
166
|
get type() {
|
47
167
|
return FETCH_STRUCTURE_IMPLEMENTATION.GRAPH_FETCH;
|
@@ -87,6 +207,12 @@ export class QueryBuilderGraphFetchTreeState extends QueryBuilderFetchStructureI
|
|
87
207
|
get validationIssues() {
|
88
208
|
return undefined;
|
89
209
|
}
|
210
|
+
initialize() {
|
211
|
+
this.queryBuilderState.filterState.setShowPanel(true);
|
212
|
+
}
|
213
|
+
setSerializationState(val) {
|
214
|
+
this.serializationState = val;
|
215
|
+
}
|
90
216
|
setGraphFetchTree(val) {
|
91
217
|
this.treeData = val;
|
92
218
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderGraphFetchTreeState.js","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EAKL,mCAAmC,EACnC,kBAAkB,EAClB,kBAAkB,
|
1
|
+
{"version":3,"file":"QueryBuilderGraphFetchTreeState.js","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EAKL,mCAAmC,EACnC,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,kCAAkC,EAClC,iCAAiC,GAElC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,8BAA8B,EAC9B,6CAA6C,GAC9C,MAAM,qDAAqD,CAAC;AAE7D,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0DAA0D,CAAC;AAC5F,OAAO,EACL,oBAAoB,EACpB,SAAS,GAEV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,kCAAkC,EAAE,MAAM,+CAA+C,CAAC;AAEnG,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,yDAAmC,CAAA;AACrC,CAAC,EAHW,kBAAkB,GAAlB,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAE9C,MAAM,OAAO,uBAAuB;IAClC,WAAW,CAAS;IACpB,WAAW,CAAU;IACrB,eAAe,CAAU;IACzB,8BAA8B,CAAU;IACxC,6BAA6B,CAAU;IACvC,sBAAsB,CAAU;IAChC,sBAAsB,CAAU;IAEhC;QACE,iBAAiB;QACjB,IAAI,CAAC,WAAW,GAAG,6BAA6B,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;QAC3C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,cAAc,CAAC,IAAI,EAAE;YACnB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,UAAU;YACvB,eAAe,EAAE,UAAU;YAC3B,8BAA8B,EAAE,UAAU;YAC1C,6BAA6B,EAAE,UAAU;YACzC,sBAAsB,EAAE,UAAU;YAClC,sBAAsB,EAAE,UAAU;YAClC,WAAW,EAAE,MAAM;YACnB,yBAAyB,EAAE,MAAM;YACjC,cAAc,EAAE,MAAM;YACtB,yBAAyB,EAAE,MAAM;YACjC,gCAAgC,EAAE,MAAM;YACxC,iBAAiB,EAAE,MAAM;YACzB,iCAAiC,EAAE,MAAM;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,GAAY;QACzB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,iBAAiB,CAAC,GAAY;QAC5B,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;IAC7B,CAAC;IAED,iCAAiC,CAAC,GAAY;QAC5C,IAAI,CAAC,8BAA8B,GAAG,GAAG,CAAC;IAC5C,CAAC;IAED,gCAAgC,CAAC,GAAY;QAC3C,IAAI,CAAC,6BAA6B,GAAG,GAAG,CAAC;IAC3C,CAAC;IAED,yBAAyB,CAAC,GAAY;QACpC,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;IACpC,CAAC;IAED,yBAAyB,CAAC,GAAY;QACpC,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAgB,4BAA4B;IACvC,+BAA+B,CAAkC;IAE1E,YAAY,mBAAoD;QAC9D,IAAI,CAAC,+BAA+B,GAAG,mBAAmB,CAAC;IAC7D,CAAC;CAGF;AAED,MAAM,OAAO,gCAAiC,SAAQ,4BAA4B;IAChF,MAAM,CAAsC;IAC5C,WAAW,GAAG,KAAK,CAAC;IAEpB,YAAY,mBAAoD;QAC9D,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,cAAc,CAAC,IAAI,EAAE;YACnB,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,UAAU;YACvB,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,KAA0C;QAClD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,cAAc,CAAC,GAAY;QACzB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAEQ,QAAQ;QACf,OAAO,kBAAkB,CAAC,IAAI,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,0CAA2C,SAAQ,4BAA4B;IAC1F,aAAa,CAAU;IACvB,QAAQ,CAA6C;IAErD,YACE,mBAAoD,EACpD,aAAsB,EACtB,QAAoD;QAEpD,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,cAAc,CAAC,IAAI,EAAE;YACnB,aAAa,EAAE,UAAU;YACzB,QAAQ,EAAE,UAAU,CAAC,GAAG;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,KAAc;QACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,iBAAiB,CAAC,GAA+C;QAC/D,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACtB,CAAC;IAEQ,QAAQ;QACf,OAAO,kBAAkB,CAAC,eAAe,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,+BACX,SAAQ,6CAA6C;IAGrD,QAAQ,CAA8C;IACtD;;;;OAIG;IACH,SAAS,GAAG,KAAK,CAAC;IAElB;;OAEG;IACH,kBAAkB,CAA+B;IAEjD,YACE,iBAAoC,EACpC,mBAAoD;QAEpD,KAAK,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QAE9C,cAAc,CAAC,IAAI,EAAE;YACnB,QAAQ,EAAE,UAAU,CAAC,GAAG;YACxB,SAAS,EAAE,UAAU;YACrB,kBAAkB,EAAE,UAAU;YAC9B,sCAAsC,EAAE,QAAQ;YAChD,iBAAiB,EAAE,MAAM;YACzB,qBAAqB,EAAE,MAAM;YAC7B,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;QAEH,oEAAoE;QACpE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClD,gEAAgE;QAChE,IAAI,CAAC,kBAAkB,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,IAAI;QACN,OAAO,8BAA8B,CAAC,WAAW,CAAC;IACpD,CAAC;IAED,IAAI,+BAA+B;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,EAAE,CAAC;SACX;QACD,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1D,MAAM,GAAG,GAAa,EAAE,CAAC;QAEzB,oCAAoC;QACpC,MAAM,cAAc,GAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/D,OAAO,cAAc,CAAC,MAAM,EAAE;YAC5B,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,EAAE;gBACT,SAAS;aACV;YACD,IAAI,MAAc,CAAC;YACnB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ;gBAChC,CAAC,CAAC,oFAAoF;oBACpF,oBAAoB,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClE,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,cAAc,GAAG,kCAAkC,CACvD,YAAY,EACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAC9B,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACrB,MAAM,GAAG,iCAAiC,CACxC,cAAc,EACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAC7B,CAAC;gBACF,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;qBACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;qBAC/B,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAClB,GAAG,CAAC,IAAI,CACN,iCAAiC,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAC/D,CACF,CAAC;aACL;iBAAM;gBACL,MAAM,GAAG,cAAc,CAAC;aACzB;YACD,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAE7C,kCAAkC;YAClC,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SACrE;QAED,eAAe;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAEQ,UAAU;QACjB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,qBAAqB,CAAC,GAAiC;QACrD,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;IAChC,CAAC;IAED,iBAAiB,CAAC,GAA+C;QAC/D,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,GAAY;QACrB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IAEO,cAAc,CAAC,MAAyB;QAC9C,IAAI,CAAC,iBAAiB,CACpB,MAAM;YACJ,CAAC,CAAC,uBAAuB,CACrB,IAAI,kBAAkB,CACpB,mCAAmC,CAAC,MAAM,CAAC,MAAM,CAAC,CACnD,CACF;YACH,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,MAAyB;QACrC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,oBAAoB,CAClB,cAA8B,EAC9B,OAAqC;QAErC,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CACT,IAA8C,EAC9C,OAEC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,aAAa,CACvE,wEAAwE,CACzE,CAAC;YACF,OAAO;SACR;QACD,2BAA2B,CACzB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EACxD,IAAI,EACJ,IAAI,CAAC,iBAAiB,CACvB,CAAC;QACF,IAAI,OAAO,EAAE,eAAe,EAAE;YAC5B,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,sBAAsB,CAAC,gBAAkC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;QACnB,OAAO;IACT,CAAC;IAED,aAAa,CAAC,IAA8C;QAC1D,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,eAAe,CAAC,KAAiD;QAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,aAAa,CACvE,wEAAwE,CACzE,CAAC;YACF,OAAO;SACR;QACD,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,iBAAiB,CAAC;YACrB,GAAG,IAAI,CAAC,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC,CAAC,QAAoB;QACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE;YACjC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,YAAY,CAAC,kBAAkB,CAAC;gBACtE,OAAO,EACL,mGAAmG;gBACrG,IAAI,EAAE,eAAe,CAAC,OAAO;gBAC7B,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,SAAS;wBAChB,IAAI,EAAE,qBAAqB,CAAC,oBAAoB;wBAChD,OAAO,EACL,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,mBAAmB,CACzD,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAE,CACvB;qBACJ;oBACD;wBACE,KAAK,EAAE,QAAQ;wBACf,IAAI,EAAE,qBAAqB,CAAC,OAAO;wBACnC,OAAO,EAAE,IAAI;qBACd;iBACF;aACF,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,EAAE,CAAC;SACZ;IACH,CAAC;IAED,cAAc,CAAC,QAA4B;QACzC,OAAO,OAAO,CACZ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,kCAAkC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAChD,CACF,CACF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC;YACf,4BAA4B,CAAC,iBAAiB;YAC9C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACzB,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;CACF"}
|
@@ -17,4 +17,5 @@ import { type LambdaFunction, SimpleFunctionExpression } from '@finos/legend-gra
|
|
17
17
|
import type { QueryBuilderState } from '../../QueryBuilderState.js';
|
18
18
|
export declare const processGraphFetchExpression: (expression: SimpleFunctionExpression, queryBuilderState: QueryBuilderState, parentLambda: LambdaFunction) => void;
|
19
19
|
export declare const processGraphFetchSerializeExpression: (expression: SimpleFunctionExpression, queryBuilderState: QueryBuilderState, parentLambda: LambdaFunction) => void;
|
20
|
+
export declare const processGraphFetchExternalizeExpression: (expression: SimpleFunctionExpression, queryBuilderState: QueryBuilderState, parentLambda: LambdaFunction) => void;
|
20
21
|
//# sourceMappingURL=QueryBuilderGraphFetchTreeStateBuilder.d.ts.map
|
package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderGraphFetchTreeStateBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
1
|
+
{"version":3,"file":"QueryBuilderGraphFetchTreeStateBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAIL,KAAK,cAAc,EAInB,wBAAwB,EAWzB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAYpE,eAAO,MAAM,2BAA2B,eAC1B,wBAAwB,qBACjB,iBAAiB,gBACtB,cAAc,KAC3B,IA0CF,CAAC;AA+DF,eAAO,MAAM,oCAAoC,eACnC,wBAAwB,qBACjB,iBAAiB,gBACtB,cAAc,KAC3B,IA0HF,CAAC;AAEF,eAAO,MAAM,sCAAsC,eACrC,wBAAwB,qBACjB,iBAAiB,gBACtB,cAAc,KAC3B,IA2FF,CAAC"}
|
@@ -13,13 +13,14 @@
|
|
13
13
|
* See the License for the specific language governing permissions and
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
|
-
import { GraphFetchTreeInstanceValue, matchFunctionName, RootGraphFetchTree, SimpleFunctionExpression, } from '@finos/legend-graph';
|
17
|
-
import { assertTrue, guaranteeType } from '@finos/legend-shared';
|
16
|
+
import { PrimitiveInstanceValue, PRIMITIVE_TYPE, GraphFetchTreeInstanceValue, matchFunctionName, RootGraphFetchTree, SimpleFunctionExpression, InstanceValue, PackageableElementReference, Binding, SUPPORTED_FUNCTIONS, Class, PURE_SERIALIZE_CONFIG_CLASS, KeyExpressionInstanceValue, CollectionInstanceValue, getClassProperty, PrimitiveType, } from '@finos/legend-graph';
|
17
|
+
import { assertIsBoolean, assertIsString, assertTrue, guaranteeIsString, guaranteeNonNullable, guaranteeType, } from '@finos/legend-shared';
|
18
18
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graphManager/QueryBuilderSupportedFunctions.js';
|
19
19
|
import { QueryBuilderValueSpecificationProcessor } from '../../QueryBuilderStateBuilder.js';
|
20
20
|
import { FETCH_STRUCTURE_IMPLEMENTATION } from '../QueryBuilderFetchStructureImplementationState.js';
|
21
|
-
import { QueryBuilderGraphFetchTreeState } from './QueryBuilderGraphFetchTreeState.js';
|
21
|
+
import { GraphFetchExternalFormatSerializationState, GraphFetchPureSerializationState, PureSerializationConfig, QueryBuilderGraphFetchTreeState, } from './QueryBuilderGraphFetchTreeState.js';
|
22
22
|
import { buildGraphFetchTreeData } from './QueryBuilderGraphFetchTreeUtil.js';
|
23
|
+
import {} from 'mobx';
|
23
24
|
export const processGraphFetchExpression = (expression, queryBuilderState, parentLambda) => {
|
24
25
|
const functionName = expression.functionName;
|
25
26
|
// check parameters
|
@@ -38,11 +39,39 @@ export const processGraphFetchExpression = (expression, queryBuilderState, paren
|
|
38
39
|
graphFetchTreeState.setChecked(matchFunctionName(expression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.GRAPH_FETCH_CHECKED));
|
39
40
|
}
|
40
41
|
};
|
42
|
+
// Dynamically sets key values of config
|
43
|
+
// TODO we can further enhance this by making configInstance just a list of key value pairs and using class config definition to render in query builder
|
44
|
+
const processKeyExpressionValueOnSerializationConfig = (keyExpression, configInstance, configClassDef, idx) => {
|
45
|
+
// initial checks
|
46
|
+
const expressionKey = guaranteeType(keyExpression.key, PrimitiveInstanceValue, `Can't process serialize() expression: serialization config key expression ${idx} key expected to be a primitive value`);
|
47
|
+
assertTrue(expressionKey.genericType.value.rawType.path === PRIMITIVE_TYPE.STRING, `Can't process serialize() expression: serialization config key expression ${idx} key expected to be a primitive string value`);
|
48
|
+
const keyValue = guaranteeIsString(expressionKey.values[0], `Can't process serialize() expression: serialization config key expression ${idx} expected to be a non-nullable primitive string value`);
|
49
|
+
// check instance
|
50
|
+
const properties = Object.getOwnPropertyNames(configInstance);
|
51
|
+
guaranteeNonNullable(properties.find((prop) => prop === keyValue), `Property name '${keyValue}' not defined in serialization config, accepted properties are ${properties.join(',')}`);
|
52
|
+
// check class
|
53
|
+
const _classProperty = getClassProperty(configClassDef, keyValue);
|
54
|
+
const _classType = guaranteeType(_classProperty.genericType.value.rawType, PrimitiveType, `Only primitive types suppported for config. Property ${keyValue} for class ${PURE_SERIALIZE_CONFIG_CLASS} is of type ${_classProperty.genericType.value.rawType.path}`);
|
55
|
+
const expressionValue = guaranteeNonNullable(guaranteeType(keyExpression.expression, PrimitiveInstanceValue, `Can't process serialize() expression: config key expression's value expected to be a primitive instance value`).values[0], `Can't process serialize() expression: config key expression's value expected to be a non nullable primitive value`);
|
56
|
+
// TODO move to separate method and make it more robust
|
57
|
+
switch (_classType.path) {
|
58
|
+
case PRIMITIVE_TYPE.STRING:
|
59
|
+
assertIsString(expressionValue);
|
60
|
+
break;
|
61
|
+
case PRIMITIVE_TYPE.BOOLEAN:
|
62
|
+
assertIsBoolean(expressionValue);
|
63
|
+
break;
|
64
|
+
default:
|
65
|
+
return;
|
66
|
+
}
|
67
|
+
configInstance[keyValue] = expressionValue;
|
68
|
+
};
|
41
69
|
export const processGraphFetchSerializeExpression = (expression, queryBuilderState, parentLambda) => {
|
42
70
|
// update fetch-structure
|
43
71
|
queryBuilderState.fetchStructureState.changeImplementation(FETCH_STRUCTURE_IMPLEMENTATION.GRAPH_FETCH);
|
44
72
|
// check parameters
|
45
|
-
assertTrue(expression.parametersValues.length === 2
|
73
|
+
assertTrue(expression.parametersValues.length === 2 ||
|
74
|
+
expression.parametersValues.length === 3, `Can't process serialize() expression: serialize() expects 1 or 2 argument`);
|
46
75
|
// check preceding expression
|
47
76
|
const precedingExpression = guaranteeType(expression.parametersValues[0], SimpleFunctionExpression, `Can't process serialize() expression: only support serialize() immediately following an expression`);
|
48
77
|
assertTrue(matchFunctionName(precedingExpression.functionName, [
|
@@ -57,6 +86,58 @@ export const processGraphFetchSerializeExpression = (expression, queryBuilderSta
|
|
57
86
|
const graphFetchTree = guaranteeType(expression.parametersValues[1], GraphFetchTreeInstanceValue, `Can't process serialize() expression: serialize() graph-fetch is missing`);
|
58
87
|
const graphFetchTreeRoot = guaranteeType(graphFetchTree.values[0], RootGraphFetchTree, `Can't process serialize() expression: serialize() graph-fetch tree root is missing`);
|
59
88
|
graphFetchTreeState.setGraphFetchTree(buildGraphFetchTreeData(graphFetchTreeRoot));
|
89
|
+
const serializeConfigParameter = expression.parametersValues[2];
|
90
|
+
if (serializeConfigParameter) {
|
91
|
+
const pureConfigFunction = guaranteeType(serializeConfigParameter, SimpleFunctionExpression, `Can't process serialize() expression: serialize() function expects a function to configure custom serialization`);
|
92
|
+
assertTrue(matchFunctionName(pureConfigFunction.functionName, [
|
93
|
+
SUPPORTED_FUNCTIONS.NEW,
|
94
|
+
]), `Can't process serialize() expression: config expects 'new' function instaniate new config class`);
|
95
|
+
const pureSerializationState = guaranteeType(graphFetchTreeState.serializationState, GraphFetchPureSerializationState, `Can't process serialize() expression: serialization state expected to be of type pure with serialize()`);
|
96
|
+
// first para: config class
|
97
|
+
const configClass = guaranteeType(guaranteeType(guaranteeType(pureConfigFunction.parametersValues[0], InstanceValue, `Can't process serialize() expression: serialization config expects first param to be an instance value`).values[0], PackageableElementReference, `Can't process serialize() expression: serialization config expects first param to be a packageable element`).value, Class, `Can't process serialize() expression: serialization config expects first param to be a class`);
|
98
|
+
assertTrue(configClass.path === PURE_SERIALIZE_CONFIG_CLASS, `Can't process serialize() expression: serialiaztion config class expected to be ${PURE_SERIALIZE_CONFIG_CLASS}, got : ${configClass.path}`);
|
99
|
+
// 2nd param: empty string
|
100
|
+
// TODO: Investigate why `new` function as the second input as empty string
|
101
|
+
// 2rd param: key expression values representing property values of config
|
102
|
+
const collectionInstanceValue = guaranteeType(pureConfigFunction.parametersValues[2], CollectionInstanceValue, `Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions`);
|
103
|
+
const serializationConfig = new PureSerializationConfig();
|
104
|
+
collectionInstanceValue.values.forEach((val, idx) => {
|
105
|
+
const keyExpInstance = guaranteeType(val, KeyExpressionInstanceValue, `Can't process serialize() expression: collection instance value expects value ${idx + 1} to be key expression instance `);
|
106
|
+
const keyExpression = guaranteeNonNullable(keyExpInstance.values[0], `Can't process serialize() expression: serialization config key expression ${idx} expected to non null`);
|
107
|
+
processKeyExpressionValueOnSerializationConfig(keyExpression, serializationConfig, configClass, idx);
|
108
|
+
});
|
109
|
+
pureSerializationState.setConfig(serializationConfig);
|
110
|
+
}
|
111
|
+
}
|
112
|
+
};
|
113
|
+
export const processGraphFetchExternalizeExpression = (expression, queryBuilderState, parentLambda) => {
|
114
|
+
// update fetch-structure
|
115
|
+
queryBuilderState.fetchStructureState.changeImplementation(FETCH_STRUCTURE_IMPLEMENTATION.GRAPH_FETCH);
|
116
|
+
// check parameters
|
117
|
+
assertTrue(expression.parametersValues.length === 3, `Can't process externalize() expression: externalize() expects 2 argument`);
|
118
|
+
const precedingExpression = guaranteeType(expression.parametersValues[0], SimpleFunctionExpression, `Can't process externalize() expression: only support externalize() immediately following an expression`);
|
119
|
+
// build preceding expression
|
120
|
+
assertTrue(matchFunctionName(precedingExpression.functionName, [
|
121
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.GRAPH_FETCH,
|
122
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.GRAPH_FETCH_CHECKED,
|
123
|
+
]), `Can't process externalize() expression: only support externalize() in graph-fetch expression`);
|
124
|
+
QueryBuilderValueSpecificationProcessor.process(precedingExpression, parentLambda, queryBuilderState);
|
125
|
+
// build state
|
126
|
+
if (queryBuilderState.fetchStructureState.implementation instanceof
|
127
|
+
QueryBuilderGraphFetchTreeState) {
|
128
|
+
const graphFetchTreeState = queryBuilderState.fetchStructureState.implementation;
|
129
|
+
// TODO: move to graph fetch processing once we completely deattach serialize graph fetch from main graphfetch tree
|
130
|
+
const mainGraphFetchTree = guaranteeType(precedingExpression.parametersValues[1], GraphFetchTreeInstanceValue, `Can't process graphfetch() expression: externalize() graph-fetch is missing`);
|
131
|
+
const mainGraphFetchTreeRoot = guaranteeType(mainGraphFetchTree.values[0], RootGraphFetchTree, `Can't process graphfetch() expression: graph-fetch tree root is missing`);
|
132
|
+
graphFetchTreeState.setGraphFetchTree(buildGraphFetchTreeData(mainGraphFetchTreeRoot));
|
133
|
+
// build externalizeState
|
134
|
+
const instanceExpression = guaranteeType(expression.parametersValues[1], InstanceValue, `Can't process externalize() expression: only support externalize() with 1st parameter as instance value`);
|
135
|
+
const binding = guaranteeType(guaranteeType(instanceExpression.values[0], PackageableElementReference, `Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value`).value, Binding, `Can't process externalize() expression: only support externalize() with 1st parameter as binding value`);
|
136
|
+
const externalizeState = new GraphFetchExternalFormatSerializationState(graphFetchTreeState, binding, undefined);
|
137
|
+
graphFetchTreeState.setSerializationState(externalizeState);
|
138
|
+
const graphFetchTree = guaranteeType(expression.parametersValues[2], GraphFetchTreeInstanceValue, `Can't process externalize() expression: externalize() graph-fetch is missing`);
|
139
|
+
const graphFetchTreeRoot = guaranteeType(graphFetchTree.values[0], RootGraphFetchTree, `Can't process externalize() expression: externalize() graph-fetch tree root is missing`);
|
140
|
+
externalizeState.setGraphFetchTree(buildGraphFetchTreeData(graphFetchTreeRoot));
|
60
141
|
}
|
61
142
|
};
|
62
143
|
//# sourceMappingURL=QueryBuilderGraphFetchTreeStateBuilder.js.map
|
package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderGraphFetchTreeStateBuilder.js","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
1
|
+
{"version":3,"file":"QueryBuilderGraphFetchTreeStateBuilder.js","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.ts"],"names":[],"mappings":"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"}
|
@@ -13,8 +13,9 @@
|
|
13
13
|
* See the License for the specific language governing permissions and
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
|
-
import { type LambdaFunction } from '@finos/legend-graph';
|
17
|
-
import type
|
16
|
+
import { type LambdaFunction, type PureModel, SimpleFunctionExpression } from '@finos/legend-graph';
|
17
|
+
import { type QueryBuilderGraphFetchTreeState } from './QueryBuilderGraphFetchTreeState.js';
|
18
|
+
export declare const buildPureSerializationConfig: (config: Record<PropertyKey, boolean>, graph: PureModel) => SimpleFunctionExpression;
|
18
19
|
export declare const appendGraphFetch: (graphFetchTreeState: QueryBuilderGraphFetchTreeState, lambdaFunction: LambdaFunction, options?: {
|
19
20
|
/**
|
20
21
|
* Set queryBuilderState to `true` when we construct query for execution within the app.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
1
|
+
{"version":3,"file":"QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EAMd,wBAAwB,EAWzB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,sCAAsC,CAAC;AAmD9C,eAAO,MAAM,4BAA4B,WAC/B,OAAO,WAAW,EAAE,OAAO,CAAC,SAC7B,SAAS,KACf,wBAwDF,CAAC;AAEF,eAAO,MAAM,gBAAgB,wBACN,+BAA+B,kBACpC,cAAc,YACpB;IACR;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C,KACA,IAmGF,CAAC"}
|