@luvio/compiler 0.93.0 → 0.94.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.
Files changed (30) hide show
  1. package/dist/codegen/adapter/adapter-network-cache-policy.js +3 -2
  2. package/dist/codegen/adapter/adapter-network-cache-policy.js.map +1 -1
  3. package/dist/codegen/adapter-tests/expected-responses.js +1 -1
  4. package/dist/codegen/graphql/interface/query-transformer.js +1 -1
  5. package/dist/codegen/graphql/interface/query-transformer.js.map +1 -1
  6. package/dist/codegen/graphql/interface/select.js +1 -1
  7. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js +1 -1
  8. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js.map +1 -1
  9. package/dist/codegen/graphql/type/constants.d.ts +2 -1
  10. package/dist/codegen/graphql/type/constants.js +3 -2
  11. package/dist/codegen/graphql/type/constants.js.map +1 -1
  12. package/dist/codegen/graphql/type/generateTypeUtil.js +49 -8
  13. package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
  14. package/dist/codegen/graphql/type/index.d.ts +2 -1
  15. package/dist/codegen/graphql/type/index.js +2 -2
  16. package/dist/codegen/graphql/type/index.js.map +1 -1
  17. package/dist/codegen/graphql/type/ingest.d.ts +3 -2
  18. package/dist/codegen/graphql/type/ingest.js +103 -32
  19. package/dist/codegen/graphql/type/ingest.js.map +1 -1
  20. package/dist/codegen/graphql/type/merge.js +4 -2
  21. package/dist/codegen/graphql/type/merge.js.map +1 -1
  22. package/dist/codegen/graphql/type/query-transformer.d.ts +3 -2
  23. package/dist/codegen/graphql/type/query-transformer.js +92 -29
  24. package/dist/codegen/graphql/type/query-transformer.js.map +1 -1
  25. package/dist/codegen/graphql/type/select.js +26 -23
  26. package/dist/codegen/graphql/type/select.js.map +1 -1
  27. package/dist/codegen/graphql/type/utils.d.ts +4 -0
  28. package/dist/codegen/graphql/type/utils.js +37 -1
  29. package/dist/codegen/graphql/type/utils.js.map +1 -1
  30. package/package.json +4 -4
@@ -28,14 +28,15 @@ function generateNetworkSnapshotFunctionCachePolicy(context, adapterAnnotation,
28
28
  export function ${constants_2.ADAPTER_BUILD_NETWORK_SNAPSHOT_FOR_CACHE_POLICY}(${constants_2.ADAPTER_BUILD_SNAPSHOT_CONTEXT_IDENTIFIER}: ${constants_2.ADAPTER_BUILD_SNAPSHOT_CONTEXT_TYPE_IDENTIFIER}, ${coercedAdapterRequestContextIdentifier}: ${constants_2.COERCED_ADAPTER_CONTEXT_IDENTIFIER}) : Promise<${snapshotTypeDefinition}> {
29
29
  ${(0, adapter_build_snapshot_context_1.generateSnapshotContextDestructuring)(snapshotConfig)}
30
30
 
31
- const { networkPriority, requestCorrelator } = ${coercedAdapterRequestContextIdentifier};
31
+ const { networkPriority, requestCorrelator, eventObservers } = ${coercedAdapterRequestContextIdentifier};
32
32
 
33
33
 
34
34
  const dispatchOptions: ${constants_2.ADAPTER_DISPATCH_RESOURCE_REQUEST_CONTEXT_IMPORT} = {
35
35
  resourceRequestContext: {
36
36
  requestCorrelator,
37
37
  luvioRequestMethod: ${alternativeMethod},
38
- }
38
+ },
39
+ eventObservers
39
40
  }
40
41
 
41
42
  if (networkPriority !== 'normal') {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-network-cache-policy.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-network-cache-policy.ts"],"names":[],"mappings":";;;;;;AAEA,mDAAuD;AACvD,oEAA4C;AAC5C,2CAUqB;AAGrB,qFAAwF;AACxF,iCAA6C;AAE7C,MAAM,sCAAsC,GAAG,8BAA8B,CAAC;AAE9E,SAAgB,0CAA0C,CACtD,OAAsB,EACtB,iBAAoC,EACpC,QAAkB;IAElB,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAC5C,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAEvC,MAAM,eAAe,GAAG,WAAY,CAAC,IAAI,CAAC;IAC1C,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,WAAY,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACpF,MAAM,sBAAsB,GAAG,GAAG,mCAAuB,IAAI,sBAAsB,QAAQ,CAAC;IAE5F,MAAM,8BAA8B,GAAG,kBAAkB,CACrD,SAAS,EACT,0CAA8B,CACjC,CAAC;IAEF,MAAM,cAAc,GAA+B;QAC/C,oBAAoB,EAAE,IAAA,0BAAmB,EAAC,QAAQ,CAAC;KACtD,CAAC;IAEF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB;QAChD,CAAC,CAAC,IAAI,QAAQ,CAAC,iBAAiB,GAAG;QACnC,CAAC,CAAC,WAAW,CAAC;IAElB,OAAO,IAAA,kBAAQ,EAAA;0BACO,2DAA+C,IAAI,qDAAyC,KAAK,0DAA8C,KAAK,sCAAsC,KAAK,8CAAkC,eAAe,sBAAsB;cAClR,IAAA,qEAAoC,EAAC,cAAc,CAAC;;6DAEL,sCAAsC;;;qCAG9D,4DAAgD;;;0CAG3C,iBAAiB;;;;;;;;;qBAStC,8BAA8B,IAAI,kCAAkC,CACjF,cAAc,CACjB;;KAEA,CAAC;AACN,CAAC;AAlDD,gGAkDC;AAED,SAAS,kCAAkC,CAAC,MAAkC;IAC1E,MAAM,MAAM,GAAG,CAAC,4BAAgB,EAAE,qCAAyB,EAAE,iBAAiB,CAAC,CAAC;IAEhF,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE;QACtC,MAAM,CAAC,IAAI,CAAC,6CAAiC,CAAC,CAAC;KAClD;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"adapter-network-cache-policy.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-network-cache-policy.ts"],"names":[],"mappings":";;;;;;AAEA,mDAAuD;AACvD,oEAA4C;AAC5C,2CAUqB;AAGrB,qFAAwF;AACxF,iCAA6C;AAE7C,MAAM,sCAAsC,GAAG,8BAA8B,CAAC;AAE9E,SAAgB,0CAA0C,CACtD,OAAsB,EACtB,iBAAoC,EACpC,QAAkB;IAElB,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAC5C,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAEvC,MAAM,eAAe,GAAG,WAAY,CAAC,IAAI,CAAC;IAC1C,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,WAAY,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACpF,MAAM,sBAAsB,GAAG,GAAG,mCAAuB,IAAI,sBAAsB,QAAQ,CAAC;IAE5F,MAAM,8BAA8B,GAAG,kBAAkB,CACrD,SAAS,EACT,0CAA8B,CACjC,CAAC;IAEF,MAAM,cAAc,GAA+B;QAC/C,oBAAoB,EAAE,IAAA,0BAAmB,EAAC,QAAQ,CAAC;KACtD,CAAC;IAEF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB;QAChD,CAAC,CAAC,IAAI,QAAQ,CAAC,iBAAiB,GAAG;QACnC,CAAC,CAAC,WAAW,CAAC;IAElB,OAAO,IAAA,kBAAQ,EAAA;0BACO,2DAA+C,IAAI,qDAAyC,KAAK,0DAA8C,KAAK,sCAAsC,KAAK,8CAAkC,eAAe,sBAAsB;cAClR,IAAA,qEAAoC,EAAC,cAAc,CAAC;;6EAEW,sCAAsC;;;qCAG9E,4DAAgD;;;0CAG3C,iBAAiB;;;;;;;;;;qBAUtC,8BAA8B,IAAI,kCAAkC,CACjF,cAAc,CACjB;;KAEA,CAAC;AACN,CAAC;AAnDD,gGAmDC;AAED,SAAS,kCAAkC,CAAC,MAAkC;IAC1E,MAAM,MAAM,GAAG,CAAC,4BAAgB,EAAE,qCAAyB,EAAE,iBAAiB,CAAC,CAAC;IAEhF,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE;QACtC,MAAM,CAAC,IAAI,CAAC,6CAAiC,CAAC,CAAC;KAClD;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -55,7 +55,7 @@ const BUILD_DURABLE_STORE_WITH_DATA = (0, deindent_1.default) `
55
55
  `;
56
56
  const FLUSH_PROMISES = (0, deindent_1.default) `
57
57
  function flushPromises() {
58
- return new Promise((resolve) => setImmediate(resolve));
58
+ return new Promise((resolve) => setTimeout(resolve, 0));
59
59
  }
60
60
  `;
61
61
  /**
@@ -10,7 +10,7 @@ function generate(graphqlDsl, typeName, def, importContext, _metadata) {
10
10
  var _a;
11
11
  const { schema } = graphqlDsl;
12
12
  const isQueryType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName;
13
- const queryTransform = (0, query_transformer_1.generateQueryTransformer)(graphqlDsl, def, importContext);
13
+ const queryTransform = (0, query_transformer_1.generateQueryTransformerForFields)(graphqlDsl, def, importContext);
14
14
  const minimumFields = (0, query_transformer_1.generateGetMinimumFields)(isQueryType, def);
15
15
  return (0, deindent_1.default) `
16
16
  ${queryTransform}
@@ -1 +1 @@
1
- {"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/query-transformer.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAI/C,iEAA+F;AAE/F,SAAgB,QAAQ,CACpB,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,WAAW,GAAG,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ,CAAC;IAE7D,MAAM,cAAc,GAAG,IAAA,4CAAwB,EAAC,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,IAAA,4CAAwB,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEjE,OAAO,IAAA,kBAAQ,EAAA;UACT,cAAc;UACd,aAAa;KAClB,CAAC;AACN,CAAC;AAjBD,4BAiBC"}
1
+ {"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/query-transformer.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAI/C,iEAGmC;AAEnC,SAAgB,QAAQ,CACpB,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,WAAW,GAAG,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ,CAAC;IAE7D,MAAM,cAAc,GAAG,IAAA,qDAAiC,EAAC,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,IAAA,4CAAwB,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEjE,OAAO,IAAA,kBAAQ,EAAA;UACT,cAAc;UACd,aAAa;KAClB,CAAC;AACN,CAAC;AAjBD,4BAiBC"}
@@ -37,7 +37,7 @@ function generateSelect(graphqlDsl, typeName, def, importContext, _metadata) {
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} => {
40
- const typename = source.__typename;
40
+ const typename = source.data.__typename;
41
41
  ${generateSelectFromDef(schema, type, importContext)}
42
42
  }
43
43
  }
