@powerhousedao/codegen 4.1.0-dev.9 → 5.0.0-staging.1
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/.hygen/templates/powerhouse/generate-custom-subgraph/index.d.ts +14 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.d.ts.map +1 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js +12 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js.map +1 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t +17 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +16 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +9 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +6 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +96 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +7 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +2 -4
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +8 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +45 -38
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +2 -2
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +6 -10
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +4 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +13 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/object.esm.t +2 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t +59 -50
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +3 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +38 -24
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +244 -181
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EditorContainer.esm.t +53 -74
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +44 -26
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +22 -58
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.d.ts +16 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.d.ts.map +1 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.esm.t +2 -3
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +12 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js.map +1 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts +2 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +2 -5
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +1 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js.map +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +3 -2
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +2 -7
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +7 -5
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_call.esm.t +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_import.esm.t +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +3 -2
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +2 -8
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +8 -9
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_call.esm.t +2 -2
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_import.esm.t +1 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/schema.esm.t +9 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +2 -33
- package/dist/src/codegen/hygen.d.ts +6 -4
- package/dist/src/codegen/hygen.d.ts.map +1 -1
- package/dist/src/codegen/hygen.js +35 -8
- package/dist/src/codegen/hygen.js.map +1 -1
- package/dist/src/codegen/index.d.ts +5 -3
- package/dist/src/codegen/index.d.ts.map +1 -1
- package/dist/src/codegen/index.js +74 -7
- package/dist/src/codegen/index.js.map +1 -1
- package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +8 -6
- package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -1
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +1 -0
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -1
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +9 -7
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +1 -1
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts +3 -0
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts.map +1 -1
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js +85 -14
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js.map +1 -1
- package/dist/tsconfig.hygen.tsbuildinfo +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +13 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FileItemsGrid.esm.t +0 -44
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderItemsGrid.esm.t +0 -96
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useSelectedFolderChildren.esm.t +0 -35
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/hooks/useTransformedNodes.esm.t +0 -35
|
@@ -2,20 +2,32 @@
|
|
|
2
2
|
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/components/FolderTree.tsx"
|
|
3
3
|
unless_exists: true
|
|
4
4
|
---
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
5
|
+
import type { FolderNode } from "document-drive";
|
|
6
|
+
import { useState } from "react";
|
|
7
7
|
|
|
8
8
|
interface FolderTreeProps {
|
|
9
|
-
folders:
|
|
9
|
+
folders: FolderNode[];
|
|
10
10
|
selectedNodeId?: string;
|
|
11
|
-
onSelectNode: (
|
|
11
|
+
onSelectNode: (nodeId: string | undefined) => void;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Hierarchical folder tree navigation component.
|
|
16
|
+
* Displays folders in a tree structure with expand/collapse functionality.
|
|
17
|
+
*/
|
|
18
|
+
export function FolderTree({
|
|
19
|
+
folders,
|
|
20
|
+
selectedNodeId,
|
|
21
|
+
onSelectNode,
|
|
22
|
+
}: FolderTreeProps) {
|
|
23
|
+
// Track which folders are expanded
|
|
24
|
+
const [expandedFolders, setExpandedFolders] = useState<Set<string>>(
|
|
25
|
+
new Set(),
|
|
26
|
+
);
|
|
16
27
|
|
|
28
|
+
// Toggle folder expansion state
|
|
17
29
|
const toggleFolder = (folderId: string) => {
|
|
18
|
-
setExpandedFolders(prev => {
|
|
30
|
+
setExpandedFolders((prev) => {
|
|
19
31
|
const next = new Set(prev);
|
|
20
32
|
if (next.has(folderId)) {
|
|
21
33
|
next.delete(folderId);
|
|
@@ -26,38 +38,43 @@ export function FolderTree({ folders, selectedNodeId, onSelectNode }: FolderTree
|
|
|
26
38
|
});
|
|
27
39
|
};
|
|
28
40
|
|
|
29
|
-
|
|
30
|
-
|
|
41
|
+
// Recursive function to render folder tree structure
|
|
42
|
+
const renderFolder = (folder: FolderNode, level = 0) => {
|
|
43
|
+
const hasChildren = folders.some((f) => f.parentFolder === folder.id);
|
|
31
44
|
const isExpanded = expandedFolders.has(folder.id);
|
|
32
45
|
const isSelected = selectedNodeId === folder.id;
|
|
33
46
|
|
|
34
47
|
return (
|
|
35
48
|
<div key={folder.id}>
|
|
36
49
|
<div
|
|
37
|
-
className={`flex items-center
|
|
38
|
-
isSelected ?
|
|
50
|
+
className={`flex cursor-pointer items-center rounded px-2 py-1 text-sm hover:bg-gray-100 ${
|
|
51
|
+
isSelected ? "bg-blue-100 text-blue-800" : ""
|
|
39
52
|
}`}
|
|
40
|
-
style={{ paddingLeft: `${level * 16 + 8}px` }}
|
|
41
|
-
onClick={() => onSelectNode(folder)}
|
|
53
|
+
style={{ paddingLeft: `${level * 16 + 8}px` }} // Customize indentation here
|
|
54
|
+
onClick={() => onSelectNode(folder.id)}
|
|
42
55
|
>
|
|
56
|
+
{/* Expand/collapse button for folders with children */}
|
|
43
57
|
{hasChildren && (
|
|
44
58
|
<button
|
|
45
|
-
className="
|
|
59
|
+
className="mr-1 flex h-4 w-4 items-center justify-center"
|
|
46
60
|
onClick={(e) => {
|
|
47
61
|
e.stopPropagation();
|
|
48
62
|
toggleFolder(folder.id);
|
|
49
63
|
}}
|
|
50
64
|
>
|
|
51
|
-
{isExpanded ?
|
|
65
|
+
{isExpanded ? "▼" : "▶"} {/* Customize expand icons here */}
|
|
52
66
|
</button>
|
|
53
67
|
)}
|
|
54
|
-
<
|
|
68
|
+
{!hasChildren && <div className="mr-1 w-5" />}
|
|
69
|
+
{/* Customize folder icon and styling here */}
|
|
70
|
+
<span>📁 {folder.name}</span>
|
|
55
71
|
</div>
|
|
72
|
+
{/* Recursively render child folders when expanded */}
|
|
56
73
|
{isExpanded && hasChildren && (
|
|
57
74
|
<div>
|
|
58
75
|
{folders
|
|
59
|
-
.filter(f => f.parentFolder === folder.id)
|
|
60
|
-
.map(child => renderFolder(child, level + 1))}
|
|
76
|
+
.filter((f) => f.parentFolder === folder.id)
|
|
77
|
+
.map((child) => renderFolder(child, level + 1))}
|
|
61
78
|
</div>
|
|
62
79
|
)}
|
|
63
80
|
</div>
|
|
@@ -67,19 +84,20 @@ export function FolderTree({ folders, selectedNodeId, onSelectNode }: FolderTree
|
|
|
67
84
|
return (
|
|
68
85
|
<div className="space-y-1">
|
|
69
86
|
{/* Root Directory Option */}
|
|
87
|
+
{/* Customize root folder appearance here */}
|
|
70
88
|
<div
|
|
71
|
-
className={`flex items-center
|
|
72
|
-
!selectedNodeId ?
|
|
89
|
+
className={`flex cursor-pointer items-center rounded px-2 py-1 text-sm hover:bg-gray-100 ${
|
|
90
|
+
!selectedNodeId ? "bg-blue-100 text-blue-800" : ""
|
|
73
91
|
}`}
|
|
74
|
-
onClick={() => onSelectNode(
|
|
92
|
+
onClick={() => onSelectNode(undefined)}
|
|
75
93
|
>
|
|
76
|
-
<span
|
|
94
|
+
<span>🏠 Root</span>
|
|
77
95
|
</div>
|
|
78
96
|
|
|
79
|
-
{/*
|
|
97
|
+
{/* Render top-level folders (no parent) */}
|
|
80
98
|
{folders
|
|
81
|
-
.filter(folder => !folder.parentFolder)
|
|
82
|
-
.map(folder => renderFolder(folder))}
|
|
99
|
+
.filter((folder) => !folder.parentFolder)
|
|
100
|
+
.map((folder) => renderFolder(folder))}
|
|
83
101
|
</div>
|
|
84
102
|
);
|
|
85
|
-
}
|
|
103
|
+
}
|
|
@@ -2,75 +2,39 @@
|
|
|
2
2
|
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/editor.tsx"
|
|
3
3
|
unless_exists: true
|
|
4
4
|
---
|
|
5
|
-
import { type DriveEditorProps } from "@powerhousedao/reactor-browser";
|
|
6
|
-
import { AnalyticsProvider } from '@powerhousedao/reactor-browser/analytics/context';
|
|
7
|
-
import { DriveContextProvider } from "@powerhousedao/reactor-browser/hooks/useDriveContext";
|
|
8
|
-
import { type DocumentDriveDocument, addFolder, deleteNode, updateNode, generateNodesCopy, copyNode } from "document-drive";
|
|
9
5
|
import { WagmiContext } from "@powerhousedao/design-system";
|
|
6
|
+
import {
|
|
7
|
+
AnalyticsProvider,
|
|
8
|
+
DriveContextProvider,
|
|
9
|
+
useAppConfig,
|
|
10
|
+
type DriveEditorProps,
|
|
11
|
+
} from "@powerhousedao/reactor-browser";
|
|
10
12
|
import { DriveExplorer } from "./components/DriveExplorer.js";
|
|
11
|
-
import { useCallback } from "react";
|
|
12
|
-
import { generateId } from "document-model";
|
|
13
|
-
|
|
14
|
-
export type IProps = DriveEditorProps<DocumentDriveDocument>;
|
|
15
|
-
|
|
16
|
-
export function BaseEditor(props: IProps) {
|
|
17
|
-
const { dispatch, context } = props;
|
|
18
|
-
|
|
19
|
-
const onAddFolder = useCallback((name: string, parentFolder?: string) => {
|
|
20
|
-
dispatch(addFolder({
|
|
21
|
-
id: generateId(),
|
|
22
|
-
name,
|
|
23
|
-
parentFolder,
|
|
24
|
-
}));
|
|
25
|
-
}, [dispatch]);
|
|
26
|
-
|
|
27
|
-
const onDeleteNode = useCallback((nodeId: string) => {
|
|
28
|
-
dispatch(deleteNode({ id: nodeId }));
|
|
29
|
-
}, [dispatch]);
|
|
30
|
-
|
|
31
|
-
const renameNode = useCallback((nodeId: string, name: string) => {
|
|
32
|
-
dispatch(updateNode({ id: nodeId, name }));
|
|
33
|
-
}, [dispatch]);
|
|
34
|
-
|
|
35
|
-
const onCopyNode = useCallback((nodeId: string, targetName: string, parentId?: string) => {
|
|
36
|
-
const copyNodesInput = generateNodesCopy({
|
|
37
|
-
srcId: nodeId,
|
|
38
|
-
targetParentFolder: parentId,
|
|
39
|
-
targetName,
|
|
40
|
-
}, () => generateId(), props.document.state.global.nodes);
|
|
41
|
-
|
|
42
|
-
const copyNodesAction = copyNodesInput.map(input => {
|
|
43
|
-
return copyNode(input);
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
for (const copyNodeAction of copyNodesAction) {
|
|
47
|
-
dispatch(copyNodeAction);
|
|
48
|
-
}
|
|
49
|
-
}, [dispatch, props.document.state.global.nodes]);
|
|
50
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Base editor component that renders the drive explorer interface.
|
|
16
|
+
* Customize document opening behavior and drive-level actions here.
|
|
17
|
+
*/
|
|
18
|
+
export function BaseEditor(props: DriveEditorProps) {
|
|
19
|
+
const { context, document } = props;
|
|
51
20
|
return (
|
|
52
|
-
<div
|
|
53
|
-
|
|
54
|
-
style={{ height: "100%" }}
|
|
55
|
-
>
|
|
56
|
-
<DriveExplorer
|
|
57
|
-
driveId={props.document.header.id}
|
|
58
|
-
nodes={props.document.state.global.nodes}
|
|
59
|
-
onAddFolder={onAddFolder}
|
|
60
|
-
onDeleteNode={onDeleteNode}
|
|
61
|
-
renameNode={renameNode}
|
|
62
|
-
onCopyNode={onCopyNode}
|
|
63
|
-
context={context}
|
|
64
|
-
/>
|
|
21
|
+
<div className="new-drive-explorer" style={{ height: "100%" }}>
|
|
22
|
+
<DriveExplorer document={document} context={context} />
|
|
65
23
|
</div>
|
|
66
24
|
);
|
|
67
25
|
}
|
|
68
26
|
|
|
69
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Main editor entry point with required providers.
|
|
29
|
+
*/
|
|
30
|
+
export default function Editor(props: DriveEditorProps) {
|
|
31
|
+
const appConfig = useAppConfig();
|
|
32
|
+
const analyticsDatabaseName = appConfig?.analyticsDatabaseName;
|
|
70
33
|
return (
|
|
34
|
+
// Required context providers for drive functionality
|
|
71
35
|
<DriveContextProvider value={props.context}>
|
|
72
36
|
<WagmiContext>
|
|
73
|
-
<AnalyticsProvider databaseName={
|
|
37
|
+
<AnalyticsProvider databaseName={analyticsDatabaseName}>
|
|
74
38
|
<BaseEditor {...props} />
|
|
75
39
|
</AnalyticsProvider>
|
|
76
40
|
</WagmiContext>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type Args = {
|
|
2
|
+
name: string;
|
|
3
|
+
rootDir: string;
|
|
4
|
+
appId?: string;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: {
|
|
7
|
+
params: ({ args }: {
|
|
8
|
+
args: Args;
|
|
9
|
+
}) => {
|
|
10
|
+
rootDir: string;
|
|
11
|
+
name: string;
|
|
12
|
+
appId: string | undefined;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export default _default;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;;uBAGmB;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE;;;;;;AADnC,wBAQE"}
|
|
@@ -3,14 +3,13 @@ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
|
|
|
3
3
|
force: true
|
|
4
4
|
---
|
|
5
5
|
import { type DriveEditorModule } from "@powerhousedao/reactor-browser";
|
|
6
|
-
import { type DocumentDriveDocument } from "document-drive";
|
|
7
6
|
import Editor from "./editor.js";
|
|
8
7
|
|
|
9
|
-
export const module: DriveEditorModule
|
|
8
|
+
export const module: DriveEditorModule = {
|
|
10
9
|
Component: Editor,
|
|
11
10
|
documentTypes: ["powerhouse/document-drive"],
|
|
12
11
|
config: {
|
|
13
|
-
id: "<%=
|
|
12
|
+
id: "<%= appId || 'drive-editor-id' %>",
|
|
14
13
|
disableExternalControls: true,
|
|
15
14
|
documentToolbarEnabled: true,
|
|
16
15
|
showSwitchboardLink: true,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.ts"],"names":[],"mappings":";;AAMA,kBAAe;IACb,MAAM,EAAE,CAAC,EAAE,IAAI,EAAkB,EAAE,EAAE;QACnC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -8,7 +8,7 @@ import { type <%= documentTypesMap[type].name %>Document, actions } from "<%= do
|
|
|
8
8
|
%><% }); _%>
|
|
9
9
|
import { Button } from '@powerhousedao/design-system';
|
|
10
10
|
|
|
11
|
-
export type IProps =
|
|
11
|
+
export type IProps = EditorProps;
|
|
12
12
|
|
|
13
13
|
export default function Editor(props: IProps) {
|
|
14
14
|
return (
|
|
@@ -4,6 +4,7 @@ export type Args = {
|
|
|
4
4
|
documentModelsDir: string;
|
|
5
5
|
documentTypes: string;
|
|
6
6
|
documentTypesMap: string;
|
|
7
|
+
editorId?: string;
|
|
7
8
|
};
|
|
8
9
|
declare const _default: {
|
|
9
10
|
params: ({ args }: {
|
|
@@ -14,6 +15,7 @@ declare const _default: {
|
|
|
14
15
|
name: string;
|
|
15
16
|
documentTypes: string[];
|
|
16
17
|
documentTypesMap: JSON;
|
|
18
|
+
editorId: string | undefined;
|
|
17
19
|
};
|
|
18
20
|
};
|
|
19
21
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/codegen/.hygen/templates/powerhouse/generate-editor/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/codegen/.hygen/templates/powerhouse/generate-editor/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;;uBAGmB;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE;;;;;0BAQ0B,IAAI;;;;AATjE,wBAaE"}
|
|
@@ -4,15 +4,12 @@ force: true
|
|
|
4
4
|
---
|
|
5
5
|
import type { EditorModule } from 'document-model';
|
|
6
6
|
import Editor from './editor.js';
|
|
7
|
-
<% documentTypes.forEach(type => { _%>
|
|
8
|
-
import type { <%= documentTypesMap[type].name %>Document } from "<%= documentTypesMap[type].importPath %>/index.js";
|
|
9
|
-
%><% }); _%>
|
|
10
7
|
|
|
11
|
-
export const module:
|
|
8
|
+
export const module: EditorModule = {
|
|
12
9
|
Component: Editor,
|
|
13
10
|
documentTypes: [<% if(!documentTypes.length){ %>'*'<% } else { %><% documentTypes.forEach(type => { _%>"<%= type %>", %><% }); _%> <% } %>],
|
|
14
11
|
config: {
|
|
15
|
-
id: 'editor-id',
|
|
12
|
+
id: '<%= editorId || 'editor-id' %>',
|
|
16
13
|
disableExternalControls: true,
|
|
17
14
|
documentToolbarEnabled: true,
|
|
18
15
|
showSwitchboardLink: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/codegen/.hygen/templates/powerhouse/generate-editor/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/codegen/.hygen/templates/powerhouse/generate-editor/index.ts"],"names":[],"mappings":";;AASA,kBAAe;IACb,MAAM,EAAE,CAAC,EAAE,IAAI,EAAkB,EAAE,EAAE;QACnC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,IAAI,CAAC,aAAa;iBAC9B,KAAK,CAAC,GAAG,CAAC;iBACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;YAChC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAS;YAC3D,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;CACF,CAAC"}
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/factory.ts"
|
|
3
3
|
force: true
|
|
4
4
|
---
|
|
5
|
-
import { type ProcessorRecord } from "document-drive
|
|
5
|
+
import { type ProcessorRecord } from "document-drive";
|
|
6
6
|
import { type IProcessorHostModule } from "document-drive/processors/types";
|
|
7
|
+
import { type PHDocumentHeader } from "document-model";
|
|
7
8
|
import { <%= pascalName %>Processor } from "./index.js";
|
|
8
9
|
|
|
9
|
-
export const <%= h.changeCase.pascal(name) %>ProcessorFactory = (module: IProcessorHostModule) => (
|
|
10
|
+
export const <%= h.changeCase.pascal(name) %>ProcessorFactory = (module: IProcessorHostModule) => (driveHeader: PHDocumentHeader): ProcessorRecord[] => {
|
|
10
11
|
return [
|
|
11
12
|
{
|
|
12
13
|
processor: new <%= pascalName %>Processor(module.analyticsStore),
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t
CHANGED
|
@@ -2,13 +2,8 @@
|
|
|
2
2
|
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
|
|
3
3
|
force: true
|
|
4
4
|
---
|
|
5
|
-
import type { PHDocument } from "document-model";
|
|
6
5
|
import { AnalyticsPath, AnalyticsSeriesInput, IAnalyticsStore } from "@powerhousedao/reactor-api";
|
|
7
|
-
import { InternalTransmitterUpdate, IProcessor } from "document-drive";
|
|
8
|
-
|
|
9
|
-
<% documentTypes.forEach(type => { _%>
|
|
10
|
-
import type { <%= documentTypesMap[type].name %>Document } from "<%= documentTypesMap[type].importPath %>/index.js";
|
|
11
|
-
%><% }); _%>
|
|
6
|
+
import { type InternalTransmitterUpdate, type IProcessor } from "document-drive";
|
|
12
7
|
|
|
13
8
|
export class <%= pascalName %>Processor implements IProcessor {
|
|
14
9
|
private readonly NAMESPACE = "<%= pascalName %>";
|
|
@@ -19,7 +14,7 @@ export class <%= pascalName %>Processor implements IProcessor {
|
|
|
19
14
|
//
|
|
20
15
|
}
|
|
21
16
|
|
|
22
|
-
async onStrands
|
|
17
|
+
async onStrands(strands: InternalTransmitterUpdate[]): Promise<void> {
|
|
23
18
|
if (strands.length === 0) {
|
|
24
19
|
return;
|
|
25
20
|
}
|
|
@@ -7,24 +7,26 @@ unless_exists: true
|
|
|
7
7
|
* Auto-generated by codegen - DO NOT EDIT MANUALLY
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { type ProcessorRecord } from "document-drive/processors/types";
|
|
10
|
+
import { type ProcessorRecord, type ProcessorFactory } from "document-drive/processors/types";
|
|
11
11
|
import { type IProcessorHostModule } from "document-drive/processors/types";
|
|
12
|
+
import { type PHDocumentHeader } from "document-model";
|
|
12
13
|
|
|
13
14
|
// Import processor factories here as they are generated
|
|
14
15
|
|
|
15
16
|
export const processorFactory = (module: IProcessorHostModule) => {
|
|
16
17
|
// Initialize all processor factories once with the module
|
|
17
|
-
const factories: Array<
|
|
18
|
+
const factories: Array<ProcessorFactory> = [];
|
|
18
19
|
|
|
19
20
|
// Add processors here as they are generated
|
|
20
21
|
|
|
21
22
|
// Return the inner function that will be called for each drive
|
|
22
|
-
return (
|
|
23
|
+
return async (driveHeader: PHDocumentHeader): Promise<ProcessorRecord[]> => {
|
|
23
24
|
const processors: ProcessorRecord[] = [];
|
|
24
25
|
|
|
25
|
-
// Call each cached factory with the
|
|
26
|
+
// Call each cached factory with the driveHeader
|
|
26
27
|
for (const factory of factories) {
|
|
27
|
-
|
|
28
|
+
const factoryProcessors = await factory(driveHeader);
|
|
29
|
+
processors.push(...factoryProcessors);
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
return processors;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
inject: true
|
|
3
3
|
to: "<%= rootDir %>/factory.ts"
|
|
4
4
|
after: " // Add processors here as they are generated"
|
|
5
|
-
skip_if: "<%=h.changeCase.pascal(name) %>ProcessorFactory
|
|
5
|
+
skip_if: "<%= h.changeCase.pascal(name) %>ProcessorFactory"
|
|
6
6
|
---
|
|
7
7
|
factories.push(<%= h.changeCase.pascal(name) %>ProcessorFactory(module));
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
inject: true
|
|
3
3
|
to: "<%= rootDir %>/factory.ts"
|
|
4
4
|
after: "// Import processor factories here as they are generated"
|
|
5
|
-
skip_if: "{ <%= h.changeCase.
|
|
5
|
+
skip_if: "{ <%= h.changeCase.pascal(name) %>ProcessorFactory }"
|
|
6
6
|
---
|
|
7
7
|
import { <%= h.changeCase.pascal(name) %>ProcessorFactory } from "./<%= h.changeCase.param(name) %>/factory.js";
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t
CHANGED
|
@@ -9,11 +9,12 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
type RelationalDbProcessorFilter,
|
|
11
11
|
} from "document-drive/processors/relational";
|
|
12
|
+
import { type PHDocumentHeader } from "document-model";
|
|
12
13
|
import { <%= pascalName %>Processor } from "./index.js";
|
|
13
14
|
|
|
14
|
-
export const <%= h.changeCase.camel(name) %>ProcessorFactory = (module: IProcessorHostModule) => async (
|
|
15
|
+
export const <%= h.changeCase.camel(name) %>ProcessorFactory = (module: IProcessorHostModule) => async (driveHeader: PHDocumentHeader): Promise<ProcessorRecord[]> => {
|
|
15
16
|
// Create a namespace for the processor and the provided drive id
|
|
16
|
-
const namespace = <%= pascalName %>Processor.getNamespace(
|
|
17
|
+
const namespace = <%= pascalName %>Processor.getNamespace(driveHeader.id);
|
|
17
18
|
|
|
18
19
|
// Create a namespaced db for the processor
|
|
19
20
|
const store = await module.relationalDb.createNamespace<<%= pascalName %>Processor>(
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t
CHANGED
|
@@ -5,15 +5,9 @@ force: true
|
|
|
5
5
|
import { type IRelationalDb } from "document-drive/processors/types";
|
|
6
6
|
import { RelationalDbProcessor } from "document-drive/processors/relational";
|
|
7
7
|
import { type InternalTransmitterUpdate } from "document-drive/server/listener/transmitter/internal";
|
|
8
|
-
<% documentTypes.forEach(type => { _%>
|
|
9
|
-
import type { <%= documentTypesMap[type].name %>Document } from "<%= documentTypesMap[type].importPath %>/index.js";
|
|
10
|
-
%><% }); _%>
|
|
11
|
-
<% if(documentTypes.length === 0) { %>import { type PHDocument } from "document-model";<% } %>
|
|
12
8
|
import { up } from "./migrations.js";
|
|
13
9
|
import { type DB } from "./schema.js";
|
|
14
10
|
|
|
15
|
-
type DocumentType = <% if(documentTypes.length) { %><%= documentTypes.map(type => `${documentTypesMap[type].name}Document`).join(" | ") %> <% } else { %>PHDocument<% } %>;
|
|
16
|
-
|
|
17
11
|
export class <%= pascalName %>Processor extends RelationalDbProcessor<DB> {
|
|
18
12
|
static override getNamespace(driveId: string): string {
|
|
19
13
|
// Default namespace: `${this.name}_${driveId.replaceAll("-", "_")}`
|
|
@@ -25,7 +19,7 @@ export class <%= pascalName %>Processor extends RelationalDbProcessor<DB> {
|
|
|
25
19
|
}
|
|
26
20
|
|
|
27
21
|
override async onStrands(
|
|
28
|
-
strands: InternalTransmitterUpdate
|
|
22
|
+
strands: InternalTransmitterUpdate[],
|
|
29
23
|
): Promise<void> {
|
|
30
24
|
if (strands.length === 0) {
|
|
31
25
|
return;
|
|
@@ -40,7 +34,7 @@ export class <%= pascalName %>Processor extends RelationalDbProcessor<DB> {
|
|
|
40
34
|
await this.relationalDb
|
|
41
35
|
.insertInto("todo")
|
|
42
36
|
.values({
|
|
43
|
-
task: `${strand.documentId}-${operation.index}: ${operation.type}`,
|
|
37
|
+
task: `${strand.documentId}-${operation.index}: ${operation.action.type}`,
|
|
44
38
|
status: true,
|
|
45
39
|
})
|
|
46
40
|
.onConflict((oc) => oc.column("task").doNothing())
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t
CHANGED
|
@@ -7,25 +7,24 @@ unless_exists: true
|
|
|
7
7
|
* Auto-generated by codegen - DO NOT EDIT MANUALLY
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { type ProcessorRecord, type IProcessorHostModule } from "document-drive/processors/types";
|
|
10
|
+
import { type ProcessorRecord, type IProcessorHostModule, type ProcessorFactory } from "document-drive/processors/types";
|
|
11
|
+
import { type PHDocumentHeader } from "document-model";
|
|
11
12
|
|
|
12
|
-
// Import
|
|
13
|
+
// Import processor factories here as they are generated
|
|
13
14
|
|
|
14
15
|
export const processorFactory = (module: IProcessorHostModule) => {
|
|
15
16
|
// Initialize all processor factories once with the module
|
|
16
|
-
const factories: Array<
|
|
17
|
+
const factories: Array<ProcessorFactory> = [];
|
|
17
18
|
|
|
18
|
-
// Add
|
|
19
|
-
|
|
20
|
-
// Add other processors here as they are generated
|
|
19
|
+
// Add processors here as they are generated
|
|
21
20
|
|
|
22
21
|
// Return the inner function that will be called for each drive
|
|
23
|
-
return async (
|
|
22
|
+
return async (driveHeader: PHDocumentHeader): Promise<ProcessorRecord[]> => {
|
|
24
23
|
const processors: ProcessorRecord[] = [];
|
|
25
24
|
|
|
26
|
-
// Call each cached factory with the
|
|
25
|
+
// Call each cached factory with the driveHeader
|
|
27
26
|
for (const factory of factories) {
|
|
28
|
-
const factoryProcessors = await factory(
|
|
27
|
+
const factoryProcessors = await factory(driveHeader);
|
|
29
28
|
processors.push(...factoryProcessors);
|
|
30
29
|
}
|
|
31
30
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
inject: true
|
|
3
3
|
to: "<%= rootDir %>/factory.ts"
|
|
4
|
-
after: " // Add
|
|
5
|
-
skip_if: "<%=h.changeCase.camel(name) %>ProcessorFactory
|
|
4
|
+
after: " // Add processors here as they are generated"
|
|
5
|
+
skip_if: "<%= h.changeCase.camel(name) %>ProcessorFactory"
|
|
6
6
|
---
|
|
7
7
|
factories.push(<%= h.changeCase.camel(name) %>ProcessorFactory(module));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
inject: true
|
|
3
3
|
to: "<%= rootDir %>/factory.ts"
|
|
4
|
-
after: "// Import
|
|
4
|
+
after: "// Import processor factories here as they are generated"
|
|
5
5
|
skip_if: "{ <%= h.changeCase.camel(name) %>ProcessorFactory }"
|
|
6
6
|
---
|
|
7
7
|
import { <%= h.changeCase.camel(name) %>ProcessorFactory } from "./<%= h.changeCase.param(name) %>/factory.js";
|
|
@@ -3,46 +3,15 @@ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
|
|
|
3
3
|
force: true
|
|
4
4
|
---
|
|
5
5
|
import { Subgraph } from "@powerhousedao/reactor-api";
|
|
6
|
-
|
|
6
|
+
import type { DocumentNode } from "graphql";
|
|
7
7
|
import { schema } from "./schema.js";
|
|
8
8
|
import { getResolvers } from "./resolvers.js";
|
|
9
|
-
<% } else { %>
|
|
10
|
-
import { gql } from "graphql-tag";
|
|
11
|
-
<% } %>
|
|
12
9
|
|
|
13
10
|
export class <%= pascalName %>Subgraph extends Subgraph {
|
|
14
11
|
name = "<%= h.changeCase.param(name) %>";
|
|
15
|
-
|
|
16
|
-
typeDefs = schema;
|
|
12
|
+
typeDefs: DocumentNode = schema;
|
|
17
13
|
resolvers = getResolvers(this);
|
|
18
14
|
additionalContextFields = {};
|
|
19
15
|
async onSetup() {}
|
|
20
16
|
async onDisconnect() {}
|
|
21
|
-
|
|
22
|
-
<% } else { %>
|
|
23
|
-
|
|
24
|
-
resolvers = {
|
|
25
|
-
Query: {
|
|
26
|
-
example: {
|
|
27
|
-
resolve: async (parent, args, context, info) => {
|
|
28
|
-
return "example";
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
typeDefs = gql`
|
|
35
|
-
type Query {
|
|
36
|
-
example(id: ID!): String
|
|
37
|
-
}
|
|
38
|
-
`;
|
|
39
|
-
|
|
40
|
-
additionalContextFields = {
|
|
41
|
-
example: "test"
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
async onSetup() {}
|
|
45
|
-
|
|
46
|
-
async onDisconnect() {}
|
|
47
|
-
<% } %>
|
|
48
17
|
}
|
|
@@ -5,21 +5,23 @@ export declare function run(args: string[], { watch, skipFormat, verbose }?: {
|
|
|
5
5
|
skipFormat?: boolean | undefined;
|
|
6
6
|
verbose?: boolean | undefined;
|
|
7
7
|
}): Promise<import("hygen/dist/types.js").RunnerResult>;
|
|
8
|
-
export declare function generateAll(dir: string, { watch, skipFormat, verbose }?: {
|
|
8
|
+
export declare function generateAll(dir: string, { watch, skipFormat, verbose, force }?: {
|
|
9
9
|
watch?: boolean | undefined;
|
|
10
10
|
skipFormat?: boolean | undefined;
|
|
11
11
|
verbose?: boolean | undefined;
|
|
12
|
+
force?: boolean | undefined;
|
|
12
13
|
}): Promise<void>;
|
|
13
|
-
export declare function generateDocumentModel(documentModelState: DocumentModelState, dir: string, { watch, skipFormat, verbose, generateReducers, }?: {
|
|
14
|
+
export declare function generateDocumentModel(documentModelState: DocumentModelState, dir: string, { watch, skipFormat, verbose, generateReducers, force, }?: {
|
|
14
15
|
watch?: boolean | undefined;
|
|
15
16
|
skipFormat?: boolean | undefined;
|
|
16
17
|
verbose?: boolean | undefined;
|
|
17
18
|
generateReducers?: boolean | undefined;
|
|
19
|
+
force?: boolean | undefined;
|
|
18
20
|
}): Promise<void>;
|
|
19
21
|
export declare function generateEditor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, dir: string, documentModelsDir: string, { skipFormat, verbose }?: {
|
|
20
22
|
skipFormat?: boolean | undefined;
|
|
21
23
|
verbose?: boolean | undefined;
|
|
22
|
-
}): Promise<void>;
|
|
24
|
+
}, editorId?: string): Promise<void>;
|
|
23
25
|
export declare function generateProcessor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, outDir: string, documentModelsDir: string, type: "analytics" | "relationalDb", { skipFormat, verbose }?: {
|
|
24
26
|
skipFormat?: boolean | undefined;
|
|
25
27
|
verbose?: boolean | undefined;
|
|
@@ -34,5 +36,5 @@ export declare function generateImportScript(name: string, dir: string, { skipFo
|
|
|
34
36
|
}): Promise<void>;
|
|
35
37
|
export declare function generateDriveEditor(name: string, dir: string, { skipFormat }?: {
|
|
36
38
|
skipFormat?: boolean | undefined;
|
|
37
|
-
}): Promise<void>;
|
|
39
|
+
}, appId?: string): Promise<void>;
|
|
38
40
|
//# sourceMappingURL=hygen.d.ts.map
|