@luvio/compiler 0.82.1 → 0.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/dist/codegen/adapter/graphql/adapter-config-interface.d.ts +3 -0
  2. package/dist/codegen/adapter/graphql/adapter-config-interface.js +24 -0
  3. package/dist/codegen/adapter/graphql/adapter-config-interface.js.map +1 -0
  4. package/dist/codegen/adapter/graphql/index.d.ts +7 -0
  5. package/dist/codegen/adapter/graphql/index.js +54 -0
  6. package/dist/codegen/adapter/graphql/index.js.map +1 -0
  7. package/dist/codegen/adapter/index.d.ts +9 -7
  8. package/dist/codegen/adapter/index.js +10 -30
  9. package/dist/codegen/adapter/index.js.map +1 -1
  10. package/dist/codegen/adapter-tests/expected-responses.js +3 -3
  11. package/dist/codegen/adapter-tests/expected-responses.js.map +1 -1
  12. package/dist/codegen/adapter-tests/index.d.ts +3 -2
  13. package/dist/codegen/adapter-tests/index.js +3 -7
  14. package/dist/codegen/adapter-tests/index.js.map +1 -1
  15. package/dist/codegen/graphql/enum/index.d.ts +2 -2
  16. package/dist/codegen/graphql/enum/index.js +2 -2
  17. package/dist/codegen/graphql/enum/index.js.map +1 -1
  18. package/dist/codegen/graphql/enum/interface.d.ts +2 -2
  19. package/dist/codegen/graphql/enum/interface.js +1 -1
  20. package/dist/codegen/graphql/enum/interface.js.map +1 -1
  21. package/dist/codegen/graphql/graphql-dsl.d.ts +13 -0
  22. package/dist/codegen/graphql/graphql-dsl.js +26 -0
  23. package/dist/codegen/graphql/graphql-dsl.js.map +1 -0
  24. package/dist/codegen/graphql/source-printer/graphql-adapter-source-printer.d.ts +8 -4
  25. package/dist/codegen/graphql/source-printer/graphql-adapter-source-printer.js +31 -3
  26. package/dist/codegen/graphql/source-printer/graphql-adapter-source-printer.js.map +1 -1
  27. package/dist/codegen/graphql/source-printer/graphql-resource-source-printer.d.ts +6 -2
  28. package/dist/codegen/graphql/source-printer/graphql-resource-source-printer.js +15 -3
  29. package/dist/codegen/graphql/source-printer/graphql-resource-source-printer.js.map +1 -1
  30. package/dist/codegen/graphql/source-printer/graphql-source-printer.d.ts +14 -17
  31. package/dist/codegen/graphql/source-printer/graphql-source-printer.js +17 -19
  32. package/dist/codegen/graphql/source-printer/graphql-source-printer.js.map +1 -1
  33. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.d.ts +9 -3
  34. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js +37 -18
  35. package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js.map +1 -1
  36. package/dist/codegen/graphql/source-printer/index.d.ts +2 -2
  37. package/dist/codegen/graphql/source-printer/index.js.map +1 -1
  38. package/dist/codegen/graphql/type/index.d.ts +5 -3
  39. package/dist/codegen/graphql/type/index.js +13 -5
  40. package/dist/codegen/graphql/type/index.js.map +1 -1
  41. package/dist/codegen/graphql/type/ingest.d.ts +5 -4
  42. package/dist/codegen/graphql/type/ingest.js +67 -27
  43. package/dist/codegen/graphql/type/ingest.js.map +1 -1
  44. package/dist/codegen/graphql/type/interface.d.ts +2 -2
  45. package/dist/codegen/graphql/type/interface.js +1 -1
  46. package/dist/codegen/graphql/type/interface.js.map +1 -1
  47. package/dist/codegen/graphql/type/ttl.d.ts +4 -0
  48. package/dist/codegen/graphql/type/ttl.js +18 -0
  49. package/dist/codegen/graphql/type/ttl.js.map +1 -0
  50. package/dist/codegen/graphql/union/index.d.ts +2 -2
  51. package/dist/codegen/graphql/union/index.js +2 -2
  52. package/dist/codegen/graphql/union/index.js.map +1 -1
  53. package/dist/codegen/graphql/union/interface.d.ts +2 -2
  54. package/dist/codegen/graphql/union/interface.js +1 -1
  55. package/dist/codegen/graphql/union/interface.js.map +1 -1
  56. package/dist/codegen/graphql/utils/index.d.ts +1 -1
  57. package/dist/codegen/graphql/utils/index.js +2 -1
  58. package/dist/codegen/graphql/utils/index.js.map +1 -1
  59. package/dist/codegen/graphql/utils/types.d.ts +9 -3
  60. package/dist/codegen/graphql/utils/types.js +13 -1
  61. package/dist/codegen/graphql/utils/types.js.map +1 -1
  62. package/dist/codegen/package-renderer/index.d.ts +2 -0
  63. package/dist/codegen/package-renderer/index.js +6 -0
  64. package/dist/codegen/package-renderer/index.js.map +1 -0
  65. package/dist/codegen/package-renderer/package-renderer.d.ts +16 -0
  66. package/dist/codegen/package-renderer/package-renderer.js +72 -0
  67. package/dist/codegen/package-renderer/package-renderer.js.map +1 -0
  68. package/dist/codegen/package-renderer/text-file.d.ts +6 -0
  69. package/dist/{generate.js → codegen/package-renderer/text-file.js} +1 -1
  70. package/dist/codegen/package-renderer/text-file.js.map +1 -0
  71. package/dist/codegen/resource/create-resource-request.d.ts +6 -2
  72. package/dist/codegen/resource/create-resource-request.js +11 -17
  73. package/dist/codegen/resource/create-resource-request.js.map +1 -1
  74. package/dist/codegen/resource/graphql/create-resource-request.d.ts +4 -0
  75. package/dist/codegen/resource/graphql/create-resource-request.js +30 -0
  76. package/dist/codegen/resource/graphql/create-resource-request.js.map +1 -0
  77. package/dist/codegen/resource/graphql/index.d.ts +6 -0
  78. package/dist/codegen/resource/graphql/index.js +30 -0
  79. package/dist/codegen/resource/graphql/index.js.map +1 -0
  80. package/dist/codegen/resource/graphql/ingest-error.d.ts +5 -0
  81. package/dist/codegen/resource/graphql/ingest-error.js +63 -0
  82. package/dist/codegen/resource/graphql/ingest-error.js.map +1 -0
  83. package/dist/codegen/resource/graphql/ingest-success.d.ts +4 -0
  84. package/dist/codegen/resource/graphql/ingest-success.js +56 -0
  85. package/dist/codegen/resource/graphql/ingest-success.js.map +1 -0
  86. package/dist/codegen/resource/graphql/key-builder.d.ts +3 -0
  87. package/dist/codegen/resource/graphql/key-builder.js +25 -0
  88. package/dist/codegen/resource/graphql/key-builder.js.map +1 -0
  89. package/dist/codegen/resource/graphql/resource-params.d.ts +4 -0
  90. package/dist/codegen/resource/graphql/resource-params.js +25 -0
  91. package/dist/codegen/resource/graphql/resource-params.js.map +1 -0
  92. package/dist/codegen/resource/graphql/response-cache-keys.d.ts +4 -0
  93. package/dist/codegen/resource/graphql/response-cache-keys.js +33 -0
  94. package/dist/codegen/resource/graphql/response-cache-keys.js.map +1 -0
  95. package/dist/codegen/resource/index.d.ts +5 -3
  96. package/dist/codegen/resource/index.js +5 -5
  97. package/dist/codegen/resource/index.js.map +1 -1
  98. package/dist/codegen/resource/ingest-error.d.ts +2 -2
  99. package/dist/codegen/resource/ingest-error.js.map +1 -1
  100. package/dist/codegen/resource/ingest-success.js +5 -3
  101. package/dist/codegen/resource/ingest-success.js.map +1 -1
  102. package/dist/codegen/resource/key-builder.d.ts +1 -0
  103. package/dist/codegen/resource/key-builder.js +2 -1
  104. package/dist/codegen/resource/key-builder.js.map +1 -1
  105. package/dist/codegen/resource/resource-params.d.ts +2 -2
  106. package/dist/codegen/resource/resource-params.js.map +1 -1
  107. package/dist/codegen/rest/source-printer/rest-adapter-source-printer.d.ts +7 -4
  108. package/dist/codegen/rest/source-printer/rest-adapter-source-printer.js +11 -15
  109. package/dist/codegen/rest/source-printer/rest-adapter-source-printer.js.map +1 -1
  110. package/dist/codegen/rest/source-printer/rest-source-printer.d.ts +6 -3
  111. package/dist/codegen/rest/source-printer/rest-source-printer.js +9 -15
  112. package/dist/codegen/rest/source-printer/rest-source-printer.js.map +1 -1
  113. package/dist/codegen/shape/graphql/index.d.ts +3 -0
  114. package/dist/codegen/shape/graphql/index.js +29 -0
  115. package/dist/codegen/shape/graphql/index.js.map +1 -0
  116. package/dist/codegen/shape/graphql/key-builder.d.ts +5 -0
  117. package/dist/codegen/shape/graphql/key-builder.js +26 -0
  118. package/dist/codegen/shape/graphql/key-builder.js.map +1 -0
  119. package/dist/codegen/shape/graphql/shape-ingest.d.ts +3 -0
  120. package/dist/codegen/shape/graphql/shape-ingest.js +67 -0
  121. package/dist/codegen/shape/graphql/shape-ingest.js.map +1 -0
  122. package/dist/codegen/shape/graphql/shape-type-definition.d.ts +3 -0
  123. package/dist/codegen/shape/graphql/shape-type-definition.js +28 -0
  124. package/dist/codegen/shape/graphql/shape-type-definition.js.map +1 -0
  125. package/dist/codegen/shape/shape-select-paginated.js +6 -16
  126. package/dist/codegen/shape/shape-select-paginated.js.map +1 -1
  127. package/dist/codegen/shape/shape-utils-ingest.js +22 -0
  128. package/dist/codegen/shape/shape-utils-ingest.js.map +1 -1
  129. package/dist/codegen/shared/constants.d.ts +5 -0
  130. package/dist/codegen/shared/constants.js +7 -1
  131. package/dist/codegen/shared/constants.js.map +1 -1
  132. package/dist/codegen/typescript/index.d.ts +3 -0
  133. package/dist/codegen/typescript/index.js +15 -0
  134. package/dist/codegen/typescript/index.js.map +1 -0
  135. package/dist/codegen/typescript/typescript-import.d.ts +93 -0
  136. package/dist/codegen/typescript/typescript-import.js +110 -0
  137. package/dist/codegen/typescript/typescript-import.js.map +1 -0
  138. package/dist/codegen/typescript/typescript-package.d.ts +13 -0
  139. package/dist/codegen/typescript/typescript-package.js +85 -0
  140. package/dist/codegen/typescript/typescript-package.js.map +1 -0
  141. package/dist/codegen/typescript/typescript-source-file-id.d.ts +13 -0
  142. package/dist/codegen/typescript/typescript-source-file-id.js +21 -0
  143. package/dist/codegen/typescript/typescript-source-file-id.js.map +1 -0
  144. package/dist/codegen/typescript/typescript-source-file.d.ts +10 -0
  145. package/dist/codegen/typescript/typescript-source-file.js +19 -0
  146. package/dist/codegen/typescript/typescript-source-file.js.map +1 -0
  147. package/dist/compiler/raml-compiler.d.ts +11 -12
  148. package/dist/compiler/raml-compiler.js +17 -10
  149. package/dist/compiler/raml-compiler.js.map +1 -1
  150. package/dist/interfaces/source-printers/graphql/graphql-adapter-printer.d.ts +6 -2
  151. package/dist/interfaces/source-printers/graphql/graphql-resource-printer.d.ts +5 -2
  152. package/dist/interfaces/source-printers/graphql/graphql-type-printer.d.ts +7 -2
  153. package/dist/interfaces/source-writer.d.ts +0 -1
  154. package/dist/intermediate/graphql-annotation.d.ts +1 -1
  155. package/dist/intermediate/graphql.d.ts +13 -3
  156. package/dist/intermediate/model-info.d.ts +2 -0
  157. package/dist/intermediate/resource.d.ts +2 -4
  158. package/dist/intermediate/resource.js.map +1 -1
  159. package/dist/main.d.ts +2 -3
  160. package/dist/main.js.map +1 -1
  161. package/dist/parser/annotation-adapter.d.ts +2 -1
  162. package/dist/parser/annotation-adapter.js +30 -28
  163. package/dist/parser/annotation-adapter.js.map +1 -1
  164. package/dist/parser/annotation-graphql.d.ts +2 -2
  165. package/dist/parser/annotation-graphql.js +1 -0
  166. package/dist/parser/annotation-graphql.js.map +1 -1
  167. package/dist/parser/main.js +9 -3
  168. package/dist/parser/main.js.map +1 -1
  169. package/dist/parser/resource.js +16 -15
  170. package/dist/parser/resource.js.map +1 -1
  171. package/dist/plugin.d.ts +4 -2
  172. package/dist/utils/aml.js +5 -1
  173. package/dist/utils/aml.js.map +1 -1
  174. package/dist/utils/generation.d.ts +4 -2
  175. package/dist/utils/generation.js +5 -11
  176. package/dist/utils/generation.js.map +1 -1
  177. package/dist/utils/imports.d.ts +4 -2
  178. package/dist/utils/imports.js +27 -31
  179. package/dist/utils/imports.js.map +1 -1
  180. package/package.json +4 -4
  181. package/dist/generate.d.ts +0 -15
  182. package/dist/generate.js.map +0 -1
