@itm-studio/partner-sdk 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +64 -4
- package/dist/index.d.ts +64 -4
- package/dist/index.js +76 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +76 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
- package/schema/partner.graphql +28 -2
package/dist/index.d.mts
CHANGED
|
@@ -51,6 +51,7 @@ interface Moment {
|
|
|
51
51
|
soldOut: Scalars['Boolean'];
|
|
52
52
|
timezone: Scalars['String'];
|
|
53
53
|
minimumAge: Scalars['Int'];
|
|
54
|
+
externalUrl: (Scalars['String'] | null);
|
|
54
55
|
venue: (Venue | null);
|
|
55
56
|
ticketTiers: TicketTier[];
|
|
56
57
|
createdAt: Scalars['DateTime'];
|
|
@@ -68,8 +69,6 @@ interface TicketTier {
|
|
|
68
69
|
maxPerUser: Scalars['Int'];
|
|
69
70
|
minPerUser: Scalars['Int'];
|
|
70
71
|
remainingSupply: Scalars['Int'];
|
|
71
|
-
numSold: Scalars['Float'];
|
|
72
|
-
numCheckedIn: Scalars['Float'];
|
|
73
72
|
startDateOverride: (Scalars['DateTime'] | null);
|
|
74
73
|
endDateOverride: (Scalars['DateTime'] | null);
|
|
75
74
|
createdAt: Scalars['DateTime'];
|
|
@@ -147,6 +146,27 @@ interface PartnerCustomer {
|
|
|
147
146
|
tickets: Ticket[];
|
|
148
147
|
__typename: 'PartnerCustomer';
|
|
149
148
|
}
|
|
149
|
+
interface MomentCollectionLink {
|
|
150
|
+
uid: Scalars['ID'];
|
|
151
|
+
url: Scalars['String'];
|
|
152
|
+
label: (Scalars['String'] | null);
|
|
153
|
+
createdAt: Scalars['DateTime'];
|
|
154
|
+
updatedAt: Scalars['DateTime'];
|
|
155
|
+
__typename: 'MomentCollectionLink';
|
|
156
|
+
}
|
|
157
|
+
interface MomentCollection {
|
|
158
|
+
uid: Scalars['ID'];
|
|
159
|
+
name: Scalars['String'];
|
|
160
|
+
description: (Scalars['String'] | null);
|
|
161
|
+
slug: Scalars['String'];
|
|
162
|
+
subLabel: (Scalars['String'] | null);
|
|
163
|
+
availableQueryFilters: Scalars['String'][];
|
|
164
|
+
moments: Moment[];
|
|
165
|
+
links: MomentCollectionLink[];
|
|
166
|
+
createdAt: Scalars['DateTime'];
|
|
167
|
+
updatedAt: Scalars['DateTime'];
|
|
168
|
+
__typename: 'MomentCollection';
|
|
169
|
+
}
|
|
150
170
|
interface GetPublicMomentsResponse {
|
|
151
171
|
moments: Moment[];
|
|
152
172
|
totalCount: Scalars['Int'];
|
|
@@ -180,6 +200,11 @@ interface Query {
|
|
|
180
200
|
* Sorted by newest first (based on earliest ticket purchase time).
|
|
181
201
|
*/
|
|
182
202
|
getPartnerCustomersForMoment: GetPartnerCustomersResponse;
|
|
203
|
+
/**
|
|
204
|
+
* Get a moment collection by slug.
|
|
205
|
+
* Returns the collection with its moments and links.
|
|
206
|
+
*/
|
|
207
|
+
getPartnerMomentCollection: (MomentCollection | null);
|
|
183
208
|
__typename: 'Query';
|
|
184
209
|
}
|
|
185
210
|
interface CurrencyGenqlSelection {
|
|
@@ -222,6 +247,7 @@ interface MomentGenqlSelection {
|
|
|
222
247
|
soldOut?: boolean | number;
|
|
223
248
|
timezone?: boolean | number;
|
|
224
249
|
minimumAge?: boolean | number;
|
|
250
|
+
externalUrl?: boolean | number;
|
|
225
251
|
venue?: VenueGenqlSelection;
|
|
226
252
|
ticketTiers?: TicketTierGenqlSelection;
|
|
227
253
|
createdAt?: boolean | number;
|
|
@@ -240,8 +266,6 @@ interface TicketTierGenqlSelection {
|
|
|
240
266
|
maxPerUser?: boolean | number;
|
|
241
267
|
minPerUser?: boolean | number;
|
|
242
268
|
remainingSupply?: boolean | number;
|
|
243
|
-
numSold?: boolean | number;
|
|
244
|
-
numCheckedIn?: boolean | number;
|
|
245
269
|
startDateOverride?: boolean | number;
|
|
246
270
|
endDateOverride?: boolean | number;
|
|
247
271
|
createdAt?: boolean | number;
|
|
@@ -320,6 +344,33 @@ interface PartnerCustomerGenqlSelection {
|
|
|
320
344
|
__typename?: boolean | number;
|
|
321
345
|
__scalar?: boolean | number;
|
|
322
346
|
}
|
|
347
|
+
interface MomentCollectionLinkGenqlSelection {
|
|
348
|
+
uid?: boolean | number;
|
|
349
|
+
url?: boolean | number;
|
|
350
|
+
label?: boolean | number;
|
|
351
|
+
createdAt?: boolean | number;
|
|
352
|
+
updatedAt?: boolean | number;
|
|
353
|
+
__typename?: boolean | number;
|
|
354
|
+
__scalar?: boolean | number;
|
|
355
|
+
}
|
|
356
|
+
interface MomentCollectionGenqlSelection {
|
|
357
|
+
uid?: boolean | number;
|
|
358
|
+
name?: boolean | number;
|
|
359
|
+
description?: boolean | number;
|
|
360
|
+
slug?: boolean | number;
|
|
361
|
+
subLabel?: boolean | number;
|
|
362
|
+
availableQueryFilters?: boolean | number;
|
|
363
|
+
moments?: (MomentGenqlSelection & {
|
|
364
|
+
__args?: {
|
|
365
|
+
queryFilters?: (Scalars['String'][] | null);
|
|
366
|
+
};
|
|
367
|
+
});
|
|
368
|
+
links?: MomentCollectionLinkGenqlSelection;
|
|
369
|
+
createdAt?: boolean | number;
|
|
370
|
+
updatedAt?: boolean | number;
|
|
371
|
+
__typename?: boolean | number;
|
|
372
|
+
__scalar?: boolean | number;
|
|
373
|
+
}
|
|
323
374
|
interface GetPublicMomentsResponseGenqlSelection {
|
|
324
375
|
moments?: MomentGenqlSelection;
|
|
325
376
|
totalCount?: boolean | number;
|
|
@@ -385,6 +436,15 @@ interface QueryGenqlSelection {
|
|
|
385
436
|
take?: (Scalars['Int'] | null);
|
|
386
437
|
};
|
|
387
438
|
});
|
|
439
|
+
/**
|
|
440
|
+
* Get a moment collection by slug.
|
|
441
|
+
* Returns the collection with its moments and links.
|
|
442
|
+
*/
|
|
443
|
+
getPartnerMomentCollection?: (MomentCollectionGenqlSelection & {
|
|
444
|
+
__args: {
|
|
445
|
+
slug: Scalars['String'];
|
|
446
|
+
};
|
|
447
|
+
});
|
|
388
448
|
__typename?: boolean | number;
|
|
389
449
|
__scalar?: boolean | number;
|
|
390
450
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ interface Moment {
|
|
|
51
51
|
soldOut: Scalars['Boolean'];
|
|
52
52
|
timezone: Scalars['String'];
|
|
53
53
|
minimumAge: Scalars['Int'];
|
|
54
|
+
externalUrl: (Scalars['String'] | null);
|
|
54
55
|
venue: (Venue | null);
|
|
55
56
|
ticketTiers: TicketTier[];
|
|
56
57
|
createdAt: Scalars['DateTime'];
|
|
@@ -68,8 +69,6 @@ interface TicketTier {
|
|
|
68
69
|
maxPerUser: Scalars['Int'];
|
|
69
70
|
minPerUser: Scalars['Int'];
|
|
70
71
|
remainingSupply: Scalars['Int'];
|
|
71
|
-
numSold: Scalars['Float'];
|
|
72
|
-
numCheckedIn: Scalars['Float'];
|
|
73
72
|
startDateOverride: (Scalars['DateTime'] | null);
|
|
74
73
|
endDateOverride: (Scalars['DateTime'] | null);
|
|
75
74
|
createdAt: Scalars['DateTime'];
|
|
@@ -147,6 +146,27 @@ interface PartnerCustomer {
|
|
|
147
146
|
tickets: Ticket[];
|
|
148
147
|
__typename: 'PartnerCustomer';
|
|
149
148
|
}
|
|
149
|
+
interface MomentCollectionLink {
|
|
150
|
+
uid: Scalars['ID'];
|
|
151
|
+
url: Scalars['String'];
|
|
152
|
+
label: (Scalars['String'] | null);
|
|
153
|
+
createdAt: Scalars['DateTime'];
|
|
154
|
+
updatedAt: Scalars['DateTime'];
|
|
155
|
+
__typename: 'MomentCollectionLink';
|
|
156
|
+
}
|
|
157
|
+
interface MomentCollection {
|
|
158
|
+
uid: Scalars['ID'];
|
|
159
|
+
name: Scalars['String'];
|
|
160
|
+
description: (Scalars['String'] | null);
|
|
161
|
+
slug: Scalars['String'];
|
|
162
|
+
subLabel: (Scalars['String'] | null);
|
|
163
|
+
availableQueryFilters: Scalars['String'][];
|
|
164
|
+
moments: Moment[];
|
|
165
|
+
links: MomentCollectionLink[];
|
|
166
|
+
createdAt: Scalars['DateTime'];
|
|
167
|
+
updatedAt: Scalars['DateTime'];
|
|
168
|
+
__typename: 'MomentCollection';
|
|
169
|
+
}
|
|
150
170
|
interface GetPublicMomentsResponse {
|
|
151
171
|
moments: Moment[];
|
|
152
172
|
totalCount: Scalars['Int'];
|
|
@@ -180,6 +200,11 @@ interface Query {
|
|
|
180
200
|
* Sorted by newest first (based on earliest ticket purchase time).
|
|
181
201
|
*/
|
|
182
202
|
getPartnerCustomersForMoment: GetPartnerCustomersResponse;
|
|
203
|
+
/**
|
|
204
|
+
* Get a moment collection by slug.
|
|
205
|
+
* Returns the collection with its moments and links.
|
|
206
|
+
*/
|
|
207
|
+
getPartnerMomentCollection: (MomentCollection | null);
|
|
183
208
|
__typename: 'Query';
|
|
184
209
|
}
|
|
185
210
|
interface CurrencyGenqlSelection {
|
|
@@ -222,6 +247,7 @@ interface MomentGenqlSelection {
|
|
|
222
247
|
soldOut?: boolean | number;
|
|
223
248
|
timezone?: boolean | number;
|
|
224
249
|
minimumAge?: boolean | number;
|
|
250
|
+
externalUrl?: boolean | number;
|
|
225
251
|
venue?: VenueGenqlSelection;
|
|
226
252
|
ticketTiers?: TicketTierGenqlSelection;
|
|
227
253
|
createdAt?: boolean | number;
|
|
@@ -240,8 +266,6 @@ interface TicketTierGenqlSelection {
|
|
|
240
266
|
maxPerUser?: boolean | number;
|
|
241
267
|
minPerUser?: boolean | number;
|
|
242
268
|
remainingSupply?: boolean | number;
|
|
243
|
-
numSold?: boolean | number;
|
|
244
|
-
numCheckedIn?: boolean | number;
|
|
245
269
|
startDateOverride?: boolean | number;
|
|
246
270
|
endDateOverride?: boolean | number;
|
|
247
271
|
createdAt?: boolean | number;
|
|
@@ -320,6 +344,33 @@ interface PartnerCustomerGenqlSelection {
|
|
|
320
344
|
__typename?: boolean | number;
|
|
321
345
|
__scalar?: boolean | number;
|
|
322
346
|
}
|
|
347
|
+
interface MomentCollectionLinkGenqlSelection {
|
|
348
|
+
uid?: boolean | number;
|
|
349
|
+
url?: boolean | number;
|
|
350
|
+
label?: boolean | number;
|
|
351
|
+
createdAt?: boolean | number;
|
|
352
|
+
updatedAt?: boolean | number;
|
|
353
|
+
__typename?: boolean | number;
|
|
354
|
+
__scalar?: boolean | number;
|
|
355
|
+
}
|
|
356
|
+
interface MomentCollectionGenqlSelection {
|
|
357
|
+
uid?: boolean | number;
|
|
358
|
+
name?: boolean | number;
|
|
359
|
+
description?: boolean | number;
|
|
360
|
+
slug?: boolean | number;
|
|
361
|
+
subLabel?: boolean | number;
|
|
362
|
+
availableQueryFilters?: boolean | number;
|
|
363
|
+
moments?: (MomentGenqlSelection & {
|
|
364
|
+
__args?: {
|
|
365
|
+
queryFilters?: (Scalars['String'][] | null);
|
|
366
|
+
};
|
|
367
|
+
});
|
|
368
|
+
links?: MomentCollectionLinkGenqlSelection;
|
|
369
|
+
createdAt?: boolean | number;
|
|
370
|
+
updatedAt?: boolean | number;
|
|
371
|
+
__typename?: boolean | number;
|
|
372
|
+
__scalar?: boolean | number;
|
|
373
|
+
}
|
|
323
374
|
interface GetPublicMomentsResponseGenqlSelection {
|
|
324
375
|
moments?: MomentGenqlSelection;
|
|
325
376
|
totalCount?: boolean | number;
|
|
@@ -385,6 +436,15 @@ interface QueryGenqlSelection {
|
|
|
385
436
|
take?: (Scalars['Int'] | null);
|
|
386
437
|
};
|
|
387
438
|
});
|
|
439
|
+
/**
|
|
440
|
+
* Get a moment collection by slug.
|
|
441
|
+
* Returns the collection with its moments and links.
|
|
442
|
+
*/
|
|
443
|
+
getPartnerMomentCollection?: (MomentCollectionGenqlSelection & {
|
|
444
|
+
__args: {
|
|
445
|
+
slug: Scalars['String'];
|
|
446
|
+
};
|
|
447
|
+
});
|
|
388
448
|
__typename?: boolean | number;
|
|
389
449
|
__scalar?: boolean | number;
|
|
390
450
|
}
|
package/dist/index.js
CHANGED
|
@@ -680,6 +680,9 @@ var types_default = {
|
|
|
680
680
|
"minimumAge": [
|
|
681
681
|
14
|
|
682
682
|
],
|
|
683
|
+
"externalUrl": [
|
|
684
|
+
10
|
|
685
|
+
],
|
|
683
686
|
"venue": [
|
|
684
687
|
11
|
|
685
688
|
],
|
|
@@ -729,12 +732,6 @@ var types_default = {
|
|
|
729
732
|
"remainingSupply": [
|
|
730
733
|
14
|
|
731
734
|
],
|
|
732
|
-
"numSold": [
|
|
733
|
-
16
|
|
734
|
-
],
|
|
735
|
-
"numCheckedIn": [
|
|
736
|
-
16
|
|
737
|
-
],
|
|
738
735
|
"startDateOverride": [
|
|
739
736
|
0
|
|
740
737
|
],
|
|
@@ -937,6 +934,67 @@ var types_default = {
|
|
|
937
934
|
10
|
|
938
935
|
]
|
|
939
936
|
},
|
|
937
|
+
"MomentCollectionLink": {
|
|
938
|
+
"uid": [
|
|
939
|
+
9
|
|
940
|
+
],
|
|
941
|
+
"url": [
|
|
942
|
+
10
|
|
943
|
+
],
|
|
944
|
+
"label": [
|
|
945
|
+
10
|
|
946
|
+
],
|
|
947
|
+
"createdAt": [
|
|
948
|
+
0
|
|
949
|
+
],
|
|
950
|
+
"updatedAt": [
|
|
951
|
+
0
|
|
952
|
+
],
|
|
953
|
+
"__typename": [
|
|
954
|
+
10
|
|
955
|
+
]
|
|
956
|
+
},
|
|
957
|
+
"MomentCollection": {
|
|
958
|
+
"uid": [
|
|
959
|
+
9
|
|
960
|
+
],
|
|
961
|
+
"name": [
|
|
962
|
+
10
|
|
963
|
+
],
|
|
964
|
+
"description": [
|
|
965
|
+
10
|
|
966
|
+
],
|
|
967
|
+
"slug": [
|
|
968
|
+
10
|
|
969
|
+
],
|
|
970
|
+
"subLabel": [
|
|
971
|
+
10
|
|
972
|
+
],
|
|
973
|
+
"availableQueryFilters": [
|
|
974
|
+
10
|
|
975
|
+
],
|
|
976
|
+
"moments": [
|
|
977
|
+
12,
|
|
978
|
+
{
|
|
979
|
+
"queryFilters": [
|
|
980
|
+
10,
|
|
981
|
+
"[String!]"
|
|
982
|
+
]
|
|
983
|
+
}
|
|
984
|
+
],
|
|
985
|
+
"links": [
|
|
986
|
+
24
|
|
987
|
+
],
|
|
988
|
+
"createdAt": [
|
|
989
|
+
0
|
|
990
|
+
],
|
|
991
|
+
"updatedAt": [
|
|
992
|
+
0
|
|
993
|
+
],
|
|
994
|
+
"__typename": [
|
|
995
|
+
10
|
|
996
|
+
]
|
|
997
|
+
},
|
|
940
998
|
"GetPublicMomentsResponse": {
|
|
941
999
|
"moments": [
|
|
942
1000
|
12
|
|
@@ -990,7 +1048,7 @@ var types_default = {
|
|
|
990
1048
|
},
|
|
991
1049
|
"Query": {
|
|
992
1050
|
"getPartnerMomentsForBrand": [
|
|
993
|
-
|
|
1051
|
+
26,
|
|
994
1052
|
{
|
|
995
1053
|
"cursor": [
|
|
996
1054
|
10
|
|
@@ -1016,7 +1074,7 @@ var types_default = {
|
|
|
1016
1074
|
}
|
|
1017
1075
|
],
|
|
1018
1076
|
"getPartnerTicketsForMoment": [
|
|
1019
|
-
|
|
1077
|
+
27,
|
|
1020
1078
|
{
|
|
1021
1079
|
"momentSlug": [
|
|
1022
1080
|
10,
|
|
@@ -1034,7 +1092,7 @@ var types_default = {
|
|
|
1034
1092
|
}
|
|
1035
1093
|
],
|
|
1036
1094
|
"getPartnerCustomersForMoment": [
|
|
1037
|
-
|
|
1095
|
+
28,
|
|
1038
1096
|
{
|
|
1039
1097
|
"momentSlug": [
|
|
1040
1098
|
10,
|
|
@@ -1048,6 +1106,15 @@ var types_default = {
|
|
|
1048
1106
|
]
|
|
1049
1107
|
}
|
|
1050
1108
|
],
|
|
1109
|
+
"getPartnerMomentCollection": [
|
|
1110
|
+
25,
|
|
1111
|
+
{
|
|
1112
|
+
"slug": [
|
|
1113
|
+
10,
|
|
1114
|
+
"String!"
|
|
1115
|
+
]
|
|
1116
|
+
}
|
|
1117
|
+
],
|
|
1051
1118
|
"__typename": [
|
|
1052
1119
|
10
|
|
1053
1120
|
]
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generated/runtime/error.ts","../src/generated/runtime/batcher.ts","../src/generated/runtime/fetcher.ts","../src/generated/runtime/generateGraphqlOperation.ts","../src/generated/runtime/createClient.ts","../src/generated/runtime/linkTypeMap.ts","../src/generated/types.ts","../src/generated/index.ts","../src/client.ts"],"names":["json","field","type","typeMap","k","typeName","createClient"],"mappings":"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","file":"index.js","sourcesContent":["// @ts-nocheck\nexport class GenqlError extends Error {\n errors: Array<GraphqlError> = []\n /**\n * Partial data returned by the server\n */\n data?: any\n constructor(errors: any[], data: any) {\n let message = Array.isArray(errors)\n ? errors.map((x) => x?.message || '').join('\\n')\n : ''\n if (!message) {\n message = 'GraphQL error'\n }\n super(message)\n this.errors = errors\n this.data = data\n }\n}\n\ninterface GraphqlError {\n message: string\n locations?: Array<{\n line: number\n column: number\n }>\n path?: string[]\n extensions?: Record<string, any>\n}\n","// @ts-nocheck\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\ntype Variables = Record<string, any>\n\ntype QueryError = Error & {\n message: string\n\n locations?: Array<{\n line: number\n column: number\n }>\n path?: any\n rid: string\n details?: Record<string, any>\n}\ntype Result = {\n data: Record<string, any>\n errors: Array<QueryError>\n}\ntype Fetcher = (\n batchedQuery: GraphqlOperation | Array<GraphqlOperation>,\n) => Promise<Array<Result>>\ntype Options = {\n batchInterval?: number\n shouldBatch?: boolean\n maxBatchSize?: number\n}\ntype Queue = Array<{\n request: GraphqlOperation\n resolve: (...args: Array<any>) => any\n reject: (...args: Array<any>) => any\n}>\n\n/**\n * takes a list of requests (queue) and batches them into a single server request.\n * It will then resolve each individual requests promise with the appropriate data.\n * @private\n * @param {QueryBatcher} client - the client to use\n * @param {Queue} queue - the list of requests to batch\n */\nfunction dispatchQueueBatch(client: QueryBatcher, queue: Queue): void {\n let batchedQuery: any = queue.map((item) => item.request)\n\n if (batchedQuery.length === 1) {\n batchedQuery = batchedQuery[0]\n }\n (() => {\n try {\n return client.fetcher(batchedQuery);\n } catch(e) {\n return Promise.reject(e);\n }\n })().then((responses: any) => {\n if (queue.length === 1 && !Array.isArray(responses)) {\n if (responses.errors && responses.errors.length) {\n queue[0].reject(\n new GenqlError(responses.errors, responses.data),\n )\n return\n }\n\n queue[0].resolve(responses)\n return\n } else if (responses.length !== queue.length) {\n throw new Error('response length did not match query length')\n }\n\n for (let i = 0; i < queue.length; i++) {\n if (responses[i].errors && responses[i].errors.length) {\n queue[i].reject(\n new GenqlError(responses[i].errors, responses[i].data),\n )\n } else {\n queue[i].resolve(responses[i])\n }\n }\n })\n .catch((e) => {\n for (let i = 0; i < queue.length; i++) {\n queue[i].reject(e)\n }\n });\n}\n\n/**\n * creates a list of requests to batch according to max batch size.\n * @private\n * @param {QueryBatcher} client - the client to create list of requests from from\n * @param {Options} options - the options for the batch\n */\nfunction dispatchQueue(client: QueryBatcher, options: Options): void {\n const queue = client._queue\n const maxBatchSize = options.maxBatchSize || 0\n client._queue = []\n\n if (maxBatchSize > 0 && maxBatchSize < queue.length) {\n for (let i = 0; i < queue.length / maxBatchSize; i++) {\n dispatchQueueBatch(\n client,\n queue.slice(i * maxBatchSize, (i + 1) * maxBatchSize),\n )\n }\n } else {\n dispatchQueueBatch(client, queue)\n }\n}\n/**\n * Create a batcher client.\n * @param {Fetcher} fetcher - A function that can handle the network requests to graphql endpoint\n * @param {Options} options - the options to be used by client\n * @param {boolean} options.shouldBatch - should the client batch requests. (default true)\n * @param {integer} options.batchInterval - duration (in MS) of each batch window. (default 6)\n * @param {integer} options.maxBatchSize - max number of requests in a batch. (default 0)\n * @param {boolean} options.defaultHeaders - default headers to include with every request\n *\n * @example\n * const fetcher = batchedQuery => fetch('path/to/graphql', {\n * method: 'post',\n * headers: {\n * Accept: 'application/json',\n * 'Content-Type': 'application/json',\n * },\n * body: JSON.stringify(batchedQuery),\n * credentials: 'include',\n * })\n * .then(response => response.json())\n *\n * const client = new QueryBatcher(fetcher, { maxBatchSize: 10 })\n */\n\nexport class QueryBatcher {\n fetcher: Fetcher\n _options: Options\n _queue: Queue\n\n constructor(\n fetcher: Fetcher,\n {\n batchInterval = 6,\n shouldBatch = true,\n maxBatchSize = 0,\n }: Options = {},\n ) {\n this.fetcher = fetcher\n this._options = {\n batchInterval,\n shouldBatch,\n maxBatchSize,\n }\n this._queue = []\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {promise} resolves to parsed json of server response\n *\n * @example\n * client.fetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n fetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides)\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n this._queue.push({\n request,\n resolve,\n reject,\n })\n\n if (this._queue.length === 1) {\n if (options.shouldBatch) {\n setTimeout(\n () => dispatchQueue(this, options),\n options.batchInterval,\n )\n } else {\n dispatchQueue(this, options)\n }\n }\n })\n return promise\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {Promise<Array<Result>>} resolves to parsed json of server response\n *\n * @example\n * client.forceFetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n forceFetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides, {\n shouldBatch: false,\n })\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n const client = new QueryBatcher(this.fetcher, this._options)\n client._queue = [\n {\n request,\n resolve,\n reject,\n },\n ]\n dispatchQueue(client, options)\n })\n return promise\n }\n}\n","// @ts-nocheck\nimport { QueryBatcher } from './batcher'\n\nimport type { ClientOptions } from './createClient'\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\nexport interface Fetcher {\n (gql: GraphqlOperation): Promise<any>\n}\n\nexport type BatchOptions = {\n batchInterval?: number // ms\n maxBatchSize?: number\n}\n\nconst DEFAULT_BATCH_OPTIONS = {\n maxBatchSize: 10,\n batchInterval: 40,\n}\n\nexport const createFetcher = ({\n url,\n headers = {},\n fetcher,\n fetch: _fetch,\n batch = false,\n ...rest\n}: ClientOptions): Fetcher => {\n if (!url && !fetcher) {\n throw new Error('url or fetcher is required')\n }\n\n fetcher = fetcher || (async (body) => {\n let headersObject =\n typeof headers == 'function' ? await headers() : headers\n headersObject = headersObject || {}\n if (typeof fetch === 'undefined' && !_fetch) {\n throw new Error(\n 'Global `fetch` function is not available, pass a fetch polyfill to Genql `createClient`',\n )\n }\n let fetchImpl = _fetch || fetch\n const res = await fetchImpl(url!, {\n headers: {\n 'Content-Type': 'application/json',\n ...headersObject,\n },\n method: 'POST',\n body: JSON.stringify(body),\n ...rest,\n })\n if (!res.ok) {\n throw new Error(`${res.statusText}: ${await res.text()}`)\n }\n const json = await res.json()\n return json\n })\n\n if (!batch) {\n return async (body) => {\n const json = await fetcher!(body)\n if (Array.isArray(json)) {\n return json.map((json) => {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n })\n } else {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n }\n }\n }\n\n const batcher = new QueryBatcher(\n async (batchedQuery) => {\n // console.log(batchedQuery) // [{ query: 'query{user{age}}', variables: {} }, ...]\n const json = await fetcher!(batchedQuery)\n return json as any\n },\n batch === true ? DEFAULT_BATCH_OPTIONS : batch,\n )\n\n return async ({ query, variables }) => {\n const json = await batcher.fetch(query, variables)\n if (json?.data) {\n return json.data\n }\n throw new Error(\n 'Genql batch fetcher returned unexpected result ' + JSON.stringify(json),\n )\n }\n}\n","// @ts-nocheck\nimport type { LinkedField, LinkedType } from './types'\n\nexport interface Args {\n [arg: string]: any | undefined\n}\n\nexport interface Fields {\n [field: string]: Request\n}\n\nexport type Request = boolean | number | Fields\n\nexport interface Variables {\n [name: string]: {\n value: any\n typing: [LinkedType, string]\n }\n}\n\nexport interface Context {\n root: LinkedType\n varCounter: number\n variables: Variables\n fragmentCounter: number\n fragments: string[]\n}\n\nexport interface GraphqlOperation {\n query: string\n variables?: { [name: string]: any }\n operationName?: string\n}\n\nconst parseRequest = (\n request: Request | undefined,\n ctx: Context,\n path: string[],\n): string => {\n if (typeof request === 'object' && '__args' in request) {\n const args: any = request.__args\n let fields: Request | undefined = { ...request }\n delete fields.__args\n const argNames = Object.keys(args)\n\n if (argNames.length === 0) {\n return parseRequest(fields, ctx, path)\n }\n\n const field = getFieldFromPath(ctx.root, path)\n\n const argStrings = argNames.map((argName) => {\n ctx.varCounter++\n const varName = `v${ctx.varCounter}`\n\n const typing = field.args && field.args[argName] // typeMap used here, .args\n\n if (!typing) {\n throw new Error(\n `no typing defined for argument \\`${argName}\\` in path \\`${path.join(\n '.',\n )}\\``,\n )\n }\n\n ctx.variables[varName] = {\n value: args[argName],\n typing,\n }\n\n return `${argName}:$${varName}`\n })\n return `(${argStrings})${parseRequest(fields, ctx, path)}`\n } else if (typeof request === 'object' && Object.keys(request).length > 0) {\n const fields = request\n const fieldNames = Object.keys(fields).filter((k) => Boolean(fields[k]))\n\n if (fieldNames.length === 0) {\n throw new Error(\n `field selection should not be empty: ${path.join('.')}`,\n )\n }\n\n const type =\n path.length > 0 ? getFieldFromPath(ctx.root, path).type : ctx.root\n const scalarFields = type.scalar\n\n let scalarFieldsFragment: string | undefined\n\n if (fieldNames.includes('__scalar')) {\n const falsyFieldNames = new Set(\n Object.keys(fields).filter((k) => !Boolean(fields[k])),\n )\n if (scalarFields?.length) {\n ctx.fragmentCounter++\n scalarFieldsFragment = `f${ctx.fragmentCounter}`\n\n ctx.fragments.push(\n `fragment ${scalarFieldsFragment} on ${\n type.name\n }{${scalarFields\n .filter((f) => !falsyFieldNames.has(f))\n .join(',')}}`,\n )\n }\n }\n\n const fieldsSelection = fieldNames\n .filter((f) => !['__scalar', '__name'].includes(f))\n .map((f) => {\n const parsed = parseRequest(fields[f], ctx, [...path, f])\n\n if (f.startsWith('on_')) {\n ctx.fragmentCounter++\n const implementationFragment = `f${ctx.fragmentCounter}`\n\n const typeMatch = f.match(/^on_(.+)/)\n\n if (!typeMatch || !typeMatch[1])\n throw new Error('match failed')\n\n ctx.fragments.push(\n `fragment ${implementationFragment} on ${typeMatch[1]}${parsed}`,\n )\n\n return `...${implementationFragment}`\n } else {\n return `${f}${parsed}`\n }\n })\n .concat(scalarFieldsFragment ? [`...${scalarFieldsFragment}`] : [])\n .join(',')\n\n return `{${fieldsSelection}}`\n } else {\n return ''\n }\n}\n\nexport const generateGraphqlOperation = (\n operation: 'query' | 'mutation' | 'subscription',\n root: LinkedType,\n fields?: Fields,\n): GraphqlOperation => {\n const ctx: Context = {\n root: root,\n varCounter: 0,\n variables: {},\n fragmentCounter: 0,\n fragments: [],\n }\n const result = parseRequest(fields, ctx, [])\n\n const varNames = Object.keys(ctx.variables)\n\n const varsString =\n varNames.length > 0\n ? `(${varNames.map((v) => {\n const variableType = ctx.variables[v].typing[1]\n return `$${v}:${variableType}`\n })})`\n : ''\n\n const operationName = fields?.__name || ''\n\n return {\n query: [\n `${operation} ${operationName}${varsString}${result}`,\n ...ctx.fragments,\n ].join(','),\n variables: Object.keys(ctx.variables).reduce<{ [name: string]: any }>(\n (r, v) => {\n r[v] = ctx.variables[v].value\n return r\n },\n {},\n ),\n ...(operationName ? { operationName: operationName.toString() } : {}),\n }\n}\n\nexport const getFieldFromPath = (\n root: LinkedType | undefined,\n path: string[],\n) => {\n let current: LinkedField | undefined\n\n if (!root) throw new Error('root type is not provided')\n\n if (path.length === 0) throw new Error(`path is empty`)\n\n path.forEach((f) => {\n const type = current ? current.type : root\n\n if (!type.fields)\n throw new Error(`type \\`${type.name}\\` does not have fields`)\n\n const possibleTypes = Object.keys(type.fields)\n .filter((i) => i.startsWith('on_'))\n .reduce(\n (types, fieldName) => {\n const field = type.fields && type.fields[fieldName]\n if (field) types.push(field.type)\n return types\n },\n [type],\n )\n\n let field: LinkedField | null = null\n\n possibleTypes.forEach((type) => {\n const found = type.fields && type.fields[f]\n if (found) field = found\n })\n\n if (!field)\n throw new Error(\n `type \\`${type.name}\\` does not have a field \\`${f}\\``,\n )\n\n current = field\n })\n\n return current as LinkedField\n}\n","// @ts-nocheck\n\nimport { type BatchOptions, createFetcher } from './fetcher'\nimport type { ExecutionResult, LinkedType } from './types'\nimport {\n generateGraphqlOperation,\n type GraphqlOperation,\n} from './generateGraphqlOperation'\n\nexport type Headers =\n | HeadersInit\n | (() => HeadersInit)\n | (() => Promise<HeadersInit>)\n\nexport type BaseFetcher = (\n operation: GraphqlOperation | GraphqlOperation[],\n) => Promise<ExecutionResult | ExecutionResult[]>\n\nexport type ClientOptions = Omit<RequestInit, 'body' | 'headers'> & {\n url?: string\n batch?: BatchOptions | boolean\n fetcher?: BaseFetcher\n fetch?: Function\n headers?: Headers\n}\n\nexport const createClient = ({\n queryRoot,\n mutationRoot,\n subscriptionRoot,\n ...options\n}: ClientOptions & {\n queryRoot?: LinkedType\n mutationRoot?: LinkedType\n subscriptionRoot?: LinkedType\n}) => {\n const fetcher = createFetcher(options)\n const client: {\n query?: Function\n mutation?: Function\n } = {}\n\n if (queryRoot) {\n client.query = (request: any) => {\n if (!queryRoot) throw new Error('queryRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('query', queryRoot, request),\n )\n\n return resultPromise\n }\n }\n if (mutationRoot) {\n client.mutation = (request: any) => {\n if (!mutationRoot)\n throw new Error('mutationRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('mutation', mutationRoot, request),\n )\n\n return resultPromise\n }\n }\n\n return client as any\n}\n","// @ts-nocheck\nimport type {\n CompressedType,\n CompressedTypeMap,\n LinkedArgMap,\n LinkedField,\n LinkedType,\n LinkedTypeMap,\n} from './types'\n\nexport interface PartialLinkedFieldMap {\n [field: string]: {\n type: string\n args?: LinkedArgMap\n }\n}\n\nexport const linkTypeMap = (\n typeMap: CompressedTypeMap<number>,\n): LinkedTypeMap => {\n const indexToName: Record<number, string> = Object.assign(\n {},\n ...Object.keys(typeMap.types).map((k, i) => ({ [i]: k })),\n )\n\n let intermediaryTypeMap = Object.assign(\n {},\n ...Object.keys(typeMap.types || {}).map(\n (k): Record<string, LinkedType> => {\n const type: CompressedType = typeMap.types[k]!\n const fields = type || {}\n return {\n [k]: {\n name: k,\n // type scalar properties\n scalar: Object.keys(fields).filter((f) => {\n const [type] = fields[f] || []\n\n const isScalar =\n type && typeMap.scalars.includes(type)\n if (!isScalar) {\n return false\n }\n const args = fields[f]?.[1]\n const argTypes = Object.values(args || {})\n .map((x) => x?.[1])\n .filter(Boolean)\n\n const hasRequiredArgs = argTypes.some(\n (str) => str && str.endsWith('!'),\n )\n if (hasRequiredArgs) {\n return false\n }\n return true\n }),\n // fields with corresponding `type` and `args`\n fields: Object.assign(\n {},\n ...Object.keys(fields).map(\n (f): PartialLinkedFieldMap => {\n const [typeIndex, args] = fields[f] || []\n if (typeIndex == null) {\n return {}\n }\n return {\n [f]: {\n // replace index with type name\n type: indexToName[typeIndex],\n args: Object.assign(\n {},\n ...Object.keys(args || {}).map(\n (k) => {\n // if argTypeString == argTypeName, argTypeString is missing, need to readd it\n if (!args || !args[k]) {\n return\n }\n const [\n argTypeName,\n argTypeString,\n ] = args[k] as any\n return {\n [k]: [\n indexToName[\n argTypeName\n ],\n argTypeString ||\n indexToName[\n argTypeName\n ],\n ],\n }\n },\n ),\n ),\n },\n }\n },\n ),\n ),\n },\n }\n },\n ),\n )\n const res = resolveConcreteTypes(intermediaryTypeMap)\n return res\n}\n\n// replace typename with concrete type\nexport const resolveConcreteTypes = (linkedTypeMap: LinkedTypeMap) => {\n Object.keys(linkedTypeMap).forEach((typeNameFromKey) => {\n const type: LinkedType = linkedTypeMap[typeNameFromKey]!\n // type.name = typeNameFromKey\n if (!type.fields) {\n return\n }\n\n const fields = type.fields\n\n Object.keys(fields).forEach((f) => {\n const field: LinkedField = fields[f]!\n\n if (field.args) {\n const args = field.args\n Object.keys(args).forEach((key) => {\n const arg = args[key]\n\n if (arg) {\n const [typeName] = arg\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n arg[0] = linkedTypeMap[typeName]!\n }\n }\n })\n }\n\n const typeName = field.type as LinkedType | string\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n field.type = linkedTypeMap[typeName]!\n }\n })\n })\n\n return linkedTypeMap\n}\n","export default {\n \"scalars\": [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 9,\n 10,\n 13,\n 14,\n 16\n ],\n \"types\": {\n \"DateTime\": {},\n \"MomentStatus\": {},\n \"MomentSortOrder\": {},\n \"MomentType\": {},\n \"MomentCategory\": {},\n \"MomentSubcategory\": {},\n \"PaymentStatus\": {},\n \"TicketExtensionStatus\": {},\n \"Currency\": {\n \"uid\": [\n 9\n ],\n \"code\": [\n 10\n ],\n \"name\": [\n 10\n ],\n \"symbol\": [\n 10\n ],\n \"country\": [\n 10\n ],\n \"countryCode\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"ID\": {},\n \"String\": {},\n \"Venue\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"address\": [\n 10\n ],\n \"city\": [\n 10\n ],\n \"country\": [\n 10\n ],\n \"postalCode\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Moment\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"blurb\": [\n 10\n ],\n \"slug\": [\n 10\n ],\n \"startDate\": [\n 0\n ],\n \"endDate\": [\n 0\n ],\n \"isPrivate\": [\n 13\n ],\n \"type\": [\n 3\n ],\n \"category\": [\n 4\n ],\n \"subcategory\": [\n 5\n ],\n \"status\": [\n 1\n ],\n \"soldOut\": [\n 13\n ],\n \"timezone\": [\n 10\n ],\n \"minimumAge\": [\n 14\n ],\n \"venue\": [\n 11\n ],\n \"ticketTiers\": [\n 15\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Boolean\": {},\n \"Int\": {},\n \"TicketTier\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"price\": [\n 16\n ],\n \"currency\": [\n 8\n ],\n \"isActive\": [\n 13\n ],\n \"isPrivate\": [\n 13\n ],\n \"maxPerUser\": [\n 14\n ],\n \"minPerUser\": [\n 14\n ],\n \"remainingSupply\": [\n 14\n ],\n \"numSold\": [\n 16\n ],\n \"numCheckedIn\": [\n 16\n ],\n \"startDateOverride\": [\n 0\n ],\n \"endDateOverride\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Float\": {},\n \"User\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"phoneNumber\": [\n 10\n ],\n \"primaryEmail\": [\n 10\n ],\n \"instagramProfile\": [\n 10\n ],\n \"twitterProfile\": [\n 10\n ],\n \"spotifyProfile\": [\n 10\n ],\n \"tiktokProfile\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Ticket\": {\n \"uid\": [\n 9\n ],\n \"price\": [\n 16\n ],\n \"redeemedAt\": [\n 0\n ],\n \"encryptedQRCode\": [\n 10\n ],\n \"notes\": [\n 10\n ],\n \"externalId\": [\n 10\n ],\n \"hasExpired\": [\n 13\n ],\n \"ticketTier\": [\n 15\n ],\n \"user\": [\n 17\n ],\n \"moment\": [\n 12\n ],\n \"payment\": [\n 21\n ],\n \"extensions\": [\n 19\n ],\n \"discountCodeUsages\": [\n 20\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"TicketExtension\": {\n \"uid\": [\n 9\n ],\n \"hours\": [\n 14\n ],\n \"previousTotalHours\": [\n 14\n ],\n \"newTotalHours\": [\n 14\n ],\n \"pricePerHourCents\": [\n 14\n ],\n \"totalPriceCents\": [\n 14\n ],\n \"status\": [\n 7\n ],\n \"appliedAt\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentDiscountCodeUsage\": {\n \"uid\": [\n 9\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Payment\": {\n \"uid\": [\n 9\n ],\n \"amount\": [\n 16\n ],\n \"status\": [\n 6\n ],\n \"stripePaymentIntentId\": [\n 10\n ],\n \"stripeConnectedPaymentId\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MerchPurchase\": {\n \"uid\": [\n 9\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"PartnerCustomer\": {\n \"user\": [\n 17\n ],\n \"tickets\": [\n 18\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetPublicMomentsResponse\": {\n \"moments\": [\n 12\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetTicketsResponse\": {\n \"tickets\": [\n 18\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetPartnerCustomersResponse\": {\n \"customers\": [\n 23\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Query\": {\n \"getPartnerMomentsForBrand\": [\n 24,\n {\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ],\n \"status\": [\n 1\n ],\n \"sortOrder\": [\n 2\n ]\n }\n ],\n \"getPartnerMoment\": [\n 12,\n {\n \"slug\": [\n 10,\n \"String!\"\n ]\n }\n ],\n \"getPartnerTicketsForMoment\": [\n 25,\n {\n \"momentSlug\": [\n 10,\n \"String!\"\n ],\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ],\n \"checkedIn\": [\n 13\n ]\n }\n ],\n \"getPartnerCustomersForMoment\": [\n 26,\n {\n \"momentSlug\": [\n 10,\n \"String!\"\n ],\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ]\n }\n ],\n \"__typename\": [\n 10\n ]\n }\n }\n}","// @ts-nocheck\nimport type { QueryGenqlSelection, Query } from './schema'\nimport {\n linkTypeMap,\n createClient as createClientOriginal,\n generateGraphqlOperation,\n type FieldsSelection,\n type GraphqlOperation,\n type ClientOptions,\n GenqlError,\n} from './runtime'\nexport type { FieldsSelection } from './runtime'\nexport { GenqlError }\n\nimport types from './types'\nexport * from './schema'\nconst typeMap = linkTypeMap(types as any)\n\nexport interface Client {\n query<R extends QueryGenqlSelection>(\n request: R & { __name?: string },\n ): Promise<FieldsSelection<Query, R>>\n}\n\nexport const createClient = function (options?: ClientOptions): Client {\n return createClientOriginal({\n url: undefined,\n\n ...options,\n queryRoot: typeMap.Query!,\n mutationRoot: typeMap.Mutation!,\n subscriptionRoot: typeMap.Subscription!,\n }) as any\n}\n\nexport const everything = {\n __scalar: true,\n}\n\nexport type QueryResult<fields extends QueryGenqlSelection> = FieldsSelection<\n Query,\n fields\n>\nexport const generateQueryOp: (\n fields: QueryGenqlSelection & { __name?: string },\n) => GraphqlOperation = function (fields) {\n return generateGraphqlOperation('query', typeMap.Query!, fields as any)\n}\n","import { createClient as createGenqlClient, type Client } from './generated';\n\nexport interface ITMPartnerClientConfig {\n /**\n * Partner API token (from backstage: Settings > Partner API).\n * Sent as `x-partner-api-key` header on every request.\n */\n token: string;\n\n /**\n * Base URL of the ITM GraphQL API.\n * @default 'https://api.itm.studio/graphql'\n */\n baseUrl?: string;\n\n /**\n * Additional headers to include on every request.\n */\n headers?: Record<string, string>;\n}\n\nexport type ITMPartnerClient = Client;\n\n/**\n * Create a typed ITM Partner API client.\n *\n * @example\n * ```ts\n * import { createITMPartnerClient } from '@itm-studio/partner-sdk';\n *\n * const itm = createITMPartnerClient({\n * token: process.env.ITM_PARTNER_TOKEN!,\n * });\n *\n * const { getPartnerMomentsForBrand } = await itm.query({\n * getPartnerMomentsForBrand: {\n * __args: { take: 10 },\n * moments: {\n * uid: true,\n * name: true,\n * startDate: true,\n * venue: { name: true, city: true },\n * },\n * totalCount: true,\n * hasNextPage: true,\n * nextCursor: true,\n * },\n * });\n * ```\n */\nexport function createITMPartnerClient(\n config: ITMPartnerClientConfig,\n): ITMPartnerClient {\n const { token, baseUrl, headers: extraHeaders } = config;\n\n if (!token) {\n throw new Error(\n 'ITM Partner SDK: token is required. Get one from backstage: Settings > Partner API.',\n );\n }\n\n return createGenqlClient({\n url: baseUrl ?? 'https://api.itm.studio/graphql',\n headers: {\n 'x-partner-api-key': token,\n 'Content-Type': 'application/json',\n ...extraHeaders,\n },\n });\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/generated/runtime/error.ts","../src/generated/runtime/batcher.ts","../src/generated/runtime/fetcher.ts","../src/generated/runtime/generateGraphqlOperation.ts","../src/generated/runtime/createClient.ts","../src/generated/runtime/linkTypeMap.ts","../src/generated/types.ts","../src/generated/index.ts","../src/client.ts"],"names":["json","field","type","typeMap","k","typeName","createClient"],"mappings":"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","file":"index.js","sourcesContent":["// @ts-nocheck\nexport class GenqlError extends Error {\n errors: Array<GraphqlError> = []\n /**\n * Partial data returned by the server\n */\n data?: any\n constructor(errors: any[], data: any) {\n let message = Array.isArray(errors)\n ? errors.map((x) => x?.message || '').join('\\n')\n : ''\n if (!message) {\n message = 'GraphQL error'\n }\n super(message)\n this.errors = errors\n this.data = data\n }\n}\n\ninterface GraphqlError {\n message: string\n locations?: Array<{\n line: number\n column: number\n }>\n path?: string[]\n extensions?: Record<string, any>\n}\n","// @ts-nocheck\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\ntype Variables = Record<string, any>\n\ntype QueryError = Error & {\n message: string\n\n locations?: Array<{\n line: number\n column: number\n }>\n path?: any\n rid: string\n details?: Record<string, any>\n}\ntype Result = {\n data: Record<string, any>\n errors: Array<QueryError>\n}\ntype Fetcher = (\n batchedQuery: GraphqlOperation | Array<GraphqlOperation>,\n) => Promise<Array<Result>>\ntype Options = {\n batchInterval?: number\n shouldBatch?: boolean\n maxBatchSize?: number\n}\ntype Queue = Array<{\n request: GraphqlOperation\n resolve: (...args: Array<any>) => any\n reject: (...args: Array<any>) => any\n}>\n\n/**\n * takes a list of requests (queue) and batches them into a single server request.\n * It will then resolve each individual requests promise with the appropriate data.\n * @private\n * @param {QueryBatcher} client - the client to use\n * @param {Queue} queue - the list of requests to batch\n */\nfunction dispatchQueueBatch(client: QueryBatcher, queue: Queue): void {\n let batchedQuery: any = queue.map((item) => item.request)\n\n if (batchedQuery.length === 1) {\n batchedQuery = batchedQuery[0]\n }\n (() => {\n try {\n return client.fetcher(batchedQuery);\n } catch(e) {\n return Promise.reject(e);\n }\n })().then((responses: any) => {\n if (queue.length === 1 && !Array.isArray(responses)) {\n if (responses.errors && responses.errors.length) {\n queue[0].reject(\n new GenqlError(responses.errors, responses.data),\n )\n return\n }\n\n queue[0].resolve(responses)\n return\n } else if (responses.length !== queue.length) {\n throw new Error('response length did not match query length')\n }\n\n for (let i = 0; i < queue.length; i++) {\n if (responses[i].errors && responses[i].errors.length) {\n queue[i].reject(\n new GenqlError(responses[i].errors, responses[i].data),\n )\n } else {\n queue[i].resolve(responses[i])\n }\n }\n })\n .catch((e) => {\n for (let i = 0; i < queue.length; i++) {\n queue[i].reject(e)\n }\n });\n}\n\n/**\n * creates a list of requests to batch according to max batch size.\n * @private\n * @param {QueryBatcher} client - the client to create list of requests from from\n * @param {Options} options - the options for the batch\n */\nfunction dispatchQueue(client: QueryBatcher, options: Options): void {\n const queue = client._queue\n const maxBatchSize = options.maxBatchSize || 0\n client._queue = []\n\n if (maxBatchSize > 0 && maxBatchSize < queue.length) {\n for (let i = 0; i < queue.length / maxBatchSize; i++) {\n dispatchQueueBatch(\n client,\n queue.slice(i * maxBatchSize, (i + 1) * maxBatchSize),\n )\n }\n } else {\n dispatchQueueBatch(client, queue)\n }\n}\n/**\n * Create a batcher client.\n * @param {Fetcher} fetcher - A function that can handle the network requests to graphql endpoint\n * @param {Options} options - the options to be used by client\n * @param {boolean} options.shouldBatch - should the client batch requests. (default true)\n * @param {integer} options.batchInterval - duration (in MS) of each batch window. (default 6)\n * @param {integer} options.maxBatchSize - max number of requests in a batch. (default 0)\n * @param {boolean} options.defaultHeaders - default headers to include with every request\n *\n * @example\n * const fetcher = batchedQuery => fetch('path/to/graphql', {\n * method: 'post',\n * headers: {\n * Accept: 'application/json',\n * 'Content-Type': 'application/json',\n * },\n * body: JSON.stringify(batchedQuery),\n * credentials: 'include',\n * })\n * .then(response => response.json())\n *\n * const client = new QueryBatcher(fetcher, { maxBatchSize: 10 })\n */\n\nexport class QueryBatcher {\n fetcher: Fetcher\n _options: Options\n _queue: Queue\n\n constructor(\n fetcher: Fetcher,\n {\n batchInterval = 6,\n shouldBatch = true,\n maxBatchSize = 0,\n }: Options = {},\n ) {\n this.fetcher = fetcher\n this._options = {\n batchInterval,\n shouldBatch,\n maxBatchSize,\n }\n this._queue = []\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {promise} resolves to parsed json of server response\n *\n * @example\n * client.fetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n fetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides)\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n this._queue.push({\n request,\n resolve,\n reject,\n })\n\n if (this._queue.length === 1) {\n if (options.shouldBatch) {\n setTimeout(\n () => dispatchQueue(this, options),\n options.batchInterval,\n )\n } else {\n dispatchQueue(this, options)\n }\n }\n })\n return promise\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {Promise<Array<Result>>} resolves to parsed json of server response\n *\n * @example\n * client.forceFetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n forceFetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides, {\n shouldBatch: false,\n })\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n const client = new QueryBatcher(this.fetcher, this._options)\n client._queue = [\n {\n request,\n resolve,\n reject,\n },\n ]\n dispatchQueue(client, options)\n })\n return promise\n }\n}\n","// @ts-nocheck\nimport { QueryBatcher } from './batcher'\n\nimport type { ClientOptions } from './createClient'\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\nexport interface Fetcher {\n (gql: GraphqlOperation): Promise<any>\n}\n\nexport type BatchOptions = {\n batchInterval?: number // ms\n maxBatchSize?: number\n}\n\nconst DEFAULT_BATCH_OPTIONS = {\n maxBatchSize: 10,\n batchInterval: 40,\n}\n\nexport const createFetcher = ({\n url,\n headers = {},\n fetcher,\n fetch: _fetch,\n batch = false,\n ...rest\n}: ClientOptions): Fetcher => {\n if (!url && !fetcher) {\n throw new Error('url or fetcher is required')\n }\n\n fetcher = fetcher || (async (body) => {\n let headersObject =\n typeof headers == 'function' ? await headers() : headers\n headersObject = headersObject || {}\n if (typeof fetch === 'undefined' && !_fetch) {\n throw new Error(\n 'Global `fetch` function is not available, pass a fetch polyfill to Genql `createClient`',\n )\n }\n let fetchImpl = _fetch || fetch\n const res = await fetchImpl(url!, {\n headers: {\n 'Content-Type': 'application/json',\n ...headersObject,\n },\n method: 'POST',\n body: JSON.stringify(body),\n ...rest,\n })\n if (!res.ok) {\n throw new Error(`${res.statusText}: ${await res.text()}`)\n }\n const json = await res.json()\n return json\n })\n\n if (!batch) {\n return async (body) => {\n const json = await fetcher!(body)\n if (Array.isArray(json)) {\n return json.map((json) => {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n })\n } else {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n }\n }\n }\n\n const batcher = new QueryBatcher(\n async (batchedQuery) => {\n // console.log(batchedQuery) // [{ query: 'query{user{age}}', variables: {} }, ...]\n const json = await fetcher!(batchedQuery)\n return json as any\n },\n batch === true ? DEFAULT_BATCH_OPTIONS : batch,\n )\n\n return async ({ query, variables }) => {\n const json = await batcher.fetch(query, variables)\n if (json?.data) {\n return json.data\n }\n throw new Error(\n 'Genql batch fetcher returned unexpected result ' + JSON.stringify(json),\n )\n }\n}\n","// @ts-nocheck\nimport type { LinkedField, LinkedType } from './types'\n\nexport interface Args {\n [arg: string]: any | undefined\n}\n\nexport interface Fields {\n [field: string]: Request\n}\n\nexport type Request = boolean | number | Fields\n\nexport interface Variables {\n [name: string]: {\n value: any\n typing: [LinkedType, string]\n }\n}\n\nexport interface Context {\n root: LinkedType\n varCounter: number\n variables: Variables\n fragmentCounter: number\n fragments: string[]\n}\n\nexport interface GraphqlOperation {\n query: string\n variables?: { [name: string]: any }\n operationName?: string\n}\n\nconst parseRequest = (\n request: Request | undefined,\n ctx: Context,\n path: string[],\n): string => {\n if (typeof request === 'object' && '__args' in request) {\n const args: any = request.__args\n let fields: Request | undefined = { ...request }\n delete fields.__args\n const argNames = Object.keys(args)\n\n if (argNames.length === 0) {\n return parseRequest(fields, ctx, path)\n }\n\n const field = getFieldFromPath(ctx.root, path)\n\n const argStrings = argNames.map((argName) => {\n ctx.varCounter++\n const varName = `v${ctx.varCounter}`\n\n const typing = field.args && field.args[argName] // typeMap used here, .args\n\n if (!typing) {\n throw new Error(\n `no typing defined for argument \\`${argName}\\` in path \\`${path.join(\n '.',\n )}\\``,\n )\n }\n\n ctx.variables[varName] = {\n value: args[argName],\n typing,\n }\n\n return `${argName}:$${varName}`\n })\n return `(${argStrings})${parseRequest(fields, ctx, path)}`\n } else if (typeof request === 'object' && Object.keys(request).length > 0) {\n const fields = request\n const fieldNames = Object.keys(fields).filter((k) => Boolean(fields[k]))\n\n if (fieldNames.length === 0) {\n throw new Error(\n `field selection should not be empty: ${path.join('.')}`,\n )\n }\n\n const type =\n path.length > 0 ? getFieldFromPath(ctx.root, path).type : ctx.root\n const scalarFields = type.scalar\n\n let scalarFieldsFragment: string | undefined\n\n if (fieldNames.includes('__scalar')) {\n const falsyFieldNames = new Set(\n Object.keys(fields).filter((k) => !Boolean(fields[k])),\n )\n if (scalarFields?.length) {\n ctx.fragmentCounter++\n scalarFieldsFragment = `f${ctx.fragmentCounter}`\n\n ctx.fragments.push(\n `fragment ${scalarFieldsFragment} on ${\n type.name\n }{${scalarFields\n .filter((f) => !falsyFieldNames.has(f))\n .join(',')}}`,\n )\n }\n }\n\n const fieldsSelection = fieldNames\n .filter((f) => !['__scalar', '__name'].includes(f))\n .map((f) => {\n const parsed = parseRequest(fields[f], ctx, [...path, f])\n\n if (f.startsWith('on_')) {\n ctx.fragmentCounter++\n const implementationFragment = `f${ctx.fragmentCounter}`\n\n const typeMatch = f.match(/^on_(.+)/)\n\n if (!typeMatch || !typeMatch[1])\n throw new Error('match failed')\n\n ctx.fragments.push(\n `fragment ${implementationFragment} on ${typeMatch[1]}${parsed}`,\n )\n\n return `...${implementationFragment}`\n } else {\n return `${f}${parsed}`\n }\n })\n .concat(scalarFieldsFragment ? [`...${scalarFieldsFragment}`] : [])\n .join(',')\n\n return `{${fieldsSelection}}`\n } else {\n return ''\n }\n}\n\nexport const generateGraphqlOperation = (\n operation: 'query' | 'mutation' | 'subscription',\n root: LinkedType,\n fields?: Fields,\n): GraphqlOperation => {\n const ctx: Context = {\n root: root,\n varCounter: 0,\n variables: {},\n fragmentCounter: 0,\n fragments: [],\n }\n const result = parseRequest(fields, ctx, [])\n\n const varNames = Object.keys(ctx.variables)\n\n const varsString =\n varNames.length > 0\n ? `(${varNames.map((v) => {\n const variableType = ctx.variables[v].typing[1]\n return `$${v}:${variableType}`\n })})`\n : ''\n\n const operationName = fields?.__name || ''\n\n return {\n query: [\n `${operation} ${operationName}${varsString}${result}`,\n ...ctx.fragments,\n ].join(','),\n variables: Object.keys(ctx.variables).reduce<{ [name: string]: any }>(\n (r, v) => {\n r[v] = ctx.variables[v].value\n return r\n },\n {},\n ),\n ...(operationName ? { operationName: operationName.toString() } : {}),\n }\n}\n\nexport const getFieldFromPath = (\n root: LinkedType | undefined,\n path: string[],\n) => {\n let current: LinkedField | undefined\n\n if (!root) throw new Error('root type is not provided')\n\n if (path.length === 0) throw new Error(`path is empty`)\n\n path.forEach((f) => {\n const type = current ? current.type : root\n\n if (!type.fields)\n throw new Error(`type \\`${type.name}\\` does not have fields`)\n\n const possibleTypes = Object.keys(type.fields)\n .filter((i) => i.startsWith('on_'))\n .reduce(\n (types, fieldName) => {\n const field = type.fields && type.fields[fieldName]\n if (field) types.push(field.type)\n return types\n },\n [type],\n )\n\n let field: LinkedField | null = null\n\n possibleTypes.forEach((type) => {\n const found = type.fields && type.fields[f]\n if (found) field = found\n })\n\n if (!field)\n throw new Error(\n `type \\`${type.name}\\` does not have a field \\`${f}\\``,\n )\n\n current = field\n })\n\n return current as LinkedField\n}\n","// @ts-nocheck\n\nimport { type BatchOptions, createFetcher } from './fetcher'\nimport type { ExecutionResult, LinkedType } from './types'\nimport {\n generateGraphqlOperation,\n type GraphqlOperation,\n} from './generateGraphqlOperation'\n\nexport type Headers =\n | HeadersInit\n | (() => HeadersInit)\n | (() => Promise<HeadersInit>)\n\nexport type BaseFetcher = (\n operation: GraphqlOperation | GraphqlOperation[],\n) => Promise<ExecutionResult | ExecutionResult[]>\n\nexport type ClientOptions = Omit<RequestInit, 'body' | 'headers'> & {\n url?: string\n batch?: BatchOptions | boolean\n fetcher?: BaseFetcher\n fetch?: Function\n headers?: Headers\n}\n\nexport const createClient = ({\n queryRoot,\n mutationRoot,\n subscriptionRoot,\n ...options\n}: ClientOptions & {\n queryRoot?: LinkedType\n mutationRoot?: LinkedType\n subscriptionRoot?: LinkedType\n}) => {\n const fetcher = createFetcher(options)\n const client: {\n query?: Function\n mutation?: Function\n } = {}\n\n if (queryRoot) {\n client.query = (request: any) => {\n if (!queryRoot) throw new Error('queryRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('query', queryRoot, request),\n )\n\n return resultPromise\n }\n }\n if (mutationRoot) {\n client.mutation = (request: any) => {\n if (!mutationRoot)\n throw new Error('mutationRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('mutation', mutationRoot, request),\n )\n\n return resultPromise\n }\n }\n\n return client as any\n}\n","// @ts-nocheck\nimport type {\n CompressedType,\n CompressedTypeMap,\n LinkedArgMap,\n LinkedField,\n LinkedType,\n LinkedTypeMap,\n} from './types'\n\nexport interface PartialLinkedFieldMap {\n [field: string]: {\n type: string\n args?: LinkedArgMap\n }\n}\n\nexport const linkTypeMap = (\n typeMap: CompressedTypeMap<number>,\n): LinkedTypeMap => {\n const indexToName: Record<number, string> = Object.assign(\n {},\n ...Object.keys(typeMap.types).map((k, i) => ({ [i]: k })),\n )\n\n let intermediaryTypeMap = Object.assign(\n {},\n ...Object.keys(typeMap.types || {}).map(\n (k): Record<string, LinkedType> => {\n const type: CompressedType = typeMap.types[k]!\n const fields = type || {}\n return {\n [k]: {\n name: k,\n // type scalar properties\n scalar: Object.keys(fields).filter((f) => {\n const [type] = fields[f] || []\n\n const isScalar =\n type && typeMap.scalars.includes(type)\n if (!isScalar) {\n return false\n }\n const args = fields[f]?.[1]\n const argTypes = Object.values(args || {})\n .map((x) => x?.[1])\n .filter(Boolean)\n\n const hasRequiredArgs = argTypes.some(\n (str) => str && str.endsWith('!'),\n )\n if (hasRequiredArgs) {\n return false\n }\n return true\n }),\n // fields with corresponding `type` and `args`\n fields: Object.assign(\n {},\n ...Object.keys(fields).map(\n (f): PartialLinkedFieldMap => {\n const [typeIndex, args] = fields[f] || []\n if (typeIndex == null) {\n return {}\n }\n return {\n [f]: {\n // replace index with type name\n type: indexToName[typeIndex],\n args: Object.assign(\n {},\n ...Object.keys(args || {}).map(\n (k) => {\n // if argTypeString == argTypeName, argTypeString is missing, need to readd it\n if (!args || !args[k]) {\n return\n }\n const [\n argTypeName,\n argTypeString,\n ] = args[k] as any\n return {\n [k]: [\n indexToName[\n argTypeName\n ],\n argTypeString ||\n indexToName[\n argTypeName\n ],\n ],\n }\n },\n ),\n ),\n },\n }\n },\n ),\n ),\n },\n }\n },\n ),\n )\n const res = resolveConcreteTypes(intermediaryTypeMap)\n return res\n}\n\n// replace typename with concrete type\nexport const resolveConcreteTypes = (linkedTypeMap: LinkedTypeMap) => {\n Object.keys(linkedTypeMap).forEach((typeNameFromKey) => {\n const type: LinkedType = linkedTypeMap[typeNameFromKey]!\n // type.name = typeNameFromKey\n if (!type.fields) {\n return\n }\n\n const fields = type.fields\n\n Object.keys(fields).forEach((f) => {\n const field: LinkedField = fields[f]!\n\n if (field.args) {\n const args = field.args\n Object.keys(args).forEach((key) => {\n const arg = args[key]\n\n if (arg) {\n const [typeName] = arg\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n arg[0] = linkedTypeMap[typeName]!\n }\n }\n })\n }\n\n const typeName = field.type as LinkedType | string\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n field.type = linkedTypeMap[typeName]!\n }\n })\n })\n\n return linkedTypeMap\n}\n","export default {\n \"scalars\": [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 9,\n 10,\n 13,\n 14,\n 16\n ],\n \"types\": {\n \"DateTime\": {},\n \"MomentStatus\": {},\n \"MomentSortOrder\": {},\n \"MomentType\": {},\n \"MomentCategory\": {},\n \"MomentSubcategory\": {},\n \"PaymentStatus\": {},\n \"TicketExtensionStatus\": {},\n \"Currency\": {\n \"uid\": [\n 9\n ],\n \"code\": [\n 10\n ],\n \"name\": [\n 10\n ],\n \"symbol\": [\n 10\n ],\n \"country\": [\n 10\n ],\n \"countryCode\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"ID\": {},\n \"String\": {},\n \"Venue\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"address\": [\n 10\n ],\n \"city\": [\n 10\n ],\n \"country\": [\n 10\n ],\n \"postalCode\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Moment\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"blurb\": [\n 10\n ],\n \"slug\": [\n 10\n ],\n \"startDate\": [\n 0\n ],\n \"endDate\": [\n 0\n ],\n \"isPrivate\": [\n 13\n ],\n \"type\": [\n 3\n ],\n \"category\": [\n 4\n ],\n \"subcategory\": [\n 5\n ],\n \"status\": [\n 1\n ],\n \"soldOut\": [\n 13\n ],\n \"timezone\": [\n 10\n ],\n \"minimumAge\": [\n 14\n ],\n \"externalUrl\": [\n 10\n ],\n \"venue\": [\n 11\n ],\n \"ticketTiers\": [\n 15\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Boolean\": {},\n \"Int\": {},\n \"TicketTier\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"price\": [\n 16\n ],\n \"currency\": [\n 8\n ],\n \"isActive\": [\n 13\n ],\n \"isPrivate\": [\n 13\n ],\n \"maxPerUser\": [\n 14\n ],\n \"minPerUser\": [\n 14\n ],\n \"remainingSupply\": [\n 14\n ],\n \"startDateOverride\": [\n 0\n ],\n \"endDateOverride\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Float\": {},\n \"User\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"phoneNumber\": [\n 10\n ],\n \"primaryEmail\": [\n 10\n ],\n \"instagramProfile\": [\n 10\n ],\n \"twitterProfile\": [\n 10\n ],\n \"spotifyProfile\": [\n 10\n ],\n \"tiktokProfile\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Ticket\": {\n \"uid\": [\n 9\n ],\n \"price\": [\n 16\n ],\n \"redeemedAt\": [\n 0\n ],\n \"encryptedQRCode\": [\n 10\n ],\n \"notes\": [\n 10\n ],\n \"externalId\": [\n 10\n ],\n \"hasExpired\": [\n 13\n ],\n \"ticketTier\": [\n 15\n ],\n \"user\": [\n 17\n ],\n \"moment\": [\n 12\n ],\n \"payment\": [\n 21\n ],\n \"extensions\": [\n 19\n ],\n \"discountCodeUsages\": [\n 20\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"TicketExtension\": {\n \"uid\": [\n 9\n ],\n \"hours\": [\n 14\n ],\n \"previousTotalHours\": [\n 14\n ],\n \"newTotalHours\": [\n 14\n ],\n \"pricePerHourCents\": [\n 14\n ],\n \"totalPriceCents\": [\n 14\n ],\n \"status\": [\n 7\n ],\n \"appliedAt\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentDiscountCodeUsage\": {\n \"uid\": [\n 9\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Payment\": {\n \"uid\": [\n 9\n ],\n \"amount\": [\n 16\n ],\n \"status\": [\n 6\n ],\n \"stripePaymentIntentId\": [\n 10\n ],\n \"stripeConnectedPaymentId\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MerchPurchase\": {\n \"uid\": [\n 9\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"PartnerCustomer\": {\n \"user\": [\n 17\n ],\n \"tickets\": [\n 18\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentCollectionLink\": {\n \"uid\": [\n 9\n ],\n \"url\": [\n 10\n ],\n \"label\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentCollection\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"slug\": [\n 10\n ],\n \"subLabel\": [\n 10\n ],\n \"availableQueryFilters\": [\n 10\n ],\n \"moments\": [\n 12,\n {\n \"queryFilters\": [\n 10,\n \"[String!]\"\n ]\n }\n ],\n \"links\": [\n 24\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetPublicMomentsResponse\": {\n \"moments\": [\n 12\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetTicketsResponse\": {\n \"tickets\": [\n 18\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetPartnerCustomersResponse\": {\n \"customers\": [\n 23\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Query\": {\n \"getPartnerMomentsForBrand\": [\n 26,\n {\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ],\n \"status\": [\n 1\n ],\n \"sortOrder\": [\n 2\n ]\n }\n ],\n \"getPartnerMoment\": [\n 12,\n {\n \"slug\": [\n 10,\n \"String!\"\n ]\n }\n ],\n \"getPartnerTicketsForMoment\": [\n 27,\n {\n \"momentSlug\": [\n 10,\n \"String!\"\n ],\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ],\n \"checkedIn\": [\n 13\n ]\n }\n ],\n \"getPartnerCustomersForMoment\": [\n 28,\n {\n \"momentSlug\": [\n 10,\n \"String!\"\n ],\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ]\n }\n ],\n \"getPartnerMomentCollection\": [\n 25,\n {\n \"slug\": [\n 10,\n \"String!\"\n ]\n }\n ],\n \"__typename\": [\n 10\n ]\n }\n }\n}","// @ts-nocheck\nimport type { QueryGenqlSelection, Query } from './schema'\nimport {\n linkTypeMap,\n createClient as createClientOriginal,\n generateGraphqlOperation,\n type FieldsSelection,\n type GraphqlOperation,\n type ClientOptions,\n GenqlError,\n} from './runtime'\nexport type { FieldsSelection } from './runtime'\nexport { GenqlError }\n\nimport types from './types'\nexport * from './schema'\nconst typeMap = linkTypeMap(types as any)\n\nexport interface Client {\n query<R extends QueryGenqlSelection>(\n request: R & { __name?: string },\n ): Promise<FieldsSelection<Query, R>>\n}\n\nexport const createClient = function (options?: ClientOptions): Client {\n return createClientOriginal({\n url: undefined,\n\n ...options,\n queryRoot: typeMap.Query!,\n mutationRoot: typeMap.Mutation!,\n subscriptionRoot: typeMap.Subscription!,\n }) as any\n}\n\nexport const everything = {\n __scalar: true,\n}\n\nexport type QueryResult<fields extends QueryGenqlSelection> = FieldsSelection<\n Query,\n fields\n>\nexport const generateQueryOp: (\n fields: QueryGenqlSelection & { __name?: string },\n) => GraphqlOperation = function (fields) {\n return generateGraphqlOperation('query', typeMap.Query!, fields as any)\n}\n","import { createClient as createGenqlClient, type Client } from './generated';\n\nexport interface ITMPartnerClientConfig {\n /**\n * Partner API token (from backstage: Settings > Partner API).\n * Sent as `x-partner-api-key` header on every request.\n */\n token: string;\n\n /**\n * Base URL of the ITM GraphQL API.\n * @default 'https://api.itm.studio/graphql'\n */\n baseUrl?: string;\n\n /**\n * Additional headers to include on every request.\n */\n headers?: Record<string, string>;\n}\n\nexport type ITMPartnerClient = Client;\n\n/**\n * Create a typed ITM Partner API client.\n *\n * @example\n * ```ts\n * import { createITMPartnerClient } from '@itm-studio/partner-sdk';\n *\n * const itm = createITMPartnerClient({\n * token: process.env.ITM_PARTNER_TOKEN!,\n * });\n *\n * const { getPartnerMomentsForBrand } = await itm.query({\n * getPartnerMomentsForBrand: {\n * __args: { take: 10 },\n * moments: {\n * uid: true,\n * name: true,\n * startDate: true,\n * venue: { name: true, city: true },\n * },\n * totalCount: true,\n * hasNextPage: true,\n * nextCursor: true,\n * },\n * });\n * ```\n */\nexport function createITMPartnerClient(\n config: ITMPartnerClientConfig,\n): ITMPartnerClient {\n const { token, baseUrl, headers: extraHeaders } = config;\n\n if (!token) {\n throw new Error(\n 'ITM Partner SDK: token is required. Get one from backstage: Settings > Partner API.',\n );\n }\n\n return createGenqlClient({\n url: baseUrl ?? 'https://api.itm.studio/graphql',\n headers: {\n 'x-partner-api-key': token,\n 'Content-Type': 'application/json',\n ...extraHeaders,\n },\n });\n}\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -678,6 +678,9 @@ var types_default = {
|
|
|
678
678
|
"minimumAge": [
|
|
679
679
|
14
|
|
680
680
|
],
|
|
681
|
+
"externalUrl": [
|
|
682
|
+
10
|
|
683
|
+
],
|
|
681
684
|
"venue": [
|
|
682
685
|
11
|
|
683
686
|
],
|
|
@@ -727,12 +730,6 @@ var types_default = {
|
|
|
727
730
|
"remainingSupply": [
|
|
728
731
|
14
|
|
729
732
|
],
|
|
730
|
-
"numSold": [
|
|
731
|
-
16
|
|
732
|
-
],
|
|
733
|
-
"numCheckedIn": [
|
|
734
|
-
16
|
|
735
|
-
],
|
|
736
733
|
"startDateOverride": [
|
|
737
734
|
0
|
|
738
735
|
],
|
|
@@ -935,6 +932,67 @@ var types_default = {
|
|
|
935
932
|
10
|
|
936
933
|
]
|
|
937
934
|
},
|
|
935
|
+
"MomentCollectionLink": {
|
|
936
|
+
"uid": [
|
|
937
|
+
9
|
|
938
|
+
],
|
|
939
|
+
"url": [
|
|
940
|
+
10
|
|
941
|
+
],
|
|
942
|
+
"label": [
|
|
943
|
+
10
|
|
944
|
+
],
|
|
945
|
+
"createdAt": [
|
|
946
|
+
0
|
|
947
|
+
],
|
|
948
|
+
"updatedAt": [
|
|
949
|
+
0
|
|
950
|
+
],
|
|
951
|
+
"__typename": [
|
|
952
|
+
10
|
|
953
|
+
]
|
|
954
|
+
},
|
|
955
|
+
"MomentCollection": {
|
|
956
|
+
"uid": [
|
|
957
|
+
9
|
|
958
|
+
],
|
|
959
|
+
"name": [
|
|
960
|
+
10
|
|
961
|
+
],
|
|
962
|
+
"description": [
|
|
963
|
+
10
|
|
964
|
+
],
|
|
965
|
+
"slug": [
|
|
966
|
+
10
|
|
967
|
+
],
|
|
968
|
+
"subLabel": [
|
|
969
|
+
10
|
|
970
|
+
],
|
|
971
|
+
"availableQueryFilters": [
|
|
972
|
+
10
|
|
973
|
+
],
|
|
974
|
+
"moments": [
|
|
975
|
+
12,
|
|
976
|
+
{
|
|
977
|
+
"queryFilters": [
|
|
978
|
+
10,
|
|
979
|
+
"[String!]"
|
|
980
|
+
]
|
|
981
|
+
}
|
|
982
|
+
],
|
|
983
|
+
"links": [
|
|
984
|
+
24
|
|
985
|
+
],
|
|
986
|
+
"createdAt": [
|
|
987
|
+
0
|
|
988
|
+
],
|
|
989
|
+
"updatedAt": [
|
|
990
|
+
0
|
|
991
|
+
],
|
|
992
|
+
"__typename": [
|
|
993
|
+
10
|
|
994
|
+
]
|
|
995
|
+
},
|
|
938
996
|
"GetPublicMomentsResponse": {
|
|
939
997
|
"moments": [
|
|
940
998
|
12
|
|
@@ -988,7 +1046,7 @@ var types_default = {
|
|
|
988
1046
|
},
|
|
989
1047
|
"Query": {
|
|
990
1048
|
"getPartnerMomentsForBrand": [
|
|
991
|
-
|
|
1049
|
+
26,
|
|
992
1050
|
{
|
|
993
1051
|
"cursor": [
|
|
994
1052
|
10
|
|
@@ -1014,7 +1072,7 @@ var types_default = {
|
|
|
1014
1072
|
}
|
|
1015
1073
|
],
|
|
1016
1074
|
"getPartnerTicketsForMoment": [
|
|
1017
|
-
|
|
1075
|
+
27,
|
|
1018
1076
|
{
|
|
1019
1077
|
"momentSlug": [
|
|
1020
1078
|
10,
|
|
@@ -1032,7 +1090,7 @@ var types_default = {
|
|
|
1032
1090
|
}
|
|
1033
1091
|
],
|
|
1034
1092
|
"getPartnerCustomersForMoment": [
|
|
1035
|
-
|
|
1093
|
+
28,
|
|
1036
1094
|
{
|
|
1037
1095
|
"momentSlug": [
|
|
1038
1096
|
10,
|
|
@@ -1046,6 +1104,15 @@ var types_default = {
|
|
|
1046
1104
|
]
|
|
1047
1105
|
}
|
|
1048
1106
|
],
|
|
1107
|
+
"getPartnerMomentCollection": [
|
|
1108
|
+
25,
|
|
1109
|
+
{
|
|
1110
|
+
"slug": [
|
|
1111
|
+
10,
|
|
1112
|
+
"String!"
|
|
1113
|
+
]
|
|
1114
|
+
}
|
|
1115
|
+
],
|
|
1049
1116
|
"__typename": [
|
|
1050
1117
|
10
|
|
1051
1118
|
]
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generated/runtime/error.ts","../src/generated/runtime/batcher.ts","../src/generated/runtime/fetcher.ts","../src/generated/runtime/generateGraphqlOperation.ts","../src/generated/runtime/createClient.ts","../src/generated/runtime/linkTypeMap.ts","../src/generated/types.ts","../src/generated/index.ts","../src/client.ts"],"names":["json","field","type","typeMap","k","typeName","createClient"],"mappings":";AACO,IAAM,UAAA,GAAN,cAAyB,KAAA,CAAM;AAAA,EAClC,SAA8B,EAAC;AAAA;AAAA;AAAA;AAAA,EAI/B,IAAA;AAAA,EACA,WAAA,CAAY,QAAe,IAAA,EAAW;AAClC,IAAA,IAAI,OAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,MAAM,IAC5B,MAAA,CAAO,GAAA,CAAI,CAAC,CAAA,KAAM,GAAG,OAAA,IAAW,EAAE,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA,GAC7C,EAAA;AACN,IAAA,IAAI,CAAC,OAAA,EAAS;AACV,MAAA,OAAA,GAAU,eAAA;AAAA,IACd;AACA,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AAAA,EAChB;AACJ,CAAA;;;ACwBA,SAAS,kBAAA,CAAmB,QAAsB,KAAA,EAAoB;AAClE,EAAA,IAAI,eAAoB,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS,KAAK,OAAO,CAAA;AAExD,EAAA,IAAI,YAAA,CAAa,WAAW,CAAA,EAAG;AAC3B,IAAA,YAAA,GAAe,aAAa,CAAC,CAAA;AAAA,EACjC;AACA,EAAA,CAAC,MAAM;AACH,IAAA,IAAI;AACA,MAAA,OAAO,MAAA,CAAO,QAAQ,YAAY,CAAA;AAAA,IACtC,SAAQ,CAAA,EAAG;AACP,MAAA,OAAO,OAAA,CAAQ,OAAO,CAAC,CAAA;AAAA,IAC3B;AAAA,EACJ,CAAA,GAAG,CAAE,IAAA,CAAK,CAAC,SAAA,KAAmB;AAC1B,IAAA,IAAI,MAAM,MAAA,KAAW,CAAA,IAAK,CAAC,KAAA,CAAM,OAAA,CAAQ,SAAS,CAAA,EAAG;AACjD,MAAA,IAAI,SAAA,CAAU,MAAA,IAAU,SAAA,CAAU,MAAA,CAAO,MAAA,EAAQ;AAC7C,QAAA,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA;AAAA,UACL,IAAI,UAAA,CAAW,SAAA,CAAU,MAAA,EAAQ,UAAU,IAAI;AAAA,SACnD;AACA,QAAA;AAAA,MACJ;AAEA,MAAA,KAAA,CAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA;AAC1B,MAAA;AAAA,IACJ,CAAA,MAAA,IAAW,SAAA,CAAU,MAAA,KAAW,KAAA,CAAM,MAAA,EAAQ;AAC1C,MAAA,MAAM,IAAI,MAAM,4CAA4C,CAAA;AAAA,IAChE;AAEA,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,QAAQ,CAAA,EAAA,EAAK;AACnC,MAAA,IAAI,SAAA,CAAU,CAAC,CAAA,CAAE,MAAA,IAAU,UAAU,CAAC,CAAA,CAAE,OAAO,MAAA,EAAQ;AACnD,QAAA,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA;AAAA,UACL,IAAI,WAAW,SAAA,CAAU,CAAC,EAAE,MAAA,EAAQ,SAAA,CAAU,CAAC,CAAA,CAAE,IAAI;AAAA,SACzD;AAAA,MACJ,CAAA,MAAO;AACH,QAAA,KAAA,CAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAA,CAAU,CAAC,CAAC,CAAA;AAAA,MACjC;AAAA,IACJ;AAAA,EACJ,CAAC,CAAA,CACA,KAAA,CAAM,CAAC,CAAA,KAAM;AACV,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,QAAQ,CAAA,EAAA,EAAK;AACnC,MAAA,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA,CAAO,CAAC,CAAA;AAAA,IACrB;AAAA,EACJ,CAAC,CAAA;AACL;AAQA,SAAS,aAAA,CAAc,QAAsB,OAAA,EAAwB;AACjE,EAAA,MAAM,QAAQ,MAAA,CAAO,MAAA;AACrB,EAAA,MAAM,YAAA,GAAe,QAAQ,YAAA,IAAgB,CAAA;AAC7C,EAAA,MAAA,CAAO,SAAS,EAAC;AAEjB,EAAA,IAAI,YAAA,GAAe,CAAA,IAAK,YAAA,GAAe,KAAA,CAAM,MAAA,EAAQ;AACjD,IAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,MAAA,GAAS,cAAc,CAAA,EAAA,EAAK;AAClD,MAAA,kBAAA;AAAA,QACI,MAAA;AAAA,QACA,MAAM,KAAA,CAAM,CAAA,GAAI,YAAA,EAAA,CAAe,CAAA,GAAI,KAAK,YAAY;AAAA,OACxD;AAAA,IACJ;AAAA,EACJ,CAAA,MAAO;AACH,IAAA,kBAAA,CAAmB,QAAQ,KAAK,CAAA;AAAA,EACpC;AACJ;AAyBO,IAAM,YAAA,GAAN,MAAM,aAAA,CAAa;AAAA,EACtB,OAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EAEA,YACI,OAAA,EACA;AAAA,IACI,aAAA,GAAgB,CAAA;AAAA,IAChB,WAAA,GAAc,IAAA;AAAA,IACd,YAAA,GAAe;AAAA,GACnB,GAAa,EAAC,EAChB;AACE,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AACf,IAAA,IAAA,CAAK,QAAA,GAAW;AAAA,MACZ,aAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA,KACJ;AACA,IAAA,IAAA,CAAK,SAAS,EAAC;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyBA,MACI,KAAA,EACA,SAAA,EACA,aAAA,EACA,SAAA,GAAqB,EAAC,EACP;AACf,IAAA,MAAM,OAAA,GAA4B;AAAA,MAC9B;AAAA,KACJ;AACA,IAAA,MAAM,UAAU,MAAA,CAAO,MAAA,CAAO,EAAC,EAAG,IAAA,CAAK,UAAU,SAAS,CAAA;AAE1D,IAAA,IAAI,SAAA,EAAW;AACX,MAAA,OAAA,CAAQ,SAAA,GAAY,SAAA;AAAA,IACxB;AAEA,IAAA,IAAI,aAAA,EAAe;AACf,MAAA,OAAA,CAAQ,aAAA,GAAgB,aAAA;AAAA,IAC5B;AAEA,IAAA,MAAM,OAAA,GAAU,IAAI,OAAA,CAAgB,CAAC,SAAS,MAAA,KAAW;AACrD,MAAA,IAAA,CAAK,OAAO,IAAA,CAAK;AAAA,QACb,OAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACH,CAAA;AAED,MAAA,IAAI,IAAA,CAAK,MAAA,CAAO,MAAA,KAAW,CAAA,EAAG;AAC1B,QAAA,IAAI,QAAQ,WAAA,EAAa;AACrB,UAAA,UAAA;AAAA,YACI,MAAM,aAAA,CAAc,IAAA,EAAM,OAAO,CAAA;AAAA,YACjC,OAAA,CAAQ;AAAA,WACZ;AAAA,QACJ,CAAA,MAAO;AACH,UAAA,aAAA,CAAc,MAAM,OAAO,CAAA;AAAA,QAC/B;AAAA,MACJ;AAAA,IACJ,CAAC,CAAA;AACD,IAAA,OAAO,OAAA;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyBA,WACI,KAAA,EACA,SAAA,EACA,aAAA,EACA,SAAA,GAAqB,EAAC,EACP;AACf,IAAA,MAAM,OAAA,GAA4B;AAAA,MAC9B;AAAA,KACJ;AACA,IAAA,MAAM,UAAU,MAAA,CAAO,MAAA,CAAO,EAAC,EAAG,IAAA,CAAK,UAAU,SAAA,EAAW;AAAA,MACxD,WAAA,EAAa;AAAA,KAChB,CAAA;AAED,IAAA,IAAI,SAAA,EAAW;AACX,MAAA,OAAA,CAAQ,SAAA,GAAY,SAAA;AAAA,IACxB;AAEA,IAAA,IAAI,aAAA,EAAe;AACf,MAAA,OAAA,CAAQ,aAAA,GAAgB,aAAA;AAAA,IAC5B;AAEA,IAAA,MAAM,OAAA,GAAU,IAAI,OAAA,CAAgB,CAAC,SAAS,MAAA,KAAW;AACrD,MAAA,MAAM,SAAS,IAAI,aAAA,CAAa,IAAA,CAAK,OAAA,EAAS,KAAK,QAAQ,CAAA;AAC3D,MAAA,MAAA,CAAO,MAAA,GAAS;AAAA,QACZ;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA;AAAA;AACJ,OACJ;AACA,MAAA,aAAA,CAAc,QAAQ,OAAO,CAAA;AAAA,IACjC,CAAC,CAAA;AACD,IAAA,OAAO,OAAA;AAAA,EACX;AACJ,CAAA;;;AClQA,IAAM,qBAAA,GAAwB;AAAA,EAC1B,YAAA,EAAc,EAAA;AAAA,EACd,aAAA,EAAe;AACnB,CAAA;AAEO,IAAM,gBAAgB,CAAC;AAAA,EAC1B,GAAA;AAAA,EACA,UAAU,EAAC;AAAA,EACX,OAAA;AAAA,EACA,KAAA,EAAO,MAAA;AAAA,EACP,KAAA,GAAQ,KAAA;AAAA,EACR,GAAG;AACP,CAAA,KAA8B;AAC1B,EAAA,IAAI,CAAC,GAAA,IAAO,CAAC,OAAA,EAAS;AAClB,IAAA,MAAM,IAAI,MAAM,4BAA4B,CAAA;AAAA,EAChD;AAEA,EAAA,OAAA,GAAU,OAAA,KAAY,OAAO,IAAA,KAAS;AAClC,IAAA,IAAI,gBACA,OAAO,OAAA,IAAW,UAAA,GAAa,MAAM,SAAQ,GAAI,OAAA;AACrD,IAAA,aAAA,GAAgB,iBAAiB,EAAC;AAClC,IAAA,IAAI,OAAO,KAAA,KAAU,WAAA,IAAe,CAAC,MAAA,EAAQ;AACzC,MAAA,MAAM,IAAI,KAAA;AAAA,QACN;AAAA,OACJ;AAAA,IACJ;AACA,IAAA,IAAI,YAAY,MAAA,IAAU,KAAA;AAC1B,IAAA,MAAM,GAAA,GAAM,MAAM,SAAA,CAAU,GAAA,EAAM;AAAA,MAC9B,OAAA,EAAS;AAAA,QACL,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAG;AAAA,OACP;AAAA,MACA,MAAA,EAAQ,MAAA;AAAA,MACR,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU,IAAI,CAAA;AAAA,MACzB,GAAG;AAAA,KACN,CAAA;AACD,IAAA,IAAI,CAAC,IAAI,EAAA,EAAI;AACT,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,EAAG,GAAA,CAAI,UAAU,KAAK,MAAM,GAAA,CAAI,IAAA,EAAM,CAAA,CAAE,CAAA;AAAA,IAC5D;AACA,IAAA,MAAM,IAAA,GAAO,MAAM,GAAA,CAAI,IAAA,EAAK;AAC5B,IAAA,OAAO,IAAA;AAAA,EACX,CAAA,CAAA;AAEA,EAAA,IAAI,CAAC,KAAA,EAAO;AACR,IAAA,OAAO,OAAO,IAAA,KAAS;AACnB,MAAA,MAAM,IAAA,GAAO,MAAM,OAAA,CAAS,IAAI,CAAA;AAChC,MAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACrB,QAAA,OAAO,IAAA,CAAK,GAAA,CAAI,CAACA,KAAAA,KAAS;AACtB,UAAA,IAAIA,KAAAA,EAAM,QAAQ,MAAA,EAAQ;AACtB,YAAA,MAAM,IAAI,UAAA,CAAWA,KAAAA,CAAK,UAAU,EAAC,EAAGA,MAAK,IAAI,CAAA;AAAA,UACrD;AACA,UAAA,OAAOA,KAAAA,CAAK,IAAA;AAAA,QAChB,CAAC,CAAA;AAAA,MACL,CAAA,MAAO;AACH,QAAA,IAAI,IAAA,EAAM,QAAQ,MAAA,EAAQ;AACtB,UAAA,MAAM,IAAI,UAAA,CAAW,IAAA,CAAK,UAAU,EAAC,EAAG,KAAK,IAAI,CAAA;AAAA,QACrD;AACA,QAAA,OAAO,IAAA,CAAK,IAAA;AAAA,MAChB;AAAA,IACJ,CAAA;AAAA,EACJ;AAEA,EAAA,MAAM,UAAU,IAAI,YAAA;AAAA,IAChB,OAAO,YAAA,KAAiB;AAEpB,MAAA,MAAM,IAAA,GAAO,MAAM,OAAA,CAAS,YAAY,CAAA;AACxC,MAAA,OAAO,IAAA;AAAA,IACX,CAAA;AAAA,IACA,KAAA,KAAU,OAAO,qBAAA,GAAwB;AAAA,GAC7C;AAEA,EAAA,OAAO,OAAO,EAAE,KAAA,EAAO,SAAA,EAAU,KAAM;AACnC,IAAA,MAAM,IAAA,GAAO,MAAM,OAAA,CAAQ,KAAA,CAAM,OAAO,SAAS,CAAA;AACjD,IAAA,IAAI,MAAM,IAAA,EAAM;AACZ,MAAA,OAAO,IAAA,CAAK,IAAA;AAAA,IAChB;AACA,IAAA,MAAM,IAAI,KAAA;AAAA,MACN,iDAAA,GAAoD,IAAA,CAAK,SAAA,CAAU,IAAI;AAAA,KAC3E;AAAA,EACJ,CAAA;AACJ,CAAA;;;AC9DA,IAAM,YAAA,GAAe,CACjB,OAAA,EACA,GAAA,EACA,IAAA,KACS;AACT,EAAA,IAAI,OAAO,OAAA,KAAY,QAAA,IAAY,QAAA,IAAY,OAAA,EAAS;AACpD,IAAA,MAAM,OAAY,OAAA,CAAQ,MAAA;AAC1B,IAAA,IAAI,MAAA,GAA8B,EAAE,GAAG,OAAA,EAAQ;AAC/C,IAAA,OAAO,MAAA,CAAO,MAAA;AACd,IAAA,MAAM,QAAA,GAAW,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA;AAEjC,IAAA,IAAI,QAAA,CAAS,WAAW,CAAA,EAAG;AACvB,MAAA,OAAO,YAAA,CAAa,MAAA,EAAQ,GAAA,EAAK,IAAI,CAAA;AAAA,IACzC;AAEA,IAAA,MAAM,KAAA,GAAQ,gBAAA,CAAiB,GAAA,CAAI,IAAA,EAAM,IAAI,CAAA;AAE7C,IAAA,MAAM,UAAA,GAAa,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,KAAY;AACzC,MAAA,GAAA,CAAI,UAAA,EAAA;AACJ,MAAA,MAAM,OAAA,GAAU,CAAA,CAAA,EAAI,GAAA,CAAI,UAAU,CAAA,CAAA;AAElC,MAAA,MAAM,MAAA,GAAS,KAAA,CAAM,IAAA,IAAQ,KAAA,CAAM,KAAK,OAAO,CAAA;AAE/C,MAAA,IAAI,CAAC,MAAA,EAAQ;AACT,QAAA,MAAM,IAAI,KAAA;AAAA,UACN,CAAA,iCAAA,EAAoC,OAAO,CAAA,aAAA,EAAgB,IAAA,CAAK,IAAA;AAAA,YAC5D;AAAA,WACH,CAAA,EAAA;AAAA,SACL;AAAA,MACJ;AAEA,MAAA,GAAA,CAAI,SAAA,CAAU,OAAO,CAAA,GAAI;AAAA,QACrB,KAAA,EAAO,KAAK,OAAO,CAAA;AAAA,QACnB;AAAA,OACJ;AAEA,MAAA,OAAO,CAAA,EAAG,OAAO,CAAA,EAAA,EAAK,OAAO,CAAA,CAAA;AAAA,IACjC,CAAC,CAAA;AACD,IAAA,OAAO,IAAI,UAAU,CAAA,CAAA,EAAI,aAAa,MAAA,EAAQ,GAAA,EAAK,IAAI,CAAC,CAAA,CAAA;AAAA,EAC5D,CAAA,MAAA,IAAW,OAAO,OAAA,KAAY,QAAA,IAAY,OAAO,IAAA,CAAK,OAAO,CAAA,CAAE,MAAA,GAAS,CAAA,EAAG;AACvE,IAAA,MAAM,MAAA,GAAS,OAAA;AACf,IAAA,MAAM,UAAA,GAAa,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAE,MAAA,CAAO,CAAC,CAAA,KAAM,OAAA,CAAQ,MAAA,CAAO,CAAC,CAAC,CAAC,CAAA;AAEvE,IAAA,IAAI,UAAA,CAAW,WAAW,CAAA,EAAG;AACzB,MAAA,MAAM,IAAI,KAAA;AAAA,QACN,CAAA,qCAAA,EAAwC,IAAA,CAAK,IAAA,CAAK,GAAG,CAAC,CAAA;AAAA,OAC1D;AAAA,IACJ;AAEA,IAAA,MAAM,IAAA,GACF,IAAA,CAAK,MAAA,GAAS,CAAA,GAAI,gBAAA,CAAiB,IAAI,IAAA,EAAM,IAAI,CAAA,CAAE,IAAA,GAAO,GAAA,CAAI,IAAA;AAClE,IAAA,MAAM,eAAe,IAAA,CAAK,MAAA;AAE1B,IAAA,IAAI,oBAAA;AAEJ,IAAA,IAAI,UAAA,CAAW,QAAA,CAAS,UAAU,CAAA,EAAG;AACjC,MAAA,MAAM,kBAAkB,IAAI,GAAA;AAAA,QACxB,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAE,MAAA,CAAO,CAAC,CAAA,KAAM,CAAC,OAAA,CAAQ,MAAA,CAAO,CAAC,CAAC,CAAC;AAAA,OACzD;AACA,MAAA,IAAI,cAAc,MAAA,EAAQ;AACtB,QAAA,GAAA,CAAI,eAAA,EAAA;AACJ,QAAA,oBAAA,GAAuB,CAAA,CAAA,EAAI,IAAI,eAAe,CAAA,CAAA;AAE9C,QAAA,GAAA,CAAI,SAAA,CAAU,IAAA;AAAA,UACV,YAAY,oBAAoB,CAAA,IAAA,EAC5B,KAAK,IACT,CAAA,CAAA,EAAI,aACC,MAAA,CAAO,CAAC,CAAA,KAAM,CAAC,gBAAgB,GAAA,CAAI,CAAC,CAAC,CAAA,CACrC,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AAAA,SAClB;AAAA,MACJ;AAAA,IACJ;AAEA,IAAA,MAAM,kBAAkB,UAAA,CACnB,MAAA,CAAO,CAAC,CAAA,KAAM,CAAC,CAAC,UAAA,EAAY,QAAQ,CAAA,CAAE,SAAS,CAAC,CAAC,CAAA,CACjD,GAAA,CAAI,CAAC,CAAA,KAAM;AACR,MAAA,MAAM,MAAA,GAAS,YAAA,CAAa,MAAA,CAAO,CAAC,CAAA,EAAG,KAAK,CAAC,GAAG,IAAA,EAAM,CAAC,CAAC,CAAA;AAExD,MAAA,IAAI,CAAA,CAAE,UAAA,CAAW,KAAK,CAAA,EAAG;AACrB,QAAA,GAAA,CAAI,eAAA,EAAA;AACJ,QAAA,MAAM,sBAAA,GAAyB,CAAA,CAAA,EAAI,GAAA,CAAI,eAAe,CAAA,CAAA;AAEtD,QAAA,MAAM,SAAA,GAAY,CAAA,CAAE,KAAA,CAAM,UAAU,CAAA;AAEpC,QAAA,IAAI,CAAC,SAAA,IAAa,CAAC,SAAA,CAAU,CAAC,CAAA;AAC1B,UAAA,MAAM,IAAI,MAAM,cAAc,CAAA;AAElC,QAAA,GAAA,CAAI,SAAA,CAAU,IAAA;AAAA,UACV,YAAY,sBAAsB,CAAA,IAAA,EAAO,UAAU,CAAC,CAAC,GAAG,MAAM,CAAA;AAAA,SAClE;AAEA,QAAA,OAAO,MAAM,sBAAsB,CAAA,CAAA;AAAA,MACvC,CAAA,MAAO;AACH,QAAA,OAAO,CAAA,EAAG,CAAC,CAAA,EAAG,MAAM,CAAA,CAAA;AAAA,MACxB;AAAA,IACJ,CAAC,CAAA,CACA,MAAA,CAAO,oBAAA,GAAuB,CAAC,CAAA,GAAA,EAAM,oBAAoB,CAAA,CAAE,CAAA,GAAI,EAAE,CAAA,CACjE,KAAK,GAAG,CAAA;AAEb,IAAA,OAAO,IAAI,eAAe,CAAA,CAAA,CAAA;AAAA,EAC9B,CAAA,MAAO;AACH,IAAA,OAAO,EAAA;AAAA,EACX;AACJ,CAAA;AAEO,IAAM,wBAAA,GAA2B,CACpC,SAAA,EACA,IAAA,EACA,MAAA,KACmB;AACnB,EAAA,MAAM,GAAA,GAAe;AAAA,IACjB,IAAA;AAAA,IACA,UAAA,EAAY,CAAA;AAAA,IACZ,WAAW,EAAC;AAAA,IACZ,eAAA,EAAiB,CAAA;AAAA,IACjB,WAAW;AAAC,GAChB;AACA,EAAA,MAAM,MAAA,GAAS,YAAA,CAAa,MAAA,EAAQ,GAAA,EAAK,EAAE,CAAA;AAE3C,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,IAAA,CAAK,GAAA,CAAI,SAAS,CAAA;AAE1C,EAAA,MAAM,UAAA,GACF,SAAS,MAAA,GAAS,CAAA,GACZ,IAAI,QAAA,CAAS,GAAA,CAAI,CAAC,CAAA,KAAM;AACpB,IAAA,MAAM,eAAe,GAAA,CAAI,SAAA,CAAU,CAAC,CAAA,CAAE,OAAO,CAAC,CAAA;AAC9C,IAAA,OAAO,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,EAAI,YAAY,CAAA,CAAA;AAAA,EAChC,CAAC,CAAC,CAAA,CAAA,CAAA,GACF,EAAA;AAEV,EAAA,MAAM,aAAA,GAAgB,QAAQ,MAAA,IAAU,EAAA;AAExC,EAAA,OAAO;AAAA,IACH,KAAA,EAAO;AAAA,MACH,GAAG,SAAS,CAAA,CAAA,EAAI,aAAa,CAAA,EAAG,UAAU,GAAG,MAAM,CAAA,CAAA;AAAA,MACnD,GAAG,GAAA,CAAI;AAAA,KACX,CAAE,KAAK,GAAG,CAAA;AAAA,IACV,SAAA,EAAW,MAAA,CAAO,IAAA,CAAK,GAAA,CAAI,SAAS,CAAA,CAAE,MAAA;AAAA,MAClC,CAAC,GAAG,CAAA,KAAM;AACN,QAAA,CAAA,CAAE,CAAC,CAAA,GAAI,GAAA,CAAI,SAAA,CAAU,CAAC,CAAA,CAAE,KAAA;AACxB,QAAA,OAAO,CAAA;AAAA,MACX,CAAA;AAAA,MACA;AAAC,KACL;AAAA,IACA,GAAI,gBAAgB,EAAE,aAAA,EAAe,cAAc,QAAA,EAAS,KAAM;AAAC,GACvE;AACJ,CAAA;AAEO,IAAM,gBAAA,GAAmB,CAC5B,IAAA,EACA,IAAA,KACC;AACD,EAAA,IAAI,OAAA;AAEJ,EAAA,IAAI,CAAC,IAAA,EAAM,MAAM,IAAI,MAAM,2BAA2B,CAAA;AAEtD,EAAA,IAAI,KAAK,MAAA,KAAW,CAAA,EAAG,MAAM,IAAI,MAAM,CAAA,aAAA,CAAe,CAAA;AAEtD,EAAA,IAAA,CAAK,OAAA,CAAQ,CAAC,CAAA,KAAM;AAChB,IAAA,MAAM,IAAA,GAAO,OAAA,GAAU,OAAA,CAAQ,IAAA,GAAO,IAAA;AAEtC,IAAA,IAAI,CAAC,IAAA,CAAK,MAAA;AACN,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,OAAA,EAAU,IAAA,CAAK,IAAI,CAAA,uBAAA,CAAyB,CAAA;AAEhE,IAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,MAAM,CAAA,CACxC,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,UAAA,CAAW,KAAK,CAAC,CAAA,CACjC,MAAA;AAAA,MACG,CAAC,OAAO,SAAA,KAAc;AAClB,QAAA,MAAMC,MAAAA,GAAQ,IAAA,CAAK,MAAA,IAAU,IAAA,CAAK,OAAO,SAAS,CAAA;AAClD,QAAA,IAAIA,MAAAA,EAAO,KAAA,CAAM,IAAA,CAAKA,MAAAA,CAAM,IAAI,CAAA;AAChC,QAAA,OAAO,KAAA;AAAA,MACX,CAAA;AAAA,MACA,CAAC,IAAI;AAAA,KACT;AAEJ,IAAA,IAAI,KAAA,GAA4B,IAAA;AAEhC,IAAA,aAAA,CAAc,OAAA,CAAQ,CAACC,KAAAA,KAAS;AAC5B,MAAA,MAAM,KAAA,GAAQA,KAAAA,CAAK,MAAA,IAAUA,KAAAA,CAAK,OAAO,CAAC,CAAA;AAC1C,MAAA,IAAI,OAAO,KAAA,GAAQ,KAAA;AAAA,IACvB,CAAC,CAAA;AAED,IAAA,IAAI,CAAC,KAAA;AACD,MAAA,MAAM,IAAI,KAAA;AAAA,QACN,CAAA,OAAA,EAAU,IAAA,CAAK,IAAI,CAAA,2BAAA,EAA8B,CAAC,CAAA,EAAA;AAAA,OACtD;AAEJ,IAAA,OAAA,GAAU,KAAA;AAAA,EACd,CAAC,CAAA;AAED,EAAA,OAAO,OAAA;AACX,CAAA;;;ACtMO,IAAM,eAAe,CAAC;AAAA,EACzB,SAAA;AAAA,EACA,YAAA;AAAA,EACA,gBAAA;AAAA,EACA,GAAG;AACP,CAAA,KAIM;AACF,EAAA,MAAM,OAAA,GAAU,cAAc,OAAO,CAAA;AACrC,EAAA,MAAM,SAGF,EAAC;AAEL,EAAA,IAAI,SAAA,EAAW;AACX,IAAA,MAAA,CAAO,KAAA,GAAQ,CAAC,OAAA,KAAiB;AAC7B,MAAA,IAAI,CAAC,SAAA,EAAW,MAAM,IAAI,MAAM,+BAA+B,CAAA;AAE/D,MAAA,MAAM,aAAA,GAAgB,OAAA;AAAA,QAClB,wBAAA,CAAyB,OAAA,EAAS,SAAA,EAAW,OAAO;AAAA,OACxD;AAEA,MAAA,OAAO,aAAA;AAAA,IACX,CAAA;AAAA,EACJ;AACA,EAAA,IAAI,YAAA,EAAc;AACd,IAAA,MAAA,CAAO,QAAA,GAAW,CAAC,OAAA,KAAiB;AAChC,MAAA,IAAI,CAAC,YAAA;AACD,QAAA,MAAM,IAAI,MAAM,kCAAkC,CAAA;AAEtD,MAAA,MAAM,aAAA,GAAgB,OAAA;AAAA,QAClB,wBAAA,CAAyB,UAAA,EAAY,YAAA,EAAc,OAAO;AAAA,OAC9D;AAEA,MAAA,OAAO,aAAA;AAAA,IACX,CAAA;AAAA,EACJ;AAEA,EAAA,OAAO,MAAA;AACX,CAAA;;;AClDO,IAAM,WAAA,GAAc,CACvBC,QAAAA,KACgB;AAChB,EAAA,MAAM,cAAsC,MAAA,CAAO,MAAA;AAAA,IAC/C,EAAC;AAAA,IACD,GAAG,MAAA,CAAO,IAAA,CAAKA,QAAAA,CAAQ,KAAK,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,EAAG,OAAO,EAAE,CAAC,CAAC,GAAG,GAAE,CAAE;AAAA,GAC5D;AAEA,EAAA,IAAI,sBAAsB,MAAA,CAAO,MAAA;AAAA,IAC7B,EAAC;AAAA,IACD,GAAG,MAAA,CAAO,IAAA,CAAKA,SAAQ,KAAA,IAAS,EAAE,CAAA,CAAE,GAAA;AAAA,MAChC,CAAC,CAAA,KAAkC;AAC/B,QAAA,MAAM,IAAA,GAAuBA,QAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA;AAC5C,QAAA,MAAM,MAAA,GAAS,QAAQ,EAAC;AACxB,QAAA,OAAO;AAAA,UACH,CAAC,CAAC,GAAG;AAAA,YACD,IAAA,EAAM,CAAA;AAAA;AAAA,YAEN,QAAQ,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAE,MAAA,CAAO,CAAC,CAAA,KAAM;AACtC,cAAA,MAAM,CAACD,KAAI,CAAA,GAAI,MAAA,CAAO,CAAC,KAAK,EAAC;AAE7B,cAAA,MAAM,QAAA,GACFA,KAAAA,IAAQC,QAAAA,CAAQ,OAAA,CAAQ,SAASD,KAAI,CAAA;AACzC,cAAA,IAAI,CAAC,QAAA,EAAU;AACX,gBAAA,OAAO,KAAA;AAAA,cACX;AACA,cAAA,MAAM,IAAA,GAAO,MAAA,CAAO,CAAC,CAAA,GAAI,CAAC,CAAA;AAC1B,cAAA,MAAM,QAAA,GAAW,MAAA,CAAO,MAAA,CAAO,IAAA,IAAQ,EAAE,CAAA,CACpC,GAAA,CAAI,CAAC,MAAM,CAAA,GAAI,CAAC,CAAC,CAAA,CACjB,OAAO,OAAO,CAAA;AAEnB,cAAA,MAAM,kBAAkB,QAAA,CAAS,IAAA;AAAA,gBAC7B,CAAC,GAAA,KAAQ,GAAA,IAAO,GAAA,CAAI,SAAS,GAAG;AAAA,eACpC;AACA,cAAA,IAAI,eAAA,EAAiB;AACjB,gBAAA,OAAO,KAAA;AAAA,cACX;AACA,cAAA,OAAO,IAAA;AAAA,YACX,CAAC,CAAA;AAAA;AAAA,YAED,QAAQ,MAAA,CAAO,MAAA;AAAA,cACX,EAAC;AAAA,cACD,GAAG,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAE,GAAA;AAAA,gBACnB,CAAC,CAAA,KAA6B;AAC1B,kBAAA,MAAM,CAAC,SAAA,EAAW,IAAI,IAAI,MAAA,CAAO,CAAC,KAAK,EAAC;AACxC,kBAAA,IAAI,aAAa,IAAA,EAAM;AACnB,oBAAA,OAAO,EAAC;AAAA,kBACZ;AACA,kBAAA,OAAO;AAAA,oBACH,CAAC,CAAC,GAAG;AAAA;AAAA,sBAED,IAAA,EAAM,YAAY,SAAS,CAAA;AAAA,sBAC3B,MAAM,MAAA,CAAO,MAAA;AAAA,wBACT,EAAC;AAAA,wBACD,GAAG,MAAA,CAAO,IAAA,CAAK,IAAA,IAAQ,EAAE,CAAA,CAAE,GAAA;AAAA,0BACvB,CAACE,EAAAA,KAAM;AAEH,4BAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,IAAA,CAAKA,EAAC,CAAA,EAAG;AACnB,8BAAA;AAAA,4BACJ;AACA,4BAAA,MAAM;AAAA,8BACF,WAAA;AAAA,8BACA;AAAA,6BACJ,GAAI,KAAKA,EAAC,CAAA;AACV,4BAAA,OAAO;AAAA,8BACH,CAACA,EAAC,GAAG;AAAA,gCACD,YACI,WACJ,CAAA;AAAA,gCACA,aAAA,IACI,YACI,WACJ;AAAA;AACR,6BACJ;AAAA,0BACJ;AAAA;AACJ;AACJ;AACJ,mBACJ;AAAA,gBACJ;AAAA;AACJ;AACJ;AACJ,SACJ;AAAA,MACJ;AAAA;AACJ,GACJ;AACA,EAAA,MAAM,GAAA,GAAM,qBAAqB,mBAAmB,CAAA;AACpD,EAAA,OAAO,GAAA;AACX,CAAA;AAGO,IAAM,oBAAA,GAAuB,CAAC,aAAA,KAAiC;AAClE,EAAA,MAAA,CAAO,IAAA,CAAK,aAAa,CAAA,CAAE,OAAA,CAAQ,CAAC,eAAA,KAAoB;AACpD,IAAA,MAAM,IAAA,GAAmB,cAAc,eAAe,CAAA;AAEtD,IAAA,IAAI,CAAC,KAAK,MAAA,EAAQ;AACd,MAAA;AAAA,IACJ;AAEA,IAAA,MAAM,SAAS,IAAA,CAAK,MAAA;AAEpB,IAAA,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA,KAAM;AAC/B,MAAA,MAAM,KAAA,GAAqB,OAAO,CAAC,CAAA;AAEnC,MAAA,IAAI,MAAM,IAAA,EAAM;AACZ,QAAA,MAAM,OAAO,KAAA,CAAM,IAAA;AACnB,QAAA,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,CAAE,OAAA,CAAQ,CAAC,GAAA,KAAQ;AAC/B,UAAA,MAAM,GAAA,GAAM,KAAK,GAAG,CAAA;AAEpB,UAAA,IAAI,GAAA,EAAK;AACL,YAAA,MAAM,CAACC,SAAQ,CAAA,GAAI,GAAA;AAEnB,YAAA,IAAI,OAAOA,cAAa,QAAA,EAAU;AAC9B,cAAA,IAAI,CAAC,aAAA,CAAcA,SAAQ,CAAA,EAAG;AAC1B,gBAAA,aAAA,CAAcA,SAAQ,CAAA,GAAI,EAAE,IAAA,EAAMA,SAAAA,EAAS;AAAA,cAC/C;AAEA,cAAA,GAAA,CAAI,CAAC,CAAA,GAAI,aAAA,CAAcA,SAAQ,CAAA;AAAA,YACnC;AAAA,UACJ;AAAA,QACJ,CAAC,CAAA;AAAA,MACL;AAEA,MAAA,MAAM,WAAW,KAAA,CAAM,IAAA;AAEvB,MAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAC9B,QAAA,IAAI,CAAC,aAAA,CAAc,QAAQ,CAAA,EAAG;AAC1B,UAAA,aAAA,CAAc,QAAQ,CAAA,GAAI,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,QAC/C;AAEA,QAAA,KAAA,CAAM,IAAA,GAAO,cAAc,QAAQ,CAAA;AAAA,MACvC;AAAA,IACJ,CAAC,CAAA;AAAA,EACL,CAAC,CAAA;AAED,EAAA,OAAO,aAAA;AACX,CAAA;;;AC3JA,IAAO,aAAA,GAAQ;AAAA,EACX,SAAA,EAAW;AAAA,IACP,CAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,IACA,EAAA;AAAA,IACA,EAAA;AAAA,IACA,EAAA;AAAA,IACA;AAAA,GACJ;AAAA,EACA,OAAA,EAAS;AAAA,IACL,YAAY,EAAC;AAAA,IACb,gBAAgB,EAAC;AAAA,IACjB,mBAAmB,EAAC;AAAA,IACpB,cAAc,EAAC;AAAA,IACf,kBAAkB,EAAC;AAAA,IACnB,qBAAqB,EAAC;AAAA,IACtB,iBAAiB,EAAC;AAAA,IAClB,yBAAyB,EAAC;AAAA,IAC1B,UAAA,EAAY;AAAA,MACR,KAAA,EAAO;AAAA,QACH;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACN;AAAA,OACJ;AAAA,MACA,SAAA,EAAW;AAAA,QACP;AAAA,OACJ;AAAA,MACA,aAAA,EAAe;AAAA,QACX;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,MAAM,EAAC;AAAA,IACP,UAAU,EAAC;AAAA,IACX,OAAA,EAAS;AAAA,MACL,KAAA,EAAO;AAAA,QACH;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,SAAA,EAAW;AAAA,QACP;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,SAAA,EAAW;AAAA,QACP;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,QAAA,EAAU;AAAA,MACN,KAAA,EAAO;AAAA,QACH;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,aAAA,EAAe;AAAA,QACX;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACL;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,SAAA,EAAW;AAAA,QACP;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,UAAA,EAAY;AAAA,QACR;AAAA,OACJ;AAAA,MACA,aAAA,EAAe;AAAA,QACX;AAAA,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACN;AAAA,OACJ;AAAA,MACA,SAAA,EAAW;AAAA,QACP;AAAA,OACJ;AAAA,MACA,UAAA,EAAY;AAAA,QACR;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACL;AAAA,OACJ;AAAA,MACA,aAAA,EAAe;AAAA,QACX;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,WAAW,EAAC;AAAA,IACZ,OAAO,EAAC;AAAA,IACR,YAAA,EAAc;AAAA,MACV,KAAA,EAAO;AAAA,QACH;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,aAAA,EAAe;AAAA,QACX;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACL;AAAA,OACJ;AAAA,MACA,UAAA,EAAY;AAAA,QACR;AAAA,OACJ;AAAA,MACA,UAAA,EAAY;AAAA,QACR;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,iBAAA,EAAmB;AAAA,QACf;AAAA,OACJ;AAAA,MACA,SAAA,EAAW;AAAA,QACP;AAAA,OACJ;AAAA,MACA,cAAA,EAAgB;AAAA,QACZ;AAAA,OACJ;AAAA,MACA,mBAAA,EAAqB;AAAA,QACjB;AAAA,OACJ;AAAA,MACA,iBAAA,EAAmB;AAAA,QACf;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,SAAS,EAAC;AAAA,IACV,MAAA,EAAQ;AAAA,MACJ,KAAA,EAAO;AAAA,QACH;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,aAAA,EAAe;AAAA,QACX;AAAA,OACJ;AAAA,MACA,cAAA,EAAgB;AAAA,QACZ;AAAA,OACJ;AAAA,MACA,kBAAA,EAAoB;AAAA,QAChB;AAAA,OACJ;AAAA,MACA,gBAAA,EAAkB;AAAA,QACd;AAAA,OACJ;AAAA,MACA,gBAAA,EAAkB;AAAA,QACd;AAAA,OACJ;AAAA,MACA,eAAA,EAAiB;AAAA,QACb;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,QAAA,EAAU;AAAA,MACN,KAAA,EAAO;AAAA,QACH;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACL;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,iBAAA,EAAmB;AAAA,QACf;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACL;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACN;AAAA,OACJ;AAAA,MACA,SAAA,EAAW;AAAA,QACP;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,oBAAA,EAAsB;AAAA,QAClB;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,iBAAA,EAAmB;AAAA,MACf,KAAA,EAAO;AAAA,QACH;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACL;AAAA,OACJ;AAAA,MACA,oBAAA,EAAsB;AAAA,QAClB;AAAA,OACJ;AAAA,MACA,eAAA,EAAiB;AAAA,QACb;AAAA,OACJ;AAAA,MACA,mBAAA,EAAqB;AAAA,QACjB;AAAA,OACJ;AAAA,MACA,iBAAA,EAAmB;AAAA,QACf;AAAA,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACN;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,yBAAA,EAA2B;AAAA,MACvB,KAAA,EAAO;AAAA,QACH;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,SAAA,EAAW;AAAA,MACP,KAAA,EAAO;AAAA,QACH;AAAA,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACN;AAAA,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACN;AAAA,OACJ;AAAA,MACA,uBAAA,EAAyB;AAAA,QACrB;AAAA,OACJ;AAAA,MACA,0BAAA,EAA4B;AAAA,QACxB;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,eAAA,EAAiB;AAAA,MACb,KAAA,EAAO;AAAA,QACH;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,iBAAA,EAAmB;AAAA,MACf,MAAA,EAAQ;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,SAAA,EAAW;AAAA,QACP;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,0BAAA,EAA4B;AAAA,MACxB,SAAA,EAAW;AAAA,QACP;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,aAAA,EAAe;AAAA,QACX;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,oBAAA,EAAsB;AAAA,MAClB,SAAA,EAAW;AAAA,QACP;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,aAAA,EAAe;AAAA,QACX;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,6BAAA,EAA+B;AAAA,MAC3B,WAAA,EAAa;AAAA,QACT;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,aAAA,EAAe;AAAA,QACX;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ,KACJ;AAAA,IACA,OAAA,EAAS;AAAA,MACL,2BAAA,EAA6B;AAAA,QACzB,EAAA;AAAA,QACA;AAAA,UACI,QAAA,EAAU;AAAA,YACN;AAAA,WACJ;AAAA,UACA,MAAA,EAAQ;AAAA,YACJ;AAAA,WACJ;AAAA,UACA,QAAA,EAAU;AAAA,YACN;AAAA,WACJ;AAAA,UACA,WAAA,EAAa;AAAA,YACT;AAAA;AACJ;AACJ,OACJ;AAAA,MACA,kBAAA,EAAoB;AAAA,QAChB,EAAA;AAAA,QACA;AAAA,UACI,MAAA,EAAQ;AAAA,YACJ,EAAA;AAAA,YACA;AAAA;AACJ;AACJ,OACJ;AAAA,MACA,4BAAA,EAA8B;AAAA,QAC1B,EAAA;AAAA,QACA;AAAA,UACI,YAAA,EAAc;AAAA,YACV,EAAA;AAAA,YACA;AAAA,WACJ;AAAA,UACA,QAAA,EAAU;AAAA,YACN;AAAA,WACJ;AAAA,UACA,MAAA,EAAQ;AAAA,YACJ;AAAA,WACJ;AAAA,UACA,WAAA,EAAa;AAAA,YACT;AAAA;AACJ;AACJ,OACJ;AAAA,MACA,8BAAA,EAAgC;AAAA,QAC5B,EAAA;AAAA,QACA;AAAA,UACI,YAAA,EAAc;AAAA,YACV,EAAA;AAAA,YACA;AAAA,WACJ;AAAA,UACA,QAAA,EAAU;AAAA,YACN;AAAA,WACJ;AAAA,UACA,MAAA,EAAQ;AAAA,YACJ;AAAA;AACJ;AACJ,OACJ;AAAA,MACA,YAAA,EAAc;AAAA,QACV;AAAA;AACJ;AACJ;AAER,CAAA;;;ACxeA,IAAM,OAAA,GAAU,YAAY,aAAY,CAAA;AAQjC,IAAMC,aAAAA,GAAe,SAAU,OAAA,EAAiC;AACrE,EAAA,OAAO,YAAA,CAAqB;AAAA,IAC1B,GAAA,EAAK,MAAA;AAAA,IAEL,GAAG,OAAA;AAAA,IACH,WAAW,OAAA,CAAQ,KAAA;AAAA,IACnB,cAAc,OAAA,CAAQ,QAAA;AAAA,IACtB,kBAAkB,OAAA,CAAQ;AAAA,GAC3B,CAAA;AACH,CAAA;AAEO,IAAM,UAAA,GAAa;AAAA,EACxB,QAAA,EAAU;AACZ;AAMO,IAAM,eAAA,GAEW,SAAU,MAAA,EAAQ;AACxC,EAAA,OAAO,wBAAA,CAAyB,OAAA,EAAS,OAAA,CAAQ,KAAA,EAAQ,MAAa,CAAA;AACxE;;;ACGO,SAAS,uBACd,MAAA,EACkB;AAClB,EAAA,MAAM,EAAE,KAAA,EAAO,OAAA,EAAS,OAAA,EAAS,cAAa,GAAI,MAAA;AAElD,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AAEA,EAAA,OAAOA,aAAAA,CAAkB;AAAA,IACvB,KAAK,OAAA,IAAW,gCAAA;AAAA,IAChB,OAAA,EAAS;AAAA,MACP,mBAAA,EAAqB,KAAA;AAAA,MACrB,cAAA,EAAgB,kBAAA;AAAA,MAChB,GAAG;AAAA;AACL,GACD,CAAA;AACH","file":"index.mjs","sourcesContent":["// @ts-nocheck\nexport class GenqlError extends Error {\n errors: Array<GraphqlError> = []\n /**\n * Partial data returned by the server\n */\n data?: any\n constructor(errors: any[], data: any) {\n let message = Array.isArray(errors)\n ? errors.map((x) => x?.message || '').join('\\n')\n : ''\n if (!message) {\n message = 'GraphQL error'\n }\n super(message)\n this.errors = errors\n this.data = data\n }\n}\n\ninterface GraphqlError {\n message: string\n locations?: Array<{\n line: number\n column: number\n }>\n path?: string[]\n extensions?: Record<string, any>\n}\n","// @ts-nocheck\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\ntype Variables = Record<string, any>\n\ntype QueryError = Error & {\n message: string\n\n locations?: Array<{\n line: number\n column: number\n }>\n path?: any\n rid: string\n details?: Record<string, any>\n}\ntype Result = {\n data: Record<string, any>\n errors: Array<QueryError>\n}\ntype Fetcher = (\n batchedQuery: GraphqlOperation | Array<GraphqlOperation>,\n) => Promise<Array<Result>>\ntype Options = {\n batchInterval?: number\n shouldBatch?: boolean\n maxBatchSize?: number\n}\ntype Queue = Array<{\n request: GraphqlOperation\n resolve: (...args: Array<any>) => any\n reject: (...args: Array<any>) => any\n}>\n\n/**\n * takes a list of requests (queue) and batches them into a single server request.\n * It will then resolve each individual requests promise with the appropriate data.\n * @private\n * @param {QueryBatcher} client - the client to use\n * @param {Queue} queue - the list of requests to batch\n */\nfunction dispatchQueueBatch(client: QueryBatcher, queue: Queue): void {\n let batchedQuery: any = queue.map((item) => item.request)\n\n if (batchedQuery.length === 1) {\n batchedQuery = batchedQuery[0]\n }\n (() => {\n try {\n return client.fetcher(batchedQuery);\n } catch(e) {\n return Promise.reject(e);\n }\n })().then((responses: any) => {\n if (queue.length === 1 && !Array.isArray(responses)) {\n if (responses.errors && responses.errors.length) {\n queue[0].reject(\n new GenqlError(responses.errors, responses.data),\n )\n return\n }\n\n queue[0].resolve(responses)\n return\n } else if (responses.length !== queue.length) {\n throw new Error('response length did not match query length')\n }\n\n for (let i = 0; i < queue.length; i++) {\n if (responses[i].errors && responses[i].errors.length) {\n queue[i].reject(\n new GenqlError(responses[i].errors, responses[i].data),\n )\n } else {\n queue[i].resolve(responses[i])\n }\n }\n })\n .catch((e) => {\n for (let i = 0; i < queue.length; i++) {\n queue[i].reject(e)\n }\n });\n}\n\n/**\n * creates a list of requests to batch according to max batch size.\n * @private\n * @param {QueryBatcher} client - the client to create list of requests from from\n * @param {Options} options - the options for the batch\n */\nfunction dispatchQueue(client: QueryBatcher, options: Options): void {\n const queue = client._queue\n const maxBatchSize = options.maxBatchSize || 0\n client._queue = []\n\n if (maxBatchSize > 0 && maxBatchSize < queue.length) {\n for (let i = 0; i < queue.length / maxBatchSize; i++) {\n dispatchQueueBatch(\n client,\n queue.slice(i * maxBatchSize, (i + 1) * maxBatchSize),\n )\n }\n } else {\n dispatchQueueBatch(client, queue)\n }\n}\n/**\n * Create a batcher client.\n * @param {Fetcher} fetcher - A function that can handle the network requests to graphql endpoint\n * @param {Options} options - the options to be used by client\n * @param {boolean} options.shouldBatch - should the client batch requests. (default true)\n * @param {integer} options.batchInterval - duration (in MS) of each batch window. (default 6)\n * @param {integer} options.maxBatchSize - max number of requests in a batch. (default 0)\n * @param {boolean} options.defaultHeaders - default headers to include with every request\n *\n * @example\n * const fetcher = batchedQuery => fetch('path/to/graphql', {\n * method: 'post',\n * headers: {\n * Accept: 'application/json',\n * 'Content-Type': 'application/json',\n * },\n * body: JSON.stringify(batchedQuery),\n * credentials: 'include',\n * })\n * .then(response => response.json())\n *\n * const client = new QueryBatcher(fetcher, { maxBatchSize: 10 })\n */\n\nexport class QueryBatcher {\n fetcher: Fetcher\n _options: Options\n _queue: Queue\n\n constructor(\n fetcher: Fetcher,\n {\n batchInterval = 6,\n shouldBatch = true,\n maxBatchSize = 0,\n }: Options = {},\n ) {\n this.fetcher = fetcher\n this._options = {\n batchInterval,\n shouldBatch,\n maxBatchSize,\n }\n this._queue = []\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {promise} resolves to parsed json of server response\n *\n * @example\n * client.fetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n fetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides)\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n this._queue.push({\n request,\n resolve,\n reject,\n })\n\n if (this._queue.length === 1) {\n if (options.shouldBatch) {\n setTimeout(\n () => dispatchQueue(this, options),\n options.batchInterval,\n )\n } else {\n dispatchQueue(this, options)\n }\n }\n })\n return promise\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {Promise<Array<Result>>} resolves to parsed json of server response\n *\n * @example\n * client.forceFetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n forceFetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides, {\n shouldBatch: false,\n })\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n const client = new QueryBatcher(this.fetcher, this._options)\n client._queue = [\n {\n request,\n resolve,\n reject,\n },\n ]\n dispatchQueue(client, options)\n })\n return promise\n }\n}\n","// @ts-nocheck\nimport { QueryBatcher } from './batcher'\n\nimport type { ClientOptions } from './createClient'\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\nexport interface Fetcher {\n (gql: GraphqlOperation): Promise<any>\n}\n\nexport type BatchOptions = {\n batchInterval?: number // ms\n maxBatchSize?: number\n}\n\nconst DEFAULT_BATCH_OPTIONS = {\n maxBatchSize: 10,\n batchInterval: 40,\n}\n\nexport const createFetcher = ({\n url,\n headers = {},\n fetcher,\n fetch: _fetch,\n batch = false,\n ...rest\n}: ClientOptions): Fetcher => {\n if (!url && !fetcher) {\n throw new Error('url or fetcher is required')\n }\n\n fetcher = fetcher || (async (body) => {\n let headersObject =\n typeof headers == 'function' ? await headers() : headers\n headersObject = headersObject || {}\n if (typeof fetch === 'undefined' && !_fetch) {\n throw new Error(\n 'Global `fetch` function is not available, pass a fetch polyfill to Genql `createClient`',\n )\n }\n let fetchImpl = _fetch || fetch\n const res = await fetchImpl(url!, {\n headers: {\n 'Content-Type': 'application/json',\n ...headersObject,\n },\n method: 'POST',\n body: JSON.stringify(body),\n ...rest,\n })\n if (!res.ok) {\n throw new Error(`${res.statusText}: ${await res.text()}`)\n }\n const json = await res.json()\n return json\n })\n\n if (!batch) {\n return async (body) => {\n const json = await fetcher!(body)\n if (Array.isArray(json)) {\n return json.map((json) => {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n })\n } else {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n }\n }\n }\n\n const batcher = new QueryBatcher(\n async (batchedQuery) => {\n // console.log(batchedQuery) // [{ query: 'query{user{age}}', variables: {} }, ...]\n const json = await fetcher!(batchedQuery)\n return json as any\n },\n batch === true ? DEFAULT_BATCH_OPTIONS : batch,\n )\n\n return async ({ query, variables }) => {\n const json = await batcher.fetch(query, variables)\n if (json?.data) {\n return json.data\n }\n throw new Error(\n 'Genql batch fetcher returned unexpected result ' + JSON.stringify(json),\n )\n }\n}\n","// @ts-nocheck\nimport type { LinkedField, LinkedType } from './types'\n\nexport interface Args {\n [arg: string]: any | undefined\n}\n\nexport interface Fields {\n [field: string]: Request\n}\n\nexport type Request = boolean | number | Fields\n\nexport interface Variables {\n [name: string]: {\n value: any\n typing: [LinkedType, string]\n }\n}\n\nexport interface Context {\n root: LinkedType\n varCounter: number\n variables: Variables\n fragmentCounter: number\n fragments: string[]\n}\n\nexport interface GraphqlOperation {\n query: string\n variables?: { [name: string]: any }\n operationName?: string\n}\n\nconst parseRequest = (\n request: Request | undefined,\n ctx: Context,\n path: string[],\n): string => {\n if (typeof request === 'object' && '__args' in request) {\n const args: any = request.__args\n let fields: Request | undefined = { ...request }\n delete fields.__args\n const argNames = Object.keys(args)\n\n if (argNames.length === 0) {\n return parseRequest(fields, ctx, path)\n }\n\n const field = getFieldFromPath(ctx.root, path)\n\n const argStrings = argNames.map((argName) => {\n ctx.varCounter++\n const varName = `v${ctx.varCounter}`\n\n const typing = field.args && field.args[argName] // typeMap used here, .args\n\n if (!typing) {\n throw new Error(\n `no typing defined for argument \\`${argName}\\` in path \\`${path.join(\n '.',\n )}\\``,\n )\n }\n\n ctx.variables[varName] = {\n value: args[argName],\n typing,\n }\n\n return `${argName}:$${varName}`\n })\n return `(${argStrings})${parseRequest(fields, ctx, path)}`\n } else if (typeof request === 'object' && Object.keys(request).length > 0) {\n const fields = request\n const fieldNames = Object.keys(fields).filter((k) => Boolean(fields[k]))\n\n if (fieldNames.length === 0) {\n throw new Error(\n `field selection should not be empty: ${path.join('.')}`,\n )\n }\n\n const type =\n path.length > 0 ? getFieldFromPath(ctx.root, path).type : ctx.root\n const scalarFields = type.scalar\n\n let scalarFieldsFragment: string | undefined\n\n if (fieldNames.includes('__scalar')) {\n const falsyFieldNames = new Set(\n Object.keys(fields).filter((k) => !Boolean(fields[k])),\n )\n if (scalarFields?.length) {\n ctx.fragmentCounter++\n scalarFieldsFragment = `f${ctx.fragmentCounter}`\n\n ctx.fragments.push(\n `fragment ${scalarFieldsFragment} on ${\n type.name\n }{${scalarFields\n .filter((f) => !falsyFieldNames.has(f))\n .join(',')}}`,\n )\n }\n }\n\n const fieldsSelection = fieldNames\n .filter((f) => !['__scalar', '__name'].includes(f))\n .map((f) => {\n const parsed = parseRequest(fields[f], ctx, [...path, f])\n\n if (f.startsWith('on_')) {\n ctx.fragmentCounter++\n const implementationFragment = `f${ctx.fragmentCounter}`\n\n const typeMatch = f.match(/^on_(.+)/)\n\n if (!typeMatch || !typeMatch[1])\n throw new Error('match failed')\n\n ctx.fragments.push(\n `fragment ${implementationFragment} on ${typeMatch[1]}${parsed}`,\n )\n\n return `...${implementationFragment}`\n } else {\n return `${f}${parsed}`\n }\n })\n .concat(scalarFieldsFragment ? [`...${scalarFieldsFragment}`] : [])\n .join(',')\n\n return `{${fieldsSelection}}`\n } else {\n return ''\n }\n}\n\nexport const generateGraphqlOperation = (\n operation: 'query' | 'mutation' | 'subscription',\n root: LinkedType,\n fields?: Fields,\n): GraphqlOperation => {\n const ctx: Context = {\n root: root,\n varCounter: 0,\n variables: {},\n fragmentCounter: 0,\n fragments: [],\n }\n const result = parseRequest(fields, ctx, [])\n\n const varNames = Object.keys(ctx.variables)\n\n const varsString =\n varNames.length > 0\n ? `(${varNames.map((v) => {\n const variableType = ctx.variables[v].typing[1]\n return `$${v}:${variableType}`\n })})`\n : ''\n\n const operationName = fields?.__name || ''\n\n return {\n query: [\n `${operation} ${operationName}${varsString}${result}`,\n ...ctx.fragments,\n ].join(','),\n variables: Object.keys(ctx.variables).reduce<{ [name: string]: any }>(\n (r, v) => {\n r[v] = ctx.variables[v].value\n return r\n },\n {},\n ),\n ...(operationName ? { operationName: operationName.toString() } : {}),\n }\n}\n\nexport const getFieldFromPath = (\n root: LinkedType | undefined,\n path: string[],\n) => {\n let current: LinkedField | undefined\n\n if (!root) throw new Error('root type is not provided')\n\n if (path.length === 0) throw new Error(`path is empty`)\n\n path.forEach((f) => {\n const type = current ? current.type : root\n\n if (!type.fields)\n throw new Error(`type \\`${type.name}\\` does not have fields`)\n\n const possibleTypes = Object.keys(type.fields)\n .filter((i) => i.startsWith('on_'))\n .reduce(\n (types, fieldName) => {\n const field = type.fields && type.fields[fieldName]\n if (field) types.push(field.type)\n return types\n },\n [type],\n )\n\n let field: LinkedField | null = null\n\n possibleTypes.forEach((type) => {\n const found = type.fields && type.fields[f]\n if (found) field = found\n })\n\n if (!field)\n throw new Error(\n `type \\`${type.name}\\` does not have a field \\`${f}\\``,\n )\n\n current = field\n })\n\n return current as LinkedField\n}\n","// @ts-nocheck\n\nimport { type BatchOptions, createFetcher } from './fetcher'\nimport type { ExecutionResult, LinkedType } from './types'\nimport {\n generateGraphqlOperation,\n type GraphqlOperation,\n} from './generateGraphqlOperation'\n\nexport type Headers =\n | HeadersInit\n | (() => HeadersInit)\n | (() => Promise<HeadersInit>)\n\nexport type BaseFetcher = (\n operation: GraphqlOperation | GraphqlOperation[],\n) => Promise<ExecutionResult | ExecutionResult[]>\n\nexport type ClientOptions = Omit<RequestInit, 'body' | 'headers'> & {\n url?: string\n batch?: BatchOptions | boolean\n fetcher?: BaseFetcher\n fetch?: Function\n headers?: Headers\n}\n\nexport const createClient = ({\n queryRoot,\n mutationRoot,\n subscriptionRoot,\n ...options\n}: ClientOptions & {\n queryRoot?: LinkedType\n mutationRoot?: LinkedType\n subscriptionRoot?: LinkedType\n}) => {\n const fetcher = createFetcher(options)\n const client: {\n query?: Function\n mutation?: Function\n } = {}\n\n if (queryRoot) {\n client.query = (request: any) => {\n if (!queryRoot) throw new Error('queryRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('query', queryRoot, request),\n )\n\n return resultPromise\n }\n }\n if (mutationRoot) {\n client.mutation = (request: any) => {\n if (!mutationRoot)\n throw new Error('mutationRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('mutation', mutationRoot, request),\n )\n\n return resultPromise\n }\n }\n\n return client as any\n}\n","// @ts-nocheck\nimport type {\n CompressedType,\n CompressedTypeMap,\n LinkedArgMap,\n LinkedField,\n LinkedType,\n LinkedTypeMap,\n} from './types'\n\nexport interface PartialLinkedFieldMap {\n [field: string]: {\n type: string\n args?: LinkedArgMap\n }\n}\n\nexport const linkTypeMap = (\n typeMap: CompressedTypeMap<number>,\n): LinkedTypeMap => {\n const indexToName: Record<number, string> = Object.assign(\n {},\n ...Object.keys(typeMap.types).map((k, i) => ({ [i]: k })),\n )\n\n let intermediaryTypeMap = Object.assign(\n {},\n ...Object.keys(typeMap.types || {}).map(\n (k): Record<string, LinkedType> => {\n const type: CompressedType = typeMap.types[k]!\n const fields = type || {}\n return {\n [k]: {\n name: k,\n // type scalar properties\n scalar: Object.keys(fields).filter((f) => {\n const [type] = fields[f] || []\n\n const isScalar =\n type && typeMap.scalars.includes(type)\n if (!isScalar) {\n return false\n }\n const args = fields[f]?.[1]\n const argTypes = Object.values(args || {})\n .map((x) => x?.[1])\n .filter(Boolean)\n\n const hasRequiredArgs = argTypes.some(\n (str) => str && str.endsWith('!'),\n )\n if (hasRequiredArgs) {\n return false\n }\n return true\n }),\n // fields with corresponding `type` and `args`\n fields: Object.assign(\n {},\n ...Object.keys(fields).map(\n (f): PartialLinkedFieldMap => {\n const [typeIndex, args] = fields[f] || []\n if (typeIndex == null) {\n return {}\n }\n return {\n [f]: {\n // replace index with type name\n type: indexToName[typeIndex],\n args: Object.assign(\n {},\n ...Object.keys(args || {}).map(\n (k) => {\n // if argTypeString == argTypeName, argTypeString is missing, need to readd it\n if (!args || !args[k]) {\n return\n }\n const [\n argTypeName,\n argTypeString,\n ] = args[k] as any\n return {\n [k]: [\n indexToName[\n argTypeName\n ],\n argTypeString ||\n indexToName[\n argTypeName\n ],\n ],\n }\n },\n ),\n ),\n },\n }\n },\n ),\n ),\n },\n }\n },\n ),\n )\n const res = resolveConcreteTypes(intermediaryTypeMap)\n return res\n}\n\n// replace typename with concrete type\nexport const resolveConcreteTypes = (linkedTypeMap: LinkedTypeMap) => {\n Object.keys(linkedTypeMap).forEach((typeNameFromKey) => {\n const type: LinkedType = linkedTypeMap[typeNameFromKey]!\n // type.name = typeNameFromKey\n if (!type.fields) {\n return\n }\n\n const fields = type.fields\n\n Object.keys(fields).forEach((f) => {\n const field: LinkedField = fields[f]!\n\n if (field.args) {\n const args = field.args\n Object.keys(args).forEach((key) => {\n const arg = args[key]\n\n if (arg) {\n const [typeName] = arg\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n arg[0] = linkedTypeMap[typeName]!\n }\n }\n })\n }\n\n const typeName = field.type as LinkedType | string\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n field.type = linkedTypeMap[typeName]!\n }\n })\n })\n\n return linkedTypeMap\n}\n","export default {\n \"scalars\": [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 9,\n 10,\n 13,\n 14,\n 16\n ],\n \"types\": {\n \"DateTime\": {},\n \"MomentStatus\": {},\n \"MomentSortOrder\": {},\n \"MomentType\": {},\n \"MomentCategory\": {},\n \"MomentSubcategory\": {},\n \"PaymentStatus\": {},\n \"TicketExtensionStatus\": {},\n \"Currency\": {\n \"uid\": [\n 9\n ],\n \"code\": [\n 10\n ],\n \"name\": [\n 10\n ],\n \"symbol\": [\n 10\n ],\n \"country\": [\n 10\n ],\n \"countryCode\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"ID\": {},\n \"String\": {},\n \"Venue\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"address\": [\n 10\n ],\n \"city\": [\n 10\n ],\n \"country\": [\n 10\n ],\n \"postalCode\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Moment\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"blurb\": [\n 10\n ],\n \"slug\": [\n 10\n ],\n \"startDate\": [\n 0\n ],\n \"endDate\": [\n 0\n ],\n \"isPrivate\": [\n 13\n ],\n \"type\": [\n 3\n ],\n \"category\": [\n 4\n ],\n \"subcategory\": [\n 5\n ],\n \"status\": [\n 1\n ],\n \"soldOut\": [\n 13\n ],\n \"timezone\": [\n 10\n ],\n \"minimumAge\": [\n 14\n ],\n \"venue\": [\n 11\n ],\n \"ticketTiers\": [\n 15\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Boolean\": {},\n \"Int\": {},\n \"TicketTier\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"price\": [\n 16\n ],\n \"currency\": [\n 8\n ],\n \"isActive\": [\n 13\n ],\n \"isPrivate\": [\n 13\n ],\n \"maxPerUser\": [\n 14\n ],\n \"minPerUser\": [\n 14\n ],\n \"remainingSupply\": [\n 14\n ],\n \"numSold\": [\n 16\n ],\n \"numCheckedIn\": [\n 16\n ],\n \"startDateOverride\": [\n 0\n ],\n \"endDateOverride\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Float\": {},\n \"User\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"phoneNumber\": [\n 10\n ],\n \"primaryEmail\": [\n 10\n ],\n \"instagramProfile\": [\n 10\n ],\n \"twitterProfile\": [\n 10\n ],\n \"spotifyProfile\": [\n 10\n ],\n \"tiktokProfile\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Ticket\": {\n \"uid\": [\n 9\n ],\n \"price\": [\n 16\n ],\n \"redeemedAt\": [\n 0\n ],\n \"encryptedQRCode\": [\n 10\n ],\n \"notes\": [\n 10\n ],\n \"externalId\": [\n 10\n ],\n \"hasExpired\": [\n 13\n ],\n \"ticketTier\": [\n 15\n ],\n \"user\": [\n 17\n ],\n \"moment\": [\n 12\n ],\n \"payment\": [\n 21\n ],\n \"extensions\": [\n 19\n ],\n \"discountCodeUsages\": [\n 20\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"TicketExtension\": {\n \"uid\": [\n 9\n ],\n \"hours\": [\n 14\n ],\n \"previousTotalHours\": [\n 14\n ],\n \"newTotalHours\": [\n 14\n ],\n \"pricePerHourCents\": [\n 14\n ],\n \"totalPriceCents\": [\n 14\n ],\n \"status\": [\n 7\n ],\n \"appliedAt\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentDiscountCodeUsage\": {\n \"uid\": [\n 9\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Payment\": {\n \"uid\": [\n 9\n ],\n \"amount\": [\n 16\n ],\n \"status\": [\n 6\n ],\n \"stripePaymentIntentId\": [\n 10\n ],\n \"stripeConnectedPaymentId\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MerchPurchase\": {\n \"uid\": [\n 9\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"PartnerCustomer\": {\n \"user\": [\n 17\n ],\n \"tickets\": [\n 18\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetPublicMomentsResponse\": {\n \"moments\": [\n 12\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetTicketsResponse\": {\n \"tickets\": [\n 18\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetPartnerCustomersResponse\": {\n \"customers\": [\n 23\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Query\": {\n \"getPartnerMomentsForBrand\": [\n 24,\n {\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ],\n \"status\": [\n 1\n ],\n \"sortOrder\": [\n 2\n ]\n }\n ],\n \"getPartnerMoment\": [\n 12,\n {\n \"slug\": [\n 10,\n \"String!\"\n ]\n }\n ],\n \"getPartnerTicketsForMoment\": [\n 25,\n {\n \"momentSlug\": [\n 10,\n \"String!\"\n ],\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ],\n \"checkedIn\": [\n 13\n ]\n }\n ],\n \"getPartnerCustomersForMoment\": [\n 26,\n {\n \"momentSlug\": [\n 10,\n \"String!\"\n ],\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ]\n }\n ],\n \"__typename\": [\n 10\n ]\n }\n }\n}","// @ts-nocheck\nimport type { QueryGenqlSelection, Query } from './schema'\nimport {\n linkTypeMap,\n createClient as createClientOriginal,\n generateGraphqlOperation,\n type FieldsSelection,\n type GraphqlOperation,\n type ClientOptions,\n GenqlError,\n} from './runtime'\nexport type { FieldsSelection } from './runtime'\nexport { GenqlError }\n\nimport types from './types'\nexport * from './schema'\nconst typeMap = linkTypeMap(types as any)\n\nexport interface Client {\n query<R extends QueryGenqlSelection>(\n request: R & { __name?: string },\n ): Promise<FieldsSelection<Query, R>>\n}\n\nexport const createClient = function (options?: ClientOptions): Client {\n return createClientOriginal({\n url: undefined,\n\n ...options,\n queryRoot: typeMap.Query!,\n mutationRoot: typeMap.Mutation!,\n subscriptionRoot: typeMap.Subscription!,\n }) as any\n}\n\nexport const everything = {\n __scalar: true,\n}\n\nexport type QueryResult<fields extends QueryGenqlSelection> = FieldsSelection<\n Query,\n fields\n>\nexport const generateQueryOp: (\n fields: QueryGenqlSelection & { __name?: string },\n) => GraphqlOperation = function (fields) {\n return generateGraphqlOperation('query', typeMap.Query!, fields as any)\n}\n","import { createClient as createGenqlClient, type Client } from './generated';\n\nexport interface ITMPartnerClientConfig {\n /**\n * Partner API token (from backstage: Settings > Partner API).\n * Sent as `x-partner-api-key` header on every request.\n */\n token: string;\n\n /**\n * Base URL of the ITM GraphQL API.\n * @default 'https://api.itm.studio/graphql'\n */\n baseUrl?: string;\n\n /**\n * Additional headers to include on every request.\n */\n headers?: Record<string, string>;\n}\n\nexport type ITMPartnerClient = Client;\n\n/**\n * Create a typed ITM Partner API client.\n *\n * @example\n * ```ts\n * import { createITMPartnerClient } from '@itm-studio/partner-sdk';\n *\n * const itm = createITMPartnerClient({\n * token: process.env.ITM_PARTNER_TOKEN!,\n * });\n *\n * const { getPartnerMomentsForBrand } = await itm.query({\n * getPartnerMomentsForBrand: {\n * __args: { take: 10 },\n * moments: {\n * uid: true,\n * name: true,\n * startDate: true,\n * venue: { name: true, city: true },\n * },\n * totalCount: true,\n * hasNextPage: true,\n * nextCursor: true,\n * },\n * });\n * ```\n */\nexport function createITMPartnerClient(\n config: ITMPartnerClientConfig,\n): ITMPartnerClient {\n const { token, baseUrl, headers: extraHeaders } = config;\n\n if (!token) {\n throw new Error(\n 'ITM Partner SDK: token is required. Get one from backstage: Settings > Partner API.',\n );\n }\n\n return createGenqlClient({\n url: baseUrl ?? 'https://api.itm.studio/graphql',\n headers: {\n 'x-partner-api-key': token,\n 'Content-Type': 'application/json',\n ...extraHeaders,\n },\n });\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/generated/runtime/error.ts","../src/generated/runtime/batcher.ts","../src/generated/runtime/fetcher.ts","../src/generated/runtime/generateGraphqlOperation.ts","../src/generated/runtime/createClient.ts","../src/generated/runtime/linkTypeMap.ts","../src/generated/types.ts","../src/generated/index.ts","../src/client.ts"],"names":["json","field","type","typeMap","k","typeName","createClient"],"mappings":"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","file":"index.mjs","sourcesContent":["// @ts-nocheck\nexport class GenqlError extends Error {\n errors: Array<GraphqlError> = []\n /**\n * Partial data returned by the server\n */\n data?: any\n constructor(errors: any[], data: any) {\n let message = Array.isArray(errors)\n ? errors.map((x) => x?.message || '').join('\\n')\n : ''\n if (!message) {\n message = 'GraphQL error'\n }\n super(message)\n this.errors = errors\n this.data = data\n }\n}\n\ninterface GraphqlError {\n message: string\n locations?: Array<{\n line: number\n column: number\n }>\n path?: string[]\n extensions?: Record<string, any>\n}\n","// @ts-nocheck\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\ntype Variables = Record<string, any>\n\ntype QueryError = Error & {\n message: string\n\n locations?: Array<{\n line: number\n column: number\n }>\n path?: any\n rid: string\n details?: Record<string, any>\n}\ntype Result = {\n data: Record<string, any>\n errors: Array<QueryError>\n}\ntype Fetcher = (\n batchedQuery: GraphqlOperation | Array<GraphqlOperation>,\n) => Promise<Array<Result>>\ntype Options = {\n batchInterval?: number\n shouldBatch?: boolean\n maxBatchSize?: number\n}\ntype Queue = Array<{\n request: GraphqlOperation\n resolve: (...args: Array<any>) => any\n reject: (...args: Array<any>) => any\n}>\n\n/**\n * takes a list of requests (queue) and batches them into a single server request.\n * It will then resolve each individual requests promise with the appropriate data.\n * @private\n * @param {QueryBatcher} client - the client to use\n * @param {Queue} queue - the list of requests to batch\n */\nfunction dispatchQueueBatch(client: QueryBatcher, queue: Queue): void {\n let batchedQuery: any = queue.map((item) => item.request)\n\n if (batchedQuery.length === 1) {\n batchedQuery = batchedQuery[0]\n }\n (() => {\n try {\n return client.fetcher(batchedQuery);\n } catch(e) {\n return Promise.reject(e);\n }\n })().then((responses: any) => {\n if (queue.length === 1 && !Array.isArray(responses)) {\n if (responses.errors && responses.errors.length) {\n queue[0].reject(\n new GenqlError(responses.errors, responses.data),\n )\n return\n }\n\n queue[0].resolve(responses)\n return\n } else if (responses.length !== queue.length) {\n throw new Error('response length did not match query length')\n }\n\n for (let i = 0; i < queue.length; i++) {\n if (responses[i].errors && responses[i].errors.length) {\n queue[i].reject(\n new GenqlError(responses[i].errors, responses[i].data),\n )\n } else {\n queue[i].resolve(responses[i])\n }\n }\n })\n .catch((e) => {\n for (let i = 0; i < queue.length; i++) {\n queue[i].reject(e)\n }\n });\n}\n\n/**\n * creates a list of requests to batch according to max batch size.\n * @private\n * @param {QueryBatcher} client - the client to create list of requests from from\n * @param {Options} options - the options for the batch\n */\nfunction dispatchQueue(client: QueryBatcher, options: Options): void {\n const queue = client._queue\n const maxBatchSize = options.maxBatchSize || 0\n client._queue = []\n\n if (maxBatchSize > 0 && maxBatchSize < queue.length) {\n for (let i = 0; i < queue.length / maxBatchSize; i++) {\n dispatchQueueBatch(\n client,\n queue.slice(i * maxBatchSize, (i + 1) * maxBatchSize),\n )\n }\n } else {\n dispatchQueueBatch(client, queue)\n }\n}\n/**\n * Create a batcher client.\n * @param {Fetcher} fetcher - A function that can handle the network requests to graphql endpoint\n * @param {Options} options - the options to be used by client\n * @param {boolean} options.shouldBatch - should the client batch requests. (default true)\n * @param {integer} options.batchInterval - duration (in MS) of each batch window. (default 6)\n * @param {integer} options.maxBatchSize - max number of requests in a batch. (default 0)\n * @param {boolean} options.defaultHeaders - default headers to include with every request\n *\n * @example\n * const fetcher = batchedQuery => fetch('path/to/graphql', {\n * method: 'post',\n * headers: {\n * Accept: 'application/json',\n * 'Content-Type': 'application/json',\n * },\n * body: JSON.stringify(batchedQuery),\n * credentials: 'include',\n * })\n * .then(response => response.json())\n *\n * const client = new QueryBatcher(fetcher, { maxBatchSize: 10 })\n */\n\nexport class QueryBatcher {\n fetcher: Fetcher\n _options: Options\n _queue: Queue\n\n constructor(\n fetcher: Fetcher,\n {\n batchInterval = 6,\n shouldBatch = true,\n maxBatchSize = 0,\n }: Options = {},\n ) {\n this.fetcher = fetcher\n this._options = {\n batchInterval,\n shouldBatch,\n maxBatchSize,\n }\n this._queue = []\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {promise} resolves to parsed json of server response\n *\n * @example\n * client.fetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n fetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides)\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n this._queue.push({\n request,\n resolve,\n reject,\n })\n\n if (this._queue.length === 1) {\n if (options.shouldBatch) {\n setTimeout(\n () => dispatchQueue(this, options),\n options.batchInterval,\n )\n } else {\n dispatchQueue(this, options)\n }\n }\n })\n return promise\n }\n\n /**\n * Fetch will send a graphql request and return the parsed json.\n * @param {string} query - the graphql query.\n * @param {Variables} variables - any variables you wish to inject as key/value pairs.\n * @param {[string]} operationName - the graphql operationName.\n * @param {Options} overrides - the client options overrides.\n *\n * @return {Promise<Array<Result>>} resolves to parsed json of server response\n *\n * @example\n * client.forceFetch(`\n * query getHuman($id: ID!) {\n * human(id: $id) {\n * name\n * height\n * }\n * }\n * `, { id: \"1001\" }, 'getHuman')\n * .then(human => {\n * // do something with human\n * console.log(human);\n * });\n */\n forceFetch(\n query: string,\n variables?: Variables,\n operationName?: string,\n overrides: Options = {},\n ): Promise<Result> {\n const request: GraphqlOperation = {\n query,\n }\n const options = Object.assign({}, this._options, overrides, {\n shouldBatch: false,\n })\n\n if (variables) {\n request.variables = variables\n }\n\n if (operationName) {\n request.operationName = operationName\n }\n\n const promise = new Promise<Result>((resolve, reject) => {\n const client = new QueryBatcher(this.fetcher, this._options)\n client._queue = [\n {\n request,\n resolve,\n reject,\n },\n ]\n dispatchQueue(client, options)\n })\n return promise\n }\n}\n","// @ts-nocheck\nimport { QueryBatcher } from './batcher'\n\nimport type { ClientOptions } from './createClient'\nimport type { GraphqlOperation } from './generateGraphqlOperation'\nimport { GenqlError } from './error'\n\nexport interface Fetcher {\n (gql: GraphqlOperation): Promise<any>\n}\n\nexport type BatchOptions = {\n batchInterval?: number // ms\n maxBatchSize?: number\n}\n\nconst DEFAULT_BATCH_OPTIONS = {\n maxBatchSize: 10,\n batchInterval: 40,\n}\n\nexport const createFetcher = ({\n url,\n headers = {},\n fetcher,\n fetch: _fetch,\n batch = false,\n ...rest\n}: ClientOptions): Fetcher => {\n if (!url && !fetcher) {\n throw new Error('url or fetcher is required')\n }\n\n fetcher = fetcher || (async (body) => {\n let headersObject =\n typeof headers == 'function' ? await headers() : headers\n headersObject = headersObject || {}\n if (typeof fetch === 'undefined' && !_fetch) {\n throw new Error(\n 'Global `fetch` function is not available, pass a fetch polyfill to Genql `createClient`',\n )\n }\n let fetchImpl = _fetch || fetch\n const res = await fetchImpl(url!, {\n headers: {\n 'Content-Type': 'application/json',\n ...headersObject,\n },\n method: 'POST',\n body: JSON.stringify(body),\n ...rest,\n })\n if (!res.ok) {\n throw new Error(`${res.statusText}: ${await res.text()}`)\n }\n const json = await res.json()\n return json\n })\n\n if (!batch) {\n return async (body) => {\n const json = await fetcher!(body)\n if (Array.isArray(json)) {\n return json.map((json) => {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n })\n } else {\n if (json?.errors?.length) {\n throw new GenqlError(json.errors || [], json.data)\n }\n return json.data\n }\n }\n }\n\n const batcher = new QueryBatcher(\n async (batchedQuery) => {\n // console.log(batchedQuery) // [{ query: 'query{user{age}}', variables: {} }, ...]\n const json = await fetcher!(batchedQuery)\n return json as any\n },\n batch === true ? DEFAULT_BATCH_OPTIONS : batch,\n )\n\n return async ({ query, variables }) => {\n const json = await batcher.fetch(query, variables)\n if (json?.data) {\n return json.data\n }\n throw new Error(\n 'Genql batch fetcher returned unexpected result ' + JSON.stringify(json),\n )\n }\n}\n","// @ts-nocheck\nimport type { LinkedField, LinkedType } from './types'\n\nexport interface Args {\n [arg: string]: any | undefined\n}\n\nexport interface Fields {\n [field: string]: Request\n}\n\nexport type Request = boolean | number | Fields\n\nexport interface Variables {\n [name: string]: {\n value: any\n typing: [LinkedType, string]\n }\n}\n\nexport interface Context {\n root: LinkedType\n varCounter: number\n variables: Variables\n fragmentCounter: number\n fragments: string[]\n}\n\nexport interface GraphqlOperation {\n query: string\n variables?: { [name: string]: any }\n operationName?: string\n}\n\nconst parseRequest = (\n request: Request | undefined,\n ctx: Context,\n path: string[],\n): string => {\n if (typeof request === 'object' && '__args' in request) {\n const args: any = request.__args\n let fields: Request | undefined = { ...request }\n delete fields.__args\n const argNames = Object.keys(args)\n\n if (argNames.length === 0) {\n return parseRequest(fields, ctx, path)\n }\n\n const field = getFieldFromPath(ctx.root, path)\n\n const argStrings = argNames.map((argName) => {\n ctx.varCounter++\n const varName = `v${ctx.varCounter}`\n\n const typing = field.args && field.args[argName] // typeMap used here, .args\n\n if (!typing) {\n throw new Error(\n `no typing defined for argument \\`${argName}\\` in path \\`${path.join(\n '.',\n )}\\``,\n )\n }\n\n ctx.variables[varName] = {\n value: args[argName],\n typing,\n }\n\n return `${argName}:$${varName}`\n })\n return `(${argStrings})${parseRequest(fields, ctx, path)}`\n } else if (typeof request === 'object' && Object.keys(request).length > 0) {\n const fields = request\n const fieldNames = Object.keys(fields).filter((k) => Boolean(fields[k]))\n\n if (fieldNames.length === 0) {\n throw new Error(\n `field selection should not be empty: ${path.join('.')}`,\n )\n }\n\n const type =\n path.length > 0 ? getFieldFromPath(ctx.root, path).type : ctx.root\n const scalarFields = type.scalar\n\n let scalarFieldsFragment: string | undefined\n\n if (fieldNames.includes('__scalar')) {\n const falsyFieldNames = new Set(\n Object.keys(fields).filter((k) => !Boolean(fields[k])),\n )\n if (scalarFields?.length) {\n ctx.fragmentCounter++\n scalarFieldsFragment = `f${ctx.fragmentCounter}`\n\n ctx.fragments.push(\n `fragment ${scalarFieldsFragment} on ${\n type.name\n }{${scalarFields\n .filter((f) => !falsyFieldNames.has(f))\n .join(',')}}`,\n )\n }\n }\n\n const fieldsSelection = fieldNames\n .filter((f) => !['__scalar', '__name'].includes(f))\n .map((f) => {\n const parsed = parseRequest(fields[f], ctx, [...path, f])\n\n if (f.startsWith('on_')) {\n ctx.fragmentCounter++\n const implementationFragment = `f${ctx.fragmentCounter}`\n\n const typeMatch = f.match(/^on_(.+)/)\n\n if (!typeMatch || !typeMatch[1])\n throw new Error('match failed')\n\n ctx.fragments.push(\n `fragment ${implementationFragment} on ${typeMatch[1]}${parsed}`,\n )\n\n return `...${implementationFragment}`\n } else {\n return `${f}${parsed}`\n }\n })\n .concat(scalarFieldsFragment ? [`...${scalarFieldsFragment}`] : [])\n .join(',')\n\n return `{${fieldsSelection}}`\n } else {\n return ''\n }\n}\n\nexport const generateGraphqlOperation = (\n operation: 'query' | 'mutation' | 'subscription',\n root: LinkedType,\n fields?: Fields,\n): GraphqlOperation => {\n const ctx: Context = {\n root: root,\n varCounter: 0,\n variables: {},\n fragmentCounter: 0,\n fragments: [],\n }\n const result = parseRequest(fields, ctx, [])\n\n const varNames = Object.keys(ctx.variables)\n\n const varsString =\n varNames.length > 0\n ? `(${varNames.map((v) => {\n const variableType = ctx.variables[v].typing[1]\n return `$${v}:${variableType}`\n })})`\n : ''\n\n const operationName = fields?.__name || ''\n\n return {\n query: [\n `${operation} ${operationName}${varsString}${result}`,\n ...ctx.fragments,\n ].join(','),\n variables: Object.keys(ctx.variables).reduce<{ [name: string]: any }>(\n (r, v) => {\n r[v] = ctx.variables[v].value\n return r\n },\n {},\n ),\n ...(operationName ? { operationName: operationName.toString() } : {}),\n }\n}\n\nexport const getFieldFromPath = (\n root: LinkedType | undefined,\n path: string[],\n) => {\n let current: LinkedField | undefined\n\n if (!root) throw new Error('root type is not provided')\n\n if (path.length === 0) throw new Error(`path is empty`)\n\n path.forEach((f) => {\n const type = current ? current.type : root\n\n if (!type.fields)\n throw new Error(`type \\`${type.name}\\` does not have fields`)\n\n const possibleTypes = Object.keys(type.fields)\n .filter((i) => i.startsWith('on_'))\n .reduce(\n (types, fieldName) => {\n const field = type.fields && type.fields[fieldName]\n if (field) types.push(field.type)\n return types\n },\n [type],\n )\n\n let field: LinkedField | null = null\n\n possibleTypes.forEach((type) => {\n const found = type.fields && type.fields[f]\n if (found) field = found\n })\n\n if (!field)\n throw new Error(\n `type \\`${type.name}\\` does not have a field \\`${f}\\``,\n )\n\n current = field\n })\n\n return current as LinkedField\n}\n","// @ts-nocheck\n\nimport { type BatchOptions, createFetcher } from './fetcher'\nimport type { ExecutionResult, LinkedType } from './types'\nimport {\n generateGraphqlOperation,\n type GraphqlOperation,\n} from './generateGraphqlOperation'\n\nexport type Headers =\n | HeadersInit\n | (() => HeadersInit)\n | (() => Promise<HeadersInit>)\n\nexport type BaseFetcher = (\n operation: GraphqlOperation | GraphqlOperation[],\n) => Promise<ExecutionResult | ExecutionResult[]>\n\nexport type ClientOptions = Omit<RequestInit, 'body' | 'headers'> & {\n url?: string\n batch?: BatchOptions | boolean\n fetcher?: BaseFetcher\n fetch?: Function\n headers?: Headers\n}\n\nexport const createClient = ({\n queryRoot,\n mutationRoot,\n subscriptionRoot,\n ...options\n}: ClientOptions & {\n queryRoot?: LinkedType\n mutationRoot?: LinkedType\n subscriptionRoot?: LinkedType\n}) => {\n const fetcher = createFetcher(options)\n const client: {\n query?: Function\n mutation?: Function\n } = {}\n\n if (queryRoot) {\n client.query = (request: any) => {\n if (!queryRoot) throw new Error('queryRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('query', queryRoot, request),\n )\n\n return resultPromise\n }\n }\n if (mutationRoot) {\n client.mutation = (request: any) => {\n if (!mutationRoot)\n throw new Error('mutationRoot argument is missing')\n\n const resultPromise = fetcher(\n generateGraphqlOperation('mutation', mutationRoot, request),\n )\n\n return resultPromise\n }\n }\n\n return client as any\n}\n","// @ts-nocheck\nimport type {\n CompressedType,\n CompressedTypeMap,\n LinkedArgMap,\n LinkedField,\n LinkedType,\n LinkedTypeMap,\n} from './types'\n\nexport interface PartialLinkedFieldMap {\n [field: string]: {\n type: string\n args?: LinkedArgMap\n }\n}\n\nexport const linkTypeMap = (\n typeMap: CompressedTypeMap<number>,\n): LinkedTypeMap => {\n const indexToName: Record<number, string> = Object.assign(\n {},\n ...Object.keys(typeMap.types).map((k, i) => ({ [i]: k })),\n )\n\n let intermediaryTypeMap = Object.assign(\n {},\n ...Object.keys(typeMap.types || {}).map(\n (k): Record<string, LinkedType> => {\n const type: CompressedType = typeMap.types[k]!\n const fields = type || {}\n return {\n [k]: {\n name: k,\n // type scalar properties\n scalar: Object.keys(fields).filter((f) => {\n const [type] = fields[f] || []\n\n const isScalar =\n type && typeMap.scalars.includes(type)\n if (!isScalar) {\n return false\n }\n const args = fields[f]?.[1]\n const argTypes = Object.values(args || {})\n .map((x) => x?.[1])\n .filter(Boolean)\n\n const hasRequiredArgs = argTypes.some(\n (str) => str && str.endsWith('!'),\n )\n if (hasRequiredArgs) {\n return false\n }\n return true\n }),\n // fields with corresponding `type` and `args`\n fields: Object.assign(\n {},\n ...Object.keys(fields).map(\n (f): PartialLinkedFieldMap => {\n const [typeIndex, args] = fields[f] || []\n if (typeIndex == null) {\n return {}\n }\n return {\n [f]: {\n // replace index with type name\n type: indexToName[typeIndex],\n args: Object.assign(\n {},\n ...Object.keys(args || {}).map(\n (k) => {\n // if argTypeString == argTypeName, argTypeString is missing, need to readd it\n if (!args || !args[k]) {\n return\n }\n const [\n argTypeName,\n argTypeString,\n ] = args[k] as any\n return {\n [k]: [\n indexToName[\n argTypeName\n ],\n argTypeString ||\n indexToName[\n argTypeName\n ],\n ],\n }\n },\n ),\n ),\n },\n }\n },\n ),\n ),\n },\n }\n },\n ),\n )\n const res = resolveConcreteTypes(intermediaryTypeMap)\n return res\n}\n\n// replace typename with concrete type\nexport const resolveConcreteTypes = (linkedTypeMap: LinkedTypeMap) => {\n Object.keys(linkedTypeMap).forEach((typeNameFromKey) => {\n const type: LinkedType = linkedTypeMap[typeNameFromKey]!\n // type.name = typeNameFromKey\n if (!type.fields) {\n return\n }\n\n const fields = type.fields\n\n Object.keys(fields).forEach((f) => {\n const field: LinkedField = fields[f]!\n\n if (field.args) {\n const args = field.args\n Object.keys(args).forEach((key) => {\n const arg = args[key]\n\n if (arg) {\n const [typeName] = arg\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n arg[0] = linkedTypeMap[typeName]!\n }\n }\n })\n }\n\n const typeName = field.type as LinkedType | string\n\n if (typeof typeName === 'string') {\n if (!linkedTypeMap[typeName]) {\n linkedTypeMap[typeName] = { name: typeName }\n }\n\n field.type = linkedTypeMap[typeName]!\n }\n })\n })\n\n return linkedTypeMap\n}\n","export default {\n \"scalars\": [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 9,\n 10,\n 13,\n 14,\n 16\n ],\n \"types\": {\n \"DateTime\": {},\n \"MomentStatus\": {},\n \"MomentSortOrder\": {},\n \"MomentType\": {},\n \"MomentCategory\": {},\n \"MomentSubcategory\": {},\n \"PaymentStatus\": {},\n \"TicketExtensionStatus\": {},\n \"Currency\": {\n \"uid\": [\n 9\n ],\n \"code\": [\n 10\n ],\n \"name\": [\n 10\n ],\n \"symbol\": [\n 10\n ],\n \"country\": [\n 10\n ],\n \"countryCode\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"ID\": {},\n \"String\": {},\n \"Venue\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"address\": [\n 10\n ],\n \"city\": [\n 10\n ],\n \"country\": [\n 10\n ],\n \"postalCode\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Moment\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"blurb\": [\n 10\n ],\n \"slug\": [\n 10\n ],\n \"startDate\": [\n 0\n ],\n \"endDate\": [\n 0\n ],\n \"isPrivate\": [\n 13\n ],\n \"type\": [\n 3\n ],\n \"category\": [\n 4\n ],\n \"subcategory\": [\n 5\n ],\n \"status\": [\n 1\n ],\n \"soldOut\": [\n 13\n ],\n \"timezone\": [\n 10\n ],\n \"minimumAge\": [\n 14\n ],\n \"externalUrl\": [\n 10\n ],\n \"venue\": [\n 11\n ],\n \"ticketTiers\": [\n 15\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Boolean\": {},\n \"Int\": {},\n \"TicketTier\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"price\": [\n 16\n ],\n \"currency\": [\n 8\n ],\n \"isActive\": [\n 13\n ],\n \"isPrivate\": [\n 13\n ],\n \"maxPerUser\": [\n 14\n ],\n \"minPerUser\": [\n 14\n ],\n \"remainingSupply\": [\n 14\n ],\n \"startDateOverride\": [\n 0\n ],\n \"endDateOverride\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Float\": {},\n \"User\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"phoneNumber\": [\n 10\n ],\n \"primaryEmail\": [\n 10\n ],\n \"instagramProfile\": [\n 10\n ],\n \"twitterProfile\": [\n 10\n ],\n \"spotifyProfile\": [\n 10\n ],\n \"tiktokProfile\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Ticket\": {\n \"uid\": [\n 9\n ],\n \"price\": [\n 16\n ],\n \"redeemedAt\": [\n 0\n ],\n \"encryptedQRCode\": [\n 10\n ],\n \"notes\": [\n 10\n ],\n \"externalId\": [\n 10\n ],\n \"hasExpired\": [\n 13\n ],\n \"ticketTier\": [\n 15\n ],\n \"user\": [\n 17\n ],\n \"moment\": [\n 12\n ],\n \"payment\": [\n 21\n ],\n \"extensions\": [\n 19\n ],\n \"discountCodeUsages\": [\n 20\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"TicketExtension\": {\n \"uid\": [\n 9\n ],\n \"hours\": [\n 14\n ],\n \"previousTotalHours\": [\n 14\n ],\n \"newTotalHours\": [\n 14\n ],\n \"pricePerHourCents\": [\n 14\n ],\n \"totalPriceCents\": [\n 14\n ],\n \"status\": [\n 7\n ],\n \"appliedAt\": [\n 0\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentDiscountCodeUsage\": {\n \"uid\": [\n 9\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Payment\": {\n \"uid\": [\n 9\n ],\n \"amount\": [\n 16\n ],\n \"status\": [\n 6\n ],\n \"stripePaymentIntentId\": [\n 10\n ],\n \"stripeConnectedPaymentId\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MerchPurchase\": {\n \"uid\": [\n 9\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"PartnerCustomer\": {\n \"user\": [\n 17\n ],\n \"tickets\": [\n 18\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentCollectionLink\": {\n \"uid\": [\n 9\n ],\n \"url\": [\n 10\n ],\n \"label\": [\n 10\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"MomentCollection\": {\n \"uid\": [\n 9\n ],\n \"name\": [\n 10\n ],\n \"description\": [\n 10\n ],\n \"slug\": [\n 10\n ],\n \"subLabel\": [\n 10\n ],\n \"availableQueryFilters\": [\n 10\n ],\n \"moments\": [\n 12,\n {\n \"queryFilters\": [\n 10,\n \"[String!]\"\n ]\n }\n ],\n \"links\": [\n 24\n ],\n \"createdAt\": [\n 0\n ],\n \"updatedAt\": [\n 0\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetPublicMomentsResponse\": {\n \"moments\": [\n 12\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetTicketsResponse\": {\n \"tickets\": [\n 18\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"GetPartnerCustomersResponse\": {\n \"customers\": [\n 23\n ],\n \"totalCount\": [\n 14\n ],\n \"hasNextPage\": [\n 13\n ],\n \"nextCursor\": [\n 10\n ],\n \"__typename\": [\n 10\n ]\n },\n \"Query\": {\n \"getPartnerMomentsForBrand\": [\n 26,\n {\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ],\n \"status\": [\n 1\n ],\n \"sortOrder\": [\n 2\n ]\n }\n ],\n \"getPartnerMoment\": [\n 12,\n {\n \"slug\": [\n 10,\n \"String!\"\n ]\n }\n ],\n \"getPartnerTicketsForMoment\": [\n 27,\n {\n \"momentSlug\": [\n 10,\n \"String!\"\n ],\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ],\n \"checkedIn\": [\n 13\n ]\n }\n ],\n \"getPartnerCustomersForMoment\": [\n 28,\n {\n \"momentSlug\": [\n 10,\n \"String!\"\n ],\n \"cursor\": [\n 10\n ],\n \"take\": [\n 14\n ]\n }\n ],\n \"getPartnerMomentCollection\": [\n 25,\n {\n \"slug\": [\n 10,\n \"String!\"\n ]\n }\n ],\n \"__typename\": [\n 10\n ]\n }\n }\n}","// @ts-nocheck\nimport type { QueryGenqlSelection, Query } from './schema'\nimport {\n linkTypeMap,\n createClient as createClientOriginal,\n generateGraphqlOperation,\n type FieldsSelection,\n type GraphqlOperation,\n type ClientOptions,\n GenqlError,\n} from './runtime'\nexport type { FieldsSelection } from './runtime'\nexport { GenqlError }\n\nimport types from './types'\nexport * from './schema'\nconst typeMap = linkTypeMap(types as any)\n\nexport interface Client {\n query<R extends QueryGenqlSelection>(\n request: R & { __name?: string },\n ): Promise<FieldsSelection<Query, R>>\n}\n\nexport const createClient = function (options?: ClientOptions): Client {\n return createClientOriginal({\n url: undefined,\n\n ...options,\n queryRoot: typeMap.Query!,\n mutationRoot: typeMap.Mutation!,\n subscriptionRoot: typeMap.Subscription!,\n }) as any\n}\n\nexport const everything = {\n __scalar: true,\n}\n\nexport type QueryResult<fields extends QueryGenqlSelection> = FieldsSelection<\n Query,\n fields\n>\nexport const generateQueryOp: (\n fields: QueryGenqlSelection & { __name?: string },\n) => GraphqlOperation = function (fields) {\n return generateGraphqlOperation('query', typeMap.Query!, fields as any)\n}\n","import { createClient as createGenqlClient, type Client } from './generated';\n\nexport interface ITMPartnerClientConfig {\n /**\n * Partner API token (from backstage: Settings > Partner API).\n * Sent as `x-partner-api-key` header on every request.\n */\n token: string;\n\n /**\n * Base URL of the ITM GraphQL API.\n * @default 'https://api.itm.studio/graphql'\n */\n baseUrl?: string;\n\n /**\n * Additional headers to include on every request.\n */\n headers?: Record<string, string>;\n}\n\nexport type ITMPartnerClient = Client;\n\n/**\n * Create a typed ITM Partner API client.\n *\n * @example\n * ```ts\n * import { createITMPartnerClient } from '@itm-studio/partner-sdk';\n *\n * const itm = createITMPartnerClient({\n * token: process.env.ITM_PARTNER_TOKEN!,\n * });\n *\n * const { getPartnerMomentsForBrand } = await itm.query({\n * getPartnerMomentsForBrand: {\n * __args: { take: 10 },\n * moments: {\n * uid: true,\n * name: true,\n * startDate: true,\n * venue: { name: true, city: true },\n * },\n * totalCount: true,\n * hasNextPage: true,\n * nextCursor: true,\n * },\n * });\n * ```\n */\nexport function createITMPartnerClient(\n config: ITMPartnerClientConfig,\n): ITMPartnerClient {\n const { token, baseUrl, headers: extraHeaders } = config;\n\n if (!token) {\n throw new Error(\n 'ITM Partner SDK: token is required. Get one from backstage: Settings > Partner API.',\n );\n }\n\n return createGenqlClient({\n url: baseUrl ?? 'https://api.itm.studio/graphql',\n headers: {\n 'x-partner-api-key': token,\n 'Content-Type': 'application/json',\n ...extraHeaders,\n },\n });\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itm-studio/partner-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "TypeScript SDK for the ITM Partner API — typed GraphQL client with zero introspection required",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"msw": "^2.7.0",
|
|
42
42
|
"tsup": "^8.4.0",
|
|
43
43
|
"typescript": "^5.7.0",
|
|
44
|
+
"vite": "^6.0.0",
|
|
44
45
|
"vitest": "^3.0.0"
|
|
45
46
|
},
|
|
46
47
|
"dependencies": {
|
package/schema/partner.graphql
CHANGED
|
@@ -275,6 +275,7 @@ type Moment {
|
|
|
275
275
|
soldOut: Boolean!
|
|
276
276
|
timezone: String!
|
|
277
277
|
minimumAge: Int!
|
|
278
|
+
externalUrl: String
|
|
278
279
|
venue: Venue
|
|
279
280
|
ticketTiers: [TicketTier!]!
|
|
280
281
|
createdAt: DateTime!
|
|
@@ -292,8 +293,6 @@ type TicketTier {
|
|
|
292
293
|
maxPerUser: Int!
|
|
293
294
|
minPerUser: Int!
|
|
294
295
|
remainingSupply: Int!
|
|
295
|
-
numSold: Float!
|
|
296
|
-
numCheckedIn: Float!
|
|
297
296
|
startDateOverride: DateTime
|
|
298
297
|
endDateOverride: DateTime
|
|
299
298
|
createdAt: DateTime!
|
|
@@ -371,6 +370,27 @@ type PartnerCustomer {
|
|
|
371
370
|
tickets: [Ticket!]!
|
|
372
371
|
}
|
|
373
372
|
|
|
373
|
+
type MomentCollectionLink {
|
|
374
|
+
uid: ID!
|
|
375
|
+
url: String!
|
|
376
|
+
label: String
|
|
377
|
+
createdAt: DateTime!
|
|
378
|
+
updatedAt: DateTime!
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
type MomentCollection {
|
|
382
|
+
uid: ID!
|
|
383
|
+
name: String!
|
|
384
|
+
description: String
|
|
385
|
+
slug: String!
|
|
386
|
+
subLabel: String
|
|
387
|
+
availableQueryFilters: [String!]!
|
|
388
|
+
moments(queryFilters: [String!]): [Moment!]!
|
|
389
|
+
links: [MomentCollectionLink!]!
|
|
390
|
+
createdAt: DateTime!
|
|
391
|
+
updatedAt: DateTime!
|
|
392
|
+
}
|
|
393
|
+
|
|
374
394
|
# ─── Paginated Responses ─────────────────────────────────────────────────────
|
|
375
395
|
|
|
376
396
|
type GetPublicMomentsResponse {
|
|
@@ -436,4 +456,10 @@ type Query {
|
|
|
436
456
|
cursor: String
|
|
437
457
|
take: Int
|
|
438
458
|
): GetPartnerCustomersResponse!
|
|
459
|
+
|
|
460
|
+
"""
|
|
461
|
+
Get a moment collection by slug.
|
|
462
|
+
Returns the collection with its moments and links.
|
|
463
|
+
"""
|
|
464
|
+
getPartnerMomentCollection(slug: String!): MomentCollection
|
|
439
465
|
}
|