@@ -37,7 +37,7 @@ class GraphQLTypeSourcePrinter {
37
37
  const { relPath, importContext } = this.createGraphQLTypeImportContext(compilerBaseOutputDir, typeDefinition.name);
38
38
  switch (kind) {
39
39
  case graphql_parser_1.Kind.OBJECT_TYPE_DEFINITION:
40
- modules[relPath] = (0, type_1.generateType)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
40
+ modules[relPath] = (0, type_1.generateType)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata, modelInfo);
41
41
  break;
42
42
  case graphql_parser_1.Kind.INTERFACE_TYPE_DEFINITION:
43
43
  modules[relPath] = (0, interface_1.generateInterfaceType)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
@@ -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":"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"}
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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"}
@@ -17,6 +17,7 @@ export declare const REQUESTED_FIELD_IDENTIFIER = "requestedField";
17
17
  export declare const REQUESTED_FIELD_NAME_IDENTIFIER = "requestedFieldName";
18
18
  export declare const SINK_IDENTIFIER = "sink";
19
19
  export declare const APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = "applyMinimumFieldsToQuery";
20
- export declare const GET_QUERY_TRANSFORMER_IDENTIFIER = "getQueryTransformer";
20
+ export declare const GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER = "getQueryTransformerForField";
21
+ export declare const GET_QUERY_TRANSFORMER_FOR_TYPE_IDENTIFIER = "getQueryTransformerForType";
21
22
  export declare const GET_MINIMUM_FIELDS_IDENTIFIER = "getMinimumFields";
22
23
  export declare const QUERY_TRANSFORMER_IDENTIFIER = "QueryTransformer";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QUERY_TRANSFORMER_IDENTIFIER = exports.GET_MINIMUM_FIELDS_IDENTIFIER = exports.GET_QUERY_TRANSFORMER_IDENTIFIER = exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = exports.SINK_IDENTIFIER = exports.REQUESTED_FIELD_NAME_IDENTIFIER = exports.REQUESTED_FIELD_IDENTIFIER = exports.FIELD_DATA_KEY_IDENTIFIER = exports.FIELD_DATA_IDENTIFIER = exports.FIELD_KEY_IDENTIFIER = exports.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = exports.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER = exports.GET_REQUESTED_FIELD_IDENTIFIER = exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = exports.KEY_BUILDER_IDENTIFIER = exports.TYPE_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = exports.GRAPHQL_VARIABLES_IDENTIFIER = void 0;
3
+ exports.QUERY_TRANSFORMER_IDENTIFIER = exports.GET_MINIMUM_FIELDS_IDENTIFIER = exports.GET_QUERY_TRANSFORMER_FOR_TYPE_IDENTIFIER = exports.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER = exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = exports.SINK_IDENTIFIER = exports.REQUESTED_FIELD_NAME_IDENTIFIER = exports.REQUESTED_FIELD_IDENTIFIER = exports.FIELD_DATA_KEY_IDENTIFIER = exports.FIELD_DATA_IDENTIFIER = exports.FIELD_KEY_IDENTIFIER = exports.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = exports.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER = exports.GET_REQUESTED_FIELD_IDENTIFIER = exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = exports.KEY_BUILDER_IDENTIFIER = exports.TYPE_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = exports.GRAPHQL_VARIABLES_IDENTIFIER = void 0;
4
4
  exports.GRAPHQL_VARIABLES_IDENTIFIER = 'GraphQLVariables';
5
5
  exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = 'GraphQLFragmentMap';
6
6
  exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = 'GraphQLState';
@@ -20,7 +20,8 @@ exports.REQUESTED_FIELD_IDENTIFIER = 'requestedField';
20
20
  exports.REQUESTED_FIELD_NAME_IDENTIFIER = 'requestedFieldName';
21
21
  exports.SINK_IDENTIFIER = 'sink';
22
22
  exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = 'applyMinimumFieldsToQuery';
23
- exports.GET_QUERY_TRANSFORMER_IDENTIFIER = 'getQueryTransformer';
23
+ exports.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER = 'getQueryTransformerForField';
24
+ exports.GET_QUERY_TRANSFORMER_FOR_TYPE_IDENTIFIER = 'getQueryTransformerForType';
24
25
  exports.GET_MINIMUM_FIELDS_IDENTIFIER = 'getMinimumFields';
25
26
  exports.QUERY_TRANSFORMER_IDENTIFIER = 'QueryTransformer';
26
27
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAClD,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,kCAAkC,GAAG,cAAc,CAAC;AACpD,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oCAAoC,GAAG,yBAAyB,CAAC;AACjE,QAAA,8BAA8B,GAAG,mBAAmB,CAAC;AACrD,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,uCAAuC,GAAG,0BAA0B,CAAC;AACrE,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAClC,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,0BAA0B,GAAG,gBAAgB,CAAC;AAC9C,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,eAAe,GAAG,MAAM,CAAC;AACzB,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,gCAAgC,GAAG,qBAAqB,CAAC;AACzD,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,4BAA4B,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAClD,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,kCAAkC,GAAG,cAAc,CAAC;AACpD,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oCAAoC,GAAG,yBAAyB,CAAC;AACjE,QAAA,8BAA8B,GAAG,mBAAmB,CAAC;AACrD,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,uCAAuC,GAAG,0BAA0B,CAAC;AACrE,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAClC,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,0BAA0B,GAAG,gBAAgB,CAAC;AAC9C,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,eAAe,GAAG,MAAM,CAAC;AACzB,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,0CAA0C,GAAG,6BAA6B,CAAC;AAC3E,QAAA,yCAAyC,GAAG,4BAA4B,CAAC;AACzE,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,4BAA4B,GAAG,kBAAkB,CAAC"}
@@ -18,7 +18,9 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
18
18
  throw new Error('Invalid GraphQL Schema. You must include a Query Type.');
19
19
  }
20
20
  const queryTypeName = queryType.name;
21
- const queryTransformerImport = importContext.importGraphQLArtifact(queryTypeName, 'getQueryTransformer');
21
+ const queryTransformerImport = importContext.importGraphQLArtifact(queryTypeName, 'getQueryTransformerForField');
22
+ const queryTransformerForTypeImport = importContext.importGraphQLArtifact(queryTypeName, 'getQueryTransformerForType');
23
+ const arrayIsArrayUtilsIdentifier = importContext.importTypeUtil('ArrayIsArray');
22
24
  // TODO: W-11246519 improve readability of the applyMinimumFields function by replacing the AST visitor with
23
25
  // manual node traversal
