@luvio/compiler 0.93.0 → 0.96.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 (166) hide show
  1. package/dist/codegen/adapter/adapter-key-builder.js +1 -1
  2. package/dist/codegen/adapter/adapter-key-builder.js.map +1 -1
  3. package/dist/codegen/adapter/adapter-network-cache-policy.js +3 -2
  4. package/dist/codegen/adapter/adapter-network-cache-policy.js.map +1 -1
  5. package/dist/codegen/adapter/adapter-network.js +1 -1
  6. package/dist/codegen/adapter/adapter-network.js.map +1 -1
  7. package/dist/codegen/adapter/adapter-notify-change.js +2 -2
  8. package/dist/codegen/adapter/adapter-notify-change.js.map +1 -1
  9. package/dist/codegen/adapter/adapter-prepare-request.js +1 -1
  10. package/dist/codegen/adapter/adapter-prepare-request.js.map +1 -1
  11. package/dist/codegen/adapter/delete/adapter-network.js +1 -1
  12. package/dist/codegen/adapter/delete/adapter-network.js.map +1 -1
  13. package/dist/codegen/adapter/graphql/adapter-config-interface.js +1 -1
  14. package/dist/codegen/adapter/graphql/adapter-config-interface.js.map +1 -1
  15. package/dist/codegen/adapter/graphql/adapter-config-transformer.js +1 -1
  16. package/dist/codegen/adapter/graphql/adapter-config-transformer.js.map +1 -1
  17. package/dist/codegen/adapter/patch-post/adapter-network.js +1 -1
  18. package/dist/codegen/adapter/patch-post/adapter-network.js.map +1 -1
  19. package/dist/codegen/adapter-tests/expected-responses.js +1 -1
  20. package/dist/codegen/graphql/directive/apply-to-selection.d.ts +6 -0
  21. package/dist/codegen/graphql/directive/apply-to-selection.js +37 -0
  22. package/dist/codegen/graphql/directive/apply-to-selection.js.map +1 -0
  23. package/dist/codegen/graphql/directive/defaults/include-apply-to-selection.d.ts +2 -0
  24. package/dist/codegen/graphql/directive/defaults/include-apply-to-selection.js +28 -0
  25. package/dist/codegen/graphql/directive/defaults/include-apply-to-selection.js.map +1 -0
  26. package/dist/codegen/graphql/directive/defaults/skip-apply-to-selection.d.ts +2 -0
  27. package/dist/codegen/graphql/directive/defaults/skip-apply-to-selection.js +28 -0
  28. package/dist/codegen/graphql/directive/defaults/skip-apply-to-selection.js.map +1 -0
  29. package/dist/codegen/graphql/directive/index.d.ts +5 -0
  30. package/dist/codegen/graphql/directive/index.js +17 -0
  31. package/dist/codegen/graphql/directive/index.js.map +1 -0
  32. package/dist/codegen/graphql/directive/util.d.ts +7 -0
  33. package/dist/codegen/graphql/directive/util.js +51 -0
  34. package/dist/codegen/graphql/directive/util.js.map +1 -0
  35. package/dist/codegen/graphql/interface/index.js +2 -0
  36. package/dist/codegen/graphql/interface/index.js.map +1 -1
  37. package/dist/codegen/graphql/interface/ingest.js +3 -3
  38. package/dist/codegen/graphql/interface/ingest.js.map +1 -1
  39. package/dist/codegen/graphql/interface/interface.js +1 -1
  40. package/dist/codegen/graphql/interface/interface.js.map +1 -1
  41. package/dist/codegen/graphql/interface/query-transformer.js +1 -1
  42. package/dist/codegen/graphql/interface/query-transformer.js.map +1 -1
  43. package/dist/codegen/graphql/interface/select.js +5 -5
  44. package/dist/codegen/graphql/interface/select.js.map +1 -1
  45. package/dist/codegen/graphql/interface/type-cache-keys.d.ts +5 -0
  46. package/dist/codegen/graphql/interface/type-cache-keys.js +36 -0
  47. package/dist/codegen/graphql/interface/type-cache-keys.js.map +1 -0
  48. package/dist/codegen/graphql/source-printer/graphql-directive-source-printer.d.ts +20 -0
  49. package/dist/codegen/graphql/source-printer/graphql-directive-source-printer.js +40 -0
  50. package/dist/codegen/graphql/source-printer/graphql-directive-source-printer.js.map +1 -0
  51. package/dist/codegen/graphql/source-printer/graphql-source-printer.d.ts +3 -2
  52. package/dist/codegen/graphql/source-printer/graphql-source-printer.js +3 -1
  53. package/dist/codegen/graphql/source-printer/graphql-source-printer.js.map +1 -1
  54. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.d.ts +0 -1
  55. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js +5 -5
  56. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js.map +1 -1
  57. package/dist/codegen/graphql/source-printer/index.d.ts +3 -1
  58. package/dist/codegen/graphql/source-printer/index.js +4 -1
  59. package/dist/codegen/graphql/source-printer/index.js.map +1 -1
  60. package/dist/codegen/graphql/type/constants.d.ts +5 -2
  61. package/dist/codegen/graphql/type/constants.js +6 -3
  62. package/dist/codegen/graphql/type/constants.js.map +1 -1
  63. package/dist/codegen/graphql/type/generateTypeUtil.js +67 -65
  64. package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
  65. package/dist/codegen/graphql/type/index.d.ts +2 -1
  66. package/dist/codegen/graphql/type/index.js +4 -2
  67. package/dist/codegen/graphql/type/index.js.map +1 -1
  68. package/dist/codegen/graphql/type/ingest.d.ts +3 -2
  69. package/dist/codegen/graphql/type/ingest.js +114 -44
  70. package/dist/codegen/graphql/type/ingest.js.map +1 -1
  71. package/dist/codegen/graphql/type/interface.js +1 -1
  72. package/dist/codegen/graphql/type/interface.js.map +1 -1
  73. package/dist/codegen/graphql/type/key.js +3 -2
  74. package/dist/codegen/graphql/type/key.js.map +1 -1
  75. package/dist/codegen/graphql/type/merge.js +4 -2
  76. package/dist/codegen/graphql/type/merge.js.map +1 -1
  77. package/dist/codegen/graphql/type/query-transformer.d.ts +3 -2
  78. package/dist/codegen/graphql/type/query-transformer.js +93 -30
  79. package/dist/codegen/graphql/type/query-transformer.js.map +1 -1
  80. package/dist/codegen/graphql/type/select.js +40 -30
  81. package/dist/codegen/graphql/type/select.js.map +1 -1
  82. package/dist/codegen/graphql/type/type-cache-keys.d.ts +9 -0
  83. package/dist/codegen/graphql/type/type-cache-keys.js +182 -0
  84. package/dist/codegen/graphql/type/type-cache-keys.js.map +1 -0
  85. package/dist/codegen/graphql/type/utils.d.ts +4 -0
  86. package/dist/codegen/graphql/type/utils.js +37 -1
  87. package/dist/codegen/graphql/type/utils.js.map +1 -1
  88. package/dist/codegen/graphql/union/index.d.ts +2 -1
  89. package/dist/codegen/graphql/union/index.js +8 -1
  90. package/dist/codegen/graphql/union/index.js.map +1 -1
  91. package/dist/codegen/graphql/union/ingest.d.ts +6 -0
  92. package/dist/codegen/graphql/union/ingest.js +48 -0
  93. package/dist/codegen/graphql/union/ingest.js.map +1 -0
  94. package/dist/codegen/graphql/union/interface.js +3 -1
  95. package/dist/codegen/graphql/union/interface.js.map +1 -1
  96. package/dist/codegen/graphql/union/select.d.ts +7 -0
  97. package/dist/codegen/graphql/union/select.js +45 -0
  98. package/dist/codegen/graphql/union/select.js.map +1 -0
  99. package/dist/codegen/graphql/union/type-cache-keys.d.ts +5 -0
  100. package/dist/codegen/graphql/union/type-cache-keys.js +36 -0
  101. package/dist/codegen/graphql/union/type-cache-keys.js.map +1 -0
  102. package/dist/codegen/graphql/utils/types.js +3 -2
  103. package/dist/codegen/graphql/utils/types.js.map +1 -1
  104. package/dist/codegen/resource/composite/ingest-success-child-resource-params.js +1 -1
  105. package/dist/codegen/resource/composite/ingest-success-child-resource-params.js.map +1 -1
  106. package/dist/codegen/resource/composite/ingest-success.js +1 -1
  107. package/dist/codegen/resource/composite/ingest-success.js.map +1 -1
  108. package/dist/codegen/resource/composite/response-child-cache-keys.js +3 -3
  109. package/dist/codegen/resource/composite/response-child-cache-keys.js.map +1 -1
  110. package/dist/codegen/resource/composite/select-child-resource-params.js +2 -2
  111. package/dist/codegen/resource/composite/select-child-resource-params.js.map +1 -1
  112. package/dist/codegen/resource/evict-success.js +1 -1
  113. package/dist/codegen/resource/evict-success.js.map +1 -1
  114. package/dist/codegen/resource/graphql/ingest-error.js +1 -1
  115. package/dist/codegen/resource/graphql/ingest-error.js.map +1 -1
  116. package/dist/codegen/resource/graphql/ingest-success.js +1 -1
  117. package/dist/codegen/resource/graphql/ingest-success.js.map +1 -1
  118. package/dist/codegen/resource/graphql/key-builder.js +2 -1
  119. package/dist/codegen/resource/graphql/key-builder.js.map +1 -1
  120. package/dist/codegen/resource/graphql/resource-params.js +1 -1
  121. package/dist/codegen/resource/graphql/resource-params.js.map +1 -1
  122. package/dist/codegen/resource/graphql/response-cache-keys.js +5 -3
  123. package/dist/codegen/resource/graphql/response-cache-keys.js.map +1 -1
  124. package/dist/codegen/resource/ingest-error.js +1 -1
  125. package/dist/codegen/resource/ingest-error.js.map +1 -1
  126. package/dist/codegen/resource/ingest-success.js +2 -2
  127. package/dist/codegen/resource/ingest-success.js.map +1 -1
  128. package/dist/codegen/resource/key-builder.js +2 -2
  129. package/dist/codegen/resource/key-builder.js.map +1 -1
  130. package/dist/codegen/resource/response-cache-keys.js +6 -6
  131. package/dist/codegen/resource/response-cache-keys.js.map +1 -1
  132. package/dist/codegen/shape/graphql/index.js +2 -2
  133. package/dist/codegen/shape/graphql/index.js.map +1 -1
  134. package/dist/codegen/shape/graphql/key-builder.js +1 -1
  135. package/dist/codegen/shape/graphql/key-builder.js.map +1 -1
  136. package/dist/codegen/shape/graphql/shape-cache-keys.d.ts +3 -0
  137. package/dist/codegen/shape/graphql/shape-cache-keys.js +58 -0
  138. package/dist/codegen/shape/graphql/shape-cache-keys.js.map +1 -0
  139. package/dist/codegen/shape/graphql/shape-ingest.js +10 -7
  140. package/dist/codegen/shape/graphql/shape-ingest.js.map +1 -1
  141. package/dist/codegen/shape/graphql/shape-select.js +3 -3
  142. package/dist/codegen/shape/graphql/shape-select.js.map +1 -1
  143. package/dist/codegen/shape/graphql/shape-type-definition.js +1 -1
  144. package/dist/codegen/shape/graphql/shape-type-definition.js.map +1 -1
  145. package/dist/codegen/shape/shape-cache-keys.js +6 -6
  146. package/dist/codegen/shape/shape-cache-keys.js.map +1 -1
  147. package/dist/codegen/shape/shape-keybuilder.js +10 -9
  148. package/dist/codegen/shape/shape-keybuilder.js.map +1 -1
  149. package/dist/codegen/shape/shape-utils-ingest.js +1 -1
  150. package/dist/codegen/shape/shape-utils-ingest.js.map +1 -1
  151. package/dist/codegen/shared/constants.d.ts +1 -0
  152. package/dist/codegen/shared/constants.js +2 -1
  153. package/dist/codegen/shared/constants.js.map +1 -1
  154. package/dist/interfaces/index.d.ts +2 -2
  155. package/dist/interfaces/source-printers/graphql/graphql-directive-printer.d.ts +11 -0
  156. package/dist/interfaces/source-printers/graphql/graphql-directive-printer.js +3 -0
  157. package/dist/interfaces/source-printers/graphql/graphql-directive-printer.js.map +1 -0
  158. package/dist/interfaces/source-printers/index.d.ts +2 -1
  159. package/dist/main.d.ts +1 -1
  160. package/dist/main.js +2 -1
  161. package/dist/main.js.map +1 -1
  162. package/dist/plugin.d.ts +3 -2
  163. package/dist/utils/imports.d.ts +1 -1
  164. package/dist/utils/imports.js +26 -9
  165. package/dist/utils/imports.js.map +1 -1
  166. package/package.json +4 -4
