@powerhousedao/codegen 6.0.0-dev.36 → 6.0.0-dev.37
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 +238 -55
- package/dist/src/codegen/__tests__/generate-processor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/global-setup.d.ts +1 -1
- package/dist/src/codegen/__tests__/global-setup.d.ts.map +1 -1
- package/dist/src/codegen/__tests__/global-setup.js +3 -15
- package/dist/src/codegen/__tests__/global-setup.js.map +1 -1
- package/dist/src/codegen/generate.d.ts +9 -1
- package/dist/src/codegen/generate.d.ts.map +1 -1
- package/dist/src/codegen/generate.js +8 -9
- package/dist/src/codegen/generate.js.map +1 -1
- package/dist/src/file-builders/processors/analytics.d.ts.map +1 -1
- package/dist/src/file-builders/processors/analytics.js +2 -1
- package/dist/src/file-builders/processors/analytics.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 +69 -94
- package/dist/src/file-builders/processors/processor.js.map +1 -1
- package/dist/src/file-builders/processors/types.d.ts +1 -1
- package/dist/src/file-builders/processors/types.d.ts.map +1 -1
- package/dist/src/templates/boilerplate/package.json.d.ts.map +1 -1
- package/dist/src/templates/boilerplate/package.json.js +8 -0
- package/dist/src/templates/boilerplate/package.json.js.map +1 -1
- package/dist/src/templates/processors/analytics/factory.d.ts +1 -0
- package/dist/src/templates/processors/analytics/factory.d.ts.map +1 -1
- package/dist/src/templates/processors/analytics/factory.js +1 -1
- package/dist/src/templates/processors/analytics/factory.js.map +1 -1
- package/dist/src/templates/processors/factory.d.ts.map +1 -1
- package/dist/src/templates/processors/factory.js +31 -4
- package/dist/src/templates/processors/factory.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +1 -0
- package/dist/vitest.config.js.map +1 -1
- package/package.json +10 -10
|
@@ -6,10 +6,10 @@ 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 {
|
|
10
|
-
const paramCaseName = paramCase(
|
|
11
|
-
const camelCaseName = camelCase(
|
|
12
|
-
const pascalCaseName = pascalCase(
|
|
9
|
+
const { processorName, documentTypes, rootDir, processorType, processorApp } = args;
|
|
10
|
+
const paramCaseName = paramCase(processorName);
|
|
11
|
+
const camelCaseName = camelCase(processorName);
|
|
12
|
+
const pascalCaseName = pascalCase(processorName);
|
|
13
13
|
const processorsDirPath = path.join(rootDir, "processors");
|
|
14
14
|
const dirPath = path.join(processorsDirPath, paramCaseName);
|
|
15
15
|
const sourceFilesPath = path.join(processorsDirPath, "**/*");
|
|
@@ -18,7 +18,7 @@ export async function tsMorphGenerateProcessor(args) {
|
|
|
18
18
|
project.addSourceFilesAtPaths(sourceFilesPath);
|
|
19
19
|
if (processorType === "analytics") {
|
|
20
20
|
await tsMorphGenerateAnalyticsProcessor({
|
|
21
|
-
|
|
21
|
+
processorName,
|
|
22
22
|
documentTypes,
|
|
23
23
|
rootDir,
|
|
24
24
|
camelCaseName,
|
|
@@ -31,7 +31,7 @@ export async function tsMorphGenerateProcessor(args) {
|
|
|
31
31
|
}
|
|
32
32
|
else {
|
|
33
33
|
await tsMorphGenerateRelationalDbProcessor({
|
|
34
|
-
|
|
34
|
+
processorName,
|
|
35
35
|
documentTypes,
|
|
36
36
|
rootDir,
|
|
37
37
|
camelCaseName,
|
|
@@ -43,9 +43,48 @@ export async function tsMorphGenerateProcessor(args) {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
await updateIndexFile({ processorsDirPath, project });
|
|
46
|
-
await updateFactoryFile({
|
|
46
|
+
await updateFactoryFile({
|
|
47
|
+
processorsDirPath,
|
|
48
|
+
project,
|
|
49
|
+
camelCaseName,
|
|
50
|
+
dirPath,
|
|
51
|
+
processorApp,
|
|
52
|
+
});
|
|
53
|
+
await updateAppProcessorsFile({
|
|
54
|
+
processorsDirPath,
|
|
55
|
+
processorApp,
|
|
56
|
+
project,
|
|
57
|
+
dirPath,
|
|
58
|
+
pascalCaseName,
|
|
59
|
+
camelCaseName,
|
|
60
|
+
});
|
|
47
61
|
await project.save();
|
|
48
62
|
}
|
|
63
|
+
async function updateAppProcessorsFile(args) {
|
|
64
|
+
const { project, processorsDirPath, processorApp, dirPath, pascalCaseName, camelCaseName, } = args;
|
|
65
|
+
const processorFilePath = path.join(processorsDirPath, `${processorApp}.ts`);
|
|
66
|
+
const { sourceFile } = getOrCreateSourceFile(project, processorFilePath);
|
|
67
|
+
const processorClassName = `${pascalCaseName}Processor`;
|
|
68
|
+
const processorClassModuleSpecifier = `./${path.join(path.basename(dirPath), "index.js")}`;
|
|
69
|
+
const processorFactoryName = `${camelCaseName}ProcessorFactory`;
|
|
70
|
+
const processorFactoryModuleSpecifier = `./${path.join(path.basename(dirPath), "factory.js")}`;
|
|
71
|
+
const exportedNames = sourceFile
|
|
72
|
+
.getExportDeclarations()
|
|
73
|
+
.flatMap((e) => e.getNamedExports().map((n) => n.getText()));
|
|
74
|
+
if (!exportedNames.includes(processorClassName)) {
|
|
75
|
+
sourceFile.addExportDeclaration({
|
|
76
|
+
namedExports: [processorClassName],
|
|
77
|
+
moduleSpecifier: processorClassModuleSpecifier,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (!exportedNames.includes(processorFactoryName)) {
|
|
81
|
+
sourceFile.addExportDeclaration({
|
|
82
|
+
namedExports: [processorFactoryName],
|
|
83
|
+
moduleSpecifier: processorFactoryModuleSpecifier,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
await formatSourceFileWithPrettier(sourceFile);
|
|
87
|
+
}
|
|
49
88
|
async function updateIndexFile(v) {
|
|
50
89
|
const { project, processorsDirPath } = v;
|
|
51
90
|
const template = processorsIndexTemplate();
|
|
@@ -54,112 +93,48 @@ async function updateIndexFile(v) {
|
|
|
54
93
|
if (!alreadyExists) {
|
|
55
94
|
sourceFile.replaceWithText(template);
|
|
56
95
|
}
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
c.getImplements().some((i) => i.getFullText().includes("IProcessor")))
|
|
66
|
-
.map((c) => {
|
|
67
|
-
const name = c.getNameOrThrow();
|
|
68
|
-
const file = c.getSourceFile();
|
|
69
|
-
const fileName = file.getBaseName();
|
|
70
|
-
const dirName = file.getDirectory().getBaseName();
|
|
71
|
-
return {
|
|
72
|
-
name,
|
|
73
|
-
fileName,
|
|
74
|
-
dirName,
|
|
75
|
-
};
|
|
76
|
-
})
|
|
77
|
-
.map((c) => ({
|
|
78
|
-
namedExports: [c.name],
|
|
79
|
-
moduleSpecifier: `./${path.posix.join(c.dirName, c.fileName.replace(".ts", ".js"))}`,
|
|
80
|
-
}));
|
|
81
|
-
for (const declaration of processorExportDeclarations) {
|
|
82
|
-
if (!sourceFile.getExportDeclaration((exportDeclaration) => exportDeclaration
|
|
83
|
-
.getNamedExports()
|
|
84
|
-
.some((exportSpecifier) => declaration.namedExports.includes(exportSpecifier.getName())))) {
|
|
85
|
-
sourceFile.addExportDeclaration(declaration);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
const factoryFiles = processorDirs
|
|
89
|
-
.flatMap((d) => d.getSourceFile("factory.ts"))
|
|
90
|
-
.filter((f) => f !== undefined);
|
|
91
|
-
const factoryExportDeclarations = factoryFiles
|
|
92
|
-
.flatMap((f) => f.getVariableDeclarations())
|
|
93
|
-
.filter((d) => d.getName().includes("ProcessorFactory"))
|
|
94
|
-
.map((v) => {
|
|
95
|
-
const name = v.getName();
|
|
96
|
-
const file = v.getSourceFile();
|
|
97
|
-
const fileName = file.getBaseName();
|
|
98
|
-
const dirName = file.getDirectory().getBaseName();
|
|
99
|
-
return {
|
|
100
|
-
name,
|
|
101
|
-
fileName,
|
|
102
|
-
dirName,
|
|
103
|
-
};
|
|
104
|
-
})
|
|
105
|
-
.map((v) => ({
|
|
106
|
-
namedExports: [v.name],
|
|
107
|
-
moduleSpecifier: `./${path.posix.join(v.dirName, v.fileName.replace(".ts", ".js"))}`,
|
|
108
|
-
}));
|
|
109
|
-
for (const d of [
|
|
110
|
-
{ namedExports: ["processorFactory"], moduleSpecifier: "./factory.js" },
|
|
111
|
-
...factoryExportDeclarations,
|
|
112
|
-
]) {
|
|
113
|
-
if (!sourceFile.getExportDeclaration((e) => e.getNamedExports().some((e) => d.namedExports.includes(e.getName())))) {
|
|
114
|
-
sourceFile.addExportDeclaration(d);
|
|
115
|
-
}
|
|
96
|
+
const exportNames = sourceFile
|
|
97
|
+
.getExportDeclarations()
|
|
98
|
+
.flatMap((e) => e.getNamedExports().map((n) => n.getText()));
|
|
99
|
+
if (!exportNames.includes("processorFactory")) {
|
|
100
|
+
sourceFile.addExportDeclaration({
|
|
101
|
+
namedExports: ["processorFactory"],
|
|
102
|
+
moduleSpecifier: "./factory.ts",
|
|
103
|
+
});
|
|
116
104
|
}
|
|
117
105
|
await formatSourceFileWithPrettier(sourceFile);
|
|
118
106
|
}
|
|
119
107
|
async function updateFactoryFile(v) {
|
|
120
|
-
const { project, processorsDirPath } = v;
|
|
108
|
+
const { project, processorsDirPath, processorApp, dirPath, camelCaseName } = v;
|
|
121
109
|
const template = processorsFactoryTemplate();
|
|
122
110
|
const filePath = path.join(processorsDirPath, "factory.ts");
|
|
123
111
|
const { alreadyExists, sourceFile } = getOrCreateSourceFile(project, filePath);
|
|
124
112
|
if (!alreadyExists) {
|
|
125
113
|
sourceFile.replaceWithText(template);
|
|
126
114
|
}
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const
|
|
131
|
-
|
|
115
|
+
const processorFactoryName = `${camelCaseName}ProcessorFactory`;
|
|
116
|
+
const processorFactoryModuleSpecifier = `./${path.join(path.basename(dirPath), "factory.js")}`;
|
|
117
|
+
const addFactoriesFunctionName = camelCase(`add_${processorApp}_ProcessorFactories`);
|
|
118
|
+
const factoriesArrayName = camelCase(`${processorApp}ProcessorFactories`);
|
|
119
|
+
const addProcessorFactoriesFunction = sourceFile.getFunctionOrThrow(addFactoriesFunctionName);
|
|
120
|
+
const functionBody = addProcessorFactoriesFunction
|
|
121
|
+
.getBodyOrThrow()
|
|
132
122
|
.asKindOrThrow(ts.SyntaxKind.Block);
|
|
133
123
|
const factoriesArray = functionBody
|
|
134
124
|
.getDescendantsOfKind(ts.SyntaxKind.VariableStatement)
|
|
135
125
|
.flatMap((d) => d.getDescendantsOfKind(ts.SyntaxKind.VariableDeclaration))
|
|
136
|
-
.find((d) => d.getName() ===
|
|
126
|
+
.find((d) => d.getName() === factoriesArrayName)
|
|
137
127
|
?.getDescendantsOfKind(ts.SyntaxKind.ArrayLiteralExpression)
|
|
138
128
|
.at(0);
|
|
139
129
|
if (!factoriesArray) {
|
|
140
|
-
throw new Error("
|
|
130
|
+
throw new Error(`"${factoriesArrayName}" array is missing in "${addFactoriesFunctionName}"`);
|
|
141
131
|
}
|
|
142
|
-
const
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
.
|
|
146
|
-
.
|
|
147
|
-
const factoryNames = factoryFiles
|
|
148
|
-
.flatMap((f) => f.getVariableDeclarations())
|
|
149
|
-
.filter((d) => d.getName().includes("ProcessorFactory"))
|
|
150
|
-
.map((v) => v.getName());
|
|
151
|
-
const factoriesArrayElements = factoriesArray
|
|
152
|
-
.getElements()
|
|
153
|
-
.map((e) => e.getText());
|
|
154
|
-
for (const name of factoryNames) {
|
|
155
|
-
const callExpression = `${name}(module)`;
|
|
156
|
-
if (!factoriesArrayElements.includes(callExpression)) {
|
|
157
|
-
factoriesArray.addElement(callExpression, { useNewLines: true });
|
|
158
|
-
}
|
|
132
|
+
const factoryFunctionInvocation = `${processorFactoryName}(module)`;
|
|
133
|
+
const arrayElements = factoriesArray.getElements().map((e) => e.getText());
|
|
134
|
+
if (!arrayElements.includes(factoryFunctionInvocation)) {
|
|
135
|
+
functionBody.insertStatements(0, `const { ${processorFactoryName} } = await import("${processorFactoryModuleSpecifier}");`);
|
|
136
|
+
factoriesArray.addElement(factoryFunctionInvocation);
|
|
159
137
|
}
|
|
160
|
-
sourceFile.fixMissingImports(undefined, {
|
|
161
|
-
importModuleSpecifierEnding: "js",
|
|
162
|
-
});
|
|
163
138
|
await formatSourceFileWithPrettier(sourceFile);
|
|
164
139
|
}
|
|
165
140
|
//# sourceMappingURL=processor.js.map
|
|
@@ -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;AACtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,EAAE,EAAgB,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../../src/file-builders/processors/processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/file-builders/processors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,qBAAqB,GAAG;IAClC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/file-builders/processors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.json.d.ts","sourceRoot":"","sources":["../../../../src/templates/boilerplate/package.json.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package.json.d.ts","sourceRoot":"","sources":["../../../../src/templates/boilerplate/package.json.ts"],"names":[],"mappings":"AAmGA,eAAO,MAAM,mBAAmB,GAC9B,aAAa,MAAM,EACnB,uBAAuB,MAAM,EAAE,EAC/B,0BAA0B,MAAM,EAAE,WA4B/B,CAAC"}
|
|
@@ -28,6 +28,14 @@ const exportsTemplate = json `
|
|
|
28
28
|
"types": "./dist/processors/index.d.ts",
|
|
29
29
|
"import": "./dist/processors/index.js"
|
|
30
30
|
},
|
|
31
|
+
"./processors/connect": {
|
|
32
|
+
"types": "./dist/processors/connect.d.ts",
|
|
33
|
+
"import": "./dist/processors/connect.js"
|
|
34
|
+
},
|
|
35
|
+
"./processors/switchboard": {
|
|
36
|
+
"types": "./dist/processors/switchboard.d.ts",
|
|
37
|
+
"import": "./dist/processors/switchboard.js"
|
|
38
|
+
},
|
|
31
39
|
"./manifest": "./dist/powerhouse.manifest.json",
|
|
32
40
|
"./style.css": "./dist/style.css"
|
|
33
41
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.json.js","sourceRoot":"","sources":["../../../../src/templates/boilerplate/package.json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,eAAe,GAAG,IAAI,CAAA
|
|
1
|
+
{"version":3,"file":"package.json.js","sourceRoot":"","sources":["../../../../src/templates/boilerplate/package.json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,eAAe,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC3B,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;;;CAkB3B,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,qBAA+B,EAAE,EAAE,CAAC,IAAI,CAAA;IAClE,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;CAKpC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,wBAAkC,EAAE,EAAE,CAAC,IAAI,CAAA;IACxE,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CAyBvC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAmB,EACnB,qBAA+B,EAC/B,wBAAkC,EAClC,EAAE,CACF,IAAI,CAAA;;aAEO,WAAW;;;;;;;;MAQlB,eAAe;;;MAGf,eAAe;;;MAGf,oBAAoB,CAAC,qBAAqB,CAAC;;;MAG3C,uBAAuB,CAAC,wBAAwB,CAAC;;;;;;;CAOtD,CAAC,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/templates/processors/analytics/factory.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,GAAI,GAAG;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,WAuBI,CAAC"}
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/templates/processors/analytics/factory.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,GAAI,GAAG;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,WAuBI,CAAC"}
|
|
@@ -9,7 +9,7 @@ import type {
|
|
|
9
9
|
import { type PHDocumentHeader } from "document-model";
|
|
10
10
|
import { ${v.pascalCaseName}Processor } from "./index.js";
|
|
11
11
|
|
|
12
|
-
export const ${v.
|
|
12
|
+
export const ${v.camelCaseName}ProcessorFactory = (module: IProcessorHostModule) => (driveHeader: PHDocumentHeader, context?: ReactorContext): ProcessorRecord[] => {
|
|
13
13
|
return [
|
|
14
14
|
{
|
|
15
15
|
processor: new ${v.pascalCaseName}Processor(module.analyticsStore),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/templates/processors/analytics/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/templates/processors/analytics/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAIxC,EAAE,EAAE,CACH,EAAE,CAAA;;;;;;;WAOO,CAAC,CAAC,cAAc;;eAEZ,CAAC,CAAC,aAAa;;;uBAGP,CAAC,CAAC,cAAc;;;;;yBAKd,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC;;;;;CAKxD,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,cA2DjC,CAAC"}
|
|
@@ -13,9 +13,20 @@ import type {
|
|
|
13
13
|
import type { PHDocumentHeader } from "document-model";
|
|
14
14
|
import type { ReactorContext } from "document-drive";
|
|
15
15
|
|
|
16
|
-
export const processorFactory = (module: IProcessorHostModule) => {
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
export const processorFactory = async (module: IProcessorHostModule) => {
|
|
17
|
+
const factories: ProcessorFactory[] = [];
|
|
18
|
+
|
|
19
|
+
if (module.context?.app === "connect") {
|
|
20
|
+
// dynamically import connect processors and add them
|
|
21
|
+
// to the factories array
|
|
22
|
+
await addConnectProcessorFactories(factories, module);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (module.context?.app === "switchboard") {
|
|
26
|
+
// dynamically import switchboard processors and add them
|
|
27
|
+
// to the factories array
|
|
28
|
+
await addSwitchboardProcessorFactories(factories, module);
|
|
29
|
+
}
|
|
19
30
|
|
|
20
31
|
// Return the inner function that will be called for each drive
|
|
21
32
|
return async (driveHeader: PHDocumentHeader, context?: ReactorContext): Promise<ProcessorRecord[]> => {
|
|
@@ -23,12 +34,28 @@ export const processorFactory = (module: IProcessorHostModule) => {
|
|
|
23
34
|
|
|
24
35
|
// Call each cached factory with the driveHeader
|
|
25
36
|
for (const factory of factories) {
|
|
26
|
-
const factoryProcessors = await factory(driveHeader);
|
|
37
|
+
const factoryProcessors = await factory(driveHeader, context);
|
|
27
38
|
processors.push(...factoryProcessors);
|
|
28
39
|
}
|
|
29
40
|
|
|
30
41
|
return processors;
|
|
31
42
|
};
|
|
32
43
|
}
|
|
44
|
+
|
|
45
|
+
async function addConnectProcessorFactories(factories: ProcessorFactory[], module: IProcessorHostModule) {
|
|
46
|
+
const connectProcessorFactories: ProcessorFactory[] = [];
|
|
47
|
+
|
|
48
|
+
for (const factory of connectProcessorFactories) {
|
|
49
|
+
factories.push(factory);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
async function addSwitchboardProcessorFactories(factories: ProcessorFactory[], module: IProcessorHostModule) {
|
|
54
|
+
const switchboardProcessorFactories: ProcessorFactory[] = [];
|
|
55
|
+
|
|
56
|
+
for (const factory of switchboardProcessorFactories) {
|
|
57
|
+
factories.push(factory);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
33
60
|
`.raw;
|
|
34
61
|
//# sourceMappingURL=factory.js.map
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DH,CAAC,GAAG,CAAC"}
|