@luvio/compiler 0.63.3 → 0.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen/adapter/adapter-browser-factory.js +2 -2
- package/dist/codegen/adapter/adapter-network-cache-policy.js +10 -2
- package/dist/codegen/adapter/adapter-network-cache-policy.js.map +1 -1
- package/dist/codegen/adapter/adapter-network.d.ts +2 -1
- package/dist/codegen/adapter/adapter-network.js +23 -6
- package/dist/codegen/adapter/adapter-network.js.map +1 -1
- package/dist/codegen/adapter/adapter-prepare-request.d.ts +6 -0
- package/dist/codegen/adapter/adapter-prepare-request.js +215 -0
- package/dist/codegen/adapter/adapter-prepare-request.js.map +1 -0
- package/dist/codegen/adapter/constants.d.ts +3 -1
- package/dist/codegen/adapter/constants.js +5 -3
- package/dist/codegen/adapter/constants.js.map +1 -1
- package/dist/codegen/adapter/index.js +3 -1
- package/dist/codegen/adapter/index.js.map +1 -1
- package/dist/codegen/adapter-tests/expected-responses.js +7 -10
- package/dist/codegen/adapter-tests/expected-responses.js.map +1 -1
- package/dist/codegen/pagination-utils/cursor-based.js +8 -6
- package/dist/codegen/pagination-utils/cursor-based.js.map +1 -1
- package/dist/codegen/pagination-utils/synthetic-cursor.d.ts +1 -0
- package/dist/codegen/pagination-utils/synthetic-cursor.js +298 -0
- package/dist/codegen/pagination-utils/synthetic-cursor.js.map +1 -0
- package/dist/codegen/resource/composite/select-child-resource-params.js +5 -12
- package/dist/codegen/resource/composite/select-child-resource-params.js.map +1 -1
- package/dist/codegen/resource/create-resource-request.js +3 -1
- package/dist/codegen/resource/create-resource-request.js.map +1 -1
- package/dist/codegen/shape/shape-ingest-paginated.js +89 -7
- package/dist/codegen/shape/shape-ingest-paginated.js.map +1 -1
- package/dist/codegen/shape/shape-select-paginated.js +87 -4
- package/dist/codegen/shape/shape-select-paginated.js.map +1 -1
- package/dist/generate.js +9 -0
- package/dist/generate.js.map +1 -1
- package/dist/intermediate/mock-payload.d.ts +1 -1
- package/dist/intermediate/resource.d.ts +2 -0
- package/dist/intermediate/resource.js.map +1 -1
- package/dist/parser/main.js +11 -3
- package/dist/parser/main.js.map +1 -1
- package/dist/utils/imports.js +1 -2
- package/dist/utils/imports.js.map +1 -1
- package/package.json +18 -5
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.generatePaginationUtils = exports.TOKEN_MISSING_TYPE_IDENTIFIER = exports.NULLABLE_TOKEN_TYPE_IDENTIFIER = exports.LIST_END_IDENTIFIER = void 0;
|
|
7
7
|
const deindent_1 = __importDefault(require("../../utils/deindent"));
|
|
8
|
+
const imports_1 = require("../../utils/imports");
|
|
8
9
|
const constants_1 = require("./constants");
|
|
9
10
|
exports.LIST_END_IDENTIFIER = '__END__';
|
|
10
11
|
exports.NULLABLE_TOKEN_TYPE_IDENTIFIER = 'NullableToken';
|
|
@@ -12,7 +13,7 @@ exports.TOKEN_MISSING_TYPE_IDENTIFIER = 'TokenMissing';
|
|
|
12
13
|
const TYPES = (0, deindent_1.default) `
|
|
13
14
|
export type ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER} = Record<string, number | undefined>;
|
|
14
15
|
export type ${exports.NULLABLE_TOKEN_TYPE_IDENTIFIER} = string | null;
|
|
15
|
-
type ${exports.TOKEN_MISSING_TYPE_IDENTIFIER} = undefined;
|
|
16
|
+
export type ${exports.TOKEN_MISSING_TYPE_IDENTIFIER} = undefined;
|
|
16
17
|
|
|
17
18
|
export interface ${constants_1.PAGINATION_PARAMS_INTERFACE_IDENTIFIER} {
|
|
18
19
|
token: string | undefined;
|
|
@@ -89,7 +90,7 @@ const PREVIOUS_TOKEN = (0, deindent_1.default) `
|
|
|
89
90
|
return null;
|
|
90
91
|
}
|
|
91
92
|
|
|
92
|
-
const listEndOffset =
|
|
93
|
+
const listEndOffset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.${exports.LIST_END_IDENTIFIER};
|
|
93
94
|
if (listEndOffset !== undefined && previousPageOffset >= listEndOffset) {
|
|
94
95
|
return;
|
|
95
96
|
}
|
|
@@ -143,18 +144,18 @@ const MERGE_METADATA = (0, deindent_1.default) `
|
|
|
143
144
|
`;
|
|
144
145
|
const GET_PAGE_TOKEN_AND_OFFSET = (0, deindent_1.default) `
|
|
145
146
|
export function getPageTokenAndOffset(
|
|
146
|
-
|
|
147
|
+
${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER},
|
|
147
148
|
token: string | undefined,
|
|
148
149
|
): [string, number] | undefined {
|
|
149
150
|
if (token === undefined) {
|
|
150
|
-
const startToken = tokenFromOffset(
|
|
151
|
+
const startToken = tokenFromOffset(${constants_1.PAGINATION_METADATA_IDENTIFIER}, 0);
|
|
151
152
|
if (startToken === undefined) {
|
|
152
153
|
return;
|
|
153
154
|
}
|
|
154
155
|
|
|
155
156
|
return [startToken, 0];
|
|
156
157
|
}
|
|
157
|
-
const startOffset = offsetFromToken(
|
|
158
|
+
const startOffset = offsetFromToken(${constants_1.PAGINATION_METADATA_IDENTIFIER}, token);
|
|
158
159
|
if (startOffset < 0) {
|
|
159
160
|
return;
|
|
160
161
|
}
|
|
@@ -162,7 +163,7 @@ const GET_PAGE_TOKEN_AND_OFFSET = (0, deindent_1.default) `
|
|
|
162
163
|
}
|
|
163
164
|
`;
|
|
164
165
|
function generatePaginationUtils() {
|
|
165
|
-
|
|
166
|
+
const src = [
|
|
166
167
|
TYPES,
|
|
167
168
|
GET_PAGE_TOKEN_AND_OFFSET,
|
|
168
169
|
MERGE_METADATA,
|
|
@@ -173,6 +174,7 @@ function generatePaginationUtils() {
|
|
|
173
174
|
TOKEN_FROM_OFFSET,
|
|
174
175
|
TOKEN_FOR_AT_MOST,
|
|
175
176
|
].join('\n\n');
|
|
177
|
+
return (0, imports_1.resolveImports)(src);
|
|
176
178
|
}
|
|
177
179
|
exports.generatePaginationUtils = generatePaginationUtils;
|
|
178
180
|
//# sourceMappingURL=cursor-based.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-based.js","sourceRoot":"","sources":["../../../src/codegen/pagination-utils/cursor-based.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;
|
|
1
|
+
{"version":3,"file":"cursor-based.js","sourceRoot":"","sources":["../../../src/codegen/pagination-utils/cursor-based.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;AAC5C,iDAAqD;AACrD,2CAKqB;AAER,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,8BAA8B,GAAG,eAAe,CAAC;AACjD,QAAA,6BAA6B,GAAG,cAAc,CAAC;AAE5D,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAA;kBACJ,+CAAmC;kBACnC,sCAA8B;kBAC9B,qCAA6B;;uBAExB,kDAAsC;;;;;uBAKtC,oCAAwB;;;;;CAK9C,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAA;sCACI,0CAA8B,KAAK,+CAAmC;;;;;yBAKnF,0CAA8B;;;CAGtD,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAA;sCACI,0CAA8B,KAAK,+CAAmC,+BAA+B,qCAA6B;qCACnI,0CAA8B;;;;kBAIjD,0CAA8B;6BACnB,2BAAmB;;;;;;CAM/C,CAAC;AAEF,MAAM,eAAe,GAAG,IAAA,kBAAQ,EAAA;;UAEtB,0CAA8B,KAAK,+CAAmC;;;;gCAIhD,0CAA8B,IAAI,2BAAmB;;;;;;;;CAQpF,CAAC;AAEF,MAAM,UAAU,GAAG,IAAA,kBAAQ,EAAA;;UAEjB,0CAA8B,KAAK,+CAAmC;;SAEvE,sCAA8B,MAAM,qCAA6B;gCAC1C,0CAA8B,IAAI,2BAAmB;;;qCAGhD,0CAA8B;;;;;CAKlE,CAAC;AAEF,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAA;;UAErB,0CAA8B,KAAK,+CAAmC;;;SAGvE,sCAA8B,MAAM,qCAA6B;;;;;;gCAM1C,0CAA8B,IAAI,2BAAmB;;;;;iCAKpD,0CAA8B;;CAE9D,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAA;;UAExB,0CAA8B,KAAK,+CAAmC;;;qCAG3C,0CAA8B;;;;;;6BAMtC,0CAA8B;6BAC9B,2BAAmB;;;;;;;;;;;;;;;;CAgB/C,CAAC;AAEF,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAA;;4BAEH,+CAAmC;4BACnC,+CAAmC;SACtD,+CAAmC;;;;;;;;;;CAU3C,CAAC;AAEF,MAAM,yBAAyB,GAAG,IAAA,kBAAQ,EAAA;;UAEhC,0CAA8B,KAAK,+CAAmC;;;;iDAI/B,0CAA8B;;;;;;;8CAOjC,0CAA8B;;;;;;CAM3E,CAAC;AAEF,SAAgB,uBAAuB;IACnC,MAAM,GAAG,GAAG;QACR,KAAK;QACL,yBAAyB;QACzB,cAAc;QACd,UAAU;QACV,iBAAiB;QACjB,eAAe;QACf,cAAc;QACd,iBAAiB;QACjB,iBAAiB;KACpB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAdD,0DAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function generatePaginationUtils(): string;
|
|
@@ -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
|
|
68
|
-
|
|
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:
|
|
78
|
-
value:
|
|
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":";;;;;;AAAA,uEAA+C;AAC/C,uDAIiC;AACjC,sDAAwE;AAKxE,wDAA+D;AAC/D,gDAAiE;AACjE,4CAA0D;AAC1D,8CAAsD;AAEtD,yEAKoC;AAEvB,QAAA,uCAAuC,GAAG,2BAA2B,CAAC;AAEnF,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAClD,MAAM,oBAAoB,GAAG,UAAU,CAAC;AACxC,MAAM,sCAAsC,GAAG,gBAAgB,CAAC;AAChE,MAAM,gCAAgC,GAAG,eAAe,CAAC;AACzD,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,MAAM,+BAA+B,GAAG,oBAAoB,CAAC;AAC7D,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAClD,MAAM,
|
|
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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"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.generateCreateResourceRequest = exports.CREATE_RESOURCE_REQUEST_IDENTIFIER = void 0;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const resource_1 = require("../../intermediate/resource");
|
|
9
|
+
const constants_1 = require("../adapter/constants");
|
|
9
10
|
const utils_1 = require("../../intermediate/utils");
|
|
10
11
|
const deindent_1 = __importDefault(require("../../utils/deindent"));
|
|
11
12
|
const format_1 = require("../../utils/format");
|
|
@@ -117,7 +118,7 @@ function generateCreateResourceRequest(importContext, resource, compilerConfig,
|
|
|
117
118
|
const fulfillProperty = fulfillIdentifier === '' ? '' : `fulfill: ${fulfillIdentifier},`;
|
|
118
119
|
const resourceRequestConfig = importContext.importRamlArtifact(id, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
119
120
|
return (0, deindent_1.default) `
|
|
120
|
-
export function ${exports.CREATE_RESOURCE_REQUEST_IDENTIFIER}(${CONFIG_IDENTIFIER}: ${resourceRequestConfig}) {
|
|
121
|
+
export function ${exports.CREATE_RESOURCE_REQUEST_IDENTIFIER}(${CONFIG_IDENTIFIER}: ${resourceRequestConfig}): ${constants_1.ADAPTER_RESOURCE_REQUEST_IDENTIFIER} {
|
|
121
122
|
${headers}
|
|
122
123
|
|
|
123
124
|
return {
|
|
@@ -128,6 +129,7 @@ function generateCreateResourceRequest(importContext, resource, compilerConfig,
|
|
|
128
129
|
urlParams: ${urlParams},
|
|
129
130
|
queryParams: ${queryParams},
|
|
130
131
|
headers,
|
|
132
|
+
priority: 'normal',
|
|
131
133
|
${fulfillProperty}
|
|
132
134
|
}
|
|
133
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-resource-request.js","sourceRoot":"","sources":["../../../src/codegen/resource/create-resource-request.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"create-resource-request.js","sourceRoot":"","sources":["../../../src/codegen/resource/create-resource-request.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,
|
|
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(
|
|
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(
|
|
111
|
-
|
|
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
|
-
|
|
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":";;;;;;AAAA,oEAA4C;AAE5C,
|
|
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"}
|