@@ -13,10 +13,10 @@ function generateSelectFromDef(graphQLSchema, interfaceType, importContext) {
13
13
  const selectStatements = graphQLSchema
14
14
  .getImplementations(interfaceType)
15
15
  .objects.map((object) => {
16
- const objectPartialInterfaceAlias = importContext.importGraphQLArtifact(object.name, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
16
+ const objectPartialInterfaceAlias = importContext.importGraphQLArtifact('types', object.name, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
17
17
  return (0, deindent_1.default) `
18
18
  if(typename === '${object.name}') {
19
- return ${importContext.importGraphQLArtifact(object.name, 'select')}(field, variables, fragments)(source as ${objectPartialInterfaceAlias}, reader)
19
+ return ${importContext.importGraphQLArtifact('types', object.name, 'select')}(field, variables, fragments)(source as ${objectPartialInterfaceAlias}, reader)
20
20
  }`;
21
21
  });
22
22
  return selectStatements.join('\n');
@@ -32,12 +32,12 @@ function generateSelect(graphqlDsl, typeName, def, importContext, _metadata) {
32
32
  const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName
33
33
  ? constants_2.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
34
34
  : constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
35
- const graphqlVariablesImport = importContext.importGraphQLArtifact(constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_VARIABLES_IDENTIFIER);
36
- const fragmentMapImport = importContext.importGraphQLArtifact(constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER);
35
+ const graphqlVariablesImport = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_VARIABLES_IDENTIFIER);
36
+ const fragmentMapImport = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER);
37
37
  return (0, deindent_1.default) `
38
38
  export function select(field: ${astNodeParamType}, variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport}) {
39
39
  return (source: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>): ${interface_1.PARTIAL_INTERFACE_IDENTIFIER} => {
40
- const typename = source.__typename;
40
+ const typename = source.data.__typename;
41
41
  ${generateSelectFromDef(schema, type, importContext)}
42
42
  }
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/select.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,uDAAgE;AAOhE,sDAGgC;AAGhC,iDAI2B;AAC3B,2CAA2D;AAE3D,SAAgB,qBAAqB,CACjC,aAA4B,EAC5B,aAAmC,EACnC,aAA4B;IAE5B,MAAM,gBAAgB,GAAG,aAAa;SACjC,kBAAkB,CAAC,aAAa,CAAC;SACjC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACpB,MAAM,2BAA2B,GAAG,aAAa,CAAC,qBAAqB,CACnE,MAAM,CAAC,IAAI,EACX,wCAA4B,CAC/B,CAAC;QACF,OAAO,IAAA,kBAAQ,EAAA;mCACQ,MAAM,CAAC,IAAI;6BACjB,aAAa,CAAC,qBAAqB,CACxC,MAAM,CAAC,IAAI,EACX,QAAQ,CACX,2CAA2C,2BAA2B;kBACzE,CAAC;IACX,CAAC,CAAC,CAAC;IAEP,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAtBD,sDAsBC;AAED,SAAgB,cAAc,CAC1B,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,EAAE,CAAC;KACb;IACD,MAAM,gBAAgB,GAClB,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ;QACpC,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAC1C,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CACzD,gCAAoB,EACpB,2CAA+B,CAClC,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;wCACqB,gBAAgB,gBAAgB,sBAAsB,gBAAgB,iBAAiB;8BACjG,wCAA4B,aAAa,iCAAqB,WAAW,wCAA4B;;kBAEjH,qBAAqB,CAAC,MAAM,EAAE,IAA4B,EAAE,aAAa,CAAC;;;KAGvF,CAAC;AACN,CAAC;AAhCD,wCAgCC"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/select.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,uDAAgE;AAOhE,sDAGgC;AAGhC,iDAI2B;AAC3B,2CAA2D;AAE3D,SAAgB,qBAAqB,CACjC,aAA4B,EAC5B,aAAmC,EACnC,aAA4B;IAE5B,MAAM,gBAAgB,GAAG,aAAa;SACjC,kBAAkB,CAAC,aAAa,CAAC;SACjC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACpB,MAAM,2BAA2B,GAAG,aAAa,CAAC,qBAAqB,CACnE,OAAO,EACP,MAAM,CAAC,IAAI,EACX,wCAA4B,CAC/B,CAAC;QACF,OAAO,IAAA,kBAAQ,EAAA;mCACQ,MAAM,CAAC,IAAI;6BACjB,aAAa,CAAC,qBAAqB,CACxC,OAAO,EACP,MAAM,CAAC,IAAI,EACX,QAAQ,CACX,2CAA2C,2BAA2B;kBACzE,CAAC;IACX,CAAC,CAAC,CAAC;IAEP,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAxBD,sDAwBC;AAED,SAAgB,cAAc,CAC1B,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,EAAE,CAAC;KACb;IACD,MAAM,gBAAgB,GAClB,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ;QACpC,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAC1C,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,OAAO,EACP,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CACzD,OAAO,EACP,gCAAoB,EACpB,2CAA+B,CAClC,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;wCACqB,gBAAgB,gBAAgB,sBAAsB,gBAAgB,iBAAiB;8BACjG,wCAA4B,aAAa,iCAAqB,WAAW,wCAA4B;;kBAEjH,qBAAqB,CAAC,MAAM,EAAE,IAA4B,EAAE,aAAa,CAAC;;;KAGvF,CAAC;AACN,CAAC;AAlCD,wCAkCC"}
@@ -0,0 +1,5 @@
1
+ import type { InterfaceTypeDefinitionNode } from '@luvio/graphql-parser';
2
+ import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
3
+ import type { ImportContext } from '../../../utils/imports';
4
+ import type { GraphQLCodegenMetadata } from '../source-printer';
5
+ export declare function generateGetTypeCacheKeys(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, interfaceType: InterfaceTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateGetTypeCacheKeys = void 0;
4
+ const constants_1 = require("../../shared/constants");
5
+ const constants_2 = require("../type/constants");
6
+ const interface_1 = require("./interface");
7
+ function generateGetCacheKeysFromDef(graphQLSchema, interfaceType, importContext) {
8
+ const type = graphQLSchema.getType(interfaceType.name.value);
9
+ const graphqlStateInterface = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_STATE_INTERFACE_IDENTIFIER);
10
+ const selectStatements = graphQLSchema.getImplementations(type).objects.map((object) => {
11
+ const partialInterfaceIdentifier = importContext.importGraphQLArtifact('types', object.name, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
12
+ const getCacheKeysImport = importContext.importGraphQLArtifact('types', object.name, 'getTypeCacheKeys');
13
+ return `if(typename === '${object.name}') {
14
+ return ${getCacheKeysImport}(${constants_1.LUVIO_IDENTIFIER}, astNode, state as ${graphqlStateInterface}< ${partialInterfaceIdentifier}>)
15
+ }`;
16
+ });
17
+ return selectStatements.join('\n');
18
+ }
19
+ function generateGetTypeCacheKeys(graphqlDsl, graphqlTypeName, interfaceType, importContext, _metadata) {
20
+ var _a;
21
+ const { schema } = graphqlDsl;
22
+ const { importGraphQLArtifact } = importContext;
23
+ const graphqlStateInterface = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_STATE_INTERFACE_IDENTIFIER);
24
+ const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === graphqlTypeName
25
+ ? constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
26
+ : constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
27
+ const getCacheKeysStatements = generateGetCacheKeysFromDef(schema, interfaceType, importContext);
28
+ return `export function ${constants_2.TYPE_CACHE_KEYS_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}: ${constants_1.LUVIO_IMPORT}, astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>): ${constants_1.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} {
29
+ const { path, data } = state;
30
+ const typename = data.__typename;
31
+ ${getCacheKeysStatements}
32
+ return {};
33
+ }`;
34
+ }
35
+ exports.generateGetTypeCacheKeys = generateGetTypeCacheKeys;
36
+ //# sourceMappingURL=type-cache-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-cache-keys.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/type-cache-keys.ts"],"names":[],"mappings":";;;AAOA,sDAMgC;AAEhC,iDAI2B;AAC3B,2CAA2D;AAE3D,SAAS,2BAA2B,CAChC,aAA4B,EAC5B,aAA0C,EAC1C,aAA4B;IAE5B,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAyB,CAAC;IACrF,MAAM,qBAAqB,GAAG,aAAa,CAAC,qBAAqB,CAC7D,OAAO,EACP,gCAAoB,EACpB,8CAAkC,CACrC,CAAC;IACF,MAAM,gBAAgB,GAAG,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACnF,MAAM,0BAA0B,GAAG,aAAa,CAAC,qBAAqB,CAClE,OAAO,EACP,MAAM,CAAC,IAAI,EACX,wCAA4B,CAC/B,CAAC;QACF,MAAM,kBAAkB,GAAG,aAAa,CAAC,qBAAqB,CAC1D,OAAO,EACP,MAAM,CAAC,IAAI,EACX,kBAAkB,CACrB,CAAC;QACF,OAAO,oBAAoB,MAAM,CAAC,IAAI;6BACjB,kBAAkB,IAAI,4BAAgB,uBAAuB,qBAAqB,KAAK,0BAA0B;kBAC5H,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,wBAAwB,CACpC,UAA2B,EAC3B,eAAuB,EACvB,aAA0C,EAC1C,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAC;IAChD,MAAM,qBAAqB,GAAG,qBAAqB,CAC/C,OAAO,EACP,gCAAoB,EACpB,8CAAkC,CACrC,CAAC;IACF,MAAM,gBAAgB,GAClB,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,eAAe;QAC3C,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAE1C,MAAM,sBAAsB,GAAG,2BAA2B,CACtD,MAAM,EACN,aAAa,EACb,aAAa,CAChB,CAAC;IAEF,OAAO,mBAAmB,sCAA0B,IAAI,4BAAgB,KAAK,wBAAY,cAAc,gBAAgB,YAAY,qBAAqB,IAAI,wCAA4B,OAAO,iDAAqC;;;cAG1N,sBAAsB;;UAE1B,CAAC;AACX,CAAC;AA/BD,4DA+BC"}
@@ -0,0 +1,20 @@
1
+ /// <reference types="node" />
2
+ import type { GraphQLResource } from '../../../intermediate/resource';
3
+ import type { GraphQLCodegenMetadata } from './graphql-source-printer';
4
+ import path from 'path';
5
+ import type { ModelInfo } from '../../../main';
6
+ import type { CompilerPlugin } from '../../../plugin';
7
+ import type { GraphQLDirectivePrinter } from '../../../interfaces/source-printers/graphql/graphql-directive-printer';
8
+ import type { ImportContext } from '../../../utils/imports';
9
+ export declare class GraphQLDirectiveSourcePrinter implements GraphQLDirectivePrinter {
10
+ generate(graphQLResource: GraphQLResource, compilerBaseOutputDir: path.ParsedPath, metadata: GraphQLCodegenMetadata, _modelInfo: ModelInfo, plugin?: CompilerPlugin): {
11
+ [path: string]: string;
12
+ };
13
+ createGraphQLDirectiveImportContext(compilerBaseOutputDir: path.ParsedPath, defName: string, plugin?: CompilerPlugin): {
14
+ relPath: string;
15
+ importContext: ImportContext;
16
+ };
17
+ addDirectiveUtilModule(graphQLResource: GraphQLResource, compilerBaseOutputDir: path.ParsedPath, metadata: GraphQLCodegenMetadata, modules: {
18
+ [path: string]: string;
19
+ }, plugin?: CompilerPlugin): void;
20
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GraphQLDirectiveSourcePrinter = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const directive_1 = require("../directive");
9
+ const imports_1 = require("../../../utils/imports");
10
+ const _1 = require(".");
11
+ const util_1 = require("../directive/util");
12
+ const GRAPHQL_DIRECTIVES_DIRECTORY = 'directives';
13
+ class GraphQLDirectiveSourcePrinter {
14
+ generate(graphQLResource, compilerBaseOutputDir, metadata, _modelInfo, plugin) {
15
+ const { graphqlDSL } = graphQLResource;
16
+ const modules = {};
17
+ // Schema includes built-in directives (include/skip/deprecated/specifiedBy)
18
+ graphqlDSL.schema.getDirectives().forEach((directive) => {
19
+ const { importContext, relPath } = this.createGraphQLDirectiveImportContext(compilerBaseOutputDir, directive.name, plugin);
20
+ modules[relPath] = (0, directive_1.generateDirective)(graphqlDSL, directive, importContext, metadata);
21
+ });
22
+ this.addDirectiveUtilModule(graphQLResource, compilerBaseOutputDir, metadata, modules, plugin);
23
+ return modules;
24
+ }
25
+ createGraphQLDirectiveImportContext(compilerBaseOutputDir, defName, plugin) {
26
+ const graphqlRelPath = path_1.default.join(_1.GRAPHQL_OUTPUT_DIRECTORY, GRAPHQL_DIRECTIVES_DIRECTORY, `${defName}.ts`);
27
+ const shapeAbsPath = path_1.default.parse(path_1.default.resolve(path_1.default.format(compilerBaseOutputDir), graphqlRelPath));
28
+ return {
29
+ relPath: graphqlRelPath,
30
+ importContext: (0, imports_1.createImportContext)(shapeAbsPath, compilerBaseOutputDir, plugin),
31
+ };
32
+ }
33
+ addDirectiveUtilModule(graphQLResource, compilerBaseOutputDir, metadata, modules, plugin) {
34
+ const { importContext, relPath } = this.createGraphQLDirectiveImportContext(compilerBaseOutputDir, util_1.DIRECTIVE_UTIL_MODULE_IDENTIFIER, plugin);
35
+ const directiveUtil = (0, util_1.generateDirectiveUtil)(graphQLResource, metadata, importContext);
36
+ modules[relPath] = directiveUtil;
37
+ }
38
+ }
39
+ exports.GraphQLDirectiveSourcePrinter = GraphQLDirectiveSourcePrinter;
40
+ //# sourceMappingURL=graphql-directive-source-printer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-directive-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-directive-source-printer.ts"],"names":[],"mappings":";;;;;;AAEA,gDAAwB;AAKxB,4CAAiD;AAEjD,oDAA6D;AAC7D,wBAA6C;AAC7C,4CAA4F;AAE5F,MAAM,4BAA4B,GAAG,YAAY,CAAC;AAClD,MAAa,6BAA6B;IACtC,QAAQ,CACJ,eAAgC,EAChC,qBAAsC,EACtC,QAAgC,EAChC,UAAqB,EACrB,MAAuB;QAEvB,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC;QACvC,MAAM,OAAO,GAA+B,EAAE,CAAC;QAE/C,4EAA4E;QAC5E,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,SAA2B,EAAE,EAAE;YACtE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,mCAAmC,CACvE,qBAAqB,EACrB,SAAS,CAAC,IAAI,EACd,MAAM,CACT,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,GAAG,IAAA,6BAAiB,EAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CACvB,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,MAAM,CACT,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,mCAAmC,CAC/B,qBAAsC,EACtC,OAAe,EACf,MAAuB;QAEvB,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAC5B,2BAAwB,EACxB,4BAA4B,EAC5B,GAAG,OAAO,KAAK,CAClB,CAAC;QACF,MAAM,YAAY,GAAG,cAAI,CAAC,KAAK,CAC3B,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,cAAc,CAAC,CACnE,CAAC;QACF,OAAO;YACH,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,IAAA,6BAAmB,EAAC,YAAY,EAAE,qBAAqB,EAAE,MAAM,CAAC;SAClF,CAAC;IACN,CAAC;IAED,sBAAsB,CAClB,eAAgC,EAChC,qBAAsC,EACtC,QAAgC,EAChC,OAAmC,EACnC,MAAuB;QAEvB,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,mCAAmC,CACvE,qBAAqB,EACrB,uCAAgC,EAChC,MAAM,CACT,CAAC;QACF,MAAM,aAAa,GAAW,IAAA,4BAAqB,EAC/C,eAAe,EACf,QAAQ,EACR,aAAa,CAChB,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC;IACrC,CAAC;CACJ;AApED,sEAoEC"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import type { SourcePrinter, GraphQLTypePrinter, GraphQLResourcePrinter, GraphQLAdapterPrinter } from '../../../interfaces';
2
+ import type { SourcePrinter, GraphQLTypePrinter, GraphQLResourcePrinter, GraphQLAdapterPrinter, GraphQLDirectivePrinter } from '../../../interfaces';
3
3
  import type { ModelInfo } from '../../../main';
4
4
  import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
5
5
  import type path from 'path';
@@ -14,9 +14,10 @@ export declare class GraphQLSourcePrinter implements SourcePrinter {
14
14
  private typePrinter;
15
15
  private resourcePrinter;
16
16
  private adapterPrinter;
17
+ private directivePrinter;
17
18
  private compilerBaseOutputDir;
18
19
  private plugin;
19
- constructor(typePrinter: GraphQLTypePrinter, resourcePrinter: GraphQLResourcePrinter, adapterPrinter: GraphQLAdapterPrinter, compilerBaseOutputDir: path.ParsedPath, plugin: CompilerPlugin);
20
+ constructor(typePrinter: GraphQLTypePrinter, resourcePrinter: GraphQLResourcePrinter, adapterPrinter: GraphQLAdapterPrinter, directivePrinter: GraphQLDirectivePrinter, compilerBaseOutputDir: path.ParsedPath, plugin: CompilerPlugin);
20
21
  generateModules(modelInfo: ModelInfo): {
21
22
  [path: string]: string;
22
23
  };
@@ -9,10 +9,11 @@ const DEFAULT_GRAPHQL_SCALAR_TO_PRIMITIVE_MAP = {
9
9
  Float: 'number',
10
10
  };
11
11
  class GraphQLSourcePrinter {
12
- constructor(typePrinter, resourcePrinter, adapterPrinter, compilerBaseOutputDir, plugin) {
12
+ constructor(typePrinter, resourcePrinter, adapterPrinter, directivePrinter, compilerBaseOutputDir, plugin) {
13
13
  this.typePrinter = typePrinter;
14
14
  this.resourcePrinter = resourcePrinter;
15
15
  this.adapterPrinter = adapterPrinter;
16
+ this.directivePrinter = directivePrinter;
16
17
  this.compilerBaseOutputDir = compilerBaseOutputDir;
17
18
  this.plugin = plugin;
18
19
  }
@@ -27,6 +28,7 @@ class GraphQLSourcePrinter {
27
28
  ...this.typePrinter.generate(resource, this.compilerBaseOutputDir, metadata, modelInfo, this.plugin),
28
29
  ...this.resourcePrinter.generate(modelInfo, resource, this.compilerBaseOutputDir),
29
30
  ...this.adapterPrinter.generate(modelInfo, resource, this.compilerBaseOutputDir, this.plugin),
31
+ ...this.directivePrinter.generate(resource, this.compilerBaseOutputDir, metadata, modelInfo, this.plugin),
30
32
  ...modules,
31
33
  };
32
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-source-printer.ts"],"names":[],"mappings":";;;AAYA,MAAM,uCAAuC,GAA2B;IACpE,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,QAAQ;IACZ,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,QAAQ;CAClB,CAAC;AASF,MAAa,oBAAoB;IAC7B,YACY,WAA+B,EAC/B,eAAuC,EACvC,cAAqC,EACrC,qBAAsC,EACtC,MAAsB;QAJtB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,oBAAe,GAAf,eAAe,CAAwB;QACvC,mBAAc,GAAd,cAAc,CAAuB;QACrC,0BAAqB,GAArB,qBAAqB,CAAiB;QACtC,WAAM,GAAN,MAAM,CAAgB;IAC/B,CAAC;IAEJ,eAAe,CAAC,SAAoB;QAChC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;QAChC,IAAI,OAAO,GAA2B,EAAE,CAAC;QAEzC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;gBACrC,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC/D,OAAO,GAAG;oBACN,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CACxB,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAC1B,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,MAAM,CACd;oBACD,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAC5B,SAAS,EACT,QAAQ,EACR,IAAI,CAAC,qBAAqB,CAC7B;oBACD,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC3B,SAAS,EACT,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,MAAM,CACd;oBACD,GAAG,OAAO;iBACb,CAAC;aACL;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,SAAoB,EAAE,UAA2B;QAC/D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QACzC,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;QAErE,UAAU,CAAC,aAAa,CAAC,OAAO,CAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAC9D,CAAC;QAEF,OAAO;YACH,oBAAoB;YACpB,SAAS;YACT,OAAO;SACV,CAAC;IACN,CAAC;CACJ;AAzDD,oDAyDC"}
1
+ {"version":3,"file":"graphql-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-source-printer.ts"],"names":[],"mappings":";;;AAaA,MAAM,uCAAuC,GAA2B;IACpE,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,QAAQ;IACZ,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,QAAQ;CAClB,CAAC;AASF,MAAa,oBAAoB;IAC7B,YACY,WAA+B,EAC/B,eAAuC,EACvC,cAAqC,EACrC,gBAAyC,EACzC,qBAAsC,EACtC,MAAsB;QALtB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,oBAAe,GAAf,eAAe,CAAwB;QACvC,mBAAc,GAAd,cAAc,CAAuB;QACrC,qBAAgB,GAAhB,gBAAgB,CAAyB;QACzC,0BAAqB,GAArB,qBAAqB,CAAiB;QACtC,WAAM,GAAN,MAAM,CAAgB;IAC/B,CAAC;IAEJ,eAAe,CAAC,SAAoB;QAChC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;QAChC,IAAI,OAAO,GAA2B,EAAE,CAAC;QAEzC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;gBACrC,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC/D,OAAO,GAAG;oBACN,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CACxB,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAC1B,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,MAAM,CACd;oBACD,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAC5B,SAAS,EACT,QAAQ,EACR,IAAI,CAAC,qBAAqB,CAC7B;oBACD,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC3B,SAAS,EACT,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,MAAM,CACd;oBACD,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC7B,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAC1B,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,MAAM,CACd;oBACD,GAAG,OAAO;iBACb,CAAC;aACL;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,SAAoB,EAAE,UAA2B;QAC/D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QACzC,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;QAErE,UAAU,CAAC,aAAa,CAAC,OAAO,CAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAC9D,CAAC;QAEF,OAAO;YACH,oBAAoB;YACpB,SAAS;YACT,OAAO;SACV,CAAC;IACN,CAAC;CACJ;AAjED,oDAiEC"}
@@ -6,7 +6,6 @@ import type { GraphQLCodegenMetadata } from './graphql-source-printer';
6
6
  import type { GraphQLResource } from '../../../intermediate/resource';
7
7
  import type { ModelInfo } from '../../../main';
8
8
  import type { CompilerPlugin } from '../../../plugin';
9
- export declare const GRAPHQL_OUTPUT_DIRECTORY = "graphql";
10
9
  export declare const GRAPHQL_OBJECT_TYPENAME = "typeName";
11
10
  export declare type GraphQLTypeGenerationResult = Record<string, string>;
12
11
  export declare class GraphQLTypeSourcePrinter implements GraphQLTypePrinter {
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.GraphQLTypeSourcePrinter = exports.GRAPHQL_OBJECT_TYPENAME = exports.GRAPHQL_OUTPUT_DIRECTORY = void 0;
6
+ exports.GraphQLTypeSourcePrinter = exports.GRAPHQL_OBJECT_TYPENAME = void 0;
7
7
  const imports_1 = require("../../../utils/imports");
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const graphql_parser_1 = require("@luvio/graphql-parser");
@@ -14,7 +14,7 @@ const enum_1 = require("../enum");
14
14
  const utils_1 = require("../../../intermediate/utils");
15
15
  const graphql_1 = require("../../shape/graphql");
16
16
  const interface_1 = require("../interface");
17
- exports.GRAPHQL_OUTPUT_DIRECTORY = 'graphql';
17
+ const _1 = require(".");
18
18
  exports.GRAPHQL_OBJECT_TYPENAME = 'typeName';
19
19
  const GRAPHQL_TYPES_DIRECTORY = 'types';
20
20
  const TYPES_DIRECTORY_NAME = 'types';
@@ -37,13 +37,13 @@ class GraphQLTypeSourcePrinter {
37
37
  const { relPath, importContext } = this.createGraphQLTypeImportContext(compilerBaseOutputDir, typeDefinition.name);
38
38
  switch (kind) {
39
39
  case graphql_parser_1.Kind.OBJECT_TYPE_DEFINITION:
40
- modules[relPath] = (0, type_1.generateType)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
40
+ modules[relPath] = (0, type_1.generateType)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata, modelInfo);
41
41
  break;
42
42
  case graphql_parser_1.Kind.INTERFACE_TYPE_DEFINITION:
43
43
  modules[relPath] = (0, interface_1.generateInterfaceType)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
44
44
  break;
45
45
  case graphql_parser_1.Kind.UNION_TYPE_DEFINITION:
46
- modules[relPath] = (0, union_1.generate)(typeDefinition.name, typeDefinition.astNode, importContext, metadata);
46
+ modules[relPath] = (0, union_1.generate)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
47
47
  break;
48
48
  case graphql_parser_1.Kind.ENUM_TYPE_DEFINITION:
49
49
  modules[relPath] = (0, enum_1.generate)(typeDefinition.name, typeDefinition.astNode, importContext, metadata);
@@ -57,7 +57,7 @@ class GraphQLTypeSourcePrinter {
57
57
  return modules;
58
58
  }
59
59
  createGraphQLTypeImportContext(compilerBaseOutputDir, defName) {
60
- const graphqlRelPath = path_1.default.join(exports.GRAPHQL_OUTPUT_DIRECTORY, GRAPHQL_TYPES_DIRECTORY, `${defName}.ts`);
60
+ const graphqlRelPath = path_1.default.join(_1.GRAPHQL_OUTPUT_DIRECTORY, GRAPHQL_TYPES_DIRECTORY, `${defName}.ts`);
61
61
  const shapeAbsPath = path_1.default.parse(path_1.default.resolve(path_1.default.format(compilerBaseOutputDir), graphqlRelPath));
62
62
  return {
63
63
  relPath: graphqlRelPath,
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-type-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-type-source-printer.ts"],"names":[],"mappings":"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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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"}
@@ -1,5 +1,7 @@
1
1
  import { GraphQLAdapterSourcePrinter } from './graphql-adapter-source-printer';
2
+ import { GraphQLDirectiveSourcePrinter } from './graphql-directive-source-printer';
2
3
  import { GraphQLResourceSourcePrinter } from './graphql-resource-source-printer';
3
4
  import { GraphQLSourcePrinter, GraphQLCodegenMetadata } from './graphql-source-printer';
4
5
  import { GraphQLTypeSourcePrinter } from './graphql-type-source-printer';
5
- export { GraphQLSourcePrinter, GraphQLTypeSourcePrinter, GraphQLResourceSourcePrinter, GraphQLAdapterSourcePrinter, GraphQLCodegenMetadata, };
6
+ export declare const GRAPHQL_OUTPUT_DIRECTORY = "graphql";
7
+ export { GraphQLSourcePrinter, GraphQLTypeSourcePrinter, GraphQLResourceSourcePrinter, GraphQLAdapterSourcePrinter, GraphQLCodegenMetadata, GraphQLDirectiveSourcePrinter, };
@@ -1,12 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphQLAdapterSourcePrinter = exports.GraphQLResourceSourcePrinter = exports.GraphQLTypeSourcePrinter = exports.GraphQLSourcePrinter = void 0;
3
+ exports.GraphQLDirectiveSourcePrinter = exports.GraphQLAdapterSourcePrinter = exports.GraphQLResourceSourcePrinter = exports.GraphQLTypeSourcePrinter = exports.GraphQLSourcePrinter = exports.GRAPHQL_OUTPUT_DIRECTORY = void 0;
4
4
  const graphql_adapter_source_printer_1 = require("./graphql-adapter-source-printer");
5
5
  Object.defineProperty(exports, "GraphQLAdapterSourcePrinter", { enumerable: true, get: function () { return graphql_adapter_source_printer_1.GraphQLAdapterSourcePrinter; } });
6
+ const graphql_directive_source_printer_1 = require("./graphql-directive-source-printer");
7
+ Object.defineProperty(exports, "GraphQLDirectiveSourcePrinter", { enumerable: true, get: function () { return graphql_directive_source_printer_1.GraphQLDirectiveSourcePrinter; } });
6
8
  const graphql_resource_source_printer_1 = require("./graphql-resource-source-printer");
7
9
  Object.defineProperty(exports, "GraphQLResourceSourcePrinter", { enumerable: true, get: function () { return graphql_resource_source_printer_1.GraphQLResourceSourcePrinter; } });
8
10
  const graphql_source_printer_1 = require("./graphql-source-printer");
9
11
  Object.defineProperty(exports, "GraphQLSourcePrinter", { enumerable: true, get: function () { return graphql_source_printer_1.GraphQLSourcePrinter; } });
10
12
  const graphql_type_source_printer_1 = require("./graphql-type-source-printer");
11
13
  Object.defineProperty(exports, "GraphQLTypeSourcePrinter", { enumerable: true, get: function () { return graphql_type_source_printer_1.GraphQLTypeSourcePrinter; } });
14
+ exports.GRAPHQL_OUTPUT_DIRECTORY = 'graphql';
12
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/index.ts"],"names":[],"mappings":";;;AAAA,qFAA+E;AAQ3E,4GARK,4DAA2B,OAQL;AAP/B,uFAAiF;AAM7E,6GANK,8DAA4B,OAML;AALhC,qEAAwF;AAGpF,qGAHK,6CAAoB,OAGL;AAFxB,+EAAyE;AAGrE,yGAHK,sDAAwB,OAGL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/index.ts"],"names":[],"mappings":";;;AAAA,qFAA+E;AAW3E,4GAXK,4DAA2B,OAWL;AAV/B,yFAAmF;AAY/E,8GAZK,gEAA6B,OAYL;AAXjC,uFAAiF;AAQ7E,6GARK,8DAA4B,OAQL;AAPhC,qEAAwF;AAKpF,qGALK,6CAAoB,OAKL;AAJxB,+EAAyE;AAKrE,yGALK,sDAAwB,OAKL;AAHf,QAAA,wBAAwB,GAAG,SAAS,CAAC"}
@@ -1,10 +1,12 @@
1
1
  export declare const GRAPHQL_VARIABLES_IDENTIFIER = "GraphQLVariables";
2
2
  export declare const GRAPHQL_FRAGMENT_MAP_IDENTIFIER = "GraphQLFragmentMap";
3
+ export declare const GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = "GraphQLIngestState";
3
4
  export declare const GRAPHQL_STATE_INTERFACE_IDENTIFIER = "GraphQLState";
4
5
  export declare const TIMESTAMP_IDENTIFIER = "timestamp";
5
6
  export declare const CREATE_LINK_IDENTIFIER = "createLink";
6
7
  export declare const TYPE_UTIL_IDENTIFIER = "type-util";
7
8
  export declare const TYPE_INGEST_IDENTIFIER = "ingest";
9
+ export declare const TYPE_CACHE_KEYS_IDENTIFIER = "getTypeCacheKeys";
8
10
  export declare const KEY_BUILDER_IDENTIFIER = "keyBuilder";
9
11
  export declare const SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = "serializeFieldArguments";
10
12
  export declare const GET_REQUESTED_FIELD_IDENTIFIER = "getRequestedField";
@@ -17,6 +19,7 @@ export declare const REQUESTED_FIELD_IDENTIFIER = "requestedField";
17
19
  export declare const REQUESTED_FIELD_NAME_IDENTIFIER = "requestedFieldName";
18
20
  export declare const SINK_IDENTIFIER = "sink";
19
21
  export declare const APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = "applyMinimumFieldsToQuery";
20
- export declare const GET_QUERY_TRANSFORMER_IDENTIFIER = "getQueryTransformer";
22
+ export declare const GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER = "getQueryTransformHelperForField";
23
+ export declare const GET_QUERY_TRANSFORM_HELPER_FOR_TYPE_IDENTIFIER = "getQueryTransformHelperForType";
21
24
  export declare const GET_MINIMUM_FIELDS_IDENTIFIER = "getMinimumFields";
22
- export declare const QUERY_TRANSFORMER_IDENTIFIER = "QueryTransformer";
25
+ export declare const QUERY_TRANSFORM_HELPER_IDENTIFIER = "QueryTransformHelper";
@@ -1,13 +1,15 @@
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_TRANSFORM_HELPER_IDENTIFIER = exports.GET_MINIMUM_FIELDS_IDENTIFIER = exports.GET_QUERY_TRANSFORM_HELPER_FOR_TYPE_IDENTIFIER = exports.GET_QUERY_TRANSFORM_HELPER_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_CACHE_KEYS_IDENTIFIER = exports.TYPE_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_INGEST_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
+ exports.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = 'GraphQLIngestState';
6
7
  exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = 'GraphQLState';
7
8
  exports.TIMESTAMP_IDENTIFIER = 'timestamp';
8
9
  exports.CREATE_LINK_IDENTIFIER = 'createLink';
9
10
  exports.TYPE_UTIL_IDENTIFIER = 'type-util';
10
11
  exports.TYPE_INGEST_IDENTIFIER = 'ingest';
12
+ exports.TYPE_CACHE_KEYS_IDENTIFIER = 'getTypeCacheKeys';
11
13
  exports.KEY_BUILDER_IDENTIFIER = 'keyBuilder';
12
14
  exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = 'serializeFieldArguments';
13
15
  exports.GET_REQUESTED_FIELD_IDENTIFIER = 'getRequestedField';
@@ -20,7 +22,8 @@ exports.REQUESTED_FIELD_IDENTIFIER = 'requestedField';
20
22
  exports.REQUESTED_FIELD_NAME_IDENTIFIER = 'requestedFieldName';
21
23
  exports.SINK_IDENTIFIER = 'sink';
22
24
  exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = 'applyMinimumFieldsToQuery';
23
- exports.GET_QUERY_TRANSFORMER_IDENTIFIER = 'getQueryTransformer';
25
+ exports.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER = 'getQueryTransformHelperForField';
26
+ exports.GET_QUERY_TRANSFORM_HELPER_FOR_TYPE_IDENTIFIER = 'getQueryTransformHelperForType';
24
27
  exports.GET_MINIMUM_FIELDS_IDENTIFIER = 'getMinimumFields';
25
- exports.QUERY_TRANSFORMER_IDENTIFIER = 'QueryTransformer';
28
+ exports.QUERY_TRANSFORM_HELPER_IDENTIFIER = 'QueryTransformHelper';
26
29
  //# 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,yCAAyC,GAAG,oBAAoB,CAAC;AACjE,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,0BAA0B,GAAG,kBAAkB,CAAC;AAChD,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,+CAA+C,GAAG,iCAAiC,CAAC;AACpF,QAAA,8CAA8C,GAAG,gCAAgC,CAAC;AAClF,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,iCAAiC,GAAG,sBAAsB,CAAC"}
@@ -18,32 +18,34 @@ 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');
22
- // TODO: W-11246519 improve readability of the applyMinimumFields function by replacing the AST visitor with
23
- // manual node traversal
21
+ const getQueryTransformHelperForFieldImport = importContext.importGraphQLArtifact('types', queryTypeName, 'getQueryTransformHelperForField');
22
+ const getQueryTransformHelperForTypeImport = importContext.importGraphQLArtifact('types', queryTypeName, 'getQueryTransformHelperForType');
24
23
  return (0, imports_1.resolveImports)((0, deindent_1.default) `
25
24
  export type ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER} = Record<string, any>;
