@luvio/compiler 0.128.0 → 0.131.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 (38) hide show
  1. package/dist/codegen/adapter/adapter-key-builder.d.ts +1 -0
  2. package/dist/codegen/adapter/adapter-key-builder.js +8 -1
  3. package/dist/codegen/adapter/adapter-key-builder.js.map +1 -1
  4. package/dist/codegen/adapter/constants.d.ts +2 -0
  5. package/dist/codegen/adapter/constants.js +3 -1
  6. package/dist/codegen/adapter/constants.js.map +1 -1
  7. package/dist/codegen/adapter-utils.js +2 -0
  8. package/dist/codegen/adapter-utils.js.map +1 -1
  9. package/dist/codegen/graphql/type/constants.d.ts +4 -0
  10. package/dist/codegen/graphql/type/constants.js +7 -2
  11. package/dist/codegen/graphql/type/constants.js.map +1 -1
  12. package/dist/codegen/graphql/type/generateTypeUtil.js +207 -1
  13. package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
  14. package/dist/codegen/graphql/type/index.js +1 -1
  15. package/dist/codegen/graphql/type/index.js.map +1 -1
  16. package/dist/codegen/graphql/type/ingest.d.ts +1 -2
  17. package/dist/codegen/graphql/type/ingest.js +45 -100
  18. package/dist/codegen/graphql/type/ingest.js.map +1 -1
  19. package/dist/codegen/graphql/type/key.js +16 -0
  20. package/dist/codegen/graphql/type/key.js.map +1 -1
  21. package/dist/codegen/resource/graphql/key-builder.d.ts +1 -0
  22. package/dist/codegen/resource/graphql/key-builder.js +22 -1
  23. package/dist/codegen/resource/graphql/key-builder.js.map +1 -1
  24. package/dist/codegen/resource/key-builder.d.ts +2 -0
  25. package/dist/codegen/resource/key-builder.js +38 -1
  26. package/dist/codegen/resource/key-builder.js.map +1 -1
  27. package/dist/codegen/shape/graphql/key-builder.d.ts +1 -0
  28. package/dist/codegen/shape/graphql/key-builder.js +10 -1
  29. package/dist/codegen/shape/graphql/key-builder.js.map +1 -1
  30. package/dist/codegen/shape/shape-key-interface.js +8 -1
  31. package/dist/codegen/shape/shape-key-interface.js.map +1 -1
  32. package/dist/codegen/shape/shape-keybuilder.d.ts +3 -0
  33. package/dist/codegen/shape/shape-keybuilder.js +58 -11
  34. package/dist/codegen/shape/shape-keybuilder.js.map +1 -1
  35. package/dist/codegen/shared/constants.d.ts +4 -0
  36. package/dist/codegen/shared/constants.js +5 -1
  37. package/dist/codegen/shared/constants.js.map +1 -1
  38. package/package.json +4 -4
@@ -17,13 +17,6 @@ const shape_ingest_paginated_1 = require("../../shape/shape-ingest-paginated");
17
17
  const constants_6 = require("../../shape/constants");
18
18
  const version_1 = require("./version");
19
19
  const INGEST_PAGINATED_METDATA = 'ingestPaginationMetadata';
20
- function generateObjectTypeIngest(importContext, graphqlTypeName, isCursorConnectionType) {
21
- const ingestStatements = [
22
- (0, utils_1.getRequestedFieldsStatement)(importContext, graphqlTypeName),
23
- iterateThroughResponseKeys(importContext, graphqlTypeName, isCursorConnectionType),
24
- ];
25
- return ingestStatements.join('\n');
26
- }
27
20
  function generatePaginationFunction(importContext, astNodeParamType) {
28
21
  const paginationMetadataType = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_3.PAGINATION_METADATA_TYPE_IDENTIFIER);
29
22
  const graphqlStateInterface = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER);
@@ -103,74 +96,12 @@ function generatePaginationFunction(importContext, astNodeParamType) {
103
96
  }
