@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
@@ -1,100 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/utils.ts"
3
- unless_exists: true
4
- ---
5
- import { randomUUID } from "crypto";
6
- import { DocumentDriveServer, IBaseDocumentDriveServer } from "document-drive";
7
- import {
8
- actions,
9
- generateSynchronizationUnits
10
- } from "document-model-libs/document-drive";
11
- import * as DocumentModelsLibs from "document-model-libs/document-models";
12
- import { DocumentModel } from "document-model";
13
- import { module as DocumentModelLib } from "document-model";
14
- import * as LocalDocumentModels from "../../document-models";
15
-
16
- export const addFolder = (
17
- driveServer: IBaseDocumentDriveServer,
18
- driveId: string,
19
- nodeId: string,
20
- nodeName: string,
21
- parentFolder: string | undefined = undefined
22
- ) => {
23
- return driveServer.addDriveAction(
24
- driveId,
25
- actions.addFolder({
26
- id: nodeId,
27
- name: nodeName,
28
- parentFolder: parentFolder,
29
- })
30
- );
31
- };
32
-
33
- export const addDocument = async (
34
- driveServer: IBaseDocumentDriveServer,
35
- driveId: string,
36
- documentId: string,
37
- documentName: string,
38
- documentType: string,
39
- parentFolder: string
40
- ) => {
41
- const drive = await driveServer.getDrive(driveId);
42
- return driveServer.addDriveAction(
43
- driveId,
44
- actions.addFile({
45
- documentType,
46
- id: documentId,
47
- name: documentName,
48
- parentFolder,
49
- synchronizationUnits: generateSynchronizationUnits(drive.state.global, [
50
- "global",
51
- ]),
52
- })
53
- );
54
- };
55
-
56
- export const initReactorWithRemoteDrive = async (driveUrl: string) => {
57
- const documentModels = [
58
- DocumentModelLib,
59
- ...Object.values(LocalDocumentModels),
60
- ...Object.values(DocumentModelsLibs),
61
- ] as DocumentModel[];
62
- const driveServer = new DocumentDriveServer(documentModels);
63
- await driveServer.initialize();
64
- return new Promise((resolve, reject) => {
65
- // init drive server with document models
66
- const listenerId = randomUUID();
67
- driveServer.addRemoteDrive(driveUrl, {
68
- availableOffline: true,
69
- listeners: [
70
- {
71
- block: true,
72
- callInfo: {
73
- data: driveUrl,
74
- name: "switchboard-push",
75
- transmitterType: "SwitchboardPush",
76
- },
77
- filter: {
78
- branch: ["main"],
79
- documentId: ["*"],
80
- documentType: ["*"],
81
- scope: ["global"],
82
- },
83
- label: "Switchboard Sync",
84
- listenerId,
85
- system: true,
86
- },
87
- ],
88
- sharingType: "public",
89
- triggers: [],
90
- pullInterval: 100,
91
- });
92
-
93
- driveServer.on("syncStatus", (driveId, status, error, syncUnitStatus) => {
94
- if (driveId !== driveId.split("/").pop() || status !== "SUCCESS") {
95
- return;
96
- }
97
- return resolve(driveServer);
98
- });
99
- });
100
- };
@@ -1,22 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/factory.ts"
3
- unless_exists: true
4
- ---
5
- import { type ProcessorRecord } from "document-drive";
6
- import { type IProcessorHostModule } from "document-drive";
7
- import { type PHDocumentHeader } from "document-model";
8
- import { <%= pascalName %>Processor } from "./index.js";
9
-
10
- export const <%= h.changeCase.pascal(name) %>ProcessorFactory = (module: IProcessorHostModule) => (driveHeader: PHDocumentHeader): ProcessorRecord[] => {
11
- return [
12
- {
13
- processor: new <%= pascalName %>Processor(module.analyticsStore),
14
- filter: {
15
- branch: ["main"],
16
- documentId: ["*"],
17
- scope: ["*"],
18
- documentType: [<% if(documentTypes.length) { %><%- documentTypes.map(type => `"${type}"`).join(", ") %><% } else { %>"*"<% } %>],
19
- },
20
- },
21
- ];
22
- }
@@ -1,62 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
- unless_exists: true
4
- ---
5
- import type { AnalyticsSeriesInput, IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
6
- import { AnalyticsPath } from "@powerhousedao/analytics-engine-core";
7
- import type { InternalTransmitterUpdate, IProcessor } from "document-drive";
8
-
9
- export class <%= pascalName %>Processor implements IProcessor {
10
- private readonly NAMESPACE = "<%= pascalName %>";
11
-
12
- private readonly inputs: AnalyticsSeriesInput[] = [];
13
-
14
- constructor(private readonly analyticsStore: IAnalyticsStore) {
15
- //
16
- }
17
-
18
- async onStrands(strands: InternalTransmitterUpdate[]): Promise<void> {
19
- if (strands.length === 0) {
20
- return;
21
- }
22
-
23
- for (const strand of strands) {
24
- if (strand.operations.length === 0) {
25
- continue;
26
- }
27
-
28
- const source = AnalyticsPath.fromString(
29
- `/${this.NAMESPACE}/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`,
30
- );
31
-
32
- // clear source if we have already inserted these analytics
33
- const firstOp = strand.operations[0];
34
- if (firstOp.index === 0) {
35
- await this.clearSource(source);
36
- }
37
-
38
- for (const operation of strand.operations) {
39
- // this.inputs.push( ... );
40
- }
41
- }
42
-
43
- // batch insert
44
- if (this.inputs.length > 0) {
45
- await this.analyticsStore.addSeriesValues(this.inputs);
46
-
47
- this.inputs.length = 0;
48
- }
49
- }
50
-
51
- async onDisconnect() {
52
- //
53
- }
54
-
55
- private async clearSource(source: AnalyticsPath) {
56
- try {
57
- await this.analyticsStore.clearSeriesBySource(source, true);
58
- } catch (e) {
59
- console.error(e);
60
- }
61
- }
62
- }
@@ -1,12 +0,0 @@
1
- // @ts-check
2
- module.exports = {
3
- params: ({ args }) => {
4
- return {
5
- rootDir: args.rootDir,
6
- name: args.name,
7
- documentTypes: args.documentTypes
8
- .split(",")
9
- .filter((type) => type !== ""),
10
- };
11
- },
12
- };
@@ -1,10 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/index.ts"
3
- unless_exists: true
4
- ---
5
- /**
6
- * Processor exports
7
- * This file is auto-generated and updated by codegen
8
- */
9
-
10
- export { processorFactory } from "./factory.js";
@@ -1,12 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/index.ts"
3
- prepend: true
4
- skip_if: 'export { processorFactory } from "./factory.js"'
5
- inject: true
6
- ---
7
- /**
8
- * Processor exports
9
- * This file is auto-generated and updated by codegen
10
- */
11
-
12
- export { processorFactory } from "./factory.js";
@@ -1,34 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/factory.ts"
3
- unless_exists: true
4
- ---
5
- /**
6
- * This file aggregates all processor factories
7
- * Auto-generated by codegen - DO NOT EDIT MANUALLY
8
- */
9
-
10
- import { type ProcessorRecord, type ProcessorFactory } from "document-drive";
11
- import { type IProcessorHostModule } from "document-drive";
12
- import { type PHDocumentHeader } from "document-model";
13
-
14
- // Import processor factories here as they are generated
15
-
16
- export const processorFactory = (module: IProcessorHostModule) => {
17
- // Initialize all processor factories once with the module
18
- const factories: Array<ProcessorFactory> = [];
19
-
20
- // Add processors here as they are generated
21
-
22
- // Return the inner function that will be called for each drive
23
- return async (driveHeader: PHDocumentHeader): Promise<ProcessorRecord[]> => {
24
- const processors: ProcessorRecord[] = [];
25
-
26
- // Call each cached factory with the driveHeader
27
- for (const factory of factories) {
28
- const factoryProcessors = await factory(driveHeader);
29
- processors.push(...factoryProcessors);
30
- }
31
-
32
- return processors;
33
- };
34
- }
@@ -1,7 +0,0 @@
1
- ---
2
- inject: true
3
- to: "<%= rootDir %>/factory.ts"
4
- after: " // Add processors here as they are generated"
5
- skip_if: "<%= h.changeCase.pascal(name) %>ProcessorFactory"
6
- ---
7
- factories.push(<%= h.changeCase.pascal(name) %>ProcessorFactory(module));
@@ -1,7 +0,0 @@
1
- ---
2
- inject: true
3
- append: true
4
- to: "<%= rootDir %>/index.ts"
5
- skip_if: "<%= h.changeCase.pascal(name) %>"
6
- ---
7
- export { <%= h.changeCase.pascal(name) %>Processor } from "./<%= h.changeCase.param(name) %>/index.js";
@@ -1,7 +0,0 @@
1
- ---
2
- inject: true
3
- to: "<%= rootDir %>/factory.ts"
4
- after: "// Import processor factories here as they are generated"
5
- skip_if: "{ <%= h.changeCase.pascal(name) %>ProcessorFactory }"
6
- ---
7
- import { <%= h.changeCase.pascal(name) %>ProcessorFactory } from "./<%= h.changeCase.param(name) %>/factory.js";
@@ -1,40 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/factory.ts"
3
- unless_exists: true
4
- ---
5
- import {
6
- type ProcessorRecord,
7
- type IProcessorHostModule
8
- } from "document-drive";
9
- import {
10
- type RelationalDbProcessorFilter,
11
- } from "document-drive";
12
- import { type PHDocumentHeader } from "document-model";
13
- import { <%= pascalName %>Processor } from "./index.js";
14
-
15
- export const <%= h.changeCase.camel(name) %>ProcessorFactory = (module: IProcessorHostModule) => async (driveHeader: PHDocumentHeader): Promise<ProcessorRecord[]> => {
16
- // Create a namespace for the processor and the provided drive id
17
- const namespace = <%= pascalName %>Processor.getNamespace(driveHeader.id);
18
-
19
- // Create a namespaced db for the processor
20
- const store = await module.relationalDb.createNamespace<<%= pascalName %>Processor>(
21
- namespace,
22
- );
23
-
24
- // Create a filter for the processor
25
- const filter: RelationalDbProcessorFilter = {
26
- branch: ["main"],
27
- documentId: ["*"],
28
- documentType: [<% if(documentTypes.length) { %><%- documentTypes.map(type => `"${type}"`).join(", ") %><% } else { %>"*"<% } %>],
29
- scope: ["global"],
30
- };
31
-
32
- // Create the processor
33
- const processor = new <%= pascalName %>Processor(namespace, filter, store);
34
- return [
35
- {
36
- processor,
37
- filter,
38
- },
39
- ];
40
- }
@@ -1,47 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
- unless_exists: true
4
- ---
5
- import { RelationalDbProcessor } from "document-drive";
6
- import type { InternalTransmitterUpdate } from "document-drive";
7
- import { up } from "./migrations.js";
8
- import type { DB } from "./schema.js";
9
-
10
- export class <%= pascalName %>Processor extends RelationalDbProcessor<DB> {
11
- static override getNamespace(driveId: string): string {
12
- // Default namespace: `${this.name}_${driveId.replaceAll("-", "_")}`
13
- return super.getNamespace(driveId);
14
- }
15
-
16
- override async initAndUpgrade(): Promise<void> {
17
- await up(this.relationalDb);
18
- }
19
-
20
- override async onStrands(
21
- strands: InternalTransmitterUpdate[],
22
- ): Promise<void> {
23
- if (strands.length === 0) {
24
- return;
25
- }
26
-
27
- for (const strand of strands) {
28
- if (strand.operations.length === 0) {
29
- continue;
30
- }
31
-
32
- for (const operation of strand.operations) {
33
- await this.relationalDb
34
- .insertInto("todo")
35
- .values({
36
- task: `${strand.documentId}-${operation.index}: ${operation.action.type}`,
37
- status: true,
38
- })
39
- .onConflict((oc) => oc.column("task").doNothing())
40
- .execute();
41
- }
42
- }
43
- }
44
-
45
- async onDisconnect() {}
46
-
47
- }
@@ -1,12 +0,0 @@
1
- // @ts-check
2
- module.exports = {
3
- params: ({ args }) => {
4
- return {
5
- rootDir: args.rootDir,
6
- name: args.name,
7
- documentTypes: args.documentTypes
8
- .split(",")
9
- .filter((type) => type !== ""),
10
- };
11
- },
12
- };
@@ -1,10 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/index.ts"
3
- unless_exists: true
4
- ---
5
- /**
6
- * Processor exports
7
- * This file is auto-generated and updated by codegen
8
- */
9
-
10
- export { processorFactory } from "./factory.js";
@@ -1,12 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/index.ts"
3
- prepend: true
4
- skip_if: 'export { processorFactory } from "./factory.js"'
5
- inject: true
6
- ---
7
- /**
8
- * Processor exports
9
- * This file is auto-generated and updated by codegen
10
- */
11
-
12
- export { processorFactory } from "./factory.js";
@@ -1,34 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/factory.ts"
3
- unless_exists: true
4
- ---
5
- /**
6
- * This file aggregates all processor factories
7
- * Auto-generated by codegen - DO NOT EDIT MANUALLY
8
- */
9
-
10
- import { type ProcessorRecord, type IProcessorHostModule, type ProcessorFactory } from "document-drive";
11
- import { type PHDocumentHeader } from "document-model";
12
-
13
- // Import processor factories here as they are generated
14
-
15
- export const processorFactory = (module: IProcessorHostModule) => {
16
- // Initialize all processor factories once with the module
17
- const factories: Array<ProcessorFactory> = [];
18
-
19
- // Add processors here as they are generated
20
-
21
- // Return the inner function that will be called for each drive
22
- return async (driveHeader: PHDocumentHeader): Promise<ProcessorRecord[]> => {
23
- const processors: ProcessorRecord[] = [];
24
-
25
- // Call each cached factory with the driveHeader
26
- for (const factory of factories) {
27
- const factoryProcessors = await factory(driveHeader);
28
- processors.push(...factoryProcessors);
29
- }
30
-
31
- return processors;
32
- };
33
- }
34
-
@@ -1,7 +0,0 @@
1
- ---
2
- inject: true
3
- to: "<%= rootDir %>/factory.ts"
4
- after: " // Add processors here as they are generated"
5
- skip_if: "<%= h.changeCase.camel(name) %>ProcessorFactory"
6
- ---
7
- factories.push(<%= h.changeCase.camel(name) %>ProcessorFactory(module));
@@ -1,9 +0,0 @@
1
- ---
2
- inject: true
3
- append: true
4
- to: "<%= rootDir %>/index.ts"
5
- skip_if: "<%= h.changeCase.pascal(name) %>"
6
- unless_exists: true
7
- ---
8
- export * as <%= h.changeCase.pascal(name) %>Processor from "./<%= h.changeCase.param(name) %>/index.js";
9
- export { <%= h.changeCase.camel(name) %>ProcessorFactory } from "./<%= h.changeCase.param(name) %>/factory.js";
@@ -1,7 +0,0 @@
1
- ---
2
- inject: true
3
- to: "<%= rootDir %>/factory.ts"
4
- after: "// Import processor factories here as they are generated"
5
- skip_if: "{ <%= h.changeCase.camel(name) %>ProcessorFactory }"
6
- ---
7
- import { <%= h.changeCase.camel(name) %>ProcessorFactory } from "./<%= h.changeCase.param(name) %>/factory.js";
@@ -1,23 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/migrations.ts"
3
- unless_exists: true
4
- ---
5
- import { type IRelationalDb } from "document-drive"
6
-
7
- export async function up(db: IRelationalDb<any>): Promise<void> {
8
- // Create table
9
- await db.schema
10
- .createTable("todo")
11
- .addColumn("task", "varchar(255)")
12
- .addColumn("status", "boolean")
13
- .addPrimaryKeyConstraint("todo_pkey", [
14
- "task"
15
- ])
16
- .ifNotExists()
17
- .execute();
18
- }
19
-
20
- export async function down(db: IRelationalDb<any>): Promise<void> {
21
- // drop table
22
- await db.schema.dropTable("todo").execute();
23
- }
@@ -1,13 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/schema.ts"
3
- unless_exists: true
4
- ---
5
- export interface Todo {
6
- status: boolean | null;
7
- task: string;
8
- }
9
-
10
- export interface DB {
11
- todo: Todo;
12
- }
13
-
@@ -1,10 +0,0 @@
1
- // @ts-check
2
- module.exports = {
3
- params: ({ args }) => {
4
- return {
5
- rootDir: args.rootDir,
6
- name: args.name,
7
- loadFromFile: args.loadFromFile,
8
- };
9
- },
10
- };
@@ -1,9 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/index.ts"
3
- unless_exists: true
4
- ---
5
- /**
6
- * This is a scaffold file meant for customization.
7
- * Delete the file and run the code generator again to have it reset
8
- */
9
-
@@ -1,47 +0,0 @@
1
- import type { PowerhouseConfig } from "@powerhousedao/config";
2
- import type { DocumentModelGlobalState } from "@powerhousedao/shared/document-model";
3
- import type { CodegenOptions, DocumentTypesMap } from "./types.js";
4
- export declare function run(args: string[], { watch, skipFormat, verbose }?: {
5
- watch?: boolean | undefined;
6
- skipFormat?: boolean | undefined;
7
- verbose?: boolean | undefined;
8
- }): Promise<import("hygen/dist/types.js").RunnerResult>;
9
- export declare function hygenGenerateDocumentModel(documentModelState: DocumentModelGlobalState, dir: string, packageName: string, { watch, skipFormat, verbose, force }?: {
10
- watch?: boolean | undefined;
11
- skipFormat?: boolean | undefined;
12
- verbose?: boolean | undefined;
13
- force?: boolean | undefined;
14
- }): Promise<void>;
15
- type HygenGenerateEditorArgs = {
16
- name: string;
17
- documentTypes: string[];
18
- documentTypesMap: DocumentTypesMap;
19
- dir: string;
20
- documentModelsDir: string;
21
- packageName: string;
22
- skipFormat?: boolean;
23
- verbose?: boolean;
24
- editorId?: string;
25
- editorDirName?: string;
26
- };
27
- export declare function hygenGenerateEditor(hygenGenerateEditorArgs: HygenGenerateEditorArgs): Promise<void>;
28
- export declare function hygenGenerateProcessor(name: string, documentTypes: string[], outDir: string, type: "analytics" | "relationalDb", { skipFormat, verbose }?: {
29
- skipFormat?: boolean | undefined;
30
- verbose?: boolean | undefined;
31
- }): Promise<void>;
32
- export declare function hygenGenerateSubgraph(name: string, documentModel: DocumentModelGlobalState | null, config?: PowerhouseConfig & CodegenOptions): Promise<void>;
33
- export declare function hygenGenerateImportScript(name: string, dir: string, { skipFormat, verbose }?: {
34
- skipFormat?: boolean | undefined;
35
- verbose?: boolean | undefined;
36
- }): Promise<void>;
37
- export declare function hygenGenerateDriveEditor(options: {
38
- name: string;
39
- dir: string;
40
- appId: string;
41
- allowedDocumentTypes: string | undefined | null;
42
- isDragAndDropEnabled: boolean;
43
- skipFormat?: boolean;
44
- driveEditorDirName?: string;
45
- }): Promise<void>;
46
- export {};
47
- //# sourceMappingURL=hygen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hygen.d.ts","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAMrF,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQnE,wBAAsB,GAAG,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE;;;;CAAK,uDAwD3D;AAED,wBAAsB,0BAA0B,CAC9C,kBAAkB,EAAE,wBAAwB,EAC5C,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE,KAAY,EAAE;;;;;CAAK,iBA2CzE;AAED,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,wBAAsB,mBAAmB,CACvC,uBAAuB,EAAE,uBAAuB,iBA6CjD;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,GAAG,cAAc,EAClC,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAmB5C;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,wBAAwB,GAAG,IAAI,EAC9C,MAAM,CAAC,EAAE,gBAAgB,GAAG,cAAc,iBA0D3C;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAgB5C;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,iBA2CA"}