@luvio/compiler 0.82.1 → 0.85.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.d.ts +3 -0
- package/dist/codegen/adapter/graphql/adapter-config-interface.js +24 -0
- package/dist/codegen/adapter/graphql/adapter-config-interface.js.map +1 -0
- package/dist/codegen/adapter/graphql/index.d.ts +7 -0
- package/dist/codegen/adapter/graphql/index.js +54 -0
- package/dist/codegen/adapter/graphql/index.js.map +1 -0
- package/dist/codegen/adapter/index.d.ts +9 -7
- package/dist/codegen/adapter/index.js +10 -30
- package/dist/codegen/adapter/index.js.map +1 -1
- package/dist/codegen/adapter-tests/expected-responses.js +3 -3
- package/dist/codegen/adapter-tests/expected-responses.js.map +1 -1
- package/dist/codegen/adapter-tests/index.d.ts +3 -2
- package/dist/codegen/adapter-tests/index.js +3 -7
- package/dist/codegen/adapter-tests/index.js.map +1 -1
- package/dist/codegen/graphql/enum/index.d.ts +2 -2
- package/dist/codegen/graphql/enum/index.js +2 -2
- package/dist/codegen/graphql/enum/index.js.map +1 -1
- package/dist/codegen/graphql/enum/interface.d.ts +2 -2
- package/dist/codegen/graphql/enum/interface.js +1 -1
- package/dist/codegen/graphql/enum/interface.js.map +1 -1
- package/dist/codegen/graphql/graphql-dsl.d.ts +13 -0
- package/dist/codegen/graphql/graphql-dsl.js +26 -0
- package/dist/codegen/graphql/graphql-dsl.js.map +1 -0
- package/dist/codegen/graphql/source-printer/graphql-adapter-source-printer.d.ts +8 -4
- package/dist/codegen/graphql/source-printer/graphql-adapter-source-printer.js +31 -3
- package/dist/codegen/graphql/source-printer/graphql-adapter-source-printer.js.map +1 -1
- package/dist/codegen/graphql/source-printer/graphql-resource-source-printer.d.ts +6 -2
- package/dist/codegen/graphql/source-printer/graphql-resource-source-printer.js +15 -3
- package/dist/codegen/graphql/source-printer/graphql-resource-source-printer.js.map +1 -1
- package/dist/codegen/graphql/source-printer/graphql-source-printer.d.ts +14 -17
- package/dist/codegen/graphql/source-printer/graphql-source-printer.js +17 -19
- 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 +9 -3
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js +37 -18
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js.map +1 -1
- package/dist/codegen/graphql/source-printer/index.d.ts +2 -2
- package/dist/codegen/graphql/source-printer/index.js.map +1 -1
- package/dist/codegen/graphql/type/index.d.ts +5 -3
- package/dist/codegen/graphql/type/index.js +13 -5
- package/dist/codegen/graphql/type/index.js.map +1 -1
- package/dist/codegen/graphql/type/ingest.d.ts +5 -4
- package/dist/codegen/graphql/type/ingest.js +67 -27
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/interface.d.ts +2 -2
- package/dist/codegen/graphql/type/interface.js +1 -1
- package/dist/codegen/graphql/type/interface.js.map +1 -1
- package/dist/codegen/graphql/type/ttl.d.ts +4 -0
- package/dist/codegen/graphql/type/ttl.js +18 -0
- package/dist/codegen/graphql/type/ttl.js.map +1 -0
- package/dist/codegen/graphql/union/index.d.ts +2 -2
- package/dist/codegen/graphql/union/index.js +2 -2
- package/dist/codegen/graphql/union/index.js.map +1 -1
- package/dist/codegen/graphql/union/interface.d.ts +2 -2
- package/dist/codegen/graphql/union/interface.js +1 -1
- package/dist/codegen/graphql/union/interface.js.map +1 -1
- package/dist/codegen/graphql/utils/index.d.ts +1 -1
- package/dist/codegen/graphql/utils/index.js +2 -1
- package/dist/codegen/graphql/utils/index.js.map +1 -1
- package/dist/codegen/graphql/utils/types.d.ts +9 -3
- package/dist/codegen/graphql/utils/types.js +13 -1
- package/dist/codegen/graphql/utils/types.js.map +1 -1
- package/dist/codegen/package-renderer/index.d.ts +2 -0
- package/dist/codegen/package-renderer/index.js +6 -0
- package/dist/codegen/package-renderer/index.js.map +1 -0
- package/dist/codegen/package-renderer/package-renderer.d.ts +16 -0
- package/dist/codegen/package-renderer/package-renderer.js +72 -0
- package/dist/codegen/package-renderer/package-renderer.js.map +1 -0
- package/dist/codegen/package-renderer/text-file.d.ts +6 -0
- package/dist/{generate.js → codegen/package-renderer/text-file.js} +1 -1
- package/dist/codegen/package-renderer/text-file.js.map +1 -0
- package/dist/codegen/resource/create-resource-request.d.ts +6 -2
- package/dist/codegen/resource/create-resource-request.js +11 -17
- package/dist/codegen/resource/create-resource-request.js.map +1 -1
- package/dist/codegen/resource/graphql/create-resource-request.d.ts +4 -0
- package/dist/codegen/resource/graphql/create-resource-request.js +30 -0
- package/dist/codegen/resource/graphql/create-resource-request.js.map +1 -0
- package/dist/codegen/resource/graphql/index.d.ts +6 -0
- package/dist/codegen/resource/graphql/index.js +30 -0
- package/dist/codegen/resource/graphql/index.js.map +1 -0
- package/dist/codegen/resource/graphql/ingest-error.d.ts +5 -0
- package/dist/codegen/resource/graphql/ingest-error.js +63 -0
- package/dist/codegen/resource/graphql/ingest-error.js.map +1 -0
- package/dist/codegen/resource/graphql/ingest-success.d.ts +4 -0
- package/dist/codegen/resource/graphql/ingest-success.js +56 -0
- package/dist/codegen/resource/graphql/ingest-success.js.map +1 -0
- package/dist/codegen/resource/graphql/key-builder.d.ts +3 -0
- package/dist/codegen/resource/graphql/key-builder.js +25 -0
- package/dist/codegen/resource/graphql/key-builder.js.map +1 -0
- package/dist/codegen/resource/graphql/resource-params.d.ts +4 -0
- package/dist/codegen/resource/graphql/resource-params.js +25 -0
- package/dist/codegen/resource/graphql/resource-params.js.map +1 -0
- package/dist/codegen/resource/graphql/response-cache-keys.d.ts +4 -0
- package/dist/codegen/resource/graphql/response-cache-keys.js +33 -0
- package/dist/codegen/resource/graphql/response-cache-keys.js.map +1 -0
- package/dist/codegen/resource/index.d.ts +5 -3
- package/dist/codegen/resource/index.js +5 -5
- package/dist/codegen/resource/index.js.map +1 -1
- package/dist/codegen/resource/ingest-error.d.ts +2 -2
- package/dist/codegen/resource/ingest-error.js.map +1 -1
- package/dist/codegen/resource/ingest-success.js +5 -3
- package/dist/codegen/resource/ingest-success.js.map +1 -1
- package/dist/codegen/resource/key-builder.d.ts +1 -0
- package/dist/codegen/resource/key-builder.js +2 -1
- package/dist/codegen/resource/key-builder.js.map +1 -1
- package/dist/codegen/resource/resource-params.d.ts +2 -2
- package/dist/codegen/resource/resource-params.js.map +1 -1
- package/dist/codegen/rest/source-printer/rest-adapter-source-printer.d.ts +7 -4
- package/dist/codegen/rest/source-printer/rest-adapter-source-printer.js +11 -15
- package/dist/codegen/rest/source-printer/rest-adapter-source-printer.js.map +1 -1
- package/dist/codegen/rest/source-printer/rest-source-printer.d.ts +6 -3
- package/dist/codegen/rest/source-printer/rest-source-printer.js +9 -15
- package/dist/codegen/rest/source-printer/rest-source-printer.js.map +1 -1
- package/dist/codegen/shape/graphql/index.d.ts +3 -0
- package/dist/codegen/shape/graphql/index.js +29 -0
- package/dist/codegen/shape/graphql/index.js.map +1 -0
- package/dist/codegen/shape/graphql/key-builder.d.ts +5 -0
- package/dist/codegen/shape/graphql/key-builder.js +26 -0
- package/dist/codegen/shape/graphql/key-builder.js.map +1 -0
- package/dist/codegen/shape/graphql/shape-ingest.d.ts +3 -0
- package/dist/codegen/shape/graphql/shape-ingest.js +67 -0
- package/dist/codegen/shape/graphql/shape-ingest.js.map +1 -0
- package/dist/codegen/shape/graphql/shape-type-definition.d.ts +3 -0
- package/dist/codegen/shape/graphql/shape-type-definition.js +28 -0
- package/dist/codegen/shape/graphql/shape-type-definition.js.map +1 -0
- package/dist/codegen/shape/shape-select-paginated.js +6 -16
- package/dist/codegen/shape/shape-select-paginated.js.map +1 -1
- package/dist/codegen/shape/shape-utils-ingest.js +22 -0
- package/dist/codegen/shape/shape-utils-ingest.js.map +1 -1
- package/dist/codegen/shared/constants.d.ts +5 -0
- package/dist/codegen/shared/constants.js +7 -1
- package/dist/codegen/shared/constants.js.map +1 -1
- package/dist/codegen/typescript/index.d.ts +3 -0
- package/dist/codegen/typescript/index.js +15 -0
- package/dist/codegen/typescript/index.js.map +1 -0
- package/dist/codegen/typescript/typescript-import.d.ts +93 -0
- package/dist/codegen/typescript/typescript-import.js +110 -0
- package/dist/codegen/typescript/typescript-import.js.map +1 -0
- package/dist/codegen/typescript/typescript-package.d.ts +13 -0
- package/dist/codegen/typescript/typescript-package.js +85 -0
- package/dist/codegen/typescript/typescript-package.js.map +1 -0
- package/dist/codegen/typescript/typescript-source-file-id.d.ts +13 -0
- package/dist/codegen/typescript/typescript-source-file-id.js +21 -0
- package/dist/codegen/typescript/typescript-source-file-id.js.map +1 -0
- package/dist/codegen/typescript/typescript-source-file.d.ts +10 -0
- package/dist/codegen/typescript/typescript-source-file.js +19 -0
- package/dist/codegen/typescript/typescript-source-file.js.map +1 -0
- package/dist/compiler/raml-compiler.d.ts +11 -12
- package/dist/compiler/raml-compiler.js +17 -10
- package/dist/compiler/raml-compiler.js.map +1 -1
- package/dist/interfaces/source-printers/graphql/graphql-adapter-printer.d.ts +6 -2
- package/dist/interfaces/source-printers/graphql/graphql-resource-printer.d.ts +5 -2
- package/dist/interfaces/source-printers/graphql/graphql-type-printer.d.ts +7 -2
- package/dist/interfaces/source-writer.d.ts +0 -1
- package/dist/intermediate/graphql-annotation.d.ts +1 -1
- package/dist/intermediate/graphql.d.ts +13 -3
- package/dist/intermediate/model-info.d.ts +2 -0
- package/dist/intermediate/resource.d.ts +2 -4
- package/dist/intermediate/resource.js.map +1 -1
- package/dist/main.d.ts +2 -3
- package/dist/main.js.map +1 -1
- package/dist/parser/annotation-adapter.d.ts +2 -1
- package/dist/parser/annotation-adapter.js +30 -28
- package/dist/parser/annotation-adapter.js.map +1 -1
- package/dist/parser/annotation-graphql.d.ts +2 -2
- package/dist/parser/annotation-graphql.js +1 -0
- package/dist/parser/annotation-graphql.js.map +1 -1
- package/dist/parser/main.js +9 -3
- package/dist/parser/main.js.map +1 -1
- package/dist/parser/resource.js +16 -15
- package/dist/parser/resource.js.map +1 -1
- package/dist/plugin.d.ts +4 -2
- package/dist/utils/aml.js +5 -1
- package/dist/utils/aml.js.map +1 -1
- package/dist/utils/generation.d.ts +4 -2
- package/dist/utils/generation.js +5 -11
- package/dist/utils/generation.js.map +1 -1
- package/dist/utils/imports.d.ts +4 -2
- package/dist/utils/imports.js +27 -31
- package/dist/utils/imports.js.map +1 -1
- package/package.json +4 -4
- package/dist/generate.d.ts +0 -15
- package/dist/generate.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { UnionTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
2
2
|
import type { ImportContext } from '../../../utils/imports';
|
|
3
|
-
import type {
|
|
4
|
-
export declare function generate(
|
|
3
|
+
import type { GraphQLCodegenMetadata } from '../source-printer/graphql-source-printer';
|
|
4
|
+
export declare function generate(name: string, def: UnionTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;
|
|
@@ -7,9 +7,9 @@ exports.generate = void 0;
|
|
|
7
7
|
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
8
|
const interface_1 = require("./interface");
|
|
9
9
|
const imports_1 = require("../../../utils/imports");
|
|
10
|
-
function generate(
|
|
10
|
+
function generate(name, def, importContext, metadata) {
|
|
11
11
|
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
12
|
-
${(0, interface_1.generateInterface)(
|
|
12
|
+
${(0, interface_1.generateInterface)(name, def, importContext, metadata)}
|
|
13
13
|
`);
|
|
14
14
|
}
|
|
15
15
|
exports.generate = generate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/union/index.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAE/C,2CAAgD;AAChD,oDAAwD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/union/index.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAE/C,2CAAgD;AAChD,oDAAwD;AAGxD,SAAgB,QAAQ,CACpB,IAAY,EACZ,GAA4B,EAC5B,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;UACxB,IAAA,6BAAiB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KAC1D,CAAC,CAAC;AACP,CAAC;AATD,4BASC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { UnionTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
2
2
|
import type { ImportContext } from '../../../utils/imports';
|
|
3
|
-
import type { GraphQLCodegenMetadata
|
|
4
|
-
export declare function generateInterface(
|
|
3
|
+
import type { GraphQLCodegenMetadata } from '../source-printer/graphql-source-printer';
|
|
4
|
+
export declare function generateInterface(name: string, def: UnionTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.generateInterface = void 0;
|
|
7
7
|
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
8
|
const interface_1 = require("../type/interface");
|
|
9
|
-
function generateInterface(
|
|
9
|
+
function generateInterface(name, def, importContext, metadata) {
|
|
10
10
|
return generateUnionDefinitionNode(name, def, importContext, metadata.scalarToPrimitiveMap);
|
|
11
11
|
}
|
|
12
12
|
exports.generateInterface = generateInterface;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/union/interface.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/union/interface.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAG/C,iDAAqF;AAErF,SAAgB,iBAAiB,CAC7B,IAAY,EACZ,GAA4B,EAC5B,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,2BAA2B,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAChG,CAAC;AAPD,8CAOC;AAED,SAAS,2BAA2B,CAChC,IAAY,EACZ,GAA4B,EAC5B,aAA4B,EAC5B,oBAA4C;IAE5C,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAEtB,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,OAAO,IAAA,kBAAQ,EAAA;0BACG,qCAAyB;SAC1C,CAAC;KACL;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,OAAO,IAAA,iCAAqB,EAAC,IAAI,EAAE,aAAa,EAAE,oBAAoB,EAAE;YACpE,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,kBAAQ,EAAA;sBACG,qCAAyB,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;KAClE,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { resolveTypeName, resolveFieldTypeName, getNormalizableTypeMap, NormalizableTypes, } from './types';
|
|
1
|
+
export { resolveTypeName, resolveFieldTypeName, getNormalizableTypeMap, NormalizableTypes, getShapeTtl, } from './types';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNormalizableTypeMap = exports.resolveFieldTypeName = exports.resolveTypeName = void 0;
|
|
3
|
+
exports.getShapeTtl = exports.getNormalizableTypeMap = exports.resolveFieldTypeName = exports.resolveTypeName = void 0;
|
|
4
4
|
var types_1 = require("./types");
|
|
5
5
|
Object.defineProperty(exports, "resolveTypeName", { enumerable: true, get: function () { return types_1.resolveTypeName; } });
|
|
6
6
|
Object.defineProperty(exports, "resolveFieldTypeName", { enumerable: true, get: function () { return types_1.resolveFieldTypeName; } });
|
|
7
7
|
Object.defineProperty(exports, "getNormalizableTypeMap", { enumerable: true, get: function () { return types_1.getNormalizableTypeMap; } });
|
|
8
|
+
Object.defineProperty(exports, "getShapeTtl", { enumerable: true, get: function () { return types_1.getShapeTtl; } });
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/utils/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/utils/index.ts"],"names":[],"mappings":";;;AAAA,iCAMiB;AALb,wGAAA,eAAe,OAAA;AACf,6GAAA,oBAAoB,OAAA;AACpB,+GAAA,sBAAsB,OAAA;AAEtB,oGAAA,WAAW,OAAA"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import type { GraphQLInterfaceType, GraphQLObjectType,
|
|
1
|
+
import type { GraphQLSchema, GraphQLInterfaceType, GraphQLObjectType, TypeNode } from '@luvio/graphql-parser';
|
|
2
|
+
import type { ShapeTtls } from '../../../intermediate/model-info';
|
|
2
3
|
export declare type NormalizableTypes = Record<string, GraphQLInterfaceType | GraphQLObjectType<any, any>>;
|
|
3
4
|
export declare function resolveTypeName(typeNode: TypeNode): string;
|
|
4
|
-
export declare function resolveFieldTypeName(schema:
|
|
5
|
+
export declare function resolveFieldTypeName(schema: GraphQLSchema, field: any): string | null;
|
|
5
6
|
/**
|
|
6
7
|
*
|
|
7
8
|
* @param schema : GraphQLSchema
|
|
8
9
|
* @returns : NormalizableTypes Map
|
|
9
10
|
*/
|
|
10
|
-
export declare function getNormalizableTypeMap(schema:
|
|
11
|
+
export declare function getNormalizableTypeMap(schema: GraphQLSchema): NormalizableTypes;
|
|
12
|
+
/**
|
|
13
|
+
* We can define TTL at RAML root level and shape level
|
|
14
|
+
* When both are defined the shape TTL overrides root level TTL
|
|
15
|
+
*/
|
|
16
|
+
export declare function getShapeTtl(rootTtl: number | undefined, shapeId: string | undefined, shapeTtls: ShapeTtls | undefined): number;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNormalizableTypeMap = exports.resolveFieldTypeName = exports.resolveTypeName = void 0;
|
|
3
|
+
exports.getShapeTtl = exports.getNormalizableTypeMap = exports.resolveFieldTypeName = exports.resolveTypeName = void 0;
|
|
4
4
|
function resolveTypeName(typeNode) {
|
|
5
5
|
switch (typeNode.kind) {
|
|
6
6
|
case 'NamedType':
|
|
@@ -42,4 +42,16 @@ function getNormalizableTypeMap(schema) {
|
|
|
42
42
|
return normalizableTypeMap;
|
|
43
43
|
}
|
|
44
44
|
exports.getNormalizableTypeMap = getNormalizableTypeMap;
|
|
45
|
+
/**
|
|
46
|
+
* We can define TTL at RAML root level and shape level
|
|
47
|
+
* When both are defined the shape TTL overrides root level TTL
|
|
48
|
+
*/
|
|
49
|
+
function getShapeTtl(rootTtl, shapeId, shapeTtls) {
|
|
50
|
+
const shapeTtl = shapeTtls && shapeTtls[shapeId];
|
|
51
|
+
if (rootTtl === undefined && shapeTtl === undefined) {
|
|
52
|
+
throw new Error(`Either shape ttl or root ttl should be defined`);
|
|
53
|
+
}
|
|
54
|
+
return shapeTtl !== undefined ? shapeTtl : rootTtl;
|
|
55
|
+
}
|
|
56
|
+
exports.getShapeTtl = getShapeTtl;
|
|
45
57
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/utils/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/utils/types.ts"],"names":[],"mappings":";;;AAUA,SAAgB,eAAe,CAAC,QAAkB;IAC9C,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW;YACZ,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B;YACI,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC7C;AACL,CAAC;AAPD,0CAOC;AAED,SAAgB,oBAAoB,CAAC,MAAqB,EAAE,KAAU;IAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;QACrC,OAAO,IAAI,CAAC;KACf;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,CAAC;AAVD,oDAUC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,MAAqB;;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,mBAAmB,GAAsB,EAAE,CAAC;IAElD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/B,IACI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,yBAAyB;YAChD,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,sBAAsB,EAC/C;YACE,uDAAuD;YACvD,uFAAuF;YACvF,aAAa;YACb,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;SACxC;KACJ;IAED,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AApBD,wDAoBC;AAED;;;GAGG;AACH,SAAgB,WAAW,CACvB,OAA2B,EAC3B,OAA2B,EAC3B,SAAgC;IAEhC,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CAAC,OAAQ,CAAC,CAAC;IAElD,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACrE;IAED,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAQ,CAAC;AACxD,CAAC;AAZD,kCAYC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LuvioPackageRenderer = void 0;
|
|
4
|
+
var package_renderer_1 = require("./package-renderer");
|
|
5
|
+
Object.defineProperty(exports, "LuvioPackageRenderer", { enumerable: true, get: function () { return package_renderer_1.LuvioPackageRenderer; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/package-renderer/index.ts"],"names":[],"mappings":";;;AACA,uDAA2E;AAAjD,wHAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { TextFile } from './text-file';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import type { TypescriptPackage } from '../typescript/typescript-package';
|
|
5
|
+
export interface PackageRenderer {
|
|
6
|
+
renderPackage(sourcePackage: TypescriptPackage): TextFile[];
|
|
7
|
+
}
|
|
8
|
+
export declare class LuvioPackageRenderer implements PackageRenderer {
|
|
9
|
+
private compilerBaseOutputDir;
|
|
10
|
+
constructor(compilerBaseOutputDir: path.ParsedPath);
|
|
11
|
+
renderPackage(sourcePackage: TypescriptPackage): TextFile[];
|
|
12
|
+
private resolveImports;
|
|
13
|
+
private renderRawImport;
|
|
14
|
+
private buildDefaultName;
|
|
15
|
+
private buildNamedImportClause;
|
|
16
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
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.LuvioPackageRenderer = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
class LuvioPackageRenderer {
|
|
9
|
+
constructor(compilerBaseOutputDir) {
|
|
10
|
+
this.compilerBaseOutputDir = compilerBaseOutputDir;
|
|
11
|
+
}
|
|
12
|
+
renderPackage(sourcePackage) {
|
|
13
|
+
return this.resolveImports(sourcePackage);
|
|
14
|
+
}
|
|
15
|
+
resolveImports(sourcePackage) {
|
|
16
|
+
return sourcePackage.sourceFiles.map((file) => {
|
|
17
|
+
const importsByModuleId = {};
|
|
18
|
+
file.imports.forEach((sourceImport) => {
|
|
19
|
+
const moduleId = sourceImport.moduleId;
|
|
20
|
+
if (!importsByModuleId[moduleId]) {
|
|
21
|
+
importsByModuleId[moduleId] = [];
|
|
22
|
+
}
|
|
23
|
+
importsByModuleId[moduleId].push(sourceImport);
|
|
24
|
+
});
|
|
25
|
+
const rawImportStatements = Object.values(importsByModuleId).map((imports) => {
|
|
26
|
+
return this.renderRawImport(file, imports);
|
|
27
|
+
});
|
|
28
|
+
const rawImportBlock = rawImportStatements.filter(Boolean).join('\n');
|
|
29
|
+
const content = rawImportBlock ? `${rawImportBlock}\n\n${file.code}` : file.code;
|
|
30
|
+
return {
|
|
31
|
+
path: path_1.default.parse(path_1.default.join(path_1.default.format(this.compilerBaseOutputDir), path_1.default.format(file.id.generateFilePath()))),
|
|
32
|
+
content,
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
renderRawImport(sourceFile, imports) {
|
|
37
|
+
const defaultImportClauses = new Set();
|
|
38
|
+
const namedImportClauses = new Set();
|
|
39
|
+
imports.forEach((sourceImport) => {
|
|
40
|
+
const clauseSet = sourceImport.importType === 'default' ? defaultImportClauses : namedImportClauses;
|
|
41
|
+
clauseSet.add(sourceImport.importClause);
|
|
42
|
+
});
|
|
43
|
+
const defaultImportName = this.buildDefaultName(defaultImportClauses);
|
|
44
|
+
const namedImportRawClause = this.buildNamedImportClause(namedImportClauses);
|
|
45
|
+
const importModulePath = imports[0].generateImportModule(sourceFile.id);
|
|
46
|
+
if ((defaultImportName && !namedImportRawClause) ||
|
|
47
|
+
(!defaultImportName && namedImportRawClause)) {
|
|
48
|
+
return `import ${defaultImportName || namedImportRawClause} from '${importModulePath}';`;
|
|
49
|
+
}
|
|
50
|
+
if (defaultImportName && namedImportRawClause) {
|
|
51
|
+
return `import ${defaultImportName}, ${namedImportRawClause} from '${importModulePath}';`;
|
|
52
|
+
}
|
|
53
|
+
return '';
|
|
54
|
+
}
|
|
55
|
+
buildDefaultName(defaultImportClauses) {
|
|
56
|
+
let defaultImportName = undefined;
|
|
57
|
+
for (let clause of defaultImportClauses) {
|
|
58
|
+
defaultImportName = clause;
|
|
59
|
+
}
|
|
60
|
+
return defaultImportName;
|
|
61
|
+
}
|
|
62
|
+
buildNamedImportClause(namedImportClauses) {
|
|
63
|
+
let namedImportRawClause = undefined;
|
|
64
|
+
if (namedImportClauses.size > 0) {
|
|
65
|
+
const clauses = Array.from(namedImportClauses);
|
|
66
|
+
namedImportRawClause = `{ ${clauses.join(', ')} }`;
|
|
67
|
+
}
|
|
68
|
+
return namedImportRawClause;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.LuvioPackageRenderer = LuvioPackageRenderer;
|
|
72
|
+
//# sourceMappingURL=package-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-renderer.js","sourceRoot":"","sources":["../../../src/codegen/package-renderer/package-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-file.js","sourceRoot":"","sources":["../../../src/codegen/package-renderer/text-file.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import type { CompilerConfig } from '../../generate';
|
|
2
1
|
import type { Resource } from '../../intermediate/resource';
|
|
3
2
|
import type { ImportContext } from '../../utils/imports';
|
|
4
3
|
export declare const CREATE_RESOURCE_REQUEST_IDENTIFIER = "createResourceRequest";
|
|
5
|
-
export declare function
|
|
4
|
+
export declare function generateQueryParams(resource: Resource): string;
|
|
5
|
+
export declare function generateUrlParams(resource: Resource): string;
|
|
6
|
+
export declare function generateBody(resource: Resource): string;
|
|
7
|
+
export declare function generateHeaders(resource: Resource): string;
|
|
8
|
+
export declare function generateCreateResourceRequest(importContext: ImportContext, resource: Resource): string;
|
|
9
|
+
export declare function generateCreateResourceRequestWrapper(importContext: ImportContext, id: string, headers: string, resource: Resource, method: string, body: string, urlParams: string, queryParams: string): string;
|
|
@@ -3,8 +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.generateCreateResourceRequest = exports.CREATE_RESOURCE_REQUEST_IDENTIFIER = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
6
|
+
exports.generateCreateResourceRequestWrapper = exports.generateCreateResourceRequest = exports.generateHeaders = exports.generateBody = exports.generateUrlParams = exports.generateQueryParams = exports.CREATE_RESOURCE_REQUEST_IDENTIFIER = void 0;
|
|
8
7
|
const resource_1 = require("../../intermediate/resource");
|
|
9
8
|
const constants_1 = require("../adapter/constants");
|
|
10
9
|
const utils_1 = require("../../intermediate/utils");
|
|
@@ -63,16 +62,19 @@ function generateQueryParams(resource) {
|
|
|
63
62
|
? '{}'
|
|
64
63
|
: `${CONFIG_IDENTIFIER}.${resource_1.CONFIG_PROPERTY_QUERY_PARAMS}`;
|
|
65
64
|
}
|
|
65
|
+
exports.generateQueryParams = generateQueryParams;
|
|
66
66
|
function generateUrlParams(resource) {
|
|
67
67
|
return resource.urlParameters.length === 0
|
|
68
68
|
? '{}'
|
|
69
69
|
: `${CONFIG_IDENTIFIER}.${resource_1.CONFIG_PROPERTY_URL_PARAMS}`;
|
|
70
70
|
}
|
|
71
|
+
exports.generateUrlParams = generateUrlParams;
|
|
71
72
|
function generateBody(resource) {
|
|
72
73
|
return resource.bodyShape === undefined
|
|
73
74
|
? 'null'
|
|
74
75
|
: `${CONFIG_IDENTIFIER}.${resource_1.CONFIG_PROPERTY_BODY}`;
|
|
75
76
|
}
|
|
77
|
+
exports.generateBody = generateBody;
|
|
76
78
|
function generateHeaders(resource) {
|
|
77
79
|
const properties = resource.headers
|
|
78
80
|
.map((header) => {
|
|
@@ -98,24 +100,17 @@ function generateHeaders(resource) {
|
|
|
98
100
|
${properties}
|
|
99
101
|
`;
|
|
100
102
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (fulfill === undefined) {
|
|
104
|
-
return '';
|
|
105
|
-
}
|
|
106
|
-
const { importAbsolutePath } = importContext;
|
|
107
|
-
const { outputDirectory } = compilerConfig.sourceWriter;
|
|
108
|
-
const absResourceLocation = path_1.default.resolve(outputDirectory, path_1.default.dirname(relPath));
|
|
109
|
-
return importAbsolutePath(absResourceLocation, 'default');
|
|
110
|
-
}
|
|
111
|
-
function generateCreateResourceRequest(importContext, resource, compilerConfig, relPath) {
|
|
103
|
+
exports.generateHeaders = generateHeaders;
|
|
104
|
+
function generateCreateResourceRequest(importContext, resource) {
|
|
112
105
|
const { id, method } = resource;
|
|
113
106
|
const headers = generateHeaders(resource);
|
|
114
107
|
const urlParams = generateUrlParams(resource);
|
|
115
108
|
const queryParams = generateQueryParams(resource);
|
|
116
109
|
const body = generateBody(resource);
|
|
117
|
-
|
|
118
|
-
|
|
110
|
+
return generateCreateResourceRequestWrapper(importContext, id, headers, resource, method, body, urlParams, queryParams);
|
|
111
|
+
}
|
|
112
|
+
exports.generateCreateResourceRequest = generateCreateResourceRequest;
|
|
113
|
+
function generateCreateResourceRequestWrapper(importContext, id, headers, resource, method, body, urlParams, queryParams) {
|
|
119
114
|
const resourceRequestConfig = importContext.importRamlArtifact(id, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
120
115
|
return (0, deindent_1.default) `
|
|
121
116
|
export function ${exports.CREATE_RESOURCE_REQUEST_IDENTIFIER}(${CONFIG_IDENTIFIER}: ${resourceRequestConfig}): ${constants_1.ADAPTER_RESOURCE_REQUEST_IDENTIFIER} {
|
|
@@ -130,12 +125,11 @@ function generateCreateResourceRequest(importContext, resource, compilerConfig,
|
|
|
130
125
|
queryParams: ${queryParams},
|
|
131
126
|
headers,
|
|
132
127
|
priority: 'normal',
|
|
133
|
-
${fulfillProperty}
|
|
134
128
|
}
|
|
135
129
|
}
|
|
136
130
|
|
|
137
131
|
export default ${exports.CREATE_RESOURCE_REQUEST_IDENTIFIER};
|
|
138
132
|
`;
|
|
139
133
|
}
|
|
140
|
-
exports.
|
|
134
|
+
exports.generateCreateResourceRequestWrapper = generateCreateResourceRequestWrapper;
|
|
141
135
|
//# sourceMappingURL=create-resource-request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-resource-request.js","sourceRoot":"","sources":["../../../src/codegen/resource/create-resource-request.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"create-resource-request.js","sourceRoot":"","sources":["../../../src/codegen/resource/create-resource-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GraphQLResource } from '../../../intermediate/resource';
|
|
2
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
3
|
+
export declare const CREATE_RESOURCE_REQUEST_IDENTIFIER = "createResourceRequest";
|
|
4
|
+
export declare function generateGraphQLCreateResourceRequest(importContext: ImportContext, resource: GraphQLResource): string;
|
|
@@ -0,0 +1,30 @@
|
|
|
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.generateGraphQLCreateResourceRequest = exports.CREATE_RESOURCE_REQUEST_IDENTIFIER = void 0;
|
|
7
|
+
const resource_1 = require("../../../intermediate/resource");
|
|
8
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
9
|
+
const constants_1 = require("../../shared/constants");
|
|
10
|
+
const create_resource_request_1 = require("../create-resource-request");
|
|
11
|
+
const CONFIG_IDENTIFIER = 'config';
|
|
12
|
+
exports.CREATE_RESOURCE_REQUEST_IDENTIFIER = 'createResourceRequest';
|
|
13
|
+
// Resource param will likely be used in the future w/ applyMinimumFields and supporting get instead of post
|
|
14
|
+
function generateGraphQLBody(_resource, _importContext) {
|
|
15
|
+
// TODO: W-10942024 - should also call applyMinimumFields on the query here, just before stringification
|
|
16
|
+
return (0, deindent_1.default) `{
|
|
17
|
+
...${CONFIG_IDENTIFIER}.${resource_1.CONFIG_PROPERTY_BODY},
|
|
18
|
+
query: ${constants_1.LUVIO_GRAPHQL_PRINT_IMPORT}(${CONFIG_IDENTIFIER}.${resource_1.CONFIG_PROPERTY_BODY}.query)
|
|
19
|
+
}`;
|
|
20
|
+
}
|
|
21
|
+
function generateGraphQLCreateResourceRequest(importContext, resource) {
|
|
22
|
+
const { id, method } = resource;
|
|
23
|
+
const headers = (0, create_resource_request_1.generateHeaders)(resource);
|
|
24
|
+
const urlParams = (0, create_resource_request_1.generateUrlParams)(resource);
|
|
25
|
+
const queryParams = (0, create_resource_request_1.generateQueryParams)(resource);
|
|
26
|
+
const body = generateGraphQLBody(resource, importContext);
|
|
27
|
+
return (0, create_resource_request_1.generateCreateResourceRequestWrapper)(importContext, id, headers, resource, method, body, urlParams, queryParams);
|
|
28
|
+
}
|
|
29
|
+
exports.generateGraphQLCreateResourceRequest = generateGraphQLCreateResourceRequest;
|
|
30
|
+
//# sourceMappingURL=create-resource-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-resource-request.js","sourceRoot":"","sources":["../../../../src/codegen/resource/graphql/create-resource-request.ts"],"names":[],"mappings":";;;;;;AACA,6DAAsE;AACtE,uEAA+C;AAE/C,sDAAoE;AACpE,wEAKoC;AAEpC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAEtB,QAAA,kCAAkC,GAAG,uBAAuB,CAAC;AAE1E,4GAA4G;AAC5G,SAAS,mBAAmB,CAAC,SAA0B,EAAE,cAA6B;IAClF,wGAAwG;IACxG,OAAO,IAAA,kBAAQ,EAAA;qBACE,iBAAiB,IAAI,+BAAoB;yBACrC,sCAA0B,IAAI,iBAAiB,IAAI,+BAAoB;cAClF,CAAC;AACf,CAAC;AAED,SAAgB,oCAAoC,CAChD,aAA4B,EAC5B,QAAyB;IAEzB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAA,yCAAe,EAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAA,2CAAiB,EAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAA,6CAAmB,EAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE1D,OAAO,IAAA,8DAAoC,EACvC,aAAa,EACb,EAAE,EACF,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,SAAS,EACT,WAAW,CACd,CAAC;AACN,CAAC;AArBD,oFAqBC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { ModelInfo } from '../../../intermediate/model-info';
|
|
3
|
+
import type path from 'path';
|
|
4
|
+
import type { CompilerPlugin } from '../../../plugin';
|
|
5
|
+
import type { GraphQLResource } from '../../../intermediate/resource';
|
|
6
|
+
export declare function generateGraphQLResource(typescriptFilePath: path.ParsedPath, compilerBaseOutputDir: path.ParsedPath, resource: GraphQLResource, modelInfo: ModelInfo, plugin?: CompilerPlugin): string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateGraphQLResource = void 0;
|
|
4
|
+
const imports_1 = require("../../../utils/imports");
|
|
5
|
+
const evict_success_1 = require("../evict-success");
|
|
6
|
+
const select_1 = require("../select");
|
|
7
|
+
const resource_params_1 = require("./resource-params");
|
|
8
|
+
const ingest_error_1 = require("./ingest-error");
|
|
9
|
+
const ingest_success_1 = require("./ingest-success");
|
|
10
|
+
const key_builder_1 = require("./key-builder");
|
|
11
|
+
const response_cache_keys_1 = require("./response-cache-keys");
|
|
12
|
+
const create_resource_request_1 = require("./create-resource-request");
|
|
13
|
+
function generateGraphQLResource(typescriptFilePath, compilerBaseOutputDir, resource, modelInfo, plugin) {
|
|
14
|
+
const importContext = (0, imports_1.createImportContext)(typescriptFilePath, compilerBaseOutputDir, plugin);
|
|
15
|
+
const code = [
|
|
16
|
+
(0, resource_params_1.generateGraphQLResourceParams)(importContext),
|
|
17
|
+
(0, select_1.generateSelect)(importContext, resource, modelInfo),
|
|
18
|
+
(0, key_builder_1.generateGraphQLKeyBuilder)(importContext, resource),
|
|
19
|
+
(0, response_cache_keys_1.generateGraphQLGetResponseCacheKeys)(importContext, resource),
|
|
20
|
+
(0, ingest_success_1.generateGraphQLIngestSuccess)(importContext, resource),
|
|
21
|
+
(0, ingest_error_1.generateGraphQLIngestError)(importContext, resource, modelInfo),
|
|
22
|
+
(0, evict_success_1.generateEvictSuccess)(importContext, resource),
|
|
23
|
+
(0, create_resource_request_1.generateGraphQLCreateResourceRequest)(importContext, resource),
|
|
24
|
+
]
|
|
25
|
+
.filter(Boolean)
|
|
26
|
+
.join('\n\n');
|
|
27
|
+
return (0, imports_1.resolveImports)(code);
|
|
28
|
+
}
|
|
29
|
+
exports.generateGraphQLResource = generateGraphQLResource;
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/resource/graphql/index.ts"],"names":[],"mappings":";;;AACA,oDAA6E;AAC7E,oDAAwD;AACxD,sCAA2C;AAI3C,uDAAkE;AAClE,iDAA4D;AAC5D,qDAAgE;AAChE,+CAA0D;AAC1D,+DAA4E;AAC5E,uEAAiF;AAEjF,SAAgB,uBAAuB,CACnC,kBAAmC,EACnC,qBAAsC,EACtC,QAAyB,EACzB,SAAoB,EACpB,MAAuB;IAEvB,MAAM,aAAa,GAAG,IAAA,6BAAmB,EAAC,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAE7F,MAAM,IAAI,GAAG;QACT,IAAA,+CAA6B,EAAC,aAAa,CAAC;QAC5C,IAAA,uBAAc,EAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QAClD,IAAA,uCAAyB,EAAC,aAAa,EAAE,QAAQ,CAAC;QAClD,IAAA,yDAAmC,EAAC,aAAa,EAAE,QAAQ,CAAC;QAC5D,IAAA,6CAA4B,EAAC,aAAa,EAAE,QAAQ,CAAC;QACrD,IAAA,yCAA0B,EAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC9D,IAAA,oCAAoB,EAAC,aAAa,EAAE,QAAQ,CAAC;QAC7C,IAAA,8DAAoC,EAAC,aAAa,EAAE,QAAQ,CAAC;KAChE;SACI,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAElB,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAvBD,0DAuBC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ModelInfo } from '../../../intermediate/model-info';
|
|
2
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
3
|
+
import type { GraphQLResource } from '../../../intermediate/resource';
|
|
4
|
+
export declare const RESOURCE_INGEST_ERROR_IDENTIFIER = "ingestError";
|
|
5
|
+
export declare function generateGraphQLIngestError(importContext: ImportContext, resource: GraphQLResource, modelInfo: ModelInfo): string;
|
|
@@ -0,0 +1,63 @@
|
|
|
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.generateGraphQLIngestError = exports.RESOURCE_INGEST_ERROR_IDENTIFIER = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../../adapter/constants");
|
|
9
|
+
const constants_2 = require("../../shared/constants");
|
|
10
|
+
const key_builder_1 = require("../key-builder");
|
|
11
|
+
const resource_params_1 = require("./resource-params");
|
|
12
|
+
const RESOURCE_PARAMS_IDENTIFIER = 'params';
|
|
13
|
+
const SNAPSHOT_REFRESH_IDENTIFIER = 'snapshotRefresh';
|
|
14
|
+
const KEY_IDENTIFIER = 'key';
|
|
15
|
+
const ERROR_SNAPSHOT_IDENTIFIER = 'errorSnapshot';
|
|
16
|
+
const RESPONSE_IDENTIFIER = 'error';
|
|
17
|
+
exports.RESOURCE_INGEST_ERROR_IDENTIFIER = 'ingestError';
|
|
18
|
+
function getIngestCode(importContext, shapeId, modelInfo) {
|
|
19
|
+
const shapeTTL = modelInfo.shapeTtls[shapeId];
|
|
20
|
+
if (shapeTTL) {
|
|
21
|
+
const { importAdapterUtil, importRamlArtifact } = importContext;
|
|
22
|
+
const ttlIdentifier = importRamlArtifact(shapeId, 'TTL');
|
|
23
|
+
const KEY_PREFIX = importAdapterUtil('keyPrefix');
|
|
24
|
+
const REPRESENTATION_NAME = importRamlArtifact(shapeId, 'RepresentationType');
|
|
25
|
+
return (0, deindent_1.default) `
|
|
26
|
+
const storeMetadataParams = {
|
|
27
|
+
ttl: ${ttlIdentifier},
|
|
28
|
+
namespace: ${KEY_PREFIX},
|
|
29
|
+
representationName: ${REPRESENTATION_NAME}
|
|
30
|
+
};
|
|
31
|
+
${constants_2.LUVIO_IDENTIFIER}.storeIngestError(${KEY_IDENTIFIER}, ${ERROR_SNAPSHOT_IDENTIFIER}, storeMetadataParams);
|
|
32
|
+
`;
|
|
33
|
+
}
|
|
34
|
+
return (0, deindent_1.default) `
|
|
35
|
+
${constants_2.LUVIO_IDENTIFIER}.storeIngestError(${KEY_IDENTIFIER}, ${ERROR_SNAPSHOT_IDENTIFIER});
|
|
36
|
+
`;
|
|
37
|
+
}
|
|
38
|
+
// Basically a copy of the rest code minus the part where we check the HTTP verb.
|
|
39
|
+
// Seems like we may want to do something different, because GraphQL endpoints should always
|
|
40
|
+
// return 200s, even when returning errors. https://spec.graphql.org/June2018/#sec-Errors
|
|
41
|
+
function generateGraphQLIngestError(importContext, resource, modelInfo) {
|
|
42
|
+
const { importRamlArtifact } = importContext;
|
|
43
|
+
const { id, returnShape } = resource;
|
|
44
|
+
if (returnShape === undefined) {
|
|
45
|
+
//TODO: cleanup in W-11069204
|
|
46
|
+
return '';
|
|
47
|
+
}
|
|
48
|
+
const returnShapeId = returnShape.id;
|
|
49
|
+
const returnShapeName = returnShape.name;
|
|
50
|
+
const resourceTypeIdentifier = importRamlArtifact(returnShapeId, returnShapeName);
|
|
51
|
+
const resourceRequestConfig = importRamlArtifact(id, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
52
|
+
const keyBuilder = importRamlArtifact(id, key_builder_1.RESOURCE_KEY_BUILDER_IDENTIFIER);
|
|
53
|
+
return (0, deindent_1.default) `
|
|
54
|
+
export function ${exports.RESOURCE_INGEST_ERROR_IDENTIFIER}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, ${RESOURCE_PARAMS_IDENTIFIER}: ${resourceRequestConfig}, ${RESPONSE_IDENTIFIER}: ${constants_1.ADAPTER_FETCH_RESPONSE_INTERFACE_IDENTIFIER}<unknown>, ${SNAPSHOT_REFRESH_IDENTIFIER}?: ${constants_1.ADAPTER_SNAPSHOT_REFRESH_INTERFACE}<${resourceTypeIdentifier}>): ${constants_1.ADAPTER_ERROR_SNAPSHOT_IMPORT} {
|
|
55
|
+
const ${KEY_IDENTIFIER} = ${keyBuilder}(${RESOURCE_PARAMS_IDENTIFIER});
|
|
56
|
+
const ${ERROR_SNAPSHOT_IDENTIFIER} = ${constants_2.LUVIO_IDENTIFIER}.errorSnapshot(${RESPONSE_IDENTIFIER}, ${SNAPSHOT_REFRESH_IDENTIFIER});
|
|
57
|
+
${getIngestCode(importContext, returnShapeId, modelInfo)}
|
|
58
|
+
return ${ERROR_SNAPSHOT_IDENTIFIER};
|
|
59
|
+
}
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
62
|
+
exports.generateGraphQLIngestError = generateGraphQLIngestError;
|
|
63
|
+
//# sourceMappingURL=ingest-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest-error.js","sourceRoot":"","sources":["../../../../src/codegen/resource/graphql/ingest-error.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAC/C,uDAIiC;AACjC,sDAAwE;AACxE,gDAAiE;AACjE,uDAA8D;AAI9D,MAAM,0BAA0B,GAAG,QAAQ,CAAC;AAC5C,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AACtD,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAClD,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAEvB,QAAA,gCAAgC,GAAG,aAAa,CAAC;AAE9D,SAAS,aAAa,CAAC,aAA4B,EAAE,OAAe,EAAE,SAAoB;IACtF,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE;QACV,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;QAChE,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAE9E,OAAO,IAAA,kBAAQ,EAAA;;uBAEA,aAAa;6BACP,UAAU;sCACD,mBAAmB;;cAE3C,4BAAgB,qBAAqB,cAAc,KAAK,yBAAyB;SACtF,CAAC;KACL;IAED,OAAO,IAAA,kBAAQ,EAAA;UACT,4BAAgB,qBAAqB,cAAc,KAAK,yBAAyB;KACtF,CAAC;AACN,CAAC;AAED,iFAAiF;AACjF,4FAA4F;AAC5F,yFAAyF;AACzF,SAAgB,0BAA0B,CACtC,aAA4B,EAC5B,QAAyB,EACzB,SAAoB;IAEpB,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAErC,IAAI,WAAW,KAAK,SAAS,EAAE;QAC3B,6BAA6B;QAC7B,OAAO,EAAE,CAAC;KACb;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC;IACzC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAClF,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,EAAE,2CAAyB,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,kBAAkB,CAAC,EAAE,EAAE,6CAA+B,CAAC,CAAC;IAE3E,OAAO,IAAA,kBAAQ,EAAA;0BACO,wCAAgC,IAAI,4BAAgB,KAAK,wBAAY,KAAK,0BAA0B,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,uDAA2C,cAAc,2BAA2B,MAAM,8CAAkC,IAAI,sBAAsB,OAAO,yCAA6B;oBAC3V,cAAc,MAAM,UAAU,IAAI,0BAA0B;oBAC5D,yBAAyB,MAAM,4BAAgB,kBAAkB,mBAAmB,KAAK,2BAA2B;cAC1H,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC;qBAC/C,yBAAyB;;KAEzC,CAAC;AACN,CAAC;AA3BD,gEA2BC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GraphQLResource } from '../../../intermediate/resource';
|
|
2
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
3
|
+
export declare const RESOURCE_INGEST_SUCCESS_IDENTIFIER = "ingestSuccess";
|
|
4
|
+
export declare function generateGraphQLIngestSuccess(importContext: ImportContext, resource: GraphQLResource): string;
|
|
@@ -0,0 +1,56 @@
|
|
|
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.generateGraphQLIngestSuccess = exports.RESOURCE_INGEST_SUCCESS_IDENTIFIER = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../../adapter/constants");
|
|
9
|
+
const constants_2 = require("../../shared/constants");
|
|
10
|
+
const shape_ingest_1 = require("../../shape/shape-ingest");
|
|
11
|
+
const key_builder_1 = require("../key-builder");
|
|
12
|
+
const resource_params_1 = require("./resource-params");
|
|
13
|
+
const constants_3 = require("../constants");
|
|
14
|
+
exports.RESOURCE_INGEST_SUCCESS_IDENTIFIER = 'ingestSuccess';
|
|
15
|
+
const RESPONSE_IDENTIFIER = 'response';
|
|
16
|
+
const KEY_IDENTIFIER = 'key';
|
|
17
|
+
const SNAPSHOT_IDENTIFIER = 'snapshot';
|
|
18
|
+
function generateGraphQLIngestSuccess(importContext, resource) {
|
|
19
|
+
const { importRamlArtifact } = importContext;
|
|
20
|
+
const { id: resourceId, returnShape } = resource;
|
|
21
|
+
if (returnShape === undefined) {
|
|
22
|
+
//TODO: cleanup in W-11069204
|
|
23
|
+
return '';
|
|
24
|
+
}
|
|
25
|
+
const { name: returnShapeName, id: returnShapeId } = returnShape;
|
|
26
|
+
const ingestIdentifier = importRamlArtifact(returnShapeId, shape_ingest_1.SHAPE_INGEST_IDENTIFIER);
|
|
27
|
+
const keyStatement = `${importRamlArtifact(resourceId, key_builder_1.RESOURCE_KEY_BUILDER_IDENTIFIER)}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER})`;
|
|
28
|
+
const resourceTypeIdentifier = importRamlArtifact(returnShapeId, returnShapeName);
|
|
29
|
+
const snapshotRefreshArgument = `, ${constants_1.ADAPTER_SNAPSHOT_REFRESH_IDENTIFIER}?: ${constants_1.ADAPTER_SNAPSHOT_REFRESH_INTERFACE}<${resourceTypeIdentifier}>`;
|
|
30
|
+
const snapshotRefreshIdentifier = ', ' + constants_1.ADAPTER_SNAPSHOT_REFRESH_IDENTIFIER;
|
|
31
|
+
const resourceRequestConfig = importRamlArtifact(resourceId, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
32
|
+
const select = importRamlArtifact(resourceId, constants_3.RESOURCE_SELECT_IDENTIFIER);
|
|
33
|
+
return (0, deindent_1.default) `
|
|
34
|
+
export function ${exports.RESOURCE_INGEST_SUCCESS_IDENTIFIER}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}: ${resourceRequestConfig}, ${RESPONSE_IDENTIFIER}: ${constants_1.ADAPTER_RESOURCE_RESPONSE_INTERFACE_IDENTIFIER}<${resourceTypeIdentifier}>${snapshotRefreshArgument}): ${constants_1.ADAPTER_FULFILLED_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, {}> | ${constants_1.ADAPTER_STALE_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, {}> | ${constants_1.ADAPTER_PENDING_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, any> {
|
|
35
|
+
const { ${constants_1.ADAPTER_RESPONSE_BODY_IDENTIFIER} } = ${RESPONSE_IDENTIFIER};
|
|
36
|
+
const ${KEY_IDENTIFIER} = ${keyStatement};
|
|
37
|
+
const { query, variables } = ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}.body;
|
|
38
|
+
${constants_2.LUVIO_IDENTIFIER}.storeIngest<${resourceTypeIdentifier}>(${KEY_IDENTIFIER}, ${ingestIdentifier}(query, variables), ${constants_1.ADAPTER_RESPONSE_BODY_IDENTIFIER});
|
|
39
|
+
const ${SNAPSHOT_IDENTIFIER} = ${constants_2.LUVIO_IDENTIFIER}.storeLookup<${resourceTypeIdentifier}>({
|
|
40
|
+
recordId: ${KEY_IDENTIFIER},
|
|
41
|
+
node: ${select}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}),
|
|
42
|
+
variables: {},
|
|
43
|
+
}${snapshotRefreshIdentifier});
|
|
44
|
+
|
|
45
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
46
|
+
if(${SNAPSHOT_IDENTIFIER}.state !== 'Fulfilled') {
|
|
47
|
+
throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return ${SNAPSHOT_IDENTIFIER} as (${constants_1.ADAPTER_FULFILLED_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, {}> | ${constants_1.ADAPTER_STALE_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, {}>);
|
|
52
|
+
}
|
|
53
|
+
`;
|
|
54
|
+
}
|
|
55
|
+
exports.generateGraphQLIngestSuccess = generateGraphQLIngestSuccess;
|
|
56
|
+
//# sourceMappingURL=ingest-success.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest-success.js","sourceRoot":"","sources":["../../../../src/codegen/resource/graphql/ingest-success.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAE/C,uDASiC;AACjC,sDAAwE;AACxE,2DAAmE;AACnE,gDAAiE;AACjE,uDAA8D;AAC9D,4CAA0D;AAE7C,QAAA,kCAAkC,GAAG,eAAe,CAAC;AAClE,MAAM,mBAAmB,GAAG,UAAU,CAAC;AACvC,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAEvC,SAAgB,4BAA4B,CACxC,aAA4B,EAC5B,QAAyB;IAEzB,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjD,IAAI,WAAW,KAAK,SAAS,EAAE;QAC3B,6BAA6B;QAC7B,OAAO,EAAE,CAAC;KACb;IAED,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IACjE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,aAAa,EAAE,sCAAuB,CAAC,CAAC;IAEpF,MAAM,YAAY,GAAG,GAAG,kBAAkB,CACtC,UAAU,EACV,6CAA+B,CAClC,IAAI,8CAAkC,GAAG,CAAC;IAE3C,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAElF,MAAM,uBAAuB,GAAG,KAAK,+CAAmC,MAAM,8CAAkC,IAAI,sBAAsB,GAAG,CAAC;IAC9I,MAAM,yBAAyB,GAAG,IAAI,GAAG,+CAAmC,CAAC;IAC7E,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,UAAU,EAAE,2CAAyB,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,EAAE,sCAA0B,CAAC,CAAC;IAE1E,OAAO,IAAA,kBAAQ,EAAA;0BACO,0CAAkC,IAAI,4BAAgB,KAAK,wBAAY,KAAK,8CAAkC,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,0DAA8C,IAAI,sBAAsB,IAAI,uBAAuB,MAAM,6CAAiC,IAAI,sBAAsB,WAAW,yCAA6B,IAAI,sBAAsB,WAAW,2CAA+B,IAAI,sBAAsB;sBACnd,4CAAgC,QAAQ,mBAAmB;oBAC7D,cAAc,MAAM,YAAY;2CACT,8CAAkC;cAC/D,4BAAgB,gBAAgB,sBAAsB,KAAK,cAAc,KAAK,gBAAgB,uBAAuB,4CAAgC;oBAC/I,mBAAmB,MAAM,4BAAgB,gBAAgB,sBAAsB;4BACvE,cAAc;wBAClB,MAAM,IAAI,4BAAgB,KAAK,8CAAkC;;eAE1E,yBAAyB;;;qBAGnB,mBAAmB;;;;;qBAKnB,mBAAmB,QAAQ,6CAAiC,IAAI,sBAAsB,WAAW,yCAA6B,IAAI,sBAAsB;;KAExK,CAAC;AACN,CAAC;AA/CD,oEA+CC"}
|