@luvio/compiler 0.100.0 → 0.102.2

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 (51) hide show
  1. package/dist/codegen/graphql/graphql-dsl.d.ts +18 -0
  2. package/dist/codegen/graphql/graphql-dsl.js +101 -0
  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/query-transformer.js +2 -2
  7. package/dist/codegen/graphql/interface/query-transformer.js.map +1 -1
  8. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.d.ts +1 -0
  9. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js +10 -0
  10. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js.map +1 -1
  11. package/dist/codegen/graphql/type/constants.d.ts +7 -0
  12. package/dist/codegen/graphql/type/constants.js +8 -1
  13. package/dist/codegen/graphql/type/constants.js.map +1 -1
  14. package/dist/codegen/graphql/type/generateTypeUtil.js +27 -13
  15. package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
  16. package/dist/codegen/graphql/type/ingest.js +12 -5
  17. package/dist/codegen/graphql/type/ingest.js.map +1 -1
  18. package/dist/codegen/graphql/type/interface.d.ts +2 -2
  19. package/dist/codegen/graphql/type/interface.js +7 -1
  20. package/dist/codegen/graphql/type/interface.js.map +1 -1
  21. package/dist/codegen/graphql/type/query-transformer.d.ts +2 -2
  22. package/dist/codegen/graphql/type/query-transformer.js +46 -14
  23. package/dist/codegen/graphql/type/query-transformer.js.map +1 -1
  24. package/dist/codegen/graphql/type/select.js +9 -2
  25. package/dist/codegen/graphql/type/select.js.map +1 -1
  26. package/dist/codegen/graphql/type/type-from-field.d.ts +2 -2
  27. package/dist/codegen/graphql/type/type-from-field.js +2 -2
  28. package/dist/codegen/graphql/type/type-from-field.js.map +1 -1
  29. package/dist/codegen/graphql/utils/types.d.ts +2 -2
  30. package/dist/codegen/graphql/utils/types.js.map +1 -1
  31. package/dist/codegen/resource/graphql/key-builder.d.ts +2 -2
  32. package/dist/codegen/resource/graphql/key-builder.js +8 -7
  33. package/dist/codegen/resource/graphql/key-builder.js.map +1 -1
  34. package/dist/codegen/rest/source-printer/rest-source-printer.js +4 -3
  35. package/dist/codegen/rest/source-printer/rest-source-printer.js.map +1 -1
  36. package/dist/codegen/shape/graphql/shape-cache-keys.js +24 -22
  37. package/dist/codegen/shape/graphql/shape-cache-keys.js.map +1 -1
  38. package/dist/codegen/shape/graphql/shape-ingest.js +22 -18
  39. package/dist/codegen/shape/graphql/shape-ingest.js.map +1 -1
  40. package/dist/codegen/shape/graphql/shape-type-definition.js +7 -1
  41. package/dist/codegen/shape/graphql/shape-type-definition.js.map +1 -1
  42. package/dist/codegen/shape/shape-ingest-paginated.js +3 -2
  43. package/dist/codegen/shape/shape-ingest-paginated.js.map +1 -1
  44. package/dist/interfaces/source-printers/index.d.ts +2 -2
  45. package/dist/interfaces/source-printers/index.js +4 -0
  46. package/dist/interfaces/source-printers/index.js.map +1 -1
  47. package/dist/interfaces/source-printers/source-printer.d.ts +2 -0
  48. package/dist/interfaces/source-printers/source-printer.js +3 -0
  49. package/dist/interfaces/source-printers/source-printer.js.map +1 -1
  50. package/dist/intermediate/graphql.d.ts +1 -0
  51. package/package.json +4 -4
@@ -5,9 +5,27 @@ export declare class GraphQLDSL implements LuvioGraphQLDSL {
5
5
  schema: Readonly<GraphQLSchema>;
6
6
  schemaName: Readonly<string>;
7
7
  customScalars: GraphQLScalarType[];
8
+ cursorConnectionTypes: Readonly<string[]>;
8
9
  typeNameToExtensions: GraphQLTypeExtensions;
9
10
  constructor(luvioSchemaParams: Readonly<LuvioGraphQLDSLParams>);
10
11
  private extractCustomScalars;
12
+ /**
13
+ * Find schema types that satisfy the GraphQL Cursor Connections spec.
14
+ * See https://relay.dev/graphql/connections.htm
15
+ *
16
+ * The conditions are:
17
+ * 1. Name must end with "Connections"
18
+ * 2. Must have a non-null field named "edges". This field must return a list type
19
+ * that wraps an Edge type. Edge types must have fields named "node" (Object)
20
+ * and "cursor" (non-null type that serializes as a String)
21
+ * 3. Must have a field named "pageInfo". This field must return a PageInfo
22
+ * object. PageInfo must have fields "hasNextPage" (Boolean!),
23
+ * "hasPreviousPage" (Boolean!), "startCursor" (String!), and "endCursor" (String!)
24
+ */
25
+ private extractCursorConnectionTypes;
26
+ private hasEdgesField;
27
+ private hasPageInfoField;
28
+ private findField;
11
29
  }
12
30
  export declare function interpretGraphQLSchema(schemaString: string): Readonly<GraphQLSchema>;
13
31
  export {};
@@ -2,12 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.interpretGraphQLSchema = exports.GraphQLDSL = void 0;
4
4
  const graphql_parser_1 = require("@luvio/graphql-parser");
5
+ const NODE_KIND_LIST_TYPE = 'ListType';
6
+ const NODE_KIND_NAMED_TYPE = 'NamedType';
7
+ const NODE_KIND_NON_NULL_TYPE = 'NonNullType';
8
+ const NODE_TYPE_CONNECTION = 'Connection';
9
+ const NODE_NAME_EDGES = 'edges';
10
+ const NODE_NAME_NODE = 'node';
11
+ const NODE_NAME_CURSOR = 'cursor';
12
+ const NODE_NAME_PAGE_INFO = 'pageInfo';
13
+ const NODE_NAME_START_CURSOR = 'startCursor';
14
+ const NODE_NAME_END_CURSOR = 'endCursor';
15
+ const NODE_NAME_HAS_NEXT_PAGE = 'hasNextPage';
16
+ const NODE_NAME_HAS_PREVIOUS_PAGE = 'hasPreviousPage';
5
17
  class GraphQLDSL {
6
18
  constructor(luvioSchemaParams) {
7
19
  this.customScalars = [];
8
20
  this.schemaName = luvioSchemaParams.schemaName;
9
21
  this.schema = luvioSchemaParams.schema;
10
22
  this.typeNameToExtensions = luvioSchemaParams.typeNameToExtensions;
23
+ this.cursorConnectionTypes = this.extractCursorConnectionTypes();
11
24
  this.extractCustomScalars();
12
25
  }
13
26
  extractCustomScalars() {
@@ -17,6 +30,94 @@ class GraphQLDSL {
17
30
  }
18
31
  });
