@powerhousedao/codegen 4.1.0-staging.1 → 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.
Files changed (27) hide show
  1. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +9 -1
  2. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +6 -6
  3. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +8 -8
  4. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +4 -3
  5. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +2 -4
  6. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +8 -6
  7. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +41 -35
  8. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/object.esm.t +2 -7
  9. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t +4 -4
  10. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +1 -1
  11. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +1 -4
  12. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +1 -1
  13. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +2 -7
  14. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_call.esm.t +1 -1
  15. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_import.esm.t +1 -1
  16. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +2 -8
  17. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +2 -4
  18. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_call.esm.t +2 -2
  19. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.inject_import.esm.t +1 -1
  20. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/schema.esm.t +9 -1
  21. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +2 -1
  22. package/dist/src/codegen/index.d.ts.map +1 -1
  23. package/dist/src/codegen/index.js +2 -2
  24. package/dist/src/codegen/index.js.map +1 -1
  25. package/dist/tsconfig.hygen.tsbuildinfo +1 -1
  26. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  27. package/package.json +7 -7
@@ -6,4 +6,12 @@ export * from './actions.js';
6
6
  export * from './document-model.js';
7
7
  export * from './object.js';
8
8
  export * from './types.js';
9
- export * as actions from './creators.js';
9
+ export * as actions from './creators.js';
10
+ export type { <%= h.changeCase.pascal(documentType) %>PHState } from './ph-factories.js';
11
+ export {
12
+ create<%= h.changeCase.pascal(documentType) %>Document,
13
+ createState,
14
+ defaultPHState,
15
+ defaultGlobalState,
16
+ defaultLocalState,
17
+ } from './ph-factories.js';
@@ -2,11 +2,11 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/object.ts"
3
3
  force: true
4
4
  ---
5
- import { BaseDocumentClass, type BaseStateFromDocument, type PartialState, applyMixins, type SignalDispatch } from 'document-model';
6
- import { <%= 'type ' + h.changeCase.pascal(documentType) %>State, <%= 'type ' + h.changeCase.pascal(documentType) %>LocalState, <%= 'type ' + h.changeCase.pascal(documentType) %>Document } from './types.js';
5
+ import { BaseDocumentClass, applyMixins, type SignalDispatch } from 'document-model';
6
+ import { <%= h.changeCase.pascal(documentType) %>PHState } from './ph-factories.js';
7
7
  import { <%= 'type ' + h.changeCase.pascal(documentType) %>Action } from './actions.js';
8
8
  import { reducer } from './reducer.js';
9
- import utils from './utils.js';
9
+ import { createDocument } from './utils.js';
10
10
  <% modules.forEach(module => { _%>
11
11
  import <%= h.changeCase.pascal(documentType) %>_<%= h.changeCase.pascal(module.name) %> from './<%= module.name %>/object.js';
12
12
  <% }); _%>
@@ -20,11 +20,11 @@ interface <%= h.changeCase.pascal(documentType) %> extends
20
20
  <%= modules.map(m => ' ' + h.changeCase.pascal(documentType) + '_' + h.changeCase.pascal(m.name)).join(',\n') %> {}
21
21
 
22
22
  // eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
