@finos/legend-application-repl 1.0.46 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.css +1 -1
- package/lib/package.json +2 -2
- package/lib/stores/LegendREPLDataCubeEngine.d.ts +2 -1
- package/lib/stores/LegendREPLDataCubeEngine.d.ts.map +1 -1
- package/lib/stores/LegendREPLDataCubeEngine.js +14 -11
- package/lib/stores/LegendREPLDataCubeEngine.js.map +1 -1
- package/package.json +8 -8
- package/src/stores/LegendREPLDataCubeEngine.ts +13 -12
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-repl",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Legend REPL Grid client application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@finos/legend-shared": "workspace:*",
|
|
51
51
|
"@types/react": "19.0.8",
|
|
52
52
|
"@types/react-dom": "19.0.3",
|
|
53
|
-
"mobx": "6.13.
|
|
53
|
+
"mobx": "6.13.6",
|
|
54
54
|
"mobx-react-lite": "4.1.0",
|
|
55
55
|
"react": "19.0.0",
|
|
56
56
|
"react-dom": "19.0.0",
|
|
@@ -23,7 +23,7 @@ export declare class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
23
23
|
private readonly _application;
|
|
24
24
|
private readonly _client;
|
|
25
25
|
constructor(application: LegendREPLApplicationStore, client: LegendREPLServerClient);
|
|
26
|
-
processQuerySource(
|
|
26
|
+
processQuerySource(sourceData: PlainObject): Promise<LegendREPLDataCubeSource>;
|
|
27
27
|
parseValueSpecification(code: string, returnSourceInformation?: boolean): Promise<V1_ValueSpecification>;
|
|
28
28
|
getValueSpecificationCode(value: V1_ValueSpecification, pretty?: boolean): Promise<string>;
|
|
29
29
|
getQueryTypeahead(code: string, baseQuery: V1_Lambda, source: DataCubeSource): Promise<import("@finos/legend-data-cube").CompletionItem[]>;
|
|
@@ -43,6 +43,7 @@ export declare class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
43
43
|
result: TDSExecutionResult;
|
|
44
44
|
executedQuery: string;
|
|
45
45
|
executedSQL: string;
|
|
46
|
+
executionTime: number;
|
|
46
47
|
}>;
|
|
47
48
|
buildExecutionContext(source: DataCubeSource): V1_AppliedFunction | undefined;
|
|
48
49
|
private _getQueryRelationType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendREPLDataCubeEngine.d.ts","sourceRoot":"","sources":["../../src/stores/LegendREPLDataCubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAIL,cAAc,EAEd,KAAK,cAAc,EACnB,KAAK,wBAAwB,
|
|
1
|
+
{"version":3,"file":"LegendREPLDataCubeEngine.d.ts","sourceRoot":"","sources":["../../src/stores/LegendREPLDataCubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAIL,cAAc,EAEd,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EAGvB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAK3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKL,QAAQ,EAER,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EAGzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAI/F,qBAAa,wBAAyB,SAAQ,cAAc;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAG/C,WAAW,EAAE,0BAA0B,EACvC,MAAM,EAAE,sBAAsB;IAUjB,kBAAkB,CAAC,UAAU,EAAE,WAAW;IAsC1C,uBAAuB,CACpC,IAAI,EAAE,MAAM,EACZ,uBAAuB,CAAC,EAAE,OAAO;IAUpB,yBAAyB,CACtC,KAAK,EAAE,qBAAqB,EAC5B,MAAM,CAAC,EAAE,OAAO;IAQH,iBAAiB,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,cAAc;IAQT,0BAA0B,CACvC,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,cAAc;;;;;;IAKT,8BAA8B,CAC3C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,qBAAqB,EAChC,MAAM,EAAE,cAAc;;;;;;IAgCT,YAAY,CACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,wBAAwB,GAAG,SAAS;;;;;;IAqBvC,qBAAqB,CAC5B,MAAM,EAAE,cAAc,GACrB,kBAAkB,GAAG,SAAS;YAenB,qBAAqB;IAiB1B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAQ5C,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAmB9D,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAI3C,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAI9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAI5C,iBAAiB,CAAC,KAAK,EAAE,KAAK;IAI9B,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;IAQnD,qBAAqB,CAAC,GAAG,EAAE,MAAM;IAIjC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;CAGxD"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import {} from './LegendREPLServerClient.js';
|
|
17
|
-
import { _elementPtr, _function, _lambda, DataCubeEngine, DataCubeFunction,
|
|
17
|
+
import { _elementPtr, _function, _lambda, DataCubeEngine, DataCubeFunction, } from '@finos/legend-data-cube';
|
|
18
18
|
import { TDSExecutionResult, V1_buildExecutionResult, V1_deserializeExecutionResult, V1_buildEngineError, V1_EngineError, V1_getGenericTypeFullPath, V1_relationTypeModelSchema, } from '@finos/legend-graph';
|
|
19
19
|
import { assertErrorThrown, guaranteeType, HttpStatus, isNonNullable, LogEvent, NetworkClientError, UnsupportedOperationError, } from '@finos/legend-shared';
|
|
20
20
|
import { LegendREPLDataCubeSource, RawLegendREPLDataCubeSource, REPL_DATA_CUBE_SOURCE_TYPE, } from './LegendREPLDataCubeSource.js';
|
|
@@ -29,10 +29,10 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
29
29
|
this._client = client;
|
|
30
30
|
}
|
|
31
31
|
// ---------------------------------- IMPLEMENTATION ----------------------------------
|
|
32
|
-
async processQuerySource(
|
|
33
|
-
switch (
|
|
32
|
+
async processQuerySource(sourceData) {
|
|
33
|
+
switch (sourceData._type) {
|
|
34
34
|
case REPL_DATA_CUBE_SOURCE_TYPE: {
|
|
35
|
-
const rawSource = RawLegendREPLDataCubeSource.serialization.fromJson(
|
|
35
|
+
const rawSource = RawLegendREPLDataCubeSource.serialization.fromJson(sourceData);
|
|
36
36
|
const source = new LegendREPLDataCubeSource();
|
|
37
37
|
source.query = await this.parseValueSpecification(rawSource.query, false);
|
|
38
38
|
try {
|
|
@@ -51,26 +51,26 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
51
51
|
return source;
|
|
52
52
|
}
|
|
53
53
|
default: {
|
|
54
|
-
throw new UnsupportedOperationError(`Can't process query source of type '${
|
|
54
|
+
throw new UnsupportedOperationError(`Can't process query source of type '${sourceData._type}'.`);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
async parseValueSpecification(code, returnSourceInformation) {
|
|
59
|
-
return
|
|
59
|
+
return this.deserializeValueSpecification(await this._client.parseValueSpecification({
|
|
60
60
|
code,
|
|
61
61
|
returnSourceInformation,
|
|
62
62
|
}));
|
|
63
63
|
}
|
|
64
64
|
async getValueSpecificationCode(value, pretty) {
|
|
65
65
|
return this._client.getValueSpecificationCode({
|
|
66
|
-
value:
|
|
66
|
+
value: this.serializeValueSpecification(value),
|
|
67
67
|
pretty,
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
70
|
async getQueryTypeahead(code, baseQuery, source) {
|
|
71
71
|
return this._client.getQueryTypeahead({
|
|
72
72
|
code,
|
|
73
|
-
baseQuery:
|
|
73
|
+
baseQuery: this.serializeValueSpecification(baseQuery),
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
async getQueryRelationReturnType(query, source) {
|
|
@@ -80,7 +80,7 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
80
80
|
try {
|
|
81
81
|
const relationType = deserialize(V1_relationTypeModelSchema, await this._client.getQueryCodeRelationReturnType({
|
|
82
82
|
code,
|
|
83
|
-
baseQuery:
|
|
83
|
+
baseQuery: this.serializeValueSpecification(baseQuery),
|
|
84
84
|
}));
|
|
85
85
|
return {
|
|
86
86
|
columns: relationType.columns.map((column) => ({
|
|
@@ -99,14 +99,17 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
async executeQuery(query, source, options) {
|
|
102
|
+
const startTime = performance.now();
|
|
102
103
|
const result = await this._client.executeQuery({
|
|
103
|
-
query:
|
|
104
|
+
query: this.serializeValueSpecification(query),
|
|
104
105
|
debug: options?.debug,
|
|
105
106
|
});
|
|
107
|
+
const endTime = performance.now();
|
|
106
108
|
return {
|
|
107
109
|
result: guaranteeType(V1_buildExecutionResult(V1_deserializeExecutionResult(JSON.parse(result.result))), TDSExecutionResult),
|
|
108
110
|
executedQuery: result.executedQuery,
|
|
109
111
|
executedSQL: result.executedSQL,
|
|
112
|
+
executionTime: endTime - startTime,
|
|
110
113
|
};
|
|
111
114
|
}
|
|
112
115
|
buildExecutionContext(source) {
|
|
@@ -121,7 +124,7 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
121
124
|
// ---------------------------------- UTILITIES ----------------------------------
|
|
122
125
|
async _getQueryRelationType(query) {
|
|
123
126
|
const relationType = deserialize(V1_relationTypeModelSchema, await this._client.getQueryRelationReturnType({
|
|
124
|
-
query:
|
|
127
|
+
query: this.serializeValueSpecification(query),
|
|
125
128
|
}));
|
|
126
129
|
return {
|
|
127
130
|
columns: relationType.columns.map((column) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendREPLDataCubeEngine.js","sourceRoot":"","sources":["../../src/stores/LegendREPLDataCubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAA+B,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"LegendREPLDataCubeEngine.js","sourceRoot":"","sources":["../../src/stores/LegendREPLDataCubeEngine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-repl",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Legend REPL Grid client application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -43,21 +43,21 @@
|
|
|
43
43
|
"test:watch": "jest --watch"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@finos/legend-application": "16.0.
|
|
47
|
-
"@finos/legend-art": "7.1.
|
|
48
|
-
"@finos/legend-data-cube": "0.
|
|
49
|
-
"@finos/legend-graph": "32.
|
|
50
|
-
"@finos/legend-shared": "11.0.
|
|
46
|
+
"@finos/legend-application": "16.0.23",
|
|
47
|
+
"@finos/legend-art": "7.1.80",
|
|
48
|
+
"@finos/legend-data-cube": "0.1.1",
|
|
49
|
+
"@finos/legend-graph": "32.1.1",
|
|
50
|
+
"@finos/legend-shared": "11.0.2",
|
|
51
51
|
"@types/react": "19.0.8",
|
|
52
52
|
"@types/react-dom": "19.0.3",
|
|
53
|
-
"mobx": "6.13.
|
|
53
|
+
"mobx": "6.13.6",
|
|
54
54
|
"mobx-react-lite": "4.1.0",
|
|
55
55
|
"react": "19.0.0",
|
|
56
56
|
"react-dom": "19.0.0",
|
|
57
57
|
"serializr": "3.0.3"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@finos/legend-dev-utils": "2.
|
|
60
|
+
"@finos/legend-dev-utils": "2.2.0",
|
|
61
61
|
"@jest/globals": "29.7.0",
|
|
62
62
|
"cross-env": "7.0.3",
|
|
63
63
|
"eslint": "9.19.0",
|
|
@@ -23,8 +23,6 @@ import {
|
|
|
23
23
|
DataCubeFunction,
|
|
24
24
|
type DataCubeSource,
|
|
25
25
|
type DataCubeExecutionOptions,
|
|
26
|
-
_deserializeValueSpecification,
|
|
27
|
-
_serializeValueSpecification,
|
|
28
26
|
} from '@finos/legend-data-cube';
|
|
29
27
|
import {
|
|
30
28
|
TDSExecutionResult,
|
|
@@ -73,11 +71,11 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
73
71
|
|
|
74
72
|
// ---------------------------------- IMPLEMENTATION ----------------------------------
|
|
75
73
|
|
|
76
|
-
override async processQuerySource(
|
|
77
|
-
switch (
|
|
74
|
+
override async processQuerySource(sourceData: PlainObject) {
|
|
75
|
+
switch (sourceData._type) {
|
|
78
76
|
case REPL_DATA_CUBE_SOURCE_TYPE: {
|
|
79
77
|
const rawSource =
|
|
80
|
-
RawLegendREPLDataCubeSource.serialization.fromJson(
|
|
78
|
+
RawLegendREPLDataCubeSource.serialization.fromJson(sourceData);
|
|
81
79
|
const source = new LegendREPLDataCubeSource();
|
|
82
80
|
source.query = await this.parseValueSpecification(
|
|
83
81
|
rawSource.query,
|
|
@@ -105,7 +103,7 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
105
103
|
}
|
|
106
104
|
default: {
|
|
107
105
|
throw new UnsupportedOperationError(
|
|
108
|
-
`Can't process query source of type '${
|
|
106
|
+
`Can't process query source of type '${sourceData._type}'.`,
|
|
109
107
|
);
|
|
110
108
|
}
|
|
111
109
|
}
|
|
@@ -115,7 +113,7 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
115
113
|
code: string,
|
|
116
114
|
returnSourceInformation?: boolean,
|
|
117
115
|
) {
|
|
118
|
-
return
|
|
116
|
+
return this.deserializeValueSpecification(
|
|
119
117
|
await this._client.parseValueSpecification({
|
|
120
118
|
code,
|
|
121
119
|
returnSourceInformation,
|
|
@@ -128,7 +126,7 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
128
126
|
pretty?: boolean,
|
|
129
127
|
) {
|
|
130
128
|
return this._client.getValueSpecificationCode({
|
|
131
|
-
value:
|
|
129
|
+
value: this.serializeValueSpecification(value),
|
|
132
130
|
pretty,
|
|
133
131
|
});
|
|
134
132
|
}
|
|
@@ -140,7 +138,7 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
140
138
|
) {
|
|
141
139
|
return this._client.getQueryTypeahead({
|
|
142
140
|
code,
|
|
143
|
-
baseQuery:
|
|
141
|
+
baseQuery: this.serializeValueSpecification(baseQuery),
|
|
144
142
|
});
|
|
145
143
|
}
|
|
146
144
|
|
|
@@ -161,7 +159,7 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
161
159
|
V1_relationTypeModelSchema,
|
|
162
160
|
await this._client.getQueryCodeRelationReturnType({
|
|
163
161
|
code,
|
|
164
|
-
baseQuery:
|
|
162
|
+
baseQuery: this.serializeValueSpecification(baseQuery),
|
|
165
163
|
}),
|
|
166
164
|
);
|
|
167
165
|
return {
|
|
@@ -191,10 +189,12 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
191
189
|
source: DataCubeSource,
|
|
192
190
|
options?: DataCubeExecutionOptions | undefined,
|
|
193
191
|
) {
|
|
192
|
+
const startTime = performance.now();
|
|
194
193
|
const result = await this._client.executeQuery({
|
|
195
|
-
query:
|
|
194
|
+
query: this.serializeValueSpecification(query),
|
|
196
195
|
debug: options?.debug,
|
|
197
196
|
});
|
|
197
|
+
const endTime = performance.now();
|
|
198
198
|
return {
|
|
199
199
|
result: guaranteeType(
|
|
200
200
|
V1_buildExecutionResult(
|
|
@@ -204,6 +204,7 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
204
204
|
),
|
|
205
205
|
executedQuery: result.executedQuery,
|
|
206
206
|
executedSQL: result.executedSQL,
|
|
207
|
+
executionTime: endTime - startTime,
|
|
207
208
|
};
|
|
208
209
|
}
|
|
209
210
|
|
|
@@ -228,7 +229,7 @@ export class LegendREPLDataCubeEngine extends DataCubeEngine {
|
|
|
228
229
|
const relationType = deserialize(
|
|
229
230
|
V1_relationTypeModelSchema,
|
|
230
231
|
await this._client.getQueryRelationReturnType({
|
|
231
|
-
query:
|
|
232
|
+
query: this.serializeValueSpecification(query),
|
|
232
233
|
}),
|
|
233
234
|
);
|
|
234
235
|
return {
|