19
32
  }
33
+ /**
34
+ * Find schema types that satisfy the GraphQL Cursor Connections spec.
35
+ * See https://relay.dev/graphql/connections.htm
36
+ *
37
+ * The conditions are:
38
+ * 1. Name must end with "Connections"
39
+ * 2. Must have a non-null field named "edges". This field must return a list type
40
+ * that wraps an Edge type. Edge types must have fields named "node" (Object)
41
+ * and "cursor" (non-null type that serializes as a String)
42
+ * 3. Must have a field named "pageInfo". This field must return a PageInfo
43
+ * object. PageInfo must have fields "hasNextPage" (Boolean!),
44
+ * "hasPreviousPage" (Boolean!), "startCursor" (String!), and "endCursor" (String!)
45
+ */
46
+ extractCursorConnectionTypes() {
47
+ const cursorConnectionTypes = [];
48
+ Object.values(this.schema.getTypeMap()).forEach((typeDef) => {
49
+ if (typeDef.name.endsWith(NODE_TYPE_CONNECTION) &&
50
+ this.hasEdgesField(typeDef) &&
51
+ this.hasPageInfoField(typeDef)) {
52
+ cursorConnectionTypes.push(typeDef.name);
53
+ }
54
+ });
55
+ return cursorConnectionTypes;
56
+ }
57
+ hasEdgesField(typeDef) {
58
+ const edgesField = this.findField(typeDef.astNode, NODE_NAME_EDGES);
59
+ if (edgesField === undefined ||
60
+ edgesField.type.kind !== NODE_KIND_LIST_TYPE ||
61
+ edgesField.type.type.kind !== NODE_KIND_NAMED_TYPE) {
62
+ return false;
63
+ }
64
+ const edgeType = this.schema.getType(edgesField.type.type.name.value);
65
+ if (edgeType === undefined || edgeType === null) {
66
+ return false;
67
+ }
68
+ const nodeField = this.findField(edgeType.astNode, NODE_NAME_NODE);
69
+ if (nodeField === undefined) {
70
+ return false;
71
+ }
72
+ const cursorField = this.findField(edgeType.astNode, NODE_NAME_CURSOR);
73
+ if (cursorField === undefined ||
74
+ (cursorField.type.kind !== NODE_KIND_NON_NULL_TYPE &&
75
+ cursorField.type.kind !== NODE_KIND_NAMED_TYPE)) {
76
+ return false;
77
+ }
78
+ if (cursorField.type.kind === NODE_KIND_NON_NULL_TYPE &&
79
+ cursorField.type.type.kind !== NODE_KIND_NAMED_TYPE) {
80
+ return false;
81
+ }
82
+ return true;
83
+ }
84
+ hasPageInfoField(typeDef) {
85
+ const pageInfoField = this.findField(typeDef.astNode, NODE_NAME_PAGE_INFO);
86
+ if (pageInfoField === undefined) {
87
+ return false;
88
+ }
89
+ let pageInfoTypeName;
90
+ if (pageInfoField.type.kind === NODE_KIND_NON_NULL_TYPE &&
91
+ pageInfoField.type.type.kind === NODE_KIND_NAMED_TYPE) {
92
+ pageInfoTypeName = pageInfoField.type.type.name.value;
93
+ }
94
+ else if (pageInfoField.type.kind === NODE_KIND_NAMED_TYPE) {
95
+ pageInfoTypeName = pageInfoField.type.name.value;
96
+ }
97
+ else {
98
+ return false;
99
+ }
100
+ const pageInfoType = this.schema.getType(pageInfoTypeName);
101
+ if (pageInfoType === undefined || pageInfoType === null) {
102
+ return false;
103
+ }
104
+ if (this.findField(pageInfoType.astNode, NODE_NAME_HAS_NEXT_PAGE) === undefined ||
105
+ this.findField(pageInfoType.astNode, NODE_NAME_HAS_PREVIOUS_PAGE) === undefined ||
106
+ this.findField(pageInfoType.astNode, NODE_NAME_START_CURSOR) === undefined ||
107
+ this.findField(pageInfoType.astNode, NODE_NAME_END_CURSOR) === undefined) {
108
+ return false;
109
+ }
110
+ return true;
111
+ }
112
+ findField(astNode, fieldName) {
113
+ if (astNode !== undefined && astNode !== null && astNode.kind === 'ObjectTypeDefinition') {
114
+ const fields = astNode.fields || [];
115
+ return fields.find((field) => {
116
+ return field.name.value === fieldName;
117
+ });
118
+ }
119
+ return undefined;
120
+ }
20
121
  }
21
122
  exports.GraphQLDSL = GraphQLDSL;
