@powerhousedao/codegen 6.0.0-dev.109 → 6.0.0-dev.110

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 (153) hide show
  1. package/dist/src/codegen/__tests__/config.d.ts +0 -1
  2. package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
  3. package/dist/src/codegen/__tests__/config.js +0 -1
  4. package/dist/src/codegen/__tests__/config.js.map +1 -1
  5. package/dist/src/codegen/__tests__/generate-doc-model.test.js +0 -1
  6. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
  7. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +0 -5
  8. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  9. package/dist/src/codegen/__tests__/generate-editor.test.js +0 -4
  10. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  11. package/dist/src/codegen/__tests__/generate-processor.test.js +0 -1
  12. package/dist/src/codegen/__tests__/generate-processor.test.js.map +1 -1
  13. package/dist/src/codegen/__tests__/generate-subgraph.test.d.ts +2 -0
  14. package/dist/src/codegen/__tests__/generate-subgraph.test.d.ts.map +1 -0
  15. package/dist/src/codegen/__tests__/generate-subgraph.test.js +197 -0
  16. package/dist/src/codegen/__tests__/generate-subgraph.test.js.map +1 -0
  17. package/dist/src/codegen/generate.d.ts +10 -17
  18. package/dist/src/codegen/generate.d.ts.map +1 -1
  19. package/dist/src/codegen/generate.js +38 -101
  20. package/dist/src/codegen/generate.js.map +1 -1
  21. package/dist/src/codegen/index.d.ts +0 -1
  22. package/dist/src/codegen/index.d.ts.map +1 -1
  23. package/dist/src/codegen/index.js +0 -1
  24. package/dist/src/codegen/index.js.map +1 -1
  25. package/dist/src/file-builders/index.d.ts +1 -0
  26. package/dist/src/file-builders/index.d.ts.map +1 -1
  27. package/dist/src/file-builders/index.js +1 -0
  28. package/dist/src/file-builders/index.js.map +1 -1
  29. package/dist/src/file-builders/subgraph.d.ts +10 -0
  30. package/dist/src/file-builders/subgraph.d.ts.map +1 -0
  31. package/dist/src/file-builders/subgraph.js +121 -0
  32. package/dist/src/file-builders/subgraph.js.map +1 -0
  33. package/dist/src/templates/index.d.ts +1 -0
  34. package/dist/src/templates/index.d.ts.map +1 -1
  35. package/dist/src/templates/index.js +1 -0
  36. package/dist/src/templates/index.js.map +1 -1
  37. package/dist/src/templates/subgraphs/custom-resolvers.d.ts +5 -0
  38. package/dist/src/templates/subgraphs/custom-resolvers.d.ts.map +1 -0
  39. package/dist/src/{codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t → templates/subgraphs/custom-resolvers.js} +6 -6
  40. package/dist/src/templates/subgraphs/custom-resolvers.js.map +1 -0
  41. package/dist/src/templates/subgraphs/custom-schema.d.ts +5 -0
  42. package/dist/src/templates/subgraphs/custom-schema.d.ts.map +1 -0
  43. package/dist/src/templates/subgraphs/custom-schema.js +20 -0
  44. package/dist/src/templates/subgraphs/custom-schema.js.map +1 -0
  45. package/dist/src/templates/subgraphs/document-model-resolvers.d.ts +15 -0
  46. package/dist/src/templates/subgraphs/document-model-resolvers.d.ts.map +1 -0
  47. package/dist/src/{codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t → templates/subgraphs/document-model-resolvers.js} +55 -47
  48. package/dist/src/templates/subgraphs/document-model-resolvers.js.map +1 -0
  49. package/dist/src/templates/subgraphs/document-model-schema.d.ts +12 -0
  50. package/dist/src/templates/subgraphs/document-model-schema.d.ts.map +1 -0
  51. package/dist/src/templates/subgraphs/document-model-schema.js +54 -0
  52. package/dist/src/templates/subgraphs/document-model-schema.js.map +1 -0
  53. package/dist/src/templates/subgraphs/index-file.d.ts +5 -0
  54. package/dist/src/templates/subgraphs/index-file.d.ts.map +1 -0
  55. package/dist/src/{codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t → templates/subgraphs/index-file.js} +7 -7
  56. package/dist/src/templates/subgraphs/index-file.js.map +1 -0
  57. package/dist/src/templates/subgraphs/index.d.ts +7 -0
  58. package/dist/src/templates/subgraphs/index.d.ts.map +1 -0
  59. package/dist/src/templates/subgraphs/index.js +7 -0
  60. package/dist/src/templates/subgraphs/index.js.map +1 -0
  61. package/dist/src/templates/subgraphs/lib-file.d.ts +2 -0
  62. package/dist/src/templates/subgraphs/lib-file.d.ts.map +1 -0
  63. package/dist/src/templates/subgraphs/lib-file.js +8 -0
  64. package/dist/src/templates/subgraphs/lib-file.js.map +1 -0
  65. package/dist/src/utils/cli.d.ts +0 -6
  66. package/dist/src/utils/cli.d.ts.map +1 -1
  67. package/dist/src/utils/cli.js +0 -18
  68. package/dist/src/utils/cli.js.map +1 -1
  69. package/dist/src/utils/graphql-type-prefixes.d.ts +10 -0
  70. package/dist/src/utils/graphql-type-prefixes.d.ts.map +1 -0
  71. package/dist/src/utils/graphql-type-prefixes.js +51 -0
  72. package/dist/src/utils/graphql-type-prefixes.js.map +1 -0
  73. package/dist/src/utils/index.d.ts +1 -0
  74. package/dist/src/utils/index.d.ts.map +1 -1
  75. package/dist/src/utils/index.js +1 -0
  76. package/dist/src/utils/index.js.map +1 -1
  77. package/dist/tsconfig.tsbuildinfo +1 -1
  78. package/package.json +9 -18
  79. package/dist/src/codegen/.hygen/package.json +0 -6
  80. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js +0 -10
  81. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +0 -20
  82. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/actions.esm.t +0 -16
  83. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/creators.esm.t +0 -9
  84. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/customUtils.esm.t +0 -5
  85. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-schema.esm.t +0 -56
  86. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-type.esm.t +0 -6
  87. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModel.esm.t +0 -7
  88. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModelTest.esm.t +0 -121
  89. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/hooks.esm.t +0 -49
  90. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +0 -23
  91. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +0 -127
  92. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/module.esm.t +0 -22
  93. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +0 -93
  94. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +0 -46
  95. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/root-utils.esm.t +0 -11
  96. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootActions.esm.t +0 -13
  97. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +0 -14
  98. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/schema.esm.t +0 -6
  99. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/src-index.esm.t +0 -5
  100. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +0 -31
  101. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +0 -77
  102. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/actions.esm.t +0 -22
  103. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +0 -37
  104. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +0 -44
  105. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +0 -36
  106. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +0 -71
  107. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/operations.esm.t +0 -17
  108. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js +0 -119
  109. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +0 -44
  110. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +0 -58
  111. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveContents.esm.t +0 -23
  112. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +0 -32
  113. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EmptyState.esm.t +0 -19
  114. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Files.esm.t +0 -29
  115. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +0 -108
  116. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Folders.esm.t +0 -28
  117. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/NavigationBreadcrumbs.esm.t +0 -14
  118. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/config.esm.t +0 -11
  119. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +0 -20
  120. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +0 -25
  121. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/module.esm.t +0 -15
  122. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +0 -80
  123. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +0 -90
  124. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/module.esm.t +0 -16
  125. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.esm.t +0 -59
  126. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +0 -9
  127. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/utils.esm.t +0 -100
  128. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +0 -22
  129. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +0 -62
  130. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +0 -12
  131. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.esm.t +0 -10
  132. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.inject.esm.t +0 -12
  133. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +0 -34
  134. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_call.esm.t +0 -7
  135. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_export.esm.t +0 -7
  136. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_import.esm.t +0 -7
  137. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +0 -40
  138. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +0 -47
  139. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js +0 -12
  140. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.esm.t +0 -10
  141. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.inject.esm.t +0 -12
  142. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +0 -34
  143. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_call.esm.t +0 -7
  144. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_export.esm.t +0 -9
  145. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_import.esm.t +0 -7
  146. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/migrations.esm.t +0 -23
  147. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/schema.esm.t +0 -13
  148. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +0 -10
  149. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +0 -9
  150. package/dist/src/codegen/hygen.d.ts +0 -47
  151. package/dist/src/codegen/hygen.d.ts.map +0 -1
  152. package/dist/src/codegen/hygen.js +0 -230
  153. package/dist/src/codegen/hygen.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-model-resolvers.d.ts","sourceRoot":"","sources":["../../../../src/templates/subgraphs/document-model-resolvers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oCAAoC,GAAG;IACjD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,KAAK,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ,CAAC;AAEF,eAAO,MAAM,sCAAsC,GACjD,GAAG,oCAAoC,KACtC,MAwIF,CAAC"}