104
97
  `;
105
98
  }
106
- function iterateThroughResponseKeys(importContext, graphqlTypeName, isCursorConnectionType) {
107
- const getRequestedFieldImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
108
- const getFieldKeyImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
109
- const getFieldTypeImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_2.GET_FIELD_TYPE_IDENTIFIER);
110
- const deepFreezeImport = importContext.importTypeUtil('deepFreeze');
111
- const isMappedFieldImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_2.IS_MAPPED_FIELD_IDENTIFIER);
112
- const getArrayOffsetForPage = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_ARRAY_OFFSET_FOR_PAGE);
113
- const hasGraphQLPaginationFields = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.HAS_GRAPHQL_PAGINATION_FIELDS_IDENTIFIER);
114
- let arrayItemFullPathKeyAdditionalParam = '', nonArrayFullPathKeyAdditionalParam = '', paginationOffsetCode = '';
115
- if (isCursorConnectionType) {
116
- arrayItemFullPathKeyAdditionalParam = ` arrayFullPathKey + '__' + (i + paginationOffset),`;
117
- nonArrayFullPathKeyAdditionalParam = ` key + '__' + ${constants_2.FIELD_KEY_IDENTIFIER},`;
118
- paginationOffsetCode = (0, deindent_1.default) `
119
- let paginationOffset = 0;
120
- if (${hasGraphQLPaginationFields}(data)) {
121
- paginationOffset = ${getArrayOffsetForPage}(state, astNode, key);
122
- }
123
- `;
124
- }
125
- return (0, deindent_1.default) `
126
- for(const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} of Object.keys(data)){
127
- const ${constants_2.FIELD_DATA_IDENTIFIER} = data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}];
128
- const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${constants_2.REQUESTED_FIELDS_IDENTIFIER});
129
- if(${constants_2.REQUESTED_FIELD_IDENTIFIER} === undefined) {
130
- continue; // TODO: (W-11132802) We got a field back we didn't ask for. Call handleUnknownField.
131
- }
132
- if(${isMappedFieldImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER})) {
133
- continue; // Skips scalar fields that are mapped to RAML.
134
- }
135
- const ${constants_2.FIELD_TYPE_IDENTIFIER} = ${getFieldTypeImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER});
136
- const ${constants_2.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}, state.variables, ${constants_2.FIELD_TYPE_IDENTIFIER});
137
- if(fieldType === undefined) {
138
- console.warn(\`Unknown Field: \${${constants_2.REQUESTED_FIELD_IDENTIFIER}}. This field or nested fields cannot participate in normalization\`);
139
- ${deepFreezeImport}(${constants_2.FIELD_DATA_IDENTIFIER})
140
- ${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
141
- continue;
142
- }
143
- ${isCursorConnectionType
144
- ? `if (${constants_2.FIELD_KEY_IDENTIFIER} === '${constants_2.PAGE_INFO_IDENTIFIER}') continue; // pageInfo is always synthesized from pagination metadata`
145
- : ''}
146
- if (${constants_2.FIELD_DATA_IDENTIFIER} === null) {
147
- ${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
148
- continue; // Don't delegate null to type ingest.
149
- }
150
- if(${constants_2.FIELD_TYPE_IDENTIFIER}.isArray && ${constants_2.FIELD_DATA_IDENTIFIER}.length !== undefined) {
151
- const arrayLength = ${constants_2.FIELD_DATA_IDENTIFIER}.length;
152
- const arraySink: any[] = new Array(arrayLength);
153
- ${paginationOffsetCode}
154
- for(let i = 0, len = arrayLength; i < len; i += 1) {
155
- const arrayFullPathKey = key + '__' + ${constants_2.FIELD_KEY_IDENTIFIER};
156
- ${constants_2.INGEST_FIELD_BY_TYPE_IDENTIFIER}(${constants_2.FIELD_TYPE_IDENTIFIER}.typename, arrayFullPathKey,${arrayItemFullPathKeyAdditionalParam} ${constants_2.REQUESTED_FIELD_IDENTIFIER}, arraySink, i, ${constants_2.FIELD_DATA_IDENTIFIER}[i], state);
157
- }
158
- ${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = arraySink;
159
- } else {
160
- ${constants_2.INGEST_FIELD_BY_TYPE_IDENTIFIER}(${constants_2.FIELD_TYPE_IDENTIFIER}.typename, key,${nonArrayFullPathKeyAdditionalParam} ${constants_2.REQUESTED_FIELD_IDENTIFIER}, ${constants_2.SINK_IDENTIFIER}, ${constants_2.FIELD_KEY_IDENTIFIER}, ${constants_2.FIELD_DATA_IDENTIFIER}, state);
161
- }
162
- }
163
- `;
164
- }
165
- function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metadata, modelInfo) {
99
+ function generateIngest(graphqlDsl, graphqlTypeName, importContext, _metadata, modelInfo) {
166
100
  var _a;
167
101
  const { schema, typeNameToExtensions, cursorConnectionTypes } = graphqlDsl;
168
- const { importGraphQLArtifact, importAdapterUtil, importTypeUtil } = importContext;
102
+ const { importGraphQLArtifact, importAdapterUtil } = importContext;
169
103
  const createLink = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.CREATE_LINK_IDENTIFIER);
170
104
  const graphqlStateInterface = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER);
171
- const equalsObjectImport = importTypeUtil('equalsObject');
172
- const hasOwnPropertyImport = importAdapterUtil('ObjectPrototypeHasOwnProperty');
173
- const STABLE_JSON_STRINGIFY = importAdapterUtil('stableJSONStringify');
174
105
  const keyPrefix = importAdapterUtil('keyPrefix');
175
106
  const ttl = (0, utils_1.isTypeExtensionDefined)(typeNameToExtensions, graphqlTypeName, 'ttl')
176
107
  ? 'TTL'
@@ -189,43 +120,57 @@ function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metada
189
120
  newData["${constants_2.LINK_IDENTIFIER}"] = ${ingestMappedDataImport}(astNode, state);`;
190
121
  }
191
122
  }
123
+ const isFragmentApplicableImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_2.IS_FRAGMENT_APPLICABLE_IDENTIFIER);
124
+ const isMappedFieldImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_2.IS_MAPPED_FIELD_IDENTIFIER);
192
125
  const isCursorConnectionType = cursorConnectionTypes.includes(graphqlTypeName);
