@vertikalx/vtx-backend-client 3.0.0-dev.9 → 3.0.1-dev-max.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/package.json +16 -3
- package/src/api/api-call-headers.js.map +1 -1
- package/src/api/api-call-headers.ts +35 -0
- package/src/api/backend-response.js.map +1 -1
- package/src/api/backend-response.ts +14 -0
- package/src/api/domains.js.map +1 -1
- package/src/api/domains.ts +6 -0
- package/src/api/response-builder.js.map +1 -1
- package/src/api/response-builder.ts +165 -0
- package/src/api/types.js.map +1 -1
- package/src/api/types.ts +9 -0
- package/src/api/vtx-apikey-api.js.map +1 -1
- package/src/api/vtx-apikey-api.ts +23 -0
- package/src/api/vtx-base-api.d.ts +230 -15
- package/src/api/vtx-base-api.js +590 -8340
- package/src/api/vtx-base-api.js.map +1 -1
- package/src/api/vtx-base-api.ts +2253 -0
- package/src/api/vtx-mobile-api.d.ts +3 -1
- package/src/api/vtx-mobile-api.js +3 -37
- package/src/api/vtx-mobile-api.js.map +1 -1
- package/src/api/vtx-mobile-api.ts +43 -0
- package/src/api/vtx-web-browser-api.js +1 -0
- package/src/api/vtx-web-browser-api.js.map +1 -1
- package/src/api/vtx-web-browser-api.ts +46 -0
- package/src/api/vtx-web-server-api.js +1 -0
- package/src/api/vtx-web-server-api.js.map +1 -1
- package/src/api/vtx-web-server-api.ts +41 -0
- package/src/client/index.js.map +1 -1
- package/src/client/index.ts +65 -0
- package/src/client/runtime/batcher.js.map +1 -1
- package/src/client/runtime/batcher.ts +275 -0
- package/src/client/runtime/createClient.js.map +1 -1
- package/src/client/runtime/createClient.ts +68 -0
- package/src/client/runtime/error.js.map +1 -1
- package/src/client/runtime/error.ts +29 -0
- package/src/client/runtime/fetcher.js.map +1 -1
- package/src/client/runtime/fetcher.ts +97 -0
- package/src/client/runtime/generateGraphqlOperation.js.map +1 -1
- package/src/client/runtime/generateGraphqlOperation.ts +225 -0
- package/src/client/runtime/index.js.map +1 -1
- package/src/client/runtime/index.ts +13 -0
- package/src/client/runtime/linkTypeMap.js.map +1 -1
- package/src/client/runtime/linkTypeMap.ts +156 -0
- package/src/client/runtime/typeSelection.js.map +1 -1
- package/src/client/runtime/typeSelection.ts +95 -0
- package/src/client/runtime/types.js.map +1 -1
- package/src/client/runtime/types.ts +69 -0
- package/src/client/schema.d.ts +3521 -765
- package/src/client/schema.graphql +4256 -0
- package/src/client/schema.js +693 -90
- package/src/client/schema.js.map +1 -1
- package/src/client/schema.ts +8329 -0
- package/src/client/types.d.ts +1817 -379
- package/src/client/types.js +6010 -2227
- package/src/client/types.js.map +1 -1
- package/src/client/types.ts +10578 -0
- package/src/generated/graphql.d.ts +13696 -0
- package/src/generated/graphql.js +5830 -0
- package/src/generated/graphql.js.map +1 -0
- package/src/generated/graphql.ts +12445 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +3 -0
- package/src/index.js.map +1 -1
- package/src/index.ts +16 -0
- package/src/operations/admin.graphql +19 -0
- package/src/operations/ai-coach.graphql +117 -0
- package/src/operations/athlete.graphql +1764 -0
- package/src/operations/auth.graphql +301 -0
- package/src/operations/campaign.graphql +775 -0
- package/src/operations/email-campaign.graphql +160 -0
- package/src/operations/followers.graphql +45 -0
- package/src/operations/integrations.graphql +216 -0
- package/src/operations/leaderboard.graphql +54 -0
- package/src/operations/media.graphql +179 -0
- package/src/operations/notifications.graphql +93 -0
- package/src/operations/offers.graphql +368 -0
- package/src/operations/onboarding.graphql +29 -0
- package/src/operations/sponsor.graphql +368 -0
- package/src/operations/sport.graphql +132 -0
- package/src/operations/user.graphql +446 -0
- package/tsconfig.lib.json +10 -0
- package/tsconfig.lib.tsbuildinfo +1 -1
|
@@ -3,7 +3,9 @@ import { APICallHeaders } from "./api-call-headers";
|
|
|
3
3
|
import { ITypedBackendResponse } from "./backend-response";
|
|
4
4
|
import { VTXBaseAPI } from "./vtx-base-api";
|
|
5
5
|
export declare class VTXMobileAPI extends VTXBaseAPI {
|
|
6
|
-
constructor(backendUrl: string, userToken?: string
|
|
6
|
+
constructor(backendUrl: string, userToken?: string, requestConfig?: {
|
|
7
|
+
fetch?: typeof fetch;
|
|
8
|
+
});
|
|
7
9
|
static getDefaultHeaders(userToken?: string): APICallHeaders;
|
|
8
10
|
getMobileToken(token: string): Promise<ITypedBackendResponse<ValidatedToken>>;
|
|
9
11
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VTXMobileAPI = void 0;
|
|
4
|
-
const client_1 = require("../client");
|
|
5
4
|
const api_call_headers_1 = require("./api-call-headers");
|
|
6
|
-
const response_builder_1 = require("./response-builder");
|
|
7
5
|
const vtx_base_api_1 = require("./vtx-base-api");
|
|
8
6
|
class VTXMobileAPI extends vtx_base_api_1.VTXBaseAPI {
|
|
9
|
-
constructor(backendUrl, userToken) {
|
|
10
|
-
super(backendUrl, VTXMobileAPI.getDefaultHeaders(userToken));
|
|
7
|
+
constructor(backendUrl, userToken, requestConfig) {
|
|
8
|
+
super(backendUrl, VTXMobileAPI.getDefaultHeaders(userToken), requestConfig);
|
|
11
9
|
}
|
|
12
10
|
static getDefaultHeaders(userToken) {
|
|
13
11
|
if (userToken) {
|
|
@@ -23,39 +21,7 @@ class VTXMobileAPI extends vtx_base_api_1.VTXBaseAPI {
|
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
23
|
async getMobileToken(token) {
|
|
26
|
-
|
|
27
|
-
url: this.backendUrl + '/graphql',
|
|
28
|
-
headers: this.headers,
|
|
29
|
-
});
|
|
30
|
-
let retValue = {};
|
|
31
|
-
const fields = {
|
|
32
|
-
accessToken: true,
|
|
33
|
-
refreshToken: true,
|
|
34
|
-
expiresAt: true,
|
|
35
|
-
refreshExpiresAt: true
|
|
36
|
-
};
|
|
37
|
-
try {
|
|
38
|
-
const response = await client.mutation({
|
|
39
|
-
validateToken: {
|
|
40
|
-
__args: {
|
|
41
|
-
input: token
|
|
42
|
-
},
|
|
43
|
-
...fields
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
vtx_base_api_1.VTXBaseAPI.Logger.debug('validateToken Response:');
|
|
47
|
-
vtx_base_api_1.VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
48
|
-
retValue = (0, response_builder_1.buildResponse)(response, 'validateToken', (r) => {
|
|
49
|
-
const isResponseOk = true && response?.validateToken?.accessToken;
|
|
50
|
-
return isResponseOk;
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
catch (err1) {
|
|
54
|
-
vtx_base_api_1.VTXBaseAPI.Logger.error('validateToken err1:');
|
|
55
|
-
vtx_base_api_1.VTXBaseAPI.Logger.error(err1);
|
|
56
|
-
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
57
|
-
}
|
|
58
|
-
return retValue;
|
|
24
|
+
return this.execute(() => this.sdk.ValidateToken({ input: token }), 'validateToken', (r) => !!r?.validateToken?.accessToken, 'validateToken');
|
|
59
25
|
}
|
|
60
26
|
}
|
|
61
27
|
exports.VTXMobileAPI = VTXMobileAPI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vtx-mobile-api.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"vtx-mobile-api.js","sourceRoot":"","sources":["vtx-mobile-api.ts"],"names":[],"mappings":";;;AAGA,yDAA+H;AAG/H,iDAA4C;AAM5C,MAAa,YAAa,SAAQ,yBAAU;IAExC,YAAY,UAAiB,EAAE,SAAiB,EAAE,aAAwC;QACtF,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;IAChF,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,SAAiB;QAE7C,IAAI,SAAS,EAAC,CAAC;YACX,OAAO;gBAEH,CAAC,mDAAgC,CAAC,EAAE,SAAS;gBAC7C,GAAG,kCAAe;aACrB,CAAA;QACL,CAAC;aAAI,CAAC;YACF,OAAO;gBAEH,GAAG,kCAAe;aACrB,CAAA;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,KAAa;QACrC,OAAO,IAAI,CAAC,OAAO,CACf,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAC9C,eAAe,EACf,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,EAC3C,eAAe,CAClB,CAAC;IACN,CAAC;CACJ;AA9BD,oCA8BC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
import pjson from "../../package.json";
|
|
3
|
+
import { ValidatedToken } from "../client";
|
|
4
|
+
import { APICallHeaders, DEFAULT_APP_KEY_HEADER, DEFAULT_HEADERS, DEFAULT_SYSTEM_USER_TOKEN_HEADER } from "./api-call-headers";
|
|
5
|
+
import { ITypedBackendResponse } from "./backend-response";
|
|
6
|
+
import { buildErrorResponse, buildResponse } from "./response-builder";
|
|
7
|
+
import { VTXBaseAPI } from "./vtx-base-api";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
export class VTXMobileAPI extends VTXBaseAPI{
|
|
14
|
+
|
|
15
|
+
constructor(backendUrl:string, userToken?:string, requestConfig?: { fetch?: typeof fetch }){
|
|
16
|
+
super(backendUrl, VTXMobileAPI.getDefaultHeaders(userToken), requestConfig);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public static getDefaultHeaders(userToken?:string):APICallHeaders{
|
|
20
|
+
|
|
21
|
+
if (userToken){
|
|
22
|
+
return {
|
|
23
|
+
//[DEFAULT_APP_KEY_HEADER]: mobileAppKey,
|
|
24
|
+
[DEFAULT_SYSTEM_USER_TOKEN_HEADER]: userToken,
|
|
25
|
+
...DEFAULT_HEADERS
|
|
26
|
+
}
|
|
27
|
+
}else{
|
|
28
|
+
return {
|
|
29
|
+
//[DEFAULT_APP_KEY_HEADER]: mobileAppKey,
|
|
30
|
+
...DEFAULT_HEADERS
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public async getMobileToken(token: string): Promise<ITypedBackendResponse<ValidatedToken>> {
|
|
36
|
+
return this.execute<ValidatedToken>(
|
|
37
|
+
() => this.sdk.ValidateToken({ input: token }),
|
|
38
|
+
'validateToken',
|
|
39
|
+
(r: any) => !!r?.validateToken?.accessToken,
|
|
40
|
+
'validateToken'
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vtx-web-browser-api.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"vtx-web-browser-api.js","sourceRoot":"","sources":["vtx-web-browser-api.ts"],"names":[],"mappings":";;;AAEA,yDAA+H;AAC/H,iDAA4C;AAM5C,MAAa,gBAAiB,SAAQ,yBAAU;IAE5C,YAAY,UAAiB,EAAE,SAAiB;QAC5C,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;IAErE,CAAC;IAEM,YAAY,CAAC,SAAqB;QACrC,IAAI,SAAS,EAAC,CAAC;YACX,IAAI,CAAC,OAAO,GAAG;gBACX,GAAG,IAAI,CAAC,OAAO;gBACf,CAAC,mDAAgC,CAAC,EAAE,SAAS;aAChD,CAAA;QACL,CAAC;aAAI,CAAC;YACF,OAAO,IAAI,CAAC,OAAO,CAAC,mDAAgC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAiC,CAAC,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,SAAiB;QAE7C,IAAI,SAAS,EAAC,CAAC;YACX,OAAO;gBACH,GAAG,kCAAe;gBAClB,CAAC,mDAAgC,CAAC,EAAE,SAAS;aAChD,CAAA;QAEL,CAAC;aAAI,CAAC;YACF,OAAO;gBACH,GAAG,kCAAe;aACrB,CAAA;QAEL,CAAC;IAEL,CAAC;CAEJ;AApCD,4CAoCC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
|
|
2
|
+
import pjson from "../../package.json";
|
|
3
|
+
import { APICallHeaders, DEFAULT_APP_KEY_HEADER, DEFAULT_HEADERS, DEFAULT_SYSTEM_USER_TOKEN_HEADER } from "./api-call-headers";
|
|
4
|
+
import { VTXBaseAPI } from "./vtx-base-api";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
export class VTXWebBrowserAPI extends VTXBaseAPI{
|
|
11
|
+
|
|
12
|
+
constructor(backendUrl:string, userToken?:string ){
|
|
13
|
+
super(backendUrl, VTXWebBrowserAPI.getDefaultHeaders(userToken));
|
|
14
|
+
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
public setUserToken(userToken:string|null){
|
|
18
|
+
if (userToken){
|
|
19
|
+
this.headers = {
|
|
20
|
+
...this.headers,
|
|
21
|
+
[DEFAULT_SYSTEM_USER_TOKEN_HEADER]: userToken,
|
|
22
|
+
}
|
|
23
|
+
}else{
|
|
24
|
+
delete this.headers[DEFAULT_SYSTEM_USER_TOKEN_HEADER];
|
|
25
|
+
}
|
|
26
|
+
this.gqlClient.setHeaders(this.headers as Record<string, string>);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public static getDefaultHeaders(userToken?:string):APICallHeaders{
|
|
30
|
+
|
|
31
|
+
if (userToken){
|
|
32
|
+
return {
|
|
33
|
+
...DEFAULT_HEADERS,
|
|
34
|
+
[DEFAULT_SYSTEM_USER_TOKEN_HEADER]: userToken,
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
}else{
|
|
38
|
+
return {
|
|
39
|
+
...DEFAULT_HEADERS
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
}
|
|
@@ -20,6 +20,7 @@ class VTXWebServerAPI extends vtx_base_api_1.VTXBaseAPI {
|
|
|
20
20
|
else {
|
|
21
21
|
delete this.headers[api_call_headers_1.DEFAULT_SYSTEM_USER_TOKEN_HEADER];
|
|
22
22
|
}
|
|
23
|
+
this.gqlClient.setHeaders(this.headers);
|
|
23
24
|
}
|
|
24
25
|
static getDefaultHeaders(systemKeyName, systemKeyValue) {
|
|
25
26
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vtx-web-server-api.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"vtx-web-server-api.js","sourceRoot":"","sources":["vtx-web-server-api.ts"],"names":[],"mappings":";;;AAEA,yDAAgM;AAChM,iDAA4C;AAM5C,MAAa,eAAgB,SAAQ,yBAAU;IAE3C,YAAY,UAAiB,EAAE,aAAoB,EAAE,cAAqB;QACtE,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,iBAAiB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;QAEpF,IAAI,yBAAU,CAAC,SAAS,EAAE,EAAC,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IACM,YAAY,CAAC,SAAqB;QACrC,IAAI,SAAS,EAAC,CAAC;YACX,IAAI,CAAC,OAAO,GAAG;gBACX,CAAC,mDAAgC,CAAC,EAAE,SAAS;gBAC7C,GAAG,IAAI,CAAC,OAAO;aAClB,CAAA;QACL,CAAC;aAAI,CAAC;YACF,OAAO,IAAI,CAAC,OAAO,CAAC,mDAAgC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAiC,CAAC,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,aAAoB,EAAE,cAAqB;QAEvE,OAAO;YACH,CAAC,iDAA8B,CAAC,EAAE,aAAa;YAC/C,CAAC,kDAA+B,CAAC,EAAE,cAAc;YACjD,GAAG,kCAAe;SACrB,CAAA;IAEL,CAAC;CAEJ;AA/BD,0CA+BC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
|
|
2
|
+
import pjson from "../../package.json";
|
|
3
|
+
import { APICallHeaders, DEFAULT_APP_KEY_HEADER, DEFAULT_HEADERS, DEFAULT_SYSTEM_KEY_NAME_HEADER, DEFAULT_SYSTEM_KEY_VALUE_HEADER, DEFAULT_SYSTEM_USER_TOKEN_HEADER } from "./api-call-headers";
|
|
4
|
+
import { VTXBaseAPI } from "./vtx-base-api";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
export class VTXWebServerAPI extends VTXBaseAPI{
|
|
11
|
+
|
|
12
|
+
constructor(backendUrl:string, systemKeyName:string, systemKeyValue:string){
|
|
13
|
+
super(backendUrl, VTXWebServerAPI.getDefaultHeaders(systemKeyName, systemKeyValue));
|
|
14
|
+
|
|
15
|
+
if (VTXBaseAPI.isBrowser()){
|
|
16
|
+
throw new Error('VTXWebServerAPI should NOT be used in Browser');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
public setUserToken(userToken:string|null){
|
|
20
|
+
if (userToken){
|
|
21
|
+
this.headers = {
|
|
22
|
+
[DEFAULT_SYSTEM_USER_TOKEN_HEADER]: userToken,
|
|
23
|
+
...this.headers
|
|
24
|
+
}
|
|
25
|
+
}else{
|
|
26
|
+
delete this.headers[DEFAULT_SYSTEM_USER_TOKEN_HEADER];
|
|
27
|
+
}
|
|
28
|
+
this.gqlClient.setHeaders(this.headers as Record<string, string>);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public static getDefaultHeaders(systemKeyName:string, systemKeyValue:string):APICallHeaders{
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
[DEFAULT_SYSTEM_KEY_NAME_HEADER]: systemKeyName,
|
|
35
|
+
[DEFAULT_SYSTEM_KEY_VALUE_HEADER]: systemKeyValue,
|
|
36
|
+
...DEFAULT_HEADERS
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
}
|
package/src/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAOA,uCAQkB;AAET,2FAHP,oBAAU,OAGO;AAEnB,mCAA2B;AAC3B,2CAAwB;AACxB,MAAM,OAAO,GAAG,IAAA,qBAAW,EAAC,eAAY,CAAC,CAAA;AAYlC,MAAM,YAAY,GAAG,UAAU,OAAuB;IAC3D,OAAO,IAAA,sBAAoB,EAAC;QAC1B,GAAG,EAAE,SAAS;QAEd,GAAG,OAAO;QACV,SAAS,EAAE,OAAO,CAAC,KAAM;QACzB,YAAY,EAAE,OAAO,CAAC,QAAS;QAC/B,gBAAgB,EAAE,OAAO,CAAC,YAAa;KACxC,CAAQ,CAAA;AACX,CAAC,CAAA;AATY,QAAA,YAAY,gBASxB;AAEY,QAAA,UAAU,GAAG;IACxB,QAAQ,EAAE,IAAI;CACf,CAAA;AAMM,MAAM,eAAe,GAEJ,UAAU,MAAM;IACtC,OAAO,IAAA,kCAAwB,EAAC,OAAO,EAAE,OAAO,CAAC,KAAM,EAAE,MAAa,CAAC,CAAA;AACzE,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B;AAIM,MAAM,kBAAkB,GAEP,UAAU,MAAM;IACtC,OAAO,IAAA,kCAAwB,EAAC,UAAU,EAAE,OAAO,CAAC,QAAS,EAAE,MAAa,CAAC,CAAA;AAC/E,CAAC,CAAA;AAJY,QAAA,kBAAkB,sBAI9B"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import type {
|
|
3
|
+
QueryGenqlSelection,
|
|
4
|
+
Query,
|
|
5
|
+
MutationGenqlSelection,
|
|
6
|
+
Mutation,
|
|
7
|
+
} from './schema'
|
|
8
|
+
import {
|
|
9
|
+
linkTypeMap,
|
|
10
|
+
createClient as createClientOriginal,
|
|
11
|
+
generateGraphqlOperation,
|
|
12
|
+
type FieldsSelection,
|
|
13
|
+
type GraphqlOperation,
|
|
14
|
+
type ClientOptions,
|
|
15
|
+
GenqlError,
|
|
16
|
+
} from './runtime'
|
|
17
|
+
export type { FieldsSelection } from './runtime'
|
|
18
|
+
export { GenqlError }
|
|
19
|
+
|
|
20
|
+
import types from './types'
|
|
21
|
+
export * from './schema'
|
|
22
|
+
const typeMap = linkTypeMap(types as any)
|
|
23
|
+
|
|
24
|
+
export interface Client {
|
|
25
|
+
query<R extends QueryGenqlSelection>(
|
|
26
|
+
request: R & { __name?: string },
|
|
27
|
+
): Promise<FieldsSelection<Query, R>>
|
|
28
|
+
|
|
29
|
+
mutation<R extends MutationGenqlSelection>(
|
|
30
|
+
request: R & { __name?: string },
|
|
31
|
+
): Promise<FieldsSelection<Mutation, R>>
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export const createClient = function (options?: ClientOptions): Client {
|
|
35
|
+
return createClientOriginal({
|
|
36
|
+
url: undefined,
|
|
37
|
+
|
|
38
|
+
...options,
|
|
39
|
+
queryRoot: typeMap.Query!,
|
|
40
|
+
mutationRoot: typeMap.Mutation!,
|
|
41
|
+
subscriptionRoot: typeMap.Subscription!,
|
|
42
|
+
}) as any
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export const everything = {
|
|
46
|
+
__scalar: true,
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export type QueryResult<fields extends QueryGenqlSelection> = FieldsSelection<
|
|
50
|
+
Query,
|
|
51
|
+
fields
|
|
52
|
+
>
|
|
53
|
+
export const generateQueryOp: (
|
|
54
|
+
fields: QueryGenqlSelection & { __name?: string },
|
|
55
|
+
) => GraphqlOperation = function (fields) {
|
|
56
|
+
return generateGraphqlOperation('query', typeMap.Query!, fields as any)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export type MutationResult<fields extends MutationGenqlSelection> =
|
|
60
|
+
FieldsSelection<Mutation, fields>
|
|
61
|
+
export const generateMutationOp: (
|
|
62
|
+
fields: MutationGenqlSelection & { __name?: string },
|
|
63
|
+
) => GraphqlOperation = function (fields) {
|
|
64
|
+
return generateGraphqlOperation('mutation', typeMap.Mutation!, fields as any)
|
|
65
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batcher.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"batcher.js","sourceRoot":"","sources":["batcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import type { GraphqlOperation } from './generateGraphqlOperation'
|
|
3
|
+
import { GenqlError } from './error'
|
|
4
|
+
|
|
5
|
+
type Variables = Record<string, any>
|
|
6
|
+
|
|
7
|
+
type QueryError = Error & {
|
|
8
|
+
message: string
|
|
9
|
+
|
|
10
|
+
locations?: Array<{
|
|
11
|
+
line: number
|
|
12
|
+
column: number
|
|
13
|
+
}>
|
|
14
|
+
path?: any
|
|
15
|
+
rid: string
|
|
16
|
+
details?: Record<string, any>
|
|
17
|
+
}
|
|
18
|
+
type Result = {
|
|
19
|
+
data: Record<string, any>
|
|
20
|
+
errors: Array<QueryError>
|
|
21
|
+
}
|
|
22
|
+
type Fetcher = (
|
|
23
|
+
batchedQuery: GraphqlOperation | Array<GraphqlOperation>,
|
|
24
|
+
) => Promise<Array<Result>>
|
|
25
|
+
type Options = {
|
|
26
|
+
batchInterval?: number
|
|
27
|
+
shouldBatch?: boolean
|
|
28
|
+
maxBatchSize?: number
|
|
29
|
+
}
|
|
30
|
+
type Queue = Array<{
|
|
31
|
+
request: GraphqlOperation
|
|
32
|
+
resolve: (...args: Array<any>) => any
|
|
33
|
+
reject: (...args: Array<any>) => any
|
|
34
|
+
}>
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* takes a list of requests (queue) and batches them into a single server request.
|
|
38
|
+
* It will then resolve each individual requests promise with the appropriate data.
|
|
39
|
+
* @private
|
|
40
|
+
* @param {QueryBatcher} client - the client to use
|
|
41
|
+
* @param {Queue} queue - the list of requests to batch
|
|
42
|
+
*/
|
|
43
|
+
function dispatchQueueBatch(client: QueryBatcher, queue: Queue): void {
|
|
44
|
+
let batchedQuery: any = queue.map((item) => item.request)
|
|
45
|
+
|
|
46
|
+
if (batchedQuery.length === 1) {
|
|
47
|
+
batchedQuery = batchedQuery[0]
|
|
48
|
+
}
|
|
49
|
+
(() => {
|
|
50
|
+
try {
|
|
51
|
+
return client.fetcher(batchedQuery);
|
|
52
|
+
} catch(e) {
|
|
53
|
+
return Promise.reject(e);
|
|
54
|
+
}
|
|
55
|
+
})().then((responses: any) => {
|
|
56
|
+
if (queue.length === 1 && !Array.isArray(responses)) {
|
|
57
|
+
if (responses.errors && responses.errors.length) {
|
|
58
|
+
queue[0].reject(
|
|
59
|
+
new GenqlError(responses.errors, responses.data),
|
|
60
|
+
)
|
|
61
|
+
return
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
queue[0].resolve(responses)
|
|
65
|
+
return
|
|
66
|
+
} else if (responses.length !== queue.length) {
|
|
67
|
+
throw new Error('response length did not match query length')
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
for (let i = 0; i < queue.length; i++) {
|
|
71
|
+
if (responses[i].errors && responses[i].errors.length) {
|
|
72
|
+
queue[i].reject(
|
|
73
|
+
new GenqlError(responses[i].errors, responses[i].data),
|
|
74
|
+
)
|
|
75
|
+
} else {
|
|
76
|
+
queue[i].resolve(responses[i])
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
})
|
|
80
|
+
.catch((e) => {
|
|
81
|
+
for (let i = 0; i < queue.length; i++) {
|
|
82
|
+
queue[i].reject(e)
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* creates a list of requests to batch according to max batch size.
|
|
89
|
+
* @private
|
|
90
|
+
* @param {QueryBatcher} client - the client to create list of requests from from
|
|
91
|
+
* @param {Options} options - the options for the batch
|
|
92
|
+
*/
|
|
93
|
+
function dispatchQueue(client: QueryBatcher, options: Options): void {
|
|
94
|
+
const queue = client._queue
|
|
95
|
+
const maxBatchSize = options.maxBatchSize || 0
|
|
96
|
+
client._queue = []
|
|
97
|
+
|
|
98
|
+
if (maxBatchSize > 0 && maxBatchSize < queue.length) {
|
|
99
|
+
for (let i = 0; i < queue.length / maxBatchSize; i++) {
|
|
100
|
+
dispatchQueueBatch(
|
|
101
|
+
client,
|
|
102
|
+
queue.slice(i * maxBatchSize, (i + 1) * maxBatchSize),
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
} else {
|
|
106
|
+
dispatchQueueBatch(client, queue)
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Create a batcher client.
|
|
111
|
+
* @param {Fetcher} fetcher - A function that can handle the network requests to graphql endpoint
|
|
112
|
+
* @param {Options} options - the options to be used by client
|
|
113
|
+
* @param {boolean} options.shouldBatch - should the client batch requests. (default true)
|
|
114
|
+
* @param {integer} options.batchInterval - duration (in MS) of each batch window. (default 6)
|
|
115
|
+
* @param {integer} options.maxBatchSize - max number of requests in a batch. (default 0)
|
|
116
|
+
* @param {boolean} options.defaultHeaders - default headers to include with every request
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* const fetcher = batchedQuery => fetch('path/to/graphql', {
|
|
120
|
+
* method: 'post',
|
|
121
|
+
* headers: {
|
|
122
|
+
* Accept: 'application/json',
|
|
123
|
+
* 'Content-Type': 'application/json',
|
|
124
|
+
* },
|
|
125
|
+
* body: JSON.stringify(batchedQuery),
|
|
126
|
+
* credentials: 'include',
|
|
127
|
+
* })
|
|
128
|
+
* .then(response => response.json())
|
|
129
|
+
*
|
|
130
|
+
* const client = new QueryBatcher(fetcher, { maxBatchSize: 10 })
|
|
131
|
+
*/
|
|
132
|
+
|
|
133
|
+
export class QueryBatcher {
|
|
134
|
+
fetcher: Fetcher
|
|
135
|
+
_options: Options
|
|
136
|
+
_queue: Queue
|
|
137
|
+
|
|
138
|
+
constructor(
|
|
139
|
+
fetcher: Fetcher,
|
|
140
|
+
{
|
|
141
|
+
batchInterval = 6,
|
|
142
|
+
shouldBatch = true,
|
|
143
|
+
maxBatchSize = 0,
|
|
144
|
+
}: Options = {},
|
|
145
|
+
) {
|
|
146
|
+
this.fetcher = fetcher
|
|
147
|
+
this._options = {
|
|
148
|
+
batchInterval,
|
|
149
|
+
shouldBatch,
|
|
150
|
+
maxBatchSize,
|
|
151
|
+
}
|
|
152
|
+
this._queue = []
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Fetch will send a graphql request and return the parsed json.
|
|
157
|
+
* @param {string} query - the graphql query.
|
|
158
|
+
* @param {Variables} variables - any variables you wish to inject as key/value pairs.
|
|
159
|
+
* @param {[string]} operationName - the graphql operationName.
|
|
160
|
+
* @param {Options} overrides - the client options overrides.
|
|
161
|
+
*
|
|
162
|
+
* @return {promise} resolves to parsed json of server response
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* client.fetch(`
|
|
166
|
+
* query getHuman($id: ID!) {
|
|
167
|
+
* human(id: $id) {
|
|
168
|
+
* name
|
|
169
|
+
* height
|
|
170
|
+
* }
|
|
171
|
+
* }
|
|
172
|
+
* `, { id: "1001" }, 'getHuman')
|
|
173
|
+
* .then(human => {
|
|
174
|
+
* // do something with human
|
|
175
|
+
* console.log(human);
|
|
176
|
+
* });
|
|
177
|
+
*/
|
|
178
|
+
fetch(
|
|
179
|
+
query: string,
|
|
180
|
+
variables?: Variables,
|
|
181
|
+
operationName?: string,
|
|
182
|
+
overrides: Options = {},
|
|
183
|
+
): Promise<Result> {
|
|
184
|
+
const request: GraphqlOperation = {
|
|
185
|
+
query,
|
|
186
|
+
}
|
|
187
|
+
const options = Object.assign({}, this._options, overrides)
|
|
188
|
+
|
|
189
|
+
if (variables) {
|
|
190
|
+
request.variables = variables
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
if (operationName) {
|
|
194
|
+
request.operationName = operationName
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
const promise = new Promise<Result>((resolve, reject) => {
|
|
198
|
+
this._queue.push({
|
|
199
|
+
request,
|
|
200
|
+
resolve,
|
|
201
|
+
reject,
|
|
202
|
+
})
|
|
203
|
+
|
|
204
|
+
if (this._queue.length === 1) {
|
|
205
|
+
if (options.shouldBatch) {
|
|
206
|
+
setTimeout(
|
|
207
|
+
() => dispatchQueue(this, options),
|
|
208
|
+
options.batchInterval,
|
|
209
|
+
)
|
|
210
|
+
} else {
|
|
211
|
+
dispatchQueue(this, options)
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
})
|
|
215
|
+
return promise
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Fetch will send a graphql request and return the parsed json.
|
|
220
|
+
* @param {string} query - the graphql query.
|
|
221
|
+
* @param {Variables} variables - any variables you wish to inject as key/value pairs.
|
|
222
|
+
* @param {[string]} operationName - the graphql operationName.
|
|
223
|
+
* @param {Options} overrides - the client options overrides.
|
|
224
|
+
*
|
|
225
|
+
* @return {Promise<Array<Result>>} resolves to parsed json of server response
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* client.forceFetch(`
|
|
229
|
+
* query getHuman($id: ID!) {
|
|
230
|
+
* human(id: $id) {
|
|
231
|
+
* name
|
|
232
|
+
* height
|
|
233
|
+
* }
|
|
234
|
+
* }
|
|
235
|
+
* `, { id: "1001" }, 'getHuman')
|
|
236
|
+
* .then(human => {
|
|
237
|
+
* // do something with human
|
|
238
|
+
* console.log(human);
|
|
239
|
+
* });
|
|
240
|
+
*/
|
|
241
|
+
forceFetch(
|
|
242
|
+
query: string,
|
|
243
|
+
variables?: Variables,
|
|
244
|
+
operationName?: string,
|
|
245
|
+
overrides: Options = {},
|
|
246
|
+
): Promise<Result> {
|
|
247
|
+
const request: GraphqlOperation = {
|
|
248
|
+
query,
|
|
249
|
+
}
|
|
250
|
+
const options = Object.assign({}, this._options, overrides, {
|
|
251
|
+
shouldBatch: false,
|
|
252
|
+
})
|
|
253
|
+
|
|
254
|
+
if (variables) {
|
|
255
|
+
request.variables = variables
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if (operationName) {
|
|
259
|
+
request.operationName = operationName
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
const promise = new Promise<Result>((resolve, reject) => {
|
|
263
|
+
const client = new QueryBatcher(this.fetcher, this._options)
|
|
264
|
+
client._queue = [
|
|
265
|
+
{
|
|
266
|
+
request,
|
|
267
|
+
resolve,
|
|
268
|
+
reject,
|
|
269
|
+
},
|
|
270
|
+
]
|
|
271
|
+
dispatchQueue(client, options)
|
|
272
|
+
})
|
|
273
|
+
return promise
|
|
274
|
+
}
|
|
275
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createClient.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"createClient.js","sourceRoot":"","sources":["createClient.ts"],"names":[],"mappings":";;;AAEA,uCAA6D;AAE7D,yEAGmC;AAmB5B,MAAM,YAAY,GAAG,CAAC,EACzB,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,GAAG,OAAO,EAKb,EAAE,EAAE;IACD,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAA;IACtC,MAAM,MAAM,GAGR,EAAE,CAAA;IAEN,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,CAAC,KAAK,GAAG,CAAC,OAAY,EAAE,EAAE;YAC5B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAEhE,MAAM,aAAa,GAAG,OAAO,CACzB,IAAA,mDAAwB,EAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CACxD,CAAA;YAED,OAAO,aAAa,CAAA;QACxB,CAAC,CAAA;IACL,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACf,MAAM,CAAC,QAAQ,GAAG,CAAC,OAAY,EAAE,EAAE;YAC/B,IAAI,CAAC,YAAY;gBACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;YAEvD,MAAM,aAAa,GAAG,OAAO,CACzB,IAAA,mDAAwB,EAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAC9D,CAAA;YAED,OAAO,aAAa,CAAA;QACxB,CAAC,CAAA;IACL,CAAC;IAED,OAAO,MAAa,CAAA;AACxB,CAAC,CAAA;AAzCY,QAAA,YAAY,gBAyCxB"}
|