26
25
  export type ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER} = Record<string, ${constants_2.LUVIO_GRAPHQL_FRAGMENT_DEFINITION_NODE_IMPORT}>;
27
26
  export interface ${constants_3.GRAPHQL_STATE_INTERFACE_IDENTIFIER}<D = unknown> {
28
27
  data: D,
29
- variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER},
30
- fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER},
31
28
  path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER},
29
+ variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER},
30
+ fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER}
31
+ }
32
+
33
+ export interface ${constants_3.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER}<D> extends ${constants_3.GRAPHQL_STATE_INTERFACE_IDENTIFIER}<D> {
32
34
  ${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT},
33
35
  ${constants_2.LUVIO_STORE_IDENTIFIER}: ${constants_2.LUVIO_STORE_IMPORT},
34
36
  ${constants_3.TIMESTAMP_IDENTIFIER}: number
35
37
  };
36
38
 
37
- export interface QueryTransformerFunction {
38
- (fieldId: string): ${constants_3.QUERY_TRANSFORMER_IDENTIFIER} | undefined;
39
+ export interface GetQueryTransformHelperFunction {
40
+ (fieldId: string): ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER} | undefined;
39
41
  }
40
42
 
41
43
  export interface GetMinimumFieldsFunction {
42
44
  (): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[];
43
45
  }