126
+ const ingestMethod = isCursorConnectionType
127
+ ? importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.INGEST_CURSOR_CONNECTION_TYPE)
128
+ : importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.INGEST_NON_CURSOR_CONNECTION_TYPE);
129
+ let hasGraphQLPaginationFields = 'undefined';
130
+ if (isCursorConnectionType) {
131
+ hasGraphQLPaginationFields = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.HAS_GRAPHQL_PAGINATION_FIELDS_IDENTIFIER);
132
+ }
133
+ const getFieldTypeImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_2.GET_FIELD_TYPE_IDENTIFIER);
193
134
  return (0, deindent_1.default) `
194
135
  ${isCursorConnectionType ? generatePaginationFunction(importContext, astNodeParamType) : ''}
195
136
 
196
137
  export function ingest(astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
197
- const { path, data, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
138
+ const { path, data, ${constants_1.LUVIO_IDENTIFIER} } = state;
198
139
  const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}, path, data);
199
- const ${constants_2.SINK_IDENTIFIER}: Record<string,any> = {};
200
140
 
201
- // ingest field data
202
- ${generateObjectTypeIngest(importContext, graphqlTypeName, isCursorConnectionType)}
203
-
204
- // merge existing cache data and new request response data
205
- const newData: ${normalizedGraphQLTypeImport} = {data: ${constants_2.SINK_IDENTIFIER}};
206
- ${ramlIngestBlock}
207
- const existingData = ${constants_1.LUVIO_STORE_IDENTIFIER}.readEntry<${normalizedGraphQLTypeImport}>(key);
208
- ${isCursorConnectionType
209
- ? `${INGEST_PAGINATED_METDATA}(astNode, state, key, ${constants_2.SINK_IDENTIFIER} as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, existingData as ${normalizedGraphQLTypeImport});`
141
+ return ${ingestMethod}<
142
+ ${isCursorConnectionType ? '' : `${astNodeParamType},`}
143
+ ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>
144
+ >(
145
+ astNode,
146
+ state,
147
+ {
148
+ key,
149
+ isFragmentApplicable: ${isFragmentApplicableImport},
150
+ isMappedFieldImport: ${isMappedFieldImport},
151
+ getFieldType: ${getFieldTypeImport},
152
+ ${constants_2.INGEST_FIELD_BY_TYPE_IDENTIFIER},
153
+ ${isCursorConnectionType
154
+ ? `hasGraphQLPaginationFields: ${hasGraphQLPaginationFields},`
210
155
  : ''}
211
- if (existingData !== undefined && existingData !== null && ${hasOwnPropertyImport}.call(existingData, "__type") === false) {
212
- const mergedData = mergeData(existingData as ${normalizedGraphQLTypeImport}, newData as ${normalizedGraphQLTypeImport});
213
- if(!${equalsObjectImport}(existingData as ${normalizedGraphQLTypeImport}, mergedData as ${normalizedGraphQLTypeImport}, (propA, propB) => ${STABLE_JSON_STRINGIFY}(propA) === ${STABLE_JSON_STRINGIFY}(propB))) { // naive impl
214
- ${constants_1.LUVIO_IDENTIFIER}.storePublish(key, mergedData);
215
- }
216
- } else {
217
- ${constants_1.LUVIO_IDENTIFIER}.storePublish(key, newData);
218
- }
219
-
220
- const storeMetadataParams = {
221
- ttl: ${ttl},
222
- namespace: ${keyPrefix},
223
- representationName: "${graphqlTypeName}",
224
- version: ${version_1.SHAPE_VERSION_IDENTIFIER}
225
- };
226
- ${constants_1.LUVIO_IDENTIFIER}.publishStoreMetadata(key, storeMetadataParams);
227
-
228
- return ${createLink}(key);
156
+ ${isCursorConnectionType
157
+ ? `ingestPaginatedMetadata: ${INGEST_PAGINATED_METDATA},`
158
+ : ''}
159
+ ${ramlIngestBlock.length > 0
160
+ ? `ramlIngestBlock(newData: ${normalizedGraphQLTypeImport}) {
161
+ ${ramlIngestBlock}
162
+ },`
163
+ : ''}
164
+ createLink: ${createLink},
165
+ mergeData,
166
+ storeMetadataParams: {
167
+ ttl: ${ttl},
168
+ namespace: ${keyPrefix},
169
+ representationName: "${graphqlTypeName}",
170
+ version: ${version_1.SHAPE_VERSION_IDENTIFIER}
171
+ },
172
+ }
173
+ );
229
174
  }
230
175
  `;
231
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,11 @@ function generateKey(def, importContext, schemaName) {
32
32
  export function ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_3.LUVIO_IDENTIFIER}: ${constants_3.LUVIO_IMPORT}, path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER}, data: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}) {
33
33
  return path.fullPath;
34
34
  }
35
+
36
+ // W-12356727: To be switched over once path.fullPath is a structured key.
37
+ // export function ${constants_2.STRUCTURED_KEY_BUILDER_IDENTIFIER}(${constants_3.LUVIO_IDENTIFIER}: ${constants_3.LUVIO_IMPORT}, path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER}, data: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}): ${constants_3.LUVIO_NORMALIZED_KEY_METADATA_IMPORT} {
38
+ // return path.fullPath;
39
+ // }
35
40
  `;
36
41
  }
37
42
  const { name } = idNode;
@@ -40,6 +45,17 @@ function generateKey(def, importContext, schemaName) {
40
45
  export function ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_3.LUVIO_IDENTIFIER}: ${constants_3.LUVIO_IMPORT}, path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER}, data: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}) {
41
46
  return ${KEY_PREFIX} + '::${schemaName}::' + name + '::' + data.${name.value};
42
47
  }
48
+
49
+ export function ${constants_2.STRUCTURED_KEY_BUILDER_IDENTIFIER}(${constants_3.LUVIO_IDENTIFIER}: ${constants_3.LUVIO_IMPORT}, path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER}, data: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}): ${constants_3.LUVIO_NORMALIZED_KEY_METADATA_IMPORT} {
50
+ return ${constants_3.LUVIO_IDENTIFIER}.${constants_3.LUVIO_BUILD_STRUCTURED_KEY_METHOD_IDENTIFIER}(
51
+ ${KEY_PREFIX},
52
+ name,
53
+ {
54
+ ${name.value}: data.${name.value},
55
+ schemaName: name,
56
+ }
57
+ );
58
+ }
43
59
  `;
44
60
  }