@@ -1,27 +1,24 @@
1
+ /// <reference types="node" />
1
2
  import type { SourcePrinter, GraphQLTypePrinter, GraphQLResourcePrinter, GraphQLAdapterPrinter } from '../../../interfaces';
2
3
  import type { ModelInfo } from '../../../main';
3
- import type { CompilerEnvironment } from '../../../generate';
4
- import type { LuvioGraphQLSchema } from '@luvio/graphql-parser';
5
- import type { AdapterAnnotation } from '../../../intermediate/adapter-annotation';
6
- export interface GraphQLGenerateState {
7
- schema: LuvioGraphQLSchema;
8
- adapter?: AdapterAnnotation;
9
- env: CompilerEnvironment;
10
- }
4
+ import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
5
+ import type path from 'path';
6
+ import type { ShapeTtls } from '../../../intermediate/model-info';
7
+ import type { CompilerPlugin } from '../../../plugin';
11
8
  export interface GraphQLCodegenMetadata {
12
9
  scalarToPrimitiveMap: Record<string, string>;
10
+ shapeTtls?: ShapeTtls;
11
+ rootTtl?: number;
13
12
  }
14
13
  export declare class GraphQLSourcePrinter implements SourcePrinter {
15
- typePrinter: GraphQLTypePrinter;
16
- resourcePrinter: GraphQLResourcePrinter;
17
- adapterPrinter: GraphQLAdapterPrinter;
18
- env: CompilerEnvironment;
19
- constructor(typePrinter: GraphQLTypePrinter, resourcePrinter: GraphQLResourcePrinter, adapterPrinter: GraphQLAdapterPrinter, env: CompilerEnvironment);
14
+ private typePrinter;
15
+ private resourcePrinter;
16
+ private adapterPrinter;
17
+ private compilerBaseOutputDir;
18
+ private plugin;
19
+ constructor(typePrinter: GraphQLTypePrinter, resourcePrinter: GraphQLResourcePrinter, adapterPrinter: GraphQLAdapterPrinter, compilerBaseOutputDir: path.ParsedPath, plugin: CompilerPlugin);
20
20
  generateModules(modelInfo: ModelInfo): {
21
21
  [path: string]: string;
22
22
  };
23
- generateGraphQLModules(state: GraphQLGenerateState): {
24
- [path: string]: string;
25
- };
26
- calculateMetadata(state: GraphQLGenerateState): GraphQLCodegenMetadata;
23
+ calculateMetadata(modelInfo: ModelInfo, graphqlDsl: LuvioGraphQLDSL): GraphQLCodegenMetadata;
27
24
  }