@@ -1,29 +1,45 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(subgraph) %>/resolvers.ts"
3
- force: true
4
- ---
5
- import type { BaseSubgraph } from "@powerhousedao/reactor-api";
6
- import { addFile } from "document-drive";
1
+ export const documentModelSubgraphResolversTemplate = (v) => {
2
+ const inputTypes = v.modules.flatMap((m) => m.operations.map((o) => `${pascal(o.name)}Input`));
3
+ const inputTypeImports = inputTypes.join(",\n ");
4
+ const operationMutations = v.modules
5
+ .flatMap((module) => module.operations.map((op) => ` ${v.pascalCaseDocumentType}_${camel(op.name)}: async (_: unknown, args: { docId: string, input: ${pascal(op.name)}Input}) => {
6
+ const { docId, input } = args;
7
+ const doc = await reactor.getDocument<${v.pascalCaseDocumentType}Document>(docId);
8
+ if(!doc) {
9
+ throw new Error("Document not found");
10
+ }
11
+
12
+ const result = await reactor.addAction(
13
+ docId,
14
+ actions.${camel(op.name)}(input)
15
+ );
16
+
17
+ if(result.status !== "SUCCESS") {
18
+ throw new Error(result.error?.message ?? "Failed to ${camel(op.name)}");
19
+ }
20
+
21
+ return true;
22
+ },
23
+ `))
24
+ .join("\n");
25
+ return `import type { BaseSubgraph } from "@powerhousedao/reactor-api";
26
+ import { addFile } from "@powerhousedao/shared/document-drive";
7
27
  import { setName } from "document-model";
8
28
  import {
9
29
  actions,
10
- <%= documentTypeVariableName %>,
11
- } from "<%= documentModelDir %>";
12
- <% const inputTypes = modules.flatMap(m =>
13
- m.operations.map(o => `${h.changeCase.pascalCase(o.name)}Input`)
14
- );
15
- %>
30
+ ${v.documentTypeVariableName},
31
+ } from "${v.documentModelDir}";
16
32
  import type {
17
- <%= phDocumentTypeName %>,
18
- <%= inputTypes.join(',\n ') %>
19
- } from "<%= documentModelDir %>";
33
+ ${v.phDocumentTypeName},
34
+ ${inputTypeImports}
35
+ } from "${v.documentModelDir}";
20
36
 
21
37
  export const getResolvers = (subgraph: BaseSubgraph): Record<string, unknown> => {
22
38
  const reactor = subgraph.reactor;
23
39
 
24
40
  return ({
25
41
  Query: {
26
- <%- pascalCaseDocumentType %>: async () => {
42
+ ${v.pascalCaseDocumentType}: async () => {
27
43
  return {
28
44
  getDocument: async (args: { docId: string, driveId: string }) => {
29
45
  const { docId, driveId } = args;
@@ -31,15 +47,15 @@ export const getResolvers = (subgraph: BaseSubgraph): Record<string, unknown> =>
31
47
  if(!docId) {
32
48
  throw new Error("Document id is required");
33
49
  }
34
-
50
+
35
51
  if(driveId) {
36
52
  const docIds = await reactor.getDocuments(driveId);
37
53
  if(!docIds.includes(docId)) {
38
- throw new Error(`Document with id ${docId} is not part of ${driveId}`);
54
+ throw new Error(\`Document with id \${docId} is not part of \${driveId}\`);
39
55
  }
40
56
  }
41
57
 
42
- const doc = await reactor.getDocument<<%= phDocumentTypeName %>>(docId);
58
+ const doc = await reactor.getDocument<${v.phDocumentTypeName}>(docId);
43
59
  return {
44
60
  driveId: driveId,
45
61
  ...doc,
@@ -56,7 +72,7 @@ export const getResolvers = (subgraph: BaseSubgraph): Record<string, unknown> =>
56
72
  const docsIds = await reactor.getDocuments(driveId);
57
73
  const docs = await Promise.all(
58
74
  docsIds.map(async (docId) => {
59
- const doc = await reactor.getDocument<<%= phDocumentTypeName %>>(docId);
75
+ const doc = await reactor.getDocument<${v.phDocumentTypeName}>(docId);
60
76
  return {
61
77
  driveId: driveId,
62
78
  ...doc,
@@ -71,24 +87,24 @@ export const getResolvers = (subgraph: BaseSubgraph): Record<string, unknown> =>
71
87
  );
72
88
 
73
89
  return docs.filter(
74
- (doc) => doc.header.documentType === <%= documentTypeVariableName %>,
90
+ (doc) => doc.header.documentType === ${v.documentTypeVariableName},
75
91
  );
76
92
  },
77
93
  };
78
94
  },
79
95
  },
80
96
  Mutation: {
81
- <%- pascalCaseDocumentType %>_createDocument: async (_: unknown, args: { name: string, driveId?: string }) => {
97
+ ${v.pascalCaseDocumentType}_createDocument: async (_: unknown, args: { name: string, driveId?: string }) => {
82
98
  const { driveId, name } = args;
83
- const document = await reactor.addDocument(<%= documentTypeVariableName %>);
84
-
99
+ const document = await reactor.addDocument(${v.documentTypeVariableName});
100
+
85
101
  if(driveId) {
86
102
  await reactor.addAction(
87
103
  driveId,
88
104
  addFile({
89
105
  name,
90
106
  id: document.header.id,
91
- documentType: <%= documentTypeVariableName %>,
107
+ documentType: ${v.documentTypeVariableName},
92
108
  }),
93
109
  );
94
110
  }
@@ -103,28 +119,20 @@ export const getResolvers = (subgraph: BaseSubgraph): Record<string, unknown> =>
103
119
  return document.header.id;
104
120
  },
105
121
 
106
- <% modules.forEach(module => { _%>
107
- <% module.operations.forEach(op => { _%>
108
- <%- pascalCaseDocumentType + '_' + h.changeCase.camel(op.name) %>: async (_: unknown, args: { docId: string, input: <%- h.changeCase.pascal(op.name) %>Input}) => {
109
- const { docId, input } = args;
110
- const doc = await reactor.getDocument<<%- pascalCaseDocumentType %>Document>(docId);
111
- if(!doc) {
112
- throw new Error("Document not found");
113
- }
114
-
115
- const result = await reactor.addAction(
116
- docId,
117
- actions.<%- h.changeCase.camel(op.name) %>(input)
118
- );
119
-
120
- if(result.status !== "SUCCESS") {
121
- throw new Error(result.error?.message ?? "Failed to <%- h.changeCase.camel(op.name) %>");
122
- }
123
-
124
- return true;
125
- },
126
-
127
- <%_ })}); %>
122
+ ${operationMutations}
128
123
  },
129
124
  });
130
125
  };
126
+ `;
127
+ };
128
+ function pascal(name) {
129
+ return name
130
+ .split(/[-_\s]+/)
131
+ .map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase())
132
+ .join("");
133
+ }
134
+ function camel(name) {
135
+ const p = pascal(name);
136
+ return p.charAt(0).toLowerCase() + p.slice(1);
137
+ }
138
+ //# sourceMappingURL=document-model-resolvers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-model-resolvers.js","sourceRoot":"","sources":["../../../../src/templates/subgraphs/document-model-resolvers.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,sCAAsC,GAAG,CACpD,CAAuC,EAC/B,EAAE;IACV,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAClD,CAAC;IAEF,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO;SACjC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAClB,MAAM,CAAC,UAAU,CAAC,GAAG,CACnB,CAAC,EAAE,EAAE,EAAE,CACL,WAAW,CAAC,CAAC,sBAAsB,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,sDAAsD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;;oDAEhF,CAAC,CAAC,sBAAsB;;;;;;;0BAOlD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;;;;oEAI4B,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;CAKjF,CACM,CACF;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;IAKL,CAAC,CAAC,wBAAwB;UACpB,CAAC,CAAC,gBAAgB;;IAExB,CAAC,CAAC,kBAAkB;IACpB,gBAAgB;UACV,CAAC,CAAC,gBAAgB;;;;;;;QAOpB,CAAC,CAAC,sBAAsB;;;;;;;;;;;;;;;;oDAgBoB,CAAC,CAAC,kBAAkB;;;;;;;;;;;;;;;;;wDAiBhB,CAAC,CAAC,kBAAkB;;;;;;;;;;;;;;;qDAevB,CAAC,CAAC,wBAAwB;;;;;;;QAOvE,CAAC,CAAC,sBAAsB;;qDAEqB,CAAC,CAAC,wBAAwB;;;;;;;;8BAQjD,CAAC,CAAC,wBAAwB;;;;;;;;;;;;;;;EAetD,kBAAkB;;;;CAInB,CAAC;AACF,CAAC,CAAC;AAEF,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,IAAI;SACR,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAChE,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,12 @@
1
+ export type DocumentModelSubgraphSchemaParams = {
2
+ pascalCaseDocumentType: string;
3
+ modules: Array<{
4
+ name: string;
5
+ operations: Array<{
6
+ name: string;
7
+ schema: string;
8
+ }>;
9
+ }>;
10
+ };
11
+ export declare const documentModelSubgraphSchemaTemplate: (v: DocumentModelSubgraphSchemaParams) => string;
12
+ //# sourceMappingURL=document-model-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-model-schema.d.ts","sourceRoot":"","sources":["../../../../src/templates/subgraphs/document-model-schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iCAAiC,GAAG;IAC9C,sBAAsB,EAAE,MAAM,CAAC;IAC/B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,KAAK,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAC9C,GAAG,iCAAiC,WAkDrC,CAAC"}
@@ -0,0 +1,54 @@
1
+ export const documentModelSubgraphSchemaTemplate = (v) => {
2
+ const mutationFields = v.modules
3
+ .flatMap((module) => module.operations.map((op) => ` ${v.pascalCaseDocumentType}_${camel(op.name)}(driveId:String, docId:PHID, input:${v.pascalCaseDocumentType}_${pascal(op.name)}Input): Int`))
4
+ .join("\n");
5
+ const moduleSchemas = v.modules
6
+ .map((module) => {
7
+ const header = `\n"""\nModule: ${pascal(module.name)}\n"""`;
8
+ const opSchemas = module.operations.map((op) => op.schema).join("\n");
9
+ return `${header}\n${opSchemas}`;
10
+ })
11
+ .join("\n");
12
+ const body = `import { gql } from "graphql-tag";
13
+ import type { DocumentNode } from "graphql";
14
+
15
+ export const schema: DocumentNode = gql\`
16
+ """
17
+ Queries: ${v.pascalCaseDocumentType} Document
18
+ """
19
+
20
+ type ${v.pascalCaseDocumentType}Queries {
21
+ getDocument(docId: PHID!, driveId: PHID): ${v.pascalCaseDocumentType}
22
+ getDocuments(driveId: String!): [${v.pascalCaseDocumentType}!]
23
+ }
24
+
25
+ type Query {
26
+ ${v.pascalCaseDocumentType}: ${v.pascalCaseDocumentType}Queries
27
+ }
28
+
29
+ """
30
+ Mutations: ${v.pascalCaseDocumentType}
31
+ """
32
+ type Mutation {
33
+
34
+ ${v.pascalCaseDocumentType}_createDocument(name:String!, driveId:String): String
35
+
36
+ ${mutationFields}
37
+ }
38
+
39
+ ${moduleSchemas}
40
+ \`
41
+ `;
42
+ return body;
43
+ };
44
+ function pascal(name) {
45
+ return name
46
+ .split(/[-_\s]+/)
47
+ .map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase())
48
+ .join("");
49
+ }
50
+ function camel(name) {
51
+ const p = pascal(name);
52
+ return p.charAt(0).toLowerCase() + p.slice(1);
53
+ }
54
+ //# sourceMappingURL=document-model-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-model-schema.js","sourceRoot":"","sources":["../../../../src/templates/subgraphs/document-model-schema.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,mCAAmC,GAAG,CACjD,CAAoC,EACpC,EAAE;IACF,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO;SAC7B,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAClB,MAAM,CAAC,UAAU,CAAC,GAAG,CACnB,CAAC,EAAE,EAAE,EAAE,CACL,OAAO,CAAC,CAAC,sBAAsB,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,sBAAsB,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAClJ,CACF;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO;SAC5B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,kBAAkB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,OAAO,GAAG,MAAM,KAAK,SAAS,EAAE,CAAC;IACnC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,IAAI,GAAG;;;;;WAKJ,CAAC,CAAC,sBAAsB;;;OAG5B,CAAC,CAAC,sBAAsB;gDACiB,CAAC,CAAC,sBAAsB;uCACjC,CAAC,CAAC,sBAAsB;;;;MAIzD,CAAC,CAAC,sBAAsB,KAAK,CAAC,CAAC,sBAAsB;;;;aAI9C,CAAC,CAAC,sBAAsB;;;;MAI/B,CAAC,CAAC,sBAAsB;;EAE5B,cAAc;;;EAGd,aAAa;;CAEd,CAAC;IACA,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,IAAI;SACR,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAChE,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const subgraphIndexFileTemplate: (v: {
2
+ pascalCaseName: string;
3
+ kebabCaseName: string;
4
+ }) => string;
5
+ //# sourceMappingURL=index-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-file.d.ts","sourceRoot":"","sources":["../../../../src/templates/subgraphs/index-file.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,GAAI,GAAG;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,WAeI,CAAC"}
@@ -1,17 +1,17 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
- unless_exists: true
4
- ---
1
+ import { ts } from "@tmpl/core";
2
+ export const subgraphIndexFileTemplate = (v) => ts `
5
3
  import { BaseSubgraph } from "@powerhousedao/reactor-api";
6
4
  import type { DocumentNode } from "graphql";
7
5
  import { schema } from "./schema.js";
8
6
  import { getResolvers } from "./resolvers.js";
9
7
 
10
- export class <%= pascalName %>Subgraph extends BaseSubgraph {
11
- name = "<%= h.changeCase.param(name) %>";
8
+ export class ${v.pascalCaseName}Subgraph extends BaseSubgraph {
9
+ name = "${v.kebabCaseName}";
12
10
  typeDefs: DocumentNode = schema;
13
11
  resolvers = getResolvers(this);
14
12
  additionalContextFields = {};
15
13
  async onSetup() {}
16
14
  async onDisconnect() {}
17
- }
15
+ }
16
+ `.raw;
17
+ //# sourceMappingURL=index-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-file.js","sourceRoot":"","sources":["../../../../src/templates/subgraphs/index-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAGzC,EAAE,EAAE,CACH,EAAE,CAAA;;;;;;eAMW,CAAC,CAAC,cAAc;YACnB,CAAC,CAAC,aAAa;;;;;;;CAO1B,CAAC,GAAG,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./index-file.js";
2
+ export * from "./lib-file.js";
3
+ export * from "./custom-schema.js";
4
+ export * from "./custom-resolvers.js";
5
+ export * from "./document-model-schema.js";
6
+ export * from "./document-model-resolvers.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/templates/subgraphs/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./index-file.js";
2
+ export * from "./lib-file.js";
3
+ export * from "./custom-schema.js";
4
+ export * from "./custom-resolvers.js";
5
+ export * from "./document-model-schema.js";
6
+ export * from "./document-model-resolvers.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/templates/subgraphs/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const subgraphLibFileTemplate: () => string;
2
+ //# sourceMappingURL=lib-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib-file.d.ts","sourceRoot":"","sources":["../../../../src/templates/subgraphs/lib-file.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,cAM/B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ts } from "@tmpl/core";
2
+ export const subgraphLibFileTemplate = () => ts `
3
+ /**
4
+ * This is a scaffold file meant for customization.
5
+ * Delete the file and run the code generator again to have it reset
6
+ */
7
+ `.raw;
8
+ //# sourceMappingURL=lib-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib-file.js","sourceRoot":"","sources":["../../../../src/templates/subgraphs/lib-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAC1C,EAAE,CAAA;;;;;CAKH,CAAC,GAAG,CAAC"}
@@ -17,10 +17,4 @@ export declare function parseConfig(argv: string[]): Partial<{
17
17
  interactive?: boolean;
18
18
  watch?: boolean;
19
19
  }>;