45
61
  exports.generateKey = generateKey;
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/key.ts"],"names":[],"mappings":";;;;;;AAMA,uEAA+C;AAE/C,uDAAmF;AACnF,2CAAqD;AACrD,2CAA2D;AAC3D,sDAAwE;AAExE,SAAgB,UAAU,CACtB,GAAqF;IAErF,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE;QACpC,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACvB,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,SAAS,CAAC;KACpB;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,OAAO,CACH,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW;YACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CACtC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAlBD,gCAkBC;AAED,SAAgB,WAAW,CACvB,GAA2D,EAC3D,aAA4B,EAC5B,UAAkB;IAElB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,IAAA,kBAAQ,EAAA;8BACO,kCAAsB,IAAI,4BAAgB,KAAK,wBAAY,WAAW,oDAAwC,WAAW,wCAA4B;;;SAG1K,CAAC;KACL;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAChE,OAAO,IAAA,kBAAQ,EAAA;0BACO,kCAAsB,IAAI,4BAAgB,KAAK,wBAAY,WAAW,oDAAwC,WAAW,wCAA4B;qBAC1J,UAAU,SAAS,UAAU,4BAA4B,IAAI,CAAC,KAAK;;KAEnF,CAAC;AACN,CAAC;AAtBD,kCAsBC"}
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/key.ts"],"names":[],"mappings":";;;;;;AAMA,uEAA+C;AAE/C,uDAAmF;AACnF,2CAAwF;AACxF,2CAA2D;AAC3D,sDAKgC;AAEhC,SAAgB,UAAU,CACtB,GAAqF;IAErF,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE;QACpC,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACvB,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,SAAS,CAAC;KACpB;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,OAAO,CACH,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW;YACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CACtC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAlBD,gCAkBC;AAED,SAAgB,WAAW,CACvB,GAA2D,EAC3D,aAA4B,EAC5B,UAAkB;IAElB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,IAAA,kBAAQ,EAAA;8BACO,kCAAsB,IAAI,4BAAgB,KAAK,wBAAY,WAAW,oDAAwC,WAAW,wCAA4B;;;;;iCAKlJ,6CAAiC,IAAI,4BAAgB,KAAK,wBAAY,WAAW,oDAAwC,WAAW,wCAA4B,MAAM,gDAAoC;;;SAGlO,CAAC;KACL;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAChE,OAAO,IAAA,kBAAQ,EAAA;0BACO,kCAAsB,IAAI,4BAAgB,KAAK,wBAAY,WAAW,oDAAwC,WAAW,wCAA4B;qBAC1J,UAAU,SAAS,UAAU,4BAA4B,IAAI,CAAC,KAAK;;;0BAG9D,6CAAiC,IAAI,4BAAgB,KAAK,wBAAY,WAAW,oDAAwC,WAAW,wCAA4B,MAAM,gDAAoC;qBAC/M,4BAAgB,IAAI,wDAA4C;kBACnE,UAAU;;;sBAGN,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK;;;;;KAK/C,CAAC;AACN,CAAC;AAtCD,kCAsCC"}
@@ -2,3 +2,4 @@ import type { ImportContext } from '../../../utils/imports';
2
2
  import type { GraphQLResource } from '../../../intermediate/resource';
3
3
  export declare function generateGraphQLKeyBuilder(importContext: ImportContext, resource: GraphQLResource): string;
4
4
  export declare function generateGraphQLKey(importContext: ImportContext, returnShapeName: string): string;
5
+ export declare function generateGraphQLStructuredKey(importContext: ImportContext, returnShapeName: string): string;
@@ -3,23 +3,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateGraphQLKey = exports.generateGraphQLKeyBuilder = void 0;
6
+ exports.generateGraphQLStructuredKey = exports.generateGraphQLKey = exports.generateGraphQLKeyBuilder = void 0;
7
7
  const deindent_1 = __importDefault(require("../../../utils/deindent"));
8
8
  const resource_params_1 = require("./resource-params");
9
9
  const key_builder_1 = require("../key-builder");
10
10
  const constants_1 = require("../../shared/constants");
11
11
  function generateGraphQLKeyBuilder(importContext, resource) {
12
12
  let code;
13
+ let structuredKeyCode;
13
14
  const { id: resourceId, returnShape } = resource;
14
15
  const resourceRequestConfig = importContext.importRamlArtifact(resourceId, resource_params_1.RESOURCE_PARAMS_INTERFACE);
15
16
  code =
16
17
  returnShape !== undefined //TODO: cleanup in W-11069204
17
18
  ? generateGraphQLKey(importContext, returnShape === null || returnShape === void 0 ? void 0 : returnShape.name)
18
19
  : '';
20
+ structuredKeyCode =
21
+ returnShape !== undefined //TODO: cleanup in W-11069204
22
+ ? generateGraphQLStructuredKey(importContext, returnShape === null || returnShape === void 0 ? void 0 : returnShape.name)
23
+ : '';
19
24
  return (0, deindent_1.default) `
20
25
  export function ${key_builder_1.RESOURCE_KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}: ${constants_1.LUVIO_IMPORT}, params: ${resourceRequestConfig}): string {
21
26
  return ${code}
22
27
  }
28
+
29
+ export function ${key_builder_1.RESOURCE_STRUCTURED_KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}: ${constants_1.LUVIO_IMPORT}, params: ${resourceRequestConfig}): ${constants_1.LUVIO_NORMALIZED_KEY_METADATA_IMPORT} {
30
+ return ${structuredKeyCode}
31
+ }
23
32
  `;
24
33
  }
25
34
  exports.generateGraphQLKeyBuilder = generateGraphQLKeyBuilder;