24
26
  return (0, imports_1.resolveImports)((0, deindent_1.default) `
@@ -43,7 +45,7 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
43
45
  }
44
46
 
45
47
  export interface ${constants_3.QUERY_TRANSFORMER_IDENTIFIER} {
46
- ${constants_3.GET_QUERY_TRANSFORMER_IDENTIFIER}: QueryTransformerFunction,
48
+ ${constants_3.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}: QueryTransformerFunction,
47
49
  ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: GetMinimumFieldsFunction
48
50
  }
49
51
 
@@ -109,7 +111,7 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
109
111
  enter(node) {
110
112
  if (node.operation === 'query') {
111
113
  queryTransformerStack.push({
112
- ${constants_3.GET_QUERY_TRANSFORMER_IDENTIFIER}: ${queryTransformerImport},
114
+ ${constants_3.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}: ${queryTransformerImport},
113
115
  ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: () => {return []}
114
116
  });
115
117
  }
@@ -118,10 +120,12 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
118
120
  Field: {
119
121
  enter(node) {
120
122
  if (node.selectionSet?.selections !== undefined) {
121
- const { ${constants_3.GET_QUERY_TRANSFORMER_IDENTIFIER} } = queryTransformerStack[queryTransformerStack.length - 1];
122
- const queryTransformer = ${constants_3.GET_QUERY_TRANSFORMER_IDENTIFIER}(node.name.value);
123
+ const { ${constants_3.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER} } = queryTransformerStack[queryTransformerStack.length - 1];
124
+ const queryTransformer = ${constants_3.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}(node.name.value);
123
125
  if (queryTransformer === undefined) {
124
- throw new Error("Invalid field in query '" + node.name.value + "'");
126
+ throw new Error("Invalid field in query '" + node.name.value
127
+ + "' at line: " + node.name.loc?.startToken.line
128
+ + " column: " + node.name.loc?.startToken.column);
125
129
  }
126
130
  queryTransformerStack.push(queryTransformer);
127
131
  }
@@ -132,8 +136,44 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
132
136
  }
133
137
  }
134
138
  },
139
+ InlineFragment: {
140
+ enter(node, _key, parentFields) {
141
+ if (node.typeCondition !== undefined && node.typeCondition !== null) {
142
+ const queryTransformer = ${queryTransformerForTypeImport}(node.typeCondition.name.value)
143
+ if (queryTransformer === undefined) {
144
+ throw new Error("Invalid type in query fragment '" + node.typeCondition.name.value
145
+ + "' at line: " + node.typeCondition.name.loc?.startToken.line
146
+ + " column: " + node.typeCondition.name.loc?.startToken.column);
147
+ }
148
+ const { ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER} } = queryTransformer;
149
+
150
+ // create a wrapper for the getMinimumFields function that filters
151
+ // out any fields already present via encapsulation in the parent fields
152
+ let wrappedGetMinimumFields = ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER};
153
+ if (${arrayIsArrayUtilsIdentifier}(parentFields)) {
154
+ wrappedGetMinimumFields = ():${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] => {
155
+ return ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}().filter((field) => {
156
+ const fieldIsAlreadyPresent = parentFields.some(parentField => {
157
+ return parentField.kind == 'Field' && parentField.name.value === field.name.value;
158
+ });
159
+ return !fieldIsAlreadyPresent;
160
+ });
161
+ };
162
+ }
163
+ queryTransformerStack.push({
164
+ ...queryTransformer,
165
+ ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: wrappedGetMinimumFields
166
+ });
167
+ }
168
+ },
169
+ leave(node) {
170
+ if (node.typeCondition !== undefined) {
171
+ queryTransformerStack.pop();
172
+ }
173
+ }
174
+ },
135
175
  SelectionSet: {
136
- enter(node, _key, parent) {
176
+ enter(node, _key, _parent) {
137
177
  // No changes if no selections.
138
178
  const { selections } = node;
139
179
  if (!selections) {
@@ -148,9 +188,10 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
148
188
  // Call the function to get the minimum fields for this node, filtering out any
149
189
  // fields that are already present in the selection.
150
190
  const minimumFields = ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}().filter(field => {
151
- return !selections.some(selection => {
191
+ const fieldIsAlreadyPresent = selections.some(selection => {
152
192
  return selection.kind === 'Field' && (selection.name.value === field.name.value);
153
193
  });
194
+ return !fieldIsAlreadyPresent;
154
195
  });
155
196
 
156
197
  // Return a new SelectionSet including minimum fields
@@ -1 +1 @@
1
- {"version":3,"file":"generateTypeUtil.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/generateTypeUtil.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,oDAAwD;AAExD,oCAAuC;AAGvC,uDAAmF;AACnF,sDAagC;AAChC,2CAcqB;AAErB,SAAgB,gBAAgB,CAC5B,eAAgC,EAChC,QAAgC,EAChC,aAA4B;;IAE5B,kHAAkH;IAClH,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACnE,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;KAC7E;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACrC,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,aAAa,EACb,qBAAqB,CACxB,CAAC;IAEF,4GAA4G;IAC5G,wBAAwB;IACxB,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;sBAC5B,2CAA+B,qBAAqB,yDAA6C;2BAC5F,8CAAkC;;yBAEpC,wCAA4B;yBAC5B,2CAA+B;oBACpC,oDAAwC;cAC9C,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;;;iCAID,wCAA4B;;;;kBAI3C,2CAA+B;;;2BAGtB,wCAA4B;cACzC,4CAAgC;cAChC,yCAA6B;;;0BAGjB,kCAAsB;;;;;;0BAMtB,gDAAoC,4BAA4B,8CAAkC,mBAAmB,wCAA4B;;;;;;;;;;kDAUzH,8CAAkC,gBAAgB,wCAA4B;;;;;iDAK/E,2CAA+B,gBAAgB,wCAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAgC/F,IAAA,mBAAW,EAC5B,QAAQ,CAAC,OAAO,EAChB,MAAA,eAAe,CAAC,WAAW,0CAAE,EAAE,EAC/B,QAAQ,CAAC,SAAS,CACrB;;0BAEiB,oDAAwC,YAAY,8CAAkC,MAAM,8CAAkC;2CAC7G,wCAA4B;6BAC1C,4CAAgC;;;;;kCAK3B,4CAAgC,KAAK,sBAAsB;kCAC3D,yCAA6B;;;;;;;;sCAQzB,4CAAgC;uDACf,4CAAgC;;;;;;;;;;;;;;;;;;;;;;;;kCAwBrD,yCAA6B;;;;gDAIf,yCAA6B;;;;;;;;;;;;;;qBAcxD,sCAA0B;;;0BAGrB,0CAA8B,oDAAoD,2CAA+B,QAAQ,2CAA+B;;;;0BAIxJ,mDAAuC,WAAW,2CAA+B,gBAAgB,wCAA4B;;qGAElD,gDAAoC;;;;0BAI/G,oDAAwC,oCAAoC,mDAAuC,wBAAwB,2CAA+B,MAAM,2CAA+B;;;;;;;sBAOnN,oDAAwC;;;;;;0BAMpC,oDAAwC;;;;;;;KAO7D,CAAC,CAAC;AACP,CAAC;AApMD,4CAoMC"}
1
+ {"version":3,"file":"generateTypeUtil.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/generateTypeUtil.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,oDAAwD;AAExD,oCAAuC;AAGvC,uDAAmF;AACnF,sDAagC;AAChC,2CAcqB;AAErB,SAAgB,gBAAgB,CAC5B,eAAgC,EAChC,QAAgC,EAChC,aAA4B;;IAE5B,kHAAkH;IAClH,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACnE,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;KAC7E;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACrC,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,aAAa,EACb,6BAA6B,CAChC,CAAC;IACF,MAAM,6BAA6B,GAAG,aAAa,CAAC,qBAAqB,CACrE,aAAa,EACb,4BAA4B,CAC/B,CAAC;IAEF,MAAM,2BAA2B,GAAG,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAEjF,4GAA4G;IAC5G,wBAAwB;IACxB,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;sBAC5B,2CAA+B,qBAAqB,yDAA6C;2BAC5F,8CAAkC;;yBAEpC,wCAA4B;yBAC5B,2CAA+B;oBACpC,oDAAwC;cAC9C,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;;;iCAID,wCAA4B;;;;kBAI3C,2CAA+B;;;2BAGtB,wCAA4B;cACzC,sDAA0C;cAC1C,yCAA6B;;;0BAGjB,kCAAsB;;;;;;0BAMtB,gDAAoC,4BAA4B,8CAAkC,mBAAmB,wCAA4B;;;;;;;;;;kDAUzH,8CAAkC,gBAAgB,wCAA4B;;;;;iDAK/E,2CAA+B,gBAAgB,wCAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAgC/F,IAAA,mBAAW,EAC5B,QAAQ,CAAC,OAAO,EAChB,MAAA,eAAe,CAAC,WAAW,0CAAE,EAAE,EAC/B,QAAQ,CAAC,SAAS,CACrB;;0BAEiB,oDAAwC,YAAY,8CAAkC,MAAM,8CAAkC;2CAC7G,wCAA4B;6BAC1C,4CAAgC;;;;;kCAK3B,sDAA0C,KAAK,sBAAsB;kCACrE,yCAA6B;;;;;;;;sCAQzB,sDAA0C;uDACzB,sDAA0C;;;;;;;;;;;;;;;;;;uDAkB1C,6BAA6B;;;;;;sCAM9C,yCAA6B;;;;4DAIP,yCAA6B;kCACvD,2BAA2B;+DACE,2CAA+B;6CACjD,yCAA6B;;;;;;;;;;kCAUxC,yCAA6B;;;;;;;;;;;;;;;;;;;;;kCAqB7B,yCAA6B;;;;gDAIf,yCAA6B;;;;;;;;;;;;;;;qBAexD,sCAA0B;;;0BAGrB,0CAA8B,oDAAoD,2CAA+B,QAAQ,2CAA+B;;;;0BAIxJ,mDAAuC,WAAW,2CAA+B,gBAAgB,wCAA4B;;qGAElD,gDAAoC;;;;0BAI/G,oDAAwC,oCAAoC,mDAAuC,wBAAwB,2CAA+B,MAAM,2CAA+B;;;;;;;sBAOnN,oDAAwC;;;;;;0BAMpC,oDAAwC;;;;;;;KAO7D,CAAC,CAAC;AACP,CAAC;AAjPD,4CAiPC"}
@@ -2,4 +2,5 @@ import type { ImportContext } from '../../../utils/imports';
2
2
  import type { ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
3
3
  import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
4
4
  import type { GraphQLCodegenMetadata } from '../source-printer';
5
- export declare function generateType(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;
5
+ import type { ModelInfo } from '../../../main';
6
+ export declare function generateType(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata, modelInfo: ModelInfo): string;
@@ -13,14 +13,14 @@ const merge_1 = require("./merge");
13
13
  const imports_1 = require("../../../utils/imports");
14
14
  const select_1 = require("./select");
15
15
  const query_transformer_1 = require("./query-transformer");
16
- function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata) {
16
+ function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata, modelInfo) {
17
17
  return (0, imports_1.resolveImports)((0, deindent_1.default) `
18
18
  export const name = '${graphqlTypeName}';
19
19
  ${(0, ttl_1.generateTtl)(graphqlDsl, graphqlTypeName)}
20
20
  ${(0, interface_1.generateInterfaces)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
21
21
  ${(0, key_1.generateKey)(def, importContext, graphqlDsl.schemaName)}
22
22
  ${(0, merge_1.generateMerge)(importContext)}
23
- ${(0, ingest_1.generateIngest)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
23
+ ${(0, ingest_1.generateIngest)(graphqlDsl, graphqlTypeName, def, importContext, metadata, modelInfo)}
24
24
  ${(0, select_1.generateSelect)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
25
25
  ${(0, query_transformer_1.generate)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
26
26
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,+BAAoC;AACpC,2CAAiD;AACjD,qCAA0C;AAC1C,+BAAoC;AACpC,mCAAwC;AACxC,oDAAwD;AAKxD,qCAA0C;AAC1C,2DAA2E;AAE3E,SAAgB,YAAY,CACxB,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,eAAe;UACpC,IAAA,iBAAW,EAAC,UAAU,EAAE,eAAe,CAAC;UACxC,IAAA,8BAAkB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAC7E,IAAA,iBAAW,EAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC;UACtD,IAAA,qBAAa,EAAC,aAAa,CAAC;UAC5B,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACzE,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACzE,IAAA,4BAAwB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KACxF,CAAC,CAAC;AACP,CAAC;AAjBD,oCAiBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,+BAAoC;AACpC,2CAAiD;AACjD,qCAA0C;AAC1C,+BAAoC;AACpC,mCAAwC;AACxC,oDAAwD;AAKxD,qCAA0C;AAC1C,2DAA2E;AAG3E,SAAgB,YAAY,CACxB,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,QAAgC,EAChC,SAAoB;IAEpB,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,eAAe;UACpC,IAAA,iBAAW,EAAC,UAAU,EAAE,eAAe,CAAC;UACxC,IAAA,8BAAkB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAC7E,IAAA,iBAAW,EAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC;UACtD,IAAA,qBAAa,EAAC,aAAa,CAAC;UAC5B,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;UACpF,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACzE,IAAA,4BAAwB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KACxF,CAAC,CAAC;AACP,CAAC;AAlBD,oCAkBC"}
@@ -1,9 +1,10 @@
1
- import type { FieldDefinitionNode, ListTypeNode, NamedTypeNode, ObjectTypeDefinitionNode, TypeNode } from '@luvio/graphql-parser';
1
+ import type { FieldDefinitionNode, ListTypeNode, NamedTypeNode, TypeNode, ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
2
2
  import type { ImportContext } from '../../../utils/imports';
3
3
  import type { NormalizableTypes } from '../utils';
4
4
  import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
5
5
  import type { GraphQLCodegenMetadata } from '../source-printer';
6
+ import type { ModelInfo } from '../../../main';
6
7
  export declare function ingestNamedType(field: FieldDefinitionNode, typeNode: NamedTypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
7
8
  export declare function ingestListType(field: FieldDefinitionNode, typeNode: ListTypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
8
9
  export declare function ingestType(field: FieldDefinitionNode, typeNode: TypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
9
- export declare function generateIngest(graphqlDsl: LuvioGraphQLDSL, typeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
10
+ export declare function generateIngest(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata, modelInfo: ModelInfo): string;
@@ -13,17 +13,17 @@ const interface_1 = require("./interface");
13
13
  const types_1 = require("../utils/types");
14
14
  const REQUESTED_FIELDS_IDENTIFIER = 'requestedFields';
15
15
  function ingestNamedType(field, typeNode, importContext, normalizableTypeMap) {
16
- const typeName = (0, utils_1.resolveTypeName)(typeNode);
16
+ const graphqlTypeName = (0, utils_1.resolveTypeName)(typeNode);
17
17
  const { importGraphQLArtifact } = importContext;
18
- const isScalar = normalizableTypeMap[typeName] === undefined;
18
+ const isScalar = normalizableTypeMap[graphqlTypeName] === undefined;
19
19
  const fieldName = field.name.value;
20
20
  if (isScalar) {
21
21
  return generateIngestScalarField(fieldName);
22
22
  }
23
- const typeNameIngestImport = importGraphQLArtifact(typeName, constants_2.TYPE_INGEST_IDENTIFIER);
23
+ const typeNameIngestImport = importGraphQLArtifact(graphqlTypeName, constants_2.TYPE_INGEST_IDENTIFIER);
24
24
  const fieldStateIdentifier = `${fieldName}State`;
25
25
  return (0, deindent_1.default) `
26
- if(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value === '${fieldName}') {
26
+ case '${fieldName}': {
27
27
  const ${fieldStateIdentifier} = {
28
28
  ...state,
29
29
  path: {
@@ -37,25 +37,26 @@ function ingestNamedType(field, typeNode, importContext, normalizableTypeMap) {
37
37
  ${constants_2.REQUESTED_FIELD_IDENTIFIER},
38
38
  ${fieldStateIdentifier}
39
39
  ) as any;
40
- };
40
+ break;
41
+ }
41
42
  `;
42
43
  }
43
44
  exports.ingestNamedType = ingestNamedType;
44
45
  function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
45
46
  const { importGraphQLArtifact } = importContext;
46
47
  const fieldName = field.name.value;
47
- const typeName = (0, utils_1.resolveTypeName)(typeNode);
48
+ const graphqlTypeName = (0, utils_1.resolveTypeName)(typeNode);
48
49
  const fullPathIdentifier = `fullPath__${fieldName}`;
49
- const typeDefinition = normalizableTypeMap[typeName];
50
+ const typeDefinition = normalizableTypeMap[graphqlTypeName];
50
51
  const collectionIdentifier = `${fieldName}__items`;
51
52
  const dataIdentifier = `data[${constants_2.FIELD_KEY_IDENTIFIER}]`;
52
53
  // Non-normalizable types
53
54
  if (typeDefinition === undefined) {
54
55
  return generateIngestScalarField(fieldName);
55
56
  }
56
- const typeNameIngestImport = importGraphQLArtifact(typeName, constants_2.TYPE_INGEST_IDENTIFIER);
57
+ const typeNameIngestImport = importGraphQLArtifact(graphqlTypeName, constants_2.TYPE_INGEST_IDENTIFIER);
57
58
  return (0, deindent_1.default) `
58
- if(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value === '${fieldName}') {
59
+ case '${fieldName}': {
59
60
  const ${collectionIdentifier}: ${constants_1.LUVIO_STORE_LINK_IMPORT}[] = [];
60
61
  const ${fullPathIdentifier} = \`\${key}__\${${constants_2.FIELD_KEY_IDENTIFIER}}\`;
61
62
  for(let i = 0, len = ${dataIdentifier}.length; i < len; i++) {
@@ -75,16 +76,17 @@ function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
75
76
  itemState
76
77
  )
77
78
  }
78
-
79
79
  dataSink[${constants_2.FIELD_KEY_IDENTIFIER}] = ${collectionIdentifier};
80
- };
80
+ break;
81
+ }
81
82
  `;
82
83
  }
83
84
  exports.ingestListType = ingestListType;
84
85
  function generateIngestScalarField(fieldName) {
85
86
  return (0, deindent_1.default) `
86
- if(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value === '${fieldName}') {
87
+ case '${fieldName}': {
87
88
  dataSink[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
89
+ break;
88
90
  }
89
91
  `;
90
92
  }
@@ -102,16 +104,20 @@ function ingestType(field, typeNode, importContext, normalizableTypeMap) {
102
104
  }
103
105
  }
104
106
  exports.ingestType = ingestType;
105
- function generateObjectTypeIngest(type, importContext, normalizableTypeMap) {
106
- const fields = (0, types_1.getObjectFields)(type);
107
+ function generateObjectTypeIngest(graphqlDsl, graphqlTypeName, importContext, def, normalizableTypeMap) {
108
+ const { typeNameToExtensions } = graphqlDsl;
109
+ const fields = (0, types_1.getObjectFields)(def);
107
110
  const fieldIngestStatements = fields
111
+ .filter((field) => field.type !== undefined)
108
112
  .map((field) => {
109
- if (field.type === undefined) {
113
+ // omit the fields that are mapped to RAML fields and delegate to RAML ingestion
114
+ const graphqlFieldName = field.name.value;
115
+ const ramlFieldName = (0, utils_2.getRamlFieldName)(typeNameToExtensions, graphqlTypeName, graphqlFieldName);
116
+ if (ramlFieldName !== undefined) {
110
117
  return '';
111
118
  }
112
119
  return ingestType(field, field.type, importContext, normalizableTypeMap);
113
- })
114
- .filter((statement) => statement !== '');
120
+ });
115
121
  const eachFieldHandling = fieldIngestStatements.join('\n');
116
122
  const ingestStatements = [
117
123
  getRequestedFieldsStatement(importContext),
@@ -132,60 +138,125 @@ function iterateThroughResponseKeys(importContext, individualFieldIngestBlock) {
132
138
  const getRequestedFieldImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
133
139
  const getFieldKeyImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
134
140
  return (0, deindent_1.default) `
135
- const responseKeys = Object.keys(data);
136
- for(var responseFieldIndex = 0; responseFieldIndex < responseKeys.length; responseFieldIndex++){
137
- const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} = responseKeys[responseFieldIndex];
141
+ for(const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} of Object.keys(data)){
138
142
  const ${constants_2.FIELD_DATA_IDENTIFIER} = data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}];
139
143
  const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${REQUESTED_FIELDS_IDENTIFIER});
144
+
140
145
  if(${constants_2.REQUESTED_FIELD_IDENTIFIER} === undefined) {
141
146
  break; // TODO: (W-11132802) We got a field back we didn't ask for. Call handleUnknownField.
142
147
  }
143
148
  const ${constants_2.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}, state.variables);
144
- ${individualFieldIngestBlock}
149
+
150
+ switch( ${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value) {
151
+ ${individualFieldIngestBlock}
152
+ }
153
+ }
154
+ `;
155
+ }
156
+ function generateRamlIngestDelegation(graphqlDsl, graphqlTypeName, importContext, def, modelInfo, graphqlStateInterface) {
157
+ // get the target RAML type ingest function
158
+ const { typeNameToExtensions } = graphqlDsl;
159
+ const { importRamlArtifact } = importContext;
160
+ const ramlTypeName = (0, utils_2.getRamlTypeName)(typeNameToExtensions, graphqlTypeName);
161
+ if (ramlTypeName === undefined) {
162
+ return '';
163
+ }
164
+ const ramlTypeId = (0, utils_2.getRamlTypeIdByName)(ramlTypeName, modelInfo);
165
+ if (ramlTypeId === undefined) {
166
+ return '';
167
+ }
168
+ const ramlIngest = importRamlArtifact(ramlTypeId, constants_2.TYPE_INGEST_IDENTIFIER);
169
+ // get RAML mapping
170
+ const graphqlFields = (0, types_1.getObjectFields)(def);
171
+ const ramlIngestStatements = graphqlFields
172
+ .filter((graphqlField) => graphqlField.type !== undefined)
173
+ .map((graphqlField) => {
174
+ const graphqlFieldName = graphqlField.name.value;
175
+ const ramlFieldName = (0, utils_2.getRamlFieldName)(typeNameToExtensions, graphqlTypeName, graphqlFieldName);
176
+ if (ramlFieldName === undefined) {
177
+ return '';
178
+ }
179
+ return (0, deindent_1.default) `
180
+ if (responseKey === "${graphqlFieldName}") {
181
+ ramlSink["${ramlFieldName}"] = data["${graphqlFieldName}"];
182
+ }
183
+ `;
184
+ });
185
+ if (ramlIngestStatements.length === 0) {
186
+ return '';
187
+ }
188
+ return (0, deindent_1.default) `
189
+ export function convertGraphQLToRaml (state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
190
+ const { path, data, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
191
+ const ramlSink = {};
192
+ const responseKeys = Object.keys(data);
193
+ for (const responseKey of responseKeys) {
194
+ ${ramlIngestStatements.join('\n')}
195
+ }
196
+
197
+ // delegate type ingest to RAML ingest if the type is in RAML mapping
198
+ if (Object.keys(ramlSink).length === 0) {
199
+ return undefined;
200
+ }
201
+ const ramlTypeRef = ${ramlIngest}(ramlSink, path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER});
202
+ return ramlTypeRef;
145
203
  }
146
204
  `;
147
205
  }
148
- function generateIngest(graphqlDsl, typeName, def, importContext, _metadata) {
206
+ function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metadata, modelInfo) {
149
207
  var _a;
150
- const { schema } = graphqlDsl;
208
+ const { schema, typeNameToExtensions } = graphqlDsl;
151
209
  const { importGraphQLArtifact, importAdapterUtil } = importContext;
152
210
  const normalizableTypeMap = (0, utils_1.getNormalizableTypeMap)(schema);
153
211
  const createLink = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.CREATE_LINK_IDENTIFIER);
154
212
  const graphqlStateInterface = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_STATE_INTERFACE_IDENTIFIER);
155
213
  const keyPrefix = importAdapterUtil('keyPrefix');
156
- const ttl = (0, utils_2.isTypeExtensionDefined)(graphqlDsl.typeNameToExtensions, typeName, 'ttl')
214
+ const ttl = (0, utils_2.isTypeExtensionDefined)(typeNameToExtensions, graphqlTypeName, 'ttl')
157
215
  ? 'TTL'
158
216
  : importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, 'TTL');
159
- const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName
217
+ const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === graphqlTypeName
160
218
  ? constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
161
219
  : constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
220
+ const converToRaml = generateRamlIngestDelegation(graphqlDsl, graphqlTypeName, importContext, def, modelInfo, graphqlStateInterface);
162
221
  return (0, deindent_1.default) `
222
+
223
+ ${converToRaml}
224
+
163
225
  export function ingest(astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
164
- const { path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER} } = state;
226
+ const { path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
165
227
  const data = state.data;
166
228
  const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(path, data);
167
-
168
- // normalize fields
169
229
  const dataSink = <PartialInterface>({});
170
- ${generateObjectTypeIngest(def, importContext, normalizableTypeMap)};
230
+
231
+ // normalize fields
232
+ ${generateObjectTypeIngest(graphqlDsl, graphqlTypeName, importContext, def, normalizableTypeMap)}
171
233
 
172
234
  // merge existing cache data and new request response data
173
- let mergedData: PartialInterface;
235
+ let mergedData;
174
236
  const existingData = ${constants_1.LUVIO_STORE_IDENTIFIER}.readEntry<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>(key);
175
237
  if (existingData !== undefined && existingData.__type !== "error") {
176
238
  mergedData = mergeData(existingData as PartialInterface, dataSink);
177
239
  }
178
240
  else {
179
- mergedData = dataSink;
241
+ mergedData = {data: dataSink};
180
242
  }
181
243
 
244
+ ${converToRaml === ''
245
+ ? ''
246
+ : (0, deindent_1.default) `
247
+ // partially ingest with RAML
248
+ const ramlTypeRef = convertGraphQLToRaml(state);
249
+ if (ramlTypeRef !== undefined) {
250
+ mergedData["__link"] = ramlTypeRef;
251
+ }`}
252
+
182
253
  // publish
183
254
  ${constants_1.LUVIO_IDENTIFIER}.storePublish(key, mergedData);
184
255
 
185
256
  const storeMetadataParams = {
186
257
  ttl: ${ttl},
187
258
  namespace: ${keyPrefix},
188
- representationName: "${typeName}",
259
+ representationName: "${graphqlTypeName}",
189
260
  };
190
261
  ${constants_1.LUVIO_IDENTIFIER}.publishStoreMetadata(key, storeMetadataParams);
191
262
 
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":";;;;;;AAOA,uEAA+C;AAE/C,sDAMgC;AAEhC,oCAAmE;AACnE,mCAKiB;AACjB,2CAcqB;AAGrB,2CAA2D;AAC3D,0CAAiD;AAGjD,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAEtD,SAAgB,eAAe,CAC3B,KAA0B,EAC1B,QAAuB,EACvB,aAA4B,EAC5B,mBAAsC;IAEtC,MAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAC;IAChD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC;IACpE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAEnC,IAAI,QAAQ,EAAE;QACV,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;KAC/C;IAED,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,eAAe,EAAE,kCAAsB,CAAC,CAAC;IAE5F,MAAM,oBAAoB,GAAG,GAAG,SAAS,OAAO,CAAC;IACjD,OAAO,IAAA,kBAAQ,EAAA;gBACH,SAAS;oBACL,oBAAoB;;;;oCAIJ,gCAAoB;6CACX,gCAAoB;;wBAEzC,iCAAqB;;uBAEtB,gCAAoB,OAAO,oBAAoB;kBACpD,sCAA0B;kBAC1B,oBAAoB;;;;KAIjC,CAAC;AACN,CAAC;AApCD,0CAoCC;AAED,SAAgB,cAAc,CAC1B,KAA0B,EAC1B,QAAsB,EACtB,aAA4B,EAC5B,mBAAsC;IAEtC,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAC;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACnC,MAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,kBAAkB,GAAG,aAAa,SAAS,EAAE,CAAC;IACpD,MAAM,cAAc,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,GAAG,SAAS,SAAS,CAAC;IACnD,MAAM,cAAc,GAAG,QAAQ,gCAAoB,GAAG,CAAC;IAEvD,yBAAyB;IACzB,IAAI,cAAc,KAAK,SAAS,EAAE;QAC9B,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;KAC/C;IAED,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,eAAe,EAAE,kCAAsB,CAAC,CAAC;IAE5F,OAAO,IAAA,kBAAQ,EAAA;gBACH,SAAS;oBACL,oBAAoB,KAAK,mCAAuB;oBAChD,kBAAkB,oBAAoB,gCAAoB;mCAC3C,cAAc;+BAClB,cAAc;;;;;;;oCAOT,kBAAkB;;;;kBAIpC,oBAAoB,SAAS,oBAAoB;sBAC7C,sCAA0B;;;;uBAIzB,gCAAoB,OAAO,oBAAoB;;;KAGjE,CAAC;AACN,CAAC;AA9CD,wCA8CC;AAED,SAAS,yBAAyB,CAAC,SAAiB;IAChD,OAAO,IAAA,kBAAQ,EAAA;gBACH,SAAS;uBACF,gCAAoB,OAAO,iCAAqB;;;KAGlE,CAAC;AACN,CAAC;AAED,SAAgB,UAAU,CACtB,KAA0B,EAC1B,QAAkB,EAClB,aAA4B,EAC5B,mBAAsC;IAEtC,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,OAAO,EAAE,CAAC;KACb;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW;YACZ,OAAO,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAChF,KAAK,UAAU;YACX,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAC/E;YACI,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;KACnF;AACL,CAAC;AAlBD,gCAkBC;AAED,SAAS,wBAAwB,CAC7B,UAA2B,EAC3B,eAAuB,EACvB,aAA4B,EAC5B,GAA6B,EAC7B,mBAAsC;IAEtC,MAAM,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC;IACpC,MAAM,qBAAqB,GAAG,MAAM;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;SAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACX,gFAAgF;QAChF,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAClC,oBAAoB,EACpB,eAAe,EACf,gBAAgB,CACnB,CAAC;QACF,IAAI,aAAa,KAAK,SAAS,EAAE;YAC7B,OAAO,EAAE,CAAC;SACb;QACD,OAAO,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEP,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAa;QAC/B,2BAA2B,CAAC,aAAa,CAAC;QAC1C,0BAA0B,CAAC,aAAa,EAAE,iBAAiB,CAAC;KAC/D,CAAC;IAEF,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,2BAA2B,CAAC,aAA4B;IAC7D,MAAM,wBAAwB,GAAG,aAAa,CAAC,qBAAqB,CAChE,gCAAoB,EACpB,oDAAwC,CAC3C,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;gBACH,2BAA2B,KAAK,2CAA+B;;cAEjE,wBAAwB;;KAEjC,CAAC;AACN,CAAC;AAED,SAAS,0BAA0B,CAC/B,aAA4B,EAC5B,0BAAkC;IAElC,MAAM,uBAAuB,GAAG,aAAa,CAAC,qBAAqB,CAC/D,gCAAoB,EACpB,0CAA8B,CACjC,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CACzD,gCAAoB,EACpB,mDAAuC,CAC1C,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;oBACC,qCAAyB;oBACzB,iCAAqB,WAAW,qCAAyB;oBACzD,sCAA0B,MAAM,uBAAuB,IAAI,qCAAyB,KAAK,2BAA2B;;iBAEvH,sCAA0B;;;oBAGvB,gCAAoB,MAAM,iBAAiB,IAAI,sCAA0B;;sBAEvE,sCAA0B;kBAC9B,0BAA0B;;;KAGvC,CAAC;AACN,CAAC;AAED,SAAS,4BAA4B,CACjC,UAA2B,EAC3B,eAAuB,EACvB,aAA4B,EAC5B,GAA6B,EAC7B,SAAoB,EACpB,qBAA6B;IAE7B,2CAA2C;IAC3C,MAAM,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;IAC5C,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAC5E,IAAI,YAAY,KAAK,SAAS,EAAE;QAC5B,OAAO,EAAE,CAAC;KACb;IACD,MAAM,UAAU,GAAG,IAAA,2BAAmB,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAChE,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,OAAO,EAAE,CAAC;KACb;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,kCAAsB,CAAC,CAAC;IAE1E,mBAAmB;IACnB,MAAM,aAAa,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,oBAAoB,GAAG,aAAa;SACrC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC;SACzD,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAClB,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACjD,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAClC,oBAAoB,EACpB,eAAe,EACf,gBAAgB,CACnB,CAAC;QACF,IAAI,aAAa,KAAK,SAAS,EAAE;YAC7B,OAAO,EAAE,CAAC;SACb;QACD,OAAO,IAAA,kBAAQ,EAAA;uCACY,gBAAgB;gCACvB,aAAa,cAAc,gBAAgB;;aAE9D,CAAC;IACN,CAAC,CAAC,CAAC;IAEP,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;QACnC,OAAO,EAAE,CAAC;KACb;IACD,OAAO,IAAA,kBAAQ,EAAA;uDACoC,qBAAqB,IAAI,wCAA4B;kCAC1E,4BAAgB,KAAK,kCAAsB,KAAK,gCAAoB;;;;kBAIpF,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;kCAOf,UAAU,oBAAoB,4BAAgB,KAAK,kCAAsB,KAAK,gCAAoB;;;KAG/H,CAAC;AACN,CAAC;AAED,SAAgB,cAAc,CAC1B,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,SAAiC,EACjC,SAAoB;;IAEpB,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpD,MAAM,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;IACnE,MAAM,mBAAmB,GAAG,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,qBAAqB,CAAC,gCAAoB,EAAE,kCAAsB,CAAC,CAAC;IACvF,MAAM,qBAAqB,GAAG,qBAAqB,CAC/C,gCAAoB,EACpB,8CAAkC,CACrC,CAAC;IACF,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,IAAA,8BAAsB,EAAC,oBAAoB,EAAE,eAAe,EAAE,KAAK,CAAC;QAC5E,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,qBAAqB,CAAC,gCAAoB,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAClB,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,eAAe;QAC3C,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAC1C,MAAM,YAAY,GAAG,4BAA4B,CAC7C,UAAU,EACV,eAAe,EACf,aAAa,EACb,GAAG,EACH,SAAS,EACT,qBAAqB,CACxB,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;;UAET,YAAY;;0CAEoB,gBAAgB,YAAY,qBAAqB,IAAI,wCAA4B;4BAC/F,4BAAgB,KAAK,kCAAsB,KAAK,gCAAoB;;0BAEtE,kCAAsB;;;;cAIlC,wBAAwB,CACtB,UAAU,EACV,eAAe,EACf,aAAa,EACb,GAAG,EACH,mBAAmB,CACtB;;;;mCAIsB,kCAAsB,cAAc,wCAA4B;;;;;;;;cASnF,YAAY,KAAK,EAAE;QACf,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,IAAA,kBAAQ,EAAA;;;;;cAMlB;;;cAGE,4BAAgB;;;uBAGP,GAAG;6BACG,SAAS;uCACC,eAAe;;cAExC,4BAAgB;;qBAET,UAAU;;KAE1B,CAAC;AACN,CAAC;AAtFD,wCAsFC"}
@@ -8,8 +8,10 @@ const interface_1 = require("./interface");
8
8
  const deindent_1 = __importDefault(require("../../../utils/deindent"));
9
9
  function generateMerge(importContext) {
10
10
  return (0, deindent_1.default) `
11
- export function mergeData(existingData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, newData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}): ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}{
12
- return ${importContext.importTypeUtil('ObjectAssign')}(existingData, newData);
11
+ export function mergeData(existingData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, newData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}) {
12
+ return {
13
+ data: ${importContext.importTypeUtil('ObjectAssign')}(existingData["data"], newData),
14
+ }
13
15
  }
14
16
  `;
15
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/merge.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA2D;AAC3D,uEAA+C;AAG/C,SAAgB,aAAa,CAAC,aAA4B;IACtD,OAAO,IAAA,kBAAQ,EAAA;kDAC+B,wCAA4B,cAAc,wCAA4B,MAAM,wCAA4B;qBACrI,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC;;KAE5D,CAAC;AACN,CAAC;AAND,sCAMC"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/merge.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA2D;AAC3D,uEAA+C;AAG/C,SAAgB,aAAa,CAAC,aAA4B;IACtD,OAAO,IAAA,kBAAQ,EAAA;kDAC+B,wCAA4B,cAAc,wCAA4B;;wBAEhG,aAAa,CAAC,cAAc,CAChC,cAAc,CACjB;;;KAGZ,CAAC;AACN,CAAC;AAVD,sCAUC"}
@@ -1,7 +1,8 @@
1
- import type { InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
1
+ import type { GraphQLSchema, InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
2
2
  import type { ImportContext } from '../../../utils/imports';
3
3
  import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
4
4
  import type { GraphQLCodegenMetadata } from '../source-printer';
5
- export declare function generateQueryTransformer(graphqlDsl: LuvioGraphQLDSL, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext): string;
5
+ export declare function generateQueryTransformerForFields(graphqlDsl: LuvioGraphQLDSL, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext): string;
6
+ export declare function generateQueryTransformerForQueryReturnTypes(schema: GraphQLSchema, importContext: ImportContext): string;
6
7
  export declare function generateGetMinimumFields(isQueryType: boolean, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode): string;
7
8
  export declare function generate(graphqlDsl: LuvioGraphQLDSL, typeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
@@ -3,44 +3,58 @@ 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.generate = exports.generateGetMinimumFields = exports.generateQueryTransformer = void 0;
6
+ exports.generate = exports.generateGetMinimumFields = exports.generateQueryTransformerForQueryReturnTypes = exports.generateQueryTransformerForFields = void 0;
7
7
  const deindent_1 = __importDefault(require("../../../utils/deindent"));
8
8
  const constants_1 = require("../../shared/constants");
9
9
  const utils_1 = require("../utils");
10
10
  const key_1 = require("./key");
11
11
  const interface_1 = require("./interface");
12
12
  const constants_2 = require("./constants");
13
- function generateQueryTransformer(graphqlDsl, def, importContext) {
13
+ function generateQueryTransformerForFields(graphqlDsl, def, importContext) {
14
14
  const { schema } = graphqlDsl;
15
15
  const type = schema.getType(def.name.value);
16
16
  const fieldMap = type.getFields();
17
17
  const fieldList = Object.keys(fieldMap);
18
18
  const queryTransformerStatements = fieldList
19
19
  .map((fieldName) => {
20
- var _a, _b, _c, _d, _e;
20
+ var _a;
21
21
  const field = fieldMap[fieldName];
22
- if ((_a = field === null || field === void 0 ? void 0 : field.astNode) === null || _a === void 0 ? void 0 : _a.type.kind) {
23
- switch ((_b = field.astNode) === null || _b === void 0 ? void 0 : _b.type.kind) {
24
- case 'ListType':
25
- case 'NonNullType':
26
- case 'NamedType': {
27
- const fieldTypeName = (0, utils_1.resolveTypeName)((_c = field.astNode) === null || _c === void 0 ? void 0 : _c.type);
28
- const schemaType = schema.getType(fieldTypeName);
29
- if ((schemaType === null || schemaType === void 0 ? void 0 : schemaType.astNode) !== undefined &&
30
- (((_d = schemaType === null || schemaType === void 0 ? void 0 : schemaType.astNode) === null || _d === void 0 ? void 0 : _d.kind) === 'InterfaceTypeDefinition' ||
31
- ((_e = schemaType === null || schemaType === void 0 ? void 0 : schemaType.astNode) === null || _e === void 0 ? void 0 : _e.kind) === 'ObjectTypeDefinition')) {
32
- const getQueryTransformerImport = importContext.importGraphQLArtifact(fieldTypeName, constants_2.GET_QUERY_TRANSFORMER_IDENTIFIER);
33
- const getMinimumFieldsImport = importContext.importGraphQLArtifact(fieldTypeName, constants_2.GET_MINIMUM_FIELDS_IDENTIFIER);
34
- return (0, deindent_1.default) `
35
- if (fieldName === '${fieldName}') {
36
- return {
37
- ${constants_2.GET_QUERY_TRANSFORMER_IDENTIFIER}: ${getQueryTransformerImport},
38
- ${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}: ${getMinimumFieldsImport}
39
- };
40
- }
41
- `;
42
- }
43
- }
22
+ if (field !== undefined &&
23
+ field !== null &&
24
+ field.astNode !== undefined &&
25
+ field.astNode !== null) {
26
+ const fieldTypeName = (0, utils_1.resolveTypeName)((_a = field.astNode) === null || _a === void 0 ? void 0 : _a.type);
27
+ const schemaType = schema.getType(fieldTypeName);
28
+ if (schemaType === undefined ||
29
+ schemaType === null ||
30
+ schemaType.astNode === undefined ||
31
+ schemaType.astNode === null) {
32
+ return '';
33
+ }
34
+ // Interface or Object Type
35
+ if (schemaType.astNode.kind === 'InterfaceTypeDefinition' ||
36
+ schemaType.astNode.kind === 'ObjectTypeDefinition') {
37
+ const getQueryTransformerImport = importContext.importGraphQLArtifact(fieldTypeName, constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER);
38
+ const getMinimumFieldsImport = importContext.importGraphQLArtifact(fieldTypeName, constants_2.GET_MINIMUM_FIELDS_IDENTIFIER);
39
+ return (0, deindent_1.default) `
40
+ if (fieldName === '${fieldName}') {
41
+ return {
42
+ ${constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}: ${getQueryTransformerImport},
43
+ ${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}: ${getMinimumFieldsImport}
44
+ };
45
+ }
46
+ `;
47
+ }
48
+ // Union Type
49
+ if (schemaType.astNode.kind === 'UnionTypeDefinition') {
50
+ return (0, deindent_1.default) `
51
+ if (fieldName === '${fieldName}') {
52
+ return {
53
+ ${constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}: (fieldName: string) => { return undefined },
54
+ ${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}: () => { return [] }
55
+ };
56
+ }
57
+ `;
44
58
  }
45
59
  }
46
60
  return '';
@@ -51,12 +65,57 @@ function generateQueryTransformer(graphqlDsl, def, importContext) {
51
65
  const eachFieldHandling = queryTransformerStatements.join('\n');
52
66
  const queryTransformerFunctionsImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.QUERY_TRANSFORMER_IDENTIFIER);
53
67
  return (0, deindent_1.default) `
54
- export function ${constants_2.GET_QUERY_TRANSFORMER_IDENTIFIER}(fieldName: string): ${queryTransformerFunctionsImport} {
68
+ export function ${constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}(fieldName: string): ${queryTransformerFunctionsImport} {
55
69
  ${eachFieldHandling}
56
70
  }
57
71
  `;
58
72
  }
59
- exports.generateQueryTransformer = generateQueryTransformer;
73
+ exports.generateQueryTransformerForFields = generateQueryTransformerForFields;
74
+ function generateQueryTransformerForQueryReturnTypes(schema, importContext) {
75
+ const queryType = schema.getQueryType();
76
+ if (queryType === null || queryType === undefined) {
77
+ return '';
78
+ }
79
+ // Get the list of potential query return types
80
+ let queryReturnTypes = Object.values(queryType.getFields()).reduce((acc, queryField) => {
81
+ const queryReturnTypeName = queryField.type.name;
82
+ return [queryReturnTypeName, ...acc];
83
+ }, []);
84
+ queryReturnTypes = [...new Set(queryReturnTypes)];
85
+ const queryTransformerStatements = queryReturnTypes
86
+ .map((typeName) => {
87
+ const schemaType = schema.getType(typeName);
88
+ if (schemaType !== undefined &&
89
+ schemaType !== null &&
90
+ schemaType.astNode !== undefined &&
91
+ schemaType.astNode !== null &&
92
+ (schemaType.astNode.kind === 'InterfaceTypeDefinition' ||
93
+ schemaType.astNode.kind === 'ObjectTypeDefinition')) {
94
+ const getQueryTransformerImport = importContext.importGraphQLArtifact(typeName, constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER);
95
+ const getMinimumFieldsImport = importContext.importGraphQLArtifact(typeName, constants_2.GET_MINIMUM_FIELDS_IDENTIFIER);
96
+ return (0, deindent_1.default) `
97
+ if (typeName === '${typeName}') {
98
+ return {
99
+ ${constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}: ${getQueryTransformerImport},
100
+ ${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}: ${getMinimumFieldsImport}
101
+ };
102
+ }
103
+ `;
104
+ }
105
+ return '';
106
+ })
107
+ .filter((statement) => statement !== '');
108
+ // default return when type is not defined in the schema
109
+ queryTransformerStatements.push('return undefined;');
110
+ const eachTypeHandling = queryTransformerStatements.join('\n');
111
+ const queryTransformerFunctionsImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.QUERY_TRANSFORMER_IDENTIFIER);
112
+ return (0, deindent_1.default) `
113
+ export function ${constants_2.GET_QUERY_TRANSFORMER_FOR_TYPE_IDENTIFIER}(typeName: string): ${queryTransformerFunctionsImport} {
114
+ ${eachTypeHandling}
115
+ }
116
+ `;
117
+ }
118
+ exports.generateQueryTransformerForQueryReturnTypes = generateQueryTransformerForQueryReturnTypes;
60
119
  function generateGetMinimumFields(isQueryType, def) {
61
120
  const idNode = (0, key_1.findIdNode)(def);
62
121
  const minFieldStatements = isQueryType
@@ -87,10 +146,14 @@ function generate(graphqlDsl, typeName, def, importContext, _metadata) {
87
146
  var _a;
88
147
  const { schema } = graphqlDsl;
89
148
  const isQueryType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName;
90
- const queryTransformer = generateQueryTransformer(graphqlDsl, def, importContext);
149
+ const queryTransformerForFields = generateQueryTransformerForFields(graphqlDsl, def, importContext);
150
+ const queryTransformerForAllTypes = isQueryType
151
+ ? generateQueryTransformerForQueryReturnTypes(schema, importContext)
152
+ : '';
91
153
  const minimumFields = generateGetMinimumFields(isQueryType, def);
92
154
  return (0, deindent_1.default) `
93
- ${queryTransformer}
155
+ ${queryTransformerForFields}
156
+ ${queryTransformerForAllTypes}
94
157
  ${minimumFields}
95
158
  `;
96
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/query-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/query-transformer.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ function selectListType(field, typeNode, importContext, normalizableTypeMap) {
21
21
  if (isScalar) {
22
22
  return (0, deindent_1.default) `
23
23
  if (${constants_3.FIELD_DATA_IDENTIFIER} !== undefined) {
24
- reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, source[${constants_3.FIELD_KEY_IDENTIFIER}]);
24
+ reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, ${constants_3.FIELD_DATA_IDENTIFIER});
25
25
  }
26
26
  `;
27
27
  }
@@ -65,19 +65,20 @@ function selectNamedType(field, typeNode, importContext, normalizableTypeMap) {
65
65
  const namedTypeSelect = importContext.importGraphQLArtifact(typeNode.name.value, 'select');
66
66
  const namedTypePartialInterface = importContext.importGraphQLArtifact(typeNode.name.value, 'PartialInterface');
67
67
  return (0, deindent_1.default) `
68
- const ${resolvedLinkIdentifier} = reader.read({
69
- recordId: ${constants_3.FIELD_DATA_IDENTIFIER}.__ref,
70
- node: {
71
- kind: 'Fragment',
72
- private: [],
73
- opaque: true
74
- },
75
- variables: {}
76
- });
77
- if (${resolvedLinkIdentifier}.data !== undefined) {
78
- const result = ${namedTypeSelect}(sel, variables, fragments)(${resolvedLinkIdentifier}.data as ${namedTypePartialInterface}, reader);
79
- reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, result);
80
- }`;
68
+ const ${resolvedLinkIdentifier} = reader.read({
69
+ recordId: ${constants_3.FIELD_DATA_IDENTIFIER}.__ref,
70
+ node: {
71
+ kind: 'Fragment',
72
+ private: [],
73
+ opaque: true
74
+ },
75
+ variables: {}
76
+ });
77
+ if (${resolvedLinkIdentifier}.data !== undefined) {
78
+ const result = ${namedTypeSelect}(sel, variables, fragments)(${resolvedLinkIdentifier}.data as ${namedTypePartialInterface}, reader);
79
+ reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, result);
80
+ }
81
+ `;
81
82
  }
82
83
  function selectType(field, typeNode, importContext, normalizableTypeMap) {
83
84
  switch (typeNode.kind) {
@@ -109,11 +110,11 @@ function generateSelect(graphqlDsl, typeName, def, importContext, _metadata) {
109
110
  }
110
111
  const body = selectType(field, field.type, importContext, normalizableTypeMap);
111
112
  return (0, deindent_1.default) `
112
- case '${fieldName}': {
113
- ${body}
114
- break;
115
- }
116
- `;
113
+ case '${fieldName}': {
114
+ ${body}
115
+ break;
116
+ }
117
+ `;
117
118
  })
118
119
  .join('\n');
119
120
  const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName
@@ -127,7 +128,7 @@ function generateSelect(graphqlDsl, typeName, def, importContext, _metadata) {
127
128
  // Get Key for Field (use util)
128
129
  const ${constants_3.SINK_IDENTIFIER}: any = {}
129
130
  const ${constants_3.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(sel, variables);
130
- const ${constants_3.FIELD_DATA_IDENTIFIER} = source[${constants_3.FIELD_KEY_IDENTIFIER}];
131
+ const ${constants_3.FIELD_DATA_IDENTIFIER} = source.data[${constants_3.FIELD_KEY_IDENTIFIER}];
131
132
  const ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER} = sel.alias ? sel.alias.value : sel.name.value;
132
133
  switch(sel.name.value) {
133
134
  ${fieldSelectionCaseStatements}
@@ -172,8 +173,10 @@ function generateSelect(graphqlDsl, typeName, def, importContext, _metadata) {
172
173
  }
173
174
  exports.generateSelect = generateSelect;
174
175
  function generateSelectScalar() {
175
- return `if(source[${constants_3.FIELD_KEY_IDENTIFIER}] !== undefined) {
176
- reader.assignScalar(${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, ${constants_3.SINK_IDENTIFIER}, source[${constants_3.FIELD_KEY_IDENTIFIER}]);
177
- }`;
176
+ return (0, deindent_1.default) `
177
+ if(${constants_3.FIELD_DATA_IDENTIFIER} !== undefined) {
178
+ reader.assignScalar(${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, ${constants_3.SINK_IDENTIFIER}, ${constants_3.FIELD_DATA_IDENTIFIER});
179
+ }
180
+ `;
178
181
  }
179
182
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/select.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import type { GraphQLAnnotation } from '../../../intermediate/graphql-annotation';
2
2
  import type { GraphQLTypeExtension } from '../../../intermediate/graphql';
3
+ import type { ModelInfo } from '../../../main';
3
4
  export declare function isTypeExtensionDefined(typeNameToExtensions: GraphQLAnnotation['typeNameToExtensions'] | undefined, graphqlTypeName: string, extensionName: keyof GraphQLTypeExtension): boolean;
5
+ export declare function getRamlTypeName(typeNameToExtensions: GraphQLAnnotation['typeNameToExtensions'] | undefined, graphqlTypeName: string): string | undefined;
6
+ export declare function getRamlFieldName(typeNameToExtensions: GraphQLAnnotation['typeNameToExtensions'] | undefined, graphqlTypeName: string, graphqlFieldName: string): string | undefined;
7
+ export declare function getRamlTypeIdByName(ramlTypeName: string, modelInfo: ModelInfo): string | undefined;
@@ -1,10 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTypeExtensionDefined = void 0;
3
+ exports.getRamlTypeIdByName = exports.getRamlFieldName = exports.getRamlTypeName = exports.isTypeExtensionDefined = void 0;
4
4
  function isTypeExtensionDefined(typeNameToExtensions, graphqlTypeName, extensionName) {
5
5
  return (typeNameToExtensions !== undefined &&
6
6
  typeNameToExtensions[graphqlTypeName] !== undefined &&
7
7
  typeNameToExtensions[graphqlTypeName][extensionName] !== undefined);
8
8
  }
9
9
  exports.isTypeExtensionDefined = isTypeExtensionDefined;
10
+ function getRamlTypeName(typeNameToExtensions, graphqlTypeName) {
11
+ const extensionName = 'ramlMapping';
12
+ if (!isTypeExtensionDefined(typeNameToExtensions, graphqlTypeName, extensionName)) {
13
+ return undefined;
14
+ }
15
+ return typeNameToExtensions[graphqlTypeName][extensionName].ramlType;
16
+ }
17
+ exports.getRamlTypeName = getRamlTypeName;
18
+ function getRamlFieldName(typeNameToExtensions, graphqlTypeName, graphqlFieldName) {
19
+ const extensionName = 'ramlMapping';
20
+ if (!isTypeExtensionDefined(typeNameToExtensions, graphqlTypeName, extensionName)) {
21
+ return undefined;
22
+ }
23
+ const graphQLToRamlPropertyMapping = typeNameToExtensions[graphqlTypeName][extensionName].graphQLToRamlPropertyMapping;
24
+ if (graphqlFieldName in graphQLToRamlPropertyMapping) {
25
+ return graphQLToRamlPropertyMapping[graphqlFieldName];
26
+ }
27
+ return undefined;
28
+ }
29
+ exports.getRamlFieldName = getRamlFieldName;
30
+ function getRamlTypeIdByName(ramlTypeName, modelInfo) {
31
+ const { declaredShapeDefinitions } = modelInfo;
32
+ if (declaredShapeDefinitions === undefined) {
33
+ return undefined;
34
+ }
35
+ for (const ramlTypeDefinition of Object.values(declaredShapeDefinitions)) {
36
+ if (ramlTypeDefinition === undefined) {
37
+ continue;
38
+ }
39
+ if (ramlTypeDefinition.name === ramlTypeName) {
40
+ return ramlTypeDefinition.id;
41
+ }
42
+ }
43
+ return undefined;
44
+ }
45
+ exports.getRamlTypeIdByName = getRamlTypeIdByName;
10
46
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/utils.ts"],"names":[],"mappings":";;;AAGA,SAAgB,sBAAsB,CAClC,oBAA2E,EAC3E,eAAuB,EACvB,aAAyC;IAEzC,OAAO,CACH,oBAAoB,KAAK,SAAS;QAClC,oBAAoB,CAAC,eAAe,CAAC,KAAK,SAAS;QACnD,oBAAoB,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,KAAK,SAAS,CACrE,CAAC;AACN,CAAC;AAVD,wDAUC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/utils.ts"],"names":[],"mappings":";;;AAIA,SAAgB,sBAAsB,CAClC,oBAA2E,EAC3E,eAAuB,EACvB,aAAyC;IAEzC,OAAO,CACH,oBAAoB,KAAK,SAAS;QAClC,oBAAoB,CAAC,eAAe,CAAC,KAAK,SAAS;QACnD,oBAAoB,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,KAAK,SAAS,CACrE,CAAC;AACN,CAAC;AAVD,wDAUC;AAED,SAAgB,eAAe,CAC3B,oBAA2E,EAC3E,eAAuB;IAEvB,MAAM,aAAa,GAAG,aAAa,CAAC;IACpC,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE;QAC/E,OAAO,SAAS,CAAC;KACpB;IACD,OAAO,oBAAqB,CAAC,eAAe,CAAC,CAAC,aAAa,CAAE,CAAC,QAAQ,CAAC;AAC3E,CAAC;AATD,0CASC;AAED,SAAgB,gBAAgB,CAC5B,oBAA2E,EAC3E,eAAuB,EACvB,gBAAwB;IAExB,MAAM,aAAa,GAAG,aAAa,CAAC;IACpC,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE;QAC/E,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,4BAA4B,GAC9B,oBAAqB,CAAC,eAAe,CAAC,CAAC,aAAa,CAAE,CAAC,4BAA4B,CAAC;IACxF,IAAI,gBAAgB,IAAI,4BAA4B,EAAE;QAClD,OAAO,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;KACzD;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAfD,4CAeC;AAED,SAAgB,mBAAmB,CAC/B,YAAoB,EACpB,SAAoB;IAEpB,MAAM,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAC;IAC/C,IAAI,wBAAwB,KAAK,SAAS,EAAE;QACxC,OAAO,SAAS,CAAC;KACpB;IACD,KAAK,MAAM,kBAAkB,IAAI,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE;QACtE,IAAI,kBAAkB,KAAK,SAAS,EAAE;YAClC,SAAS;SACZ;QACD,IAAI,kBAAkB,CAAC,IAAI,KAAK,YAAY,EAAE;YAC1C,OAAO,kBAAkB,CAAC,EAAE,CAAC;SAChC;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAjBD,kDAiBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luvio/compiler",
3
- "version": "0.93.0",
3
+ "version": "0.94.0",
4
4
  "description": "Luvio Compiler",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",
@@ -31,11 +31,11 @@
31
31
  "resources/"
32
32
  ],
33
33
  "dependencies": {
34
- "@luvio/graphql-parser": "0.93.0",
34
+ "@luvio/graphql-parser": "0.94.0",
35
35
  "amf-client-js": "4.2.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@luvio/adapter-test-library": "0.93.0",
39
- "@luvio/engine": "0.93.0"
38
+ "@luvio/adapter-test-library": "0.94.0",
39
+ "@luvio/engine": "0.94.0"
40
40
  }
41
41
  }