@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.
- package/dist/codegen/graphql/graphql-dsl.d.ts +18 -0
- package/dist/codegen/graphql/graphql-dsl.js +101 -0
- package/dist/codegen/graphql/graphql-dsl.js.map +1 -1
- package/dist/codegen/graphql/interface/index.js +2 -0
- package/dist/codegen/graphql/interface/index.js.map +1 -1
- package/dist/codegen/graphql/interface/query-transformer.js +2 -2
- package/dist/codegen/graphql/interface/query-transformer.js.map +1 -1
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.d.ts +1 -0
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js +10 -0
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js.map +1 -1
- package/dist/codegen/graphql/type/constants.d.ts +7 -0
- package/dist/codegen/graphql/type/constants.js +8 -1
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/generateTypeUtil.js +27 -13
- package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
- package/dist/codegen/graphql/type/ingest.js +12 -5
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/interface.d.ts +2 -2
- package/dist/codegen/graphql/type/interface.js +7 -1
- package/dist/codegen/graphql/type/interface.js.map +1 -1
- package/dist/codegen/graphql/type/query-transformer.d.ts +2 -2
- package/dist/codegen/graphql/type/query-transformer.js +46 -14
- package/dist/codegen/graphql/type/query-transformer.js.map +1 -1
- package/dist/codegen/graphql/type/select.js +9 -2
- package/dist/codegen/graphql/type/select.js.map +1 -1
- package/dist/codegen/graphql/type/type-from-field.d.ts +2 -2
- package/dist/codegen/graphql/type/type-from-field.js +2 -2
- package/dist/codegen/graphql/type/type-from-field.js.map +1 -1
- package/dist/codegen/graphql/utils/types.d.ts +2 -2
- package/dist/codegen/graphql/utils/types.js.map +1 -1
- package/dist/codegen/resource/graphql/key-builder.d.ts +2 -2
- package/dist/codegen/resource/graphql/key-builder.js +8 -7
- package/dist/codegen/resource/graphql/key-builder.js.map +1 -1
- package/dist/codegen/rest/source-printer/rest-source-printer.js +4 -3
- package/dist/codegen/rest/source-printer/rest-source-printer.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-cache-keys.js +24 -22
- package/dist/codegen/shape/graphql/shape-cache-keys.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-ingest.js +22 -18
- package/dist/codegen/shape/graphql/shape-ingest.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-type-definition.js +7 -1
- package/dist/codegen/shape/graphql/shape-type-definition.js.map +1 -1
- package/dist/codegen/shape/shape-ingest-paginated.js +3 -2
- package/dist/codegen/shape/shape-ingest-paginated.js.map +1 -1
- package/dist/interfaces/source-printers/index.d.ts +2 -2
- package/dist/interfaces/source-printers/index.js +4 -0
- package/dist/interfaces/source-printers/index.js.map +1 -1
- package/dist/interfaces/source-printers/source-printer.d.ts +2 -0
- package/dist/interfaces/source-printers/source-printer.js +3 -0
- package/dist/interfaces/source-printers/source-printer.js.map +1 -1
- package/dist/intermediate/graphql.d.ts +1 -0
- 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;
|
|
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;
|
|
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,
|
|
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;
|
|
1
|
+
{"version":3,"file":"graphql-type-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-type-source-printer.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
(
|
|
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
|
-
|
|
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
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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;;;;
|
|
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} = ${
|
|
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":";;;;;;AACA,uEAA+C;AAE/C,sDAKgC;AAChC,oCAAkD;AAClD,mCAAuF;AACvF,uCAAmD;AACnD,2CAkBqB;AAGrB,2CAA2D;AAG3D,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAEtD,SAAS,wBAAwB,CAAC,aAA4B;
|
|
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 {
|
|
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(
|
|
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(
|
|
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":";;;;;;AAOA,uEAA+C;AAE/C,+BAAmC;AAEnC,mCAAiD;
|
|
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;
|