@@ -32,4 +41,16 @@ function generateGraphQLKey(importContext, returnShapeName) {
32
41
  `;
33
42
  }
34
43
  exports.generateGraphQLKey = generateGraphQLKey;
44
+ function generateGraphQLStructuredKey(importContext, returnShapeName) {
45
+ const { importAdapterUtil } = importContext;
46
+ const KEY_PREFIX = importAdapterUtil('keyPrefix');
47
+ return (0, deindent_1.default) `
48
+ ${constants_1.LUVIO_IDENTIFIER}.${constants_1.LUVIO_BUILD_STRUCTURED_KEY_METHOD_IDENTIFIER}(
49
+ ${KEY_PREFIX},
50
+ '${returnShapeName}',
51
+ {}
52
+ )
53
+ `;
54
+ }
55
+ exports.generateGraphQLStructuredKey = generateGraphQLStructuredKey;
35
56
  //# sourceMappingURL=key-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-builder.js","sourceRoot":"","sources":["../../../../src/codegen/resource/graphql/key-builder.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAE/C,uDAA8D;AAC9D,gDAAiE;AAGjE,sDAIgC;AAEhC,SAAgB,yBAAyB,CACrC,aAA4B,EAC5B,QAAyB;IAEzB,IAAI,IAAI,CAAC;IACT,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAEjD,MAAM,qBAAqB,GAAG,aAAa,CAAC,kBAAkB,CAC1D,UAAU,EACV,2CAAyB,CAC5B,CAAC;IAEF,IAAI;QACA,WAAW,KAAK,SAAS,CAAC,6BAA6B;YACnD,CAAC,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;IAEb,OAAO,IAAA,kBAAQ,EAAA;8BACW,6CAA+B,IAAI,4BAAgB,KAAK,wBAAY,aAAa,qBAAqB;yBAC3G,IAAI;;SAEpB,CAAC;AACV,CAAC;AAtBD,8DAsBC;AAED,mEAAmE;AACnE,SAAgB,kBAAkB,CAAC,aAA4B,EAAE,eAAuB;IACpF,MAAM,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;IAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,IAAA,kBAAQ,EAAA;cACL,UAAU,OAAO,yCAA6B,QAAQ,eAAe;KAC9E,CAAC;AACN,CAAC;AAND,gDAMC"}
1
+ {"version":3,"file":"key-builder.js","sourceRoot":"","sources":["../../../../src/codegen/resource/graphql/key-builder.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAE/C,uDAA8D;AAC9D,gDAGwB;AAGxB,sDAMgC;AAEhC,SAAgB,yBAAyB,CACrC,aAA4B,EAC5B,QAAyB;IAEzB,IAAI,IAAI,CAAC;IACT,IAAI,iBAAiB,CAAC;IACtB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAEjD,MAAM,qBAAqB,GAAG,aAAa,CAAC,kBAAkB,CAC1D,UAAU,EACV,2CAAyB,CAC5B,CAAC;IAEF,IAAI;QACA,WAAW,KAAK,SAAS,CAAC,6BAA6B;YACnD,CAAC,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;IACb,iBAAiB;QACb,WAAW,KAAK,SAAS,CAAC,6BAA6B;YACnD,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC;YAChE,CAAC,CAAC,EAAE,CAAC;IAEb,OAAO,IAAA,kBAAQ,EAAA;8BACW,6CAA+B,IAAI,4BAAgB,KAAK,wBAAY,aAAa,qBAAqB;yBAC3G,IAAI;;;8BAGC,wDAA0C,IAAI,4BAAgB,KAAK,wBAAY,aAAa,qBAAqB,MAAM,gDAAoC;yBAChK,iBAAiB;;SAEjC,CAAC;AACV,CAAC;AA/BD,8DA+BC;AAED,mEAAmE;AACnE,SAAgB,kBAAkB,CAAC,aAA4B,EAAE,eAAuB;IACpF,MAAM,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;IAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,IAAA,kBAAQ,EAAA;cACL,UAAU,OAAO,yCAA6B,QAAQ,eAAe;KAC9E,CAAC;AACN,CAAC;AAND,gDAMC;AAED,SAAgB,4BAA4B,CACxC,aAA4B,EAC5B,eAAuB;IAEvB,MAAM,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;IAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,IAAA,kBAAQ,EAAA;UACT,4BAAgB,IAAI,wDAA4C;cAC5D,UAAU;eACT,eAAe;;;KAGzB,CAAC;AACN,CAAC;AAbD,oEAaC"}
@@ -2,5 +2,7 @@ import type { ModelInfo } from '../../intermediate/model-info';
2
2
  import type { Resource } from '../../intermediate/resource';
3
3
  import type { ImportContext } from '../../utils/imports';
4
4
  export declare const RESOURCE_KEY_BUILDER_IDENTIFIER = "keyBuilder";
5
+ export declare const RESOURCE_STRUCTURED_KEY_BUILDER_IDENTIFIER: string;
5
6
  export declare function generateKeyFallback(importContext: ImportContext, returnShapeName: string, resource: Resource): string;
7
+ export declare function generateStructuredKeyFallback(importContext: ImportContext, returnShapeName: string): string;
6
8
  export declare function generateKeyBuilder(importContext: ImportContext, resource: Resource, modelInfo: ModelInfo): string;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateKeyBuilder = exports.generateKeyFallback = exports.RESOURCE_KEY_BUILDER_IDENTIFIER = void 0;
6
+ exports.generateKeyBuilder = exports.generateStructuredKeyFallback = exports.generateKeyFallback = exports.RESOURCE_STRUCTURED_KEY_BUILDER_IDENTIFIER = exports.RESOURCE_KEY_BUILDER_IDENTIFIER = void 0;
7
7
  const resource_1 = require("../../intermediate/resource");
8
8
  const utils_1 = require("../../intermediate/utils");
9
9
  const deindent_1 = __importDefault(require("../../utils/deindent"));
@@ -13,6 +13,7 @@ const util_1 = require("../adapter/util");
13
13
  const constants_1 = require("../shared/constants");
14
14
  const RESOURCE_PARAMS_IDENTIFIER = 'params';
15
15
  exports.RESOURCE_KEY_BUILDER_IDENTIFIER = 'keyBuilder';
16
+ exports.RESOURCE_STRUCTURED_KEY_BUILDER_IDENTIFIER = exports.RESOURCE_KEY_BUILDER_IDENTIFIER + constants_1.LUVIO_STRUCTURED_KEY_SUFFIX;
16
17
  function generatePostBodyKeyParamNodeShape(shape, context) {
17
18
  const { importContext } = context;
18
19
  const { importAdapterUtil } = importContext;
@@ -104,6 +105,35 @@ function generateKey(importContext, returnShapeId, keys) {
104
105
  });
105
106
  `;
106
107
  }
