@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.
- package/dist/src/codegen/__tests__/config.d.ts +0 -1
- package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
- package/dist/src/codegen/__tests__/config.js +0 -1
- package/dist/src/codegen/__tests__/config.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-doc-model.test.js +0 -1
- package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js +0 -5
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-editor.test.js +0 -4
- package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-processor.test.js +0 -1
- package/dist/src/codegen/__tests__/generate-processor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-subgraph.test.d.ts +2 -0
- package/dist/src/codegen/__tests__/generate-subgraph.test.d.ts.map +1 -0
- package/dist/src/codegen/__tests__/generate-subgraph.test.js +197 -0
- package/dist/src/codegen/__tests__/generate-subgraph.test.js.map +1 -0
- package/dist/src/codegen/generate.d.ts +10 -17
- package/dist/src/codegen/generate.d.ts.map +1 -1
- package/dist/src/codegen/generate.js +38 -101
- package/dist/src/codegen/generate.js.map +1 -1
- package/dist/src/codegen/index.d.ts +0 -1
- package/dist/src/codegen/index.d.ts.map +1 -1
- package/dist/src/codegen/index.js +0 -1
- package/dist/src/codegen/index.js.map +1 -1
- package/dist/src/file-builders/index.d.ts +1 -0
- package/dist/src/file-builders/index.d.ts.map +1 -1
- package/dist/src/file-builders/index.js +1 -0
- package/dist/src/file-builders/index.js.map +1 -1
- package/dist/src/file-builders/subgraph.d.ts +10 -0
- package/dist/src/file-builders/subgraph.d.ts.map +1 -0
- package/dist/src/file-builders/subgraph.js +121 -0
- package/dist/src/file-builders/subgraph.js.map +1 -0
- package/dist/src/templates/index.d.ts +1 -0
- package/dist/src/templates/index.d.ts.map +1 -1
- package/dist/src/templates/index.js +1 -0
- package/dist/src/templates/index.js.map +1 -1
- package/dist/src/templates/subgraphs/custom-resolvers.d.ts +5 -0
- package/dist/src/templates/subgraphs/custom-resolvers.d.ts.map +1 -0
- package/dist/src/{codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t → templates/subgraphs/custom-resolvers.js} +6 -6
- package/dist/src/templates/subgraphs/custom-resolvers.js.map +1 -0
- package/dist/src/templates/subgraphs/custom-schema.d.ts +5 -0
- package/dist/src/templates/subgraphs/custom-schema.d.ts.map +1 -0
- package/dist/src/templates/subgraphs/custom-schema.js +20 -0
- package/dist/src/templates/subgraphs/custom-schema.js.map +1 -0
- package/dist/src/templates/subgraphs/document-model-resolvers.d.ts +15 -0
- package/dist/src/templates/subgraphs/document-model-resolvers.d.ts.map +1 -0
- package/dist/src/{codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t → templates/subgraphs/document-model-resolvers.js} +55 -47
- package/dist/src/templates/subgraphs/document-model-resolvers.js.map +1 -0
- package/dist/src/templates/subgraphs/document-model-schema.d.ts +12 -0
- package/dist/src/templates/subgraphs/document-model-schema.d.ts.map +1 -0
- package/dist/src/templates/subgraphs/document-model-schema.js +54 -0
- package/dist/src/templates/subgraphs/document-model-schema.js.map +1 -0
- package/dist/src/templates/subgraphs/index-file.d.ts +5 -0
- package/dist/src/templates/subgraphs/index-file.d.ts.map +1 -0
- package/dist/src/{codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t → templates/subgraphs/index-file.js} +7 -7
- package/dist/src/templates/subgraphs/index-file.js.map +1 -0
- package/dist/src/templates/subgraphs/index.d.ts +7 -0
- package/dist/src/templates/subgraphs/index.d.ts.map +1 -0
- package/dist/src/templates/subgraphs/index.js +7 -0
- package/dist/src/templates/subgraphs/index.js.map +1 -0
- package/dist/src/templates/subgraphs/lib-file.d.ts +2 -0
- package/dist/src/templates/subgraphs/lib-file.d.ts.map +1 -0
- package/dist/src/templates/subgraphs/lib-file.js +8 -0
- package/dist/src/templates/subgraphs/lib-file.js.map +1 -0
- package/dist/src/utils/cli.d.ts +0 -6
- package/dist/src/utils/cli.d.ts.map +1 -1
- package/dist/src/utils/cli.js +0 -18
- package/dist/src/utils/cli.js.map +1 -1
- package/dist/src/utils/graphql-type-prefixes.d.ts +10 -0
- package/dist/src/utils/graphql-type-prefixes.d.ts.map +1 -0
- package/dist/src/utils/graphql-type-prefixes.js +51 -0
- package/dist/src/utils/graphql-type-prefixes.js.map +1 -0
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +1 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -18
- package/dist/src/codegen/.hygen/package.json +0 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js +0 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +0 -20
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/actions.esm.t +0 -16
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/creators.esm.t +0 -9
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/customUtils.esm.t +0 -5
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-schema.esm.t +0 -56
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-type.esm.t +0 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModel.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModelTest.esm.t +0 -121
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/hooks.esm.t +0 -49
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +0 -23
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +0 -127
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/module.esm.t +0 -22
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +0 -93
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +0 -46
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/root-utils.esm.t +0 -11
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootActions.esm.t +0 -13
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +0 -14
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/schema.esm.t +0 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/src-index.esm.t +0 -5
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +0 -31
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +0 -77
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/actions.esm.t +0 -22
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +0 -37
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +0 -44
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +0 -36
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +0 -71
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/operations.esm.t +0 -17
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js +0 -119
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +0 -44
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +0 -58
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveContents.esm.t +0 -23
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +0 -32
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EmptyState.esm.t +0 -19
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Files.esm.t +0 -29
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +0 -108
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Folders.esm.t +0 -28
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/NavigationBreadcrumbs.esm.t +0 -14
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/config.esm.t +0 -11
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +0 -20
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +0 -25
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/module.esm.t +0 -15
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +0 -80
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +0 -90
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/module.esm.t +0 -16
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.esm.t +0 -59
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +0 -9
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/utils.esm.t +0 -100
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +0 -22
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +0 -62
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +0 -12
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.esm.t +0 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.inject.esm.t +0 -12
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +0 -34
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_call.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_export.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_import.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +0 -40
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +0 -47
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js +0 -12
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.esm.t +0 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.inject.esm.t +0 -12
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +0 -34
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_call.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_export.esm.t +0 -9
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_import.esm.t +0 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/migrations.esm.t +0 -23
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/schema.esm.t +0 -13
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +0 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +0 -9
- package/dist/src/codegen/hygen.d.ts +0 -47
- package/dist/src/codegen/hygen.d.ts.map +0 -1
- package/dist/src/codegen/hygen.js +0 -230
- 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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
11
|
-
} from "
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
} from "
|
|
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
|
-
|
|
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(
|
|
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
|
|
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
|
|
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 ===
|
|
90
|
+
(doc) => doc.header.documentType === ${v.documentTypeVariableName},
|
|
75
91
|
);
|
|
76
92
|
},
|
|
77
93
|
};
|
|
78
94
|
},
|
|
79
95
|
},
|
|
80
96
|
Mutation: {
|
|
81
|
-
|
|
97
|
+
${v.pascalCaseDocumentType}_createDocument: async (_: unknown, args: { name: string, driveId?: string }) => {
|
|
82
98
|
const { driveId, name } = args;
|
|
83
|
-
const document = await reactor.addDocument(
|
|
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:
|
|
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
|
-
|
|
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 @@
|
|
|
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
|
-
|
|
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
|
|
11
|
-
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 @@
|
|
|
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"}
|
package/dist/src/utils/cli.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/src/utils/cli.js
CHANGED
|
@@ -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;
|
|
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"}
|
|
@@ -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"}
|
package/dist/src/utils/index.js
CHANGED
|
@@ -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"}
|