@@ -9,40 +9,38 @@ const DEFAULT_GRAPHQL_SCALAR_TO_PRIMITIVE_MAP = {
9
9
  Float: 'number',
10
10
  };
11
11
  class GraphQLSourcePrinter {
12
- constructor(typePrinter, resourcePrinter, adapterPrinter, env) {
12
+ constructor(typePrinter, resourcePrinter, adapterPrinter, compilerBaseOutputDir, plugin) {
13
13
  this.typePrinter = typePrinter;
14
14
  this.resourcePrinter = resourcePrinter;
15
15
  this.adapterPrinter = adapterPrinter;
16
- this.env = env;
16
+ this.compilerBaseOutputDir = compilerBaseOutputDir;
17
+ this.plugin = plugin;
17
18
  }
18
19
  generateModules(modelInfo) {
19
20
  const { resources } = modelInfo;
20
- const modules = {};
21
+ let modules = {};
21
22
  for (const resource of resources) {
22
23
  if (resource.resourceType === 'GraphQL') {
23
- const result = this.generateGraphQLModules({
24
- schema: resource.graphqlRepresentation.schema,
25
- adapter: resource.adapter,
26
- env: this.env,
27
- });
28
- Object.assign(modules, result);
24
+ const { graphqlDSL } = resource;
25
+ const metadata = this.calculateMetadata(modelInfo, graphqlDSL);
26
+ modules = {
27
+ ...this.typePrinter.generate(resource, this.compilerBaseOutputDir, metadata, modelInfo, this.plugin),
28
+ ...this.resourcePrinter.generate(modelInfo, resource, this.compilerBaseOutputDir),
29
+ ...this.adapterPrinter.generate(modelInfo, resource, this.compilerBaseOutputDir, this.plugin),
30
+ ...modules,
31
+ };
29
32
  }
30
33
  }
31
34
  return modules;
32
35
  }
33
- generateGraphQLModules(state) {
34
- const metadata = this.calculateMetadata(state);
35
- return {
36
- ...this.typePrinter.generate(state, metadata),
37
- ...this.resourcePrinter.generate(state, metadata),
38
- ...this.adapterPrinter.generate(state, metadata),
39
- };
40
- }
41
- calculateMetadata(state) {
36
+ calculateMetadata(modelInfo, graphqlDsl) {
37
+ const { shapeTtls, rootTtl } = modelInfo;
42
38
  const scalarToPrimitiveMap = DEFAULT_GRAPHQL_SCALAR_TO_PRIMITIVE_MAP;
43
- state.schema.customScalars.forEach((custom) => (scalarToPrimitiveMap[custom.name] = 'unknown'));
39
+ graphqlDsl.customScalars.forEach((custom) => (scalarToPrimitiveMap[custom.name] = 'unknown'));
44
40
  return {
45
41
  scalarToPrimitiveMap,
42
+ shapeTtls,
43
+ rootTtl,
46
44
  };
47
45
  }
48
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-source-printer.ts"],"names":[],"mappings":";;;AAWA,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;AAaF,MAAa,oBAAoB;IAC7B,YACW,WAA+B,EAC/B,eAAuC,EACvC,cAAqC,EACrC,GAAwB;QAHxB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,oBAAe,GAAf,eAAe,CAAwB;QACvC,mBAAc,GAAd,cAAc,CAAuB;QACrC,QAAG,GAAH,GAAG,CAAqB;IAChC,CAAC;IAEJ,eAAe,CAAC,SAAoB;QAChC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;QAChC,MAAM,OAAO,GAA+B,EAAE,CAAC;QAE/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC;oBACvC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM;oBAC7C,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,GAAG,EAAE,IAAI,CAAC,GAAG;iBAChB,CAAC,CAAC;gBACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;aAClC;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,sBAAsB,CAAC,KAA2B;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO;YACH,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC7C,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;YACjD,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;SACnD,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,KAA2B;QACzC,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;QAErE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAC9B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAC9D,CAAC;QAEF,OAAO;YACH,oBAAoB;SACvB,CAAC;IACN,CAAC;CACJ;AA7CD,oDA6CC"}
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,13 +1,19 @@
1
+ /// <reference types="node" />
1
2
  import type { GraphQLTypePrinter } from '../../../interfaces';
2
3
  import type { ImportContext } from '../../../utils/imports';
3
- import type { GraphQLGenerateState, GraphQLCodegenMetadata } from './graphql-source-printer';
4
+ import path from 'path';
5
+ import type { GraphQLCodegenMetadata } from './graphql-source-printer';
6
+ import type { GraphQLResource } from '../../../intermediate/resource';
7
+ import type { ModelInfo } from '../../../main';
8
+ import type { CompilerPlugin } from '../../../plugin';
4
9
  export declare const GRAPHQL_OUTPUT_DIRECTORY = "graphql";
5
10
  export declare const GRAPHQL_OBJECT_TYPENAME = "typeName";
6
11
  export declare type GraphQLTypeGenerationResult = Record<string, string>;
7
12
  export declare class GraphQLTypeSourcePrinter implements GraphQLTypePrinter {
8
- generate(state: GraphQLGenerateState, metadata: GraphQLCodegenMetadata): GraphQLTypeGenerationResult;
9
- createGraphQLTypeImportContext(state: GraphQLGenerateState, defName: string): {
13
+ generate(graphQLResource: GraphQLResource, compilerBaseOutputDir: path.ParsedPath, metadata: GraphQLCodegenMetadata, modelInfo: ModelInfo, plugin: CompilerPlugin): GraphQLTypeGenerationResult;
14
+ createGraphQLTypeImportContext(compilerBaseOutputDir: path.ParsedPath, defName: string): {
10
15
  relPath: string;
11
16
  importContext: ImportContext;
12
17
  };
18
+ generateGraphQLInteropTypes(modelInfo: ModelInfo, compilerBaseOutputDir: path.ParsedPath, plugin: CompilerPlugin, graphqlResource: GraphQLResource): GraphQLTypeGenerationResult;
13
19
  }
@@ -10,35 +10,41 @@ const graphql_parser_1 = require("@luvio/graphql-parser");
10
10
  const type_1 = require("../type");
11
11
  const union_1 = require("../union");
12
12
  const enum_1 = require("../enum");
13
+ const utils_1 = require("../../../intermediate/utils");
14
+ const graphql_1 = require("../../shape/graphql");
13
15
  exports.GRAPHQL_OUTPUT_DIRECTORY = 'graphql';
14
16
  exports.GRAPHQL_OBJECT_TYPENAME = 'typeName';
15
17
  const GRAPHQL_TYPES_DIRECTORY = 'types';
18
+ const TYPES_DIRECTORY_NAME = 'types';
16
19
  class GraphQLTypeSourcePrinter {
17
- generate(state, metadata) {
18
- const sourceSchema = state.schema.schema;
19
- const typeKeys = Object.keys(sourceSchema.getTypeMap());
20
+ generate(graphQLResource, compilerBaseOutputDir, metadata, modelInfo, plugin) {
21
+ const { graphqlDSL } = graphQLResource;
22
+ const typeKeys = Object.keys(graphqlDSL.schema.getTypeMap());
20
23
  const modules = {};
21
- const { relPath, importContext } = this.createGraphQLTypeImportContext(state, 'type-util');
22
- const typeUtil = (0, type_1.generateTypeUtil)(state, importContext);
24
+ const { relPath } = this.createGraphQLTypeImportContext(compilerBaseOutputDir, 'type-util');
25
+ const typeUtil = (0, type_1.generateTypeUtil)(graphQLResource, metadata);
23
26
  modules[relPath] = typeUtil;
27
+ // TODO: What should happen if multiple endpoints use the same Representation? Technically this would be legal in RAML as the
28
+ // top level types are the same.
29
+ Object.assign(modules, this.generateGraphQLInteropTypes(modelInfo, compilerBaseOutputDir, plugin, graphQLResource));
24
30
  typeKeys.forEach((typeKey) => {
25
- const typeDefinition = sourceSchema.getType(typeKey);
31
+ const typeDefinition = graphqlDSL.schema.getType(typeKey);
26
32
  if (typeDefinition !== undefined &&
27
33
  typeDefinition !== null &&
28
34
  typeDefinition.astNode !== undefined &&
29
35
  typeDefinition.astNode !== null) {
30
36
  const kind = typeDefinition.astNode.kind;
31
- const { relPath, importContext } = this.createGraphQLTypeImportContext(state, typeDefinition.name);
37
+ const { relPath, importContext } = this.createGraphQLTypeImportContext(compilerBaseOutputDir, typeDefinition.name);
32
38
  switch (kind) {
33
39
  case graphql_parser_1.Kind.OBJECT_TYPE_DEFINITION:
34
40
  case graphql_parser_1.Kind.INTERFACE_TYPE_DEFINITION:
35
- modules[relPath] = (0, type_1.generateType)(state, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
41
+ modules[relPath] = (0, type_1.generateType)(graphqlDSL, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
36
42
  break;
37
43
  case graphql_parser_1.Kind.UNION_TYPE_DEFINITION:
38
- modules[relPath] = (0, union_1.generate)(state, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
44
+ modules[relPath] = (0, union_1.generate)(typeDefinition.name, typeDefinition.astNode, importContext, metadata);
39
45
  break;
40
46
  case graphql_parser_1.Kind.ENUM_TYPE_DEFINITION:
41
- modules[relPath] = (0, enum_1.generate)(state, typeDefinition.name, typeDefinition.astNode, importContext, metadata);
47
+ modules[relPath] = (0, enum_1.generate)(typeDefinition.name, typeDefinition.astNode, importContext, metadata);
42
48
  break;
43
49
  default:
44
50
  // not supported
@@ -48,18 +54,31 @@ class GraphQLTypeSourcePrinter {
48
54
  });
49
55
  return modules;
50
56
  }
51
- createGraphQLTypeImportContext(state, defName) {
52
- const { config: compilerConfig } = state.env;
53
- const graphqlRelPath = `${exports.GRAPHQL_OUTPUT_DIRECTORY}/${GRAPHQL_TYPES_DIRECTORY}/${defName}.ts`;
54
- const shapeAbsPath = path_1.default.resolve(compilerConfig.sourceWriter.outputDirectory, graphqlRelPath);
57
+ createGraphQLTypeImportContext(compilerBaseOutputDir, defName) {
58
+ const graphqlRelPath = path_1.default.join(exports.GRAPHQL_OUTPUT_DIRECTORY, GRAPHQL_TYPES_DIRECTORY, `${defName}.ts`);
59
+ const shapeAbsPath = path_1.default.parse(path_1.default.resolve(path_1.default.format(compilerBaseOutputDir), graphqlRelPath));
55
60
  return {
56
61
  relPath: graphqlRelPath,
57
- importContext: (0, imports_1.createImportContext)({
58
- compiler: state.env,
59
- output: path_1.default.parse(shapeAbsPath),
60
- }),
62
+ importContext: (0, imports_1.createImportContext)(shapeAbsPath, compilerBaseOutputDir),
61
63
  };
62
64
  }
65
+ generateGraphQLInteropTypes(modelInfo, compilerBaseOutputDir, plugin, graphqlResource) {
66
+ const modules = {};
67
+ for (const shape of Object.values(modelInfo.declaredShapeDefinitions)) {
68
+ if ((0, utils_1.isNodeShape)(shape) && modelInfo.graphQLShapes[shape.id]) {
69
+ const relPath = `${TYPES_DIRECTORY_NAME}/${shape.name}.ts`;
70
+ const shapeAbsPath = path_1.default.resolve(path_1.default.format(compilerBaseOutputDir), relPath);
71
+ const shapeConfig = {
72
+ shape,
73
+ modelInfo,
74
+ shapeLocation: relPath,
75
+ importContext: (0, imports_1.createImportContext)(path_1.default.parse(shapeAbsPath), compilerBaseOutputDir, plugin),
76
+ };
77
+ modules[relPath] = (0, graphql_1.generateGraphQLInteropTypeModule)(shapeConfig, graphqlResource);
78
+ }
79
+ }
80
+ return modules;
81
+ }
63
82
  }
64
83
  exports.GraphQLTypeSourcePrinter = GraphQLTypeSourcePrinter;
65
84
  //# sourceMappingURL=graphql-type-source-printer.js.map
@@ -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,5 @@
1
1
  import { GraphQLAdapterSourcePrinter } from './graphql-adapter-source-printer';
2
2
  import { GraphQLResourceSourcePrinter } from './graphql-resource-source-printer';
3
- import { GraphQLSourcePrinter, GraphQLGenerateState } from './graphql-source-printer';
3
+ import { GraphQLSourcePrinter, GraphQLCodegenMetadata } from './graphql-source-printer';
4
4
  import { GraphQLTypeSourcePrinter } from './graphql-type-source-printer';
5
- export { GraphQLSourcePrinter, GraphQLTypeSourcePrinter, GraphQLResourceSourcePrinter, GraphQLAdapterSourcePrinter, GraphQLGenerateState, };
5
+ export { GraphQLSourcePrinter, GraphQLTypeSourcePrinter, GraphQLResourceSourcePrinter, GraphQLAdapterSourcePrinter, GraphQLCodegenMetadata, };
@@ -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,qEAAsF;AAGlF,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;AAQ3E,4GARK,4DAA2B,OAQL;AAP/B,uFAAiF;AAM7E,6GANK,8DAA4B,OAML;AALhC,qEAAwF;AAGpF,qGAHK,6CAAoB,OAGL;AAFxB,+EAAyE;AAGrE,yGAHK,sDAAwB,OAGL"}
@@ -1,5 +1,7 @@
1
1
  import type { ImportContext } from '../../../utils/imports';
2
2
  import type { InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
3
- import type { GraphQLGenerateState, GraphQLCodegenMetadata } from '../source-printer/graphql-source-printer';
4
- export declare function generateTypeUtil(_state: GraphQLGenerateState, _importContext: ImportContext): string;
5
- export declare function generateType(state: GraphQLGenerateState, typeName: string, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;
3
+ import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
4
+ import type { GraphQLCodegenMetadata } from '../source-printer';
5
+ import type { GraphQLResource } from '../../../intermediate/resource';
6
+ export declare function generateTypeUtil(graphqlResource: GraphQLResource, metadata: GraphQLCodegenMetadata): string;
7
+ export declare function generateType(graphqlDsl: LuvioGraphQLDSL, typeName: string, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;
@@ -8,13 +8,17 @@ const deindent_1 = __importDefault(require("../../../utils/deindent"));
8
8
  const key_1 = require("./key");
9
9
  const interface_1 = require("./interface");
10
10
  const ingest_1 = require("./ingest");
11
+ const ttl_1 = require("./ttl");
11
12
  const imports_1 = require("../../../utils/imports");
13
+ const utils_1 = require("../utils");
12
14
  const constants_1 = require("../../adapter/constants");
13
15
  const constants_2 = require("../../shared/constants");
14
16
  const constants_3 = require("./constants");
15
- function generateTypeUtil(_state, _importContext) {
17
+ function generateTypeUtil(graphqlResource, metadata) {
18
+ var _a;
16
19
  return (0, imports_1.resolveImports)((0, deindent_1.default) `
17
20
  export type ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER} = Record<string, any>;
21
+
18
22
  export interface ${constants_3.GRAPHQL_STATE_INTERFACE_IDENTIFIER}<D = unknown> {
19
23
  data: D,
20
24
  variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER},
@@ -23,20 +27,24 @@ function generateTypeUtil(_state, _importContext) {
23
27
  ${constants_2.LUVIO_STORE_IDENTIFIER}: ${constants_2.LUVIO_STORE_IMPORT},
24
28
  ${constants_3.TIMESTAMP_IDENTIFIER}: number
25
29
  };
30
+
26
31
  export function ${constants_3.CREATE_LINK_IDENTIFIER}(ref: string) {
27
32
  return {
28
33
  __ref: ref,
29
34
  }
30
35
  }
36
+
37
+ export const TTL = ${(0, utils_1.getShapeTtl)(metadata.rootTtl, (_a = graphqlResource.returnShape) === null || _a === void 0 ? void 0 : _a.id, metadata.shapeTtls)};
31
38
  `);
32
39
  }
33
40
  exports.generateTypeUtil = generateTypeUtil;
34
- function generateType(state, typeName, def, importContext, metadata) {
41
+ function generateType(graphqlDsl, typeName, def, importContext, metadata) {
35
42
  return (0, imports_1.resolveImports)((0, deindent_1.default) `
36
43
  export const name = '${typeName}';
37
- ${(0, interface_1.generateInterface)(state, typeName, def, importContext, metadata)}
38
- ${(0, key_1.generateKey)(def, importContext, state.schema.schemaName)}
39
- ${(0, ingest_1.generateIngest)(state, def, importContext)}
44
+ ${(0, ttl_1.generateTtl)(graphqlDsl, typeName)}
45
+ ${(0, interface_1.generateInterface)(typeName, def, importContext, metadata)}
46
+ ${(0, key_1.generateKey)(def, importContext, graphqlDsl.schemaName)}
47
+ ${(0, ingest_1.generateIngest)(graphqlDsl, typeName, def, importContext, metadata)}
40
48
  `);
41
49
  }
42
50
  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,2CAAgD;AAChD,qCAA0C;AAC1C,oDAAwD;AAOxD,uDAAmF;AAEnF,sDAKgC;AAChC,2CAKqB;AAErB,SAAgB,gBAAgB,CAC5B,MAA4B,EAC5B,cAA6B;IAE7B,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;2BACvB,8CAAkC;;yBAEpC,wCAA4B;oBACjC,oDAAwC;cAC9C,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;0BAER,kCAAsB;;;;;KAK3C,CAAC,CAAC;AACP,CAAC;AApBD,4CAoBC;AAED,SAAgB,YAAY,CACxB,KAA2B,EAC3B,QAAgB,EAChB,GAA2D,EAC3D,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,QAAQ;UAC7B,IAAA,6BAAiB,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAChE,IAAA,iBAAW,EAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;UACxD,IAAA,uBAAc,EAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC;KAC9C,CAAC,CAAC;AACP,CAAC;AAbD,oCAaC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,+BAAoC;AACpC,2CAAgD;AAChD,qCAA0C;AAC1C,+BAAoC;AACpC,oDAAwD;AACxD,oCAAuC;AAMvC,uDAAmF;AAEnF,sDAKgC;AAChC,2CAKqB;AAErB,SAAgB,gBAAgB,CAC5B,eAAgC,EAChC,QAAgC;;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;;2BAEvB,8CAAkC;;yBAEpC,wCAA4B;oBACjC,oDAAwC;cAC9C,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;;0BAGR,kCAAsB;;;;;;6BAMnB,IAAA,mBAAW,EAC5B,QAAQ,CAAC,OAAO,EAChB,MAAA,eAAe,CAAC,WAAW,0CAAE,EAAE,EAC/B,QAAQ,CAAC,SAAS,CACrB;KACJ,CAAC,CAAC;AACP,CAAC;AA5BD,4CA4BC;AAED,SAAgB,YAAY,CACxB,UAA2B,EAC3B,QAAgB,EAChB,GAA2D,EAC3D,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,QAAQ;UAC7B,IAAA,iBAAW,EAAC,UAAU,EAAE,QAAQ,CAAC;UACjC,IAAA,6BAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACzD,IAAA,iBAAW,EAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC;UACtD,IAAA,uBAAc,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KACvE,CAAC,CAAC;AACP,CAAC;AAdD,oCAcC"}
@@ -1,9 +1,10 @@
1
- import type { FieldDefinitionNode, InterfaceTypeDefinitionNode, ListTypeNode, LuvioGraphQLSchema, NamedTypeNode, ObjectTypeDefinitionNode, TypeNode } from '@luvio/graphql-parser';
1
+ import type { FieldDefinitionNode, InterfaceTypeDefinitionNode, ListTypeNode, NamedTypeNode, ObjectTypeDefinitionNode, TypeNode } from '@luvio/graphql-parser';
2
2
  import type { ImportContext } from '../../../utils/imports';
3
- import type { GraphQLGenerateState } from '../source-printer';
4
3
  import type { NormalizableTypes } from '../utils';
4
+ import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
5
+ import type { GraphQLCodegenMetadata } from '../source-printer';
5
6
  export declare function ingestNamedType(field: FieldDefinitionNode, typeNode: NamedTypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
6
7
  export declare function ingestListType(field: FieldDefinitionNode, typeNode: ListTypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
7
8
  export declare function ingestType(field: FieldDefinitionNode, typeNode: TypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
8
- export declare function generateIngestFromDef(luvioSchema: LuvioGraphQLSchema, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
9
- export declare function generateIngest(state: GraphQLGenerateState, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext): string;
9
+ export declare function generateIngestFromDef(graphqlDsl: LuvioGraphQLDSL, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
10
+ export declare function generateIngest(graphqlDsl: LuvioGraphQLDSL, typeName: string, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
@@ -7,7 +7,10 @@ exports.generateIngest = exports.generateIngestFromDef = exports.ingestType = ex
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
+ const ttl_1 = require("./ttl");
10
11
  const constants_2 = require("./constants");
12
+ const interface_1 = require("./interface");
13
+ const REQUESTED_FIELDS_IDENTIFIER = 'requestedFields';
11
14
  function ingestNamedType(field, typeNode, importContext, normalizableTypeMap) {
12
15
  const typeName = (0, utils_1.resolveTypeName)(typeNode);
13
16
  const { importGraphQLArtifact } = importContext;
@@ -18,7 +21,8 @@ function ingestNamedType(field, typeNode, importContext, normalizableTypeMap) {
18
21
  const typeNameIngestImport = importGraphQLArtifact(typeName, constants_2.TYPE_INGEST_IDENTIFIER);
19
22
  return (0, deindent_1.default) `
20
23
  if (data.${field.name.value} !== undefined && data.${field.name.value} !== null) {
21
- data.${field.name.value} = ${typeNameIngestImport}({
24
+ const fieldNode = ${REQUESTED_FIELDS_IDENTIFIER}.find(fieldNode => fieldNode.name.value === "${field.name.value}");
25
+ const ${field.name.value}State = {
22
26
  ...state,
23
27
  path: {
24
28
  parent: null,
@@ -26,7 +30,11 @@ function ingestNamedType(field, typeNode, importContext, normalizableTypeMap) {
26
30
  fullPath: key + '__${field.name.value}'
27
31
  },
28
32
  data: data.${field.name.value},
29
- });
33
+ };
34
+ data.${field.name.value} = ${typeNameIngestImport}(
35
+ fieldNode,
36
+ ${field.name.value}State
37
+ ) as any;
30
38
  };
31
39
  `;
32
40
  }
@@ -44,22 +52,23 @@ function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
44
52
  return (0, deindent_1.default) `
45
53
  if (${dataIdentifier} !== undefined && ${dataIdentifier} !== null) {
46
54
  const ${fullPathIdentifier} = key + '__${fieldName}';
47
- store.publish(${fullPathIdentifier}, ${dataIdentifier})
55
+ ${constants_1.LUVIO_IDENTIFIER}.storePublish(${fullPathIdentifier}, ${dataIdentifier})
48
56
  ${dataIdentifier} = {
49
57
  __ref: ${fullPathIdentifier}
50
- };
58
+ } as any;
51
59
  };
52
60
  `;
53
61
  }
54
62
  const typeNameIngestImport = importGraphQLArtifact(typeName, constants_2.TYPE_INGEST_IDENTIFIER);
55
63
  return (0, deindent_1.default) `
56
64
  if(${dataIdentifier} !== undefined && ${dataIdentifier} !== null) {
65
+ const fieldNode = ${REQUESTED_FIELDS_IDENTIFIER}.find(fieldNode => fieldNode.name.value === "${fieldName}");
57
66
  const ${collectionIdentifier}: ${constants_1.LUVIO_STORE_LINK_IMPORT}[] = [];
58
67
  const ${fullPathIdentifier} = key + '__${fieldName}';
59
68
  for(let i = 0, len = ${dataIdentifier}.length; i < len; i++) {
60
69
  const item = ${dataIdentifier}[i];
61
- // add TTL Info
62
- ${collectionIdentifier}[i] = ${typeNameIngestImport}({
70
+
71
+ const itemState = {
63
72
  ...state,
64
73
  path: {
65
74
  parent: null,
@@ -67,12 +76,16 @@ function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
67
76
  fullPath: ${fullPathIdentifier} + i
68
77
  },
69
78
  data: item,
70
- })
79
+ };
80
+ ${collectionIdentifier}[i] = ${typeNameIngestImport}(
81
+ fieldNode,
82
+ itemState
83
+ )
71
84
  }
72
- ${constants_1.LUVIO_STORE_IDENTIFIER}.publish(${fullPathIdentifier}, ${collectionIdentifier})
85
+ ${constants_1.LUVIO_IDENTIFIER}.storePublish(${fullPathIdentifier}, ${collectionIdentifier})
73
86
  ${dataIdentifier} = {
74
87
  __ref: ${fullPathIdentifier}
75
- };
88
+ } as any;
76
89
  };
77
90
  `;
78
91
  }
@@ -91,38 +104,65 @@ function ingestType(field, typeNode, importContext, normalizableTypeMap) {
91
104
  }
92
105
  }
93
106
  exports.ingestType = ingestType;
94
- function generateIngestFromDef(luvioSchema, def, importContext, normalizableTypeMap) {
95
- const { schema } = luvioSchema;
107
+ function generateIngestFromDef(graphqlDsl, def, importContext, normalizableTypeMap) {
108
+ const { schema } = graphqlDsl;
96
109
  const type = schema.getType(def.name.value);
97
110
  const fieldMap = type.getFields();
98
111
  const fieldList = Object.keys(fieldMap);
99
- const statements = fieldList.map((fieldName) => {
112
+ const fieldIngestStatements = fieldList
113
+ .map((fieldName) => {
100
114
  var _a, _b;
101
115
  const field = fieldMap[fieldName];
102
116
  if (((_a = field.astNode) === null || _a === void 0 ? void 0 : _a.type) === undefined) {
103
- return;
117
+ return '';
104
118
  }
105
119
  return ingestType(field.astNode, (_b = field.astNode) === null || _b === void 0 ? void 0 : _b.type, importContext, normalizableTypeMap);
106
- });
107
- return statements.filter((statement) => statement !== '').join('\n');
120
+ })
121
+ .filter((statement) => statement !== '');
122
+ if (fieldIngestStatements.length > 0) {
123
+ fieldIngestStatements.unshift(`const ${REQUESTED_FIELDS_IDENTIFIER}: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] = astNode && astNode.selectionSet ?
124
+ astNode.selectionSet.selections
125
+ .filter((i): i is ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} => {
126
+ return i.kind === "Field";
127
+ }) :
128
+ [];`);
129
+ }
130
+ return fieldIngestStatements.join('\n');
108
131
  }
109
132
  exports.generateIngestFromDef = generateIngestFromDef;
110
- function generateIngest(state, def, importContext) {
111
- const { schema } = state;
112
- const { importGraphQLArtifact } = importContext;
113
- const normalizableTypeMap = (0, utils_1.getNormalizableTypeMap)(schema.schema);
133
+ function generateIngest(graphqlDsl, typeName, def, importContext, _metadata) {
134
+ var _a;
135
+ const { schema } = graphqlDsl;
136
+ const { importGraphQLArtifact, importAdapterUtil } = importContext;
137
+ const normalizableTypeMap = (0, utils_1.getNormalizableTypeMap)(schema);
114
138
  const createLink = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.CREATE_LINK_IDENTIFIER);
115
- const graphQLStateInterface = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_STATE_INTERFACE_IDENTIFIER);
139
+ const graphqlStateInterface = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_STATE_INTERFACE_IDENTIFIER);
140
+ const keyPrefix = importAdapterUtil('keyPrefix');
141
+ const ttl = (0, ttl_1.isTypeTtlDefined)(graphqlDsl.typeExtensions, typeName)
142
+ ? 'TTL'
143
+ : importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, 'TTL');
144
+ const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName
145
+ ? constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
146
+ : constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
116
147
  return (0, deindent_1.default) `
117
- export function ingest<D>(state: ${graphQLStateInterface}<D>) {
118
- const { path, ${constants_1.LUVIO_STORE_IDENTIFIER} } = state;
119
- const data: any = state.data;
120
- const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(path, data as any);
121
- // normalize
122
- ${generateIngestFromDef(schema, def, importContext, normalizableTypeMap)};
148
+ export function ingest(astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
149
+ const { path, ${constants_1.LUVIO_IDENTIFIER} } = state;
150
+ const data = state.data;
151
+ const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(path, data);
152
+
153
+ // normalize fields
154
+ ${generateIngestFromDef(graphqlDsl, def, importContext, normalizableTypeMap)};
123
155
 
124
156
  // publish
125
- ${constants_1.LUVIO_STORE_IDENTIFIER}.publish(key, data);
157
+ ${constants_1.LUVIO_IDENTIFIER}.storePublish(key, data);
158
+
159
+ const storeMetadataParams = {
160
+ ttl: ${ttl},
161
+ namespace: ${keyPrefix},
162
+ representationName: "${typeName}",
163
+ };
164
+ ${constants_1.LUVIO_IDENTIFIER}.publishStoreMetadata(key, storeMetadataParams);
165
+
126
166
  return ${createLink}(key);
127
167
  }
128
168
  `;
@@ -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":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode, TypeNode } from '@luvio/graphql-parser';
2
- import type { GraphQLGenerateState, GraphQLCodegenMetadata } from '../source-printer/graphql-source-printer';
2
+ import type { GraphQLCodegenMetadata } from '../source-printer/graphql-source-printer';
3
3
  import type { ImportContext } from '../../../utils/imports';
4
4
  export declare const TYPE_INTERFACE_IDENTIFIER = "Interface";
5
5
  export declare const MINIMUM_INTERFACE_IDENTIFIER: string;
@@ -8,4 +8,4 @@ export declare function generateTypeReference(type: TypeNode, importContext: Imp
8
8
  required: boolean;
9
9
  array: boolean;
10
10
  }): string;
11
- export declare function generateInterface(state: GraphQLGenerateState, name: string, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;
11
+ export declare function generateInterface(name: string, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;
@@ -87,7 +87,7 @@ function generateObjectTypeDefinitionNode(name, def, importContext, scalarToPrim
87
87
  export type ${exports.PARTIAL_INTERFACE_IDENTIFIER} = ${partialDef};
88
88
  `;
89
89
  }
90
- function generateInterface(state, name, def, importContext, metadata) {
90
+ function generateInterface(name, def, importContext, metadata) {
91
91
  return generateObjectTypeDefinitionNode(name, def, importContext, metadata.scalarToPrimitiveMap);
92
92
  }
93
93
  exports.generateInterface = generateInterface;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { GraphQLAnnotation } from '../../../intermediate/graphql-annotation';
2
+ import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
3
+ export declare function isTypeTtlDefined(typeExtensions: GraphQLAnnotation['typeExtensions'] | undefined, typeName: string): boolean;
4
+ export declare function generateTtl(graphqlDsl: LuvioGraphQLDSL, typeName: string): string;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateTtl = exports.isTypeTtlDefined = void 0;
4
+ function isTypeTtlDefined(typeExtensions, typeName) {
5
+ return (typeExtensions !== undefined &&
6
+ typeExtensions[typeName] !== undefined &&
7
+ typeExtensions[typeName].ttl !== undefined);
8
+ }
9
+ exports.isTypeTtlDefined = isTypeTtlDefined;
10
+ function generateTtl(graphqlDsl, typeName) {
11
+ const { typeExtensions } = graphqlDsl;
12
+ if (!isTypeTtlDefined(typeExtensions, typeName)) {
13
+ return '';
14
+ }
15
+ return `export const TTL = ${typeExtensions[typeName].ttl};`;
16
+ }
17
+ exports.generateTtl = generateTtl;
18
+ //# sourceMappingURL=ttl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ttl.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ttl.ts"],"names":[],"mappings":";;;AAGA,SAAgB,gBAAgB,CAC5B,cAA+D,EAC/D,QAAgB;IAEhB,OAAO,CACH,cAAc,KAAK,SAAS;QAC5B,cAAc,CAAC,QAAQ,CAAC,KAAK,SAAS;QACtC,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,SAAS,CAC7C,CAAC;AACN,CAAC;AATD,4CASC;AAED,SAAgB,WAAW,CAAC,UAA2B,EAAE,QAAgB;IACrE,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;IAEtC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE;QAC7C,OAAO,EAAE,CAAC;KACb;IACD,OAAO,sBAAsB,cAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC;AAClE,CAAC;AAPD,kCAOC"}