@powerhousedao/codegen 0.36.0 → 0.37.0

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 (144) hide show
  1. package/dist/cli.js +0 -78
  2. package/dist/create-lib/index.js +0 -7
  3. package/dist/index.d.ts +4 -6
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +3 -4
  6. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts +25 -0
  7. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts.map +1 -0
  8. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +60 -0
  9. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +24 -0
  10. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +1 -0
  11. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +25 -0
  12. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.d.ts +22 -0
  13. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.d.ts.map +1 -0
  14. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.js +19 -0
  15. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts +21 -0
  16. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts.map +1 -0
  17. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +13 -0
  18. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts +14 -0
  19. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts.map +1 -0
  20. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +8 -0
  21. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts +21 -0
  22. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts.map +1 -0
  23. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +13 -0
  24. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.d.ts +20 -0
  25. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.d.ts.map +1 -0
  26. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.js +13 -0
  27. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts +16 -0
  28. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts.map +1 -0
  29. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +9 -0
  30. package/dist/src/codegen/graphql.d.ts +16 -0
  31. package/dist/src/codegen/graphql.d.ts.map +1 -0
  32. package/dist/src/codegen/graphql.js +91 -0
  33. package/dist/src/codegen/hygen.d.ts +23 -0
  34. package/dist/src/codegen/hygen.d.ts.map +1 -0
  35. package/dist/src/codegen/hygen.js +162 -0
  36. package/dist/src/codegen/index.d.ts +13 -0
  37. package/dist/src/codegen/index.d.ts.map +1 -0
  38. package/dist/src/codegen/index.js +123 -0
  39. package/dist/src/codegen/utils.d.ts +4 -0
  40. package/dist/src/codegen/utils.d.ts.map +1 -0
  41. package/dist/src/codegen/utils.js +40 -0
  42. package/dist/src/create-lib/create-project.d.ts +25 -0
  43. package/dist/src/create-lib/create-project.d.ts.map +1 -0
  44. package/dist/src/create-lib/create-project.js +158 -0
  45. package/dist/src/create-lib/index.d.ts +2 -0
  46. package/dist/src/create-lib/index.d.ts.map +1 -0
  47. package/dist/src/create-lib/index.js +1 -0
  48. package/dist/src/utils/cli.d.ts +26 -0
  49. package/dist/src/utils/cli.d.ts.map +1 -0
  50. package/dist/src/utils/cli.js +56 -0
  51. package/dist/src/utils/index.d.ts +4 -0
  52. package/dist/src/utils/index.d.ts.map +1 -0
  53. package/dist/src/utils/index.js +3 -0
  54. package/dist/src/utils/mock.d.ts +4 -0
  55. package/dist/src/utils/mock.d.ts.map +1 -0
  56. package/dist/src/utils/mock.js +4 -0
  57. package/dist/src/utils/package-manager.d.ts +5 -0
  58. package/dist/src/utils/package-manager.d.ts.map +1 -0
  59. package/dist/src/utils/package-manager.js +16 -0
  60. package/dist/tsconfig.tsbuildinfo +1 -0
  61. package/package.json +12 -19
  62. package/dist/cli.d.ts +0 -1
  63. package/dist/cli.js.map +0 -1
  64. package/dist/codegen/.hygen/templates/package.json +0 -3
  65. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/actions.esm.t +0 -16
  66. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/creators.esm.t +0 -8
  67. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/customUtils.esm.t +0 -5
  68. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/documentModel.esm.t +0 -7
  69. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/documentModelTest.esm.t +0 -25
  70. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +0 -9
  71. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +0 -73
  72. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/index.js.map +0 -1
  73. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/lib.esm.t +0 -9
  74. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/lib.inject_export.esm.t +0 -7
  75. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +0 -49
  76. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +0 -35
  77. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +0 -41
  78. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/schema.esm.t +0 -6
  79. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +0 -19
  80. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +0 -43
  81. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-module/actions.esm.t +0 -22
  82. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +0 -34
  83. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-module/customReducers.esm.t +0 -20
  84. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +0 -53
  85. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +0 -40
  86. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +0 -33
  87. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js.map +0 -1
  88. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-module/object.esm.t +0 -37
  89. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-module/operations.esm.t +0 -17
  90. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.js +0 -25
  91. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.js.map +0 -1
  92. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/resolvers.esm.t +0 -62
  93. package/dist/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/schema.esm.t +0 -31
  94. package/dist/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +0 -23
  95. package/dist/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +0 -22
  96. package/dist/codegen/.hygen/templates/powerhouse/generate-editor/index.js +0 -17
  97. package/dist/codegen/.hygen/templates/powerhouse/generate-editor/index.js.map +0 -1
  98. package/dist/codegen/.hygen/templates/powerhouse/generate-editor/lib.esm.t +0 -9
  99. package/dist/codegen/.hygen/templates/powerhouse/generate-editor/lib.inject_export.esm.t +0 -7
  100. package/dist/codegen/.hygen/templates/powerhouse/generate-editor/story.esm.t +0 -31
  101. package/dist/codegen/.hygen/templates/powerhouse/generate-import-script/index.esm.t +0 -59
  102. package/dist/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +0 -14
  103. package/dist/codegen/.hygen/templates/powerhouse/generate-import-script/index.js.map +0 -1
  104. package/dist/codegen/.hygen/templates/powerhouse/generate-import-script/utils.esm.t +0 -100
  105. package/dist/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +0 -66
  106. package/dist/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +0 -17
  107. package/dist/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js.map +0 -1
  108. package/dist/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +0 -9
  109. package/dist/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_export.esm.t +0 -7
  110. package/dist/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.esm.t +0 -62
  111. package/dist/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.js +0 -17
  112. package/dist/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.js.map +0 -1
  113. package/dist/codegen/.hygen/templates/powerhouse/generate-processor-operational/lib.esm.t +0 -9
  114. package/dist/codegen/.hygen/templates/powerhouse/generate-processor-operational/lib.inject_export.esm.t +0 -8
  115. package/dist/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +0 -61
  116. package/dist/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +0 -15
  117. package/dist/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js.map +0 -1
  118. package/dist/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +0 -9
  119. package/dist/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.inject_export.esm.t +0 -7
  120. package/dist/codegen/graphql.js +0 -97
  121. package/dist/codegen/graphql.js.map +0 -1
  122. package/dist/codegen/hygen.js +0 -179
  123. package/dist/codegen/hygen.js.map +0 -1
  124. package/dist/codegen/index.js +0 -146
  125. package/dist/codegen/index.js.map +0 -1
  126. package/dist/codegen/utils.js +0 -38
  127. package/dist/codegen/utils.js.map +0 -1
  128. package/dist/create-lib/index.js.map +0 -1
  129. package/dist/create-lib/init.js +0 -182
  130. package/dist/create-lib/init.js.map +0 -1
  131. package/dist/create-lib/utils.js +0 -19
  132. package/dist/create-lib/utils.js.map +0 -1
  133. package/dist/create-lib.d.ts +0 -1
  134. package/dist/graphql.d.ts +0 -18
  135. package/dist/hygen.d.ts +0 -28
  136. package/dist/index-DT1dkT-t.d.ts +0 -15
  137. package/dist/index.js.map +0 -1
  138. package/dist/utils/cli.js +0 -61
  139. package/dist/utils/cli.js.map +0 -1
  140. package/dist/utils/index.js +0 -6
  141. package/dist/utils/index.js.map +0 -1
  142. package/dist/utils/mock.js +0 -9
  143. package/dist/utils/mock.js.map +0 -1
  144. package/dist/utils.d.ts +0 -59