108
+ function generateStructuredKeyFallback(importContext, returnShapeName) {
109
+ const { importAdapterUtil } = importContext;
110
+ const KEY_PREFIX = importAdapterUtil('keyPrefix');
111
+ const STABLE_JSON_STRINGIFY = importAdapterUtil('stableJSONStringify');
112
+ return `${constants_1.LUVIO_IDENTIFIER}.${constants_1.LUVIO_BUILD_STRUCTURED_KEY_METHOD_IDENTIFIER}(
113
+ ${KEY_PREFIX},
114
+ "${returnShapeName}",
115
+ JSON.parse(${STABLE_JSON_STRINGIFY}(params) as string)
116
+ );
117
+ `;
118
+ }
119
+ exports.generateStructuredKeyFallback = generateStructuredKeyFallback;
120
+ function generateStructuredKey(importContext, returnShapeId, keys) {
121
+ const structuredKeyBuilderIdentifier = importContext.importRamlArtifact(returnShapeId, exports.RESOURCE_KEY_BUILDER_IDENTIFIER + constants_1.LUVIO_STRUCTURED_KEY_SUFFIX);
122
+ const keyBuilderConfigProperties = Object.keys(keys).map((name) => {
123
+ const keyValue = keys[name];
124
+ // if the annotation is a string literal or null then print it as is
125
+ if ((keyValue.startsWith('"') && keyValue.endsWith('"')) || keyValue === 'null') {
126
+ return `${name}: ` + keyValue;
127
+ }
128
+ // else assume it is indexing into the config object
129
+ return `${name}: ${RESOURCE_PARAMS_IDENTIFIER}.${keys[name]}`;
130
+ });
131
+ return (0, deindent_1.default) `
132
+ ${structuredKeyBuilderIdentifier}(${constants_1.LUVIO_IDENTIFIER}, {
133
+ ${keyBuilderConfigProperties.join(',\n')}
134
+ });
135
+ `;
136
+ }
107
137
  function generateKeyBuilder(importContext, resource, modelInfo) {
108
138
  const { shapeKeysDefinition } = modelInfo;
109
139
  const { id: resourceId, method, returnShape } = resource;
@@ -123,10 +153,17 @@ function generateKeyBuilder(importContext, resource, modelInfo) {
123
153
  const code = resource.keys === undefined || shapeKeysDefinition[responseShapeId] === undefined
124
154
  ? generateKeyFallback(importContext, responseShapeName, resource)
125
155
  : generateKey(importContext, responseShapeId, resource.keys);
156
+ const structuredKeyCode = resource.keys === undefined || shapeKeysDefinition[responseShapeId] === undefined
157
+ ? generateStructuredKeyFallback(importContext, responseShapeName)
158
+ : generateStructuredKey(importContext, responseShapeId, resource.keys);
126
159
  return (0, deindent_1.default) `
127
160
  export function ${exports.RESOURCE_KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}: ${constants_1.LUVIO_IMPORT}, params: ${resourceRequestConfig}): string {
128
161
  return ${code}
129
162
  }
163
+
164
+ export function ${exports.RESOURCE_STRUCTURED_KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}: ${constants_1.LUVIO_IMPORT}, params: ${resourceRequestConfig}): ${constants_1.LUVIO_NORMALIZED_KEY_METADATA_IMPORT} {
165
+ return ${structuredKeyCode}
166
+ }
130
167
  `;
131
168
  }
132
169
  exports.generateKeyBuilder = generateKeyBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"key-builder.js","sourceRoot":"","sources":["../../../src/codegen/resource/key-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-builder.js","sourceRoot":"","sources":["../../../src/codegen/resource/key-builder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { CodegenShapeConfig } from '../index';
2
2
  export declare const SHAPE_KEY_BUILDER_IDENTIFIER = "keyBuilder";
3
3
  export declare const SHAPE_KEY_BUILDER_FROM_TYPE_IDENTIFIER = "keyBuilderFromType";
4
+ export declare const SHAPE_STRUCTURED_KEY_BUILDER_FROM_TYPE_IDENTIFIER: string;
4
5
  export declare const SHAPE_PAGINATION_KEY_BUILDER_IDENTIFIER = "paginationKeyBuilder";
5
6
  export declare function generateGraphQLInteropShapeKeyBuilder(shapeConfig: CodegenShapeConfig): string;
@@ -3,13 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateGraphQLInteropShapeKeyBuilder = exports.SHAPE_PAGINATION_KEY_BUILDER_IDENTIFIER = exports.SHAPE_KEY_BUILDER_FROM_TYPE_IDENTIFIER = exports.SHAPE_KEY_BUILDER_IDENTIFIER = void 0;
6
+ exports.generateGraphQLInteropShapeKeyBuilder = exports.SHAPE_PAGINATION_KEY_BUILDER_IDENTIFIER = exports.SHAPE_STRUCTURED_KEY_BUILDER_FROM_TYPE_IDENTIFIER = exports.SHAPE_KEY_BUILDER_FROM_TYPE_IDENTIFIER = exports.SHAPE_KEY_BUILDER_IDENTIFIER = void 0;
7
7
  const deindent_1 = __importDefault(require("../../../utils/deindent"));
8
8
  const constants_1 = require("../../shared/constants");
9
9
  const shape_representation_type_1 = require("../shape-representation-type");
10
10
  const KEY_BUILDER_FROM_TYPE_ARGUMENT_IDENTIFIER = 'object';
11
11
  exports.SHAPE_KEY_BUILDER_IDENTIFIER = 'keyBuilder';
12
12
  exports.SHAPE_KEY_BUILDER_FROM_TYPE_IDENTIFIER = 'keyBuilderFromType';
13
+ exports.SHAPE_STRUCTURED_KEY_BUILDER_FROM_TYPE_IDENTIFIER = exports.SHAPE_KEY_BUILDER_FROM_TYPE_IDENTIFIER + constants_1.LUVIO_STRUCTURED_KEY_SUFFIX;
13
14
  exports.SHAPE_PAGINATION_KEY_BUILDER_IDENTIFIER = 'paginationKeyBuilder';
14
15
  function generateGraphQLInteropShapeKeyBuilder(shapeConfig) {
15
16
  const { shape, importContext } = shapeConfig;
@@ -20,6 +21,14 @@ function generateGraphQLInteropShapeKeyBuilder(shapeConfig) {
20
21
  export function ${exports.SHAPE_KEY_BUILDER_FROM_TYPE_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}: ${constants_1.LUVIO_IMPORT}, ${KEY_BUILDER_FROM_TYPE_ARGUMENT_IDENTIFIER}: ${shapeName}): string {
21
22
  return ${KEY_PREFIX} + '${constants_1.CACHE_KEY_NAMESPACE_DELIMITER}' + ${shape_representation_type_1.REPRESENTATION_TYPE_IDENTIFIER};
22
23
  }
24
+
25
+ export function ${exports.SHAPE_STRUCTURED_KEY_BUILDER_FROM_TYPE_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}: ${constants_1.LUVIO_IMPORT}, ${KEY_BUILDER_FROM_TYPE_ARGUMENT_IDENTIFIER}: ${shapeName}): ${constants_1.LUVIO_NORMALIZED_KEY_METADATA_IMPORT} {
26
+ return ${constants_1.LUVIO_IDENTIFIER}.${constants_1.LUVIO_BUILD_STRUCTURED_KEY_METHOD_IDENTIFIER}(
27
+ ${KEY_PREFIX},
28
+ ${shape_representation_type_1.REPRESENTATION_TYPE_IDENTIFIER},
29
+ {},
30
+ );
31
+ }
23
32
  `;
24
33
  }
25
34
  exports.generateGraphQLInteropShapeKeyBuilder = generateGraphQLInteropShapeKeyBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"key-builder.js","sourceRoot":"","sources":["../../../../src/codegen/shape/graphql/key-builder.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,sDAIgC;AAEhC,4EAA8E;AAC9E,MAAM,yCAAyC,GAAG,QAAQ,CAAC;AAC9C,QAAA,4BAA4B,GAAG,YAAY,CAAC;AAC5C,QAAA,sCAAsC,GAAG,oBAAoB,CAAC;AAC9D,QAAA,uCAAuC,GAAG,sBAAsB,CAAC;AAE9E,SAAgB,qCAAqC,CAAC,WAA+B;IACjF,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAE7C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;IAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,IAAA,kBAAQ,EAAA;0BACO,8CAAsC,IAAI,4BAAgB,KAAK,wBAAY,KAAK,yCAAyC,KAAK,SAAS;qBAC5I,UAAU,OAAO,yCAA6B,OAAO,0DAA8B;;KAEnG,CAAC;AACN,CAAC;AAXD,sFAWC"}
1
+ {"version":3,"file":"key-builder.js","sourceRoot":"","sources":["../../../../src/codegen/shape/graphql/key-builder.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,sDAOgC;AAEhC,4EAA8E;AAC9E,MAAM,yCAAyC,GAAG,QAAQ,CAAC;AAC9C,QAAA,4BAA4B,GAAG,YAAY,CAAC;AAC5C,QAAA,sCAAsC,GAAG,oBAAoB,CAAC;AAC9D,QAAA,iDAAiD,GAC1D,8CAAsC,GAAG,uCAA2B,CAAC;AAC5D,QAAA,uCAAuC,GAAG,sBAAsB,CAAC;AAE9E,SAAgB,qCAAqC,CAAC,WAA+B;IACjF,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAE7C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;IAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,IAAA,kBAAQ,EAAA;0BACO,8CAAsC,IAAI,4BAAgB,KAAK,wBAAY,KAAK,yCAAyC,KAAK,SAAS;qBAC5I,UAAU,OAAO,yCAA6B,OAAO,0DAA8B;;;0BAG9E,yDAAiD,IAAI,4BAAgB,KAAK,wBAAY,KAAK,yCAAyC,KAAK,SAAS,MAAM,gDAAoC;qBACjM,4BAAgB,IAAI,wDAA4C;kBACnE,UAAU;kBACV,0DAA8B;;;;KAI3C,CAAC;AACN,CAAC;AAnBD,sFAmBC"}
@@ -7,6 +7,8 @@ exports.generateShapeKeyInterface = exports.SHAPE_KEY_PARAMS_INTERFACE_IDENTIFIE
7
7
  const inheritance_1 = require("../../intermediate/inheritance");
8
8
  const deindent_1 = __importDefault(require("../../utils/deindent"));
9
9
  const type_definition_1 = require("../shared/type-definition");
10
+ const constants_1 = require("../adapter/constants");
11
+ const constants_2 = require("../shared/constants");
10
12
  exports.SHAPE_KEY_PARAMS_INTERFACE_IDENTIFIER = 'KeyParams';
11
13
  function generateKeyConfigDefinition(importContext, shape, modelInfo) {
12
14
  const { shapeKeyConfigs } = modelInfo;
@@ -17,12 +19,17 @@ function generateShapeKeyInterface(shapeConfig) {
17
19
  const { shape, modelInfo, importContext } = shapeConfig;
18
20
  const { shapeKeysDefinition } = modelInfo;
19
21
  const shapeId = shape.id;
22
+ const shapeName = shape.name;
20
23
  const keys = shapeKeysDefinition[shapeId];
21
24
  if (keys === undefined || (0, inheritance_1.hasInheritance)(shape, modelInfo)) {
22
25
  return '';
23
26
  }
24
27
  return (0, deindent_1.default) `
25
- export interface ${exports.SHAPE_KEY_PARAMS_INTERFACE_IDENTIFIER} ${generateKeyConfigDefinition(importContext, shape, shapeConfig.modelInfo)}
28
+ export interface ${exports.SHAPE_KEY_PARAMS_INTERFACE_IDENTIFIER} extends ${constants_1.ADAPTER_CONFIG_SHAPE_INTERFACE_IDENTIFIER} ${generateKeyConfigDefinition(importContext, shape, shapeConfig.modelInfo)}
29
+
30
+ export type ${shapeName}${constants_2.LUVIO_NORMALIZED_KEY_METADATA_TYPE_IDENTIFIER} = ${exports.SHAPE_KEY_PARAMS_INTERFACE_IDENTIFIER} & ${constants_2.LUVIO_NORMALIZED_KEY_METADATA_IMPORT};
31
+
32
+ export type Partial${shapeName}${constants_2.LUVIO_NORMALIZED_KEY_METADATA_TYPE_IDENTIFIER} = Partial<${exports.SHAPE_KEY_PARAMS_INTERFACE_IDENTIFIER}> & ${constants_2.LUVIO_NORMALIZED_KEY_METADATA_IMPORT};
26
33
  `;
27
34
  }
28
35
  exports.generateShapeKeyInterface = generateShapeKeyInterface;
@@ -1 +1 @@
1
- {"version":3,"file":"shape-key-interface.js","sourceRoot":"","sources":["../../../src/codegen/shape/shape-key-interface.ts"],"names":[],"mappings":";;;;;;AACA,gEAAgE;AAEhE,oEAA4C;AAC5C,+DAAmE;AAItD,QAAA,qCAAqC,GAAG,WAAW,CAAC;AAEjE,SAAS,2BAA2B,CAChC,aAA4B,EAC5B,KAAsB,EACtB,SAAoB;IAEpB,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IACtC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9C,OAAO,IAAA,wCAAsB,EAAC,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,yBAAyB,CAAC,WAA+B;IACrE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IACxD,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAA,4BAAc,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE;QACxD,OAAO,EAAE,CAAC;KACb;IAED,OAAO,IAAA,kBAAQ,EAAA;2BACQ,6CAAqC,IAAI,2BAA2B,CACvF,aAAa,EACb,KAAK,EACL,WAAW,CAAC,SAAS,CACxB;KACA,CAAC;AACN,CAAC;AAjBD,8DAiBC"}
1
+ {"version":3,"file":"shape-key-interface.js","sourceRoot":"","sources":["../../../src/codegen/shape/shape-key-interface.ts"],"names":[],"mappings":";;;;;;AACA,gEAAgE;AAEhE,oEAA4C;AAC5C,+DAAmE;AAGnE,oDAAiF;AACjF,mDAG6B;AAEhB,QAAA,qCAAqC,GAAG,WAAW,CAAC;AAEjE,SAAS,2BAA2B,CAChC,aAA4B,EAC5B,KAAsB,EACtB,SAAoB;IAEpB,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IACtC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9C,OAAO,IAAA,wCAAsB,EAAC,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,yBAAyB,CAAC,WAA+B;IACrE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IACxD,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAA,4BAAc,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE;QACxD,OAAO,EAAE,CAAC;KACb;IAED,OAAO,IAAA,kBAAQ,EAAA;2BACQ,6CAAqC,YAAY,qDAAyC,IAAI,2BAA2B,CAC5I,aAAa,EACb,KAAK,EACL,WAAW,CAAC,SAAS,CACxB;;sBAEiB,SAAS,GAAG,yDAA6C,MAAM,6CAAqC,MAAM,gDAAoC;;6BAEvI,SAAS,GAAG,yDAA6C,cAAc,6CAAqC,OAAO,gDAAoC;KAC/K,CAAC;AACN,CAAC;AAtBD,8DAsBC"}
@@ -1,5 +1,8 @@
1
1
  import type { CodegenShapeConfig } from './index';
2
2
  export declare const SHAPE_KEY_BUILDER_IDENTIFIER = "keyBuilder";
3
+ export declare const SHAPE_STRUCTURED_KEY_BUILDER_IDENTIFIER: string;
3
4
  export declare const SHAPE_KEY_BUILDER_FROM_TYPE_IDENTIFIER = "keyBuilderFromType";
5
+ export declare const SHAPE_STRUCTURED_KEY_BUILDER_FROM_TYPE_IDENTIFIER: string;
4
6
  export declare const SHAPE_PAGINATION_KEY_BUILDER_IDENTIFIER = "paginationKeyBuilder";
7
+ export declare const SHAPE_PAGINATION_STRUCTURED_KEY_BUILDER_IDENTIFIER: string;
5
8
  export declare function generateKeyBuilder(shapeConfig: CodegenShapeConfig): string;