@luvio/compiler 0.92.0 → 0.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen/adapter/adapter-network-cache-policy.js +3 -2
- package/dist/codegen/adapter/adapter-network-cache-policy.js.map +1 -1
- package/dist/codegen/adapter/adapter-network.js +1 -1
- package/dist/codegen/adapter/adapter-notify-change.js +1 -1
- package/dist/codegen/adapter/adapter-resource-error.js +1 -1
- package/dist/codegen/adapter/constants.d.ts +1 -0
- package/dist/codegen/adapter/constants.js +2 -1
- package/dist/codegen/adapter/constants.js.map +1 -1
- package/dist/codegen/adapter/delete/adapter-browser-factory.js +1 -1
- package/dist/codegen/adapter/delete/adapter-browser-factory.js.map +1 -1
- package/dist/codegen/adapter/delete/adapter-network.js +2 -2
- package/dist/codegen/adapter/delete/adapter-network.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-interface.js +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-interface.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-transformer.js +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-transformer.js.map +1 -1
- package/dist/codegen/adapter/patch-post/adapter-network.js +1 -1
- package/dist/codegen/adapter-tests/expected-responses.js +1 -1
- package/dist/codegen/graphql/directive/apply-to-selection.d.ts +6 -0
- package/dist/codegen/graphql/directive/apply-to-selection.js +37 -0
- package/dist/codegen/graphql/directive/apply-to-selection.js.map +1 -0
- package/dist/codegen/graphql/directive/defaults/include-apply-to-selection.d.ts +2 -0
- package/dist/codegen/graphql/directive/defaults/include-apply-to-selection.js +28 -0
- package/dist/codegen/graphql/directive/defaults/include-apply-to-selection.js.map +1 -0
- package/dist/codegen/graphql/directive/defaults/skip-apply-to-selection.d.ts +2 -0
- package/dist/codegen/graphql/directive/defaults/skip-apply-to-selection.js +28 -0
- package/dist/codegen/graphql/directive/defaults/skip-apply-to-selection.js.map +1 -0
- package/dist/codegen/graphql/directive/index.d.ts +5 -0
- package/dist/codegen/graphql/directive/index.js +17 -0
- package/dist/codegen/graphql/directive/index.js.map +1 -0
- package/dist/codegen/graphql/directive/util.d.ts +7 -0
- package/dist/codegen/graphql/directive/util.js +51 -0
- package/dist/codegen/graphql/directive/util.js.map +1 -0
- package/dist/codegen/graphql/interface/ingest.js +3 -3
- package/dist/codegen/graphql/interface/ingest.js.map +1 -1
- package/dist/codegen/graphql/interface/interface.js +1 -1
- package/dist/codegen/graphql/interface/interface.js.map +1 -1
- package/dist/codegen/graphql/interface/query-transformer.js +1 -1
- package/dist/codegen/graphql/interface/query-transformer.js.map +1 -1
- package/dist/codegen/graphql/interface/select.js +5 -5
- package/dist/codegen/graphql/interface/select.js.map +1 -1
- package/dist/codegen/graphql/source-printer/graphql-directive-source-printer.d.ts +20 -0
- package/dist/codegen/graphql/source-printer/graphql-directive-source-printer.js +40 -0
- package/dist/codegen/graphql/source-printer/graphql-directive-source-printer.js.map +1 -0
- package/dist/codegen/graphql/source-printer/graphql-source-printer.d.ts +3 -2
- package/dist/codegen/graphql/source-printer/graphql-source-printer.js +3 -1
- package/dist/codegen/graphql/source-printer/graphql-source-printer.js.map +1 -1
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.d.ts +0 -1
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js +5 -5
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js.map +1 -1
- package/dist/codegen/graphql/source-printer/index.d.ts +3 -1
- package/dist/codegen/graphql/source-printer/index.js +4 -1
- package/dist/codegen/graphql/source-printer/index.js.map +1 -1
- package/dist/codegen/graphql/type/constants.d.ts +2 -1
- package/dist/codegen/graphql/type/constants.js +3 -2
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/generateTypeUtil.js +49 -8
- package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
- package/dist/codegen/graphql/type/index.d.ts +2 -1
- package/dist/codegen/graphql/type/index.js +2 -2
- package/dist/codegen/graphql/type/index.js.map +1 -1
- package/dist/codegen/graphql/type/ingest.d.ts +3 -2
- package/dist/codegen/graphql/type/ingest.js +111 -41
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/interface.js +1 -1
- package/dist/codegen/graphql/type/interface.js.map +1 -1
- package/dist/codegen/graphql/type/merge.js +4 -2
- package/dist/codegen/graphql/type/merge.js.map +1 -1
- package/dist/codegen/graphql/type/query-transformer.d.ts +3 -2
- package/dist/codegen/graphql/type/query-transformer.js +93 -30
- package/dist/codegen/graphql/type/query-transformer.js.map +1 -1
- package/dist/codegen/graphql/type/select.js +40 -30
- package/dist/codegen/graphql/type/select.js.map +1 -1
- package/dist/codegen/graphql/type/utils.d.ts +4 -0
- package/dist/codegen/graphql/type/utils.js +37 -1
- package/dist/codegen/graphql/type/utils.js.map +1 -1
- package/dist/codegen/graphql/union/index.d.ts +2 -1
- package/dist/codegen/graphql/union/index.js +6 -1
- package/dist/codegen/graphql/union/index.js.map +1 -1
- package/dist/codegen/graphql/union/ingest.d.ts +6 -0
- package/dist/codegen/graphql/union/ingest.js +48 -0
- package/dist/codegen/graphql/union/ingest.js.map +1 -0
- package/dist/codegen/graphql/union/interface.js +3 -1
- package/dist/codegen/graphql/union/interface.js.map +1 -1
- package/dist/codegen/graphql/union/select.d.ts +7 -0
- package/dist/codegen/graphql/union/select.js +45 -0
- package/dist/codegen/graphql/union/select.js.map +1 -0
- package/dist/codegen/graphql/utils/types.js +3 -2
- package/dist/codegen/graphql/utils/types.js.map +1 -1
- package/dist/codegen/resource/composite/ingest-success-child-resource-params.js +2 -1
- package/dist/codegen/resource/composite/ingest-success-child-resource-params.js.map +1 -1
- package/dist/codegen/resource/composite/select-child-resource-params.js +1 -1
- package/dist/codegen/resource/composite/select-child-resource-params.js.map +1 -1
- package/dist/codegen/resource/graphql/ingest-error.js +1 -1
- package/dist/codegen/resource/graphql/ingest-error.js.map +1 -1
- package/dist/codegen/resource/graphql/resource-params.js +1 -1
- package/dist/codegen/resource/graphql/resource-params.js.map +1 -1
- package/dist/codegen/resource/ingest-error.js +1 -1
- package/dist/codegen/resource/ingest-error.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-ingest.js +3 -3
- package/dist/codegen/shape/graphql/shape-ingest.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-select.js +2 -2
- package/dist/codegen/shape/graphql/shape-select.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-type-definition.js +1 -1
- package/dist/codegen/shape/graphql/shape-type-definition.js.map +1 -1
- package/dist/codegen/shared/constants.d.ts +1 -0
- package/dist/codegen/shared/constants.js +2 -1
- package/dist/codegen/shared/constants.js.map +1 -1
- package/dist/interfaces/index.d.ts +2 -2
- package/dist/interfaces/source-printers/graphql/graphql-directive-printer.d.ts +11 -0
- package/dist/interfaces/source-printers/graphql/graphql-directive-printer.js +3 -0
- package/dist/interfaces/source-printers/graphql/graphql-directive-printer.js.map +1 -0
- package/dist/interfaces/source-printers/index.d.ts +2 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.js +2 -1
- package/dist/main.js.map +1 -1
- package/dist/plugin.d.ts +3 -2
- package/dist/utils/imports.d.ts +1 -1
- package/dist/utils/imports.js +26 -9
- package/dist/utils/imports.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { GraphQLResource } from '../../../intermediate/resource';
|
|
3
|
+
import type { GraphQLCodegenMetadata } from './graphql-source-printer';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import type { ModelInfo } from '../../../main';
|
|
6
|
+
import type { CompilerPlugin } from '../../../plugin';
|
|
7
|
+
import type { GraphQLDirectivePrinter } from '../../../interfaces/source-printers/graphql/graphql-directive-printer';
|
|
8
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
9
|
+
export declare class GraphQLDirectiveSourcePrinter implements GraphQLDirectivePrinter {
|
|
10
|
+
generate(graphQLResource: GraphQLResource, compilerBaseOutputDir: path.ParsedPath, metadata: GraphQLCodegenMetadata, _modelInfo: ModelInfo, plugin?: CompilerPlugin): {
|
|
11
|
+
[path: string]: string;
|
|
12
|
+
};
|
|
13
|
+
createGraphQLDirectiveImportContext(compilerBaseOutputDir: path.ParsedPath, defName: string, plugin?: CompilerPlugin): {
|
|
14
|
+
relPath: string;
|
|
15
|
+
importContext: ImportContext;
|
|
16
|
+
};
|
|
17
|
+
addDirectiveUtilModule(graphQLResource: GraphQLResource, compilerBaseOutputDir: path.ParsedPath, metadata: GraphQLCodegenMetadata, modules: {
|
|
18
|
+
[path: string]: string;
|
|
19
|
+
}, plugin?: CompilerPlugin): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GraphQLDirectiveSourcePrinter = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const directive_1 = require("../directive");
|
|
9
|
+
const imports_1 = require("../../../utils/imports");
|
|
10
|
+
const _1 = require(".");
|
|
11
|
+
const util_1 = require("../directive/util");
|
|
12
|
+
const GRAPHQL_DIRECTIVES_DIRECTORY = 'directives';
|
|
13
|
+
class GraphQLDirectiveSourcePrinter {
|
|
14
|
+
generate(graphQLResource, compilerBaseOutputDir, metadata, _modelInfo, plugin) {
|
|
15
|
+
const { graphqlDSL } = graphQLResource;
|
|
16
|
+
const modules = {};
|
|
17
|
+
// Schema includes built-in directives (include/skip/deprecated/specifiedBy)
|
|
18
|
+
graphqlDSL.schema.getDirectives().forEach((directive) => {
|
|
19
|
+
const { importContext, relPath } = this.createGraphQLDirectiveImportContext(compilerBaseOutputDir, directive.name, plugin);
|
|
20
|
+
modules[relPath] = (0, directive_1.generateDirective)(graphqlDSL, directive, importContext, metadata);
|
|
21
|
+
});
|
|
22
|
+
this.addDirectiveUtilModule(graphQLResource, compilerBaseOutputDir, metadata, modules, plugin);
|
|
23
|
+
return modules;
|
|
24
|
+
}
|
|
25
|
+
createGraphQLDirectiveImportContext(compilerBaseOutputDir, defName, plugin) {
|
|
26
|
+
const graphqlRelPath = path_1.default.join(_1.GRAPHQL_OUTPUT_DIRECTORY, GRAPHQL_DIRECTIVES_DIRECTORY, `${defName}.ts`);
|
|
27
|
+
const shapeAbsPath = path_1.default.parse(path_1.default.resolve(path_1.default.format(compilerBaseOutputDir), graphqlRelPath));
|
|
28
|
+
return {
|
|
29
|
+
relPath: graphqlRelPath,
|
|
30
|
+
importContext: (0, imports_1.createImportContext)(shapeAbsPath, compilerBaseOutputDir, plugin),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
addDirectiveUtilModule(graphQLResource, compilerBaseOutputDir, metadata, modules, plugin) {
|
|
34
|
+
const { importContext, relPath } = this.createGraphQLDirectiveImportContext(compilerBaseOutputDir, util_1.DIRECTIVE_UTIL_MODULE_IDENTIFIER, plugin);
|
|
35
|
+
const directiveUtil = (0, util_1.generateDirectiveUtil)(graphQLResource, metadata, importContext);
|
|
36
|
+
modules[relPath] = directiveUtil;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.GraphQLDirectiveSourcePrinter = GraphQLDirectiveSourcePrinter;
|
|
40
|
+
//# sourceMappingURL=graphql-directive-source-printer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-directive-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-directive-source-printer.ts"],"names":[],"mappings":";;;;;;AAEA,gDAAwB;AAKxB,4CAAiD;AAEjD,oDAA6D;AAC7D,wBAA6C;AAC7C,4CAA4F;AAE5F,MAAM,4BAA4B,GAAG,YAAY,CAAC;AAClD,MAAa,6BAA6B;IACtC,QAAQ,CACJ,eAAgC,EAChC,qBAAsC,EACtC,QAAgC,EAChC,UAAqB,EACrB,MAAuB;QAEvB,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC;QACvC,MAAM,OAAO,GAA+B,EAAE,CAAC;QAE/C,4EAA4E;QAC5E,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,SAA2B,EAAE,EAAE;YACtE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,mCAAmC,CACvE,qBAAqB,EACrB,SAAS,CAAC,IAAI,EACd,MAAM,CACT,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,6BAAiB,EAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CACvB,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,MAAM,CACT,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,mCAAmC,CAC/B,qBAAsC,EACtC,OAAe,EACf,MAAuB;QAEvB,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAC5B,2BAAwB,EACxB,4BAA4B,EAC5B,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,sBAAsB,CAClB,eAAgC,EAChC,qBAAsC,EACtC,QAAgC,EAChC,OAAmC,EACnC,MAAuB;QAEvB,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,mCAAmC,CACvE,qBAAqB,EACrB,uCAAgC,EAChC,MAAM,CACT,CAAC;QACF,MAAM,aAAa,GAAW,IAAA,4BAAqB,EAC/C,eAAe,EACf,QAAQ,EACR,aAAa,CAChB,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC;IACrC,CAAC;CACJ;AApED,sEAoEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import type { SourcePrinter, GraphQLTypePrinter, GraphQLResourcePrinter, GraphQLAdapterPrinter } from '../../../interfaces';
|
|
2
|
+
import type { SourcePrinter, GraphQLTypePrinter, GraphQLResourcePrinter, GraphQLAdapterPrinter, GraphQLDirectivePrinter } from '../../../interfaces';
|
|
3
3
|
import type { ModelInfo } from '../../../main';
|
|
4
4
|
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
5
5
|
import type path from 'path';
|
|
@@ -14,9 +14,10 @@ export declare class GraphQLSourcePrinter implements SourcePrinter {
|
|
|
14
14
|
private typePrinter;
|
|
15
15
|
private resourcePrinter;
|
|
16
16
|
private adapterPrinter;
|
|
17
|
+
private directivePrinter;
|
|
17
18
|
private compilerBaseOutputDir;
|
|
18
19
|
private plugin;
|
|
19
|
-
constructor(typePrinter: GraphQLTypePrinter, resourcePrinter: GraphQLResourcePrinter, adapterPrinter: GraphQLAdapterPrinter, compilerBaseOutputDir: path.ParsedPath, plugin: CompilerPlugin);
|
|
20
|
+
constructor(typePrinter: GraphQLTypePrinter, resourcePrinter: GraphQLResourcePrinter, adapterPrinter: GraphQLAdapterPrinter, directivePrinter: GraphQLDirectivePrinter, compilerBaseOutputDir: path.ParsedPath, plugin: CompilerPlugin);
|
|
20
21
|
generateModules(modelInfo: ModelInfo): {
|
|
21
22
|
[path: string]: string;
|
|
22
23
|
};
|
|
@@ -9,10 +9,11 @@ const DEFAULT_GRAPHQL_SCALAR_TO_PRIMITIVE_MAP = {
|
|
|
9
9
|
Float: 'number',
|
|
10
10
|
};
|
|
11
11
|
class GraphQLSourcePrinter {
|
|
12
|
-
constructor(typePrinter, resourcePrinter, adapterPrinter, compilerBaseOutputDir, plugin) {
|
|
12
|
+
constructor(typePrinter, resourcePrinter, adapterPrinter, directivePrinter, compilerBaseOutputDir, plugin) {
|
|
13
13
|
this.typePrinter = typePrinter;
|
|
14
14
|
this.resourcePrinter = resourcePrinter;
|
|
15
15
|
this.adapterPrinter = adapterPrinter;
|
|
16
|
+
this.directivePrinter = directivePrinter;
|
|
16
17
|
this.compilerBaseOutputDir = compilerBaseOutputDir;
|
|
17
18
|
this.plugin = plugin;
|
|
18
19
|
}
|
|
@@ -27,6 +28,7 @@ class GraphQLSourcePrinter {
|
|
|
27
28
|
...this.typePrinter.generate(resource, this.compilerBaseOutputDir, metadata, modelInfo, this.plugin),
|
|
28
29
|
...this.resourcePrinter.generate(modelInfo, resource, this.compilerBaseOutputDir),
|
|
29
30
|
...this.adapterPrinter.generate(modelInfo, resource, this.compilerBaseOutputDir, this.plugin),
|
|
31
|
+
...this.directivePrinter.generate(resource, this.compilerBaseOutputDir, metadata, modelInfo, this.plugin),
|
|
30
32
|
...modules,
|
|
31
33
|
};
|
|
32
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-source-printer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"graphql-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-source-printer.ts"],"names":[],"mappings":";;;AAaA,MAAM,uCAAuC,GAA2B;IACpE,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,QAAQ;IACZ,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,QAAQ;CAClB,CAAC;AASF,MAAa,oBAAoB;IAC7B,YACY,WAA+B,EAC/B,eAAuC,EACvC,cAAqC,EACrC,gBAAyC,EACzC,qBAAsC,EACtC,MAAsB;QALtB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,oBAAe,GAAf,eAAe,CAAwB;QACvC,mBAAc,GAAd,cAAc,CAAuB;QACrC,qBAAgB,GAAhB,gBAAgB,CAAyB;QACzC,0BAAqB,GAArB,qBAAqB,CAAiB;QACtC,WAAM,GAAN,MAAM,CAAgB;IAC/B,CAAC;IAEJ,eAAe,CAAC,SAAoB;QAChC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;QAChC,IAAI,OAAO,GAA2B,EAAE,CAAC;QAEzC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;gBACrC,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC/D,OAAO,GAAG;oBACN,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CACxB,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAC1B,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,MAAM,CACd;oBACD,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAC5B,SAAS,EACT,QAAQ,EACR,IAAI,CAAC,qBAAqB,CAC7B;oBACD,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC3B,SAAS,EACT,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,MAAM,CACd;oBACD,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC7B,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAC1B,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,MAAM,CACd;oBACD,GAAG,OAAO;iBACb,CAAC;aACL;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,SAAoB,EAAE,UAA2B;QAC/D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QACzC,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;QAErE,UAAU,CAAC,aAAa,CAAC,OAAO,CAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAC9D,CAAC;QAEF,OAAO;YACH,oBAAoB;YACpB,SAAS;YACT,OAAO;SACV,CAAC;IACN,CAAC;CACJ;AAjED,oDAiEC"}
|
|
@@ -6,7 +6,6 @@ import type { GraphQLCodegenMetadata } from './graphql-source-printer';
|
|
|
6
6
|
import type { GraphQLResource } from '../../../intermediate/resource';
|
|
7
7
|
import type { ModelInfo } from '../../../main';
|
|
8
8
|
import type { CompilerPlugin } from '../../../plugin';
|
|
9
|
-
export declare const GRAPHQL_OUTPUT_DIRECTORY = "graphql";
|
|
10
9
|
export declare const GRAPHQL_OBJECT_TYPENAME = "typeName";
|
|
11
10
|
export declare type GraphQLTypeGenerationResult = Record<string, string>;
|
|
12
11
|
export declare class GraphQLTypeSourcePrinter implements GraphQLTypePrinter {
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.GraphQLTypeSourcePrinter = exports.GRAPHQL_OBJECT_TYPENAME =
|
|
6
|
+
exports.GraphQLTypeSourcePrinter = exports.GRAPHQL_OBJECT_TYPENAME = void 0;
|
|
7
7
|
const imports_1 = require("../../../utils/imports");
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const graphql_parser_1 = require("@luvio/graphql-parser");
|
|
@@ -14,7 +14,7 @@ const enum_1 = require("../enum");
|
|
|
14
14
|
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
18
|
exports.GRAPHQL_OBJECT_TYPENAME = 'typeName';
|
|
19
19
|
const GRAPHQL_TYPES_DIRECTORY = 'types';
|
|
20
20
|
const TYPES_DIRECTORY_NAME = 'types';
|
|
@@ -37,13 +37,13 @@ class GraphQLTypeSourcePrinter {
|
|
|
37
37
|
const { relPath, importContext } = this.createGraphQLTypeImportContext(compilerBaseOutputDir, typeDefinition.name);
|
|
38
38
|
switch (kind) {
|
|
39
39
|
case graphql_parser_1.Kind.OBJECT_TYPE_DEFINITION:
|
|
40
|
-
modules[relPath] = (0, type_1.generateType)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
|
|
40
|
+
modules[relPath] = (0, type_1.generateType)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata, modelInfo);
|
|
41
41
|
break;
|
|
42
42
|
case graphql_parser_1.Kind.INTERFACE_TYPE_DEFINITION:
|
|
43
43
|
modules[relPath] = (0, interface_1.generateInterfaceType)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
|
|
44
44
|
break;
|
|
45
45
|
case graphql_parser_1.Kind.UNION_TYPE_DEFINITION:
|
|
46
|
-
modules[relPath] = (0, union_1.generate)(typeDefinition.name, typeDefinition.astNode, importContext, metadata);
|
|
46
|
+
modules[relPath] = (0, union_1.generate)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
|
|
47
47
|
break;
|
|
48
48
|
case graphql_parser_1.Kind.ENUM_TYPE_DEFINITION:
|
|
49
49
|
modules[relPath] = (0, enum_1.generate)(typeDefinition.name, typeDefinition.astNode, importContext, metadata);
|
|
@@ -57,7 +57,7 @@ class GraphQLTypeSourcePrinter {
|
|
|
57
57
|
return modules;
|
|
58
58
|
}
|
|
59
59
|
createGraphQLTypeImportContext(compilerBaseOutputDir, defName) {
|
|
60
|
-
const graphqlRelPath = path_1.default.join(
|
|
60
|
+
const graphqlRelPath = path_1.default.join(_1.GRAPHQL_OUTPUT_DIRECTORY, GRAPHQL_TYPES_DIRECTORY, `${defName}.ts`);
|
|
61
61
|
const shapeAbsPath = path_1.default.parse(path_1.default.resolve(path_1.default.format(compilerBaseOutputDir), graphqlRelPath));
|
|
62
62
|
return {
|
|
63
63
|
relPath: graphqlRelPath,
|
|
@@ -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;
|
|
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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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { GraphQLAdapterSourcePrinter } from './graphql-adapter-source-printer';
|
|
2
|
+
import { GraphQLDirectiveSourcePrinter } from './graphql-directive-source-printer';
|
|
2
3
|
import { GraphQLResourceSourcePrinter } from './graphql-resource-source-printer';
|
|
3
4
|
import { GraphQLSourcePrinter, GraphQLCodegenMetadata } from './graphql-source-printer';
|
|
4
5
|
import { GraphQLTypeSourcePrinter } from './graphql-type-source-printer';
|
|
5
|
-
export
|
|
6
|
+
export declare const GRAPHQL_OUTPUT_DIRECTORY = "graphql";
|
|
7
|
+
export { GraphQLSourcePrinter, GraphQLTypeSourcePrinter, GraphQLResourceSourcePrinter, GraphQLAdapterSourcePrinter, GraphQLCodegenMetadata, GraphQLDirectiveSourcePrinter, };
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GraphQLAdapterSourcePrinter = exports.GraphQLResourceSourcePrinter = exports.GraphQLTypeSourcePrinter = exports.GraphQLSourcePrinter = void 0;
|
|
3
|
+
exports.GraphQLDirectiveSourcePrinter = exports.GraphQLAdapterSourcePrinter = exports.GraphQLResourceSourcePrinter = exports.GraphQLTypeSourcePrinter = exports.GraphQLSourcePrinter = exports.GRAPHQL_OUTPUT_DIRECTORY = void 0;
|
|
4
4
|
const graphql_adapter_source_printer_1 = require("./graphql-adapter-source-printer");
|
|
5
5
|
Object.defineProperty(exports, "GraphQLAdapterSourcePrinter", { enumerable: true, get: function () { return graphql_adapter_source_printer_1.GraphQLAdapterSourcePrinter; } });
|
|
6
|
+
const graphql_directive_source_printer_1 = require("./graphql-directive-source-printer");
|
|
7
|
+
Object.defineProperty(exports, "GraphQLDirectiveSourcePrinter", { enumerable: true, get: function () { return graphql_directive_source_printer_1.GraphQLDirectiveSourcePrinter; } });
|
|
6
8
|
const graphql_resource_source_printer_1 = require("./graphql-resource-source-printer");
|
|
7
9
|
Object.defineProperty(exports, "GraphQLResourceSourcePrinter", { enumerable: true, get: function () { return graphql_resource_source_printer_1.GraphQLResourceSourcePrinter; } });
|
|
8
10
|
const graphql_source_printer_1 = require("./graphql-source-printer");
|
|
9
11
|
Object.defineProperty(exports, "GraphQLSourcePrinter", { enumerable: true, get: function () { return graphql_source_printer_1.GraphQLSourcePrinter; } });
|
|
10
12
|
const graphql_type_source_printer_1 = require("./graphql-type-source-printer");
|
|
11
13
|
Object.defineProperty(exports, "GraphQLTypeSourcePrinter", { enumerable: true, get: function () { return graphql_type_source_printer_1.GraphQLTypeSourcePrinter; } });
|
|
14
|
+
exports.GRAPHQL_OUTPUT_DIRECTORY = 'graphql';
|
|
12
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/index.ts"],"names":[],"mappings":";;;AAAA,qFAA+E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/index.ts"],"names":[],"mappings":";;;AAAA,qFAA+E;AAW3E,4GAXK,4DAA2B,OAWL;AAV/B,yFAAmF;AAY/E,8GAZK,gEAA6B,OAYL;AAXjC,uFAAiF;AAQ7E,6GARK,8DAA4B,OAQL;AAPhC,qEAAwF;AAKpF,qGALK,6CAAoB,OAKL;AAJxB,+EAAyE;AAKrE,yGALK,sDAAwB,OAKL;AAHf,QAAA,wBAAwB,GAAG,SAAS,CAAC"}
|
|
@@ -17,6 +17,7 @@ export declare const REQUESTED_FIELD_IDENTIFIER = "requestedField";
|
|
|
17
17
|
export declare const REQUESTED_FIELD_NAME_IDENTIFIER = "requestedFieldName";
|
|
18
18
|
export declare const SINK_IDENTIFIER = "sink";
|
|
19
19
|
export declare const APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = "applyMinimumFieldsToQuery";
|
|
20
|
-
export declare const
|
|
20
|
+
export declare const GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER = "getQueryTransformerForField";
|
|
21
|
+
export declare const GET_QUERY_TRANSFORMER_FOR_TYPE_IDENTIFIER = "getQueryTransformerForType";
|
|
21
22
|
export declare const GET_MINIMUM_FIELDS_IDENTIFIER = "getMinimumFields";
|
|
22
23
|
export declare const QUERY_TRANSFORMER_IDENTIFIER = "QueryTransformer";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QUERY_TRANSFORMER_IDENTIFIER = exports.GET_MINIMUM_FIELDS_IDENTIFIER = exports.
|
|
3
|
+
exports.QUERY_TRANSFORMER_IDENTIFIER = exports.GET_MINIMUM_FIELDS_IDENTIFIER = exports.GET_QUERY_TRANSFORMER_FOR_TYPE_IDENTIFIER = exports.GET_QUERY_TRANSFORMER_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_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_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_STATE_INTERFACE_IDENTIFIER = 'GraphQLState';
|
|
@@ -20,7 +20,8 @@ exports.REQUESTED_FIELD_IDENTIFIER = 'requestedField';
|
|
|
20
20
|
exports.REQUESTED_FIELD_NAME_IDENTIFIER = 'requestedFieldName';
|
|
21
21
|
exports.SINK_IDENTIFIER = 'sink';
|
|
22
22
|
exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = 'applyMinimumFieldsToQuery';
|
|
23
|
-
exports.
|
|
23
|
+
exports.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER = 'getQueryTransformerForField';
|
|
24
|
+
exports.GET_QUERY_TRANSFORMER_FOR_TYPE_IDENTIFIER = 'getQueryTransformerForType';
|
|
24
25
|
exports.GET_MINIMUM_FIELDS_IDENTIFIER = 'getMinimumFields';
|
|
25
26
|
exports.QUERY_TRANSFORMER_IDENTIFIER = 'QueryTransformer';
|
|
26
27
|
//# 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,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,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,
|
|
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,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,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,0CAA0C,GAAG,6BAA6B,CAAC;AAC3E,QAAA,yCAAyC,GAAG,4BAA4B,CAAC;AACzE,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,4BAA4B,GAAG,kBAAkB,CAAC"}
|
|
@@ -18,7 +18,9 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
18
18
|
throw new Error('Invalid GraphQL Schema. You must include a Query Type.');
|
|
19
19
|
}
|
|
20
20
|
const queryTypeName = queryType.name;
|
|
21
|
-
const queryTransformerImport = importContext.importGraphQLArtifact(queryTypeName, '
|
|
21
|
+
const queryTransformerImport = importContext.importGraphQLArtifact('types', queryTypeName, 'getQueryTransformerForField');
|
|
22
|
+
const queryTransformerForTypeImport = importContext.importGraphQLArtifact('types', queryTypeName, 'getQueryTransformerForType');
|
|
23
|
+
const arrayIsArrayUtilsIdentifier = importContext.importTypeUtil('ArrayIsArray');
|
|
22
24
|
// TODO: W-11246519 improve readability of the applyMinimumFields function by replacing the AST visitor with
|
|
23
25
|
// manual node traversal
|
|
24
26
|
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
@@ -43,7 +45,7 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
43
45
|
}
|
|
44
46
|
|
|
45
47
|
export interface ${constants_3.QUERY_TRANSFORMER_IDENTIFIER} {
|
|
46
|
-
${constants_3.
|
|
48
|
+
${constants_3.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}: QueryTransformerFunction,
|
|
47
49
|
${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: GetMinimumFieldsFunction
|
|
48
50
|
}
|
|
49
51
|
|
|
@@ -109,7 +111,7 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
109
111
|
enter(node) {
|
|
110
112
|
if (node.operation === 'query') {
|
|
111
113
|
queryTransformerStack.push({
|
|
112
|
-
${constants_3.
|
|
114
|
+
${constants_3.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}: ${queryTransformerImport},
|
|
113
115
|
${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: () => {return []}
|
|
114
116
|
});
|
|
115
117
|
}
|
|
@@ -118,10 +120,12 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
118
120
|
Field: {
|
|
119
121
|
enter(node) {
|
|
120
122
|
if (node.selectionSet?.selections !== undefined) {
|
|
121
|
-
const { ${constants_3.
|
|
122
|
-
const queryTransformer = ${constants_3.
|
|
123
|
+
const { ${constants_3.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER} } = queryTransformerStack[queryTransformerStack.length - 1];
|
|
124
|
+
const queryTransformer = ${constants_3.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}(node.name.value);
|
|
123
125
|
if (queryTransformer === undefined) {
|
|
124
|
-
throw new Error("Invalid field in query '" + node.name.value
|
|
126
|
+
throw new Error("Invalid field in query '" + node.name.value
|
|
127
|
+
+ "' at line: " + node.name.loc?.startToken.line
|
|
128
|
+
+ " column: " + node.name.loc?.startToken.column);
|
|
125
129
|
}
|
|
126
130
|
queryTransformerStack.push(queryTransformer);
|
|
127
131
|
}
|
|
@@ -132,8 +136,44 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
132
136
|
}
|
|
133
137
|
}
|
|
134
138
|
},
|
|
139
|
+
InlineFragment: {
|
|
140
|
+
enter(node, _key, parentFields) {
|
|
141
|
+
if (node.typeCondition !== undefined && node.typeCondition !== null) {
|
|
142
|
+
const queryTransformer = ${queryTransformerForTypeImport}(node.typeCondition.name.value)
|
|
143
|
+
if (queryTransformer === undefined) {
|
|
144
|
+
throw new Error("Invalid type in query fragment '" + node.typeCondition.name.value
|
|
145
|
+
+ "' at line: " + node.typeCondition.name.loc?.startToken.line
|
|
146
|
+
+ " column: " + node.typeCondition.name.loc?.startToken.column);
|
|
147
|
+
}
|
|
148
|
+
const { ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER} } = queryTransformer;
|
|
149
|
+
|
|
150
|
+
// create a wrapper for the getMinimumFields function that filters
|
|
151
|
+
// out any fields already present via encapsulation in the parent fields
|
|
152
|
+
let wrappedGetMinimumFields = ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER};
|
|
153
|
+
if (${arrayIsArrayUtilsIdentifier}(parentFields)) {
|
|
154
|
+
wrappedGetMinimumFields = ():${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] => {
|
|
155
|
+
return ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}().filter((field) => {
|
|
156
|
+
const fieldIsAlreadyPresent = parentFields.some(parentField => {
|
|
157
|
+
return parentField.kind == 'Field' && parentField.name.value === field.name.value;
|
|
158
|
+
});
|
|
159
|
+
return !fieldIsAlreadyPresent;
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
queryTransformerStack.push({
|
|
164
|
+
...queryTransformer,
|
|
165
|
+
${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: wrappedGetMinimumFields
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
leave(node) {
|
|
170
|
+
if (node.typeCondition !== undefined) {
|
|
171
|
+
queryTransformerStack.pop();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
},
|
|
135
175
|
SelectionSet: {
|
|
136
|
-
enter(node, _key,
|
|
176
|
+
enter(node, _key, _parent) {
|
|
137
177
|
// No changes if no selections.
|
|
138
178
|
const { selections } = node;
|
|
139
179
|
if (!selections) {
|
|
@@ -148,9 +188,10 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
148
188
|
// Call the function to get the minimum fields for this node, filtering out any
|
|
149
189
|
// fields that are already present in the selection.
|
|
150
190
|
const minimumFields = ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}().filter(field => {
|
|
151
|
-
|
|
191
|
+
const fieldIsAlreadyPresent = selections.some(selection => {
|
|
152
192
|
return selection.kind === 'Field' && (selection.name.value === field.name.value);
|
|
153
193
|
});
|
|
194
|
+
return !fieldIsAlreadyPresent;
|
|
154
195
|
});
|
|
155
196
|
|
|
156
197
|
// Return a new SelectionSet including minimum fields
|
|
@@ -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,sDAagC;AAChC,2CAcqB;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,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,aAAa,EACb,qBAAqB,
|
|
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,sDAagC;AAChC,2CAcqB;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,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,OAAO,EACP,aAAa,EACb,6BAA6B,CAChC,CAAC;IACF,MAAM,6BAA6B,GAAG,aAAa,CAAC,qBAAqB,CACrE,OAAO,EACP,aAAa,EACb,4BAA4B,CAC/B,CAAC;IAEF,MAAM,2BAA2B,GAAG,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAEjF,4GAA4G;IAC5G,wBAAwB;IACxB,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;sBAC5B,2CAA+B,qBAAqB,yDAA6C;2BAC5F,8CAAkC;;yBAEpC,wCAA4B;yBAC5B,2CAA+B;oBACpC,oDAAwC;cAC9C,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;;;iCAID,wCAA4B;;;;kBAI3C,2CAA+B;;;2BAGtB,wCAA4B;cACzC,sDAA0C;cAC1C,yCAA6B;;;0BAGjB,kCAAsB;;;;;;0BAMtB,gDAAoC,4BAA4B,8CAAkC,mBAAmB,wCAA4B;;;;;;;;;;kDAUzH,8CAAkC,gBAAgB,wCAA4B;;;;;iDAK/E,2CAA+B,gBAAgB,wCAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAgC/F,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;2CAC7G,wCAA4B;6BAC1C,4CAAgC;;;;;kCAK3B,sDAA0C,KAAK,sBAAsB;kCACrE,yCAA6B;;;;;;;;sCAQzB,sDAA0C;uDACzB,sDAA0C;;;;;;;;;;;;;;;;;;uDAkB1C,6BAA6B;;;;;;sCAM9C,yCAA6B;;;;4DAIP,yCAA6B;kCACvD,2BAA2B;+DACE,2CAA+B;6CACjD,yCAA6B;;;;;;;;;;kCAUxC,yCAA6B;;;;;;;;;;;;;;;;;;;;;kCAqB7B,yCAA6B;;;;gDAIf,yCAA6B;;;;;;;;;;;;;;;qBAexD,sCAA0B;;;0BAGrB,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;;;;;;;sBAOnN,oDAAwC;;;;;;0BAMpC,oDAAwC;;;;;;;KAO7D,CAAC,CAAC;AACP,CAAC;AAnPD,4CAmPC"}
|
|
@@ -2,4 +2,5 @@ import type { ImportContext } from '../../../utils/imports';
|
|
|
2
2
|
import type { ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
3
3
|
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
4
4
|
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
5
|
-
|
|
5
|
+
import type { ModelInfo } from '../../../main';
|
|
6
|
+
export declare function generateType(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata, modelInfo: ModelInfo): string;
|
|
@@ -13,14 +13,14 @@ const merge_1 = require("./merge");
|
|
|
13
13
|
const imports_1 = require("../../../utils/imports");
|
|
14
14
|
const select_1 = require("./select");
|
|
15
15
|
const query_transformer_1 = require("./query-transformer");
|
|
16
|
-
function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata) {
|
|
16
|
+
function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata, modelInfo) {
|
|
17
17
|
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
18
18
|
export const name = '${graphqlTypeName}';
|
|
19
19
|
${(0, ttl_1.generateTtl)(graphqlDsl, graphqlTypeName)}
|
|
20
20
|
${(0, interface_1.generateInterfaces)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
21
21
|
${(0, key_1.generateKey)(def, importContext, graphqlDsl.schemaName)}
|
|
22
22
|
${(0, merge_1.generateMerge)(importContext)}
|
|
23
|
-
${(0, ingest_1.generateIngest)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
23
|
+
${(0, ingest_1.generateIngest)(graphqlDsl, graphqlTypeName, def, importContext, metadata, modelInfo)}
|
|
24
24
|
${(0, select_1.generateSelect)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
25
25
|
${(0, query_transformer_1.generate)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
26
26
|
`);
|
|
@@ -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;
|
|
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;AAG3E,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;KACxF,CAAC,CAAC;AACP,CAAC;AAlBD,oCAkBC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { FieldDefinitionNode, ListTypeNode, NamedTypeNode,
|
|
1
|
+
import type { FieldDefinitionNode, ListTypeNode, NamedTypeNode, TypeNode, ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
2
2
|
import type { ImportContext } from '../../../utils/imports';
|
|
3
3
|
import type { NormalizableTypes } from '../utils';
|
|
4
4
|
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
5
5
|
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
6
|
+
import type { ModelInfo } from '../../../main';
|
|
6
7
|
export declare function ingestNamedType(field: FieldDefinitionNode, typeNode: NamedTypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
|
|
7
8
|
export declare function ingestListType(field: FieldDefinitionNode, typeNode: ListTypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
|
|
8
9
|
export declare function ingestType(field: FieldDefinitionNode, typeNode: TypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
|
|
9
|
-
export declare function generateIngest(graphqlDsl: LuvioGraphQLDSL,
|
|
10
|
+
export declare function generateIngest(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata, modelInfo: ModelInfo): string;
|