@@ -1,33 +0,0 @@
1
- 'use strict';
2
-
3
- var changeCase = require('change-case');
4
-
5
- var generate_document_model_module_default = {
6
- params: ({ args }) => {
7
- const documentModel = JSON.parse(args.documentModel);
8
- const latestSpec = documentModel.specifications[documentModel.specifications.length - 1];
9
- const filteredModules = latestSpec.modules.filter(
10
- (m) => m.name === args.module
11
- );
12
- const actions = filteredModules.length > 0 ? filteredModules[0].operations.map((a) => ({
13
- name: a.name,
14
- hasInput: a.schema !== null,
15
- hasAttachment: a.schema?.includes(": Attachment"),
16
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
17
- scope: a.scope || "global",
18
- state: a.scope === "global" ? "" : a.scope,
19
- // the state this action affects
20
- errors: a.errors
21
- })) : [];
22
- return {
23
- rootDir: args.rootDir,
24
- documentType: documentModel.name,
25
- module: changeCase.paramCase(args.module),
26
- actions
27
- };
28
- }
29
- };
30
-
31
- module.exports = generate_document_model_module_default;
32
- //# sourceMappingURL=index.js.map
33
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.ts"],"names":["paramCase"],"mappings":";;;;AAcA,IAAO,sCAAQ,GAAA;AAAA,EACb,MAAQ,EAAA,CAAC,EAAE,IAAA,EAAiC,KAAA;AAC1C,IAAA,MAAM,aAAgB,GAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAK,aAAa,CAAA;AACnD,IAAA,MAAM,aACJ,aAAc,CAAA,cAAA,CAAe,aAAc,CAAA,cAAA,CAAe,SAAS,CAAC,CAAA;AACtE,IAAM,MAAA,eAAA,GAAkB,WAAW,OAAQ,CAAA,MAAA;AAAA,MACzC,CAAC,CAAA,KAAM,CAAE,CAAA,IAAA,KAAS,IAAK,CAAA;AAAA,KACzB;AAEA,IAAM,MAAA,OAAA,GACJ,eAAgB,CAAA,MAAA,GAAS,CACrB,GAAA,eAAA,CAAgB,CAAC,CAAE,CAAA,UAAA,CAAW,GAAI,CAAA,CAAC,CAAO,MAAA;AAAA,MACxC,MAAM,CAAE,CAAA,IAAA;AAAA,MACR,QAAA,EAAU,EAAE,MAAW,KAAA,IAAA;AAAA,MACvB,aAAe,EAAA,CAAA,CAAE,MAAQ,EAAA,QAAA,CAAS,cAAc,CAAA;AAAA;AAAA,MAEhD,KAAA,EAAO,EAAE,KAAS,IAAA,QAAA;AAAA,MAClB,KAAO,EAAA,CAAA,CAAE,KAAU,KAAA,QAAA,GAAW,KAAK,CAAE,CAAA,KAAA;AAAA;AAAA,MACrC,QAAQ,CAAE,CAAA;AAAA,KACZ,CAAE,IACF,EAAC;AAEP,IAAO,OAAA;AAAA,MACL,SAAS,IAAK,CAAA,OAAA;AAAA,MACd,cAAc,aAAc,CAAA,IAAA;AAAA,MAC5B,MAAA,EAAQA,oBAAU,CAAA,IAAA,CAAK,MAAM,CAAA;AAAA,MAC7B;AAAA,KACF;AAAA;AAEJ","file":"index.js","sourcesContent":["import { DocumentModelState } from \"document-model/document-model\";\nimport { paramCase } from \"change-case\";\nimport { Maybe, OperationScope } from \"document-model/document\";\nimport { Args } from \"../generate-document-model\";\n\ntype ModuleArgs = Args & { module: string };\ntype Actions = {\n name: Maybe<string>;\n hasInput: boolean;\n hasAttachment: boolean | undefined;\n scope: OperationScope;\n state: string;\n};\n\nexport default {\n params: ({ args }: { args: ModuleArgs }) => {\n const documentModel = JSON.parse(args.documentModel) as DocumentModelState;\n const latestSpec =\n documentModel.specifications[documentModel.specifications.length - 1];\n const filteredModules = latestSpec.modules.filter(\n (m) => m.name === args.module,\n );\n\n const actions: Actions[] =\n filteredModules.length > 0\n ? filteredModules[0].operations.map((a) => ({\n name: a.name,\n hasInput: a.schema !== null,\n hasAttachment: a.schema?.includes(\": Attachment\"),\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n scope: a.scope || \"global\",\n state: a.scope === \"global\" ? \"\" : a.scope, // the state this action affects\n errors: a.errors,\n }))\n : [];\n\n return {\n rootDir: args.rootDir,\n documentType: documentModel.name,\n module: paramCase(args.module),\n actions,\n };\n },\n};\n"]}
@@ -1,37 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/<%= module %>/object.ts"
3
- force: true
4
- ---
5
- import { BaseDocument<% if (actions.find(a => a.hasAttachment)) {%>, AttachmentInput<%}%> } from 'document-model/document';
6
- import {
7
- <% actions.filter(action => action.hasInput).forEach(action => { _%>
8
- <%= h.changeCase.pascal(action.name) %>Input,
9
- <% }); _%>
10
- <%= h.changeCase.pascal(documentType) %>State,
11
- <%= h.changeCase.pascal(documentType) %>LocalState
12
- } from '../types';
13
- import {
14
- <% actions.forEach(action => { _%>
15
- <%= h.changeCase.camel(action.name) %>,
16
- <% }); _%>
17
- } from './creators';
18
- import { <%= h.changeCase.pascal(documentType) %>Action } from '../actions';
19
-
20
- export default class <%= h.changeCase.pascal(documentType) %>_<%= h.changeCase.pascal(module) %> extends BaseDocument<
21
- <%= h.changeCase.pascal(documentType) %>State,
22
- <%= h.changeCase.pascal(documentType) %>Action,
23
- <%= h.changeCase.pascal(documentType) %>LocalState
24
- > {
25
- <% actions.filter(action => action.hasInput).forEach(action => { _%>
26
- public <%= h.changeCase.camel(action.name) %>(input: <%= h.changeCase.pascal(action.name) %>Input<%if(action.hasAttachment){ %>, attachments: AttachmentInput[] <% } %>) {
27
- return this.dispatch(<%= h.changeCase.camel(action.name) %>(input<%if(action.hasAttachment){ %>, attachments<% } %>));
28
- }
29
-
30
- <% }); _%>
31
- <% actions.filter(action => !action.hasInput).forEach(action => { _%>
32
- public <%= h.changeCase.camel(action.name) %>() {
33
- return this.dispatch(<%= h.changeCase.camel(action.name) %>());
34
- }
35
-
36
- <% }); _%>
37
- }
@@ -1,17 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(documentType) %>/gen/<%= module %>/operations.ts"
3
- force: true
4
- ---
5
- import { SignalDispatch } from 'document-model/document';
6
- import {
7
- <% actions.forEach(action => { _%>
8
- <%= h.changeCase.pascal(action.name) %>Action,
9
- <% }); _%>
10
- } from './actions';
11
- import { <%= actions.map(action => h.changeCase.pascal(h.changeCase.pascal(documentType + '_' + action.state + '_State'))).filter((value, index, self) => self.indexOf(value) === index).join(', ') %> } from '../types';
12
-
13
- export interface <%= h.changeCase.pascal(documentType) %><%= h.changeCase.pascal(module) %>Operations {
14
- <% actions.forEach(action => { _%>
15
- <%= h.changeCase.camel(action.name) %>Operation: (state: <%= h.changeCase.pascal(documentType + '_' + action.state + '_State') %>, action: <%= h.changeCase.pascal(action.name) %>Action, dispatch?: SignalDispatch) => void,
16
- <% }); _%>
17
- }
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- var changeCase = require('change-case');
4
-
5
- var generate_document_model_mutations_default = {
6
- params: ({ args }) => {
7
- const documentModel = JSON.parse(args.documentModel);
8
- const latestSpec = documentModel.specifications[documentModel.specifications.length - 1];
9
- return {
10
- rootDir: args.rootDir,
11
- subgraph: args.subgraph,
12
- documentTypeId: documentModel.id,
13
- documentType: documentModel.name,
14
- schema: latestSpec.state.global.schema,
15
- modules: latestSpec.modules.map((m) => ({
16
- ...m,
17
- name: changeCase.paramCase(m.name)
18
- }))
19
- };
20
- }
21
- };
22
-
23
- module.exports = generate_document_model_mutations_default;
24
- //# sourceMappingURL=index.js.map
25
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.ts"],"names":["paramCase"],"mappings":";;;;AASA,IAAO,yCAAQ,GAAA;AAAA,EACb,MAAQ,EAAA,CAAC,EAAE,IAAA,EAA2B,KAAA;AACpC,IAAA,MAAM,aAAgB,GAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAK,aAAa,CAAA;AACnD,IAAA,MAAM,aACJ,aAAc,CAAA,cAAA,CAAe,aAAc,CAAA,cAAA,CAAe,SAAS,CAAC,CAAA;AAEtE,IAAO,OAAA;AAAA,MACL,SAAS,IAAK,CAAA,OAAA;AAAA,MACd,UAAU,IAAK,CAAA,QAAA;AAAA,MACf,gBAAgB,aAAc,CAAA,EAAA;AAAA,MAC9B,cAAc,aAAc,CAAA,IAAA;AAAA,MAC5B,MAAA,EAAQ,UAAW,CAAA,KAAA,CAAM,MAAO,CAAA,MAAA;AAAA,MAChC,OAAS,EAAA,UAAA,CAAW,OAAQ,CAAA,GAAA,CAAI,CAAC,CAAO,MAAA;AAAA,QACtC,GAAG,CAAA;AAAA,QACH,IAAA,EAAMA,oBAAU,CAAA,CAAA,CAAE,IAAI;AAAA,OACtB,CAAA;AAAA,KACJ;AAAA;AAEJ","file":"index.js","sourcesContent":["import { paramCase } from \"change-case\";\nimport { DocumentModelState } from \"document-model/document-model\";\n\nexport type Args = {\n documentModel: string;\n rootDir: string;\n subgraph: string;\n};\n\nexport default {\n params: ({ args }: { args: Args }) => {\n const documentModel = JSON.parse(args.documentModel) as DocumentModelState;\n const latestSpec =\n documentModel.specifications[documentModel.specifications.length - 1];\n\n return {\n rootDir: args.rootDir,\n subgraph: args.subgraph,\n documentTypeId: documentModel.id,\n documentType: documentModel.name,\n schema: latestSpec.state.global.schema,\n modules: latestSpec.modules.map((m) => ({\n ...m,\n name: paramCase(m.name),\n })),\n };\n },\n};\n"]}
@@ -1,62 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(subgraph) %>/resolvers.ts"
3
- force: true
4
- ---
5
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
6
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
7
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
8
- import { Subgraph } from "@powerhousedao/reactor-api";
9
- import { actions } from "../../document-models/<%- h.changeCase.param(documentType) %>";
10
- import { actions as driveActions } from "document-model-libs/document-drive";
11
- import { utils as docUtils } from "document-model/document";
12
-
13
- export const getResolvers = (subgraph: Subgraph, driveId: string) => {
14
- const reactor = subgraph.reactor;
15
-
16
- return ({
17
- Mutation: {
18
-
19
- <%- h.changeCase.pascal(documentType) %>_createDocument: async (_: any, args: any) => {
20
- const docId = docUtils.generateId();
21
-
22
- await reactor.addDriveAction(driveId, driveActions.addFile({
23
- id: docId,
24
- name: args.name,
25
- documentType: "<%- documentTypeId %>",
26
- synchronizationUnits:[
27
- {
28
- branch: "main",
29
- scope: "global",
30
- syncId: docUtils.hashKey(),
31
- },
32
- {
33
- branch: "main",
34
- scope: "local",
35
- syncId: docUtils.hashKey(),
36
- }
37
- ],
38
- }));
39
-
40
- return docId;
41
- },
42
-
43
- <% modules.forEach(module => { _%>
44
- <% module.operations.forEach(op => { _%>
45
- <%- h.changeCase.pascal(documentType) + '_' + h.changeCase.camel(op.name)
46
- %>: async (_: any, args: any) => {
47
- const docId: string = args.docId || "";
48
- const doc = await reactor.getDocument(driveId, docId);
49
-
50
- await reactor.addAction(
51
- driveId,
52
- docId,
53
- actions.<%- h.changeCase.camel(op.name) %>({...args.input})
54
- );
55
-
56
- return doc.revision.global + 1;
57
- },
58
-
59
- <%_ })}); %>
60
- }
61
- });
62
- };
@@ -1,31 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(subgraph) %>/schema.graphql"
3
- force: true
4
- ---
5
- """
6
- Subgraph definition for <%= h.changeCase.pascal(documentType) %> (<%- documentTypeId %>)
7
-
8
- """
9
- <%- schema %>
10
-
11
- """
12
- Mutations: <%= h.changeCase.pascal(documentType) %>
13
- """
14
- type Mutation {
15
-
16
- <%- h.changeCase.pascal(documentType) %>_createDocument(name:String): String
17
-
18
- <% modules.forEach(module => { _%>
19
- <% module.operations.forEach(op => { _%>
20
- <%- h.changeCase.pascal(documentType) + '_' + h.changeCase.camel(op.name)
21
- %>(docId: PHID, input: <%-
22
- h.changeCase.pascal(documentType) + '_' + h.changeCase.pascal(op.name) %>Input): Int
23
- <%_ })}); %>}
24
- <% modules.forEach(module => { _%>
25
-
26
- """
27
- Module: <%= h.changeCase.pascal(module.name) %>
28
- """
29
- <% module.operations.forEach(op => { _%>
30
- <%- op.schema.replace('input ', 'input ' + h.changeCase.pascal(documentType) + '_') %>
31
- <%_ })}); %>
@@ -1,23 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/editor.tsx"
3
- unless_exists: true
4
- ---
5
- <% if(!documentTypes.length){ %>import { Action, EditorProps } from 'document-model/document';<% } else { %>import { EditorProps } from 'document-model/document';<% } %>
6
- <% documentTypes.forEach(type => { _%>
7
- import { <%= documentTypesMap[type].name %>State, <%= documentTypesMap[type].name %>Action, <%= documentTypesMap[type].name %>LocalState, actions } from "<%= documentTypesMap[type].importPath %>";
8
- %><% }); _%>
9
- import { utils as documentModelUtils } from 'document-model/document';
10
- import { Button } from '@powerhousedao/design-system';
11
-
12
- export type IProps = <% if(!documentTypes.length){ %>EditorProps<unknown, Action><% } else { %><% documentTypes.forEach((type, index) => { _%>EditorProps<<%= documentTypesMap[type].name %>State, <%= documentTypesMap[type].name %>Action, <%= documentTypesMap[type].name %>LocalState%>%>><% if(index < documentTypes.length - 1){ %> | <% }%><% }); _%> <% } %>;
13
-
14
- export default function Editor(props: IProps) {
15
- // generate a random id
16
- // const id = documentModelUtils.hashKey();
17
-
18
- return (
19
- <div>
20
- <Button onClick={() => console.log('Hello world!')}>My Button</Button>
21
- </div>
22
- );
23
- };
@@ -1,22 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
- force: true
4
- ---
5
- import { ExtendedEditor, EditorContextProps } from 'document-model-libs';
6
- import Editor from './editor';
7
- <% documentTypes.forEach(type => { _%>
8
- import { <%= documentTypesMap[type].name %>State, <%= documentTypesMap[type].name %>Action, <%= documentTypesMap[type].name %>LocalState } from "<%= documentTypesMap[type].importPath %>";
9
- %><% }); _%>
10
-
11
- export const module: <% if(!documentTypes.length){ %>ExtendedEditor<unknown, Action, unknown, unknown><% } else { %><% documentTypes.forEach((type, index) => { _%>ExtendedEditor<<%= documentTypesMap[type].name %>State, <%= documentTypesMap[type].name %>Action, <%= documentTypesMap[type].name %>LocalState, EditorContextProps%>%>> <% if(index < documentTypes.length - 1){ %>| <% }%><% }); _%> <% } %>= {
12
- Component: Editor,
13
- documentTypes: [<% if(!documentTypes.length){ %>'*'<% } else { %><% documentTypes.forEach(type => { _%>"<%= type %>", %><% }); _%> <% } %>],
14
- config: {
15
- id: 'editor-id',
16
- disableExternalControls: true,
17
- documentToolbarEnabled: true,
18
- showSwitchboardLink: true,
19
- },
20
- };
21
-
22
- export default module;
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- var generate_editor_default = {
4
- params: ({ args }) => {
5
- return {
6
- rootDir: args.rootDir,
7
- documentModelsDir: args.documentModelsDir,
8
- name: args.name,
9
- documentTypes: args.documentTypes.split(",").filter((type) => type !== ""),
10
- documentTypesMap: JSON.parse(args.documentTypesMap)
11
- };
12
- }
13
- };
14
-
15
- module.exports = generate_editor_default;
16
- //# sourceMappingURL=index.js.map
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/codegen/.hygen/templates/powerhouse/generate-editor/index.ts"],"names":[],"mappings":";;AAUA,IAAO,uBAAQ,GAAA;AAAA,EACb,MAAQ,EAAA,CAAC,EAAE,IAAA,EAA2B,KAAA;AACpC,IAAO,OAAA;AAAA,MACL,SAAS,IAAK,CAAA,OAAA;AAAA,MACd,mBAAmB,IAAK,CAAA,iBAAA;AAAA,MACxB,MAAM,IAAK,CAAA,IAAA;AAAA,MACX,aAAA,EAAe,IAAK,CAAA,aAAA,CACjB,KAAM,CAAA,GAAG,EACT,MAAO,CAAA,CAAC,IAAS,KAAA,IAAA,KAAS,EAAE,CAAA;AAAA,MAC/B,gBAAkB,EAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAK,gBAAgB;AAAA,KACpD;AAAA;AAEJ","file":"index.js","sourcesContent":["import { DocumentTypesMap } from \"../../../..\";\n\nexport type Args = {\n name: string;\n rootDir: string;\n documentModelsDir: string;\n documentTypes: string;\n documentTypesMap: string;\n};\n\nexport default {\n params: ({ args }: { args: Args }) => {\n return {\n rootDir: args.rootDir,\n documentModelsDir: args.documentModelsDir,\n name: args.name,\n documentTypes: args.documentTypes\n .split(\",\")\n .filter((type) => type !== \"\"),\n documentTypesMap: JSON.parse(args.documentTypesMap) as DocumentTypesMap,\n };\n },\n};\n"]}
@@ -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,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 { module as <%= h.changeCase.pascal(name) %> } from './<%= h.changeCase.param(name) %>';
@@ -1,31 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/<%= h.changeCase.param(name) %>.stories.tsx"
3
- unless_exists: true
4
- ---
5
- import Editor from './editor';
6
- import { createDocumentStory } from 'document-model-libs/utils';
7
- <% if(!documentTypes.length){ %>import { baseReducer, utils } from 'document-model/document';<% } %>
8
- <% documentTypes.forEach(type => { _%>
9
- import * as <%= documentTypesMap[type].name %>Module from "<%= documentTypesMap[type].importPath %>";
10
- %><% }); _%>
11
-
12
- <% if(!documentTypes.length){ %>
13
- const { meta, CreateDocumentStory: <%= h.changeCase.pascal(name) %> } = createDocumentStory(
14
- Editor,
15
- (...args) => baseReducer(...args, document => document),
16
- utils.createExtendedState(),
17
- );
18
- export { <%= h.changeCase.pascal(name) %> };
19
- <% } %>
20
-
21
- <% documentTypes.forEach((type, index) => { _%>
22
- const { <% if(index === 0){ %>meta, <% } %>CreateDocumentStory: <%= documentTypesMap[type].name %> } = createDocumentStory(
23
- Editor,
24
- <%= documentTypesMap[type].name %>Module.reducer,
25
- <%= documentTypesMap[type].name %>Module.utils.createDocument(),
26
- );
27
- export { <%= documentTypesMap[type].name %> }
28
-
29
- %><% }); _%>
30
-
31
- export default { ...meta, title: '<%= h.changeCase.title(name) %>' };
@@ -1,59 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
- force: true
4
- ---
5
- import { IBaseDocumentDriveServer } from "document-drive";
6
- import { actions } from "document-model/document-model";
7
- import {
8
- addDocument,
9
- addFolder,
10
- initReactorWithRemoteDrive
11
- } from "./utils";
12
-
13
- async function main() {
14
- const driveServer = (await initReactorWithRemoteDrive(
15
- "http://localhost:4001/d/powerhouse"
16
- )) as IBaseDocumentDriveServer;
17
-
18
- const driveIds = await driveServer.getDrives();
19
- let drive = await driveServer.getDrive(driveIds[0]);
20
-
21
- // add folder to root
22
- await addFolder(driveServer, driveIds[0], "example-folder", "Example Folder");
23
- drive = await driveServer.getDrive(driveIds[0]);
24
-
25
- // get root folder
26
- const rootDirId = drive.state.global.nodes.find(
27
- (e) => e.name === "Example Folder"
28
- );
29
-
30
- // check if root folder exists and throw error if it doesn't
31
- if (!rootDirId) {
32
- throw new Error("Root directory not found");
33
- }
34
-
35
- // add document to root folder
36
- await addDocument(
37
- driveServer,
38
- driveIds[0],
39
- "example-document",
40
- "Example Document",
41
- "powerhouse/document-model",
42
- rootDirId.id
43
- );
44
-
45
- // set model name to example document
46
- await driveServer.addAction(
47
- driveIds[0],
48
- "example-document",
49
- actions.setModelName({
50
- name: "Example Document",
51
- })
52
- );
53
-
54
- // get document
55
- const document = await driveServer.getDocument(driveIds[0], "example-document");
56
- console.log(document.state.global);
57
-
58
- process.exit(0);
59
- }
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- var generate_import_script_default = {
4
- params: ({ args }) => {
5
- return {
6
- rootDir: args.rootDir,
7
- name: args.name
8
- };
9
- }
10
- };
11
-
12
- module.exports = generate_import_script_default;
13
- //# sourceMappingURL=index.js.map
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/codegen/.hygen/templates/powerhouse/generate-import-script/index.ts"],"names":[],"mappings":";;AAKA,IAAO,8BAAQ,GAAA;AAAA,EACb,MAAQ,EAAA,CAAC,EAAE,IAAA,EAA2B,KAAA;AACpC,IAAO,OAAA;AAAA,MACL,SAAS,IAAK,CAAA,OAAA;AAAA,MACd,MAAM,IAAK,CAAA;AAAA,KACb;AAAA;AAEJ","file":"index.js","sourcesContent":["export type Args = {\n name: string;\n rootDir: string;\n};\n\nexport default {\n params: ({ args }: { args: Args }) => {\n return {\n rootDir: args.rootDir,\n name: args.name,\n };\n },\n};\n"]}
@@ -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/document";
13
- import { module as DocumentModelLib } from "document-model/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,66 +0,0 @@
1
- ---
2
- to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
- force: true
4
- ---
5
- import { generateId } from "document-model/utils";
6
- import {
7
- AnalyticsProcessor,
8
- ProcessorOptions,
9
- ProcessorUpdate,
10
- AnalyticsPath
11
- } from "@powerhousedao/reactor-api";
12
- <% documentTypes.forEach(type => { _%>
13
- import { <%= documentTypesMap[type].name %>Document } from "<%= documentTypesMap[type].importPath %>";
14
- %><% }); _%>
15
- <% if(documentTypes.length === 0) { %>import { Document } from "document-model/document";<% } %>
16
- type DocumentType = <% if(documentTypes.length) { %><%= documentTypes.map(type => `${documentTypesMap[type].name}Document`).join(" | ") %> <% } else { %>Document<% } %>;
17
-
18
- export class <%= pascalName %>Processor extends AnalyticsProcessor<% if(documentTypes.length) { %><DocumentType><% } %> {
19
-
20
- protected processorOptions: ProcessorOptions = {
21
- listenerId: generateId(),
22
- filter: {
23
- branch: ["main"],
24
- documentId: ["*"],
25
- documentType: [<% if(documentTypes.length) { %><%- documentTypes.map(type => `"${type}"`).join(", ") %><% } else { %>"*"<% } %>],
26
- scope: ["global"],
27
- },
28
- block: false,
29
- label: "<%= name %>",
30
- system: true,
31
- };
32
-
33
- async onStrands(strands: ProcessorUpdate<DocumentType>[]): Promise<void> {
34
- if (strands.length === 0) {
35
- return;
36
- }
37
-
38
- for (const strand of strands) {
39
- if (strand.operations.length === 0) {
40
- continue;
41
- }
42
-
43
- const firstOp = strand.operations[0];
44
- const source = AnalyticsPath.fromString(
45
- `ph/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`,
46
- );
47
- if (firstOp.index === 0) {
48
- await this.clearSource(source);
49
- }
50
-
51
- for (const operation of strand.operations) {
52
- console.log(">>> ", operation.type);
53
- }
54
- }
55
- }
56
-
57
- async onDisconnect() {}
58
-
59
- private async clearSource(source: AnalyticsPath) {
60
- try {
61
- await this.analyticsStore.clearSeriesBySource(source, true);
62
- } catch (e) {
63
- console.error(e);
64
- }
65
- }
66
- }
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- var generate_processor_analytics_default = {
4
- params: ({ args }) => {
5
- return {
6
- rootDir: args.rootDir,
7
- documentModelsDir: args.documentModelsDir,
8
- name: args.name,
9
- documentTypes: args.documentTypes.split(",").filter((type) => type !== ""),
10
- documentTypesMap: JSON.parse(args.documentTypesMap)
11
- };
12
- }
13
- };
14
-
15
- module.exports = generate_processor_analytics_default;
16
- //# sourceMappingURL=index.js.map
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.ts"],"names":[],"mappings":";;AAUA,IAAO,oCAAQ,GAAA;AAAA,EACb,MAAQ,EAAA,CAAC,EAAE,IAAA,EAA2B,KAAA;AACpC,IAAO,OAAA;AAAA,MACL,SAAS,IAAK,CAAA,OAAA;AAAA,MACd,mBAAmB,IAAK,CAAA,iBAAA;AAAA,MACxB,MAAM,IAAK,CAAA,IAAA;AAAA,MACX,aAAA,EAAe,IAAK,CAAA,aAAA,CACjB,KAAM,CAAA,GAAG,EACT,MAAO,CAAA,CAAC,IAAS,KAAA,IAAA,KAAS,EAAE,CAAA;AAAA,MAC/B,gBAAkB,EAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAK,gBAAgB;AAAA,KACpD;AAAA;AAEJ","file":"index.js","sourcesContent":["import { DocumentTypesMap } from \"../../../..\";\n\nexport type Args = {\n name: string;\n rootDir: string;\n documentModelsDir: string;\n documentTypes: string;\n documentTypesMap: string;\n};\n\nexport default {\n params: ({ args }: { args: Args }) => {\n return {\n rootDir: args.rootDir,\n documentModelsDir: args.documentModelsDir,\n name: args.name,\n documentTypes: args.documentTypes\n .split(\",\")\n .filter((type) => type !== \"\"),\n documentTypesMap: JSON.parse(args.documentTypesMap) as DocumentTypesMap,\n };\n },\n};\n"]}
@@ -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,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 * as <%= h.changeCase.pascal(name) %>Processor from "./<%= h.changeCase.param(name) %>";