22
123
  function interpretGraphQLSchema(schemaString) {
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-dsl.js","sourceRoot":"","sources":["../../../src/codegen/graphql/graphql-dsl.ts"],"names":[],"mappings":";;;AAAA,0DAA4E;AAU5E,MAAa,UAAU;IAQnB,YAAY,iBAAkD;QAH9D,kBAAa,GAAwB,EAAE,CAAC;QAIpC,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;QAEnE,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAEO,oBAAoB;QACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpD,IAAI,IAAA,6BAAY,EAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE;gBAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAvBD,gCAuBC;AAED,SAAgB,sBAAsB,CAAC,YAAoB;IACvD,OAAO,IAAA,+BAAc,EAAC,IAAA,sBAAK,EAAC,YAAY,CAAC,CAAC,CAAC;AAC/C,CAAC;AAFD,wDAEC"}
1
+ {"version":3,"file":"graphql-dsl.js","sourceRoot":"","sources":["../../../src/codegen/graphql/graphql-dsl.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const imports_1 = require("../../../utils/imports");
11
11
  const select_1 = require("./select");
12
12
  const query_transformer_1 = require("./query-transformer");
13
13
  const type_cache_keys_1 = require("./type-cache-keys");
14
+ const type_from_field_1 = require("../type/type-from-field");
14
15
  function generateInterfaceType(graphqlDsl, typeName, def, importContext, metadata) {
15
16
  return (0, imports_1.resolveImports)((0, deindent_1.default) `
16
17
  export const name = '${typeName}';
@@ -19,6 +20,7 @@ function generateInterfaceType(graphqlDsl, typeName, def, importContext, metadat
19
20
  ${(0, select_1.generateSelect)(graphqlDsl, typeName, def, importContext, metadata)}
20
21
  ${(0, query_transformer_1.generate)(graphqlDsl, typeName, def, importContext, metadata)}
21
22
  ${(0, type_cache_keys_1.generateGetTypeCacheKeys)(graphqlDsl, typeName, def, importContext, metadata)}
23
+ ${(0, type_from_field_1.generateGetFieldType)(graphqlDsl, def)}
22
24
  `);
23
25
  }
24
26
  exports.generateInterfaceType = generateInterfaceType;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,2CAAgD;AAChD,qCAA0C;AAC1C,oDAAwD;AAKxD,qCAA0C;AAC1C,2DAA2E;AAC3E,uDAA6D;AAE7D,SAAgB,qBAAqB,CACjC,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,QAAQ;UAC7B,IAAA,6BAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACzD,IAAA,uBAAc,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAClE,IAAA,uBAAc,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAClE,IAAA,4BAAwB,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAC5E,IAAA,0CAAwB,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KACjF,CAAC,CAAC;AACP,CAAC;AAfD,sDAeC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,2CAAgD;AAChD,qCAA0C;AAC1C,oDAAwD;AAKxD,qCAA0C;AAC1C,2DAA2E;AAC3E,uDAA6D;AAC7D,6DAA+D;AAE/D,SAAgB,qBAAqB,CACjC,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,QAAQ;UAC7B,IAAA,6BAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACzD,IAAA,uBAAc,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAClE,IAAA,uBAAc,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAClE,IAAA,4BAAwB,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAC5E,IAAA,0CAAwB,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAC5E,IAAA,sCAAoB,EAAC,UAAU,EAAE,GAAG,CAAC;KAC1C,CAAC,CAAC;AACP,CAAC;AAhBD,sDAgBC"}
@@ -10,8 +10,8 @@ function generate(graphqlDsl, typeName, def, importContext, _metadata) {
10
10
  var _a;
11
11
  const { schema } = graphqlDsl;
12
12
  const isQueryType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName;
13
- const queryTransform = (0, query_transformer_1.generateQueryTransformerForFields)(graphqlDsl, def, importContext);
14
- const minimumFields = (0, query_transformer_1.generateGetMinimumFields)(isQueryType, def);
13
+ const queryTransform = (0, query_transformer_1.generateQueryTransformerForFields)(graphqlDsl, def, importContext, typeName);
14
+ const minimumFields = (0, query_transformer_1.generateGetMinimumFields)(isQueryType, def, graphqlDsl);
15
15
  return (0, deindent_1.default) `
16
16
  ${queryTransform}
17
17
  ${minimumFields}
@@ -1 +1 @@
1
- {"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/query-transformer.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAI/C,iEAGmC;AAEnC,SAAgB,QAAQ,CACpB,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,WAAW,GAAG,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ,CAAC;IAE7D,MAAM,cAAc,GAAG,IAAA,qDAAiC,EAAC,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,IAAA,4CAAwB,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEjE,OAAO,IAAA,kBAAQ,EAAA;UACT,cAAc;UACd,aAAa;KAClB,CAAC;AACN,CAAC;AAjBD,4BAiBC"}
1
+ {"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/query-transformer.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAI/C,iEAGmC;AAEnC,SAAgB,QAAQ,CACpB,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,WAAW,GAAG,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ,CAAC;IAE7D,MAAM,cAAc,GAAG,IAAA,qDAAiC,EACpD,UAAU,EACV,GAAG,EACH,aAAa,EACb,QAAQ,CACX,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,4CAAwB,EAAC,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAE7E,OAAO,IAAA,kBAAQ,EAAA;UACT,cAAc;UACd,aAAa;KAClB,CAAC;AACN,CAAC;AAtBD,4BAsBC"}
@@ -16,4 +16,5 @@ export declare class GraphQLTypeSourcePrinter implements GraphQLTypePrinter {
16
16
  };
17
17
  generateGraphQLInteropTypes(modelInfo: ModelInfo, compilerBaseOutputDir: path.ParsedPath, graphqlResource: GraphQLResource, plugin?: CompilerPlugin): GraphQLTypeGenerationResult;
18
18
  addTypeModule(graphQLResource: GraphQLResource, compilerBaseOutputDir: path.ParsedPath, metadata: GraphQLCodegenMetadata, modules: GraphQLTypeGenerationResult, plugin?: CompilerPlugin): void;
19
+ addCursorModule(modules: GraphQLTypeGenerationResult): void;
19
20
  }
@@ -15,6 +15,8 @@ const utils_1 = require("../../../intermediate/utils");
15
15
  const graphql_1 = require("../../shape/graphql");
16
16
  const interface_1 = require("../interface");
17
17
  const _1 = require(".");
18
+ const cursor_based_1 = require("../../../codegen/pagination-utils/cursor-based");
19
+ const source_printers_1 = require("../../../interfaces/source-printers");
18
20
  exports.GRAPHQL_OBJECT_TYPENAME = 'typeName';
19
21
  const GRAPHQL_TYPES_DIRECTORY = 'types';
20
22
  const TYPES_DIRECTORY_NAME = 'types';
@@ -24,6 +26,9 @@ class GraphQLTypeSourcePrinter {
24
26
  const typeKeys = Object.keys(graphqlDSL.schema.getTypeMap());
25
27
  const modules = {};
26
28
  this.addTypeModule(graphQLResource, compilerBaseOutputDir, metadata, modules, plugin);
29
+ if (graphqlDSL.cursorConnectionTypes.length > 0) {
30
+ this.addCursorModule(modules);
31
+ }
27
32
  // TODO: What should happen if multiple endpoints use the same Representation? Technically this would be legal in RAML as the
28
33
  // top level types are the same.
29
34
  Object.assign(modules, this.generateGraphQLInteropTypes(modelInfo, compilerBaseOutputDir, graphQLResource, plugin));
@@ -86,6 +91,11 @@ class GraphQLTypeSourcePrinter {
86
91
  const typeUtil = (0, generateTypeUtil_1.generateTypeUtil)(graphQLResource, metadata, importContext);
87
92
  modules[relPath] = typeUtil;
88
93
  }
94
+ addCursorModule(modules) {
95
+ const relPath = path_1.default.join(source_printers_1.PAGINATION_DIRECTORY_NAME, source_printers_1.CURSOR_FILE_NAME);
96
+ const paginationUtil = (0, cursor_based_1.generatePaginationUtils)();
97
+ modules[`${relPath}.ts`] = paginationUtil;
98
+ }
89
99
  }
90
100
  exports.GraphQLTypeSourcePrinter = GraphQLTypeSourcePrinter;
91
101
  //# sourceMappingURL=graphql-type-source-printer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-type-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-type-source-printer.ts"],"names":[],"mappings":";;;;;;AAEA,oDAA6D;AAC7D,gDAAwB;AACxB,0DAA6C;AAC7C,kCAAuC;AACvC,+DAA4D;AAC5D,oCAAyD;AACzD,kCAAuD;AAIvD,uDAA0D;AAG1D,iDAAuE;AACvE,4CAAqD;AACrD,wBAA6C;AAEhC,QAAA,uBAAuB,GAAG,UAAU,CAAC;AAClD,MAAM,uBAAuB,GAAG,OAAO,CAAC;AACxC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAIrC,MAAa,wBAAwB;IACjC,QAAQ,CACJ,eAAgC,EAChC,qBAAsC,EACtC,QAAgC,EAChC,SAAoB,EACpB,MAAuB;QAEvB,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAgC,EAAE,CAAC;QAEhD,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEtF,6HAA6H;QAC7H,gCAAgC;QAChC,MAAM,CAAC,MAAM,CACT,OAAO,EACP,IAAI,CAAC,2BAA2B,CAC5B,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,MAAM,CACT,CACJ,CAAC;QAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACzB,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1D,IACI,cAAc,KAAK,SAAS;gBAC5B,cAAc,KAAK,IAAI;gBACvB,cAAc,CAAC,OAAO,KAAK,SAAS;gBACpC,cAAc,CAAC,OAAO,KAAK,IAAI,EACjC;gBACE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;gBACzC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAClE,qBAAqB,EACrB,cAAc,CAAC,IAAI,EACnB,MAAM,CACT,CAAC;gBAEF,QAAQ,IAAI,EAAE;oBACV,KAAK,qBAAI,CAAC,sBAAsB;wBAC5B,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,mBAAY,EAC3B,UAAU,EACV,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,OAAO,EACtB,aAAa,EACb,QAAQ,EACR,SAAS,CACZ,CAAC;wBACF,MAAM;oBACV,KAAK,qBAAI,CAAC,yBAAyB;wBAC/B,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,iCAAqB,EACpC,UAAU,EACV,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,OAAO,EACtB,aAAa,EACb,QAAQ,CACX,CAAC;wBACF,MAAM;oBAEV,KAAK,qBAAI,CAAC,qBAAqB;wBAC3B,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,gBAAiB,EAChC,UAAU,EACV,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,OAAO,EACtB,aAAa,EACb,QAAQ,CACX,CAAC;wBACF,MAAM;oBAEV,KAAK,qBAAI,CAAC,oBAAoB;wBAC1B,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,eAAgB,EAC/B,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,OAAO,EACtB,aAAa,EACb,QAAQ,CACX,CAAC;wBACF,MAAM;oBAEV;wBACI,gBAAgB;wBAChB,MAAM;iBACb;aACJ;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,8BAA8B,CAC1B,qBAAsC,EACtC,OAAe,EACf,MAAuB;QAEvB,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAC5B,2BAAwB,EACxB,uBAAuB,EACvB,GAAG,OAAO,KAAK,CAClB,CAAC;QACF,MAAM,YAAY,GAAG,cAAI,CAAC,KAAK,CAC3B,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,cAAc,CAAC,CACnE,CAAC;QACF,OAAO;YACH,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,IAAA,6BAAmB,EAAC,YAAY,EAAE,qBAAqB,EAAE,MAAM,CAAC;SAClF,CAAC;IACN,CAAC;IAED,2BAA2B,CACvB,SAAoB,EACpB,qBAAsC,EACtC,eAAgC,EAChC,MAAuB;QAEvB,MAAM,OAAO,GAAgC,EAAE,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE;YACnE,IAAI,IAAA,mBAAW,EAAC,KAAK,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBACzD,MAAM,OAAO,GAAG,GAAG,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;gBAC3D,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC/E,MAAM,WAAW,GAAuB;oBACpC,KAAK;oBACL,SAAS;oBACT,aAAa,EAAE,OAAO;oBACtB,aAAa,EAAE,IAAA,6BAAmB,EAC9B,cAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EACxB,qBAAqB,EACrB,MAAM,CACT;iBACJ,CAAC;gBAEF,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,0CAAgC,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;aACrF;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,aAAa,CACT,eAAgC,EAChC,qBAAsC,EACtC,QAAgC,EAChC,OAAoC,EACpC,MAAuB;QAEvB,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAClE,qBAAqB,EACrB,WAAW,EACX,MAAM,CACT,CAAC;QACF,MAAM,QAAQ,GAAW,IAAA,mCAAgB,EAAC,eAAe,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACpF,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;IAChC,CAAC;CACJ;AAxJD,4DAwJC"}
1
+ {"version":3,"file":"graphql-type-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-type-source-printer.ts"],"names":[],"mappings":";;;;;;AAEA,oDAA6D;AAC7D,gDAAwB;AACxB,0DAA6C;AAC7C,kCAAuC;AACvC,+DAA4D;AAC5D,oCAAyD;AACzD,kCAAuD;AAIvD,uDAA0D;AAG1D,iDAAuE;AACvE,4CAAqD;AACrD,wBAA6C;AAC7C,iFAAyF;AACzF,yEAAkG;AAErF,QAAA,uBAAuB,GAAG,UAAU,CAAC;AAClD,MAAM,uBAAuB,GAAG,OAAO,CAAC;AACxC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAIrC,MAAa,wBAAwB;IACjC,QAAQ,CACJ,eAAgC,EAChC,qBAAsC,EACtC,QAAgC,EAChC,SAAoB,EACpB,MAAuB;QAEvB,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAgC,EAAE,CAAC;QAEhD,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEtF,IAAI,UAAU,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACjC;QAED,6HAA6H;QAC7H,gCAAgC;QAChC,MAAM,CAAC,MAAM,CACT,OAAO,EACP,IAAI,CAAC,2BAA2B,CAC5B,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,MAAM,CACT,CACJ,CAAC;QAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACzB,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1D,IACI,cAAc,KAAK,SAAS;gBAC5B,cAAc,KAAK,IAAI;gBACvB,cAAc,CAAC,OAAO,KAAK,SAAS;gBACpC,cAAc,CAAC,OAAO,KAAK,IAAI,EACjC;gBACE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;gBACzC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAClE,qBAAqB,EACrB,cAAc,CAAC,IAAI,EACnB,MAAM,CACT,CAAC;gBAEF,QAAQ,IAAI,EAAE;oBACV,KAAK,qBAAI,CAAC,sBAAsB;wBAC5B,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,mBAAY,EAC3B,UAAU,EACV,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,OAAO,EACtB,aAAa,EACb,QAAQ,EACR,SAAS,CACZ,CAAC;wBACF,MAAM;oBACV,KAAK,qBAAI,CAAC,yBAAyB;wBAC/B,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,iCAAqB,EACpC,UAAU,EACV,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,OAAO,EACtB,aAAa,EACb,QAAQ,CACX,CAAC;wBACF,MAAM;oBAEV,KAAK,qBAAI,CAAC,qBAAqB;wBAC3B,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,gBAAiB,EAChC,UAAU,EACV,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,OAAO,EACtB,aAAa,EACb,QAAQ,CACX,CAAC;wBACF,MAAM;oBAEV,KAAK,qBAAI,CAAC,oBAAoB;wBAC1B,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,eAAgB,EAC/B,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,OAAO,EACtB,aAAa,EACb,QAAQ,CACX,CAAC;wBACF,MAAM;oBAEV;wBACI,gBAAgB;wBAChB,MAAM;iBACb;aACJ;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,8BAA8B,CAC1B,qBAAsC,EACtC,OAAe,EACf,MAAuB;QAEvB,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAC5B,2BAAwB,EACxB,uBAAuB,EACvB,GAAG,OAAO,KAAK,CAClB,CAAC;QACF,MAAM,YAAY,GAAG,cAAI,CAAC,KAAK,CAC3B,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,cAAc,CAAC,CACnE,CAAC;QACF,OAAO;YACH,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,IAAA,6BAAmB,EAAC,YAAY,EAAE,qBAAqB,EAAE,MAAM,CAAC;SAClF,CAAC;IACN,CAAC;IAED,2BAA2B,CACvB,SAAoB,EACpB,qBAAsC,EACtC,eAAgC,EAChC,MAAuB;QAEvB,MAAM,OAAO,GAAgC,EAAE,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE;YACnE,IAAI,IAAA,mBAAW,EAAC,KAAK,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBACzD,MAAM,OAAO,GAAG,GAAG,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;gBAC3D,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC/E,MAAM,WAAW,GAAuB;oBACpC,KAAK;oBACL,SAAS;oBACT,aAAa,EAAE,OAAO;oBACtB,aAAa,EAAE,IAAA,6BAAmB,EAC9B,cAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EACxB,qBAAqB,EACrB,MAAM,CACT;iBACJ,CAAC;gBAEF,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,0CAAgC,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;aACrF;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,aAAa,CACT,eAAgC,EAChC,qBAAsC,EACtC,QAAgC,EAChC,OAAoC,EACpC,MAAuB;QAEvB,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAClE,qBAAqB,EACrB,WAAW,EACX,MAAM,CACT,CAAC;QACF,MAAM,QAAQ,GAAW,IAAA,mCAAgB,EAAC,eAAe,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACpF,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED,eAAe,CAAC,OAAoC;QAChD,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,2CAAyB,EAAE,kCAAgB,CAAC,CAAC;QACvE,MAAM,cAAc,GAAW,IAAA,sCAAuB,GAAE,CAAC;QACzD,OAAO,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,cAAc,CAAC;IAC9C,CAAC;CACJ;AAlKD,4DAkKC"}
@@ -27,3 +27,10 @@ export declare const QUERY_TRANSFORM_HELPER_IDENTIFIER = "QueryTransformHelper";
27
27
  export declare const GET_FIELD_TYPE_IDENTIFIER = "getFieldType";
28
28
  export declare const INGEST_FIELD_BY_TYPE_IDENTIFIER = "ingestFieldByType";
29
29
  export declare const IS_MAPPED_FIELD_IDENTIFIER = "isMappedField";
30
+ export declare const PAGE_INFO_IDENTIFIER = "pageInfo";
31
+ export declare const EDGES_IDENTIFIER = "edges";
32
+ export declare const NODE_IDENTIFIER = "node";
33
+ export declare const CURSOR_IDENTIFIER = "cursor";
34
+ export declare const HAS_NEXT_PAGE_IDENTIFIER = "hasNextPage";
35
+ export declare const END_CURSOR_IDENTIFIER = "endCursor";
36
+ export declare const START_CURSOR_IDENTIFIER = "startCursor";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IS_MAPPED_FIELD_IDENTIFIER = exports.INGEST_FIELD_BY_TYPE_IDENTIFIER = exports.GET_FIELD_TYPE_IDENTIFIER = exports.QUERY_TRANSFORM_HELPER_IDENTIFIER = exports.GET_MINIMUM_FIELDS_IDENTIFIER = exports.GET_QUERY_TRANSFORM_HELPER_FOR_TYPE_IDENTIFIER = exports.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER = exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = exports.SINK_IDENTIFIER = exports.REQUESTED_FIELD_NAME_IDENTIFIER = exports.REQUESTED_FIELD_IDENTIFIER = exports.FIELD_DATA_KEY_IDENTIFIER = exports.FIELD_DATA_IDENTIFIER = exports.FIELD_KEY_IDENTIFIER = exports.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = exports.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER = exports.GET_REQUESTED_FIELD_IDENTIFIER = exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = exports.KEY_BUILDER_IDENTIFIER = exports.TYPE_CACHE_KEYS_IDENTIFIER = exports.TYPE_CONVERT_IDENTIFIER = exports.TYPE_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = exports.GRAPHQL_VARIABLES_IDENTIFIER = void 0;
3
+ exports.START_CURSOR_IDENTIFIER = exports.END_CURSOR_IDENTIFIER = exports.HAS_NEXT_PAGE_IDENTIFIER = exports.CURSOR_IDENTIFIER = exports.NODE_IDENTIFIER = exports.EDGES_IDENTIFIER = exports.PAGE_INFO_IDENTIFIER = exports.IS_MAPPED_FIELD_IDENTIFIER = exports.INGEST_FIELD_BY_TYPE_IDENTIFIER = exports.GET_FIELD_TYPE_IDENTIFIER = exports.QUERY_TRANSFORM_HELPER_IDENTIFIER = exports.GET_MINIMUM_FIELDS_IDENTIFIER = exports.GET_QUERY_TRANSFORM_HELPER_FOR_TYPE_IDENTIFIER = exports.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER = exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = exports.SINK_IDENTIFIER = exports.REQUESTED_FIELD_NAME_IDENTIFIER = exports.REQUESTED_FIELD_IDENTIFIER = exports.FIELD_DATA_KEY_IDENTIFIER = exports.FIELD_DATA_IDENTIFIER = exports.FIELD_KEY_IDENTIFIER = exports.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = exports.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER = exports.GET_REQUESTED_FIELD_IDENTIFIER = exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = exports.KEY_BUILDER_IDENTIFIER = exports.TYPE_CACHE_KEYS_IDENTIFIER = exports.TYPE_CONVERT_IDENTIFIER = exports.TYPE_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = exports.GRAPHQL_VARIABLES_IDENTIFIER = void 0;
4
4
  exports.GRAPHQL_VARIABLES_IDENTIFIER = 'GraphQLVariables';
5
5
  exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = 'GraphQLFragmentMap';
6
6
  exports.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = 'GraphQLIngestState';
@@ -30,4 +30,11 @@ exports.QUERY_TRANSFORM_HELPER_IDENTIFIER = 'QueryTransformHelper';
30
30
  exports.GET_FIELD_TYPE_IDENTIFIER = 'getFieldType';
31
31
  exports.INGEST_FIELD_BY_TYPE_IDENTIFIER = 'ingestFieldByType';
32
32
  exports.IS_MAPPED_FIELD_IDENTIFIER = 'isMappedField';
33
+ exports.PAGE_INFO_IDENTIFIER = 'pageInfo';
34
+ exports.EDGES_IDENTIFIER = 'edges';
35
+ exports.NODE_IDENTIFIER = 'node';
36
+ exports.CURSOR_IDENTIFIER = 'cursor';
37
+ exports.HAS_NEXT_PAGE_IDENTIFIER = 'hasNextPage';
38
+ exports.END_CURSOR_IDENTIFIER = 'endCursor';
39
+ exports.START_CURSOR_IDENTIFIER = 'startCursor';
33
40
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAClD,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,yCAAyC,GAAG,oBAAoB,CAAC;AACjE,QAAA,kCAAkC,GAAG,cAAc,CAAC;AACpD,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,uBAAuB,GAAG,sBAAsB,CAAC;AACjD,QAAA,0BAA0B,GAAG,kBAAkB,CAAC;AAChD,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oCAAoC,GAAG,yBAAyB,CAAC;AACjE,QAAA,8BAA8B,GAAG,mBAAmB,CAAC;AACrD,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,uCAAuC,GAAG,0BAA0B,CAAC;AACrE,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAClC,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,0BAA0B,GAAG,gBAAgB,CAAC;AAC9C,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,eAAe,GAAG,MAAM,CAAC;AACzB,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,+CAA+C,GAAG,iCAAiC,CAAC;AACpF,QAAA,8CAA8C,GAAG,gCAAgC,CAAC;AAClF,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,iCAAiC,GAAG,sBAAsB,CAAC;AAC3D,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,+BAA+B,GAAG,mBAAmB,CAAC;AACtD,QAAA,0BAA0B,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAClD,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,yCAAyC,GAAG,oBAAoB,CAAC;AACjE,QAAA,kCAAkC,GAAG,cAAc,CAAC;AACpD,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,uBAAuB,GAAG,sBAAsB,CAAC;AACjD,QAAA,0BAA0B,GAAG,kBAAkB,CAAC;AAChD,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oCAAoC,GAAG,yBAAyB,CAAC;AACjE,QAAA,8BAA8B,GAAG,mBAAmB,CAAC;AACrD,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,uCAAuC,GAAG,0BAA0B,CAAC;AACrE,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAClC,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,0BAA0B,GAAG,gBAAgB,CAAC;AAC9C,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,eAAe,GAAG,MAAM,CAAC;AACzB,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,+CAA+C,GAAG,iCAAiC,CAAC;AACpF,QAAA,8CAA8C,GAAG,gCAAgC,CAAC;AAClF,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,iCAAiC,GAAG,sBAAsB,CAAC;AAC3D,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,+BAA+B,GAAG,mBAAmB,CAAC;AACtD,QAAA,0BAA0B,GAAG,eAAe,CAAC;AAC7C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAClC,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,eAAe,GAAG,MAAM,CAAC;AACzB,QAAA,iBAAiB,GAAG,QAAQ,CAAC;AAC7B,QAAA,wBAAwB,GAAG,aAAa,CAAC;AACzC,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,uBAAuB,GAAG,aAAa,CAAC"}
@@ -37,7 +37,7 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
37
37
  };
38
38
 
39
39
  export interface GetQueryTransformHelperFunction {
40
- (fieldId: string): ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER} | undefined;
40
+ (field: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}): ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER} | undefined;
41
41
  }
42
42
 
43
43
  export interface GetMinimumFieldsFunction {
@@ -112,19 +112,23 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
112
112
  ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: () => { return [] }
113
113
  });
114
114
  }
115
- })
115
+ });
116
116
  return query;
117
- }
117
+ }
118
118
 
119
- export function injectSelectionSet (selectionSetNode: ${constants_2.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT}, queryTransformHelper: ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER}|undefined) {
120
- const { selections } = selectionSetNode;
119
+ export function injectSelectionSet (selectionSetNode: ${constants_2.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT}|undefined, queryTransformHelper: ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER}|undefined) {
121
120
  if (queryTransformHelper === undefined ||
122
121
  queryTransformHelper === null ||
123
- selections === undefined ||
122
+ selectionSetNode === undefined) {
123
+ return;
124
+ }
125
+
126
+ const { selections } = selectionSetNode;
127
+ if (selections === undefined ||
124
128
  selections === null) {
125
129
  return;
126
130
  }
127
-
131
+
128
132
  const { getMinimumFields, getQueryTransformHelperForField } = queryTransformHelper;
129
133
 
130
134
  // Call the function to get the minimum fields for this node, filtering out any
@@ -136,11 +140,18 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
136
140
  return !fieldIsAlreadyPresent;
137
141
  });
138
142
 
139
- selectionSetNode.selections = [...selections, ...minimumFields];
140
-
141
- selectionSetNode.selections.forEach(selection => {
142
- if (selection.kind === 'Field' && selection.selectionSet) {
143
- const fieldTransformHelper = getQueryTransformHelperForField(selection.name.value);
143
+ const selectedFields = [...selections, ...minimumFields];
144
+ selectedFields.forEach(selection => {
145
+ if (selection.kind === 'Field') {
146
+ const fieldTransformHelper = getQueryTransformHelperForField(selection);
147
+ if (fieldTransformHelper && !selection.selectionSet) {
148
+ Object.assign(selection, {
149
+ selectionSet: {
150
+ kind: 'SelectionSet',
151
+ selections: []
152
+ }
153
+ });
154
+ }
144
155
  injectSelectionSet(selection.selectionSet, fieldTransformHelper);
145
156
  }
146
157
  if (selection.kind === 'InlineFragment' && selection.selectionSet && selection.typeCondition) {
@@ -163,7 +174,10 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
163
174
  getMinimumFields: wrappedGetMinimumFields
164
175
  });
165
176
  }
166
- })
177
+ });
178
+ Object.assign(selectionSetNode, {
179
+ selections: selectedFields.length > 0 ? selectedFields : undefined
180
+ });
167
181
  }
168
182
 
169
183
  export function ${constants_3.GET_REQUESTED_FIELD_IDENTIFIER}(responseDataFieldName: string, requestedFields: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[]): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} | undefined {
@@ -1 +1 @@
1
- {"version":3,"file":"generateTypeUtil.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/generateTypeUtil.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,oDAAwD;AAExD,oCAAuC;AAGvC,uDAAmF;AACnF,sDAYgC;AAChC,2CAeqB;AAErB,SAAgB,gBAAgB,CAC5B,eAAgC,EAChC,QAAgC,EAChC,aAA4B;;IAE5B,kHAAkH;IAClH,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACnE,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;KAC7E;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACrC,MAAM,qCAAqC,GAAG,aAAa,CAAC,qBAAqB,CAC7E,OAAO,EACP,aAAa,EACb,iCAAiC,CACpC,CAAC;IACF,MAAM,oCAAoC,GAAG,aAAa,CAAC,qBAAqB,CAC5E,OAAO,EACP,aAAa,EACb,gCAAgC,CACnC,CAAC;IAEF,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;sBAC5B,2CAA+B,qBAAqB,yDAA6C;2BAC5F,8CAAkC;;oBAEzC,oDAAwC;yBACnC,wCAA4B;yBAC5B,2CAA+B;;;2BAG7B,qDAAyC,eAAe,8CAAkC;cACvG,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;;;iCAID,6CAAiC;;;;kBAIhD,2CAA+B;;;2BAGtB,6CAAiC;cAC9C,2DAA+C;cAC/C,yCAA6B;;;0BAGjB,kCAAsB;;;;;;0BAMtB,gDAAoC,4BAA4B,8CAAkC,mBAAmB,wCAA4B;+DAC5G,8CAAkC;;;;;;;;;kDAS/C,8CAAkC,gBAAgB,wCAA4B;;;;;iDAK/E,2CAA+B,gBAAgB,wCAA4B;;;;;;;;;;uEAUrD,2CAA+B;;;;;;;;;;;;uEAY/B,kDAAsC;;;;;;;;;;6BAUhF,IAAA,mBAAW,EAC5B,QAAQ,CAAC,OAAO,EAChB,MAAA,eAAe,CAAC,WAAW,0CAAE,EAAE,EAC/B,QAAQ,CAAC,SAAS,CACrB;;0BAEiB,oDAAwC,YAAY,8CAAkC,MAAM,8CAAkC;;;;0BAI9H,2DAA+C,KAAK,qCAAqC;0BACzF,yCAA6B;;;;;;;gEAOS,mDAAuC,2BAA2B,6CAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA8BhH,oCAAoC;;;;yDAI9B,2CAA+B;;;;;;;;;;;;;;;;0BAgB9D,0CAA8B,oDAAoD,2CAA+B,QAAQ,2CAA+B;;;;0BAIxJ,mDAAuC,WAAW,2CAA+B,gBAAgB,wCAA4B;;qGAElD,gDAAoC;;;;0BAI/G,oDAAwC,oCAAoC,mDAAuC,wBAAwB,2CAA+B,MAAM,2CAA+B;gCACzM,2CAA+B;;;;;;sBAMzC,oDAAwC;;;;;;0BAMpC,oDAAwC;;;;;;;KAO7D,CAAC,CAAC;AACP,CAAC;AA3MD,4CA2MC"}
1
+ {"version":3,"file":"generateTypeUtil.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/generateTypeUtil.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,oDAAwD;AAExD,oCAAuC;AAGvC,uDAAmF;AACnF,sDAYgC;AAChC,2CAeqB;AAErB,SAAgB,gBAAgB,CAC5B,eAAgC,EAChC,QAAgC,EAChC,aAA4B;;IAE5B,kHAAkH;IAClH,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACnE,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;KAC7E;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACrC,MAAM,qCAAqC,GAAG,aAAa,CAAC,qBAAqB,CAC7E,OAAO,EACP,aAAa,EACb,iCAAiC,CACpC,CAAC;IACF,MAAM,oCAAoC,GAAG,aAAa,CAAC,qBAAqB,CAC5E,OAAO,EACP,aAAa,EACb,gCAAgC,CACnC,CAAC;IAEF,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;sBAC5B,2CAA+B,qBAAqB,yDAA6C;2BAC5F,8CAAkC;;oBAEzC,oDAAwC;yBACnC,wCAA4B;yBAC5B,2CAA+B;;;2BAG7B,qDAAyC,eAAe,8CAAkC;cACvG,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;;;sBAIZ,2CAA+B,MAAM,6CAAiC;;;;kBAI1E,2CAA+B;;;2BAGtB,6CAAiC;cAC9C,2DAA+C;cAC/C,yCAA6B;;;0BAGjB,kCAAsB;;;;;;0BAMtB,gDAAoC,4BAA4B,8CAAkC,mBAAmB,wCAA4B;+DAC5G,8CAAkC;;;;;;;;;kDAS/C,8CAAkC,gBAAgB,wCAA4B;;;;;iDAK/E,2CAA+B,gBAAgB,wCAA4B;;;;;;;;;;uEAUrD,2CAA+B;;;;;;;;;;;;uEAY/B,kDAAsC;;;;;;;;;;6BAUhF,IAAA,mBAAW,EAC5B,QAAQ,CAAC,OAAO,EAChB,MAAA,eAAe,CAAC,WAAW,0CAAE,EAAE,EAC/B,QAAQ,CAAC,SAAS,CACrB;;0BAEiB,oDAAwC,YAAY,8CAAkC,MAAM,8CAAkC;;;;0BAI9H,2DAA+C,KAAK,qCAAqC;0BACzF,yCAA6B;;;;;;;gEAOS,mDAAuC,qCAAqC,6CAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAyC1H,oCAAoC;;;;yDAI9B,2CAA+B;;;;;;;;;;;;;;;;;;;0BAmB9D,0CAA8B,oDAAoD,2CAA+B,QAAQ,2CAA+B;;;;0BAIxJ,mDAAuC,WAAW,2CAA+B,gBAAgB,wCAA4B;;qGAElD,gDAAoC;;;;0BAI/G,oDAAwC,oCAAoC,mDAAuC,wBAAwB,2CAA+B,MAAM,2CAA+B;gCACzM,2CAA+B;;;;;;sBAMzC,oDAAwC;;;;;;0BAMpC,oDAAwC;;;;;;;KAO7D,CAAC,CAAC;AACP,CAAC;AAzND,4CAyNC"}
@@ -13,10 +13,10 @@ const constants_2 = require("./constants");
13
13
  const interface_1 = require("./interface");
14
14
  const FIELD_TYPE_IDENTIFIER = 'fieldType';
15
15
  const REQUESTED_FIELDS_IDENTIFIER = 'requestedFields';
16
- function generateObjectTypeIngest(importContext) {
16
+ function generateObjectTypeIngest(importContext, graphqlTypeName) {
17
17
  const ingestStatements = [
18
18
  getRequestedFieldsStatement(importContext),
19
- iterateThroughResponseKeys(importContext),
19
+ iterateThroughResponseKeys(importContext, graphqlTypeName),
20
20
  ];
21
21
  return ingestStatements.join('\n');
22
22
  }
@@ -29,9 +29,10 @@ function getRequestedFieldsStatement(importContext) {
29
29
  [];
30
30
  `;
31
31
  }
32
- function iterateThroughResponseKeys(importContext) {
32
+ function iterateThroughResponseKeys(importContext, graphqlTypeName) {
33
33
  const getRequestedFieldImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
34
34
  const getFieldKeyImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
35
+ const getFieldTypeImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_2.GET_FIELD_TYPE_IDENTIFIER);
35
36
  return (0, deindent_1.default) `
36
37
  for(const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} of Object.keys(data)){
37
38
  const ${constants_2.FIELD_DATA_IDENTIFIER} = data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}];
@@ -43,7 +44,13 @@ function iterateThroughResponseKeys(importContext) {
43
44
  continue; // Skips scalar fields that are mapped to RAML.
44
45
  }
45
46
  const ${constants_2.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}, state.variables);
46
- const ${FIELD_TYPE_IDENTIFIER} = ${constants_2.GET_FIELD_TYPE_IDENTIFIER}(${constants_2.REQUESTED_FIELD_IDENTIFIER});
47
+ const ${FIELD_TYPE_IDENTIFIER} = ${getFieldTypeImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER});
48
+ if(fieldType === undefined) {
49
+ // This field's type is unknown to us. This breaks normalization.
50
+ console.warn(\`Unknown Field: ${constants_2.REQUESTED_FIELD_IDENTIFIER}. This field or nested fields cannot participate in normalization\`);
51
+ ${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
52
+ continue;
53
+ }
47
54
  if (${constants_2.FIELD_DATA_IDENTIFIER} === null) {
48
55
  ${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
49
56
  continue; // Don't delegate null to type ingest.
@@ -95,7 +102,7 @@ function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metada
95
102
  const ${constants_2.SINK_IDENTIFIER}: Record<string,any> = {};
96
103
 
97
104
  // ingest field data
98
- ${generateObjectTypeIngest(importContext)}
105
+ ${generateObjectTypeIngest(importContext, graphqlTypeName)}
99
106
 
100
107
  // merge existing cache data and new request response data
101
108
  let mergedData: Record<string,any>;
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import type { FieldDefinitionNode, ObjectTypeDefinitionNode, TypeNode } from '@luvio/graphql-parser';
1
+ import type { ObjectTypeDefinitionNode, InterfaceTypeDefinitionNode, TypeNode } from '@luvio/graphql-parser';
2
2
  import type { GraphQLCodegenMetadata } from '../source-printer/graphql-source-printer';
3
3
  import type { ImportContext } from '../../../utils/imports';
4
4
  import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
@@ -10,5 +10,5 @@ export declare function generateTypeReference(type: TypeNode, importContext: Imp
10
10
  required: boolean;
11
11
  array: boolean;
12
12
  }): string;
13
- export declare function getMinimumFields(idNode: FieldDefinitionNode | undefined): string[];
13
+ export declare function getMinimumFields(def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, graphqlDsl: LuvioGraphQLDSL): string[];
14
14
  export declare function generateInterfaces(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;
@@ -7,6 +7,7 @@ exports.generateInterfaces = exports.getMinimumFields = exports.generateTypeRefe
7
7
  const deindent_1 = __importDefault(require("../../../utils/deindent"));
8
8
  const key_1 = require("./key");
9
9
  const utils_1 = require("./utils");
10
+ const constants_1 = require("./constants");
10
11
  exports.TYPE_INTERFACE_IDENTIFIER = 'Interface';
11
12
  exports.TYPE_NAME_IDENTIFIER = '__typename';
12
13
  exports.MINIMUM_INTERFACE_IDENTIFIER = `Minimum${exports.TYPE_INTERFACE_IDENTIFIER}`;
@@ -43,11 +44,16 @@ function generateTypeReference(type, importContext, scalarToPrimitiveMap, state)
43
44
  }
44
45
  }
45
46
  exports.generateTypeReference = generateTypeReference;
46
- function getMinimumFields(idNode) {
47
+ function getMinimumFields(def, graphqlDsl) {
47
48
  const minimumFields = [exports.TYPE_NAME_IDENTIFIER];
49
+ const idNode = (0, key_1.findIdNode)(def);
48
50
  if (idNode !== undefined) {
49
51
  minimumFields.push(idNode.name.value);
50
52
  }
53
+ if (graphqlDsl.cursorConnectionTypes.includes(def.name.value)) {
54
+ minimumFields.push(constants_1.EDGES_IDENTIFIER);
55
+ minimumFields.push(constants_1.PAGE_INFO_IDENTIFIER);
56
+ }
51
57
  return minimumFields;
52
58
  }
53
59
  exports.getMinimumFields = getMinimumFields;
@@ -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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"}
@@ -2,7 +2,7 @@ import type { GraphQLSchema, InterfaceTypeDefinitionNode, ObjectTypeDefinitionNo
2
2
  import type { ImportContext } from '../../../utils/imports';
3
3
  import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
4
4
  import type { GraphQLCodegenMetadata } from '../source-printer';
5
- export declare function generateQueryTransformerForFields(graphqlDsl: LuvioGraphQLDSL, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext): string;
5
+ export declare function generateQueryTransformerForFields(graphqlDsl: LuvioGraphQLDSL, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext, typeName: string): string;
6
6
  export declare function generateQueryTransformerForQueryReturnTypes(schema: GraphQLSchema, importContext: ImportContext): string;
7
- export declare function generateGetMinimumFields(isQueryType: boolean, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode): string;
7
+ export declare function generateGetMinimumFields(isQueryType: boolean, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, graphqlDsl: LuvioGraphQLDSL): string;
8
8
  export declare function generate(graphqlDsl: LuvioGraphQLDSL, typeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;