@powerhousedao/codegen 6.0.0-dev.38 → 6.0.0-dev.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/codegen/__tests__/generate-processor.test.js +251 -201
- package/dist/src/codegen/__tests__/generate-processor.test.js.map +1 -1
- package/dist/src/codegen/generate.d.ts +2 -1
- package/dist/src/codegen/generate.d.ts.map +1 -1
- package/dist/src/codegen/generate.js.map +1 -1
- package/dist/src/file-builders/processors/processor.d.ts +2 -1
- package/dist/src/file-builders/processors/processor.d.ts.map +1 -1
- package/dist/src/file-builders/processors/processor.js +18 -16
- package/dist/src/file-builders/processors/processor.js.map +1 -1
- package/dist/src/templates/processors/analytics/factory.js +3 -3
- package/dist/src/templates/processors/analytics/index.d.ts.map +1 -1
- package/dist/src/templates/processors/analytics/index.js +1 -35
- package/dist/src/templates/processors/analytics/index.js.map +1 -1
- package/dist/src/templates/processors/factory.d.ts.map +1 -1
- package/dist/src/templates/processors/factory.js +5 -6
- package/dist/src/templates/processors/factory.js.map +1 -1
- package/dist/src/templates/processors/relational-db/factory.js +6 -6
- package/dist/src/templates/processors/relational-db/index.d.ts.map +1 -1
- package/dist/src/templates/processors/relational-db/index.js +3 -30
- package/dist/src/templates/processors/relational-db/index.js.map +1 -1
- package/dist/src/templates/processors/relational-db/migrations.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
|
@@ -6,7 +6,7 @@ import { ts } from "ts-morph";
|
|
|
6
6
|
import { tsMorphGenerateAnalyticsProcessor } from "./analytics.js";
|
|
7
7
|
import { tsMorphGenerateRelationalDbProcessor } from "./relational-db.js";
|
|
8
8
|
export async function tsMorphGenerateProcessor(args) {
|
|
9
|
-
const { processorName, documentTypes, rootDir, processorType,
|
|
9
|
+
const { processorName, documentTypes, rootDir, processorType, processorApps, } = args;
|
|
10
10
|
const paramCaseName = paramCase(processorName);
|
|
11
11
|
const camelCaseName = camelCase(processorName);
|
|
12
12
|
const pascalCaseName = pascalCase(processorName);
|
|
@@ -43,21 +43,23 @@ export async function tsMorphGenerateProcessor(args) {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
await updateIndexFile({ processorsDirPath, project });
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
for (const processorApp of processorApps) {
|
|
47
|
+
await updateFactoryFile({
|
|
48
|
+
processorsDirPath,
|
|
49
|
+
project,
|
|
50
|
+
camelCaseName,
|
|
51
|
+
dirPath,
|
|
52
|
+
processorApp,
|
|
53
|
+
});
|
|
54
|
+
await updateAppProcessorsFile({
|
|
55
|
+
processorsDirPath,
|
|
56
|
+
processorApp,
|
|
57
|
+
project,
|
|
58
|
+
dirPath,
|
|
59
|
+
pascalCaseName,
|
|
60
|
+
camelCaseName,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
61
63
|
await project.save();
|
|
62
64
|
}
|
|
63
65
|
async function updateAppProcessorsFile(args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../../src/file-builders/processors/processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../../src/file-builders/processors/processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,13 @@ import { getDocumentType } from "../utils.js";
|
|
|
3
3
|
export const analyticsFactoryTemplate = (v) => ts `
|
|
4
4
|
import type {
|
|
5
5
|
ProcessorRecord,
|
|
6
|
-
ReactorContext,
|
|
7
6
|
IProcessorHostModule
|
|
8
|
-
} from "
|
|
7
|
+
} from "@powerhousedao/reactor";
|
|
9
8
|
import { type PHDocumentHeader } from "document-model";
|
|
9
|
+
import type { ProcessorApp } from "@powerhousedao/common";
|
|
10
10
|
import { ${v.pascalCaseName}Processor } from "./index.js";
|
|
11
11
|
|
|
12
|
-
export const ${v.camelCaseName}ProcessorFactory = (module: IProcessorHostModule) => (driveHeader: PHDocumentHeader,
|
|
12
|
+
export const ${v.camelCaseName}ProcessorFactory = (module: IProcessorHostModule) => (driveHeader: PHDocumentHeader, processorApp?: ProcessorApp): ProcessorRecord[] => {
|
|
13
13
|
return [
|
|
14
14
|
{
|
|
15
15
|
processor: new ${v.pascalCaseName}Processor(module.analyticsStore),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/templates/processors/analytics/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,GAAI,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/templates/processors/analytics/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,GAAI,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,WA+B/D,CAAC"}
|
|
@@ -3,8 +3,7 @@ const analyticsPathFromString = "`/${this.NAMESPACE}/${strand.driveId}/${strand.
|
|
|
3
3
|
export const analyticsIndexTemplate = (v) => ts `
|
|
4
4
|
import type { AnalyticsSeriesInput, IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
|
|
5
5
|
import { AnalyticsPath } from "@powerhousedao/analytics-engine-core";
|
|
6
|
-
import type {
|
|
7
|
-
import type { OperationWithContext } from "@powerhousedao/reactor";
|
|
6
|
+
import type { OperationWithContext, IProcessor } from "@powerhousedao/reactor";
|
|
8
7
|
|
|
9
8
|
export class ${v.pascalCaseName}Processor implements IProcessor {
|
|
10
9
|
private readonly NAMESPACE = "${v.pascalCaseName}";
|
|
@@ -23,39 +22,6 @@ export class ${v.pascalCaseName}Processor implements IProcessor {
|
|
|
23
22
|
return Promise.resolve();
|
|
24
23
|
}
|
|
25
24
|
|
|
26
|
-
async onStrands(strands: InternalTransmitterUpdate[]): Promise<void> {
|
|
27
|
-
if (strands.length === 0) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
for (const strand of strands) {
|
|
32
|
-
if (strand.operations.length === 0) {
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const source = AnalyticsPath.fromString(
|
|
37
|
-
${analyticsPathFromString},
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
// clear source if we have already inserted these analytics
|
|
41
|
-
const firstOp = strand.operations[0];
|
|
42
|
-
if (firstOp.index === 0) {
|
|
43
|
-
await this.clearSource(source);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
for (const operation of strand.operations) {
|
|
47
|
-
// this.inputs.push( ... );
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// batch insert
|
|
52
|
-
if (this.inputs.length > 0) {
|
|
53
|
-
await this.analyticsStore.addSeriesValues(this.inputs);
|
|
54
|
-
|
|
55
|
-
this.inputs.length = 0;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
25
|
private async clearSource(source: AnalyticsPath) {
|
|
60
26
|
try {
|
|
61
27
|
await this.analyticsStore.clearSeriesBySource(source, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/templates/processors/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,MAAM,uBAAuB,GAC3B,8FAA8F,CAAC;AACjG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAA6B,EAAE,EAAE,CACtE,EAAE,CAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/templates/processors/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,MAAM,uBAAuB,GAC3B,8FAA8F,CAAC;AACjG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAA6B,EAAE,EAAE,CACtE,EAAE,CAAA;;;;;eAKW,CAAC,CAAC,cAAc;kCACG,CAAC,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;CAwBjD,CAAC,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/templates/processors/factory.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/templates/processors/factory.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,cA0DjC,CAAC"}
|
|
@@ -9,32 +9,31 @@ import type {
|
|
|
9
9
|
ProcessorRecord,
|
|
10
10
|
IProcessorHostModule,
|
|
11
11
|
ProcessorFactory,
|
|
12
|
-
} from "
|
|
12
|
+
} from "@powerhousedao/reactor";
|
|
13
13
|
import type { PHDocumentHeader } from "document-model";
|
|
14
|
-
import type { ReactorContext } from "document-drive";
|
|
15
14
|
|
|
16
15
|
export const processorFactory = async (module: IProcessorHostModule) => {
|
|
17
16
|
const factories: ProcessorFactory[] = [];
|
|
18
17
|
|
|
19
|
-
if (module.
|
|
18
|
+
if (module.processorApp === "connect") {
|
|
20
19
|
// dynamically import connect processors and add them
|
|
21
20
|
// to the factories array
|
|
22
21
|
await addConnectProcessorFactories(factories, module);
|
|
23
22
|
}
|
|
24
23
|
|
|
25
|
-
if (module.
|
|
24
|
+
if (module.processorApp === "switchboard") {
|
|
26
25
|
// dynamically import switchboard processors and add them
|
|
27
26
|
// to the factories array
|
|
28
27
|
await addSwitchboardProcessorFactories(factories, module);
|
|
29
28
|
}
|
|
30
29
|
|
|
31
30
|
// Return the inner function that will be called for each drive
|
|
32
|
-
return async (driveHeader: PHDocumentHeader
|
|
31
|
+
return async (driveHeader: PHDocumentHeader): Promise<ProcessorRecord[]> => {
|
|
33
32
|
const processors: ProcessorRecord[] = [];
|
|
34
33
|
|
|
35
34
|
// Call each cached factory with the driveHeader
|
|
36
35
|
for (const factory of factories) {
|
|
37
|
-
const factoryProcessors = await factory(driveHeader,
|
|
36
|
+
const factoryProcessors = await factory(driveHeader, module.processorApp);
|
|
38
37
|
processors.push(...factoryProcessors);
|
|
39
38
|
}
|
|
40
39
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/templates/processors/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAC5C,EAAE,CAAA
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/templates/processors/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAC5C,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDH,CAAC,GAAG,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { ts } from "@tmpl/core";
|
|
2
2
|
import { getDocumentType } from "../utils.js";
|
|
3
3
|
export const relationalDbFactoryTemplate = (v) => ts `
|
|
4
|
-
import type {
|
|
4
|
+
import type {
|
|
5
5
|
ProcessorRecord,
|
|
6
6
|
IProcessorHostModule,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} from "document-drive";
|
|
7
|
+
ProcessorFilter
|
|
8
|
+
} from "@powerhousedao/reactor"
|
|
10
9
|
import type { PHDocumentHeader } from "document-model";
|
|
10
|
+
import type { ProcessorApp } from "@powerhousedao/common";
|
|
11
11
|
import { ${v.pascalCaseName}Processor } from "./index.js";
|
|
12
12
|
|
|
13
|
-
export const ${v.camelCaseName}ProcessorFactory = (module: IProcessorHostModule) => async (driveHeader: PHDocumentHeader,
|
|
13
|
+
export const ${v.camelCaseName}ProcessorFactory = (module: IProcessorHostModule) => async (driveHeader: PHDocumentHeader, processorApp?: ProcessorApp): Promise<ProcessorRecord[]> => {
|
|
14
14
|
// Create a namespace for the processor and the provided drive id
|
|
15
15
|
const namespace = ${v.pascalCaseName}Processor.getNamespace(driveHeader.id);
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@ export const ${v.camelCaseName}ProcessorFactory = (module: IProcessorHostModule)
|
|
|
20
20
|
);
|
|
21
21
|
|
|
22
22
|
// Create a filter for the processor
|
|
23
|
-
const filter:
|
|
23
|
+
const filter: ProcessorFilter = {
|
|
24
24
|
branch: ["main"],
|
|
25
25
|
documentId: ["*"],
|
|
26
26
|
documentType: [${getDocumentType(v.documentTypes)}],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/templates/processors/relational-db/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/templates/processors/relational-db/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,yBAAyB,GAAI,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,WAyBlE,CAAC"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { ts } from "@tmpl/core";
|
|
2
2
|
const defaultNamespaceComment = '// Default namespace: `${this.name}_${driveId.replaceAll("-", "_")}`';
|
|
3
|
-
const taskString = "`${strand.documentId}-${operation.index}: ${operation.action.type}`";
|
|
4
3
|
export const relationalDbIndexTemplate = (v) => ts `
|
|
5
|
-
import { RelationalDbProcessor } from "
|
|
6
|
-
import type {
|
|
4
|
+
import { RelationalDbProcessor } from "@powerhousedao/reactor";
|
|
5
|
+
import type { OperationWithContext } from "@powerhousedao/reactor";
|
|
7
6
|
import { up } from "./migrations.js";
|
|
8
7
|
import type { DB } from "./schema.js";
|
|
9
|
-
import type { OperationWithContext } from "@powerhousedao/reactor";
|
|
10
8
|
|
|
11
9
|
export class ${v.pascalCaseName}Processor extends RelationalDbProcessor<DB> {
|
|
12
|
-
|
|
10
|
+
onOperations(operations: OperationWithContext[]): Promise<void> {
|
|
13
11
|
return Promise.resolve();
|
|
14
12
|
}
|
|
15
13
|
|
|
@@ -25,31 +23,6 @@ export class ${v.pascalCaseName}Processor extends RelationalDbProcessor<DB> {
|
|
|
25
23
|
override async initAndUpgrade(): Promise<void> {
|
|
26
24
|
await up(this.relationalDb);
|
|
27
25
|
}
|
|
28
|
-
|
|
29
|
-
override async onStrands(
|
|
30
|
-
strands: InternalTransmitterUpdate[],
|
|
31
|
-
): Promise<void> {
|
|
32
|
-
if (strands.length === 0) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
for (const strand of strands) {
|
|
37
|
-
if (strand.operations.length === 0) {
|
|
38
|
-
continue;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
for (const operation of strand.operations) {
|
|
42
|
-
await this.relationalDb
|
|
43
|
-
.insertInto("todo")
|
|
44
|
-
.values({
|
|
45
|
-
task: ${taskString},
|
|
46
|
-
status: true,
|
|
47
|
-
})
|
|
48
|
-
.onConflict((oc) => oc.column("task").doNothing())
|
|
49
|
-
.execute();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
26
|
}
|
|
54
27
|
`.raw;
|
|
55
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/templates/processors/relational-db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,uBAAuB,GAC3B,sEAAsE,CAAC;AACzE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/templates/processors/relational-db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,uBAAuB,GAC3B,sEAAsE,CAAC;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAA6B,EAAE,EAAE,CACzE,EAAE,CAAA;;;;;;eAMW,CAAC,CAAC,cAAc;;;;;;;;;;MAUzB,uBAAuB;;;;;;;;CAQ5B,CAAC,GAAG,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ts } from "@tmpl/core";
|
|
2
2
|
export const relationalDbMigrationsTemplate = () => ts `
|
|
3
|
-
import {
|
|
3
|
+
import type { IRelationalDb } from "@powerhousedao/reactor"
|
|
4
4
|
|
|
5
5
|
export async function up(db: IRelationalDb<any>): Promise<void> {
|
|
6
6
|
// Create table
|