@luvio/compiler 0.65.0 → 0.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/codegen/adapter/adapter-network.js +2 -2
  2. package/dist/codegen/adapter/adapter-network.js.map +1 -1
  3. package/dist/codegen/adapter/adapter-prepare-request.js +54 -1
  4. package/dist/codegen/adapter/adapter-prepare-request.js.map +1 -1
  5. package/dist/codegen/adapter/constants.d.ts +2 -1
  6. package/dist/codegen/adapter/constants.js +4 -3
  7. package/dist/codegen/adapter/constants.js.map +1 -1
  8. package/dist/codegen/adapter/delete/adapter-network.js +12 -8
  9. package/dist/codegen/adapter/delete/adapter-network.js.map +1 -1
  10. package/dist/codegen/adapter/patch-post/adapter-network.js +12 -7
  11. package/dist/codegen/adapter/patch-post/adapter-network.js.map +1 -1
  12. package/dist/codegen/adapter-tests/expected-responses.js +7 -10
  13. package/dist/codegen/adapter-tests/expected-responses.js.map +1 -1
  14. package/dist/codegen/pagination-utils/synthetic-cursor.d.ts +1 -0
  15. package/dist/codegen/pagination-utils/synthetic-cursor.js +298 -0
  16. package/dist/codegen/pagination-utils/synthetic-cursor.js.map +1 -0
  17. package/dist/codegen/resource/composite/select-child-resource-params.js +5 -12
  18. package/dist/codegen/resource/composite/select-child-resource-params.js.map +1 -1
  19. package/dist/codegen/resource/response-cache-keys.js +28 -1
  20. package/dist/codegen/resource/response-cache-keys.js.map +1 -1
  21. package/dist/codegen/shape/shape-ingest-paginated.js +89 -7
  22. package/dist/codegen/shape/shape-ingest-paginated.js.map +1 -1
  23. package/dist/codegen/shape/shape-select-paginated.js +87 -4
  24. package/dist/codegen/shape/shape-select-paginated.js.map +1 -1
  25. package/dist/generate.js +9 -0
  26. package/dist/generate.js.map +1 -1
  27. package/dist/utils/imports.js +1 -2
  28. package/dist/utils/imports.js.map +1 -1
  29. package/package.json +18 -5
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generatePaginationUtils = void 0;
7
+ const deindent_1 = __importDefault(require("../../utils/deindent"));
8
+ const constants_1 = require("./constants");
9
+ const cursor_based_1 = require("./cursor-based");
10
+ const TYPES = (0, deindent_1.default) `
11
+ import { ${cursor_based_1.NULLABLE_TOKEN_TYPE_IDENTIFIER}, ${cursor_based_1.TOKEN_MISSING_TYPE_IDENTIFIER} } from './cursor';
12
+
13
+ export { ${constants_1.PAGINATION_PARAMS_INTERFACE_IDENTIFIER} } from './cursor';
14
+
15
+ export type ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER} = {
16
+ clientTokens: Record<string, number>;
17
+ serverTokens: string[];
18
+ __END__?: number;
19
+ };
20
+
21
+ export interface ${constants_1.PAGE_METADATA_IDENTIFIER} {
22
+ startOffset?: number;
23
+ endOffset?: number;
24
+ nextServerToken?: ${cursor_based_1.NULLABLE_TOKEN_TYPE_IDENTIFIER};
25
+ metadataProperties: Record<string, unknown>;
26
+ };
27
+ `;
28
+ const CLIENT_TOKEN_FROM_OFFSET = (0, deindent_1.default) `
29
+ export function clientTokenFromOffset(${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER}, offset: number): string | ${cursor_based_1.TOKEN_MISSING_TYPE_IDENTIFIER} {
30
+ const { clientTokens } = ${constants_1.PAGINATION_METADATA_IDENTIFIER};
31
+
32
+ const tokens = Object.keys(clientTokens);
33
+ for (let i = 0, len = tokens.length; i < len; i++) {
34
+ const token = tokens[i];
35
+ if (clientTokens[token] === offset) {
36
+ return token;
37
+ }
38
+ }
39
+ }
40
+ `;
41
+ const OFFSET_FROM_CLIENT_TOKEN = (0, deindent_1.default) `
42
+ export function offsetFromClientToken(${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER}, token: string | undefined): number {
43
+ if (token === undefined) {
44
+ return 0;
45
+ }
46
+
47
+ const offset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.clientTokens[token];
48
+ return offset === undefined ? -1 : offset;
49
+ }
50
+ `;
51
+ const OFFSET_FROM_SERVER_TOKEN = (0, deindent_1.default) `
52
+ export function offsetFromServerToken(${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER}, token: string): number {
53
+ return ${constants_1.PAGINATION_METADATA_IDENTIFIER}.serverTokens.indexOf(token);
54
+ }
55
+ `;
56
+ const NEXT_TOKEN = (0, deindent_1.default) `
57
+ export function getNextPageTokens(
58
+ ${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER},
59
+ pageEndOffset: number
60
+ ): {
61
+ clientToken: ${cursor_based_1.NULLABLE_TOKEN_TYPE_IDENTIFIER} | ${cursor_based_1.TOKEN_MISSING_TYPE_IDENTIFIER};
62
+ serverToken: ${cursor_based_1.NULLABLE_TOKEN_TYPE_IDENTIFIER} | ${cursor_based_1.TOKEN_MISSING_TYPE_IDENTIFIER};
63
+ } {
64
+ const listEndOffset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.${cursor_based_1.LIST_END_IDENTIFIER};
65
+
66
+ if (listEndOffset === undefined || pageEndOffset < listEndOffset) {
67
+ const clientToken = clientTokenFromOffset(${constants_1.PAGINATION_METADATA_IDENTIFIER}, pageEndOffset);
68
+ if (clientToken === undefined) {
69
+ return {
70
+ clientToken: undefined,
71
+ serverToken: undefined,
72
+ };
73
+ }
74
+
75
+ return {
76
+ clientToken,
77
+ serverToken: ${constants_1.PAGINATION_METADATA_IDENTIFIER}.serverTokens[pageEndOffset]
78
+ };
79
+ }
80
+
81
+ return {
82
+ clientToken: null,
83
+ serverToken: null,
84
+ };
85
+ }
86
+ `;
87
+ const PREVIOUS_TOKEN = (0, deindent_1.default) `
88
+ export function getPreviousClientToken(
89
+ ${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER},
90
+ startOffset: number,
91
+ pageSize: number
92
+ ): ${cursor_based_1.NULLABLE_TOKEN_TYPE_IDENTIFIER} | ${cursor_based_1.TOKEN_MISSING_TYPE_IDENTIFIER} {
93
+ const previousPageOffset = startOffset - pageSize;
94
+ if (previousPageOffset < 0) {
95
+ return null;
96
+ }
97
+
98
+ const listEndOffset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.${cursor_based_1.LIST_END_IDENTIFIER};
99
+ if (listEndOffset !== undefined && previousPageOffset >= listEndOffset) {
100
+ return;
101
+ }
102
+
103
+ return clientTokenFromOffset(${constants_1.PAGINATION_METADATA_IDENTIFIER}, previousPageOffset);
104
+ }
105
+ `;
106
+ const PAGE_END_OFFSET = (0, deindent_1.default) `
107
+ export function pageEndOffset(
108
+ ${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER},
109
+ startOffset: number,
110
+ pageSize: number
111
+ ): number {
112
+ const listEndOffset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.${cursor_based_1.LIST_END_IDENTIFIER};
113
+ const nextPageOffset = startOffset + pageSize;
114
+ if (listEndOffset === undefined) {
115
+ return nextPageOffset;
116
+ }
117
+
118
+ return Math.min(nextPageOffset, listEndOffset);
119
+ }
120
+ `;
121
+ const GET_PAGE_TOKEN_AND_OFFSET = (0, deindent_1.default) `
122
+ export function getPageTokenAndOffset(
123
+ ${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER},
124
+ token: string | undefined,
125
+ ): [string, number] | undefined {
126
+ if (token === undefined) {
127
+ const startToken = clientTokenFromOffset(${constants_1.PAGINATION_METADATA_IDENTIFIER}, 0);
128
+ if (startToken === undefined) {
129
+ return;
130
+ }
131
+ return [startToken, 0];
132
+ }
133
+
134
+ const startOffset = offsetFromClientToken(${constants_1.PAGINATION_METADATA_IDENTIFIER}, token);
135
+ if (startOffset < 0) {
136
+ return;
137
+ }
138
+
139
+ return [token, startOffset];
140
+ }
141
+ `;
142
+ const SERVER_TOKEN_FOR_AT_MOST = (0, deindent_1.default) `
143
+ export function serverTokenForAtMost(
144
+ ${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER},
145
+ maxOffset: number
146
+ ): [string | undefined, number] {
147
+ const { serverTokens } = ${constants_1.PAGINATION_METADATA_IDENTIFIER};
148
+ for (let i = maxOffset; i >= 0; i--) {
149
+ const token = serverTokens[i];
150
+ if (token !== undefined) {
151
+ return [token, i];
152
+ }
153
+ }
154
+
155
+ return [undefined, -1];
156
+ }
157
+ `;
158
+ const GENERATE_CLIENT_TOKEN = (0, deindent_1.default) `
159
+ export function generateClientToken(offset: number): string {
160
+ return base64Encode('client:' + offset);
161
+ }
162
+
163
+ // Code lifted from https://github.com/MaxArt2501/base64-js/blob/master/base64.js
164
+ // base64 character set, plus padding character (=)
165
+ const b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
166
+
167
+ function base64Encode(input: string): string {
168
+ let bitmap: number, a: number, b: number, c: number;
169
+ let result = "", i = 0;
170
+ const rest = input.length % 3; // To determine the final padding
171
+
172
+ for (; i < input.length;) {
173
+ if ((a = input.charCodeAt(i++)) > 255
174
+ || (b = input.charCodeAt(i++)) > 255
175
+ || (c = input.charCodeAt(i++)) > 255) {
176
+ throw new TypeError("Failed base64ToAscii encoding: The string to be encoded contains characters outside of the Latin1 range. " + input);
177
+ }
178
+ bitmap = (a << 16) | (b << 8) | c;
179
+ result += b64.charAt(bitmap >> 18 & 63) + b64.charAt(bitmap >> 12 & 63)
180
+ + b64.charAt(bitmap >> 6 & 63) + b64.charAt(bitmap & 63);
181
+ }
182
+
183
+ // If there's need of padding, replace the last 'A's with equal signs
184
+ return rest ? result.slice(0, rest - 3) + "===".substring(rest) : result;
185
+ }
186
+ `;
187
+ const ADD_TOKENS = (0, deindent_1.default) `
188
+ export function addTokens(
189
+ ${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER},
190
+ offset: number,
191
+ clientToken: string,
192
+ serverToken?: string
193
+ ) {
194
+ ${constants_1.PAGINATION_METADATA_IDENTIFIER}.clientTokens[clientToken] = offset;
195
+ if (serverToken !== undefined) {
196
+ ${constants_1.PAGINATION_METADATA_IDENTIFIER}.serverTokens[offset] = serverToken;
197
+ }
198
+ }
199
+ `;
200
+ const MERGE_METADATA = (0, deindent_1.default) `
201
+ export function mergeMetadata(
202
+ existingMetadata: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER} | undefined,
203
+ incomingMetadata: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER}
204
+ ): ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER} {
205
+ if (existingMetadata === undefined) {
206
+ return incomingMetadata;
207
+ }
208
+
209
+ const clientTokens = {
210
+ ...existingMetadata.clientTokens,
211
+ ...incomingMetadata.clientTokens
212
+ };
213
+
214
+ const serverTokens = mergeArrays(existingMetadata.serverTokens, incomingMetadata.serverTokens);
215
+ const ${cursor_based_1.LIST_END_IDENTIFIER} = incomingMetadata.hasOwnProperty('${cursor_based_1.LIST_END_IDENTIFIER}') ? incomingMetadata.${cursor_based_1.LIST_END_IDENTIFIER} : existingMetadata.${cursor_based_1.LIST_END_IDENTIFIER};
216
+
217
+ return {
218
+ clientTokens,
219
+ serverTokens,
220
+ ${cursor_based_1.LIST_END_IDENTIFIER}
221
+ }
222
+ }
223
+
224
+ function mergeArrays(existing: string[], incoming: string[]) {
225
+ const merged = [];
226
+ const len = Math.max(existing.length, incoming.length);
227
+ for (let i = 0; i < len; i++) {
228
+ const value = incoming[i] || existing[i];
229
+ merged.push(value);
230
+ }
231
+
232
+ return merged;
233
+ }
234
+ `;
235
+ const EQUALS_METADATA = (0, deindent_1.default) `
236
+ export function equalsMetadata(
237
+ existingMetadata: PaginationMetadata,
238
+ incomingMetadata: PaginationMetadata
239
+ ): boolean {
240
+ const {
241
+ clientTokens: existingClientTokens,
242
+ serverTokens: existingServerTokens,
243
+ ${cursor_based_1.LIST_END_IDENTIFIER}: existingListEnd
244
+ } = existingMetadata;
245
+ const {
246
+ clientTokens: incomingClientTokens,
247
+ serverTokens: incomingServerTokens,
248
+ ${cursor_based_1.LIST_END_IDENTIFIER}: incomingListEnd
249
+ } = incomingMetadata;
250
+
251
+ const existingKeys = Object.keys(existingClientTokens);
252
+ const incomingKeys = Object.keys(incomingClientTokens);
253
+
254
+ const clientTokensLength = existingKeys.length;
255
+ if (clientTokensLength !== incomingKeys.length) {
256
+ return false;
257
+ }
258
+
259
+ for (let i = 0; i < clientTokensLength; i++) {
260
+ const key = existingKeys[i];
261
+ if (existingClientTokens[key] !== incomingClientTokens[key]) {
262
+ return false;
263
+ }
264
+ }
265
+
266
+ const serverTokensLength = existingServerTokens.length;
267
+ if (serverTokensLength !== incomingServerTokens.length) {
268
+ return false;
269
+ }
270
+
271
+ for (let i = 0; i < serverTokensLength; i++) {
272
+ if (existingServerTokens[i] !== incomingServerTokens[i]) {
273
+ return false;
274
+ }
275
+ }
276
+
277
+ return existingListEnd === incomingListEnd;
278
+ }
279
+ `;
280
+ function generatePaginationUtils() {
281
+ return [
282
+ TYPES,
283
+ CLIENT_TOKEN_FROM_OFFSET,
284
+ OFFSET_FROM_CLIENT_TOKEN,
285
+ OFFSET_FROM_SERVER_TOKEN,
286
+ NEXT_TOKEN,
287
+ PREVIOUS_TOKEN,
288
+ PAGE_END_OFFSET,
289
+ GET_PAGE_TOKEN_AND_OFFSET,
290
+ SERVER_TOKEN_FOR_AT_MOST,
291
+ GENERATE_CLIENT_TOKEN,
292
+ ADD_TOKENS,
293
+ MERGE_METADATA,
294
+ EQUALS_METADATA,
295
+ ].join('\n\n');
296
+ }
297
+ exports.generatePaginationUtils = generatePaginationUtils;
298
+ //# sourceMappingURL=synthetic-cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthetic-cursor.js","sourceRoot":"","sources":["../../../src/codegen/pagination-utils/synthetic-cursor.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;AAE5C,2CAKqB;AAErB,iDAIwB;AAExB,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAA;eACP,6CAA8B,KAAK,4CAA6B;;eAEhE,kDAAsC;;kBAEnC,+CAAmC;;;;;;uBAM9B,oCAAwB;;;4BAGnB,6CAA8B;;;CAGzD,CAAC;AAEF,MAAM,wBAAwB,GAAG,IAAA,kBAAQ,EAAA;4CACG,0CAA8B,KAAK,+CAAmC,+BAA+B,4CAA6B;mCAC3I,0CAA8B;;;;;;;;;;CAUhE,CAAC;AAEF,MAAM,wBAAwB,GAAG,IAAA,kBAAQ,EAAA;4CACG,0CAA8B,KAAK,+CAAmC;;;;;yBAKzF,0CAA8B;;;CAGtD,CAAC;AAEF,MAAM,wBAAwB,GAAG,IAAA,kBAAQ,EAAA;4CACG,0CAA8B,KAAK,+CAAmC;iBACjG,0CAA8B;;CAE9C,CAAC;AAEF,MAAM,UAAU,GAAG,IAAA,kBAAQ,EAAA;;UAEjB,0CAA8B,KAAK,+CAAmC;;;uBAGzD,6CAA8B,MAAM,4CAA6B;uBACjE,6CAA8B,MAAM,4CAA6B;;gCAExD,0CAA8B,IAAI,kCAAmB;;;wDAG7B,0CAA8B;;;;;;;;;;+BAUvD,0CAA8B;;;;;;;;;CAS5D,CAAC;AAEF,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAA;;UAErB,0CAA8B,KAAK,+CAAmC;;;SAGvE,6CAA8B,MAAM,4CAA6B;;;;;;gCAM1C,0CAA8B,IAAI,kCAAmB;;;;;uCAK9C,0CAA8B;;CAEpE,CAAC;AAEF,MAAM,eAAe,GAAG,IAAA,kBAAQ,EAAA;;UAEtB,0CAA8B,KAAK,+CAAmC;;;;gCAIhD,0CAA8B,IAAI,kCAAmB;;;;;;;;CAQpF,CAAC;AAEF,MAAM,yBAAyB,GAAG,IAAA,kBAAQ,EAAA;;UAEhC,0CAA8B,KAAK,+CAAmC;;;;uDAIzB,0CAA8B;;;;;;;oDAOjC,0CAA8B;;;;;;;CAOjF,CAAC;AAEF,MAAM,wBAAwB,GAAG,IAAA,kBAAQ,EAAA;;UAE/B,0CAA8B,KAAK,+CAAmC;;;mCAG7C,0CAA8B;;;;;;;;;;CAUhE,CAAC;AAEF,MAAM,qBAAqB,GAAG,IAAA,kBAAQ,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BrC,CAAC;AAEF,MAAM,UAAU,GAAG,IAAA,kBAAQ,EAAA;;UAEjB,0CAA8B,KAAK,+CAAmC;;;;;UAKtE,0CAA8B;;cAE1B,0CAA8B;;;CAG3C,CAAC;AAEF,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAA;;4BAEH,+CAAmC;4BACnC,+CAAmC;SACtD,+CAAmC;;;;;;;;;;;gBAW5B,kCAAmB,uCAAuC,kCAAmB,yBAAyB,kCAAmB,uBAAuB,kCAAmB;;;;;cAKrK,kCAAmB;;;;;;;;;;;;;;CAchC,CAAC;AAEF,MAAM,eAAe,GAAG,IAAA,kBAAQ,EAAA;;;;;;;;cAQlB,kCAAmB;;;;;cAKnB,kCAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC;AAEF,SAAgB,uBAAuB;IACnC,OAAO;QACH,KAAK;QACL,wBAAwB;QACxB,wBAAwB;QACxB,wBAAwB;QACxB,UAAU;QACV,cAAc;QACd,eAAe;QACf,yBAAyB;QACzB,wBAAwB;QACxB,qBAAqB;QACrB,UAAU;QACV,cAAc;QACd,eAAe;KAClB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnB,CAAC;AAhBD,0DAgBC"}
@@ -20,7 +20,6 @@ const CHILD_RESOURCE_PARAMS_IDENTIFIER = 'childResource';
20
20
  const CHILD_SINK_IDENTIFIER = 'childSink';
