@or-sdk/data-hub 0.5.0 → 0.8.0
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/dist/cjs/DataHub.js +1 -1
- package/dist/cjs/DataHub.js.map +1 -1
- package/dist/esm/DataHub.js +2 -2
- package/dist/esm/DataHub.js.map +1 -1
- package/dist/types/DataHub.d.ts +4 -4
- package/dist/types/types.d.ts +38 -21
- package/package.json +3 -3
- package/src/DataHub.ts +32 -13
- package/src/types.ts +29 -24
package/dist/cjs/DataHub.js
CHANGED
package/dist/cjs/DataHub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataHub.js","sourceRoot":"","sources":["../../src/DataHub.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"DataHub.js","sourceRoot":"","sources":["../../src/DataHub.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA2E;AAO3E,yCAAwE;AACxE,6BAAoC;AASpC;IAA6B,2BAAI;IAO/B,iBAAY,MAAqB;QAAjC,iBASC;QARS,IAAA,KAAK,GAAmB,MAAM,MAAzB,EAAE,YAAY,GAAK,MAAM,aAAX,CAAY;QAEvC,QAAA,kBAAM;YACJ,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,UAAU,EAAE,uBAAW;YACvB,gBAAgB,EAAE,IAAI;SACvB,CAAC,SAAC;;IACL,CAAC;IAaM,6BAAW,GAAlB,UAAsB,MAAoB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC;IACjC,CAAC;IAQY,2BAAS,GAAtB,UAAuB,SAAiB;;;;;;wBACtC,IAAI,CAAC,SAAS,EAAE;4BACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;yBAC9D;wBAEG,OAAO,GAAG,CAAC,CAAC;;;wBAGd,OAAO,EAAE,CAAC;wBACV,WAAM,IAAA,cAAO,EAAC,IAAI,CAAC,EAAA;;wBAAnB,SAAmB,CAAC;wBAEd,SAAS,GAAG;4BAChB,SAAS,WAAA;4BACT,IAAI,EAAE,IAAA,SAAM,GAAE;yBACf,CAAC;wBAEI,IAAI,GAAG;4BACX,aAAa,EAAE,sBAAsB;4BACrC,KAAK,EAAE,wCAA4B;4BACnC,SAAS,WAAA;yBACV,CAAC;wBAEiD,WAAM,IAAI,CAAC,WAAW,CAAqD;gCAC5H,MAAM,EAAE,MAAM;gCACd,KAAK,EAAE,UAAU;gCACjB,IAAI,MAAA;6BACL,CAAC,EAAA;;wBAJoC,MAAM,GAAO,CAAA,SAIjD,CAAA,0BAJ0C;wBAM5C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;4BAC/B,IAAI,MAAM,CAAC,KAAK,EAAE;gCAChB,MAAM,MAAM,CAAC,KAAK,CAAC;6BACpB;4BAED,WAAO,MAAM,EAAC;yBACf;;;4BAEM,OAAO,GAAG,GAAG;;4BAEtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;;;;KAC5D;IAQY,6BAAW,GAAxB,UAA4B,MAA8B,EAAE,KAAa,EAAE,IAAwB;;;;;;wBAE7F,cAAc,GAAQ,EAAE,CAAC;;4BAGZ,WAAM,IAAI,CAAC,WAAW,CAA6B;4BAChE,MAAM,QAAA;4BACN,KAAK,OAAA;4BACL,IAAI,MAAA;yBACL,CAAC,EAAA;;wBAJI,MAAM,GAAG,SAIb;wBAEF,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC9B,cAAc,mCAAO,cAAc,SAAK,UAAU,CAAC,OAAO,OAAC,CAAC;wBAE5D,IAAI,CAAC,SAAS,CAAC,MAAM,yBAChB,IAAI,CAAC,SAAS,CAAC,MAAM,KACxB,IAAI,EAAE,UAAU,CAAC,IAAI,GACtB,CAAC;;;4BAEK,UAAU,CAAC,IAAI;;4BAExB,WAAO,IAAA,eAAQ,EAAI,cAAc,CAAC,EAAC;;;;KACpC;IAEH,cAAC;AAAD,CAAC,AA9GD,CAA6B,WAAI,GA8GhC;AA9GY,0BAAO"}
|
package/dist/esm/DataHub.js
CHANGED
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { Base, timeout } from '@or-sdk/base';
|
|
10
|
+
import { Base, timeout, makeList } from '@or-sdk/base';
|
|
11
11
|
import { SERVICE_KEY, QUERY_CHECK_EXECUTION_RESULT } from './constants';
|
|
12
12
|
import { v4 as uuidv4 } from 'uuid';
|
|
13
13
|
export class DataHub extends Base {
|
|
@@ -70,7 +70,7 @@ export class DataHub extends Base {
|
|
|
70
70
|
resultFullList = [...resultFullList, ...resultList.records];
|
|
71
71
|
data.variables.params = Object.assign(Object.assign({}, data.variables.params), { last: resultList.last });
|
|
72
72
|
} while (resultList.last);
|
|
73
|
-
return resultFullList;
|
|
73
|
+
return makeList(resultFullList);
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
}
|
package/dist/esm/DataHub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataHub.js","sourceRoot":"","sources":["../../src/DataHub.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAgB,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"DataHub.js","sourceRoot":"","sources":["../../src/DataHub.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAgB,OAAO,EAAQ,QAAQ,EAAE,MAAM,cAAc,CAAC;AAO3E,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AASpC,MAAM,OAAO,OAAQ,SAAQ,IAAI;IAO/B,YAAY,MAAqB;QAC/B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAEvC,KAAK,CAAC;YACJ,KAAK;YACL,YAAY;YACZ,UAAU,EAAE,WAAW;YACvB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IAaM,WAAW,CAAI,MAAoB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC;IACjC,CAAC;IAQY,SAAS,CAAC,SAAiB;;YACtC,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC9D;YAED,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,GAAG;gBACD,OAAO,EAAE,CAAC;gBACV,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEpB,MAAM,SAAS,GAAG;oBAChB,SAAS;oBACT,IAAI,EAAE,MAAM,EAAE;iBACf,CAAC;gBAEF,MAAM,IAAI,GAAG;oBACX,aAAa,EAAE,sBAAsB;oBACrC,KAAK,EAAE,4BAA4B;oBACnC,SAAS;iBACV,CAAC;gBAEF,MAAM,EAAE,IAAI,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAqD;oBAC5H,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,UAAU;oBACjB,IAAI;iBACL,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;oBAC/B,IAAI,MAAM,CAAC,KAAK,EAAE;wBAChB,MAAM,MAAM,CAAC,KAAK,CAAC;qBACpB;oBAED,OAAO,MAAM,CAAC;iBACf;aAEF,QAAQ,OAAO,GAAG,GAAG,EAAE;YAExB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;KAAA;IAQY,WAAW,CAAI,MAA8B,EAAE,KAAa,EAAE,IAAwB;;YACjG,IAAI,UAAkC,CAAC;YACvC,IAAI,cAAc,GAAQ,EAAE,CAAC;YAE7B,GAAG;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAA6B;oBAChE,MAAM;oBACN,KAAK;oBACL,IAAI;iBACL,CAAC,CAAC;gBAEH,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9B,cAAc,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBAE5D,IAAI,CAAC,SAAS,CAAC,MAAM,mCAChB,IAAI,CAAC,SAAS,CAAC,MAAM,KACxB,IAAI,EAAE,UAAU,CAAC,IAAI,GACtB,CAAC;aAEH,QAAQ,UAAU,CAAC,IAAI,EAAE;YAE1B,OAAO,QAAQ,CAAI,cAAc,CAAC,CAAC;QACrC,CAAC;KAAA;CAEF"}
|
package/dist/types/DataHub.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Base, CalApiParams } from '@or-sdk/base';
|
|
2
|
-
import { DataHubConfig,
|
|
1
|
+
import { Base, CalApiParams, List } from '@or-sdk/base';
|
|
2
|
+
import { DataHubConfig, GraphqlRequestData, GraphqlResponseCheckExecution } from './types';
|
|
3
3
|
export declare class DataHub extends Base {
|
|
4
4
|
constructor(params: DataHubConfig);
|
|
5
5
|
makeRequest<T>(params: CalApiParams): Promise<T>;
|
|
6
|
-
subscribe(requestId: string): Promise<
|
|
7
|
-
getFullList<T>(method: CalApiParams['method'], route: string, data: GraphqlRequestData): Promise<T
|
|
6
|
+
subscribe(requestId: string): Promise<GraphqlResponseCheckExecution>;
|
|
7
|
+
getFullList<T>(method: CalApiParams['method'], route: string, data: GraphqlRequestData): Promise<List<T>>;
|
|
8
8
|
}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -3,25 +3,6 @@ export declare type DataHubConfig = {
|
|
|
3
3
|
token: Token;
|
|
4
4
|
discoveryUrl: string;
|
|
5
5
|
};
|
|
6
|
-
export declare type SubscribeResultData = {
|
|
7
|
-
status?: string;
|
|
8
|
-
__deleted__?: {
|
|
9
|
-
deletedDate: number;
|
|
10
|
-
isCascade: {
|
|
11
|
-
BOOL: boolean;
|
|
12
|
-
};
|
|
13
|
-
isOrphan: {
|
|
14
|
-
BOOL: boolean;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
error?: string;
|
|
18
|
-
stack?: string;
|
|
19
|
-
};
|
|
20
|
-
export declare type SubscribeResult = {
|
|
21
|
-
data: {
|
|
22
|
-
checkExecutionResult: SubscribeResultData;
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
6
|
export declare type GraphqlRequestData = {
|
|
26
7
|
operationName: string;
|
|
27
8
|
query: string;
|
|
@@ -36,8 +17,44 @@ export declare type GraphqlResponseList<T> = {
|
|
|
36
17
|
last?: string;
|
|
37
18
|
records: T[];
|
|
38
19
|
};
|
|
39
|
-
export declare type
|
|
40
|
-
|
|
20
|
+
export declare type GraphqlResponseDelete = {
|
|
21
|
+
requestId: string;
|
|
22
|
+
};
|
|
23
|
+
export declare type GraphqlResponseCheckExecution = {
|
|
24
|
+
status?: string;
|
|
25
|
+
__deleted__?: {
|
|
26
|
+
deletedDate: number;
|
|
27
|
+
isCascade: {
|
|
28
|
+
BOOL: boolean;
|
|
29
|
+
};
|
|
30
|
+
isOrphan: {
|
|
31
|
+
BOOL: boolean;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
error?: string;
|
|
35
|
+
stack?: string;
|
|
36
|
+
};
|
|
37
|
+
interface GraphqlResponseVariations<T> {
|
|
38
|
+
list: {
|
|
41
39
|
list: GraphqlResponseList<T>;
|
|
42
40
|
};
|
|
41
|
+
get: {
|
|
42
|
+
get: T;
|
|
43
|
+
};
|
|
44
|
+
create: {
|
|
45
|
+
create: T;
|
|
46
|
+
};
|
|
47
|
+
update: {
|
|
48
|
+
update: T;
|
|
49
|
+
};
|
|
50
|
+
deleteTemporarily: {
|
|
51
|
+
deleteTemporarily: GraphqlResponseDelete;
|
|
52
|
+
};
|
|
53
|
+
checkExecutionResult: {
|
|
54
|
+
checkExecutionResult: GraphqlResponseCheckExecution;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export declare type GraphqlResponse<key extends keyof GraphqlResponseVariations<void>, T> = {
|
|
58
|
+
data: GraphqlResponseVariations<T>[key];
|
|
43
59
|
};
|
|
60
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.8.0",
|
|
3
3
|
"name": "@or-sdk/data-hub",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@or-sdk/base": "^0.
|
|
27
|
+
"@or-sdk/base": "^0.8.0",
|
|
28
28
|
"uuid": "^8.3.2"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "da566635aafed274ea7a9abbc788d6a4961ff9a2"
|
|
31
31
|
}
|
package/src/DataHub.ts
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { Base, CalApiParams, timeout } from '@or-sdk/base';
|
|
1
|
+
import { Base, CalApiParams, timeout, List, makeList } from '@or-sdk/base';
|
|
2
2
|
import {
|
|
3
3
|
DataHubConfig,
|
|
4
|
-
SubscribeResult,
|
|
5
|
-
SubscribeResultData,
|
|
6
4
|
GraphqlRequestData,
|
|
7
5
|
GraphqlResponseList,
|
|
8
|
-
GraphqlResponse,
|
|
6
|
+
GraphqlResponse, GraphqlResponseCheckExecution,
|
|
9
7
|
} from './types';
|
|
10
8
|
import { SERVICE_KEY, QUERY_CHECK_EXECUTION_RESULT } from './constants';
|
|
11
9
|
import { v4 as uuidv4 } from 'uuid';
|
|
12
10
|
|
|
13
11
|
/**
|
|
14
12
|
* OneReach DataHub service client
|
|
15
|
-
*
|
|
13
|
+
* ## Installation:
|
|
16
14
|
* ```
|
|
17
15
|
* $ npm i @or-sdk/data-hub
|
|
18
16
|
* ```
|
|
@@ -20,10 +18,8 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
20
18
|
export class DataHub extends Base {
|
|
21
19
|
/**
|
|
22
20
|
* ```typescript
|
|
23
|
-
*
|
|
24
21
|
* import { DataHub } from '@or-sdk/data-hub'
|
|
25
22
|
* const dataHub = new DataHub({token: 'my-account-token-string', discoveryUrl: 'http://example.tables/endpoint'});
|
|
26
|
-
*
|
|
27
23
|
* ```
|
|
28
24
|
*/
|
|
29
25
|
constructor(params: DataHubConfig) {
|
|
@@ -37,11 +33,28 @@ export class DataHub extends Base {
|
|
|
37
33
|
});
|
|
38
34
|
}
|
|
39
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Make request
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const result = await dataHub.makeRequest({
|
|
40
|
+
* route: '/route',
|
|
41
|
+
* method: 'GET',
|
|
42
|
+
* data: requestData,
|
|
43
|
+
* params: queryParams,
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
40
47
|
public makeRequest<T>(params: CalApiParams): Promise<T> {
|
|
41
|
-
return this.callApi(params);
|
|
48
|
+
return this.callApi<T>(params);
|
|
42
49
|
}
|
|
43
50
|
|
|
44
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Subscribe for result
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const result = await dataHub.subscribe('request-id');
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
public async subscribe(requestId: string): Promise<GraphqlResponseCheckExecution> {
|
|
45
58
|
if (!requestId) {
|
|
46
59
|
throw new Error('subscription error: requestId is required');
|
|
47
60
|
}
|
|
@@ -63,7 +76,7 @@ export class DataHub extends Base {
|
|
|
63
76
|
variables,
|
|
64
77
|
};
|
|
65
78
|
|
|
66
|
-
const { data: { checkExecutionResult: result } }
|
|
79
|
+
const { data: { checkExecutionResult: result } } = await this.makeRequest<GraphqlResponse<'checkExecutionResult', undefined>>({
|
|
67
80
|
method: 'POST',
|
|
68
81
|
route: '/graphql',
|
|
69
82
|
data,
|
|
@@ -82,12 +95,18 @@ export class DataHub extends Base {
|
|
|
82
95
|
throw new Error('subscription error: polling is too long');
|
|
83
96
|
}
|
|
84
97
|
|
|
85
|
-
|
|
98
|
+
/**
|
|
99
|
+
* Get full list from paginated request
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const result = await dataHub.getFullList('POST', '/route', requestData);
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
public async getFullList<T>(method: CalApiParams['method'], route: string, data: GraphqlRequestData): Promise<List<T>> {
|
|
86
105
|
let resultList: GraphqlResponseList<T>;
|
|
87
106
|
let resultFullList: T[] = [];
|
|
88
107
|
|
|
89
108
|
do {
|
|
90
|
-
const result = await this.makeRequest<GraphqlResponse<T>>({
|
|
109
|
+
const result = await this.makeRequest<GraphqlResponse<'list', T>>({
|
|
91
110
|
method,
|
|
92
111
|
route,
|
|
93
112
|
data,
|
|
@@ -103,7 +122,7 @@ export class DataHub extends Base {
|
|
|
103
122
|
|
|
104
123
|
} while (resultList.last);
|
|
105
124
|
|
|
106
|
-
return resultFullList;
|
|
125
|
+
return makeList<T>(resultFullList);
|
|
107
126
|
}
|
|
108
127
|
|
|
109
128
|
}
|
package/src/types.ts
CHANGED
|
@@ -12,27 +12,6 @@ export type DataHubConfig = {
|
|
|
12
12
|
discoveryUrl: string;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
export type SubscribeResultData = {
|
|
16
|
-
status?: string;
|
|
17
|
-
__deleted__?: {
|
|
18
|
-
deletedDate: number;
|
|
19
|
-
isCascade: {
|
|
20
|
-
BOOL: boolean;
|
|
21
|
-
};
|
|
22
|
-
isOrphan: {
|
|
23
|
-
BOOL: boolean;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
error?: string;
|
|
27
|
-
stack?: string;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export type SubscribeResult = {
|
|
31
|
-
data: {
|
|
32
|
-
checkExecutionResult: SubscribeResultData;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
|
|
36
15
|
export type GraphqlRequestData = {
|
|
37
16
|
operationName: string;
|
|
38
17
|
query: string;
|
|
@@ -49,8 +28,34 @@ export type GraphqlResponseList<T> = {
|
|
|
49
28
|
records: T[];
|
|
50
29
|
};
|
|
51
30
|
|
|
52
|
-
export type
|
|
53
|
-
|
|
54
|
-
|
|
31
|
+
export type GraphqlResponseDelete = {
|
|
32
|
+
requestId: string;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export type GraphqlResponseCheckExecution = {
|
|
36
|
+
status?: string;
|
|
37
|
+
__deleted__?: {
|
|
38
|
+
deletedDate: number;
|
|
39
|
+
isCascade: {
|
|
40
|
+
BOOL: boolean;
|
|
41
|
+
};
|
|
42
|
+
isOrphan: {
|
|
43
|
+
BOOL: boolean;
|
|
44
|
+
};
|
|
55
45
|
};
|
|
46
|
+
error?: string;
|
|
47
|
+
stack?: string;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
interface GraphqlResponseVariations<T> {
|
|
51
|
+
list: { list: GraphqlResponseList<T>; };
|
|
52
|
+
get: { get: T; };
|
|
53
|
+
create: { create: T; };
|
|
54
|
+
update: { update: T; };
|
|
55
|
+
deleteTemporarily: { deleteTemporarily: GraphqlResponseDelete; };
|
|
56
|
+
checkExecutionResult: { checkExecutionResult: GraphqlResponseCheckExecution; };
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export type GraphqlResponse<key extends keyof GraphqlResponseVariations<void>, T> = {
|
|
60
|
+
data: GraphqlResponseVariations<T>[key];
|
|
56
61
|
};
|