20
- type DefaultDirectories = {
21
- documentModelsDir: string;
22
- editorsDir: string;
23
- };
24
- export declare function promptDirectories(defaultDirs: DefaultDirectories): Promise<DefaultDirectories>;
25
- export {};
26
20
  //# sourceMappingURL=cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/utils/cli.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAKtB,eAAO,MAAM,UAAU;;;;;;;;;CASb,CAAC;AAEX,wBAAgB,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,iBAOpE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE;wBAElB,MAAM;iBACb,MAAM;iBACN,OAAO;kBACN,OAAO;YACb,OAAO;GAuBlB;AAED,KAAK,kBAAkB,GAAG;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,kBAAkB,+BAetE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/utils/cli.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,UAAU;;;;;;;;;CASb,CAAC;AAEX,wBAAgB,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,iBAOpE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE;wBAElB,MAAM;iBACb,MAAM;iBACN,OAAO;kBACN,OAAO;YACb,OAAO;GAuBlB"}
@@ -1,6 +1,4 @@
1
1
  import arg from "arg";
2
- import enquirer from "enquirer";
3
- const { prompt } = enquirer;
4
2
  export const configSpec = {
5
3
  "--document-models": String,
6
4
  "--editors": String,
@@ -38,20 +36,4 @@ export function parseConfig(argv) {
38
36
  }
39
37
  return config;
40
38
  }