21
21
  const CHILD_SNAPSHOT_ERROR_IDENTIFIER = 'childSnapshotError';
22
22
  const CHILD_SNAPSHOT_IDENTIFIER = 'childSnapshot';
23
- const COMPOSITE_SNAPSHOT_IDENTIFIER = 'compositeSnapshot';
24
23
  const ENVELOPE_BODY_IDENTIFIER = 'envelopeBodyPath';
25
24
  const ENVELOPE_PATH_IDENTIFIER = 'envelopePath';
26
25
  const ENVELOPE_STATUS_CODE_IDENTIFIER = 'envelopeStatusCodePath';
@@ -64,20 +63,14 @@ function generateSelectChildResourceParams(importContext, resource, composite, r
64
63
  synthetic: true,
65
64
  read: (${READER_IDENTIFIER}: ${constants_1.ADAPTER_READER_IMPORT}<any>) => {
66
65
  // Top-level 404 lookup
67
- const ${COMPOSITE_SNAPSHOT_IDENTIFIER} = ${constants_2.LUVIO_IDENTIFIER}.storeLookup<any>({
68
- recordId: ${compositeKeyBuilderImport}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}),
69
- node: {
70
- kind: 'Fragment',
71
- private: [],
72
- },
73
- variables: {},
74
- });
75
- if (${COMPOSITE_SNAPSHOT_IDENTIFIER}.state === 'Error' && ${COMPOSITE_SNAPSHOT_IDENTIFIER}.error.status === 404) {
66
+ const result = ${READER_IDENTIFIER}.storeLookup(${compositeKeyBuilderImport}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}));
67
+ if (result.state === reader.StoreResolveResultState.Error && result.value.status === 404) {
76
68
  return {
77
- state: ${COMPOSITE_SNAPSHOT_IDENTIFIER}.state,
78
- value: ${COMPOSITE_SNAPSHOT_IDENTIFIER}.error,
69
+ state: 'Error',
70
+ value: result.value,
79
71
  };
80
72
  }