44
46
 
45
- export interface ${constants_3.QUERY_TRANSFORMER_IDENTIFIER} {
46
- ${constants_3.GET_QUERY_TRANSFORMER_IDENTIFIER}: QueryTransformerFunction,
47
+ export interface ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER} {
48
+ ${constants_3.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER}: GetQueryTransformHelperFunction,
47
49
  ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: GetMinimumFieldsFunction
48
50
  }
49
51
 
@@ -103,65 +105,65 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
103
105
  export const TTL = ${(0, utils_1.getShapeTtl)(metadata.rootTtl, (_a = graphqlResource.returnShape) === null || _a === void 0 ? void 0 : _a.id, metadata.shapeTtls)};
104
106
 
105
107
  export function ${constants_3.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER} (query: ${constants_2.LUVIO_GRAPHQL_DOCUMENT_NODE_IMPORT}): ${constants_2.LUVIO_GRAPHQL_DOCUMENT_NODE_IMPORT} {
106
- const queryTransformerStack: ${constants_3.QUERY_TRANSFORMER_IDENTIFIER}[] = [];
107
- const visitor: ${constants_2.LUVIO_GRAPHQL_AST_VISITOR_IMPORT} = {
108
- OperationDefinition: {
109
- enter(node) {
110
- if (node.operation === 'query') {
111
- queryTransformerStack.push({
112
- ${constants_3.GET_QUERY_TRANSFORMER_IDENTIFIER}: ${queryTransformerImport},
113
- ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: () => {return []}
114
- });
115
- }
116
- },
117
- },
118
- Field: {
119
- enter(node) {
120
- 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
- if (queryTransformer === undefined) {
124
- throw new Error("Invalid field in query '" + node.name.value + "'");
125
- }
126
- queryTransformerStack.push(queryTransformer);
127
- }
128
- },
129
- leave(node) {
130
- if (node.selectionSet?.selections !== undefined) {
131
- queryTransformerStack.pop();
132
- }
133
- }
134
- },
135
- SelectionSet: {
136
- enter(node, _key, parent) {
137
- // No changes if no selections.
138
- const { selections } = node;
139
- if (!selections) {
140
- return;
141
- }
142
-
143
- // This node is always entered after a Field node. A query transformer for this node was pushed
144
- // onto the stack when that Field node was entered. The query transformer provides a function
145
- // to get the minimum fields for this node.
146
- const { ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER} } = queryTransformerStack[queryTransformerStack.length - 1];
108
+ query.definitions.forEach(queryDefinitionNode => {
109
+ if (queryDefinitionNode.kind === 'OperationDefinition' && queryDefinitionNode.operation === 'query') {
110
+ injectSelectionSet(queryDefinitionNode.selectionSet, {
111
+ ${constants_3.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER}: ${getQueryTransformHelperForFieldImport},
112
+ ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: () => { return [] }
113
+ });
114
+ }
115
+ })
116
+ return query;
117
+ }
147
118
 
148
- // Call the function to get the minimum fields for this node, filtering out any
149
- // fields that are already present in the selection.
150
- const minimumFields = ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}().filter(field => {
151
- return !selections.some(selection => {
152
- return selection.kind === 'Field' && (selection.name.value === field.name.value);
119
+ export function injectSelectionSet (selectionSetNode: ${constants_2.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT}, queryTransformHelper: ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER}|undefined) {
120
+ const { selections } = selectionSetNode;
121
+ if (queryTransformHelper === undefined ||
122
+ queryTransformHelper === null ||
123
+ selections === undefined ||
124
+ selections === null) {
125
+ return;
126
+ }
127
+
128
+ const { getMinimumFields, getQueryTransformHelperForField } = queryTransformHelper;
129
+
130
+ // Call the function to get the minimum fields for this node, filtering out any
131
+ // fields that are already present in the selection.
132
+ const minimumFields = getMinimumFields().filter(field => {
133
+ const fieldIsAlreadyPresent = selections.some(selection => {
134
+ return selection.kind === 'Field' && (selection.name.value === field.name.value);
135
+ });
136
+ return !fieldIsAlreadyPresent;
137
+ });
138
+
139
+ selectionSetNode.selections = [...selections, ...minimumFields];
140
+
141
+ selectionSetNode.selections.forEach(selection => {
142
+ if (selection.kind === 'Field' && selection.selectionSet) {
143
+ const fieldTransformHelper = getQueryTransformHelperForField(selection.name.value);
144
+ injectSelectionSet(selection.selectionSet, fieldTransformHelper);
145
+ }
146
+ if (selection.kind === 'InlineFragment' && selection.selectionSet && selection.typeCondition) {
147
+ // create a wrapper for the getMinimumFields function that filters
148
+ // out any fields already present via encapsulation in the parent fields
149
+ const fieldTransformHelper = ${getQueryTransformHelperForTypeImport}(selection.typeCondition.name.value);
150
+ if (fieldTransformHelper === undefined) {
151
+ return;
152
+ }
153
+ const wrappedGetMinimumFields = ():${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] => {
154
+ return fieldTransformHelper.getMinimumFields().filter((field) => {
155
+ const fieldIsAlreadyPresent = selectionSetNode.selections.some(parentField => {
156
+ return parentField.kind === 'Field' && parentField.name.value === field.name.value;
153
157
  });
158
+ return !fieldIsAlreadyPresent;
154
159
  });
155
-
156
- // Return a new SelectionSet including minimum fields
157
- return {
158
- ...node,
159
- selections: [...selections, ...minimumFields],
160
- };
161
- },
162
- },
163
- };
164
- return ${constants_2.LUVIO_GRAPHQL_VISIT_IMPORT}(query, visitor);
160
+ };
161
+ injectSelectionSet(selection.selectionSet, {
162
+ ...fieldTransformHelper,
163
+ getMinimumFields: wrappedGetMinimumFields
164
+ });
165
+ }
166
+ })
165
167
  }