23
- class <%= h.changeCase.pascal(documentType) %> extends BaseDocumentClass<<%= h.changeCase.pascal(documentType) %>State, <%= h.changeCase.pascal(documentType) %>LocalState, <%= h.changeCase.pascal(documentType) %>Action> {
23
+ class <%= h.changeCase.pascal(documentType) %> extends BaseDocumentClass<<%= h.changeCase.pascal(documentType) %>PHState> {
24
24
  static fileExtension = '<%= extension %>';
25
25
 
26
- constructor(initialState?: Partial<BaseStateFromDocument<<%= h.changeCase.pascal(documentType) %>Document>>, dispatch?: SignalDispatch) {
27
- super(reducer, utils.createDocument(initialState), dispatch);
26
+ constructor(initialState?: Partial<<%= h.changeCase.pascal(documentType) %>PHState>, dispatch?: SignalDispatch) {
27
+ super(reducer, createDocument(initialState), dispatch);
28
28
  }
29
29
 
30
30
  public saveToFile(path: string, name?: string) {
@@ -1,5 +1,5 @@
1
1
  ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/ph-factories.ts"
2
+ to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/ph-factories.ts"
3
3
  force: true
4
4
  ---
5
5
  /**
@@ -17,8 +17,13 @@ import type {
17
17
  <%= h.changeCase.pascal(documentType) %>Document,
18
18
  <%= h.changeCase.pascal(documentType) %>LocalState,
19
19
  <%= h.changeCase.pascal(documentType) %>State,
20
- } from "./gen/types.js";
21
- import { createDocument } from "./gen/utils.js";
20
+ } from "./types.js";
21
+ import { createDocument } from "./utils.js";
22
+
23
+ export type <%= h.changeCase.pascal(documentType) %>PHState = PHBaseState & {
24
+ global: <%= h.changeCase.pascal(documentType) %>State;
25
+ local: <%= h.changeCase.pascal(documentType) %>LocalState;
26
+ };
22
27
 
23
28
  export function defaultGlobalState(): <%= h.changeCase.pascal(documentType) %>State {
24
29
  return <%- initialGlobalState %>;
@@ -66,11 +71,6 @@ export function createState(
66
71
  };
67
72
  }
68
73
 
69
- export type <%= h.changeCase.pascal(documentType) %>PHState = PHBaseState & {
70
- global: <%= h.changeCase.pascal(documentType) %>State;
71
- local: <%= h.changeCase.pascal(documentType) %>LocalState;
72
- };
73
-
74
74
  /**
75
75
  * Creates a <%= h.changeCase.pascal(documentType) %>Document with custom global and local state
76
76
  * This properly handles the PHBaseState requirements while allowing
@@ -6,13 +6,14 @@ force: true
6
6
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
7
7
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
8
8
  import { type StateReducer, isDocumentAction, createReducer } from "document-model";
9
- import { <%= 'type ' + h.changeCase.pascal(documentType) %>Document, z } from './types.js';
9
+ import { <%= h.changeCase.pascal(documentType) %>PHState } from './ph-factories.js';
10
+ import { z } from './types.js';
10
11
 
11
12
  <% modules.forEach(m => { _%>
12
13
  import { reducer as <%= h.changeCase.pascal(m.name) %>Reducer } from '../src/reducers/<%= h.changeCase.param(m.name) %>.js';
13
14
  <%_ }); %>
14
15
 
15
- const stateReducer: StateReducer<<%= h.changeCase.pascal(documentType) %>Document> =
16
+ export const stateReducer: StateReducer<<%= h.changeCase.pascal(documentType) %>PHState> =
16
17
  (state, action, dispatch) => {
17
18
  if (isDocumentAction(action)) {
18
19
  return state;
@@ -34,4 +35,4 @@ const stateReducer: StateReducer<<%= h.changeCase.pascal(documentType) %>Documen
34
35
  }
35
36
  }
36
37
 
37
- export const reducer = createReducer<<%= h.changeCase.pascal(documentType) %>Document>(stateReducer);
38
+ export const reducer = createReducer<<%= h.changeCase.pascal(documentType) %>PHState>(stateReducer);
@@ -13,15 +13,13 @@ import { reducer } from './gen/reducer.js';
13
13
  import { documentModel } from './gen/document-model.js';
14
14
  import genUtils from './gen/utils.js';
15
15
  import * as customUtils from './src/utils.js';
16
- import {
17
- <%= 'type ' + h.changeCase.pascal(documentType) %>Document,
18
- } from './gen/types.js';
16
+ import type { <%= h.changeCase.pascal(documentType) %>PHState } from './gen/ph-factories.js';
19
17
 
20
18
  const utils = { ...genUtils, ...customUtils };
21
19
  const actions = { ...BaseActions, ...<%= h.changeCase.pascal(documentType) %>Actions };
22
20
 
23
21
  export const module: DocumentModelModule<
24
- <%= h.changeCase.pascal(documentType) %>Document
22
+ <%= h.changeCase.pascal(documentType) %>PHState
25
23
  > = {
26
24
  reducer,
27
25
  actions,
@@ -2,18 +2,20 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/types.ts"
3
3
  force: true
4
4
  ---
5
- import type { PHDocument, BaseStateFromDocument } from 'document-model';
6
- import type { <%= h.changeCase.pascal(documentType) %>State } from './schema/types.js';
5
+ import type { PHDocument } from 'document-model';
6
+ import type { <%= h.changeCase.pascal(documentType) %>Action } from './actions.js';
7
+ import type { <%= h.changeCase.pascal(documentType) %>PHState } from './ph-factories.js';
8
+ import type {
9
+ <%= h.changeCase.pascal(documentType) %>State,
7
10
  <% if(hasLocalSchema) { -%>
8
- import type { <%= h.changeCase.pascal(documentType) %>LocalState } from './schema/types.js';
11
+ <%= h.changeCase.pascal(documentType) %>LocalState,
9
12
  <%} -%>
10
- import type { <%= h.changeCase.pascal(documentType) %>Action } from './actions.js';
13
+ } from './schema/types.js';
11
14
 
12
15
  export { z } from './schema/index.js';
13
16
  export type * from './schema/types.js';
14
17
  <% if(!hasLocalSchema) { -%>
15
18
  <%= 'type ' + h.changeCase.pascal(documentType) %>LocalState = Record<PropertyKey, never>;
16
19
  <%} -%>
17
- export type Extended<%= h.changeCase.pascal(documentType) %>State = BaseStateFromDocument<<%= h.changeCase.pascal(documentType) %>Document>;
18
- export <%= 'type ' + h.changeCase.pascal(documentType) %>Document = PHDocument<<%= h.changeCase.pascal(documentType) %>State, <%= h.changeCase.pascal(documentType) %>LocalState>;
20
+ export type <%= h.changeCase.pascal(documentType) %>Document = PHDocument<<%= h.changeCase.pascal(documentType) %>PHState>;
19
21
  export type { <%= h.changeCase.pascal(documentType) %>State, <%= h.changeCase.pascal(documentType) %>LocalState, <%= h.changeCase.pascal(documentType) %>Action };
@@ -3,7 +3,10 @@ to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/utils.ts"
3
3
  force: true
4
4
  ---
5
5
  import {
6
- type DocumentModelUtils,
6
+ type CreateDocument,
7
+ type CreateState,
8
+ type LoadFromFile,
9
+ type LoadFromInput,
7
10
  baseCreateDocument,
8
11
  baseSaveToFile,
9
12
  baseSaveToFileHandle,
@@ -13,52 +16,55 @@ import {
13
16
  generateId,
14
17
  } from 'document-model';
15
18
  import {
16
- <%= 'type ' + h.changeCase.pascal(documentType) %>Document,
17
19
  <%= 'type ' + h.changeCase.pascal(documentType) %>State,
18
20
  <%= 'type ' + h.changeCase.pascal(documentType) %>LocalState
19
21
  } from './types.js';
22
+ import { <%= h.changeCase.pascal(documentType) %>PHState } from './ph-factories.js';
20
23
  import { reducer } from './reducer.js';
21
24
 
22
25
  export const initialGlobalState: <%= h.changeCase.pascal(documentType) %>State = <%- initialGlobalState %>;
23
26
  export const initialLocalState: <%= h.changeCase.pascal(documentType) %>LocalState = <%- initialLocalState %>;
24
27
 
25
- const utils: DocumentModelUtils<<%= h.changeCase.pascal(documentType) %>Document> = {
26
- fileExtension: '<%- fileExtension %>',
27
- createState(state) {
28
- return { ...defaultBaseState(), global: { ...initialGlobalState, ...state?.global }, local: { ...initialLocalState, ...state?.local } };
29
- },
30
- createDocument(state) {
31
- const document = baseCreateDocument(
32
- utils.createState,
33
- state
34
- );
28
+ export const createState: CreateState<<%= h.changeCase.pascal(documentType) %>PHState> = (state) => {
29
+ return {
30
+ ...defaultBaseState(),
31
+ global: { ...initialGlobalState, ...(state?.global ?? {}) },
32
+ local: { ...initialLocalState, ...(state?.local ?? {}) }
33
+ };
34
+ };
35
+
36
+ export const createDocument: CreateDocument<<%= h.changeCase.pascal(documentType) %>PHState> = (state) => {
37
+ const document = baseCreateDocument(createState, state);
38
+ document.header.documentType = '<%- documentTypeId %>';
39
+ // for backwards compatibility, but this is NOT a valid signed document id
40
+ document.header.id = generateId();
41
+ return document;
42
+ };
43
+
44
+ export const saveToFile = (document: any, path: string, name?: string) => {
45
+ return baseSaveToFile(document, path, '<%- fileExtension %>', name);
46
+ };
35
47
 
36
- document.header.documentType = '<%- documentTypeId %>';
48
+ export const saveToFileHandle = (document: any, input: any) => {
49
+ return baseSaveToFileHandle(document, input);
50
+ };
37
51
 
38
- // for backwards compatibility, but this is NOT a valid signed document id
39
- document.header.id = generateId();
52
+ export const loadFromFile: LoadFromFile<<%= h.changeCase.pascal(documentType) %>PHState> = (path) => {
53
+ return baseLoadFromFile(path, reducer);
54
+ };
40
55
 
41
- return document;
42
- },
43
- saveToFile(document, path, name) {
44
- return baseSaveToFile(document, path, '<%- fileExtension %>', name);
45
- },
46
- saveToFileHandle(document, input) {
47
- return baseSaveToFileHandle(document, input);
48
- },
49
- loadFromFile(path) {
50
- return baseLoadFromFile(path, reducer);
51
- },
52
- loadFromInput(input) {
53
- return baseLoadFromInput(input, reducer);
54
- },
56
+ export const loadFromInput: LoadFromInput<<%= h.changeCase.pascal(documentType) %>PHState> = (input) => {
57
+ return baseLoadFromInput(input, reducer);
55
58
  };
56
59
 
57
- export const createDocument = utils.createDocument;
58
- export const createState = utils.createState;
59
- export const saveToFile = utils.saveToFile;
60
- export const saveToFileHandle = utils.saveToFileHandle;
61
- export const loadFromFile = utils.loadFromFile;
62
- export const loadFromInput = utils.loadFromInput;
60
+ const utils = {
61
+ fileExtension: '<%- fileExtension %>',
62
+ createState,
63
+ createDocument,
64
+ saveToFile,
65
+ saveToFileHandle,
66
+ loadFromFile,
67
+ loadFromInput,
68
+ };
63
69
 
64
70
  export default utils;
@@ -3,12 +3,11 @@ to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/<%= module %>/ob
3
3
  force: true
4
4
  ---
5
5
  import { BaseDocumentClass<% if (actions.find(a => a.hasAttachment)) {%>, AttachmentInput<%}%> } from 'document-model';
6
+ import { <%= h.changeCase.pascal(documentType) %>PHState } from '../ph-factories.js';
6
7
  import {
7
8
  <% actions.filter(action => action.hasInput).forEach(action => { _%>
8
9
  <%= 'type ' + h.changeCase.pascal(action.name) %>Input,
9
10
  <% }); _%>
10
- <%= 'type ' + h.changeCase.pascal(documentType) %>State,
11
- <%= 'type ' + h.changeCase.pascal(documentType) %>LocalState
12
11
  } from '../types.js';
13
12
  import {
14
13
  <% actions.forEach(action => { _%>
@@ -17,11 +16,7 @@ import {
17
16
  } from './creators.js';
18
17
  import { <%= 'type ' + h.changeCase.pascal(documentType) %>Action } from '../actions.js';
19
18
 
20
- export default class <%= h.changeCase.pascal(documentType) %>_<%= h.changeCase.pascal(module) %> extends BaseDocumentClass<
21
- <%= h.changeCase.pascal(documentType) %>State,
22
- <%= h.changeCase.pascal(documentType) %>LocalState,
23
- <%= h.changeCase.pascal(documentType) %>Action
24
- > {
19
+ export default class <%= h.changeCase.pascal(documentType) %>_<%= h.changeCase.pascal(module) %> extends BaseDocumentClass<<%= h.changeCase.pascal(documentType) %>PHState> {
25
20
  <% actions.filter(action => action.hasInput).forEach(action => { _%>
26
21
  public <%= h.changeCase.camel(action.name) %>(input: <%= h.changeCase.pascal(action.name) %>Input<%if(action.hasAttachment){ %>, attachments: AttachmentInput[] <% } %>) {
27
22
  return this.dispatch(<%= h.changeCase.camel(action.name) %>(input<%if(action.hasAttachment){ %>, attachments<% } %>));
@@ -4,7 +4,7 @@ force: true
4
4
  ---
5
5
  import { type Subgraph } from "@powerhousedao/reactor-api";
6
6
  import { addFile } from "document-drive";
7
- import { actions <% modules.forEach(module => { %><% module.operations.forEach(op => { %>, type <%- h.changeCase.pascal(op.name) %>Input<%_ })}); %> } from "../../document-models/<%- h.changeCase.param(documentType) %>/index.js";
7
+ import { actions <% modules.forEach(module => { %><% module.operations.forEach(op => { %>, type <%- h.changeCase.pascal(op.name) %>Input<%_ })}); %>, type <%- h.changeCase.pascal(documentType) %>Document } from "../../document-models/<%- h.changeCase.param(documentType) %>/index.js";
8
8
  import { setName } from "document-model";
9
9
 
10
10
  export const getResolvers = (subgraph: Subgraph) => {
@@ -28,7 +28,7 @@ export const getResolvers = (subgraph: Subgraph) => {
28
28
  }
29
29
  }
30
30
 
31
- const doc = await reactor.getDocument(docId);
31
+ const doc = await reactor.getDocument<<%- h.changeCase.pascal(documentType) %>Document>(docId);
32
32
  return {
33
33
  driveId: driveId,
34
34
  ...doc,
@@ -43,7 +43,7 @@ export const getResolvers = (subgraph: Subgraph) => {
43
43
  const docsIds = await reactor.getDocuments(driveId);
44
44
  const docs = await Promise.all(
45
45
  docsIds.map(async (docId) => {
46
- const doc = await reactor.getDocument(docId);
46
+ const doc = await reactor.getDocument<<%- h.changeCase.pascal(documentType) %>Document>(docId);
47
47
  return {
48
48
  driveId: driveId,
49
49
  ...doc,
@@ -92,7 +92,7 @@ export const getResolvers = (subgraph: Subgraph) => {
92
92
  <% module.operations.forEach(op => { _%>
93
93
  <%- h.changeCase.pascal(documentType) + '_' + h.changeCase.camel(op.name) %>: async (_: unknown, args: { docId: string, input: <%- h.changeCase.pascal(op.name) %>Input}) => {
94
94
  const { docId, input } = args;
95
- const doc = await reactor.getDocument(docId);
95
+ const doc = await reactor.getDocument<<%- h.changeCase.pascal(documentType) %>Document>(docId);
96
96
  if(!doc) {
97
97
  throw new Error("Document not found");
98
98
  }
@@ -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 = <% if(!documentTypes.length){ %>EditorProps<PHDocument><% } else { %><% documentTypes.forEach((type, index) => { _%>EditorProps<<%= documentTypesMap[type].name %>Document%>%>><% if(index < documentTypes.length - 1){ %> | <% }%><% }); _%> <% } %>;
11
+ export type IProps = EditorProps;
12
12
 
13
13
  export default function Editor(props: IProps) {
14
14
  return (
@@ -4,11 +4,8 @@ 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: <% if(!documentTypes.length){ %>EditorModule<% } else { %><% documentTypes.forEach((type, index) => { _%>EditorModule<<%= documentTypesMap[type].name %>Document%>%>> <% if(index < documentTypes.length - 1){ %>| <% }%><% }); _%> <% } %>= {
8
+ export const module: EditorModule = {
12
9
  Component: Editor,
13
10
  documentTypes: [<% if(!documentTypes.length){ %>'*'<% } else { %><% documentTypes.forEach(type => { _%>"<%= type %>", %><% }); _%> <% } %>],
14
11
  config: {
@@ -2,7 +2,7 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/factory.ts"
3
3
  force: true
4
4
  ---
5
- import { type ProcessorRecord } from "document-drive/processors/types";
5
+ import { type ProcessorRecord } from "document-drive";
6
6
  import { type IProcessorHostModule } from "document-drive/processors/types";
7
7
  import { type PHDocumentHeader } from "document-model";
8
8
  import { <%= pascalName %>Processor } from "./index.js";
@@ -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<TDocument extends PHDocument>(strands: InternalTransmitterUpdate<TDocument>[]): Promise<void> {
17
+ async onStrands(strands: InternalTransmitterUpdate[]): Promise<void> {
23
18
  if (strands.length === 0) {
24
19
  return;
25
20
  }
@@ -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(module)"
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.camel(name) %>ProcessorFactory }"
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";
@@ -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<DocumentType>[],
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())
@@ -10,15 +10,13 @@ unless_exists: true
10
10
  import { type ProcessorRecord, type IProcessorHostModule, type ProcessorFactory } from "document-drive/processors/types";
11
11
  import { type PHDocumentHeader } from "document-model";
12
12
 
13
- // Import other processor factories here as they are generated
13
+ // Import processor factories here as they are generated
14
14
 
15
15
  export const processorFactory = (module: IProcessorHostModule) => {
16
16
  // Initialize all processor factories once with the module
17
17
  const factories: Array<ProcessorFactory> = [];
18
18
 
19
- // Add all processor factories
20
-
21
- // Add other processors here as they are generated
19
+ // Add processors here as they are generated
22
20
 
23
21
  // Return the inner function that will be called for each drive
24
22
  return async (driveHeader: PHDocumentHeader): Promise<ProcessorRecord[]> => {
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  inject: true
3
3
  to: "<%= rootDir %>/factory.ts"
4
- after: " // Add other processors here as they are generated"
5
- skip_if: "<%=h.changeCase.camel(name) %>ProcessorFactory(module)"
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 other processor factories here as they are generated"
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";
@@ -2,4 +2,12 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/schema.ts"
3
3
  force: true
4
4
  ---
5
- export interface DB {}
5
+ export interface Todo {
6
+ status: boolean | null;
7
+ task: string;
8
+ }
9
+
10
+ export interface DB {
11
+ todo: Todo;
12
+ }
13
+
@@ -3,12 +3,13 @@ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
3
  force: true
4
4
  ---
5
5
  import { Subgraph } from "@powerhousedao/reactor-api";
6
+ import type { DocumentNode } from "graphql";
6
7
  import { schema } from "./schema.js";
7
8
  import { getResolvers } from "./resolvers.js";
8
9
 
9
10
  export class <%= pascalName %>Subgraph extends Subgraph {
10
11
  name = "<%= h.changeCase.param(name) %>";
11
- typeDefs = schema;
12
+ typeDefs: DocumentNode = schema;
12
13
  resolvers = getResolvers(this);
13
14
  additionalContextFields = {};
14
15
  async onSetup() {}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EAEtB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAexB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAoFF,wBAAsB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,iBAItD;AA+DD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAO7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAI7B;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,MAAM,iBAyBlB;AAED,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,kBAAkB,EACjC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAM7B;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAQ7B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,GAAG,cAAc,EAClC,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,iBAqBzB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,MAAM,EACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CACrC,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,KAAK,CAAC,EAAE,MAAM,iBAUf;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAKzB;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,yBAAyB,EACvC,WAAW,CAAC,EAAE,MAAM,UAoFrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EAEtB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAexB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAoFF,wBAAsB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,iBAItD;AA+DD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAO7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAI7B;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,MAAM,iBA2BlB;AAED,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,kBAAkB,EACjC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAM7B;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,cAAmB,iBAQ7B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,GAAG,cAAc,EAClC,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,iBAuBzB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,MAAM,EACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CACrC,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,KAAK,CAAC,EAAE,MAAM,iBAUf;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAKzB;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,yBAAyB,EACvC,WAAW,CAAC,EAAE,MAAM,UAoFrB"}
@@ -149,7 +149,7 @@ export async function generateEditor(name, documentTypes, config, editorId) {
149
149
  const documentTypesMap = await getDocumentTypesMap(documentModelsDir, pathOrigin);
150
150
  const invalidType = documentTypes.find((type) => !Object.keys(documentTypesMap).includes(type));
151
151
  if (invalidType) {
152
- throw new Error(`Document model for ${invalidType} not found`);
152
+ throw new Error(`Document model for ${invalidType} not found. Make sure the document model is available in the document-models directory (${documentModelsDir}) and has been properly generated.`);
153
153
  }
154
154
  return _generateEditor(name, documentTypes, documentTypesMap, config.editorsDir, config.documentModelsDir, { skipFormat }, editorId);
155
155
  }
@@ -167,7 +167,7 @@ export async function generateProcessor(name, type, documentTypes, config) {
167
167
  const documentTypesMap = await getDocumentTypesMap(documentModelsDir);
168
168
  const invalidType = documentTypes.find((type) => !Object.keys(documentTypesMap).includes(type));
169
169
  if (invalidType) {
170
- throw new Error(`Document model for ${invalidType} not found`);
170
+ throw new Error(`Document model for ${invalidType} not found. Make sure the document model is available in the document-models directory (${documentModelsDir}) and has been properly generated.`);
171
171
  }
172
172
  return _generateProcessor(name, documentTypes, documentTypesMap, config.processorsDir, config.documentModelsDir, type, { skipFormat });
173
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"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"}