@salesforce/analytics 1.3.19 → 1.4.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/LICENSE.txt +1 -1
- package/README.md +2 -2
- package/lib/commands/analytics/app/create.d.ts +21 -18
- package/lib/commands/analytics/app/create.js +118 -123
- package/lib/commands/analytics/app/create.js.map +1 -1
- package/lib/commands/analytics/app/decouple.d.ts +11 -11
- package/lib/commands/analytics/app/decouple.js +30 -36
- package/lib/commands/analytics/app/decouple.js.map +1 -1
- package/lib/commands/analytics/app/delete.d.ts +10 -11
- package/lib/commands/analytics/app/delete.js +30 -45
- package/lib/commands/analytics/app/delete.js.map +1 -1
- package/lib/commands/analytics/app/display.d.ts +12 -11
- package/lib/commands/analytics/app/display.js +46 -60
- package/lib/commands/analytics/app/display.js.map +1 -1
- package/lib/commands/analytics/app/list.d.ts +20 -13
- package/lib/commands/analytics/app/list.js +31 -33
- package/lib/commands/analytics/app/list.js.map +1 -1
- package/lib/commands/analytics/app/update.d.ts +18 -14
- package/lib/commands/analytics/app/update.js +53 -56
- package/lib/commands/analytics/app/update.js.map +1 -1
- package/lib/commands/analytics/asset/publisher/create.d.ts +9 -9
- package/lib/commands/analytics/asset/publisher/create.js +23 -28
- package/lib/commands/analytics/asset/publisher/create.js.map +1 -1
- package/lib/commands/analytics/asset/publisher/delete.d.ts +10 -10
- package/lib/commands/analytics/asset/publisher/delete.js +29 -34
- package/lib/commands/analytics/asset/publisher/delete.js.map +1 -1
- package/lib/commands/analytics/asset/publisher/deleteall.d.ts +10 -11
- package/lib/commands/analytics/asset/publisher/deleteall.js +30 -45
- package/lib/commands/analytics/asset/publisher/deleteall.js.map +1 -1
- package/lib/commands/analytics/asset/publisher/list.d.ts +14 -10
- package/lib/commands/analytics/asset/publisher/list.js +35 -39
- package/lib/commands/analytics/asset/publisher/list.js.map +1 -1
- package/lib/commands/analytics/autoinstall/app/cancel.d.ts +9 -9
- package/lib/commands/analytics/autoinstall/app/cancel.js +23 -28
- package/lib/commands/analytics/autoinstall/app/cancel.js.map +1 -1
- package/lib/commands/analytics/autoinstall/app/create.d.ts +21 -18
- package/lib/commands/analytics/autoinstall/app/create.js +94 -102
- package/lib/commands/analytics/autoinstall/app/create.js.map +1 -1
- package/lib/commands/analytics/autoinstall/app/delete.d.ts +14 -13
- package/lib/commands/analytics/autoinstall/app/delete.js +55 -61
- package/lib/commands/analytics/autoinstall/app/delete.js.map +1 -1
- package/lib/commands/analytics/autoinstall/app/update.d.ts +16 -15
- package/lib/commands/analytics/autoinstall/app/update.js +72 -78
- package/lib/commands/analytics/autoinstall/app/update.js.map +1 -1
- package/lib/commands/analytics/autoinstall/display.d.ts +11 -11
- package/lib/commands/analytics/autoinstall/display.js +55 -67
- package/lib/commands/analytics/autoinstall/display.js.map +1 -1
- package/lib/commands/analytics/autoinstall/list.d.ts +18 -10
- package/lib/commands/analytics/autoinstall/list.js +32 -32
- package/lib/commands/analytics/autoinstall/list.js.map +1 -1
- package/lib/commands/analytics/dashboard/history/list.d.ts +15 -10
- package/lib/commands/analytics/dashboard/history/list.js +31 -32
- package/lib/commands/analytics/dashboard/history/list.js.map +1 -1
- package/lib/commands/analytics/dashboard/history/revert.d.ts +11 -11
- package/lib/commands/analytics/dashboard/history/revert.js +38 -43
- package/lib/commands/analytics/dashboard/history/revert.js.map +1 -1
- package/lib/commands/analytics/dashboard/list.d.ts +17 -9
- package/lib/commands/analytics/dashboard/list.js +39 -42
- package/lib/commands/analytics/dashboard/list.js.map +1 -1
- package/lib/commands/analytics/dashboard/update.d.ts +11 -11
- package/lib/commands/analytics/dashboard/update.js +38 -43
- package/lib/commands/analytics/dashboard/update.js.map +1 -1
- package/lib/commands/analytics/dataflow/history/list.d.ts +14 -10
- package/lib/commands/analytics/dataflow/history/list.js +31 -32
- package/lib/commands/analytics/dataflow/history/list.js.map +1 -1
- package/lib/commands/analytics/dataflow/history/revert.d.ts +11 -11
- package/lib/commands/analytics/dataflow/history/revert.js +38 -43
- package/lib/commands/analytics/dataflow/history/revert.js.map +1 -1
- package/lib/commands/analytics/dataflow/job/display.d.ts +11 -10
- package/lib/commands/analytics/dataflow/job/display.js +28 -37
- package/lib/commands/analytics/dataflow/job/display.js.map +1 -1
- package/lib/commands/analytics/dataflow/job/list.d.ts +17 -10
- package/lib/commands/analytics/dataflow/job/list.js +30 -31
- package/lib/commands/analytics/dataflow/job/list.js.map +1 -1
- package/lib/commands/analytics/dataflow/job/stop.d.ts +11 -10
- package/lib/commands/analytics/dataflow/job/stop.js +23 -28
- package/lib/commands/analytics/dataflow/job/stop.js.map +1 -1
- package/lib/commands/analytics/dataflow/list.d.ts +15 -9
- package/lib/commands/analytics/dataflow/list.js +23 -23
- package/lib/commands/analytics/dataflow/list.js.map +1 -1
- package/lib/commands/analytics/dataflow/start.d.ts +11 -10
- package/lib/commands/analytics/dataflow/start.js +23 -28
- package/lib/commands/analytics/dataflow/start.js.map +1 -1
- package/lib/commands/analytics/dataflow/update.d.ts +13 -12
- package/lib/commands/analytics/dataflow/update.js +43 -48
- package/lib/commands/analytics/dataflow/update.js.map +1 -1
- package/lib/commands/analytics/dataset/display.d.ts +12 -11
- package/lib/commands/analytics/dataset/display.js +46 -56
- package/lib/commands/analytics/dataset/display.js.map +1 -1
- package/lib/commands/analytics/dataset/list.d.ts +16 -9
- package/lib/commands/analytics/dataset/list.js +30 -33
- package/lib/commands/analytics/dataset/list.js.map +1 -1
- package/lib/commands/analytics/dataset/rows/fetch.d.ts +15 -14
- package/lib/commands/analytics/dataset/rows/fetch.js +57 -86
- package/lib/commands/analytics/dataset/rows/fetch.js.map +1 -1
- package/lib/commands/analytics/enable.d.ts +14 -12
- package/lib/commands/analytics/enable.js +53 -54
- package/lib/commands/analytics/enable.js.map +1 -1
- package/lib/commands/analytics/lens/history/list.d.ts +14 -10
- package/lib/commands/analytics/lens/history/list.js +31 -32
- package/lib/commands/analytics/lens/history/list.js.map +1 -1
- package/lib/commands/analytics/lens/history/revert.d.ts +11 -11
- package/lib/commands/analytics/lens/history/revert.js +38 -43
- package/lib/commands/analytics/lens/history/revert.js.map +1 -1
- package/lib/commands/analytics/lens/list.d.ts +14 -9
- package/lib/commands/analytics/lens/list.js +24 -24
- package/lib/commands/analytics/lens/list.js.map +1 -1
- package/lib/commands/analytics/query.d.ts +19 -18
- package/lib/commands/analytics/query.js +71 -97
- package/lib/commands/analytics/query.js.map +1 -1
- package/lib/commands/analytics/recipe/list.d.ts +16 -10
- package/lib/commands/analytics/recipe/list.js +24 -24
- package/lib/commands/analytics/recipe/list.js.map +1 -1
- package/lib/commands/analytics/recipe/start.d.ts +11 -10
- package/lib/commands/analytics/recipe/start.js +24 -29
- package/lib/commands/analytics/recipe/start.js.map +1 -1
- package/lib/commands/analytics/template/create.d.ts +13 -13
- package/lib/commands/analytics/template/create.js +59 -60
- package/lib/commands/analytics/template/create.js.map +1 -1
- package/lib/commands/analytics/template/delete.d.ts +13 -12
- package/lib/commands/analytics/template/delete.js +51 -61
- package/lib/commands/analytics/template/delete.js.map +1 -1
- package/lib/commands/analytics/template/display.d.ts +12 -11
- package/lib/commands/analytics/template/display.js +41 -51
- package/lib/commands/analytics/template/display.js.map +1 -1
- package/lib/commands/analytics/template/lint.d.ts +12 -11
- package/lib/commands/analytics/template/lint.js +53 -60
- package/lib/commands/analytics/template/lint.js.map +1 -1
- package/lib/commands/analytics/template/list.d.ts +22 -13
- package/lib/commands/analytics/template/list.js +55 -59
- package/lib/commands/analytics/template/list.js.map +1 -1
- package/lib/commands/analytics/template/update.d.ts +18 -15
- package/lib/commands/analytics/template/update.js +77 -89
- package/lib/commands/analytics/template/update.js.map +1 -1
- package/lib/commands/analytics/template/validate.d.ts +13 -12
- package/lib/commands/analytics/template/validate.js +62 -70
- package/lib/commands/analytics/template/validate.js.map +1 -1
- package/lib/commands/analytics.d.ts +4 -2
- package/lib/commands/analytics.js +14 -10
- package/lib/commands/analytics.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/lib/analytics/app/folder.d.ts +4 -3
- package/lib/lib/analytics/app/folder.js +27 -27
- package/lib/lib/analytics/app/folder.js.map +1 -1
- package/lib/lib/analytics/autoinstall/autoinstall.d.ts +6 -6
- package/lib/lib/analytics/autoinstall/autoinstall.js +30 -31
- package/lib/lib/analytics/autoinstall/autoinstall.js.map +1 -1
- package/lib/lib/analytics/constants.js +3 -6
- package/lib/lib/analytics/constants.js.map +1 -1
- package/lib/lib/analytics/dashboard/dashboard.d.ts +2 -2
- package/lib/lib/analytics/dashboard/dashboard.js +17 -19
- package/lib/lib/analytics/dashboard/dashboard.js.map +1 -1
- package/lib/lib/analytics/dataflow/dataflow.d.ts +2 -2
- package/lib/lib/analytics/dataflow/dataflow.js +29 -29
- package/lib/lib/analytics/dataflow/dataflow.js.map +1 -1
- package/lib/lib/analytics/dataset/dataset.js +21 -22
- package/lib/lib/analytics/dataset/dataset.js.map +1 -1
- package/lib/lib/analytics/event/appStreaming.d.ts +4 -5
- package/lib/lib/analytics/event/appStreaming.js +69 -63
- package/lib/lib/analytics/event/appStreaming.js.map +1 -1
- package/lib/lib/analytics/event/waveAssetEvent.d.ts +1 -1
- package/lib/lib/analytics/event/waveAssetEvent.js +22 -15
- package/lib/lib/analytics/event/waveAssetEvent.js.map +1 -1
- package/lib/lib/analytics/lens/lens.d.ts +2 -2
- package/lib/lib/analytics/lens/lens.js +14 -16
- package/lib/lib/analytics/lens/lens.js.map +1 -1
- package/lib/lib/analytics/publisher/publisher.d.ts +2 -2
- package/lib/lib/analytics/publisher/publisher.js +18 -18
- package/lib/lib/analytics/publisher/publisher.js.map +1 -1
- package/lib/lib/analytics/query/query.d.ts +13 -13
- package/lib/lib/analytics/query/query.js +72 -78
- package/lib/lib/analytics/query/query.js.map +1 -1
- package/lib/lib/analytics/recipe/recipe.d.ts +3 -2
- package/lib/lib/analytics/recipe/recipe.js +15 -15
- package/lib/lib/analytics/recipe/recipe.js.map +1 -1
- package/lib/lib/analytics/request.d.ts +5 -5
- package/lib/lib/analytics/request.js +8 -34
- package/lib/lib/analytics/request.js.map +1 -1
- package/lib/lib/analytics/template/lint.d.ts +3 -3
- package/lib/lib/analytics/template/lint.js +11 -11
- package/lib/lib/analytics/template/lint.js.map +1 -1
- package/lib/lib/analytics/template/validate.d.ts +3 -3
- package/lib/lib/analytics/template/validate.js +11 -11
- package/lib/lib/analytics/template/validate.js.map +1 -1
- package/lib/lib/analytics/template/wavetemplate.d.ts +4 -4
- package/lib/lib/analytics/template/wavetemplate.js +28 -22
- package/lib/lib/analytics/template/wavetemplate.js.map +1 -1
- package/lib/lib/analytics/utils.d.ts +31 -4
- package/lib/lib/analytics/utils.js +73 -23
- package/lib/lib/analytics/utils.js.map +1 -1
- package/messages/app.json +2 -1
- package/messages/asset.json +2 -1
- package/messages/autoinstall.json +2 -1
- package/messages/dashboard.json +2 -1
- package/messages/dataflow.json +1 -0
- package/messages/dataset.json +2 -1
- package/messages/history.json +2 -0
- package/messages/lens.json +3 -2
- package/messages/lint.json +3 -1
- package/messages/recipe.json +1 -0
- package/messages/template.json +2 -1
- package/messages/validate.json +2 -0
- package/oclif.lock +9262 -0
- package/oclif.manifest.json +3900 -1
- package/package.json +159 -60
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { connectRequest } from '../request.js';
|
|
2
|
+
import { throwError } from '../utils.js';
|
|
3
|
+
export default class Publisher {
|
|
4
|
+
connection;
|
|
5
|
+
publishersUrl;
|
|
6
|
+
endpointName;
|
|
7
|
+
constructor(connection) {
|
|
8
|
+
this.connection = connection;
|
|
8
9
|
this.publishersUrl = `${this.connection.baseUrl()}/wave/dashboards/`;
|
|
9
10
|
this.endpointName = 'publishers';
|
|
10
11
|
}
|
|
11
12
|
async create(dashboardId) {
|
|
12
|
-
const response = await
|
|
13
|
+
const response = await connectRequest(this.connection, {
|
|
13
14
|
method: 'POST',
|
|
14
15
|
url: this.publishersUrl + encodeURIComponent(dashboardId) + '/' + this.endpointName,
|
|
15
|
-
body: '{}'
|
|
16
|
+
body: '{}',
|
|
16
17
|
});
|
|
17
18
|
if (response) {
|
|
18
19
|
return response.id;
|
|
19
20
|
}
|
|
20
21
|
else {
|
|
21
|
-
|
|
22
|
+
throwError(response);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
async list(assetId) {
|
|
25
|
-
const response = await
|
|
26
|
+
const response = await connectRequest(this.connection, {
|
|
26
27
|
method: 'GET',
|
|
27
|
-
url: this.publishersUrl + encodeURIComponent(assetId) + '/' + this.endpointName
|
|
28
|
+
url: this.publishersUrl + encodeURIComponent(assetId) + '/' + this.endpointName,
|
|
28
29
|
});
|
|
29
30
|
if (response) {
|
|
30
31
|
return response.publishers;
|
|
31
32
|
}
|
|
32
33
|
else {
|
|
33
|
-
|
|
34
|
+
throwError(response);
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
deleteAll(assetId) {
|
|
37
|
-
return
|
|
38
|
+
return connectRequest(this.connection, {
|
|
38
39
|
method: 'DELETE',
|
|
39
|
-
url: this.publishersUrl + assetId + '/' + this.endpointName
|
|
40
|
+
url: this.publishersUrl + assetId + '/' + this.endpointName,
|
|
40
41
|
});
|
|
41
42
|
}
|
|
42
43
|
delete(assetId, id) {
|
|
43
|
-
return
|
|
44
|
+
return connectRequest(this.connection, {
|
|
44
45
|
method: 'DELETE',
|
|
45
|
-
url: this.publishersUrl + encodeURIComponent(assetId) + '/' + this.endpointName + '/' + encodeURIComponent(id)
|
|
46
|
+
url: this.publishersUrl + encodeURIComponent(assetId) + '/' + this.endpointName + '/' + encodeURIComponent(id),
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
exports.default = Publisher;
|
|
50
50
|
//# sourceMappingURL=publisher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../../src/lib/analytics/publisher/publisher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../../src/lib/analytics/publisher/publisher.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,MAAM,CAAC,OAAO,OAAO,SAAS;IAIQ;IAHnB,aAAa,CAAS;IACtB,YAAY,CAAS;IAEtC,YAAoC,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QACxD,IAAI,CAAC,aAAa,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,WAAmB;QACrC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAgB,IAAI,CAAC,UAAU,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY;YACnF,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAe;QAC/B,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAmC,IAAI,CAAC,UAAU,EAAE;YACvF,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY;SAChF,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,UAAU,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAEM,SAAS,CAAC,OAAe;QAC9B,OAAO,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE;YACrC,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,IAAI,CAAC,aAAa,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY;SAC5D,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,OAAe,EAAE,EAAU;QACvC,OAAO,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE;YACrC,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,CAAC;SAC/G,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { flags, UX } from '@salesforce/command';
|
|
2
1
|
import { Connection } from '@salesforce/core';
|
|
3
|
-
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
2
|
+
import { CommandUx } from '../utils.js';
|
|
3
|
+
export declare const LIMIT_FLAG: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
4
|
+
export declare const RESULT_FORMAT_FLAG: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
5
|
+
export declare const DRYRUN_FLAG: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
6
6
|
export type QueryLanguage = 'Saql' | 'Sql';
|
|
7
7
|
export type QueryRequest = {
|
|
8
8
|
query: string;
|
|
@@ -93,25 +93,25 @@ export default class QuerySvc {
|
|
|
93
93
|
/** Run a query-ish sfdx command and possibly do some output
|
|
94
94
|
*
|
|
95
95
|
* @param query the query request
|
|
96
|
-
* @param ux the command
|
|
96
|
+
* @param ux the command Ux, or undefined to do no output
|
|
97
97
|
* @param limit the max number of rows to output and return (undefined for all)
|
|
98
98
|
* @param resultforamt 'json', 'csv', or anything else for an sfdx table
|
|
99
99
|
* @return the query response
|
|
100
100
|
*/
|
|
101
101
|
runQueryCommand(query: QueryRequest, params: {
|
|
102
|
-
ux?:
|
|
102
|
+
ux?: CommandUx;
|
|
103
103
|
limit?: number;
|
|
104
104
|
resultformat?: string;
|
|
105
105
|
dryrun?: false;
|
|
106
106
|
}): Promise<QueryResponse>;
|
|
107
107
|
runQueryCommand(query: QueryRequest, params: {
|
|
108
|
-
ux?:
|
|
108
|
+
ux?: CommandUx;
|
|
109
109
|
limit?: number;
|
|
110
110
|
resultformat?: string;
|
|
111
111
|
dryrun: true;
|
|
112
112
|
}): Promise<undefined>;
|
|
113
113
|
runQueryCommand(query: QueryRequest, { ux, limit, resultformat, dryrun }: {
|
|
114
|
-
ux?:
|
|
114
|
+
ux?: CommandUx;
|
|
115
115
|
limit?: number;
|
|
116
116
|
resultformat?: string;
|
|
117
117
|
dryrun: boolean;
|
|
@@ -119,25 +119,25 @@ export default class QuerySvc {
|
|
|
119
119
|
/** Run an external query-ish sfdx command and possibly do some output
|
|
120
120
|
*
|
|
121
121
|
* @param query the query request
|
|
122
|
-
* @param ux the command
|
|
122
|
+
* @param ux the command Ux, or undefined to do no output
|
|
123
123
|
* @param limit the max number of rows to output and return (undefined for all)
|
|
124
124
|
* @param resultforamt 'json', 'csv', or anything else for an sfdx table
|
|
125
125
|
* @return the query response
|
|
126
126
|
*/
|
|
127
127
|
runExternalQueryCommand(query: ExternalQueryRequest, params: {
|
|
128
|
-
ux?:
|
|
128
|
+
ux?: CommandUx;
|
|
129
129
|
limit?: number;
|
|
130
130
|
resultformat?: string;
|
|
131
131
|
dryrun?: false;
|
|
132
132
|
}): Promise<QueryResponse>;
|
|
133
133
|
runExternalQueryCommand(query: ExternalQueryRequest, params: {
|
|
134
|
-
ux?:
|
|
134
|
+
ux?: CommandUx;
|
|
135
135
|
limit?: number;
|
|
136
136
|
resultformat?: string;
|
|
137
137
|
dryrun: true;
|
|
138
138
|
}): Promise<undefined>;
|
|
139
139
|
runExternalQueryCommand(query: ExternalQueryRequest, { ux, limit, resultformat, dryrun }: {
|
|
140
|
-
ux?:
|
|
140
|
+
ux?: CommandUx;
|
|
141
141
|
limit?: number;
|
|
142
142
|
resultformat?: string;
|
|
143
143
|
dryrun: boolean;
|
|
@@ -145,7 +145,7 @@ export default class QuerySvc {
|
|
|
145
145
|
/** Process a query response, possibly doing some output.
|
|
146
146
|
*
|
|
147
147
|
* @param query the query request
|
|
148
|
-
* @param ux the command
|
|
148
|
+
* @param ux the command Ux, or undefined to do no output
|
|
149
149
|
* @param limit the max number of rows to output and return (undefined for all)
|
|
150
150
|
* @param resultforamt 'json', 'csv', or anything else for an sfdx table
|
|
151
151
|
* @return the query response
|
|
@@ -1,75 +1,71 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const messages = core_1.Messages.loadMessages('@salesforce/analytics', 'query');
|
|
19
|
-
exports.LIMIT_FLAG = command_1.flags.number({
|
|
20
|
-
description: messages.getMessage('limitDescription'),
|
|
21
|
-
longDescription: messages.getMessage('limitLongDescription'),
|
|
22
|
-
min: 0
|
|
7
|
+
import { Flags } from '@salesforce/sf-plugins-core';
|
|
8
|
+
import { Messages, SfError } from '@salesforce/core';
|
|
9
|
+
import DatasetSvc from '../dataset/dataset.js';
|
|
10
|
+
import { connectRequest } from '../request.js';
|
|
11
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
12
|
+
const messages = Messages.loadMessages('@salesforce/analytics', 'query');
|
|
13
|
+
export const LIMIT_FLAG = Flags.integer({
|
|
14
|
+
summary: messages.getMessage('limitDescription'),
|
|
15
|
+
description: messages.getMessage('limitLongDescription'),
|
|
16
|
+
min: 0,
|
|
23
17
|
});
|
|
24
|
-
|
|
18
|
+
export const RESULT_FORMAT_FLAG = Flags.string({
|
|
25
19
|
char: 'r',
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
summary: messages.getMessage('resultformatDescription'),
|
|
21
|
+
description: messages.getMessage('resultformatLongDescription'),
|
|
28
22
|
options: ['human', 'csv', 'json'],
|
|
29
|
-
default: 'human'
|
|
23
|
+
default: 'human',
|
|
30
24
|
});
|
|
31
|
-
|
|
25
|
+
export const DRYRUN_FLAG = Flags.boolean({
|
|
32
26
|
hidden: true,
|
|
33
27
|
description: "Show the resulting query that would be executed, but don't run it",
|
|
34
|
-
default: false
|
|
28
|
+
default: false,
|
|
35
29
|
});
|
|
36
|
-
class QuerySvc {
|
|
30
|
+
export default class QuerySvc {
|
|
31
|
+
connection;
|
|
32
|
+
queryUrl;
|
|
37
33
|
constructor(connection) {
|
|
38
34
|
this.connection = connection;
|
|
39
35
|
this.queryUrl = `${this.connection.baseUrl()}/wave/query`;
|
|
40
36
|
}
|
|
41
37
|
async execute(query) {
|
|
42
|
-
const response = await
|
|
38
|
+
const response = await connectRequest(this.connection, {
|
|
43
39
|
method: 'POST',
|
|
44
40
|
url: this.queryUrl,
|
|
45
|
-
body: JSON.stringify(query)
|
|
41
|
+
body: JSON.stringify(query),
|
|
46
42
|
});
|
|
47
43
|
if (response) {
|
|
48
44
|
return response;
|
|
49
45
|
}
|
|
50
46
|
else {
|
|
51
|
-
throw new
|
|
47
|
+
throw new SfError('Empty http response');
|
|
52
48
|
}
|
|
53
49
|
}
|
|
54
50
|
/** Make a query against an external data connector (i.e. Live Dataset). */
|
|
55
51
|
async executeExternal(query) {
|
|
56
|
-
const response = await
|
|
52
|
+
const response = await connectRequest(this.connection, {
|
|
57
53
|
method: 'POST',
|
|
58
54
|
url: `${this.connection.baseUrl()}/wave/dataConnectors/${encodeURIComponent(query.connectorIdOrApiName)}/query`,
|
|
59
|
-
body: JSON.stringify({ query: query.query })
|
|
55
|
+
body: JSON.stringify({ query: query.query }),
|
|
60
56
|
});
|
|
61
57
|
if (response) {
|
|
62
58
|
return response;
|
|
63
59
|
}
|
|
64
60
|
else {
|
|
65
|
-
throw new
|
|
61
|
+
throw new SfError('Empty http response');
|
|
66
62
|
}
|
|
67
63
|
}
|
|
68
64
|
/** Convert any datanames names in the SAQL query to the dataset id/currentVersionId format, using
|
|
69
65
|
* a {@link DatasetSvc} to fetch the datasets.
|
|
70
66
|
*/
|
|
71
67
|
async mapDatasetNames(query) {
|
|
72
|
-
const dsSvc = new
|
|
68
|
+
const dsSvc = new DatasetSvc(this.connection);
|
|
73
69
|
return mapDatasetNames(query, async (name) => {
|
|
74
70
|
let dataset;
|
|
75
71
|
try {
|
|
@@ -77,29 +73,30 @@ class QuerySvc {
|
|
|
77
73
|
}
|
|
78
74
|
catch (error) {
|
|
79
75
|
const msg = error instanceof Error ? error.message : String(error);
|
|
80
|
-
throw new
|
|
76
|
+
throw new SfError(`Unable to fetch dataset ${name}: ${msg}`);
|
|
81
77
|
}
|
|
82
78
|
if (!dataset.currentVersionId) {
|
|
83
|
-
throw new
|
|
79
|
+
throw new SfError(`Dataset ${name} (${dataset.id}) does not have a current version id`);
|
|
84
80
|
}
|
|
85
81
|
return `${dataset.id}/${dataset.currentVersionId}`;
|
|
86
82
|
});
|
|
87
83
|
}
|
|
84
|
+
// eslint-disable-next-line class-methods-use-this
|
|
88
85
|
computeColumnNames(response) {
|
|
89
86
|
return computeColumnNames(response);
|
|
90
87
|
}
|
|
91
|
-
async runQueryCommand(query, { ux, limit, resultformat, dryrun = false }) {
|
|
88
|
+
async runQueryCommand(query, { ux, limit, resultformat, dryrun = false, }) {
|
|
92
89
|
if (dryrun) {
|
|
93
|
-
ux
|
|
94
|
-
ux
|
|
90
|
+
ux?.log(messages.getMessage('dryrunHeader'));
|
|
91
|
+
ux?.styledJSON(query);
|
|
95
92
|
return undefined;
|
|
96
93
|
}
|
|
97
94
|
return this.processQueryCommandResponse(await this.execute(query), { ux, limit, resultformat });
|
|
98
95
|
}
|
|
99
|
-
async runExternalQueryCommand(query, { ux, limit, resultformat, dryrun = false }) {
|
|
96
|
+
async runExternalQueryCommand(query, { ux, limit, resultformat, dryrun = false, }) {
|
|
100
97
|
if (dryrun) {
|
|
101
|
-
ux
|
|
102
|
-
ux
|
|
98
|
+
ux?.log(messages.getMessage('dryrunHeader'));
|
|
99
|
+
ux?.log(query.query);
|
|
103
100
|
return undefined;
|
|
104
101
|
}
|
|
105
102
|
return this.processQueryCommandResponse(await this.executeExternal(query), { ux, limit, resultformat });
|
|
@@ -107,58 +104,58 @@ class QuerySvc {
|
|
|
107
104
|
/** Process a query response, possibly doing some output.
|
|
108
105
|
*
|
|
109
106
|
* @param query the query request
|
|
110
|
-
* @param ux the command
|
|
107
|
+
* @param ux the command Ux, or undefined to do no output
|
|
111
108
|
* @param limit the max number of rows to output and return (undefined for all)
|
|
112
109
|
* @param resultforamt 'json', 'csv', or anything else for an sfdx table
|
|
113
110
|
* @return the query response
|
|
114
111
|
*/
|
|
115
112
|
processQueryCommandResponse(response, { ux, limit, resultformat }) {
|
|
116
113
|
const results = getQueryResults(response);
|
|
117
|
-
const records = results && Array.isArray(results
|
|
114
|
+
const records = results && Array.isArray(results?.records) ? results.records : [];
|
|
118
115
|
if (typeof limit === 'number' && limit >= 0 && records.length > limit) {
|
|
119
116
|
records.length = limit;
|
|
120
117
|
}
|
|
121
|
-
if (ux) {
|
|
118
|
+
if (ux && !ux.jsonEnabled) {
|
|
122
119
|
if (resultformat === 'json') {
|
|
123
|
-
ux.
|
|
120
|
+
ux.styledJSON(response);
|
|
124
121
|
}
|
|
125
122
|
else {
|
|
126
123
|
const columnNames = this.computeColumnNames(response);
|
|
127
124
|
if (resultformat === 'csv') {
|
|
128
125
|
writeCsvLine(ux, columnNames);
|
|
129
|
-
records.forEach(record => {
|
|
130
|
-
const values = columnNames.map(columnName => record[columnName]);
|
|
126
|
+
records.forEach((record) => {
|
|
127
|
+
const values = columnNames.map((columnName) => record[columnName]);
|
|
131
128
|
writeCsvLine(ux, values);
|
|
132
129
|
});
|
|
133
130
|
}
|
|
134
|
-
else {
|
|
131
|
+
else if (columnNames.length <= 0) {
|
|
135
132
|
// resultformat === 'human', do a table
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
label: name,
|
|
145
|
-
format: convertRowValue
|
|
146
|
-
};
|
|
147
|
-
})
|
|
148
|
-
});
|
|
149
|
-
ux.styledHeader(messages.getMessage('rowsFound', [records.length]));
|
|
150
|
-
}
|
|
133
|
+
ux.log(messages.getMessage('noResultsMesg'));
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
ux.table(records, columnNames.reduce((all, name) => {
|
|
137
|
+
all[name] = { header: name, get: (row) => convertRowValue(row[name]) };
|
|
138
|
+
return all;
|
|
139
|
+
}, {}));
|
|
140
|
+
ux.styledHeader(messages.getMessage('rowsFound', [records.length]));
|
|
151
141
|
}
|
|
152
142
|
}
|
|
153
143
|
}
|
|
154
144
|
return response;
|
|
155
145
|
}
|
|
156
146
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
147
|
+
export function convertRowValue(value) {
|
|
148
|
+
// use empty string for undefined/null
|
|
149
|
+
if (typeof value === 'undefined' || value === 'null') {
|
|
150
|
+
return '';
|
|
151
|
+
}
|
|
152
|
+
// handle array values
|
|
153
|
+
if (Array.isArray(value)) {
|
|
154
|
+
return '[' + value.join(',') + ']';
|
|
155
|
+
}
|
|
156
|
+
// otherwise do our best to convert to string
|
|
157
|
+
return typeof value === 'string' ? value : String(value);
|
|
160
158
|
}
|
|
161
|
-
exports.convertRowValue = convertRowValue;
|
|
162
159
|
function writeCsvLine(ux, values, delim = ',') {
|
|
163
160
|
let line = '';
|
|
164
161
|
for (let i = 0; i < values.length; i++) {
|
|
@@ -167,7 +164,7 @@ function writeCsvLine(ux, values, delim = ',') {
|
|
|
167
164
|
}
|
|
168
165
|
if (values[i]) {
|
|
169
166
|
const value = convertRowValue(values[i]).replace(/"/g, '""');
|
|
170
|
-
if (value.
|
|
167
|
+
if (value.includes(delim) || value.includes('\n')) {
|
|
171
168
|
line += `"${value}"`;
|
|
172
169
|
}
|
|
173
170
|
else {
|
|
@@ -184,51 +181,49 @@ const LOAD_RE = /load(\s+)"([^"]+)"/;
|
|
|
184
181
|
* @param nameToRef function to map dataset name to "id/versionId" ref format, should throw an error if
|
|
185
182
|
* the dataset is unavailable.
|
|
186
183
|
*/
|
|
187
|
-
async function mapDatasetNames(query, nameToRef) {
|
|
184
|
+
export async function mapDatasetNames(query, nameToRef) {
|
|
188
185
|
// go through each expression in the saql
|
|
189
186
|
const lines = query.split(';');
|
|
190
187
|
for (let i = 0, len = lines.length; i < len; i++) {
|
|
191
188
|
// see if it's a '... load "DatasetName"'
|
|
192
189
|
const matches = LOAD_RE.exec(lines[i]);
|
|
193
|
-
if (!matches
|
|
190
|
+
if (!matches?.[2]) {
|
|
194
191
|
continue;
|
|
195
192
|
}
|
|
196
193
|
// pull the dataset name from that
|
|
197
194
|
const name = matches[2];
|
|
198
195
|
// if it's not already of the "id/versionid" form, fetch the dataset and string sub
|
|
199
|
-
if (name.
|
|
196
|
+
if (!name.includes('/')) {
|
|
197
|
+
// eslint-disable-next-line no-await-in-loop
|
|
200
198
|
const ref = await nameToRef(name);
|
|
201
199
|
lines[i] = lines[i].replace(matches[0], `load${matches[1]}"${ref}"`);
|
|
202
200
|
}
|
|
203
201
|
}
|
|
204
202
|
return lines.join(';');
|
|
205
203
|
}
|
|
206
|
-
exports.mapDatasetNames = mapDatasetNames;
|
|
207
204
|
function getQueryResults(response) {
|
|
208
205
|
return typeof response.metadata === 'object' || typeof response.records === 'object'
|
|
209
206
|
? response
|
|
210
207
|
: response.results;
|
|
211
208
|
}
|
|
212
209
|
/** Compute the set of columns names from the query response metadata. */
|
|
213
|
-
function computeColumnNames(response) {
|
|
210
|
+
export function computeColumnNames(response) {
|
|
214
211
|
const names = new Set();
|
|
215
212
|
const results = getQueryResults(response);
|
|
216
|
-
if (results && Array.isArray(results
|
|
213
|
+
if (results && Array.isArray(results?.metadata)) {
|
|
217
214
|
results.metadata.forEach((md) => {
|
|
218
|
-
var _a;
|
|
219
215
|
// SqlMetadata
|
|
220
|
-
if (Array.isArray(md
|
|
216
|
+
if (Array.isArray(md?.columns)) {
|
|
221
217
|
md.columns.forEach((c) => {
|
|
222
218
|
if (c.columnLabel) {
|
|
223
219
|
names.add(c.columnLabel);
|
|
224
220
|
}
|
|
225
221
|
});
|
|
226
222
|
}
|
|
227
|
-
else if (Array.isArray(
|
|
223
|
+
else if (Array.isArray(md?.lineage?.projections)) {
|
|
228
224
|
// SaqlMetadata
|
|
229
225
|
md.lineage.projections.forEach((p) => {
|
|
230
|
-
|
|
231
|
-
if ((_a = p.field) === null || _a === void 0 ? void 0 : _a.id) {
|
|
226
|
+
if (p.field?.id) {
|
|
232
227
|
let name = p.field.id;
|
|
233
228
|
const index = name.indexOf('.');
|
|
234
229
|
if (index >= 0) {
|
|
@@ -240,7 +235,7 @@ function computeColumnNames(response) {
|
|
|
240
235
|
}
|
|
241
236
|
});
|
|
242
237
|
}
|
|
243
|
-
else if (typeof
|
|
238
|
+
else if (typeof results?.metadata === 'object' && Array.isArray(results.metadata.columns)) {
|
|
244
239
|
// SqlLiveMetadata
|
|
245
240
|
results.metadata.columns.forEach((col) => {
|
|
246
241
|
if (col.label) {
|
|
@@ -254,5 +249,4 @@ function computeColumnNames(response) {
|
|
|
254
249
|
}
|
|
255
250
|
return Array.from(names);
|
|
256
251
|
}
|
|
257
|
-
exports.computeColumnNames = computeColumnNames;
|
|
258
252
|
//# sourceMappingURL=query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/lib/analytics/query/query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/lib/analytics/query/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Connection } from '@salesforce/core';
|
|
2
2
|
export type RecipeType = Record<string, unknown> & {
|
|
3
3
|
conversionDetails: [];
|
|
4
4
|
createdBy?: {
|
|
@@ -28,6 +28,7 @@ export type RecipeType = Record<string, unknown> & {
|
|
|
28
28
|
type?: string;
|
|
29
29
|
};
|
|
30
30
|
name?: string;
|
|
31
|
+
namespace?: string;
|
|
31
32
|
publishingTarget?: string;
|
|
32
33
|
recipeDefinition?: {
|
|
33
34
|
name?: string;
|
|
@@ -50,7 +51,7 @@ export default class Recipe {
|
|
|
50
51
|
private readonly connection;
|
|
51
52
|
private readonly recipesUrl;
|
|
52
53
|
private readonly dataflowsJobsUrl;
|
|
53
|
-
constructor(
|
|
54
|
+
constructor(connection: Connection);
|
|
54
55
|
list(): Promise<RecipeType[]>;
|
|
55
56
|
startRecipe(recipeId: string): Promise<RecipeType | undefined>;
|
|
56
57
|
}
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2016, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
import { connectRequest, fetchAllPages } from '../request.js';
|
|
8
|
+
import { throwError } from '../utils.js';
|
|
9
|
+
export default class Recipe {
|
|
10
|
+
connection;
|
|
11
|
+
recipesUrl;
|
|
12
|
+
dataflowsJobsUrl;
|
|
13
|
+
constructor(connection) {
|
|
14
|
+
this.connection = connection;
|
|
14
15
|
this.recipesUrl = `${this.connection.baseUrl()}/wave/recipes/`;
|
|
15
16
|
this.dataflowsJobsUrl = `${this.connection.baseUrl()}/wave/dataflowjobs/`;
|
|
16
17
|
}
|
|
17
18
|
list() {
|
|
18
|
-
return
|
|
19
|
+
return fetchAllPages(this.connection, this.recipesUrl, 'recipes');
|
|
19
20
|
}
|
|
20
21
|
async startRecipe(recipeId) {
|
|
21
22
|
const startRecipeUrl = this.dataflowsJobsUrl;
|
|
22
23
|
const targetDataflowIdUrl = this.recipesUrl + recipeId + '?format=R3';
|
|
23
24
|
const command = 'start';
|
|
24
|
-
const recipeDetails = await
|
|
25
|
+
const recipeDetails = await connectRequest(this.connection, {
|
|
25
26
|
method: 'GET',
|
|
26
|
-
url: targetDataflowIdUrl
|
|
27
|
+
url: targetDataflowIdUrl,
|
|
27
28
|
});
|
|
28
29
|
const dataflowId = recipeDetails.targetDataflowId;
|
|
29
|
-
const response = await
|
|
30
|
+
const response = await connectRequest(this.connection, {
|
|
30
31
|
method: 'POST',
|
|
31
32
|
url: startRecipeUrl,
|
|
32
33
|
body: JSON.stringify({
|
|
33
34
|
dataflowId,
|
|
34
|
-
command
|
|
35
|
-
})
|
|
35
|
+
command,
|
|
36
|
+
}),
|
|
36
37
|
});
|
|
37
38
|
if (response) {
|
|
38
39
|
return response;
|
|
39
40
|
}
|
|
40
41
|
else {
|
|
41
|
-
|
|
42
|
+
throwError(response);
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
|
-
exports.default = Recipe;
|
|
46
46
|
//# sourceMappingURL=recipe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../../src/lib/analytics/recipe/recipe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../../src/lib/analytics/recipe/recipe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6BzC,MAAM,CAAC,OAAO,OAAO,MAAM;IAIW;IAHnB,UAAU,CAAS;IACnB,gBAAgB,CAAS;IAE1C,YAAoC,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QACxD,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC;QAC/D,IAAI,CAAC,gBAAgB,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC;IAC5E,CAAC;IAEM,IAAI;QACT,OAAO,aAAa,CAAa,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChF,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAAgB;QACvC,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC7C,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;QACtE,MAAM,OAAO,GAAG,OAAO,CAAC;QAExB,MAAM,aAAa,GAAG,MAAM,cAAc,CAAa,IAAI,CAAC,UAAU,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,mBAAmB;SACzB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,CAAC,gBAAgB,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAa,IAAI,CAAC,UAAU,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU;gBACV,OAAO;aACR,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
|