41
- export async function promptDirectories(defaultDirs) {
42
- return prompt([
43
- {
44
- type: "input",
45
- name: "documentModelsDir",
46
- message: "Where to place the Document Models?",
47
- initial: defaultDirs.documentModelsDir,
48
- },
49
- {
50
- type: "input",
51
- name: "editorsDir",
52
- message: "Where to place the Editors?",
53
- initial: defaultDirs.editorsDir,
54
- },
55
- ]);
56
- }
57
39
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/utils/cli.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,mBAAmB,EAAE,MAAM;IAC3B,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,OAAO;IACxB,eAAe,EAAE,OAAO;IACxB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,UAAU,SAAS,CAAqB,IAAc,EAAE,IAAO;IACnE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE;QACrB,UAAU,EAAE,IAAI;QAChB,IAAI;KACL,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,MAAM,MAAM,GAMP,EAAE,CAAC;IACR,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEzC,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAA+B;IACrE,OAAO,MAAM,CAAqB;QAChC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE,WAAW,CAAC,iBAAiB;SACvC;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,6BAA6B;YACtC,OAAO,EAAE,WAAW,CAAC,UAAU;SAChC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/utils/cli.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,mBAAmB,EAAE,MAAM;IAC3B,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,OAAO;IACxB,eAAe,EAAE,OAAO;IACxB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,UAAU,SAAS,CAAqB,IAAc,EAAE,IAAO;IACnE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE;QACrB,UAAU,EAAE,IAAI;QAChB,IAAI;KACL,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,MAAM,MAAM,GAMP,EAAE,CAAC;IACR,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEzC,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Extract type names from a GraphQL schema.
3
+ * Finds all type, enum, union, interface, and input definitions.
4
+ */
5
+ export declare function extractTypeNames(schema: string): string[];
6
+ /**
7
+ * Apply type prefixes to GraphQL schema to namespace types and avoid collisions.
8
+ */
9
+ export declare function applyGraphQLTypePrefixes(schema: string, prefix: string, externalTypeNames?: string[]): string;
10
+ //# sourceMappingURL=graphql-type-prefixes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-type-prefixes.d.ts","sourceRoot":"","sources":["../../../src/utils/graphql-type-prefixes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAYzD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,iBAAiB,GAAE,MAAM,EAAO,GAC/B,MAAM,CAiDR"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Extract type names from a GraphQL schema.
3
+ * Finds all type, enum, union, interface, and input definitions.
4
+ */
5
+ export function extractTypeNames(schema) {
6
+ const found = schema.match(/(type|enum|union|interface|input)\s+(\w+)\s/g);
7
+ if (!found)
8
+ return [];
9
+ return found.map((f) => f
10
+ .replaceAll("type ", "")
11
+ .replaceAll("enum ", "")
12
+ .replaceAll("union ", "")
13
+ .replaceAll("interface ", "")
14
+ .replaceAll("input ", "")
15
+ .trim());
16
+ }
17
+ /**
18
+ * Apply type prefixes to GraphQL schema to namespace types and avoid collisions.
19
+ */
20
+ export function applyGraphQLTypePrefixes(schema, prefix, externalTypeNames = []) {
21
+ if (!schema || !schema.trim()) {
22
+ return schema;
23
+ }
24
+ let processedSchema = schema;
25
+ // Find types defined in this schema
26
+ const localTypeNames = extractTypeNames(schema);
27
+ // Combine with external type names (remove duplicates)
28
+ const allTypeNames = [...new Set([...localTypeNames, ...externalTypeNames])];
29
+ if (allTypeNames.length === 0) {
30
+ return schema;
31
+ }
32
+ allTypeNames.forEach((typeName) => {
33
+ const typeRegex = new RegExp(
34
+ // Match type references in various GraphQL contexts
35
+ `(?<![_A-Za-z0-9])(${typeName})(?![_A-Za-z0-9])|` +
36
+ `\\[(${typeName})\\]|` +
37
+ `\\[(${typeName})!\\]|` +
38
+ `\\[(${typeName})\\]!|` +
39
+ `\\[(${typeName})!\\]!`, "g");
40
+ processedSchema = processedSchema.replace(typeRegex, (match, p1, p2, p3, p4, p5) => {
41
+ if (match.startsWith("[")) {
42
+ const captured = p2 || p3 || p4 || p5;
43
+ return match.replace(captured, `${prefix}_${captured}`);
44
+ }
45
+ // Basic type reference
46
+ return `${prefix}_${p1}`;
47
+ });
48
+ });
49
+ return processedSchema;
50
+ }
51
+ //# sourceMappingURL=graphql-type-prefixes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-type-prefixes.js","sourceRoot":"","sources":["../../../src/utils/graphql-type-prefixes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC3E,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrB,CAAC;SACE,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;SACvB,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;SACvB,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;SACxB,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC;SAC5B,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;SACxB,IAAI,EAAE,CACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAc,EACd,MAAc,EACd,oBAA8B,EAAE;IAEhC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,eAAe,GAAG,MAAM,CAAC;IAE7B,oCAAoC;IACpC,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEhD,uDAAuD;IACvD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAE7E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChC,MAAM,SAAS,GAAG,IAAI,MAAM;QAC1B,oDAAoD;QACpD,qBAAqB,QAAQ,oBAAoB;YAC/C,OAAO,QAAQ,OAAO;YACtB,OAAO,QAAQ,QAAQ;YACvB,OAAO,QAAQ,QAAQ;YACvB,OAAO,QAAQ,QAAQ,EACzB,GAAG,CACJ,CAAC;QAEF,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,SAAS,EACT,CACE,KAAa,EACb,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAE;YACF,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,uBAAuB;YACvB,OAAO,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC;QAC3B,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -9,4 +9,5 @@ export * from "./ts-morph-project.js";
9
9
  export * from "./unsafe-utils.js";
10
10
  export * from "./validation.js";
11
11
  export * from "./mock.js";
12
+ export * from "./graphql-type-prefixes.js";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,4BAA4B,CAAC"}
@@ -9,4 +9,5 @@ export * from "./ts-morph-project.js";
9
9
  export * from "./unsafe-utils.js";
10
10
  export * from "./validation.js";
11
11
  export * from "./mock.js";
12
+ export * from "./graphql-type-prefixes.js";
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,4BAA4B,CAAC"}