166
168
 
167
169
  export function ${constants_3.GET_REQUESTED_FIELD_IDENTIFIER}(responseDataFieldName: string, requestedFields: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[]): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} | undefined {
@@ -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,sDAWgC;AAChC,2CAeqB;AAErB,SAAgB,gBAAgB,CAC5B,eAAgC,EAChC,QAAgC,EAChC,aAA4B;;IAE5B,kHAAkH;IAClH,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACnE,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;KAC7E;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACrC,MAAM,qCAAqC,GAAG,aAAa,CAAC,qBAAqB,CAC7E,OAAO,EACP,aAAa,EACb,iCAAiC,CACpC,CAAC;IACF,MAAM,oCAAoC,GAAG,aAAa,CAAC,qBAAqB,CAC5E,OAAO,EACP,aAAa,EACb,gCAAgC,CACnC,CAAC;IAEF,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;sBAC5B,2CAA+B,qBAAqB,yDAA6C;2BAC5F,8CAAkC;;oBAEzC,oDAAwC;yBACnC,wCAA4B;yBAC5B,2CAA+B;;;2BAG7B,qDAAyC,eAAe,8CAAkC;cACvG,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;;;iCAID,6CAAiC;;;;kBAIhD,2CAA+B;;;2BAGtB,6CAAiC;cAC9C,2DAA+C;cAC/C,yCAA6B;;;0BAGjB,kCAAsB;;;;;;0BAMtB,gDAAoC,4BAA4B,8CAAkC,mBAAmB,wCAA4B;;;;;;;;;;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;;;;0BAI9H,2DAA+C,KAAK,qCAAqC;0BACzF,yCAA6B;;;;;;;gEAOS,mDAAuC,2BAA2B,6CAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA8BhH,oCAAoC;;;;yDAI9B,2CAA+B;;;;;;;;;;;;;;;;0BAgB9D,0CAA8B,oDAAoD,2CAA+B,QAAQ,2CAA+B;;;;0BAIxJ,mDAAuC,WAAW,2CAA+B,gBAAgB,wCAA4B;;qGAElD,gDAAoC;;;;0BAI/G,oDAAwC,oCAAoC,mDAAuC,wBAAwB,2CAA+B,MAAM,2CAA+B;;;;;;;sBAOnN,oDAAwC;;;;;;0BAMpC,oDAAwC;;;;;;;KAO7D,CAAC,CAAC;AACP,CAAC;AA3MD,4CA2MC"}
@@ -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,16 +13,18 @@ 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
+ const type_cache_keys_1 = require("./type-cache-keys");
17
+ function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata, modelInfo) {
17
18
  return (0, imports_1.resolveImports)((0, deindent_1.default) `
18
19
  export const name = '${graphqlTypeName}';
19
20
  ${(0, ttl_1.generateTtl)(graphqlDsl, graphqlTypeName)}
20
21
  ${(0, interface_1.generateInterfaces)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
21
22
  ${(0, key_1.generateKey)(def, importContext, graphqlDsl.schemaName)}
22
23
  ${(0, merge_1.generateMerge)(importContext)}
23
- ${(0, ingest_1.generateIngest)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
24
+ ${(0, ingest_1.generateIngest)(graphqlDsl, graphqlTypeName, def, importContext, metadata, modelInfo)}
24
25
  ${(0, select_1.generateSelect)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
25
26
  ${(0, query_transformer_1.generate)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
27
+ ${(0, type_cache_keys_1.generateGetTypeCacheKeys)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
26
28
  `);
27
29
  }
28
30
  exports.generateType = generateType;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,+BAAoC;AACpC,2CAAiD;AACjD,qCAA0C;AAC1C,+BAAoC;AACpC,mCAAwC;AACxC,oDAAwD;AAKxD,qCAA0C;AAC1C,2DAA2E;AAE3E,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;AAE3E,uDAA6D;AAE7D,SAAgB,YAAY,CACxB,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,QAAgC,EAChC,SAAoB;IAEpB,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,eAAe;UACpC,IAAA,iBAAW,EAAC,UAAU,EAAE,eAAe,CAAC;UACxC,IAAA,8BAAkB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAC7E,IAAA,iBAAW,EAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC;UACtD,IAAA,qBAAa,EAAC,aAAa,CAAC;UAC5B,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;UACpF,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACzE,IAAA,4BAAwB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACnF,IAAA,0CAAwB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KACxF,CAAC,CAAC;AACP,CAAC;AAnBD,oCAmBC"}