@luvio/compiler 0.88.0 → 0.91.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 (62) hide show
  1. package/dist/codegen/graphql/graphql-dsl.d.ts +1 -1
  2. package/dist/codegen/graphql/graphql-dsl.js +1 -1
  3. package/dist/codegen/graphql/graphql-dsl.js.map +1 -1
  4. package/dist/codegen/graphql/interface/index.js +2 -0
  5. package/dist/codegen/graphql/interface/index.js.map +1 -1
  6. package/dist/codegen/graphql/interface/ingest.d.ts +1 -1
  7. package/dist/codegen/graphql/interface/ingest.js +10 -4
  8. package/dist/codegen/graphql/interface/ingest.js.map +1 -1
  9. package/dist/codegen/graphql/interface/select.d.ts +6 -0
  10. package/dist/codegen/graphql/interface/select.js +47 -0
  11. package/dist/codegen/graphql/interface/select.js.map +1 -0
  12. package/dist/codegen/graphql/type/constants.d.ts +4 -0
  13. package/dist/codegen/graphql/type/constants.js +5 -1
  14. package/dist/codegen/graphql/type/constants.js.map +1 -1
  15. package/dist/codegen/graphql/type/generateTypeUtil.js +24 -2
  16. package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
  17. package/dist/codegen/graphql/type/index.d.ts +1 -1
  18. package/dist/codegen/graphql/type/index.js +9 -5
  19. package/dist/codegen/graphql/type/index.js.map +1 -1
  20. package/dist/codegen/graphql/type/ingest.d.ts +0 -1
  21. package/dist/codegen/graphql/type/ingest.js +58 -53
  22. package/dist/codegen/graphql/type/ingest.js.map +1 -1
  23. package/dist/codegen/graphql/type/interface.d.ts +2 -1
  24. package/dist/codegen/graphql/type/interface.js +66 -40
  25. package/dist/codegen/graphql/type/interface.js.map +1 -1
  26. package/dist/codegen/graphql/type/merge.d.ts +2 -0
  27. package/dist/codegen/graphql/type/merge.js +17 -0
  28. package/dist/codegen/graphql/type/merge.js.map +1 -0
  29. package/dist/codegen/graphql/type/select.d.ts +5 -0
  30. package/dist/codegen/graphql/type/select.js +179 -0
  31. package/dist/codegen/graphql/type/select.js.map +1 -0
  32. package/dist/codegen/graphql/type/ttl.d.ts +1 -3
  33. package/dist/codegen/graphql/type/ttl.js +7 -11
  34. package/dist/codegen/graphql/type/ttl.js.map +1 -1
  35. package/dist/codegen/graphql/type/utils.d.ts +3 -0
  36. package/dist/codegen/graphql/type/utils.js +10 -0
  37. package/dist/codegen/graphql/type/utils.js.map +1 -0
  38. package/dist/codegen/graphql/utils/types.d.ts +7 -1
  39. package/dist/codegen/graphql/utils/types.js +28 -1
  40. package/dist/codegen/graphql/utils/types.js.map +1 -1
  41. package/dist/codegen/resource/graphql/index.js +2 -2
  42. package/dist/codegen/resource/graphql/index.js.map +1 -1
  43. package/dist/codegen/resource/graphql/select.d.ts +3 -0
  44. package/dist/codegen/resource/graphql/select.js +30 -0
  45. package/dist/codegen/resource/graphql/select.js.map +1 -0
  46. package/dist/codegen/shape/graphql/index.js +2 -2
  47. package/dist/codegen/shape/graphql/index.js.map +1 -1
  48. package/dist/codegen/shape/graphql/shape-ingest.js +7 -0
  49. package/dist/codegen/shape/graphql/shape-ingest.js.map +1 -1
  50. package/dist/codegen/shape/graphql/shape-select.d.ts +3 -0
  51. package/dist/codegen/shape/graphql/shape-select.js +77 -0
  52. package/dist/codegen/shape/graphql/shape-select.js.map +1 -0
  53. package/dist/codegen/shape/shape-utils.js +1 -1
  54. package/dist/codegen/shared/constants.d.ts +3 -0
  55. package/dist/codegen/shared/constants.js +4 -1
  56. package/dist/codegen/shared/constants.js.map +1 -1
  57. package/dist/intermediate/graphql.d.ts +2 -2
  58. package/dist/parser/annotation-graphql.js +1 -0
  59. package/dist/parser/annotation-graphql.js.map +1 -1
  60. package/dist/parser/resource.js +4 -4
  61. package/dist/parser/resource.js.map +1 -1
  62. package/package.json +4 -4
@@ -3,16 +3,17 @@ 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.generateInterface = exports.generateTypeReference = exports.PARTIAL_INTERFACE_IDENTIFIER = exports.MINIMUM_INTERFACE_IDENTIFIER = exports.TYPE_INTERFACE_IDENTIFIER = void 0;
6
+ exports.generateInterfaces = exports.generateTypeReference = exports.PARTIAL_INTERFACE_IDENTIFIER = exports.MINIMUM_INTERFACE_IDENTIFIER = exports.TYPE_INTERFACE_IDENTIFIER = void 0;
7
7
  const deindent_1 = __importDefault(require("../../../utils/deindent"));
8
8
  const key_1 = require("./key");
9
+ const utils_1 = require("./utils");
9
10
  exports.TYPE_INTERFACE_IDENTIFIER = 'Interface';
10
11
  exports.MINIMUM_INTERFACE_IDENTIFIER = `Minimum${exports.TYPE_INTERFACE_IDENTIFIER}`;
11
12
  exports.PARTIAL_INTERFACE_IDENTIFIER = `Partial${exports.TYPE_INTERFACE_IDENTIFIER}`;
12
13
  function generateNamedTypeReference(type, importContext, scalarToPrimitiveMap) {
13
- const { value: typeName } = type.name;
14
- if (scalarToPrimitiveMap[type.name.value] !== undefined) {
15
- return scalarToPrimitiveMap[type.name.value];
14
+ const typeName = type.name.value;
15
+ if (scalarToPrimitiveMap[typeName] !== undefined) {
16
+ return scalarToPrimitiveMap[typeName];
16
17
  }
17
18
  return importContext.importGraphQLArtifact(typeName, exports.TYPE_INTERFACE_IDENTIFIER);
18
19
  }
@@ -41,54 +42,79 @@ function generateTypeReference(type, importContext, scalarToPrimitiveMap, state)
41
42
  }
