@luvio/compiler 0.94.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/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/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/select.js +4 -4
- 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 +4 -4
- 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/generateTypeUtil.js +2 -2
- package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
- package/dist/codegen/graphql/type/ingest.js +10 -11
- 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/query-transformer.js +6 -6
- package/dist/codegen/graphql/type/query-transformer.js.map +1 -1
- package/dist/codegen/graphql/type/select.js +14 -7
- package/dist/codegen/graphql/type/select.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/graphql/resource-params.js +1 -1
- package/dist/codegen/resource/graphql/resource-params.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
|
@@ -10,7 +10,7 @@ const constants_1 = require("../../graphql/type/constants");
|
|
|
10
10
|
const constants_2 = require("../../shared/constants");
|
|
11
11
|
function generateGraphQLAdapterConfigInterface(importContext, adapterAnnotation) {
|
|
12
12
|
const interfaceName = (0, util_1.buildConfigInterfaceName)(adapterAnnotation.name);
|
|
13
|
-
const graphQLVariablesInterfaceImport = importContext.importGraphQLArtifact(constants_1.TYPE_UTIL_IDENTIFIER, constants_1.GRAPHQL_VARIABLES_IDENTIFIER);
|
|
13
|
+
const graphQLVariablesInterfaceImport = importContext.importGraphQLArtifact('types', constants_1.TYPE_UTIL_IDENTIFIER, constants_1.GRAPHQL_VARIABLES_IDENTIFIER);
|
|
14
14
|
// TODO: We should validate that a given RAML endpoint has all of the props defined in the spec before we get here
|
|
15
15
|
return (0, deindent_1.default) `
|
|
16
16
|
export interface ${interfaceName} {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-config-interface.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/adapter-config-interface.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,kCAAmD;AAGnD,4DAAkG;AAClG,sDAA4E;AAE5E,SAAgB,qCAAqC,CACjD,aAA4B,EAC5B,iBAAoC;IAEpC,MAAM,aAAa,GAAG,IAAA,+BAAwB,EAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvE,MAAM,+BAA+B,GAAG,aAAa,CAAC,qBAAqB,CACvE,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IAEF,kHAAkH;IAClH,OAAO,IAAA,kBAAQ,EAAA;2BACQ,aAAa;qBACnB,8CAAkC;;0BAE7B,+BAA+B;;KAEpD,CAAC;AACN,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter-config-interface.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/adapter-config-interface.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,kCAAmD;AAGnD,4DAAkG;AAClG,sDAA4E;AAE5E,SAAgB,qCAAqC,CACjD,aAA4B,EAC5B,iBAAoC;IAEpC,MAAM,aAAa,GAAG,IAAA,+BAAwB,EAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvE,MAAM,+BAA+B,GAAG,aAAa,CAAC,qBAAqB,CACvE,OAAO,EACP,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IAEF,kHAAkH;IAClH,OAAO,IAAA,kBAAQ,EAAA;2BACQ,aAAa;qBACnB,8CAAkC;;0BAE7B,+BAA+B;;KAEpD,CAAC;AACN,CAAC;AApBD,sFAoBC"}
|
|
@@ -13,7 +13,7 @@ function generateConfigTransformerFunction(context, adapterAnnotation) {
|
|
|
13
13
|
const { importGraphQLArtifact, importRamlArtifact } = context;
|
|
14
14
|
const configInterfaceIdentifier = importRamlArtifact(adapterId, (0, util_1.buildConfigInterfaceName)(adapterName));
|
|
15
15
|
const transformConfigurationIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_TRASNFORM_CONFIGURATION_IDENTIFIER);
|
|
16
|
-
const applyMinimumFieldsToQuery = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER);
|
|
16
|
+
const applyMinimumFieldsToQuery = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER);
|
|
17
17
|
return (0, deindent_1.default) `
|
|
18
18
|
export function ${transformConfigurationIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER}: ${configInterfaceIdentifier}): ${configInterfaceIdentifier} {
|
|
19
19
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-config-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/adapter-config-transformer.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,4CAGsB;AACtB,4DAGsC;AAEtC,kCAAmD;AAGnD,SAAgB,iCAAiC,CAC7C,OAAsB,EACtB,iBAAoC;IAEpC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAE/D,MAAM,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,yBAAyB,GAAG,kBAAkB,CAChD,SAAS,EACT,IAAA,+BAAwB,EAAC,WAAW,CAAC,CACxC,CAAC;IACF,MAAM,gCAAgC,GAAG,kBAAkB,CACvD,SAAS,EACT,sDAA0C,CAC7C,CAAC;IAEF,MAAM,yBAAyB,GAAG,qBAAqB,CACnD,gCAAoB,EACpB,oDAAwC,CAC3C,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;0BACO,gCAAgC,IAAI,qCAAyB,KAAK,yBAAyB,MAAM,yBAAyB;;qBAE/H,qCAAyB;yBACrB,yBAAyB,IAAI,qCAAyB;;;KAG1E,CAAC;AACN,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter-config-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/adapter-config-transformer.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,4CAGsB;AACtB,4DAGsC;AAEtC,kCAAmD;AAGnD,SAAgB,iCAAiC,CAC7C,OAAsB,EACtB,iBAAoC;IAEpC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAE/D,MAAM,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,yBAAyB,GAAG,kBAAkB,CAChD,SAAS,EACT,IAAA,+BAAwB,EAAC,WAAW,CAAC,CACxC,CAAC;IACF,MAAM,gCAAgC,GAAG,kBAAkB,CACvD,SAAS,EACT,sDAA0C,CAC7C,CAAC;IAEF,MAAM,yBAAyB,GAAG,qBAAqB,CACnD,OAAO,EACP,gCAAoB,EACpB,oDAAwC,CAC3C,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;0BACO,gCAAgC,IAAI,qCAAyB,KAAK,yBAAyB,MAAM,yBAAyB;;qBAE/H,qCAAyB;yBACrB,yBAAyB,IAAI,qCAAyB;;;KAG1E,CAAC;AACN,CAAC;AA7BD,8EA6BC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { GraphQLDirective } from '@luvio/graphql-parser';
|
|
2
|
+
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
3
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
4
|
+
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
5
|
+
export declare const APPLY_TO_SELECTION_IDENTIFIER = "applyToSelection";
|
|
6
|
+
export declare function generateApplyToSelectionFunction(_graphqlDsl: LuvioGraphQLDSL, directive: GraphQLDirective, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
|
|
@@ -0,0 +1,37 @@
|
|
|
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.generateApplyToSelectionFunction = exports.APPLY_TO_SELECTION_IDENTIFIER = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const imports_1 = require("../../../utils/imports");
|
|
9
|
+
const constants_1 = require("../../shared/constants");
|
|
10
|
+
const constants_2 = require("../type/constants");
|
|
11
|
+
const include_apply_to_selection_1 = require("./defaults/include-apply-to-selection");
|
|
12
|
+
const skip_apply_to_selection_1 = require("./defaults/skip-apply-to-selection");
|
|
13
|
+
const util_1 = require("./util");
|
|
14
|
+
exports.APPLY_TO_SELECTION_IDENTIFIER = 'applyToSelection';
|
|
15
|
+
function generateApplyToSelectionFunction(_graphqlDsl, directive, importContext, _metadata) {
|
|
16
|
+
// Is this a reasonable way to organize this code?
|
|
17
|
+
switch (directive.name) {
|
|
18
|
+
case 'include':
|
|
19
|
+
return (0, include_apply_to_selection_1.generateIncludeApplyToSelectionImplementation)(importContext);
|
|
20
|
+
case 'skip':
|
|
21
|
+
return (0, skip_apply_to_selection_1.generateSkipApplyToSelectionImplementation)(importContext);
|
|
22
|
+
default:
|
|
23
|
+
return generateDefaultImplementation(importContext);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.generateApplyToSelectionFunction = generateApplyToSelectionFunction;
|
|
27
|
+
function generateDefaultImplementation(importContext) {
|
|
28
|
+
const graphQLVariablesImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_VARIABLES_IDENTIFIER);
|
|
29
|
+
const directiveHandlingResultIdentifier = importContext.importGraphQLArtifact('directives', util_1.DIRECTIVE_UTIL_MODULE_IDENTIFIER, util_1.SELECTION_DIRECTIVE_HANDLING_RESULT_IDENTIFIER);
|
|
30
|
+
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
31
|
+
export function ${exports.APPLY_TO_SELECTION_IDENTIFIER}(selection: ${constants_1.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT},
|
|
32
|
+
directive: ${constants_1.LUVIO_GRAPHQL_DIRECTIVE_NODE_IMPORT},
|
|
33
|
+
variables: ${graphQLVariablesImport}): ${directiveHandlingResultIdentifier} {
|
|
34
|
+
return selection;
|
|
35
|
+
}`);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=apply-to-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-to-selection.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/directive/apply-to-selection.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA+C;AAE/C,oDAAwD;AACxD,sDAGgC;AAEhC,iDAAuF;AACvF,sFAAsG;AACtG,gFAAgG;AAChG,iCAGgB;AAEH,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AAEhE,SAAgB,gCAAgC,CAC5C,WAA4B,EAC5B,SAA2B,EAC3B,aAA4B,EAC5B,SAAiC;IAEjC,kDAAkD;IAClD,QAAQ,SAAS,CAAC,IAAI,EAAE;QACpB,KAAK,SAAS;YACV,OAAO,IAAA,0EAA6C,EAAC,aAAa,CAAC,CAAC;QACxE,KAAK,MAAM;YACP,OAAO,IAAA,oEAA0C,EAAC,aAAa,CAAC,CAAC;QACrE;YACI,OAAO,6BAA6B,CAAC,aAAa,CAAC,CAAC;KAC3D;AACL,CAAC;AAfD,4EAeC;AAED,SAAS,6BAA6B,CAAC,aAA4B;IAC/D,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,OAAO,EACP,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IACF,MAAM,iCAAiC,GAAG,aAAa,CAAC,qBAAqB,CACzE,YAAY,EACZ,uCAAgC,EAChC,qDAA8C,CACjD,CAAC;IACF,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;0BACR,qCAA6B,eAAe,+CAAmC;qDACpD,+CAAmC;qDACnC,sBAAsB,MAAM,iCAAiC;;UAExG,CAAC,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateIncludeApplyToSelectionImplementation = void 0;
|
|
4
|
+
const imports_1 = require("../../../../utils/imports");
|
|
5
|
+
const constants_1 = require("../../../shared/constants");
|
|
6
|
+
const constants_2 = require("../../type/constants");
|
|
7
|
+
const apply_to_selection_1 = require("../apply-to-selection");
|
|
8
|
+
const util_1 = require("../util");
|
|
9
|
+
function generateIncludeApplyToSelectionImplementation(importContext) {
|
|
10
|
+
const graphQLVariablesImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_VARIABLES_IDENTIFIER);
|
|
11
|
+
const directiveHandlingResultIdentifier = importContext.importGraphQLArtifact('directives', util_1.DIRECTIVE_UTIL_MODULE_IDENTIFIER, util_1.SELECTION_DIRECTIVE_HANDLING_RESULT_IDENTIFIER);
|
|
12
|
+
return (0, imports_1.resolveImports)(`export function ${apply_to_selection_1.APPLY_TO_SELECTION_IDENTIFIER}(selection: ${constants_1.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT},
|
|
13
|
+
directive: ${constants_1.LUVIO_GRAPHQL_DIRECTIVE_NODE_IMPORT},
|
|
14
|
+
variables: ${graphQLVariablesImport}): ${directiveHandlingResultIdentifier} {
|
|
15
|
+
const ifArg = directive.arguments.find(argument => argument.name.value === "if");
|
|
16
|
+
if(ifArg && ifArg.value) {
|
|
17
|
+
if(ifArg.value.kind === "BooleanValue") {
|
|
18
|
+
return ifArg.value.value ? selection : undefined;
|
|
19
|
+
}
|
|
20
|
+
if(ifArg.value.kind === "Variable") {
|
|
21
|
+
return variables[ifArg.value.name.value] ? selection : undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return selection;
|
|
25
|
+
}`);
|
|
26
|
+
}
|
|
27
|
+
exports.generateIncludeApplyToSelectionImplementation = generateIncludeApplyToSelectionImplementation;
|
|
28
|
+
//# sourceMappingURL=include-apply-to-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"include-apply-to-selection.js","sourceRoot":"","sources":["../../../../../src/codegen/graphql/directive/defaults/include-apply-to-selection.ts"],"names":[],"mappings":";;;AACA,uDAA2D;AAC3D,yDAGmC;AACnC,oDAA0F;AAC1F,8DAAsE;AACtE,kCAGiB;AAEjB,SAAgB,6CAA6C,CACzD,aAA4B;IAE5B,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,OAAO,EACP,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IACF,MAAM,iCAAiC,GAAG,aAAa,CAAC,qBAAqB,CACzE,YAAY,EACZ,uCAAgC,EAChC,qDAA8C,CACjD,CAAC;IACF,OAAO,IAAA,wBAAc,EAAC,mBAAmB,kDAA6B,eAAe,+CAAmC;qBACvG,+CAAmC;qBACnC,sBAAsB,MAAM,iCAAiC;;;;;;;;;;;MAW5E,CAAC,CAAC;AACR,CAAC;AA3BD,sGA2BC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateSkipApplyToSelectionImplementation = void 0;
|
|
4
|
+
const imports_1 = require("../../../../utils/imports");
|
|
5
|
+
const constants_1 = require("../../../shared/constants");
|
|
6
|
+
const constants_2 = require("../../type/constants");
|
|
7
|
+
const apply_to_selection_1 = require("../apply-to-selection");
|
|
8
|
+
const util_1 = require("../util");
|
|
9
|
+
function generateSkipApplyToSelectionImplementation(importContext) {
|
|
10
|
+
const graphQLVariablesImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_VARIABLES_IDENTIFIER);
|
|
11
|
+
const directiveHandlingResultIdentifier = importContext.importGraphQLArtifact('directives', util_1.DIRECTIVE_UTIL_MODULE_IDENTIFIER, util_1.SELECTION_DIRECTIVE_HANDLING_RESULT_IDENTIFIER);
|
|
12
|
+
return (0, imports_1.resolveImports)(`export function ${apply_to_selection_1.APPLY_TO_SELECTION_IDENTIFIER}(selection: ${constants_1.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT},
|
|
13
|
+
directive: ${constants_1.LUVIO_GRAPHQL_DIRECTIVE_NODE_IMPORT},
|
|
14
|
+
variables: ${graphQLVariablesImport}): ${directiveHandlingResultIdentifier} {
|
|
15
|
+
const ifArg = directive.arguments.find(argument => argument.name.value === "if");
|
|
16
|
+
if(ifArg && ifArg.value) {
|
|
17
|
+
if(ifArg.value.kind === "BooleanValue") {
|
|
18
|
+
return ifArg.value.value ? undefined : selection;
|
|
19
|
+
}
|
|
20
|
+
if(ifArg.value.kind === "Variable") {
|
|
21
|
+
return variables[ifArg.value.name.value] ? undefined : selection;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return selection;
|
|
25
|
+
}`);
|
|
26
|
+
}
|
|
27
|
+
exports.generateSkipApplyToSelectionImplementation = generateSkipApplyToSelectionImplementation;
|
|
28
|
+
//# sourceMappingURL=skip-apply-to-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skip-apply-to-selection.js","sourceRoot":"","sources":["../../../../../src/codegen/graphql/directive/defaults/skip-apply-to-selection.ts"],"names":[],"mappings":";;;AACA,uDAA2D;AAC3D,yDAGmC;AACnC,oDAA0F;AAC1F,8DAAsE;AACtE,kCAGiB;AAEjB,SAAgB,0CAA0C,CAAC,aAA4B;IACnF,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,OAAO,EACP,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IACF,MAAM,iCAAiC,GAAG,aAAa,CAAC,qBAAqB,CACzE,YAAY,EACZ,uCAAgC,EAChC,qDAA8C,CACjD,CAAC;IACF,OAAO,IAAA,wBAAc,EAAC,mBAAmB,kDAA6B,eAAe,+CAAmC;qBACvG,+CAAmC;qBACnC,sBAAsB,MAAM,iCAAiC;;;;;;;;;;;MAW5E,CAAC,CAAC;AACR,CAAC;AAzBD,gGAyBC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
2
|
+
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
3
|
+
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
4
|
+
import type { GraphQLDirective } from '@luvio/graphql-parser';
|
|
5
|
+
export declare function generateDirective(graphqlDsl: LuvioGraphQLDSL, directive: GraphQLDirective, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.generateDirective = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const imports_1 = require("../../../utils/imports");
|
|
9
|
+
const apply_to_selection_1 = require("./apply-to-selection");
|
|
10
|
+
function generateDirective(graphqlDsl, directive, importContext, metadata) {
|
|
11
|
+
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
12
|
+
export const name = '${directive.name}';
|
|
13
|
+
${(0, apply_to_selection_1.generateApplyToSelectionFunction)(graphqlDsl, directive, importContext, metadata)}
|
|
14
|
+
`);
|
|
15
|
+
}
|
|
16
|
+
exports.generateDirective = generateDirective;
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/directive/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,oDAAwD;AAKxD,6DAAwE;AAExE,SAAgB,iBAAiB,CAC7B,UAA2B,EAC3B,SAA2B,EAC3B,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,SAAS,CAAC,IAAI;UACnC,IAAA,qDAAgC,EAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;KACrF,CAAC,CAAC;AACP,CAAC;AAVD,8CAUC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { GraphQLResource } from '../../../intermediate/resource';
|
|
2
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
3
|
+
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
4
|
+
export declare const SELECTION_DIRECTIVE_HANDLING_RESULT_IDENTIFIER = "SelectionDirectiveHandlingResult";
|
|
5
|
+
export declare const APPLY_DIRECTIVES_FOR_SELECTION_IDENTIFIER = "applyDirectivesForSelection";
|
|
6
|
+
export declare const DIRECTIVE_UTIL_MODULE_IDENTIFIER = "directive-util";
|
|
7
|
+
export declare function generateDirectiveUtil(graphqlResource: GraphQLResource, _metadata: GraphQLCodegenMetadata, importContext: ImportContext): string;
|
|
@@ -0,0 +1,51 @@
|
|
|
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.generateDirectiveUtil = exports.DIRECTIVE_UTIL_MODULE_IDENTIFIER = exports.APPLY_DIRECTIVES_FOR_SELECTION_IDENTIFIER = exports.SELECTION_DIRECTIVE_HANDLING_RESULT_IDENTIFIER = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const imports_1 = require("../../../utils/imports");
|
|
9
|
+
const constants_1 = require("../../shared/constants");
|
|
10
|
+
const constants_2 = require("../type/constants");
|
|
11
|
+
const apply_to_selection_1 = require("./apply-to-selection");
|
|
12
|
+
exports.SELECTION_DIRECTIVE_HANDLING_RESULT_IDENTIFIER = 'SelectionDirectiveHandlingResult';
|
|
13
|
+
exports.APPLY_DIRECTIVES_FOR_SELECTION_IDENTIFIER = 'applyDirectivesForSelection';
|
|
14
|
+
exports.DIRECTIVE_UTIL_MODULE_IDENTIFIER = 'directive-util';
|
|
15
|
+
function generateDirectiveUtil(graphqlResource, _metadata, importContext) {
|
|
16
|
+
const { schema } = graphqlResource.graphqlDSL;
|
|
17
|
+
const graphQLVariablesImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_VARIABLES_IDENTIFIER);
|
|
18
|
+
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
19
|
+
export type ${exports.SELECTION_DIRECTIVE_HANDLING_RESULT_IDENTIFIER} = ${constants_1.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT} | undefined;
|
|
20
|
+
|
|
21
|
+
export function ${exports.APPLY_DIRECTIVES_FOR_SELECTION_IDENTIFIER}(selection: ${constants_1.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT},
|
|
22
|
+
variables: ${graphQLVariablesImport}): ${exports.SELECTION_DIRECTIVE_HANDLING_RESULT_IDENTIFIER} {
|
|
23
|
+
var result = selection;
|
|
24
|
+
if(selection.directives) {
|
|
25
|
+
// iterate through directives in order. Directives _can_ be stacked.
|
|
26
|
+
for(var i = 0; i < selection.directives.length; i++) {
|
|
27
|
+
const directive = selection.directives[i];
|
|
28
|
+
switch(directive.name.value) {
|
|
29
|
+
// Generate Case for each directive in the schema that supports SelectionNodes
|
|
30
|
+
${schema.getDirectives().map((directive) => {
|
|
31
|
+
const applyImport = importContext.importGraphQLArtifact('directives', directive.name, apply_to_selection_1.APPLY_TO_SELECTION_IDENTIFIER);
|
|
32
|
+
return (0, deindent_1.default) `
|
|
33
|
+
case("${directive.name}"):
|
|
34
|
+
result = ${applyImport}(selection, directive, variables);
|
|
35
|
+
break;
|
|
36
|
+
`;
|
|
37
|
+
})};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if(result === undefined) {
|
|
41
|
+
// Selection was removed.
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
`);
|
|
49
|
+
}
|
|
50
|
+
exports.generateDirectiveUtil = generateDirectiveUtil;
|
|
51
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/directive/util.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAE/C,oDAAwD;AACxD,sDAA6E;AAE7E,iDAAuF;AACvF,6DAAqE;AAExD,QAAA,8CAA8C,GAAG,kCAAkC,CAAC;AACpF,QAAA,yCAAyC,GAAG,6BAA6B,CAAC;AAC1E,QAAA,gCAAgC,GAAG,gBAAgB,CAAC;AAEjE,SAAgB,qBAAqB,CACjC,eAAgC,EAChC,SAAiC,EACjC,aAA4B;IAE5B,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC;IAC9C,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,OAAO,EACP,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IACF,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;kBAChB,sDAA8C,MAAM,+CAAmC;;sBAEnF,iDAAyC,eAAe,+CAAmC;iDAChE,sBAAsB,MAAM,sDAA8C;;;;;;;;sDAQrE,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACvC,MAAM,WAAW,GACb,aAAa,CAAC,qBAAqB,CAC/B,YAAY,EACZ,SAAS,CAAC,IAAI,EACd,kDAA6B,CAChC,CAAC;QACN,OAAO,IAAA,kBAAQ,EAAA;oEACH,SAAS,CAAC,IAAI;2EACP,WAAW;;yDAE7B,CAAC;IACN,CAAC,CAAC;;;;;;;;;;;KAWjD,CAAC,CAAC;AACP,CAAC;AA/CD,sDA+CC"}
|
|
@@ -15,13 +15,13 @@ function generateIngestFromDef(graphqlDsl, def, importContext, graphqlStateInter
|
|
|
15
15
|
const { importGraphQLArtifact } = importContext;
|
|
16
16
|
if (type) {
|
|
17
17
|
const ingestStatements = schema.getImplementations(type).objects.map((object) => {
|
|
18
|
-
const objectPartialInterfaceAlias = importGraphQLArtifact(object.name, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
18
|
+
const objectPartialInterfaceAlias = importGraphQLArtifact('types', object.name, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
19
19
|
const state = (0, utils_1.isTypeExtensionDefined)(typeNameToExtensions, object.name, 'ramlMapping')
|
|
20
20
|
? `state as ${graphqlStateInterface}<${objectPartialInterfaceAlias}>`
|
|
21
21
|
: 'state';
|
|
22
22
|
return (0, deindent_1.default) `
|
|
23
23
|
if(typename === '${object.name}') {
|
|
24
|
-
return ${importContext.importGraphQLArtifact(object.name, constants_2.TYPE_INGEST_IDENTIFIER)}(astNode, ${state})
|
|
24
|
+
return ${importContext.importGraphQLArtifact('types', object.name, constants_2.TYPE_INGEST_IDENTIFIER)}(astNode, ${state})
|
|
25
25
|
}
|
|
26
26
|
`;
|
|
27
27
|
});
|
|
@@ -34,7 +34,7 @@ function generateIngest(graphqlDsl, typeName, def, importContext, _metadata) {
|
|
|
34
34
|
var _a;
|
|
35
35
|
const { schema } = graphqlDsl;
|
|
36
36
|
const { importGraphQLArtifact } = importContext;
|
|
37
|
-
const graphqlStateInterface = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_STATE_INTERFACE_IDENTIFIER);
|
|
37
|
+
const graphqlStateInterface = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_STATE_INTERFACE_IDENTIFIER);
|
|
38
38
|
const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName
|
|
39
39
|
? constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
|
|
40
40
|
: constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/ingest.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAE/C,yCAAuD;AACvD,sDAGgC;AAGhC,2CAA2D;AAC3D,iDAI2B;AAE3B,SAAgB,qBAAqB,CACjC,UAA2B,EAC3B,GAAgC,EAChC,aAA4B,EAC5B,qBAA6B;IAE7B,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAyB,CAAC;IACpE,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAC;IAChD,IAAI,IAAI,EAAE;QACN,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5E,MAAM,2BAA2B,GAAG,qBAAqB,CACrD,MAAM,CAAC,IAAI,EACX,wCAA4B,CAC/B,CAAC;YACF,MAAM,KAAK,GAAG,IAAA,8BAAsB,EAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;gBAClF,CAAC,CAAC,YAAY,qBAAqB,IAAI,2BAA2B,GAAG;gBACrE,CAAC,CAAC,OAAO,CAAC;YACd,OAAO,IAAA,kBAAQ,EAAA;mCACQ,MAAM,CAAC,IAAI;6BACjB,aAAa,CAAC,qBAAqB,CACxC,MAAM,CAAC,IAAI,EACX,kCAAsB,CACzB,aAAa,KAAK;;aAE1B,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/ingest.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAE/C,yCAAuD;AACvD,sDAGgC;AAGhC,2CAA2D;AAC3D,iDAI2B;AAE3B,SAAgB,qBAAqB,CACjC,UAA2B,EAC3B,GAAgC,EAChC,aAA4B,EAC5B,qBAA6B;IAE7B,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAyB,CAAC;IACpE,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAC;IAChD,IAAI,IAAI,EAAE;QACN,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5E,MAAM,2BAA2B,GAAG,qBAAqB,CACrD,OAAO,EACP,MAAM,CAAC,IAAI,EACX,wCAA4B,CAC/B,CAAC;YACF,MAAM,KAAK,GAAG,IAAA,8BAAsB,EAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;gBAClF,CAAC,CAAC,YAAY,qBAAqB,IAAI,2BAA2B,GAAG;gBACrE,CAAC,CAAC,OAAO,CAAC;YACd,OAAO,IAAA,kBAAQ,EAAA;mCACQ,MAAM,CAAC,IAAI;6BACjB,aAAa,CAAC,qBAAqB,CACxC,OAAO,EACP,MAAM,CAAC,IAAI,EACX,kCAAsB,CACzB,aAAa,KAAK;;aAE1B,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAlCD,sDAkCC;AAED,SAAgB,cAAc,CAC1B,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAC;IAChD,MAAM,qBAAqB,GAAG,qBAAqB,CAC/C,OAAO,EACP,gCAAoB,EACpB,8CAAkC,CACrC,CAAC;IACF,MAAM,gBAAgB,GAClB,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ;QACpC,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAC1C,OAAO,IAAA,kBAAQ,EAAA;0CACuB,gBAAgB,YAAY,qBAAqB,IAAI,wCAA4B;;;;cAI7G,qBAAqB,CAAC,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,qBAAqB,CAAC;;KAErF,CAAC;AACN,CAAC;AA1BD,wCA0BC"}
|
|
@@ -14,7 +14,7 @@ function generateNamedTypeReference(type, importContext, scalarToPrimitiveMap) {
|
|
|
14
14
|
if (scalarToPrimitiveMap[type.name.value] !== undefined) {
|
|
15
15
|
return scalarToPrimitiveMap[type.name.value];
|
|
16
16
|
}
|
|
17
|
-
return importContext.importGraphQLArtifact(typeName, exports.TYPE_INTERFACE_IDENTIFIER);
|
|
17
|
+
return importContext.importGraphQLArtifact('types', typeName, exports.TYPE_INTERFACE_IDENTIFIER);
|
|
18
18
|
}
|
|
19
19
|
function generateTypeReference(type, importContext, scalarToPrimitiveMap, state) {
|
|
20
20
|
switch (type.kind) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/interface.ts"],"names":[],"mappings":";;;;;;AAOA,uEAA+C;AAE/C,qCAAyC;AAE5B,QAAA,yBAAyB,GAAG,WAAW,CAAC;AACxC,QAAA,4BAA4B,GAAG,UAAU,iCAAyB,EAAE,CAAC;AACrE,QAAA,4BAA4B,GAAG,UAAU,iCAAyB,EAAE,CAAC;AAElF,SAAS,0BAA0B,CAC/B,IAAmB,EACnB,aAA4B,EAC5B,oBAA4C;IAE5C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;IAEtC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;QACrD,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChD;IAED,OAAO,aAAa,CAAC,qBAAqB,CAAC,QAAQ,EAAE,iCAAyB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,10 @@ function generateSelectFromDef(graphQLSchema, interfaceType, importContext) {
|
|
|
13
13
|
const selectStatements = graphQLSchema
|
|
14
14
|
.getImplementations(interfaceType)
|
|
15
15
|
.objects.map((object) => {
|
|
16
|
-
const objectPartialInterfaceAlias = importContext.importGraphQLArtifact(object.name, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
16
|
+
const objectPartialInterfaceAlias = importContext.importGraphQLArtifact('types', object.name, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
17
17
|
return (0, deindent_1.default) `
|
|
18
18
|
if(typename === '${object.name}') {
|
|
19
|
-
return ${importContext.importGraphQLArtifact(object.name, 'select')}(field, variables, fragments)(source as ${objectPartialInterfaceAlias}, reader)
|
|
19
|
+
return ${importContext.importGraphQLArtifact('types', object.name, 'select')}(field, variables, fragments)(source as ${objectPartialInterfaceAlias}, reader)
|
|
20
20
|
}`;
|
|
21
21
|
});
|
|
22
22
|
return selectStatements.join('\n');
|
|
@@ -32,8 +32,8 @@ function generateSelect(graphqlDsl, typeName, def, importContext, _metadata) {
|
|
|
32
32
|
const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName
|
|
33
33
|
? constants_2.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
|
|
34
34
|
: constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
|
|
35
|
-
const graphqlVariablesImport = importContext.importGraphQLArtifact(constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_VARIABLES_IDENTIFIER);
|
|
36
|
-
const fragmentMapImport = importContext.importGraphQLArtifact(constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER);
|
|
35
|
+
const graphqlVariablesImport = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_VARIABLES_IDENTIFIER);
|
|
36
|
+
const fragmentMapImport = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER);
|
|
37
37
|
return (0, deindent_1.default) `
|
|
38
38
|
export function select(field: ${astNodeParamType}, variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport}) {
|
|
39
39
|
return (source: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>): ${interface_1.PARTIAL_INTERFACE_IDENTIFIER} => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/select.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,uDAAgE;AAOhE,sDAGgC;AAGhC,iDAI2B;AAC3B,2CAA2D;AAE3D,SAAgB,qBAAqB,CACjC,aAA4B,EAC5B,aAAmC,EACnC,aAA4B;IAE5B,MAAM,gBAAgB,GAAG,aAAa;SACjC,kBAAkB,CAAC,aAAa,CAAC;SACjC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACpB,MAAM,2BAA2B,GAAG,aAAa,CAAC,qBAAqB,CACnE,MAAM,CAAC,IAAI,EACX,wCAA4B,CAC/B,CAAC;QACF,OAAO,IAAA,kBAAQ,EAAA;mCACQ,MAAM,CAAC,IAAI;6BACjB,aAAa,CAAC,qBAAqB,CACxC,MAAM,CAAC,IAAI,EACX,QAAQ,CACX,2CAA2C,2BAA2B;kBACzE,CAAC;IACX,CAAC,CAAC,CAAC;IAEP,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/select.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,uDAAgE;AAOhE,sDAGgC;AAGhC,iDAI2B;AAC3B,2CAA2D;AAE3D,SAAgB,qBAAqB,CACjC,aAA4B,EAC5B,aAAmC,EACnC,aAA4B;IAE5B,MAAM,gBAAgB,GAAG,aAAa;SACjC,kBAAkB,CAAC,aAAa,CAAC;SACjC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACpB,MAAM,2BAA2B,GAAG,aAAa,CAAC,qBAAqB,CACnE,OAAO,EACP,MAAM,CAAC,IAAI,EACX,wCAA4B,CAC/B,CAAC;QACF,OAAO,IAAA,kBAAQ,EAAA;mCACQ,MAAM,CAAC,IAAI;6BACjB,aAAa,CAAC,qBAAqB,CACxC,OAAO,EACP,MAAM,CAAC,IAAI,EACX,QAAQ,CACX,2CAA2C,2BAA2B;kBACzE,CAAC;IACX,CAAC,CAAC,CAAC;IAEP,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAxBD,sDAwBC;AAED,SAAgB,cAAc,CAC1B,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,EAAE,CAAC;KACb;IACD,MAAM,gBAAgB,GAClB,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ;QACpC,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAC1C,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,OAAO,EACP,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CACzD,OAAO,EACP,gCAAoB,EACpB,2CAA+B,CAClC,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;wCACqB,gBAAgB,gBAAgB,sBAAsB,gBAAgB,iBAAiB;8BACjG,wCAA4B,aAAa,iCAAqB,WAAW,wCAA4B;;kBAEjH,qBAAqB,CAAC,MAAM,EAAE,IAA4B,EAAE,aAAa,CAAC;;;KAGvF,CAAC;AACN,CAAC;AAlCD,wCAkCC"}
|
|
@@ -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';
|
|
@@ -43,7 +43,7 @@ class GraphQLTypeSourcePrinter {
|
|
|
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"}
|
|
@@ -18,8 +18,8 @@ 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, 'getQueryTransformerForField');
|
|
22
|
-
const queryTransformerForTypeImport = importContext.importGraphQLArtifact(queryTypeName, 'getQueryTransformerForType');
|
|
21
|
+
const queryTransformerImport = importContext.importGraphQLArtifact('types', queryTypeName, 'getQueryTransformerForField');
|
|
22
|
+
const queryTransformerForTypeImport = importContext.importGraphQLArtifact('types', queryTypeName, 'getQueryTransformerForType');
|
|
23
23
|
const arrayIsArrayUtilsIdentifier = importContext.importTypeUtil('ArrayIsArray');
|
|
24
24
|
// TODO: W-11246519 improve readability of the applyMinimumFields function by replacing the AST visitor with
|
|
25
25
|
// manual node traversal
|