@vertikalx/vtx-backend-client 3.0.0-dev-max.101 → 3.0.0-dev-max.103

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.
Files changed (94) hide show
  1. package/package.json +1 -1
  2. package/src/api/api-call-headers.d.ts +12 -0
  3. package/src/api/api-call-headers.js +16 -0
  4. package/src/api/api-call-headers.js.map +1 -0
  5. package/src/api/backend-response.d.ts +10 -0
  6. package/src/api/backend-response.js +3 -0
  7. package/src/api/backend-response.js.map +1 -0
  8. package/src/api/domains.d.ts +4 -0
  9. package/src/api/domains.js +8 -0
  10. package/src/api/domains.js.map +1 -0
  11. package/src/api/response-builder.d.ts +4 -0
  12. package/src/api/response-builder.js +123 -0
  13. package/src/api/response-builder.js.map +1 -0
  14. package/src/api/types.d.ts +2 -0
  15. package/src/api/types.js +3 -0
  16. package/src/api/types.js.map +1 -0
  17. package/src/api/vtx-apikey-api.d.ts +6 -0
  18. package/src/api/vtx-apikey-api.js +19 -0
  19. package/src/api/vtx-apikey-api.js.map +1 -0
  20. package/src/api/vtx-base-api.d.ts +243 -0
  21. package/src/api/vtx-base-api.js +11062 -0
  22. package/src/api/vtx-base-api.js.map +1 -0
  23. package/src/api/vtx-mobile-api.d.ts +9 -0
  24. package/src/api/vtx-mobile-api.js +62 -0
  25. package/src/api/vtx-mobile-api.js.map +1 -0
  26. package/src/api/vtx-web-browser-api.d.ts +7 -0
  27. package/src/api/vtx-web-browser-api.js +36 -0
  28. package/src/api/vtx-web-browser-api.js.map +1 -0
  29. package/src/api/vtx-web-server-api.d.ts +7 -0
  30. package/src/api/vtx-web-server-api.js +33 -0
  31. package/src/api/vtx-web-server-api.js.map +1 -0
  32. package/src/client/index.d.ts +25 -0
  33. package/src/client/index.js +44 -0
  34. package/src/client/index.js.map +1 -0
  35. package/src/client/runtime/batcher.d.ts +36 -0
  36. package/src/client/runtime/batcher.js +123 -0
  37. package/src/client/runtime/batcher.js.map +1 -0
  38. package/src/client/runtime/createClient.d.ts +17 -0
  39. package/src/client/runtime/createClient.js +28 -0
  40. package/src/client/runtime/createClient.js.map +1 -0
  41. package/src/client/runtime/error.d.ts +15 -0
  42. package/src/client/runtime/error.js +19 -0
  43. package/src/client/runtime/error.js.map +1 -0
  44. package/src/client/runtime/fetcher.d.ts +10 -0
  45. package/src/client/runtime/fetcher.js +68 -0
  46. package/src/client/runtime/fetcher.js.map +1 -0
  47. package/src/client/runtime/generateGraphqlOperation.d.ts +30 -0
  48. package/src/client/runtime/generateGraphqlOperation.js +134 -0
  49. package/src/client/runtime/generateGraphqlOperation.js.map +1 -0
  50. package/src/client/runtime/index.d.ts +11 -0
  51. package/src/client/runtime/index.js +17 -0
  52. package/src/client/runtime/index.js.map +1 -0
  53. package/src/client/runtime/linkTypeMap.d.ts +9 -0
  54. package/src/client/runtime/linkTypeMap.js +95 -0
  55. package/src/client/runtime/linkTypeMap.js.map +1 -0
  56. package/src/client/runtime/typeSelection.d.ts +28 -0
  57. package/src/client/runtime/typeSelection.js +3 -0
  58. package/src/client/runtime/typeSelection.js.map +1 -0
  59. package/src/client/runtime/types.d.ts +55 -0
  60. package/src/client/runtime/types.js +3 -0
  61. package/src/client/runtime/types.js.map +1 -0
  62. package/src/client/schema.d.ts +6673 -0
  63. package/src/client/schema.js +1458 -0
  64. package/src/client/schema.js.map +1 -0
  65. package/src/client/types.d.ts +3517 -0
  66. package/src/client/{types.ts → types.js} +8 -2
  67. package/src/client/types.js.map +1 -0
  68. package/src/{index.ts → index.d.ts} +2 -3
  69. package/src/index.js +28 -0
  70. package/src/index.js.map +1 -0
  71. package/tsconfig.lib.tsbuildinfo +1 -0
  72. package/src/api/api-call-headers.ts +0 -35
  73. package/src/api/backend-response.ts +0 -14
  74. package/src/api/domains.ts +0 -6
  75. package/src/api/response-builder.ts +0 -165
  76. package/src/api/types.ts +0 -9
  77. package/src/api/vtx-apikey-api.ts +0 -23
  78. package/src/api/vtx-base-api.ts +0 -14079
  79. package/src/api/vtx-mobile-api.ts +0 -74
  80. package/src/api/vtx-web-browser-api.ts +0 -45
  81. package/src/api/vtx-web-server-api.ts +0 -40
  82. package/src/client/index.ts +0 -65
  83. package/src/client/runtime/batcher.ts +0 -275
  84. package/src/client/runtime/createClient.ts +0 -68
  85. package/src/client/runtime/error.ts +0 -29
  86. package/src/client/runtime/fetcher.ts +0 -97
  87. package/src/client/runtime/generateGraphqlOperation.ts +0 -225
  88. package/src/client/runtime/index.ts +0 -13
  89. package/src/client/runtime/linkTypeMap.ts +0 -156
  90. package/src/client/runtime/typeSelection.ts +0 -95
  91. package/src/client/runtime/types.ts +0 -69
  92. package/src/client/schema.graphql +0 -3465
  93. package/src/client/schema.ts +0 -7030
  94. package/tsconfig.lib.json +0 -10