42
43
  }
43
44
  exports.generateTypeReference = generateTypeReference;
44
- function generateMinimumInterface(idNode) {
45
- if (idNode === undefined) {
46
- return '';
47
- }
48
- const properties = {};
49
- if (idNode !== undefined) {
50
- const idNodeName = idNode.name.value;
51
- properties[idNodeName] = `${idNodeName}: Interface["${idNodeName}"]`;
52
- }
45
+ // Interface contains all fields of a GraphQL type
46
+ function generateInterface(def, importContext, scalarToPrimitiveMap) {
47
+ const { fields: graphqlFields } = def;
48
+ const graphqlFieldsToTypes = graphqlFields === undefined
49
+ ? []
50
+ : graphqlFields.map((graphqlField) => {
51
+ const { name, type } = graphqlField;
52
+ return (0, deindent_1.default) `
53
+ ${name.value}: ${generateTypeReference(type, importContext, scalarToPrimitiveMap, {
54
+ required: false,
55
+ array: false,
56
+ })}
57
+ `;
58
+ });
53
59
  return (0, deindent_1.default) `
54
- export interface ${exports.MINIMUM_INTERFACE_IDENTIFIER} {
55
- ${Object.values(properties).join(';\n')}
60
+ export interface ${exports.TYPE_INTERFACE_IDENTIFIER} {
61
+ ${graphqlFieldsToTypes.join(';\n')}
56
62
  }
57
63
  `;
58
64
  }
59
- function generateObjectTypeDefinitionNode(name, def, importContext, scalarToPrimitiveMap) {
60
- const { fields } = def;
61
- if (fields === undefined) {
62
- return (0, deindent_1.default) `
63
- interface ${exports.TYPE_INTERFACE_IDENTIFIER} {}
64
- `;
65
+ function getRamlMappingFields(graphqlDsl, graphqlTypeName) {
66
+ let ramlMappingFields = [];
67
+ const { typeNameToExtensions } = graphqlDsl;
68
+ const extensionName = 'ramlMapping';
69
+ if ((0, utils_1.isTypeExtensionDefined)(typeNameToExtensions, graphqlTypeName, extensionName)) {
70
+ const graphQLToRamlPropertyMapping = typeNameToExtensions[graphqlTypeName][extensionName].graphQLToRamlPropertyMapping;
71
+ ramlMappingFields = Object.keys(graphQLToRamlPropertyMapping);
65
72
  }
66
- const properties = fields.map((field) => {
67
- const { name, type } = field;
68
- return (0, deindent_1.default) `
69
- ${name.value}: ${generateTypeReference(type, importContext, scalarToPrimitiveMap, {
70
- required: false,
71
- array: false,
72
- })}
73
- `;
74
- });
73
+ return ramlMappingFields;
74
+ }
75
+ // MinimumInterface contains all fields that a server response must has.
76
+ // Generally, it includes the ID field and all corresponding RAML fields specified by RAML mapping.
77
+ function generateMinimumInterface(def, graphqlDsl, graphqlTypeName) {
78
+ // ID field is always included in the minimum interface.
75
79
  const idNode = (0, key_1.findIdNode)(def);
76
- const minimum = generateMinimumInterface(idNode);
77
- const partialDef = minimum === ''
80
+ const idField = idNode === undefined ? [] : [idNode.name.value];
81
+ // Fields specified in the RAML mapping should also be incuded in the minimum interface.
82
+ const ramlMappingFields = getRamlMappingFields(graphqlDsl, graphqlTypeName);
83
+ // Dedupe - the ID field may also be in RAML mapping; don't want to generate it twice.
84
+ let graphqlFieldsNames = idField.concat(ramlMappingFields);
85
+ graphqlFieldsNames = [...new Set(graphqlFieldsNames)];
86
+ return (0, deindent_1.default) `
87
+ export interface ${exports.MINIMUM_INTERFACE_IDENTIFIER} {
88
+ ${graphqlFieldsNames
89
+ .map((graphqlFieldsName) => {
90
+ return `${graphqlFieldsName}: Interface["${graphqlFieldsName}"]`;
91
+ })
92
+ .join(';\n')}
93
+ }
94
+ `;
95
+ }
96
+ function generatePartialInterface(minimumInterfaceString) {
97
+ const partialInterfaceDef = minimumInterfaceString === ''
78
98
  ? `Record<string, any>`
79
99
  : `Record<string, any> & ${exports.MINIMUM_INTERFACE_IDENTIFIER}`;
80
100
  return (0, deindent_1.default) `
81
- export interface ${exports.TYPE_INTERFACE_IDENTIFIER} {
82
- ${properties.join(';\n')}
83
- }
101
+ export type ${exports.PARTIAL_INTERFACE_IDENTIFIER} = ${partialInterfaceDef};
102
+ `;
103
+ }
104
+ function generateObjectTypeDefinitionNode(graphqlDsl, graphqlTypeName, def, importContext, scalarToPrimitiveMap) {
105
+ const interfaceString = generateInterface(def, importContext, scalarToPrimitiveMap);
106
+ const minimumInterfaceString = generateMinimumInterface(def, graphqlDsl, graphqlTypeName);
107
+ const partialInterfaceString = generatePartialInterface(minimumInterfaceString);
108
+ return (0, deindent_1.default) `
109
+ ${interfaceString}
84
110
 
85
- ${minimum}
111
+ ${minimumInterfaceString}
86
112
 
87
- export type ${exports.PARTIAL_INTERFACE_IDENTIFIER} = ${partialDef};
113
+ ${partialInterfaceString}
88
114
  `;
89
115
  }
90
- function generateInterface(name, def, importContext, metadata) {
91
- return generateObjectTypeDefinitionNode(name, def, importContext, metadata.scalarToPrimitiveMap);
116
+ function generateInterfaces(graphqlDsl, graphqlTypeName, def, importContext, metadata) {
117
+ return generateObjectTypeDefinitionNode(graphqlDsl, graphqlTypeName, def, importContext, metadata.scalarToPrimitiveMap);
92
118
  }
93
- exports.generateInterface = generateInterface;
119
+ exports.generateInterfaces = generateInterfaces;
94
120
  //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { ImportContext } from '../../../utils/imports';
2
+ export declare function generateMerge(importContext: ImportContext): string;
@@ -0,0 +1,17 @@
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.generateMerge = void 0;
7
+ const interface_1 = require("./interface");
8
+ const deindent_1 = __importDefault(require("../../../utils/deindent"));
9
+ function generateMerge(importContext) {
10
+ return (0, deindent_1.default) `
11
+ export function mergeData(existingData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, newData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}): ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}{
12
+ return ${importContext.importTypeUtil('ObjectAssign')}(existingData, newData);
13
+ }
14
+ `;
15
+ }
16
+ exports.generateMerge = generateMerge;
17
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/merge.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA2D;AAC3D,uEAA+C;AAG/C,SAAgB,aAAa,CAAC,aAA4B;IACtD,OAAO,IAAA,kBAAQ,EAAA;kDAC+B,wCAA4B,cAAc,wCAA4B,MAAM,wCAA4B;qBACrI,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC;;KAE5D,CAAC;AACN,CAAC;AAND,sCAMC"}
@@ -0,0 +1,5 @@
1
+ import type { ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
2
+ import type { ImportContext } from '../../../utils/imports';
3
+ import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
4
+ import type { GraphQLCodegenMetadata } from '../source-printer';
5
+ export declare function generateSelect(graphqlDsl: LuvioGraphQLDSL, typeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
@@ -0,0 +1,179 @@
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.generateSelect = void 0;
7
+ const deindent_1 = __importDefault(require("../../../utils/deindent"));
8
+ const constants_1 = require("../../adapter/constants");
9
+ const constants_2 = require("../../shared/constants");
10
+ const constants_3 = require("./constants");
11
+ const utils_1 = require("../utils");
12
+ const utils_2 = require("../utils");
13
+ const types_1 = require("../utils/types");
14
+ const interface_1 = require("./interface");
15
+ function selectListType(field, typeNode, importContext, normalizableTypeMap) {
16
+ if (typeNode.type === null) {
17
+ return '';
18
+ }
19
+ const typeName = (0, utils_1.resolveTypeName)(typeNode);
20
+ const isScalar = normalizableTypeMap[typeName] === undefined;
21
+ if (isScalar) {
22
+ return (0, deindent_1.default) `
23
+ if (${constants_3.FIELD_DATA_IDENTIFIER} !== undefined) {
24
+ reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, source[${constants_3.FIELD_KEY_IDENTIFIER}]);
25
+ }
26
+ `;
27
+ }
28
+ const identifier = `data__${field.name.value}`;
29
+ const resolvedLinkIdentifier = `${identifier}ResolvedLink`;
30
+ const namedTypeSelect = importContext.importGraphQLArtifact(typeName, 'select');
31
+ const namedTypePartialInterface = importContext.importGraphQLArtifact(typeName, 'PartialInterface');
32
+ return (0, deindent_1.default) `
33
+ const arraySink = [];
34
+ for(let i = 0, len = ${constants_3.FIELD_DATA_IDENTIFIER}.length; i < len; i += 1) {
35
+ reader.enterPath(i);
36
+ const ${resolvedLinkIdentifier} = reader.read({
37
+ recordId: ${constants_3.FIELD_DATA_IDENTIFIER}[i].__ref,
38
+ node: {
39
+ kind: 'Fragment',
40
+ private: [],
41
+ opaque: true
42
+ },
43
+ variables: {}
44
+ });
45
+ if (${resolvedLinkIdentifier}.data === undefined) {
46
+ continue;
47
+ }
48
+ const selected = ${namedTypeSelect}(sel, variables, fragments)(${resolvedLinkIdentifier}.data as ${namedTypePartialInterface}, reader);
49
+ reader.assignNonScalar(arraySink, i, selected);
50
+ reader.exitPath();
51
+ }
52
+ reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, arraySink);
53
+ `;
54
+ }
55
+ function selectNamedType(field, typeNode, importContext, normalizableTypeMap) {
56
+ const fieldName = field.name.value;
57
+ const identifier = fieldName;
58
+ const resolvedLinkIdentifier = `${identifier}ResolvedLink`;
59
+ const typeName = typeNode.name.value;
60
+ const isScalar = normalizableTypeMap[typeName] === undefined;
61
+ // non-normalizable
62
+ if (isScalar) {
63
+ return generateSelectScalar();
64
+ }
65
+ const namedTypeSelect = importContext.importGraphQLArtifact(typeNode.name.value, 'select');
66
+ const namedTypePartialInterface = importContext.importGraphQLArtifact(typeNode.name.value, 'PartialInterface');
67
+ return (0, deindent_1.default) `
68
+ const ${resolvedLinkIdentifier} = reader.read({
69
+ recordId: ${constants_3.FIELD_DATA_IDENTIFIER}.__ref,
70
+ node: {
71
+ kind: 'Fragment',
72
+ private: [],
73
+ opaque: true
74
+ },
75
+ variables: {}
76
+ });
77
+ if (${resolvedLinkIdentifier}.data !== undefined) {
78
+ const result = ${namedTypeSelect}(sel, variables, fragments)(${resolvedLinkIdentifier}.data as ${namedTypePartialInterface}, reader);
79
+ reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, result);
80
+ }`;
81
+ }
82
+ function selectType(field, typeNode, importContext, normalizableTypeMap) {
83
+ switch (typeNode.kind) {
84
+ case 'NamedType': {
85
+ return selectNamedType(field, typeNode, importContext, normalizableTypeMap);
86
+ }
87
+ case 'NonNullType': {
88
+ return selectType(field, typeNode.type, importContext, normalizableTypeMap);
89
+ }
90
+ case 'ListType': {
91
+ return selectListType(field, typeNode, importContext, normalizableTypeMap);
92
+ }
93
+ }
94
+ }
95
+ function generateSelect(graphqlDsl, typeName, def, importContext, _metadata) {
96
+ var _a;
97
+ const { schema } = graphqlDsl;
98
+ const type = schema.getType(def.name.value);
99
+ if (!type) {
100
+ return '';
101
+ }
102
+ const normalizableTypeMap = (0, utils_2.getNormalizableTypeMap)(schema);
103
+ const fieldSelectionCaseStatements = (0, types_1.getObjectFields)(def)
104
+ .map((field) => {
105
+ const fieldName = field.name.value;
106
+ const type = field.type;
107
+ if (type === null) {
108
+ return generateSelectScalar();
109
+ }
110
+ const body = selectType(field, field.type, importContext, normalizableTypeMap);
111
+ return (0, deindent_1.default) `
112
+ case '${fieldName}': {
113
+ ${body}
114
+ break;
115
+ }
116
+ `;
117
+ })
118
+ .join('\n');
119
+ const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName
120
+ ? constants_2.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
121
+ : constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
122
+ const graphqlVariablesImport = importContext.importGraphQLArtifact(constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_VARIABLES_IDENTIFIER);
123
+ const getFieldKeyImport = importContext.importGraphQLArtifact(constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
124
+ const fragmentMapImport = importContext.importGraphQLArtifact(constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER);
125
+ return (0, deindent_1.default) `
126
+ export function buildSelectionForField(source: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>, sel: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} , variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport} ) {
127
+ // Get Key for Field (use util)
128
+ const ${constants_3.SINK_IDENTIFIER}: any = {}
129
+ const ${constants_3.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(sel, variables);
130
+ const ${constants_3.FIELD_DATA_IDENTIFIER} = source[${constants_3.FIELD_KEY_IDENTIFIER}];
131
+ const ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER} = sel.alias ? sel.alias.value : sel.name.value;
132
+ switch(sel.name.value) {
133
+ ${fieldSelectionCaseStatements}
134
+ }
135
+ return sink;
136
+ }
137
+ export function buildSelectionForNode(source: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>, selectionNode: ${constants_2.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT} , variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport}) {
138
+ const ${constants_3.SINK_IDENTIFIER}: any = {}
139
+ if(selectionNode.kind === "InlineFragment") {
140
+ if(!selectionNode.typeCondition || selectionNode.typeCondition.name.value === name) {
141
+ // Get selections out of the inline fragment
142
+ selectionNode.selectionSet.selections.forEach(fragmentSelection => {
143
+ // Call into field handling with selections
144
+ Object.assign(sink, buildSelectionForNode(source, reader, fragmentSelection, variables, fragments));
145
+ });
146
+ }
147
+ }
148
+ if(selectionNode.kind === "FragmentSpread") {
149
+ const namedFragment = fragments[selectionNode.name.value];
150
+ if(namedFragment && namedFragment.typeCondition.name.value === name) {
151
+ namedFragment.selectionSet.selections.forEach(fragmentSelection => {
152
+ // Call into field handling with selections
153
+ Object.assign(sink, buildSelectionForNode(source, reader, fragmentSelection, variables, fragments));
154
+ });
155
+ }
156
+ }
157
+ if(selectionNode.kind === "Field") {
158
+ Object.assign(sink, buildSelectionForField(source, reader, selectionNode, variables, fragments));
159
+ }
160
+ return ${constants_3.SINK_IDENTIFIER};
161
+ }
162
+ export function select(field: ${astNodeParamType}, variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport}) {
163
+ return (source: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>): ${interface_1.PARTIAL_INTERFACE_IDENTIFIER} => {
164
+ const ${constants_3.SINK_IDENTIFIER}: any = {}
165
+ field.selectionSet.selections.forEach((sel) => {
166
+ Object.assign(sink, buildSelectionForNode(source, reader, sel, variables, fragments));
167
+ });
168
+ return ${constants_3.SINK_IDENTIFIER};
169
+ }
170
+ }
171
+ `;
172
+ }
173
+ exports.generateSelect = generateSelect;
174
+ function generateSelectScalar() {
175
+ return `if(source[${constants_3.FIELD_KEY_IDENTIFIER}] !== undefined) {
176
+ reader.assignScalar(${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, ${constants_3.SINK_IDENTIFIER}, source[${constants_3.FIELD_KEY_IDENTIFIER}]);
177
+ }`;
178
+ }
179
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/select.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,uDAAgE;AAShE,sDAIgC;AAGhC,2CASqB;AAErB,oCAA2C;AAC3C,oCAAkD;AAClD,0CAAiD;AACjD,2CAA2D;AAE3D,SAAS,cAAc,CACnB,KAA0B,EAC1B,QAAsB,EACtB,aAA4B,EAC5B,mBAAsC;IAEtC,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,EAAE,CAAC;KACb;IACD,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;IAE7D,IAAI,QAAQ,EAAE;QACV,OAAO,IAAA,kBAAQ,EAAA;kBACL,iCAAqB;yCACE,2BAAe,KAAK,2CAA+B,YAAY,gCAAoB;;SAEnH,CAAC;KACL;IAED,MAAM,UAAU,GAAG,SAAS,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC/C,MAAM,sBAAsB,GAAG,GAAG,UAAU,cAAc,CAAC;IAC3D,MAAM,eAAe,GAAG,aAAa,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChF,MAAM,yBAAyB,GAAG,aAAa,CAAC,qBAAqB,CACjE,QAAQ,EACR,kBAAkB,CACrB,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;;+BAEY,iCAAqB;;oBAEhC,sBAAsB;4BACd,iCAAqB;;;;;;;;kBAQ/B,sBAAsB;;;+BAGT,eAAe,+BAA+B,sBAAsB,YAAY,yBAAyB;;;;iCAIvG,2BAAe,KAAK,2CAA+B;KAC/E,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CACpB,KAA0B,EAC1B,QAAuB,EACvB,aAA4B,EAC5B,mBAAsC;IAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACnC,MAAM,UAAU,GAAG,SAAS,CAAC;IAC7B,MAAM,sBAAsB,GAAG,GAAG,UAAU,cAAc,CAAC;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IACrC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;IAE7D,mBAAmB;IACnB,IAAI,QAAQ,EAAE;QACV,OAAO,oBAAoB,EAAE,CAAC;KACjC;IACD,MAAM,eAAe,GAAG,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3F,MAAM,yBAAyB,GAAG,aAAa,CAAC,qBAAqB,CACjE,QAAQ,CAAC,IAAI,CAAC,KAAK,EACnB,kBAAkB,CACrB,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;YACP,sBAAsB;oBACd,iCAAqB;;;;;;;;UAQ/B,sBAAsB;yBACP,eAAe,+BAA+B,sBAAsB,YAAY,yBAAyB;iCACjG,2BAAe,KAAK,2CAA+B;MAC9E,CAAC;AACP,CAAC;AAED,SAAS,UAAU,CACf,KAA0B,EAC1B,QAAkB,EAClB,aAA4B,EAC5B,mBAAsC;IAEtC,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW,CAAC,CAAC;YACd,OAAO,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;SAC/E;QACD,KAAK,aAAa,CAAC,CAAC;YAChB,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;SAC/E;QACD,KAAK,UAAU,CAAC,CAAC;YACb,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;SAC9E;KACJ;AACL,CAAC;AAED,SAAgB,cAAc,CAC1B,UAA2B,EAC3B,QAAgB,EAChB,GAA6B,EAC7B,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,EAAE,CAAC;KACb;IACD,MAAM,mBAAmB,GAAG,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC;IAE3D,MAAM,4BAA4B,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC;SACpD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACX,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,KAAK,IAAI,EAAE;YACf,OAAO,oBAAoB,EAAE,CAAC;SACjC;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAE/E,OAAO,IAAA,kBAAQ,EAAA;oBACP,SAAS;kBACX,IAAI;;;SAGb,CAAC;IACF,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,MAAM,gBAAgB,GAClB,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ;QACpC,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAC1C,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CACzD,gCAAoB,EACpB,mDAAuC,CAC1C,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CACzD,gCAAoB,EACpB,2CAA+B,CAClC,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;yDACsC,wCAA4B,aAAa,iCAAqB,eAAe,2CAA+B,iBAAiB,sBAAsB,gBAAgB,iBAAiB;;oBAEzN,2BAAe;oBACf,gCAAoB,MAAM,iBAAiB;oBAC3C,iCAAqB,aAAa,gCAAoB;oBACtD,2CAA+B;;kBAEjC,4BAA4B;;;;wDAIU,wCAA4B,aAAa,iCAAqB,yBAAyB,+CAAmC,iBAAiB,sBAAsB,gBAAgB,iBAAiB;oBACtO,2BAAe;;;;;;;;;;;;;;;;;;;;;;qBAsBd,2BAAe;;wCAEI,gBAAgB,gBAAgB,sBAAsB,gBAAgB,iBAAiB;8BACjG,wCAA4B,aAAa,iCAAqB,WAAW,wCAA4B;wBAC3G,2BAAe;;;;yBAId,2BAAe;;;KAGnC,CAAC;AACN,CAAC;AA/FD,wCA+FC;AAED,SAAS,oBAAoB;IACzB,OAAO,aAAa,gCAAoB;8BACd,2CAA+B,KAAK,2BAAe,YAAY,gCAAoB;MAC3G,CAAC;AACP,CAAC"}
@@ -1,4 +1,2 @@
1
- import type { GraphQLAnnotation } from '../../../intermediate/graphql-annotation';
2
1
  import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
3
- export declare function isTypeTtlDefined(typeNameToExtensions: GraphQLAnnotation['typeNameToExtensions'] | undefined, typeName: string): boolean;
4
- export declare function generateTtl(graphqlDsl: LuvioGraphQLDSL, typeName: string): string;
2
+ export declare function generateTtl(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string): string;
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateTtl = exports.isTypeTtlDefined = void 0;
4
- function isTypeTtlDefined(typeNameToExtensions, typeName) {
5
- return (typeNameToExtensions !== undefined &&
6
- typeNameToExtensions[typeName] !== undefined &&
7
- typeNameToExtensions[typeName].ttl !== undefined);
8
- }
9
- exports.isTypeTtlDefined = isTypeTtlDefined;
10
- function generateTtl(graphqlDsl, typeName) {
11
- const { typeExtensions } = graphqlDsl;
12
- if (!isTypeTtlDefined(typeExtensions, typeName)) {
3
+ exports.generateTtl = void 0;
4
+ const utils_1 = require("./utils");
5
+ function generateTtl(graphqlDsl, graphqlTypeName) {
6
+ const { typeNameToExtensions } = graphqlDsl;
7
+ const extensionName = 'ttl';
8
+ if (!(0, utils_1.isTypeExtensionDefined)(typeNameToExtensions, graphqlTypeName, extensionName)) {
13
9
  return '';
14
10
  }
15
- return `export const TTL = ${typeExtensions[typeName].ttl};`;
11
+ return `export const TTL = ${typeNameToExtensions[graphqlTypeName][extensionName]};`;
16
12
  }
17
13
  exports.generateTtl = generateTtl;
18
14
  //# sourceMappingURL=ttl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ttl.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ttl.ts"],"names":[],"mappings":";;;AAGA,SAAgB,gBAAgB,CAC5B,oBAA2E,EAC3E,QAAgB;IAEhB,OAAO,CACH,oBAAoB,KAAK,SAAS;QAClC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,SAAS;QAC5C,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,SAAS,CACnD,CAAC;AACN,CAAC;AATD,4CASC;AAED,SAAgB,WAAW,CAAC,UAA2B,EAAE,QAAgB;IACrE,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;IAEtC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE;QAC7C,OAAO,EAAE,CAAC;KACb;IACD,OAAO,sBAAsB,cAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC;AAClE,CAAC;AAPD,kCAOC"}
1
+ {"version":3,"file":"ttl.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ttl.ts"],"names":[],"mappings":";;;AAEA,mCAAiD;AAEjD,SAAgB,WAAW,CAAC,UAA2B,EAAE,eAAuB;IAC5E,MAAM,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;IAC5C,MAAM,aAAa,GAA+B,KAAK,CAAC;IAExD,IAAI,CAAC,IAAA,8BAAsB,EAAC,oBAAoB,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE;QAC/E,OAAO,EAAE,CAAC;KACb;IACD,OAAO,sBAAsB,oBAAqB,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC;AAC1F,CAAC;AARD,kCAQC"}
@@ -0,0 +1,3 @@
1
+ import type { GraphQLAnnotation } from '../../../intermediate/graphql-annotation';
2
+ import type { GraphQLTypeExtension } from '../../../intermediate/graphql';
3
+ export declare function isTypeExtensionDefined(typeNameToExtensions: GraphQLAnnotation['typeNameToExtensions'] | undefined, graphqlTypeName: string, extensionName: keyof GraphQLTypeExtension): boolean;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTypeExtensionDefined = void 0;
4
+ function isTypeExtensionDefined(typeNameToExtensions, graphqlTypeName, extensionName) {
5
+ return (typeNameToExtensions !== undefined &&
6
+ typeNameToExtensions[graphqlTypeName] !== undefined &&
7
+ typeNameToExtensions[graphqlTypeName][extensionName] !== undefined);
8
+ }
9
+ exports.isTypeExtensionDefined = isTypeExtensionDefined;
10
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/utils.ts"],"names":[],"mappings":";;;AAGA,SAAgB,sBAAsB,CAClC,oBAA2E,EAC3E,eAAuB,EACvB,aAAyC;IAEzC,OAAO,CACH,oBAAoB,KAAK,SAAS;QAClC,oBAAoB,CAAC,eAAe,CAAC,KAAK,SAAS;QACnD,oBAAoB,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,KAAK,SAAS,CACrE,CAAC;AACN,CAAC;AAVD,wDAUC"}
@@ -1,4 +1,4 @@
1
- import type { GraphQLSchema, GraphQLInterfaceType, GraphQLObjectType, TypeNode } from '@luvio/graphql-parser';
1
+ import type { GraphQLSchema, GraphQLInterfaceType, GraphQLObjectType, TypeNode, ObjectTypeDefinitionNode, FieldDefinitionNode } from '@luvio/graphql-parser';
2
2
  import type { ShapeTtls } from '../../../intermediate/model-info';
3
3
  export declare type NormalizableTypes = Record<string, GraphQLInterfaceType | GraphQLObjectType<any, any>>;
4
4
  export declare function resolveTypeName(typeNode: TypeNode): string;
@@ -14,3 +14,9 @@ export declare function getNormalizableTypeMap(schema: GraphQLSchema): Normaliza
14
14
  * When both are defined the shape TTL overrides root level TTL
15
15
  */
16
16
  export declare function getShapeTtl(rootTtl: number | undefined, shapeId: string | undefined, shapeTtls: ShapeTtls | undefined): number;
17
+ export declare const TYPENAME_FIELD: FieldDefinitionNode;
18
+ /**
19
+ * Convenience function to ensure we're always handling graphql meta fields like __typename. Query authors can ask for them!
20
+ *
21
+ */
22
+ export declare function getObjectFields(def: ObjectTypeDefinitionNode): FieldDefinitionNode[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getShapeTtl = exports.getNormalizableTypeMap = exports.resolveFieldTypeName = exports.resolveTypeName = void 0;
3
+ exports.getObjectFields = exports.TYPENAME_FIELD = exports.getShapeTtl = exports.getNormalizableTypeMap = exports.resolveFieldTypeName = exports.resolveTypeName = void 0;
4
4
  function resolveTypeName(typeNode) {
5
5
  switch (typeNode.kind) {
6
6
  case 'NamedType':
@@ -54,4 +54,31 @@ function getShapeTtl(rootTtl, shapeId, shapeTtls) {
54
54
  return shapeTtl !== undefined ? shapeTtl : rootTtl;
55
55
  }
56
56
  exports.getShapeTtl = getShapeTtl;
57
+ exports.TYPENAME_FIELD = {
58
+ kind: 'FieldDefinition',
59
+ name: {
60
+ kind: 'Name',
61
+ value: '__typename',
62
+ },
63
+ type: {
64
+ kind: 'NonNullType',
65
+ type: {
66
+ kind: 'NamedType',
67
+ name: {
68
+ value: 'string',
69
+ kind: 'Name',
70
+ },
71
+ },
72
+ },
73
+ };
74
+ const OBJECT_TYPE_META_FIELDS = [exports.TYPENAME_FIELD]; // TODO: Support all meta fields?
75
+ /**
76
+ * Convenience function to ensure we're always handling graphql meta fields like __typename. Query authors can ask for them!
77
+ *
78
+ */
79
+ function getObjectFields(def) {
80
+ const objectFields = def.fields ? def.fields : [];
81
+ return [...OBJECT_TYPE_META_FIELDS, ...objectFields];
82
+ }
83
+ exports.getObjectFields = getObjectFields;
57
84
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/utils/types.ts"],"names":[],"mappings":";;;AAUA,SAAgB,eAAe,CAAC,QAAkB;IAC9C,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW;YACZ,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B;YACI,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC7C;AACL,CAAC;AAPD,0CAOC;AAED,SAAgB,oBAAoB,CAAC,MAAqB,EAAE,KAAU;IAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;QACrC,OAAO,IAAI,CAAC;KACf;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,CAAC;AAVD,oDAUC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,MAAqB;;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,mBAAmB,GAAsB,EAAE,CAAC;IAElD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/B,IACI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,yBAAyB;YAChD,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,sBAAsB,EAC/C;YACE,uDAAuD;YACvD,uFAAuF;YACvF,aAAa;YACb,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;SACxC;KACJ;IAED,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AApBD,wDAoBC;AAED;;;GAGG;AACH,SAAgB,WAAW,CACvB,OAA2B,EAC3B,OAA2B,EAC3B,SAAgC;IAEhC,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CAAC,OAAQ,CAAC,CAAC;IAElD,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACrE;IAED,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAQ,CAAC;AACxD,CAAC;AAZD,kCAYC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/utils/types.ts"],"names":[],"mappings":";;;AAYA,SAAgB,eAAe,CAAC,QAAkB;IAC9C,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW;YACZ,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B;YACI,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC7C;AACL,CAAC;AAPD,0CAOC;AAED,SAAgB,oBAAoB,CAAC,MAAqB,EAAE,KAAU;IAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;QACrC,OAAO,IAAI,CAAC;KACf;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,CAAC;AAVD,oDAUC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,MAAqB;;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,mBAAmB,GAAsB,EAAE,CAAC;IAElD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/B,IACI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,yBAAyB;YAChD,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,sBAAsB,EAC/C;YACE,uDAAuD;YACvD,uFAAuF;YACvF,aAAa;YACb,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;SACxC;KACJ;IAED,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AApBD,wDAoBC;AAED;;;GAGG;AACH,SAAgB,WAAW,CACvB,OAA2B,EAC3B,OAA2B,EAC3B,SAAgC;IAEhC,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CAAC,OAAQ,CAAC,CAAC;IAElD,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACrE;IAED,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAQ,CAAC;AACxD,CAAC;AAZD,kCAYC;AAEY,QAAA,cAAc,GAAwB;IAC/C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,YAAY;KACtB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE;YACF,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE;gBACF,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,MAAM;aACf;SACJ;KACJ;CACJ,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,sBAAc,CAAC,CAAC,CAAC,iCAAiC;AACnF;;;GAGG;AACH,SAAgB,eAAe,CAAC,GAA6B;IACzD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,uBAAuB,EAAE,GAAG,YAAY,CAAC,CAAC;AACzD,CAAC;AAHD,0CAGC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateGraphQLResource = void 0;
4
4
  const imports_1 = require("../../../utils/imports");
5
5
  const evict_success_1 = require("../evict-success");
6
- const select_1 = require("../select");
6
+ const select_1 = require("./select");
7
7
  const resource_params_1 = require("./resource-params");
8
8
  const ingest_error_1 = require("./ingest-error");
9
9
  const ingest_success_1 = require("./ingest-success");
@@ -14,7 +14,7 @@ function generateGraphQLResource(typescriptFilePath, compilerBaseOutputDir, reso
14
14
  const importContext = (0, imports_1.createImportContext)(typescriptFilePath, compilerBaseOutputDir, plugin);
15
15
  const code = [
16
16
  (0, resource_params_1.generateGraphQLResourceParams)(importContext),
17
- (0, select_1.generateSelect)(importContext, resource, modelInfo),
17
+ (0, select_1.generateGraphQLSelect)(importContext, resource),
18
18
  (0, key_builder_1.generateGraphQLKeyBuilder)(importContext, resource),
19
19
  (0, response_cache_keys_1.generateGraphQLGetResponseCacheKeys)(importContext, resource),
20
20
  (0, ingest_success_1.generateGraphQLIngestSuccess)(importContext, resource),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/resource/graphql/index.ts"],"names":[],"mappings":";;;AACA,oDAA6E;AAC7E,oDAAwD;AACxD,sCAA2C;AAI3C,uDAAkE;AAClE,iDAA4D;AAC5D,qDAAgE;AAChE,+CAA0D;AAC1D,+DAA4E;AAC5E,uEAAiF;AAEjF,SAAgB,uBAAuB,CACnC,kBAAmC,EACnC,qBAAsC,EACtC,QAAyB,EACzB,SAAoB,EACpB,MAAuB;IAEvB,MAAM,aAAa,GAAG,IAAA,6BAAmB,EAAC,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAE7F,MAAM,IAAI,GAAG;QACT,IAAA,+CAA6B,EAAC,aAAa,CAAC;QAC5C,IAAA,uBAAc,EAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QAClD,IAAA,uCAAyB,EAAC,aAAa,EAAE,QAAQ,CAAC;QAClD,IAAA,yDAAmC,EAAC,aAAa,EAAE,QAAQ,CAAC;QAC5D,IAAA,6CAA4B,EAAC,aAAa,EAAE,QAAQ,CAAC;QACrD,IAAA,yCAA0B,EAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC9D,IAAA,oCAAoB,EAAC,aAAa,EAAE,QAAQ,CAAC;QAC7C,IAAA,8DAAoC,EAAC,aAAa,EAAE,QAAQ,CAAC;KAChE;SACI,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAElB,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAvBD,0DAuBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/resource/graphql/index.ts"],"names":[],"mappings":";;;AACA,oDAA6E;AAC7E,oDAAwD;AACxD,qCAAiD;AAIjD,uDAAkE;AAClE,iDAA4D;AAC5D,qDAAgE;AAChE,+CAA0D;AAC1D,+DAA4E;AAC5E,uEAAiF;AAEjF,SAAgB,uBAAuB,CACnC,kBAAmC,EACnC,qBAAsC,EACtC,QAAyB,EACzB,SAAoB,EACpB,MAAuB;IAEvB,MAAM,aAAa,GAAG,IAAA,6BAAmB,EAAC,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAE7F,MAAM,IAAI,GAAG;QACT,IAAA,+CAA6B,EAAC,aAAa,CAAC;QAC5C,IAAA,8BAAqB,EAAC,aAAa,EAAE,QAAQ,CAAC;QAC9C,IAAA,uCAAyB,EAAC,aAAa,EAAE,QAAQ,CAAC;QAClD,IAAA,yDAAmC,EAAC,aAAa,EAAE,QAAQ,CAAC;QAC5D,IAAA,6CAA4B,EAAC,aAAa,EAAE,QAAQ,CAAC;QACrD,IAAA,yCAA0B,EAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC9D,IAAA,oCAAoB,EAAC,aAAa,EAAE,QAAQ,CAAC;QAC7C,IAAA,8DAAoC,EAAC,aAAa,EAAE,QAAQ,CAAC;KAChE;SACI,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAElB,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAvBD,0DAuBC"}
@@ -0,0 +1,3 @@
1
+ import type { GraphQLResource } from '../../../intermediate/resource';
2
+ import type { ImportContext } from '../../../utils/imports';
3
+ export declare function generateGraphQLSelect(importContext: ImportContext, resource: GraphQLResource): string;
@@ -0,0 +1,30 @@
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.generateGraphQLSelect = void 0;
7
+ const deindent_1 = __importDefault(require("../../../utils/deindent"));
8
+ const constants_1 = require("../../adapter/constants");
9
+ const constants_2 = require("../../shared/constants");
10
+ const resource_params_1 = require("./resource-params");
11
+ const constants_3 = require("../constants");
12
+ function generateGraphQLSelect(importContext, resource) {
13
+ const { importRamlArtifact } = importContext;
14
+ const { id: resourceId, returnShape } = resource;
15
+ if (returnShape === undefined) {
16
+ //TODO: cleanup in W-11069204
17
+ return '';
18
+ }
19
+ const { id: returnShapeId } = returnShape;
20
+ const typeSelect = importRamlArtifact(returnShapeId, 'select');
21
+ const resourceRequestConfig = importRamlArtifact(resourceId, resource_params_1.RESOURCE_PARAMS_INTERFACE);
22
+ return (0, deindent_1.default) `
23
+ export function ${constants_3.RESOURCE_SELECT_IDENTIFIER}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, ${constants_3.RESOURCE_PARAMS_IDENTIFIER}: ${resourceRequestConfig}): ${constants_1.ADAPTER_FRAGMENT_IDENTIFIER} {
24
+ const { query, variables } = ${constants_3.RESOURCE_PARAMS_IDENTIFIER}.body;
25
+ return ${typeSelect}(${constants_2.LUVIO_IDENTIFIER}, query, variables);
26
+ }
27
+ `;
28
+ }
29
+ exports.generateGraphQLSelect = generateGraphQLSelect;
30
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/resource/graphql/select.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAE/C,uDAAsE;AACtE,sDAAwE;AACxE,uDAA8D;AAC9D,4CAAsF;AAEtF,SAAgB,qBAAqB,CAAC,aAA4B,EAAE,QAAyB;IACzF,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjD,IAAI,WAAW,KAAK,SAAS,EAAE;QAC3B,6BAA6B;QAC7B,OAAO,EAAE,CAAC;KACb;IAED,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAE1C,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,UAAU,EAAE,2CAAyB,CAAC,CAAC;IAExF,OAAO,IAAA,kBAAQ,EAAA;0BACO,sCAA0B,IAAI,4BAAgB,KAAK,wBAAY,KAAK,sCAA0B,KAAK,qBAAqB,MAAM,uCAA2B;2CACxI,sCAA0B;qBAChD,UAAU,IAAI,4BAAgB;;KAE9C,CAAC;AACN,CAAC;AAnBD,sDAmBC"}
@@ -6,7 +6,7 @@ const shape_cache_keys_1 = require("../shape-cache-keys");
6
6
  const shape_deep_freeze_1 = require("../shape-deep-freeze");
7
7
  const shape_key_interface_1 = require("../shape-key-interface");
8
8
  const shape_representation_type_1 = require("../shape-representation-type");
9
- const shape_select_1 = require("../shape-select");
9
+ const shape_select_1 = require("./shape-select");
10
10
  const shape_ttl_1 = require("../shape-ttl");
11
11
  const key_builder_1 = require("./key-builder");
12
12
  const shape_ingest_1 = require("./shape-ingest");
@@ -17,7 +17,7 @@ function generateGraphQLInteropTypeModule(shapeConfig, graphQLResource) {
17
17
  (0, shape_representation_type_1.generateRepresentationType)(shapeConfig),
18
18
  (0, shape_key_interface_1.generateShapeKeyInterface)(shapeConfig),
19
19
  (0, key_builder_1.generateGraphQLInteropShapeKeyBuilder)(shapeConfig),
20
- (0, shape_select_1.generateSelect)(shapeConfig),
20
+ (0, shape_select_1.generateGraphQLInteropTypeSelect)(shapeConfig, graphQLResource),
21
21
  (0, shape_deep_freeze_1.generateDeepFreeze)(shapeConfig),
22
22
  (0, shape_ingest_1.generateGraphQLInteropTypeIngest)(shapeConfig, graphQLResource),
23
23
  (0, shape_cache_keys_1.generateGetShapeCacheKeys)(shapeConfig),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/shape/graphql/index.ts"],"names":[],"mappings":";;;AAEA,oDAAwD;AACxD,0DAAgE;AAChE,4DAA0D;AAC1D,gEAAmE;AACnE,4EAA0E;AAC1E,kDAAiD;AACjD,4CAA2C;AAC3C,+CAAsE;AACtE,iDAAkE;AAClE,mEAAwE;AAExE,SAAgB,gCAAgC,CAC5C,WAA+B,EAC/B,eAAgC;IAEhC,IAAI,IAAI,GAAG;QACP,IAAA,uBAAW,EAAC,WAAW,CAAC;QACxB,IAAA,sDAA0B,EAAC,WAAW,CAAC;QACvC,IAAA,+CAAyB,EAAC,WAAW,CAAC;QACtC,IAAA,mDAAqC,EAAC,WAAW,CAAC;QAClD,IAAA,6BAAc,EAAC,WAAW,CAAC;QAC3B,IAAA,sCAAkB,EAAC,WAAW,CAAC;QAC/B,IAAA,+CAAgC,EAAC,WAAW,EAAE,eAAe,CAAC;QAC9D,IAAA,4CAAyB,EAAC,WAAW,CAAC;QACtC,IAAA,qDAA6B,EAAC,WAAW,EAAE,eAAe,CAAC;KAC9D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAjBD,4EAiBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/shape/graphql/index.ts"],"names":[],"mappings":";;;AAEA,oDAAwD;AACxD,0DAAgE;AAChE,4DAA0D;AAC1D,gEAAmE;AACnE,4EAA0E;AAC1E,iDAAkE;AAClE,4CAA2C;AAC3C,+CAAsE;AACtE,iDAAkE;AAClE,mEAAwE;AAExE,SAAgB,gCAAgC,CAC5C,WAA+B,EAC/B,eAAgC;IAEhC,IAAI,IAAI,GAAG;QACP,IAAA,uBAAW,EAAC,WAAW,CAAC;QACxB,IAAA,sDAA0B,EAAC,WAAW,CAAC;QACvC,IAAA,+CAAyB,EAAC,WAAW,CAAC;QACtC,IAAA,mDAAqC,EAAC,WAAW,CAAC;QAClD,IAAA,+CAAgC,EAAC,WAAW,EAAE,eAAe,CAAC;QAC9D,IAAA,sCAAkB,EAAC,WAAW,CAAC;QAC/B,IAAA,+CAAgC,EAAC,WAAW,EAAE,eAAe,CAAC;QAC9D,IAAA,4CAAyB,EAAC,WAAW,CAAC;QACtC,IAAA,qDAA6B,EAAC,WAAW,EAAE,eAAe,CAAC;KAC9D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAjBD,4EAiBC"}