73
+
81
74
  const ${SINK_IDENTIFIER} = {} as ${returnShapeImport};
82
75
  ${READER_IDENTIFIER}.enterPath(${ENVELOPE_PATH_IDENTIFIER});
83
76
  const ${RESULTS_IDENTIFIER} = [] as ${returnShapeImport}['${envelopePath}'];
@@ -1 +1 @@
1
- {"version":3,"file":"select-child-resource-params.js","sourceRoot":"","sources":["../../../../src/codegen/resource/composite/select-child-resource-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-child-resource-params.js","sourceRoot":"","sources":["../../../../src/codegen/resource/composite/select-child-resource-params.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,39 @@ const key_builder_1 = require("./key-builder");
12
12
  const resource_params_1 = require("./resource-params");
13
13
  const shape_cache_keys_1 = require("../shape/shape-cache-keys");
14
14
  const response_child_cache_keys_1 = require("./composite/response-child-cache-keys");
15
+ const util_1 = require("../adapter/util");
16
+ const shape_representation_type_1 = require("../shape/shape-representation-type");
15
17
  exports.GET_RESPONSE_CACHE_KEYS_IDENTIFIER = 'getResponseCacheKeys';
16
18
  const RESPONSE_IDENTIFIER = 'response';
19
+ function generateGetResponseCacheKeysForDelete(importContext, resource, modelInfo) {
20
+ const { importRamlArtifact } = importContext;
21
+ const { id: resourceId } = resource;
22
+ const returnShape = (0, util_1.getSiblingGetReturnShapeForDelete)(resource, modelInfo);
23
+ if (returnShape === undefined) {
24
+ return '';
25
+ }
26
+ const returnShapeIdentifier = importRamlArtifact(returnShape.id, shape_representation_type_1.REPRESENTATION_TYPE_IDENTIFIER);
27
+ const keyStatement = `${importRamlArtifact(resourceId, key_builder_1.RESOURCE_KEY_BUILDER_IDENTIFIER)}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER})`;
28
+ const resourceRequestConfig = importRamlArtifact(resourceId, resource_params_1.RESOURCE_PARAMS_INTERFACE);
29
+ return (0, deindent_1.default) `
30
+ export function ${exports.GET_RESPONSE_CACHE_KEYS_IDENTIFIER}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}: ${resourceRequestConfig}): ${constants_2.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} {
31
+ const key = ${keyStatement};
32
+ return {
33
+ [key]: {
34
+ namespace: ${(0, shape_cache_keys_1.generateNamespaceValue)(importContext, modelInfo)},
35
+ representationName: ${returnShapeIdentifier}
36
+ }
37
+ }
38
+ }
39
+ `;
40
+ }
17
41
  function generateGetResponseCacheKeys(importContext, resource, modelInfo) {
18
42
  const { importRamlArtifact } = importContext;
19
43
  const { id: resourceId, method, returnShape, endPointId } = resource;
20
- if (method === 'delete' || returnShape === undefined) {
44
+ if (method === 'delete') {
45
+ return generateGetResponseCacheKeysForDelete(importContext, resource, modelInfo);
46
+ }
47
+ if (returnShape === undefined) {
21
48
  return '';
22
49
  }
23
50
  if (modelInfo.compositeResources[endPointId]) {
@@ -1 +1 @@
1
- {"version":3,"file":"response-cache-keys.js","sourceRoot":"","sources":["../../../src/codegen/resource/response-cache-keys.ts"],"names":[],"mappings":";;;;;;AACA,0DAAmE;AACnE,oEAA4C;AAE5C,oDAA0E;AAC1E,mDAA4E;AAC5E,+CAAgE;AAChE,uDAA8D;AAC9D,gEAA4E;AAC5E,qFAA8F;AAEjF,QAAA,kCAAkC,GAAG,sBAAsB,CAAC;AACzE,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAEvC,SAAgB,4BAA4B,CACxC,aAA4B,EAC5B,QAAkB,EAClB,SAAoB;IAEpB,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IACrE,IAAI,MAAM,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS,EAAE;QAClD,OAAO,EAAE,CAAC;KACb;IAED,IAAI,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;QAC1C,OAAO,IAAA,iEAAqC,EACxC,0CAAkC,EAClC,aAAa,EACb,QAAQ,EACR,SAAS,CACZ,CAAC;KACL;IAED,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IACjE,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAEpE,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE;QAC1E,OAAO,EAAE,CAAC;KACb;IAED,MAAM,wBAAwB,GAAG,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,KAAK,IAAI,IAAA,qBAAU,EAAC,QAAQ,CAAC,CAAC;IAChG,MAAM,YAAY,GAAG,wBAAwB;QACzC,CAAC,CAAC,GAAG,kBAAkB,CAAC,aAAa,EAAE,oBAAoB,CAAC,IAAI,mBAAmB,GAAG;QACtF,CAAC,CAAC,GAAG,kBAAkB,CACjB,UAAU,EACV,6CAA+B,CAClC,IAAI,8CAAkC,GAAG,CAAC;IAEjD,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAElF,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,UAAU,EAAE,2CAAyB,CAAC,CAAC;IAExF,MAAM,wBAAwB,GAAG,kBAAkB,CAC/C,aAAa,EACb,kDAA+B,CAClC,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;0BACO,0CAAkC,IAAI,8CAAkC,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,sBAAsB,MAAM,iDAAqC;qBACrM,wBAAwB,IAAI,mBAAmB,WAAW,YAAY;;KAEtF,CAAC;AACN,CAAC;AAjDD,oEAiDC"}
1
+ {"version":3,"file":"response-cache-keys.js","sourceRoot":"","sources":["../../../src/codegen/resource/response-cache-keys.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ const pagination_1 = require("../../intermediate/pagination");
9
9
  const constants_1 = require("./constants");
10
10
  const constants_2 = require("../shared/constants");
11
11
  const cursor_based_1 = require("../pagination-utils/cursor-based");
12
+ const constants_3 = require("../pagination-utils/constants");
12
13
  const PAGINATION_KEY_IDENTIFIER = 'paginationKey';
13
14
  const START_OFFSET_IDENTIFIER = 'startOffset';
14
15
  const NEXT_OFFSET_IDENTIFIER = 'nextOffset';
@@ -37,17 +38,86 @@ function generateIngestPagination(shapeConfig) {
37
38
  exports.generateIngestPagination = generateIngestPagination;
38
39
  function generateIngestPaginationMetadata(importContext, shapePaginated) {
39
40
  switch (shapePaginated.strategy) {
40
- case pagination_1.Strategy.SyntheticCursor: // TODO [W-10187230]: SyntheticCursor will generate its own ingest code
41
41
  case pagination_1.Strategy.Cursor: {
42
42
  return generateIngestCursorPaginationMetadata(importContext, shapePaginated);
43
43
  }
44
+ case pagination_1.Strategy.SyntheticCursor: {
45
+ return generateIngestSyntheticCursorPaginationMetadata(importContext, shapePaginated);
46
+ }
44
47
  }
45
48
  }
49
+ function generateIngestSyntheticCursorPaginationMetadata(importContext, shapePaginated) {
50
+ const { strategy, items, metadata: pageMetadata } = shapePaginated;
51
+ const assignMetadataLink = importContext.importTypeUtil('assignMetadataLink');
52
+ const paginationMetadataType = importContext.importPaginationUtil(strategy, constants_3.PAGINATION_METADATA_TYPE_IDENTIFIER);
53
+ const offsetFromServerToken = importContext.importPaginationUtil(strategy, 'offsetFromServerToken');
54
+ const mergeMetadata = importContext.importPaginationUtil(strategy, 'mergeMetadata');
55
+ const equalsMetadata = importContext.importPaginationUtil(strategy, 'equalsMetadata');
56
+ const generateClientToken = importContext.importPaginationUtil(strategy, 'generateClientToken');
57
+ const addTokens = importContext.importPaginationUtil(strategy, 'addTokens');
58
+ return (0, deindent_1.default) `
59
+ const ${EXISTING_PAGINATION_METADATA_IDENTIFIER}: ${paginationMetadataType} | undefined = ${constants_2.LUVIO_STORE_IDENTIFIER}.records[${PAGINATION_KEY_IDENTIFIER}];
60
+
61
+ const {
62
+ ${generatePaginationProperties(pageMetadata)},
63
+ ${items}: ${pagination_1.PaginatedTypeProperty.Items}
64
+ } = ${constants_1.INPUT_IDENTIFIER};
65
+
66
+ const ${START_OFFSET_IDENTIFIER} = ${EXISTING_PAGINATION_METADATA_IDENTIFIER} === undefined ? 0 : ${offsetFromServerToken}(${EXISTING_PAGINATION_METADATA_IDENTIFIER}, ${pagination_1.CursorPaginatedTypeProperty.Token});
67
+ if (process.env.NODE_ENV !== 'production') {
68
+ if (
69
+ ${START_OFFSET_IDENTIFIER} < 0 ||
70
+ (${constants_1.EXISTING_RECORD_IDENTIFIER} && ${constants_1.EXISTING_RECORD_IDENTIFIER}.${items}.length < ${START_OFFSET_IDENTIFIER})
71
+ ) {
72
+ throw new RangeError('${pageMetadata.token} value ' + ${pagination_1.CursorPaginatedTypeProperty.Token} + ' is not recognized');
73
+ }
74
+ }
75
+
76
+ const ${INCOMING_PAGINATION_METADATA_IDENTIFIER}: ${paginationMetadataType} = {
77
+ clientTokens: {},
78
+ serverTokens: []
79
+ };
80
+
81
+ const pageClientToken = ${generateClientToken}(${START_OFFSET_IDENTIFIER});
82
+ ${addTokens}(${INCOMING_PAGINATION_METADATA_IDENTIFIER}, ${START_OFFSET_IDENTIFIER}, pageClientToken, ${pagination_1.CursorPaginatedTypeProperty.Token});
83
+
84
+ const ${NEXT_OFFSET_IDENTIFIER} = ${START_OFFSET_IDENTIFIER} + ${pagination_1.PaginatedTypeProperty.Items}.length;
85
+ if (${pagination_1.CursorPaginatedTypeProperty.NextToken} === null) {
86
+ ${INCOMING_PAGINATION_METADATA_IDENTIFIER}.${cursor_based_1.LIST_END_IDENTIFIER} = ${NEXT_OFFSET_IDENTIFIER};
87
+ } else {
88
+ const nextClientToken = ${generateClientToken}(${NEXT_OFFSET_IDENTIFIER});
89
+ ${addTokens}(${INCOMING_PAGINATION_METADATA_IDENTIFIER}, ${NEXT_OFFSET_IDENTIFIER}, nextClientToken, ${pagination_1.CursorPaginatedTypeProperty.NextToken});
90
+ if (${EXISTING_PAGINATION_METADATA_IDENTIFIER} !== undefined) {
91
+ const listEndOffset = ${EXISTING_PAGINATION_METADATA_IDENTIFIER}.${cursor_based_1.LIST_END_IDENTIFIER};
92
+ if (listEndOffset !== undefined && ${NEXT_OFFSET_IDENTIFIER} >= listEndOffset) {
93
+ ${INCOMING_PAGINATION_METADATA_IDENTIFIER}.${cursor_based_1.LIST_END_IDENTIFIER} = undefined;
94
+ }
95
+ }
96
+ }
97
+ ${generatePreviousToken(importContext, shapePaginated)}
98
+
99
+ for (let i = startOffset + 1; i < nextOffset; i++) {
100
+ const itemClientToken = ${generateClientToken}(i);
101
+ ${addTokens}(${INCOMING_PAGINATION_METADATA_IDENTIFIER}, i, itemClientToken);
102
+ }
103
+
104
+ const mergedPaginationMetadata = ${mergeMetadata}(${EXISTING_PAGINATION_METADATA_IDENTIFIER}, ${INCOMING_PAGINATION_METADATA_IDENTIFIER});
105
+ if (
106
+ ${EXISTING_PAGINATION_METADATA_IDENTIFIER} === undefined ||
107
+ ${equalsMetadata}(${EXISTING_PAGINATION_METADATA_IDENTIFIER}, mergedPaginationMetadata) === false
108
+ ) {
109
+ luvio.storePublish(${PAGINATION_KEY_IDENTIFIER}, mergedPaginationMetadata);
110
+ }
111
+
112
+ ${assignMetadataLink}(${constants_1.INCOMING_RECORD_IDENTIFIER}, ${PAGINATION_KEY_IDENTIFIER});
113
+
114
+ `;
115
+ }
46
116
  function generateIngestCursorPaginationMetadata(importContext, shapePaginated) {
47
117
  const { strategy, items, metadata: pageMetadata } = shapePaginated;
48
118
  const assignMetadataLink = importContext.importTypeUtil('assignMetadataLink');
49
119
  const equalsObject = importContext.importTypeUtil('equalsObject');
50
- const paginationMetadataType = importContext.importPaginationUtil(strategy, 'PaginationMetadata');
120
+ const paginationMetadataType = importContext.importPaginationUtil(strategy, constants_3.PAGINATION_METADATA_TYPE_IDENTIFIER);
51
121
  const offsetFromToken = importContext.importPaginationUtil(strategy, 'offsetFromToken');
52
122
  const mergeMetadata = importContext.importPaginationUtil(strategy, 'mergeMetadata');
53
123
  return (0, deindent_1.default) `
@@ -84,7 +154,7 @@ function generateIngestCursorPaginationMetadata(importContext, shapePaginated) {
84
154
  }
85
155
  }
86
156
  }
87
- ${generatePreviousToken(pageMetadata)}
157
+ ${generatePreviousToken(importContext, shapePaginated)}
88
158
 
89
159
  const mergedPaginationMetadata = ${mergeMetadata}(${EXISTING_PAGINATION_METADATA_IDENTIFIER}, ${INCOMING_PAGINATION_METADATA_IDENTIFIER});
90
160
  if (
@@ -107,14 +177,26 @@ function generatePaginationProperties(metadataProperties) {
107
177
  })
108
178
  .join(',\n');
109
179
  }
110
- function generatePreviousToken(metadataProperties) {
111
- if (pagination_1.CursorPaginatedTypeProperty.PreviousToken in metadataProperties) {
180
+ function generatePreviousToken(importContext, paginatedType) {
181
+ const { strategy, metadata: metadataProperties } = paginatedType;
182
+ if (metadataProperties[pagination_1.CursorPaginatedTypeProperty.PreviousToken] === undefined) {
183
+ return '';
184
+ }
185
+ if (strategy === pagination_1.Strategy.SyntheticCursor) {
186
+ const generateClientToken = importContext.importPaginationUtil(strategy, 'generateClientToken');
187
+ const addTokens = importContext.importPaginationUtil(strategy, 'addTokens');
112
188
  return (0, deindent_1.default) `
113
189
  if (${pagination_1.CursorPaginatedTypeProperty.PreviousToken} !== null) {
114
- ${INCOMING_PAGINATION_METADATA_IDENTIFIER}[${pagination_1.CursorPaginatedTypeProperty.PreviousToken}] = ${START_OFFSET_IDENTIFIER} - ${pagination_1.CursorPaginatedTypeProperty.PageSize};
190
+ const previousOffset = ${START_OFFSET_IDENTIFIER} - ${pagination_1.CursorPaginatedTypeProperty.PageSize};
191
+ const previousClientToken = ${generateClientToken}(previousOffset);
192
+ ${addTokens}(${INCOMING_PAGINATION_METADATA_IDENTIFIER}, previousOffset, previousClientToken, ${pagination_1.CursorPaginatedTypeProperty.PreviousToken});
115
193
  }
116
194
  `;
117
195
  }
118
- return '';
196
+ return (0, deindent_1.default) `
197
+ if (${pagination_1.CursorPaginatedTypeProperty.PreviousToken} !== null) {
198
+ ${INCOMING_PAGINATION_METADATA_IDENTIFIER}[${pagination_1.CursorPaginatedTypeProperty.PreviousToken}] = ${START_OFFSET_IDENTIFIER} - ${pagination_1.CursorPaginatedTypeProperty.PageSize};
199
+ }
200
+ `;
119
201
  }
120
202
  //# sourceMappingURL=shape-ingest-paginated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape-ingest-paginated.js","sourceRoot":"","sources":["../../../src/codegen/shape/shape-ingest-paginated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shape-ingest-paginated.js","sourceRoot":"","sources":["../../../src/codegen/shape/shape-ingest-paginated.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;AAE5C,8DAOuC;AAIvC,2CAKqB;AACrB,mDAA6D;AAC7D,mEAAuE;AACvE,6DAAoF;AAEpF,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAClD,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAC9C,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAC5C,MAAM,uCAAuC,GAAG,4BAA4B,CAAC;AAC7E,MAAM,uCAAuC,GAAG,4BAA4B,CAAC;AAE7E,SAAgB,wBAAwB,CAAC,WAA+B;IACpE,MAAM,EACF,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EACtB,SAAS,EACT,aAAa,GAChB,GAAG,WAAW,CAAC;IAChB,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,cAAc,KAAK,SAAS,EAAE;QAC9B,OAAO,EAAE,CAAC;KACb;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;IAEjC,OAAO,IAAA,kBAAQ,EAAA;gBACH,yBAAyB,MAAM,0BAAc;UACnD,gCAAgC,CAAC,aAAa,EAAE,cAAc,CAAC;;cAE3D,sCAA0B;cAC1B,sCAA0B,IAAI,KAAK;qBAC5B,sCAA0B,IAAI,KAAK,aAAa,uBAAuB;qBACvE,sCAA0B,IAAI,KAAK;qBACnC,sCAA0B,IAAI,KAAK,UAAU,sBAAsB;;;KAGnF,CAAC;AACN,CAAC;AAzBD,4DAyBC;AAED,SAAS,gCAAgC,CACrC,aAA4B,EAC5B,cAA6B;IAE7B,QAAQ,cAAc,CAAC,QAAQ,EAAE;QAC7B,KAAK,qBAAkB,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO,sCAAsC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;SAChF;QACD,KAAK,qBAAkB,CAAC,eAAe,CAAC,CAAC;YACrC,OAAO,+CAA+C,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;SACzF;KACJ;AACL,CAAC;AAED,SAAS,+CAA+C,CACpD,aAA4B,EAC5B,cAA6B;IAE7B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC;IAEnE,MAAM,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAE9E,MAAM,sBAAsB,GAAG,aAAa,CAAC,oBAAoB,CAC7D,QAAQ,EACR,+CAAmC,CACtC,CAAC;IACF,MAAM,qBAAqB,GAAG,aAAa,CAAC,oBAAoB,CAC5D,QAAQ,EACR,uBAAuB,CAC1B,CAAC;IACF,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACpF,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACtF,MAAM,mBAAmB,GAAG,aAAa,CAAC,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAChG,MAAM,SAAS,GAAG,aAAa,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE5E,OAAO,IAAA,kBAAQ,EAAA;gBACH,uCAAuC,KAAK,sBAAsB,kBAAkB,kCAAsB,YAAY,yBAAyB;;;cAGjJ,4BAA4B,CAAC,YAAY,CAAC;cAC1C,KAAK,KAAK,kCAAqB,CAAC,KAAK;cACrC,4BAAgB;;gBAEd,uBAAuB,MAAM,uCAAuC,wBAAwB,qBAAqB,IAAI,uCAAuC,KACpK,wCAA2B,CAAC,KAChC;;;kBAGc,uBAAuB;mBACtB,sCAA0B,OAAO,sCAA0B,IAAI,KAAK,aAAa,uBAAuB;;wCAEnF,YAAY,CAAC,KAAK,cAClD,wCAA2B,CAAC,KAChC;;;;gBAIY,uCAAuC,KAAK,sBAAsB;;;;;kCAKhD,mBAAmB,IAAI,uBAAuB;UACtE,SAAS,IAAI,uCAAuC,KAAK,uBAAuB,sBAClF,wCAA2B,CAAC,KAChC;;gBAEY,sBAAsB,MAAM,uBAAuB,MAC3D,kCAAqB,CAAC,KAC1B;cACU,wCAA2B,CAAC,SAAS;cACrC,uCAAuC,IAAI,kCAAmB,MAAM,sBAAsB;;sCAElE,mBAAmB,IAAI,sBAAsB;cACrE,SAAS,IAAI,uCAAuC,KAAK,sBAAsB,sBACrF,wCAA2B,CAAC,SAChC;kBACc,uCAAuC;wCACjB,uCAAuC,IAAI,kCAAmB;qDACjD,sBAAsB;sBACrD,uCAAuC,IAAI,kCAAmB;;;;UAI1E,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC;;;sCAGxB,mBAAmB;cAC3C,SAAS,IAAI,uCAAuC;;;2CAGvB,aAAa,IAAI,uCAAuC,KAAK,uCAAuC;;cAEjI,uCAAuC;cACvC,cAAc,IAAI,uCAAuC;;iCAEtC,yBAAyB;;;UAGhD,kBAAkB,IAAI,sCAA0B,KAAK,yBAAyB;;KAEnF,CAAC;AACN,CAAC;AAED,SAAS,sCAAsC,CAC3C,aAA4B,EAC5B,cAA6B;IAE7B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC;IAEnE,MAAM,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAElE,MAAM,sBAAsB,GAAG,aAAa,CAAC,oBAAoB,CAC7D,QAAQ,EACR,+CAAmC,CACtC,CAAC;IACF,MAAM,eAAe,GAAG,aAAa,CAAC,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACxF,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAEpF,OAAO,IAAA,kBAAQ,EAAA;gBACH,uCAAuC,KAAK,sBAAsB,kBAAkB,kCAAsB,YAAY,yBAAyB;;;cAGjJ,4BAA4B,CAAC,YAAY,CAAC;cAC1C,KAAK,KAAK,kCAAqB,CAAC,KAAK;cACrC,4BAAgB;;gBAEd,uBAAuB,MAAM,uCAAuC,wBAAwB,eAAe,IAAI,uCAAuC,KAC9J,wCAA2B,CAAC,KAChC;;;kBAGc,uBAAuB;mBACtB,sCAA0B,OAAO,sCAA0B,IAAI,KAAK,aAAa,uBAAuB;;wCAEnF,YAAY,CAAC,KAAK,cAClD,wCAA2B,CAAC,KAChC;;;;gBAIY,uCAAuC,KAAK,sBAAsB;eACnE,wCAA2B,CAAC,KAAK,MAAM,uBAAuB;;;gBAG7D,sBAAsB,MAAM,uBAAuB,MAC3D,kCAAqB,CAAC,KAC1B;cACU,wCAA2B,CAAC,SAAS;cACrC,uCAAuC,IAAI,kCAAmB,MAAM,sBAAsB;;cAE1F,uCAAuC,IAC7C,wCAA2B,CAAC,SAChC,OAAO,sBAAsB;kBACf,uCAAuC;wCACjB,uCAAuC,IAAI,kCAAmB;qDACjD,sBAAsB;sBACrD,uCAAuC,IAAI,kCAAmB;;;;UAI1E,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC;;2CAEnB,aAAa,IAAI,uCAAuC,KAAK,uCAAuC;;cAEjI,uCAAuC;cACvC,YAAY,IAAI,uCAAuC;;;;iCAIpC,yBAAyB;;;UAGhD,kBAAkB,IAAI,sCAA0B,KAAK,yBAAyB;;KAEnF,CAAC;AACN,CAAC;AAED,SAAS,4BAA4B,CAAC,kBAAmD;IACrF,OAAO,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE;QAC9B,OAAO,GAAG,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,qBAAqB,CAAC,aAA4B,EAAE,aAA4B;IACrF,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;IACjE,IAAI,kBAAkB,CAAC,wCAA2B,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE;QAC7E,OAAO,EAAE,CAAC;KACb;IAED,IAAI,QAAQ,KAAK,qBAAQ,CAAC,eAAe,EAAE;QACvC,MAAM,mBAAmB,GAAG,aAAa,CAAC,oBAAoB,CAC1D,QAAQ,EACR,qBAAqB,CACxB,CAAC;QACF,MAAM,SAAS,GAAG,aAAa,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE5E,OAAO,IAAA,kBAAQ,EAAA;kBACL,wCAA2B,CAAC,aAAa;yCAClB,uBAAuB,MAAM,wCAA2B,CAAC,QAAQ;8CAC5D,mBAAmB;kBAC/C,SAAS,IAAI,uCAAuC,0CAA0C,wCAA2B,CAAC,aAAa;;SAEhJ,CAAC;KACL;IAED,OAAO,IAAA,kBAAQ,EAAA;cACL,wCAA2B,CAAC,aAAa;cACzC,uCAAuC,IAAI,wCAA2B,CAAC,aAAa,OAAO,uBAAuB,MAAM,wCAA2B,CAAC,QAAQ;;KAErK,CAAC;AACN,CAAC"}