@@ -0,0 +1,9 @@
1
+ import { ValidatedToken } from "../client";
2
+ import { APICallHeaders } from "./api-call-headers";
3
+ import { ITypedBackendResponse } from "./backend-response";
4
+ import { VTXBaseAPI } from "./vtx-base-api";
5
+ export declare class VTXMobileAPI extends VTXBaseAPI {
6
+ constructor(backendUrl: string, userToken?: string);
7
+ static getDefaultHeaders(userToken?: string): APICallHeaders;
8
+ getMobileToken(token: string): Promise<ITypedBackendResponse<ValidatedToken>>;
9
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VTXMobileAPI = void 0;
4
+ const client_1 = require("../client");
5
+ const api_call_headers_1 = require("./api-call-headers");
6
+ const response_builder_1 = require("./response-builder");
7
+ const vtx_base_api_1 = require("./vtx-base-api");
8
+ class VTXMobileAPI extends vtx_base_api_1.VTXBaseAPI {
9
+ constructor(backendUrl, userToken) {
10
+ super(backendUrl, VTXMobileAPI.getDefaultHeaders(userToken));
11
+ }
12
+ static getDefaultHeaders(userToken) {
13
+ if (userToken) {
14
+ return {
15
+ [api_call_headers_1.DEFAULT_SYSTEM_USER_TOKEN_HEADER]: userToken,
16
+ ...api_call_headers_1.DEFAULT_HEADERS
17
+ };
18
+ }
19
+ else {
20
+ return {
21
+ ...api_call_headers_1.DEFAULT_HEADERS
22
+ };
23
+ }
24
+ }
25
+ async getMobileToken(token) {
26
+ const client = (0, client_1.createClient)({
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;
59
+ }
60
+ }
61
+ exports.VTXMobileAPI = VTXMobileAPI;
62
+ //# sourceMappingURL=vtx-mobile-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vtx-mobile-api.js","sourceRoot":"","sources":["../../../../../libs/vtx-backend-client/src/api/vtx-mobile-api.ts"],"names":[],"mappings":";;;AAEA,sCAAuF;AACvF,yDAA+H;AAE/H,yDAAuE;AACvE,iDAA4C;AAM5C,MAAa,YAAa,SAAQ,yBAAU;IAExC,YAAY,UAAiB,EAAE,SAAiB;QAC5C,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,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,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC;YACxB,GAAG,EAAE,IAAI,CAAC,UAAU,GAAG,UAAU;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,IAAI,QAAQ,GAA0C,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAiC;YACzC,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI;YACf,gBAAgB,EAAE,IAAI;SACzB,CAAA;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAQ,MAAM,MAAM,CAAC,QAAQ,CAAC;gBAC5C,aAAa,EAAE;oBACX,MAAM,EAAE;wBACR,KAAK,EAAE,KAAK;qBACX;oBACD,GAAG,MAAM;iBACZ;aACA,CAAC,CAAC;YACH,yBAAU,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACnD,yBAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3D,QAAQ,GAAG,IAAA,gCAAa,EAAiB,QAAQ,EAAE,eAAe,EAClE,CAAC,CAAM,EAAE,EAAE;gBACP,MAAM,YAAY,GAAY,IAAI,IAAI,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC;gBAC3E,OAAO,YAAY,CAAA;YACvB,CAAC,CACA,CAAC;QACN,CAAC;QAAC,OAAO,IAAI,EAAE,CAAC;YACZ,yBAAU,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC/C,yBAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,QAAQ,GAAG,IAAA,qCAAkB,EAAiB,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AA7DD,oCA6DC"}
@@ -0,0 +1,7 @@
1
+ import { APICallHeaders } from "./api-call-headers";
2
+ import { VTXBaseAPI } from "./vtx-base-api";
3
+ export declare class VTXWebBrowserAPI extends VTXBaseAPI {
4
+ constructor(backendUrl: string, userToken?: string);
5
+ setUserToken(userToken: string | null): void;
6
+ static getDefaultHeaders(userToken?: string): APICallHeaders;
7
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VTXWebBrowserAPI = void 0;
4
+ const api_call_headers_1 = require("./api-call-headers");
5
+ const vtx_base_api_1 = require("./vtx-base-api");
6
+ class VTXWebBrowserAPI extends vtx_base_api_1.VTXBaseAPI {
7
+ constructor(backendUrl, userToken) {
8
+ super(backendUrl, VTXWebBrowserAPI.getDefaultHeaders(userToken));
9
+ }
10
+ setUserToken(userToken) {
11
+ if (userToken) {
12
+ this.headers = {
13
+ ...this.headers,
14
+ [api_call_headers_1.DEFAULT_SYSTEM_USER_TOKEN_HEADER]: userToken,
15
+ };
16
+ }
17
+ else {
18
+ delete this.headers[api_call_headers_1.DEFAULT_SYSTEM_USER_TOKEN_HEADER];
19
+ }
20
+ }
21
+ static getDefaultHeaders(userToken) {
22
+ if (userToken) {
23
+ return {
24
+ ...api_call_headers_1.DEFAULT_HEADERS,
25
+ [api_call_headers_1.DEFAULT_SYSTEM_USER_TOKEN_HEADER]: userToken,
26
+ };
27
+ }
28
+ else {
29
+ return {
30
+ ...api_call_headers_1.DEFAULT_HEADERS
31
+ };
32
+ }
33
+ }
34
+ }
35
+ exports.VTXWebBrowserAPI = VTXWebBrowserAPI;
36
+ //# sourceMappingURL=vtx-web-browser-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vtx-web-browser-api.js","sourceRoot":"","sources":["../../../../../libs/vtx-backend-client/src/api/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;IACL,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;AAnCD,4CAmCC"}
@@ -0,0 +1,7 @@
1
+ import { APICallHeaders } from "./api-call-headers";
2
+ import { VTXBaseAPI } from "./vtx-base-api";
3
+ export declare class VTXWebServerAPI extends VTXBaseAPI {
4
+ constructor(backendUrl: string, systemKeyName: string, systemKeyValue: string);
5
+ setUserToken(userToken: string | null): void;
6
+ static getDefaultHeaders(systemKeyName: string, systemKeyValue: string): APICallHeaders;
7
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VTXWebServerAPI = void 0;
4
+ const api_call_headers_1 = require("./api-call-headers");
5
+ const vtx_base_api_1 = require("./vtx-base-api");
6
+ class VTXWebServerAPI extends vtx_base_api_1.VTXBaseAPI {
7
+ constructor(backendUrl, systemKeyName, systemKeyValue) {
8
+ super(backendUrl, VTXWebServerAPI.getDefaultHeaders(systemKeyName, systemKeyValue));
9
+ if (vtx_base_api_1.VTXBaseAPI.isBrowser()) {
10
+ throw new Error('VTXWebServerAPI should NOT be used in Browser');
11
+ }
12
+ }
13
+ setUserToken(userToken) {
14
+ if (userToken) {
15
+ this.headers = {
16
+ [api_call_headers_1.DEFAULT_SYSTEM_USER_TOKEN_HEADER]: userToken,
17
+ ...this.headers
18
+ };
19
+ }
20
+ else {
21
+ delete this.headers[api_call_headers_1.DEFAULT_SYSTEM_USER_TOKEN_HEADER];
22
+ }
23
+ }
24
+ static getDefaultHeaders(systemKeyName, systemKeyValue) {
25
+ return {
26
+ [api_call_headers_1.DEFAULT_SYSTEM_KEY_NAME_HEADER]: systemKeyName,
27
+ [api_call_headers_1.DEFAULT_SYSTEM_KEY_VALUE_HEADER]: systemKeyValue,
28
+ ...api_call_headers_1.DEFAULT_HEADERS
29
+ };
30
+ }
31
+ }
32
+ exports.VTXWebServerAPI = VTXWebServerAPI;
33
+ //# sourceMappingURL=vtx-web-server-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vtx-web-server-api.js","sourceRoot":"","sources":["../../../../../libs/vtx-backend-client/src/api/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;IACL,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;AA9BD,0CA8BC"}
@@ -0,0 +1,25 @@
1
+ import type { QueryGenqlSelection, Query, MutationGenqlSelection, Mutation } from './schema';
2
+ import { type FieldsSelection, type GraphqlOperation, type ClientOptions, GenqlError } from './runtime';
3
+ export type { FieldsSelection } from './runtime';
4
+ export { GenqlError };
5
+ export * from './schema';
6
+ export interface Client {
7
+ query<R extends QueryGenqlSelection>(request: R & {
8
+ __name?: string;
9
+ }): Promise<FieldsSelection<Query, R>>;
10
+ mutation<R extends MutationGenqlSelection>(request: R & {
11
+ __name?: string;
12
+ }): Promise<FieldsSelection<Mutation, R>>;
13
+ }
14
+ export declare const createClient: (options?: ClientOptions) => Client;
15
+ export declare const everything: {
16
+ __scalar: boolean;
17
+ };
18
+ export type QueryResult<fields extends QueryGenqlSelection> = FieldsSelection<Query, fields>;
19
+ export declare const generateQueryOp: (fields: QueryGenqlSelection & {
20
+ __name?: string;
21
+ }) => GraphqlOperation;
22
+ export type MutationResult<fields extends MutationGenqlSelection> = FieldsSelection<Mutation, fields>;
23
+ export declare const generateMutationOp: (fields: MutationGenqlSelection & {
24
+ __name?: string;
25
+ }) => GraphqlOperation;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.generateMutationOp = exports.generateQueryOp = exports.everything = exports.createClient = exports.GenqlError = void 0;
18
+ const runtime_1 = require("./runtime");
19
+ Object.defineProperty(exports, "GenqlError", { enumerable: true, get: function () { return runtime_1.GenqlError; } });
20
+ const types_1 = require("./types");
21
+ __exportStar(require("./schema"), exports);
22
+ const typeMap = (0, runtime_1.linkTypeMap)(types_1.default);
23
+ const createClient = function (options) {
24
+ return (0, runtime_1.createClient)({
25
+ url: undefined,
26
+ ...options,
27
+ queryRoot: typeMap.Query,
28
+ mutationRoot: typeMap.Mutation,
29
+ subscriptionRoot: typeMap.Subscription,
30
+ });
31
+ };
32
+ exports.createClient = createClient;
33
+ exports.everything = {
34
+ __scalar: true,
35
+ };
36
+ const generateQueryOp = function (fields) {
37
+ return (0, runtime_1.generateGraphqlOperation)('query', typeMap.Query, fields);
38
+ };
39
+ exports.generateQueryOp = generateQueryOp;
40
+ const generateMutationOp = function (fields) {
41
+ return (0, runtime_1.generateGraphqlOperation)('mutation', typeMap.Mutation, fields);
42
+ };
43
+ exports.generateMutationOp = generateMutationOp;
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/vtx-backend-client/src/client/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,36 @@
1
+ import type { GraphqlOperation } from './generateGraphqlOperation';
2
+ type Variables = Record<string, any>;
3
+ type QueryError = Error & {
4
+ message: string;
5
+ locations?: Array<{
6
+ line: number;
7
+ column: number;
8
+ }>;
9
+ path?: any;
10
+ rid: string;
11
+ details?: Record<string, any>;
12
+ };
13
+ type Result = {
14
+ data: Record<string, any>;
15
+ errors: Array<QueryError>;
16
+ };
17
+ type Fetcher = (batchedQuery: GraphqlOperation | Array<GraphqlOperation>) => Promise<Array<Result>>;
18
+ type Options = {
19
+ batchInterval?: number;
20
+ shouldBatch?: boolean;
21
+ maxBatchSize?: number;
22
+ };
23
+ type Queue = Array<{
24
+ request: GraphqlOperation;
25
+ resolve: (...args: Array<any>) => any;
26
+ reject: (...args: Array<any>) => any;
27
+ }>;
28
+ export declare class QueryBatcher {
29
+ fetcher: Fetcher;
30
+ _options: Options;
31
+ _queue: Queue;
32
+ constructor(fetcher: Fetcher, { batchInterval, shouldBatch, maxBatchSize, }?: Options);
33
+ fetch(query: string, variables?: Variables, operationName?: string, overrides?: Options): Promise<Result>;
34
+ forceFetch(query: string, variables?: Variables, operationName?: string, overrides?: Options): Promise<Result>;
35
+ }
36
+ export {};
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryBatcher = void 0;
4
+ const error_1 = require("./error");
5
+ function dispatchQueueBatch(client, queue) {
6
+ let batchedQuery = queue.map((item) => item.request);
7
+ if (batchedQuery.length === 1) {
8
+ batchedQuery = batchedQuery[0];
9
+ }
10
+ (() => {
11
+ try {
12
+ return client.fetcher(batchedQuery);
13
+ }
14
+ catch (e) {
15
+ return Promise.reject(e);
16
+ }
17
+ })().then((responses) => {
18
+ if (queue.length === 1 && !Array.isArray(responses)) {
19
+ if (responses.errors && responses.errors.length) {
20
+ queue[0].reject(new error_1.GenqlError(responses.errors, responses.data));
21
+ return;
22
+ }
23
+ queue[0].resolve(responses);
24
+ return;
25
+ }
26
+ else if (responses.length !== queue.length) {
27
+ throw new Error('response length did not match query length');
28
+ }
29
+ for (let i = 0; i < queue.length; i++) {
30
+ if (responses[i].errors && responses[i].errors.length) {
31
+ queue[i].reject(new error_1.GenqlError(responses[i].errors, responses[i].data));
32
+ }
33
+ else {
34
+ queue[i].resolve(responses[i]);
35
+ }
36
+ }
37
+ })
38
+ .catch((e) => {
39
+ for (let i = 0; i < queue.length; i++) {
40
+ queue[i].reject(e);
41
+ }
42
+ });
43
+ }
44
+ function dispatchQueue(client, options) {
45
+ const queue = client._queue;
46
+ const maxBatchSize = options.maxBatchSize || 0;
47
+ client._queue = [];
48
+ if (maxBatchSize > 0 && maxBatchSize < queue.length) {
49
+ for (let i = 0; i < queue.length / maxBatchSize; i++) {
50
+ dispatchQueueBatch(client, queue.slice(i * maxBatchSize, (i + 1) * maxBatchSize));
51
+ }
52
+ }
53
+ else {
54
+ dispatchQueueBatch(client, queue);
55
+ }
56
+ }
57
+ class QueryBatcher {
58
+ constructor(fetcher, { batchInterval = 6, shouldBatch = true, maxBatchSize = 0, } = {}) {
59
+ this.fetcher = fetcher;
60
+ this._options = {
61
+ batchInterval,
62
+ shouldBatch,
63
+ maxBatchSize,
64
+ };
65
+ this._queue = [];
66
+ }
67
+ fetch(query, variables, operationName, overrides = {}) {
68
+ const request = {
69
+ query,
70
+ };
71
+ const options = Object.assign({}, this._options, overrides);
72
+ if (variables) {
73
+ request.variables = variables;
74
+ }
75
+ if (operationName) {
76
+ request.operationName = operationName;
77
+ }
78
+ const promise = new Promise((resolve, reject) => {
79
+ this._queue.push({
80
+ request,
81
+ resolve,
82
+ reject,
83
+ });
84
+ if (this._queue.length === 1) {
85
+ if (options.shouldBatch) {
86
+ setTimeout(() => dispatchQueue(this, options), options.batchInterval);
87
+ }
88
+ else {
89
+ dispatchQueue(this, options);
90
+ }
91
+ }
92
+ });
93
+ return promise;
94
+ }
95
+ forceFetch(query, variables, operationName, overrides = {}) {
96
+ const request = {
97
+ query,
98
+ };
99
+ const options = Object.assign({}, this._options, overrides, {
100
+ shouldBatch: false,
101
+ });
102
+ if (variables) {
103
+ request.variables = variables;
104
+ }
105
+ if (operationName) {
106
+ request.operationName = operationName;
107
+ }
108
+ const promise = new Promise((resolve, reject) => {
109
+ const client = new QueryBatcher(this.fetcher, this._options);
110
+ client._queue = [
111
+ {
112
+ request,
113
+ resolve,
114
+ reject,
115
+ },
116
+ ];
117
+ dispatchQueue(client, options);
118
+ });
119
+ return promise;
120
+ }
121
+ }
122
+ exports.QueryBatcher = QueryBatcher;
123
+ //# sourceMappingURL=batcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batcher.js","sourceRoot":"","sources":["../../../../../../libs/vtx-backend-client/src/client/runtime/batcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type BatchOptions } from './fetcher';
2
+ import type { ExecutionResult, LinkedType } from './types';
3
+ import { type GraphqlOperation } from './generateGraphqlOperation';
4
+ export type Headers = HeadersInit | (() => HeadersInit) | (() => Promise<HeadersInit>);
5
+ export type BaseFetcher = (operation: GraphqlOperation | GraphqlOperation[]) => Promise<ExecutionResult | ExecutionResult[]>;
6
+ export type ClientOptions = Omit<RequestInit, 'body' | 'headers'> & {
7
+ url?: string;
8
+ batch?: BatchOptions | boolean;
9
+ fetcher?: BaseFetcher;
10
+ fetch?: Function;
11
+ headers?: Headers;
12
+ };
13
+ export declare const createClient: ({ queryRoot, mutationRoot, subscriptionRoot, ...options }: ClientOptions & {
14
+ queryRoot?: LinkedType;
15
+ mutationRoot?: LinkedType;
16
+ subscriptionRoot?: LinkedType;
17
+ }) => any;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createClient = void 0;
4
+ const fetcher_1 = require("./fetcher");
5
+ const generateGraphqlOperation_1 = require("./generateGraphqlOperation");
6
+ const createClient = ({ queryRoot, mutationRoot, subscriptionRoot, ...options }) => {
7
+ const fetcher = (0, fetcher_1.createFetcher)(options);
8
+ const client = {};
9
+ if (queryRoot) {
10
+ client.query = (request) => {
11
+ if (!queryRoot)
12
+ throw new Error('queryRoot argument is missing');
13
+ const resultPromise = fetcher((0, generateGraphqlOperation_1.generateGraphqlOperation)('query', queryRoot, request));
14
+ return resultPromise;
15
+ };
16
+ }
17
+ if (mutationRoot) {
18
+ client.mutation = (request) => {
19
+ if (!mutationRoot)
20
+ throw new Error('mutationRoot argument is missing');
21
+ const resultPromise = fetcher((0, generateGraphqlOperation_1.generateGraphqlOperation)('mutation', mutationRoot, request));
22
+ return resultPromise;
23
+ };
24
+ }
25
+ return client;
26
+ };
27
+ exports.createClient = createClient;
28
+ //# sourceMappingURL=createClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createClient.js","sourceRoot":"","sources":["../../../../../../libs/vtx-backend-client/src/client/runtime/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"}
@@ -0,0 +1,15 @@
1
+ export declare class GenqlError extends Error {
2
+ errors: Array<GraphqlError>;
3
+ data?: any;
4
+ constructor(errors: any[], data: any);
5
+ }
6
+ interface GraphqlError {
7
+ message: string;
8
+ locations?: Array<{
9
+ line: number;
10
+ column: number;
11
+ }>;
12
+ path?: string[];
13
+ extensions?: Record<string, any>;
14
+ }
15
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenqlError = void 0;
4
+ class GenqlError extends Error {
5
+ constructor(errors, data) {
6
+ let message = Array.isArray(errors)
7
+ ? errors.map((x) => x?.message || '').join('\n')
8
+ : '';
9
+ if (!message) {
10
+ message = 'GraphQL error';
11
+ }
12
+ super(message);
13
+ this.errors = [];
14
+ this.errors = errors;
15
+ this.data = data;
16
+ }
17
+ }
18
+ exports.GenqlError = GenqlError;
19
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../libs/vtx-backend-client/src/client/runtime/error.ts"],"names":[],"mappings":";;;AACA,MAAa,UAAW,SAAQ,KAAK;IAMjC,YAAY,MAAa,EAAE,IAAS;QAChC,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChD,CAAC,CAAC,EAAE,CAAA;QACR,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,GAAG,eAAe,CAAA;QAC7B,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAA;QAZlB,WAAM,GAAwB,EAAE,CAAA;QAa5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;CACJ;AAjBD,gCAiBC"}
@@ -0,0 +1,10 @@
1
+ import type { ClientOptions } from './createClient';
2
+ import type { GraphqlOperation } from './generateGraphqlOperation';
3
+ export interface Fetcher {
4
+ (gql: GraphqlOperation): Promise<any>;
5
+ }
6
+ export type BatchOptions = {
7
+ batchInterval?: number;
8
+ maxBatchSize?: number;
9
+ };
10
+ export declare const createFetcher: ({ url, headers, fetcher, fetch: _fetch, batch, ...rest }: ClientOptions) => Fetcher;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFetcher = void 0;
4
+ const batcher_1 = require("./batcher");
5
+ const error_1 = require("./error");
6
+ const DEFAULT_BATCH_OPTIONS = {
7
+ maxBatchSize: 10,
8
+ batchInterval: 40,
9
+ };
10
+ const createFetcher = ({ url, headers = {}, fetcher, fetch: _fetch, batch = false, ...rest }) => {
11
+ if (!url && !fetcher) {
12
+ throw new Error('url or fetcher is required');
13
+ }
14
+ fetcher = fetcher || (async (body) => {
15
+ let headersObject = typeof headers == 'function' ? await headers() : headers;
16
+ headersObject = headersObject || {};
17
+ if (typeof fetch === 'undefined' && !_fetch) {
18
+ throw new Error('Global `fetch` function is not available, pass a fetch polyfill to Genql `createClient`');
19
+ }
20
+ let fetchImpl = _fetch || fetch;
21
+ const res = await fetchImpl(url, {
22
+ headers: {
23
+ 'Content-Type': 'application/json',
24
+ ...headersObject,
25
+ },
26
+ method: 'POST',
27
+ body: JSON.stringify(body),
28
+ ...rest,
29
+ });
30
+ if (!res.ok) {
31
+ throw new Error(`${res.statusText}: ${await res.text()}`);
32
+ }
33
+ const json = await res.json();
34
+ return json;
35
+ });
36
+ if (!batch) {
37
+ return async (body) => {
38
+ const json = await fetcher(body);
39
+ if (Array.isArray(json)) {
40
+ return json.map((json) => {
41
+ if (json?.errors?.length) {
42
+ throw new error_1.GenqlError(json.errors || [], json.data);
43
+ }
44
+ return json.data;
45
+ });
46
+ }
47
+ else {
48
+ if (json?.errors?.length) {
49
+ throw new error_1.GenqlError(json.errors || [], json.data);
50
+ }
51
+ return json.data;
52
+ }
53
+ };
54
+ }
55
+ const batcher = new batcher_1.QueryBatcher(async (batchedQuery) => {
56
+ const json = await fetcher(batchedQuery);
57
+ return json;
58
+ }, batch === true ? DEFAULT_BATCH_OPTIONS : batch);
59
+ return async ({ query, variables }) => {
60
+ const json = await batcher.fetch(query, variables);
61
+ if (json?.data) {
62
+ return json.data;
63
+ }
64
+ throw new Error('Genql batch fetcher returned unexpected result ' + JSON.stringify(json));
65
+ };
66
+ };
67
+ exports.createFetcher = createFetcher;
68
+ //# sourceMappingURL=fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../../../../../../libs/vtx-backend-client/src/client/runtime/fetcher.ts"],"names":[],"mappings":";;;AACA,uCAAwC;AAIxC,mCAAoC;AAWpC,MAAM,qBAAqB,GAAG;IAC1B,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;CACpB,CAAA;AAEM,MAAM,aAAa,GAAG,CAAC,EAC1B,GAAG,EACH,OAAO,GAAG,EAAE,EACZ,OAAO,EACP,KAAK,EAAE,MAAM,EACb,KAAK,GAAG,KAAK,EACb,GAAG,IAAI,EACK,EAAW,EAAE;IACzB,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACjC,IAAI,aAAa,GACb,OAAO,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;QAC5D,aAAa,GAAG,aAAa,IAAI,EAAE,CAAA;QACnC,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACX,yFAAyF,CAC5F,CAAA;QACL,CAAC;QACD,IAAI,SAAS,GAAG,MAAM,IAAI,KAAK,CAAA;QAC/B,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAI,EAAE;YAC9B,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,GAAG,aAAa;aACnB;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,GAAG,IAAI;SACV,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,UAAU,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC7D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7B,OAAO,IAAI,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,OAAQ,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;wBACvB,MAAM,IAAI,kBAAU,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBACtD,CAAC;oBACD,OAAO,IAAI,CAAC,IAAI,CAAA;gBACpB,CAAC,CAAC,CAAA;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;oBACvB,MAAM,IAAI,kBAAU,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtD,CAAC;gBACD,OAAO,IAAI,CAAC,IAAI,CAAA;YACpB,CAAC;QACL,CAAC,CAAA;IACL,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,sBAAY,CAC5B,KAAK,EAAE,YAAY,EAAE,EAAE;QAEnB,MAAM,IAAI,GAAG,MAAM,OAAQ,CAAC,YAAY,CAAC,CAAA;QACzC,OAAO,IAAW,CAAA;IACtB,CAAC,EACD,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CACjD,CAAA;IAED,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAClD,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,IAAI,CAAA;QACpB,CAAC;QACD,MAAM,IAAI,KAAK,CACX,iDAAiD,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAC3E,CAAA;IACL,CAAC,CAAA;AACL,CAAC,CAAA;AA3EY,QAAA,aAAa,iBA2EzB"}
@@ -0,0 +1,30 @@
1
+ import type { LinkedField, LinkedType } from './types';
2
+ export interface Args {
3
+ [arg: string]: any | undefined;
4
+ }
5
+ export interface Fields {
6
+ [field: string]: Request;
7
+ }
8
+ export type Request = boolean | number | Fields;
9
+ export interface Variables {
10
+ [name: string]: {
11
+ value: any;
12
+ typing: [LinkedType, string];
13
+ };
14
+ }
15
+ export interface Context {
16
+ root: LinkedType;
17
+ varCounter: number;
18
+ variables: Variables;
19
+ fragmentCounter: number;
20
+ fragments: string[];
21
+ }
22
+ export interface GraphqlOperation {
23
+ query: string;
24
+ variables?: {
25
+ [name: string]: any;
26
+ };
27
+ operationName?: string;
28
+ }
29
+ export declare const generateGraphqlOperation: (operation: "query" | "mutation" | "subscription", root: LinkedType, fields?: Fields) => GraphqlOperation;
30
+ export declare const getFieldFromPath: (root: LinkedType | undefined, path: string[]) => LinkedField;