@luvio/compiler 0.97.0 → 0.97.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen/adapter/create-resource-params.js +21 -6
- package/dist/codegen/adapter/create-resource-params.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-transformer.js +8 -2
- package/dist/codegen/adapter/graphql/adapter-config-transformer.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-fragment.d.ts +4 -0
- package/dist/codegen/adapter/graphql/adapter-fragment.js +24 -0
- package/dist/codegen/adapter/graphql/adapter-fragment.js.map +1 -0
- package/dist/codegen/adapter/graphql/adapter-resource-error.d.ts +4 -0
- package/dist/codegen/adapter/graphql/adapter-resource-error.js +33 -0
- package/dist/codegen/adapter/graphql/adapter-resource-error.js.map +1 -0
- package/dist/codegen/adapter/graphql/adapter-resource-success.d.ts +4 -0
- package/dist/codegen/adapter/graphql/adapter-resource-success.js +35 -0
- package/dist/codegen/adapter/graphql/adapter-resource-success.js.map +1 -0
- package/dist/codegen/adapter/graphql/index.js +3 -3
- package/dist/codegen/adapter/graphql/index.js.map +1 -1
- package/dist/codegen/adapter/util.d.ts +0 -1
- package/dist/codegen/adapter/util.js +1 -34
- package/dist/codegen/adapter/util.js.map +1 -1
- package/dist/codegen/graphql/type/constants.d.ts +2 -0
- package/dist/codegen/graphql/type/constants.js +3 -1
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/convert.d.ts +6 -0
- package/dist/codegen/graphql/type/convert.js +174 -0
- package/dist/codegen/graphql/type/convert.js.map +1 -0
- package/dist/codegen/graphql/type/generateTypeUtil.js +4 -4
- package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
- package/dist/codegen/graphql/type/index.js +2 -0
- package/dist/codegen/graphql/type/index.js.map +1 -1
- package/dist/codegen/graphql/type/ingest.d.ts +3 -3
- package/dist/codegen/graphql/type/ingest.js +72 -110
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/key.js +4 -4
- package/dist/codegen/graphql/type/key.js.map +1 -1
- package/dist/codegen/graphql/type/select.d.ts +1 -1
- package/dist/codegen/graphql/type/select.js +112 -70
- package/dist/codegen/graphql/type/select.js.map +1 -1
- package/dist/codegen/graphql/type/type-from-field.d.ts +6 -0
- package/dist/codegen/graphql/type/type-from-field.js +66 -0
- package/dist/codegen/graphql/type/type-from-field.js.map +1 -0
- package/dist/codegen/graphql/utils/types.js +1 -1
- package/dist/codegen/resource/graphql/ingest-error.js +4 -1
- package/dist/codegen/resource/graphql/ingest-error.js.map +1 -1
- package/dist/codegen/resource/graphql/ingest-success.js +5 -2
- package/dist/codegen/resource/graphql/ingest-success.js.map +1 -1
- package/dist/codegen/resource/graphql/key-builder.d.ts +2 -1
- package/dist/codegen/resource/graphql/key-builder.js +10 -2
- package/dist/codegen/resource/graphql/key-builder.js.map +1 -1
- package/dist/codegen/resource/graphql/select.js +6 -5
- package/dist/codegen/resource/graphql/select.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-select.js +2 -2
- package/dist/codegen/shape/shape-utils.js +17 -1
- package/dist/codegen/shape/shape-utils.js.map +1 -1
- package/dist/codegen/shared/constants.d.ts +2 -0
- package/dist/codegen/shared/constants.js +3 -1
- package/dist/codegen/shared/constants.js.map +1 -1
- package/package.json +4 -4
|
@@ -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
|
|
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"}
|
|
@@ -14,6 +14,7 @@ const imports_1 = require("../../../utils/imports");
|
|
|
14
14
|
const select_1 = require("./select");
|
|
15
15
|
const query_transformer_1 = require("./query-transformer");
|
|
16
16
|
const type_cache_keys_1 = require("./type-cache-keys");
|
|
17
|
+
const type_from_field_1 = require("./type-from-field");
|
|
17
18
|
function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata, modelInfo) {
|
|
18
19
|
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
19
20
|
export const name = '${graphqlTypeName}';
|
|
@@ -25,6 +26,7 @@ function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata,
|
|
|
25
26
|
${(0, select_1.generateSelect)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
26
27
|
${(0, query_transformer_1.generate)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
27
28
|
${(0, type_cache_keys_1.generateGetTypeCacheKeys)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
29
|
+
${(0, type_from_field_1.generateGetFieldType)(graphqlDsl, def, importContext, metadata)}
|
|
28
30
|
`);
|
|
29
31
|
}
|
|
30
32
|
exports.generateType = generateType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,+BAAoC;AACpC,2CAAiD;AACjD,qCAA0C;AAC1C,+BAAoC;AACpC,mCAAwC;AACxC,oDAAwD;AAKxD,qCAA0C;AAC1C,2DAA2E;AAE3E,uDAA6D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,+BAAoC;AACpC,2CAAiD;AACjD,qCAA0C;AAC1C,+BAAoC;AACpC,mCAAwC;AACxC,oDAAwD;AAKxD,qCAA0C;AAC1C,2DAA2E;AAE3E,uDAA6D;AAC7D,uDAAyD;AAEzD,SAAgB,YAAY,CACxB,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,QAAgC,EAChC,SAAoB;IAEpB,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,eAAe;UACpC,IAAA,iBAAW,EAAC,UAAU,EAAE,eAAe,CAAC;UACxC,IAAA,8BAAkB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAC7E,IAAA,iBAAW,EAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC;UACtD,IAAA,qBAAa,EAAC,aAAa,CAAC;UAC5B,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;UACpF,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACzE,IAAA,4BAAwB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACnF,IAAA,0CAAwB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACnF,IAAA,sCAAoB,EAAC,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KACnE,CAAC,CAAC;AACP,CAAC;AApBD,oCAoBC"}
|
|
@@ -4,7 +4,7 @@ import type { NormalizableTypes } from '../utils';
|
|
|
4
4
|
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
5
5
|
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
6
6
|
import type { ModelInfo } from '../../../main';
|
|
7
|
-
export declare function ingestNamedType(
|
|
8
|
-
export declare function ingestListType(
|
|
9
|
-
export declare function ingestType(
|
|
7
|
+
export declare function ingestNamedType(graphqlField: FieldDefinitionNode, typeNode: NamedTypeNode, ramlFieldName: string | undefined, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
|
|
8
|
+
export declare function ingestListType(graphqlField: FieldDefinitionNode, typeNode: ListTypeNode, ramlFieldName: string | undefined, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
|
|
9
|
+
export declare function ingestType(graphqlField: FieldDefinitionNode, typeNode: TypeNode, ramlFieldName: string | undefined, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
|
|
10
10
|
export declare function generateIngest(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata, modelInfo: ModelInfo): string;
|
|
@@ -8,57 +8,71 @@ const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
|
8
8
|
const constants_1 = require("../../shared/constants");
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
10
|
const utils_2 = require("./utils");
|
|
11
|
+
const convert_1 = require("./convert");
|
|
11
12
|
const constants_2 = require("./constants");
|
|
12
13
|
const interface_1 = require("./interface");
|
|
13
14
|
const types_1 = require("../utils/types");
|
|
14
15
|
const REQUESTED_FIELDS_IDENTIFIER = 'requestedFields';
|
|
15
|
-
function
|
|
16
|
+
function generateIngestScalarField(graphqlFieldName, ramlFieldName) {
|
|
17
|
+
// omit scalar fields that are mapped to RAML fields
|
|
18
|
+
if (ramlFieldName === undefined) {
|
|
19
|
+
return (0, deindent_1.default) `
|
|
20
|
+
case '${graphqlFieldName}': {
|
|
21
|
+
${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
`;
|
|
25
|
+
}
|
|
26
|
+
return '';
|
|
27
|
+
}
|
|
28
|
+
function ingestNamedType(graphqlField, typeNode, ramlFieldName, importContext, normalizableTypeMap) {
|
|
16
29
|
const graphqlTypeName = (0, utils_1.resolveTypeName)(typeNode);
|
|
17
30
|
const { importGraphQLArtifact } = importContext;
|
|
18
31
|
const isScalar = normalizableTypeMap[graphqlTypeName] === undefined;
|
|
19
|
-
const
|
|
32
|
+
const graphqlFieldName = graphqlField.name.value;
|
|
20
33
|
if (isScalar) {
|
|
21
|
-
return generateIngestScalarField(
|
|
34
|
+
return generateIngestScalarField(graphqlFieldName, ramlFieldName);
|
|
22
35
|
}
|
|
23
36
|
const typeNameIngestImport = importGraphQLArtifact('types', graphqlTypeName, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
24
|
-
|
|
25
|
-
const
|
|
37
|
+
const graphqlStateInterface = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER);
|
|
38
|
+
const typeNamePartialInterfaceImport = importGraphQLArtifact('types', graphqlTypeName, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
39
|
+
const fieldStateIdentifier = `${graphqlFieldName}State`;
|
|
26
40
|
return (0, deindent_1.default) `
|
|
27
|
-
case '${
|
|
41
|
+
case '${graphqlFieldName}': {
|
|
28
42
|
const ${fieldStateIdentifier} = {
|
|
29
43
|
...state,
|
|
30
44
|
path: {
|
|
31
45
|
parent: null,
|
|
32
|
-
propertyName:
|
|
46
|
+
propertyName: null,
|
|
33
47
|
fullPath: key + '__' + ${constants_2.FIELD_KEY_IDENTIFIER}
|
|
34
48
|
},
|
|
35
49
|
data: ${constants_2.FIELD_DATA_IDENTIFIER},
|
|
36
50
|
};
|
|
37
|
-
|
|
51
|
+
${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = ${typeNameIngestImport}(
|
|
38
52
|
${constants_2.REQUESTED_FIELD_IDENTIFIER},
|
|
39
|
-
${fieldStateIdentifier} as
|
|
53
|
+
${fieldStateIdentifier} as ${graphqlStateInterface}<${typeNamePartialInterfaceImport}>
|
|
40
54
|
) as any;
|
|
41
55
|
break;
|
|
42
56
|
}
|
|
43
57
|
`;
|
|
44
58
|
}
|
|
45
59
|
exports.ingestNamedType = ingestNamedType;
|
|
46
|
-
function ingestListType(
|
|
60
|
+
function ingestListType(graphqlField, typeNode, ramlFieldName, importContext, normalizableTypeMap) {
|
|
47
61
|
const { importGraphQLArtifact } = importContext;
|
|
48
|
-
const
|
|
62
|
+
const graphqlFieldName = graphqlField.name.value;
|
|
49
63
|
const graphqlTypeName = (0, utils_1.resolveTypeName)(typeNode);
|
|
50
|
-
const fullPathIdentifier = `fullPath__${
|
|
51
|
-
const
|
|
52
|
-
const collectionIdentifier = `${fieldName}__items`;
|
|
64
|
+
const fullPathIdentifier = `fullPath__${graphqlFieldName}`;
|
|
65
|
+
const collectionIdentifier = `${graphqlFieldName}__items`;
|
|
53
66
|
// Non-normalizable types
|
|
54
|
-
|
|
55
|
-
|
|
67
|
+
const isScalar = normalizableTypeMap[graphqlTypeName] === undefined;
|
|
68
|
+
if (isScalar) {
|
|
69
|
+
return generateIngestScalarField(graphqlFieldName, ramlFieldName);
|
|
56
70
|
}
|
|
57
71
|
const typeNameIngestImport = importGraphQLArtifact('types', graphqlTypeName, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
58
|
-
|
|
59
|
-
|
|
72
|
+
const graphqlStateInterface = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER);
|
|
73
|
+
const typeNamePartialInterfaceImport = importGraphQLArtifact('types', graphqlTypeName, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
60
74
|
return (0, deindent_1.default) `
|
|
61
|
-
case '${
|
|
75
|
+
case '${graphqlFieldName}': {
|
|
62
76
|
const ${collectionIdentifier}: ${constants_1.LUVIO_STORE_LINK_IMPORT}[] = [];
|
|
63
77
|
const ${fullPathIdentifier} = \`\${key}__\${${constants_2.FIELD_KEY_IDENTIFIER}}\`;
|
|
64
78
|
for(let i = 0, len = ${constants_2.FIELD_DATA_IDENTIFIER}.length; i < len; i++) {
|
|
@@ -68,58 +82,47 @@ function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
|
|
|
68
82
|
...state,
|
|
69
83
|
path: {
|
|
70
84
|
parent: null,
|
|
71
|
-
propertyName:
|
|
85
|
+
propertyName: null,
|
|
72
86
|
fullPath: ${fullPathIdentifier} + i
|
|
73
87
|
},
|
|
74
88
|
data: item,
|
|
75
89
|
};
|
|
76
90
|
${collectionIdentifier}[i] = ${typeNameIngestImport}(
|
|
77
91
|
${constants_2.REQUESTED_FIELD_IDENTIFIER},
|
|
78
|
-
itemState as
|
|
79
|
-
)
|
|
92
|
+
itemState as ${graphqlStateInterface}<${typeNamePartialInterfaceImport}>
|
|
93
|
+
) as any;
|
|
80
94
|
}
|
|
81
|
-
|
|
95
|
+
${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = ${collectionIdentifier};
|
|
82
96
|
break;
|
|
83
97
|
}
|
|
84
98
|
`;
|
|
85
99
|
}
|
|
86
100
|
exports.ingestListType = ingestListType;
|
|
87
|
-
function
|
|
88
|
-
|
|
89
|
-
case '${fieldName}': {
|
|
90
|
-
dataSink[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
`;
|
|
94
|
-
}
|
|
95
|
-
function ingestType(field, typeNode, importContext, normalizableTypeMap) {
|
|
96
|
-
if (field === undefined) {
|
|
101
|
+
function ingestType(graphqlField, typeNode, ramlFieldName, importContext, normalizableTypeMap) {
|
|
102
|
+
if (graphqlField === undefined) {
|
|
97
103
|
return '';
|
|
98
104
|
}
|
|
99
105
|
switch (typeNode.kind) {
|
|
100
106
|
case 'NamedType':
|
|
101
|
-
return ingestNamedType(
|
|
107
|
+
return ingestNamedType(graphqlField, typeNode, ramlFieldName, importContext, normalizableTypeMap);
|
|
102
108
|
case 'ListType':
|
|
103
|
-
return ingestListType(
|
|
109
|
+
return ingestListType(graphqlField, typeNode, ramlFieldName, importContext, normalizableTypeMap);
|
|
104
110
|
default:
|
|
105
|
-
return ingestType(
|
|
111
|
+
return ingestType(graphqlField, typeNode.type, ramlFieldName, importContext, normalizableTypeMap);
|
|
106
112
|
}
|
|
107
113
|
}
|
|
108
114
|
exports.ingestType = ingestType;
|
|
109
115
|
function generateObjectTypeIngest(graphqlDsl, graphqlTypeName, importContext, def, normalizableTypeMap) {
|
|
110
|
-
const
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const graphqlFieldName = field.name.value;
|
|
116
|
+
const graphqlFields = (0, types_1.getObjectFields)(def);
|
|
117
|
+
const fieldIngestStatements = graphqlFields
|
|
118
|
+
.filter((graphqlField) => graphqlField.type !== undefined)
|
|
119
|
+
.map((graphqlField) => {
|
|
120
|
+
const { typeNameToExtensions } = graphqlDsl;
|
|
121
|
+
const graphqlFieldName = graphqlField.name.value;
|
|
117
122
|
const ramlFieldName = (0, utils_2.getRamlFieldName)(typeNameToExtensions, graphqlTypeName, graphqlFieldName);
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
return ingestType(field, field.type, importContext, normalizableTypeMap);
|
|
122
|
-
});
|
|
123
|
+
return ingestType(graphqlField, graphqlField.type, ramlFieldName, importContext, normalizableTypeMap);
|
|
124
|
+
})
|
|
125
|
+
.filter((fieldIngestStatement) => fieldIngestStatement !== '');
|
|
123
126
|
const eachFieldHandling = fieldIngestStatements.join('\n');
|
|
124
127
|
const ingestStatements = [
|
|
125
128
|
getRequestedFieldsStatement(importContext),
|
|
@@ -149,67 +152,16 @@ function iterateThroughResponseKeys(importContext, individualFieldIngestBlock) {
|
|
|
149
152
|
}
|
|
150
153
|
const ${constants_2.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}, state.variables);
|
|
151
154
|
|
|
152
|
-
switch(
|
|
155
|
+
switch(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value) {
|
|
153
156
|
${individualFieldIngestBlock}
|
|
154
157
|
}
|
|
155
158
|
}
|
|
156
159
|
`;
|
|
157
160
|
}
|
|
158
|
-
function generateRamlIngestDelegation(graphqlDsl, graphqlTypeName, importContext, def, modelInfo, graphqlStateInterface) {
|
|
159
|
-
// get the target RAML type ingest function
|
|
160
|
-
const { typeNameToExtensions } = graphqlDsl;
|
|
161
|
-
const { importRamlArtifact } = importContext;
|
|
162
|
-
const ramlTypeName = (0, utils_2.getRamlTypeName)(typeNameToExtensions, graphqlTypeName);
|
|
163
|
-
if (ramlTypeName === undefined) {
|
|
164
|
-
return '';
|
|
165
|
-
}
|
|
166
|
-
const ramlTypeId = (0, utils_2.getRamlTypeIdByName)(ramlTypeName, modelInfo);
|
|
167
|
-
if (ramlTypeId === undefined) {
|
|
168
|
-
return '';
|
|
169
|
-
}
|
|
170
|
-
const ramlIngest = importRamlArtifact(ramlTypeId, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
171
|
-
const ramlInterface = importRamlArtifact(ramlTypeId, ramlTypeName);
|
|
172
|
-
// get RAML mapping
|
|
173
|
-
const graphqlFields = (0, types_1.getObjectFields)(def);
|
|
174
|
-
const ramlIngestStatements = graphqlFields
|
|
175
|
-
.filter((graphqlField) => graphqlField.type !== undefined)
|
|
176
|
-
.map((graphqlField) => {
|
|
177
|
-
const graphqlFieldName = graphqlField.name.value;
|
|
178
|
-
const ramlFieldName = (0, utils_2.getRamlFieldName)(typeNameToExtensions, graphqlTypeName, graphqlFieldName);
|
|
179
|
-
if (ramlFieldName === undefined) {
|
|
180
|
-
return '';
|
|
181
|
-
}
|
|
182
|
-
return (0, deindent_1.default) `
|
|
183
|
-
if (responseKey === "${graphqlFieldName}") {
|
|
184
|
-
ramlSink["${ramlFieldName}"] = data["${graphqlFieldName}"];
|
|
185
|
-
}
|
|
186
|
-
`;
|
|
187
|
-
});
|
|
188
|
-
if (ramlIngestStatements.length === 0) {
|
|
189
|
-
return '';
|
|
190
|
-
}
|
|
191
|
-
return (0, deindent_1.default) `
|
|
192
|
-
export function convertGraphQLToRaml (state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
|
|
193
|
-
const { path, data, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
|
|
194
|
-
const ramlSink: Partial<${ramlInterface}> = {};
|
|
195
|
-
const responseKeys = Object.keys(data);
|
|
196
|
-
for (const responseKey of responseKeys) {
|
|
197
|
-
${ramlIngestStatements.join('\n')}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
// delegate type ingest to RAML ingest if the type is in RAML mapping
|
|
201
|
-
if (Object.keys(ramlSink).length === 0) {
|
|
202
|
-
return undefined;
|
|
203
|
-
}
|
|
204
|
-
const ramlTypeRef = ${ramlIngest}(ramlSink, path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER});
|
|
205
|
-
return ramlTypeRef;
|
|
206
|
-
}
|
|
207
|
-
`;
|
|
208
|
-
}
|
|
209
161
|
function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metadata, modelInfo) {
|
|
210
162
|
var _a;
|
|
211
163
|
const { schema, typeNameToExtensions } = graphqlDsl;
|
|
212
|
-
const { importGraphQLArtifact, importAdapterUtil } = importContext;
|
|
164
|
+
const { importGraphQLArtifact, importAdapterUtil, importRamlArtifact } = importContext;
|
|
213
165
|
const normalizableTypeMap = (0, utils_1.getNormalizableTypeMap)(schema);
|
|
214
166
|
const createLink = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.CREATE_LINK_IDENTIFIER);
|
|
215
167
|
const graphqlStateInterface = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER);
|
|
@@ -220,16 +172,23 @@ function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
220
172
|
const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === graphqlTypeName
|
|
221
173
|
? constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
|
|
222
174
|
: constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
|
|
223
|
-
const converToRaml =
|
|
175
|
+
const converToRaml = (0, convert_1.generateRamlConversion)(graphqlDsl, graphqlTypeName, importContext, def, modelInfo, graphqlStateInterface, normalizableTypeMap);
|
|
176
|
+
let ramlIngest = undefined;
|
|
177
|
+
const ramlTypeName = (0, utils_2.getRamlTypeName)(typeNameToExtensions, graphqlTypeName);
|
|
178
|
+
if (ramlTypeName !== undefined) {
|
|
179
|
+
const ramlTypeId = (0, utils_2.getRamlTypeIdByName)(ramlTypeName, modelInfo);
|
|
180
|
+
if (ramlTypeId !== undefined) {
|
|
181
|
+
ramlIngest = importRamlArtifact(ramlTypeId, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
224
184
|
return (0, deindent_1.default) `
|
|
225
185
|
|
|
226
186
|
${converToRaml}
|
|
227
187
|
|
|
228
188
|
export function ingest(astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
|
|
229
|
-
const { path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
|
|
230
|
-
const data = state.data;
|
|
189
|
+
const { path, data, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
|
|
231
190
|
const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}, path, data);
|
|
232
|
-
const
|
|
191
|
+
const ${constants_2.SINK_IDENTIFIER}: Record<string,any> = {};
|
|
233
192
|
|
|
234
193
|
// normalize fields
|
|
235
194
|
${generateObjectTypeIngest(graphqlDsl, graphqlTypeName, importContext, def, normalizableTypeMap)}
|
|
@@ -238,18 +197,21 @@ function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
238
197
|
let mergedData: Record<string,any>;
|
|
239
198
|
const existingData = ${constants_1.LUVIO_STORE_IDENTIFIER}.readEntry<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>(key);
|
|
240
199
|
if (existingData !== undefined && existingData !== null && existingData.__type !== "error") {
|
|
241
|
-
mergedData = mergeData(existingData as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER},
|
|
200
|
+
mergedData = mergeData(existingData as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, ${constants_2.SINK_IDENTIFIER} as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER});
|
|
242
201
|
}
|
|
243
202
|
else {
|
|
244
|
-
mergedData = {data:
|
|
203
|
+
mergedData = {data: ${constants_2.SINK_IDENTIFIER}};
|
|
245
204
|
}
|
|
246
205
|
|
|
247
206
|
${converToRaml === ''
|
|
248
207
|
? ''
|
|
249
208
|
: (0, deindent_1.default) `
|
|
250
|
-
//
|
|
251
|
-
const
|
|
252
|
-
if (
|
|
209
|
+
// delegate type ingest to RAML ingest if the type is in RAML mapping
|
|
210
|
+
const ramlSink = convertGraphQLToRaml(astNode, state);
|
|
211
|
+
if (ramlSink !== undefined) {
|
|
212
|
+
|
|
213
|
+
// partially ingest with RAML
|
|
214
|
+
const ramlTypeRef = ${ramlIngest}(ramlSink, path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER});
|
|
253
215
|
mergedData["__link"] = ramlTypeRef;
|
|
254
216
|
}`}
|
|
255
217
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":";;;;;;AAOA,uEAA+C;AAE/C,sDAMgC;AAEhC,oCAAmE;AACnE,mCAKiB;AACjB,
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.generateKey = exports.findIdNode = void 0;
|
|
7
7
|
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
8
|
const constants_1 = require("../../adapter/constants");
|
|
9
|
-
const
|
|
9
|
+
const constants_2 = require("./constants");
|
|
10
10
|
const interface_1 = require("./interface");
|
|
11
|
-
const
|
|
11
|
+
const constants_3 = require("../../shared/constants");
|
|
12
12
|
function findIdNode(def) {
|
|
13
13
|
if (!('fields' in def)) {
|
|
14
14
|
return undefined;
|
|
@@ -29,7 +29,7 @@ function generateKey(def, importContext, schemaName) {
|
|
|
29
29
|
const idNode = findIdNode(def);
|
|
30
30
|
if (idNode === undefined) {
|
|
31
31
|
return (0, deindent_1.default) `
|
|
32
|
-
export function ${
|
|
32
|
+
export function ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_3.LUVIO_IDENTIFIER}: ${constants_3.LUVIO_IMPORT}, path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER}, data: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}) {
|
|
33
33
|
return path.fullPath;
|
|
34
34
|
}
|
|
35
35
|
`;
|
|
@@ -37,7 +37,7 @@ function generateKey(def, importContext, schemaName) {
|
|
|
37
37
|
const { name } = idNode;
|
|
38
38
|
const KEY_PREFIX = importContext.importAdapterUtil('keyPrefix');
|
|
39
39
|
return (0, deindent_1.default) `
|
|
40
|
-
export function ${
|
|
40
|
+
export function ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_3.LUVIO_IDENTIFIER}: ${constants_3.LUVIO_IMPORT}, path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER}, data: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}) {
|
|
41
41
|
return ${KEY_PREFIX} + '::${schemaName}::' + name + '::' + data.${name.value};
|
|
42
42
|
}
|
|
43
43
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/key.ts"],"names":[],"mappings":";;;;;;AAKA,uEAA+C;AAE/C,uDAAmF;AACnF,
|
|
1
|
+
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/key.ts"],"names":[],"mappings":";;;;;;AAKA,uEAA+C;AAE/C,uDAAmF;AACnF,2CAAqD;AACrD,2CAA2D;AAC3D,sDAAwE;AAExE,SAAgB,UAAU,CACtB,GAA2D;IAE3D,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE;QACpB,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACvB,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,SAAS,CAAC;KACpB;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,OAAO,CACH,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW;YACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CACtC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAlBD,gCAkBC;AAED,SAAgB,WAAW,CACvB,GAA2D,EAC3D,aAA4B,EAC5B,UAAkB;IAElB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,IAAA,kBAAQ,EAAA;8BACO,kCAAsB,IAAI,4BAAgB,KAAK,wBAAY,WAAW,oDAAwC,WAAW,wCAA4B;;;SAG1K,CAAC;KACL;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAChE,OAAO,IAAA,kBAAQ,EAAA;0BACO,kCAAsB,IAAI,4BAAgB,KAAK,wBAAY,WAAW,oDAAwC,WAAW,wCAA4B;qBAC1J,UAAU,SAAS,UAAU,4BAA4B,IAAI,CAAC,KAAK;;KAEnF,CAAC;AACN,CAAC;AAtBD,kCAsBC"}
|
|
@@ -2,4 +2,4 @@ import type { ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
|
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 generateSelect(graphqlDsl: LuvioGraphQLDSL,
|
|
5
|
+
export declare function generateSelect(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;
|