@powerhousedao/codegen 4.1.0-dev.12 → 4.1.0-dev.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/codegen/hygen.d.ts +4 -2
- package/dist/src/codegen/hygen.d.ts.map +1 -1
- package/dist/src/codegen/hygen.js +5 -3
- package/dist/src/codegen/hygen.js.map +1 -1
- package/dist/src/codegen/index.d.ts +1 -0
- package/dist/src/codegen/index.d.ts.map +1 -1
- package/dist/src/codegen/index.js +2 -1
- package/dist/src/codegen/index.js.map +1 -1
- package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +6 -5
- package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -1
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +1 -0
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -1
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +9 -7
- package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +1 -1
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts +2 -0
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts.map +1 -1
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js +30 -14
- package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +7 -6
|
@@ -5,16 +5,18 @@ export declare function run(args: string[], { watch, skipFormat, verbose }?: {
|
|
|
5
5
|
skipFormat?: boolean | undefined;
|
|
6
6
|
verbose?: boolean | undefined;
|
|
7
7
|
}): Promise<import("hygen/dist/types.js").RunnerResult>;
|
|
8
|
-
export declare function generateAll(dir: string, { watch, skipFormat, verbose }?: {
|
|
8
|
+
export declare function generateAll(dir: string, { watch, skipFormat, verbose, force }?: {
|
|
9
9
|
watch?: boolean | undefined;
|
|
10
10
|
skipFormat?: boolean | undefined;
|
|
11
11
|
verbose?: boolean | undefined;
|
|
12
|
+
force?: boolean | undefined;
|
|
12
13
|
}): Promise<void>;
|
|
13
|
-
export declare function generateDocumentModel(documentModelState: DocumentModelState, dir: string, { watch, skipFormat, verbose, generateReducers, }?: {
|
|
14
|
+
export declare function generateDocumentModel(documentModelState: DocumentModelState, dir: string, { watch, skipFormat, verbose, generateReducers, force, }?: {
|
|
14
15
|
watch?: boolean | undefined;
|
|
15
16
|
skipFormat?: boolean | undefined;
|
|
16
17
|
verbose?: boolean | undefined;
|
|
17
18
|
generateReducers?: boolean | undefined;
|
|
19
|
+
force?: boolean | undefined;
|
|
18
20
|
}): Promise<void>;
|
|
19
21
|
export declare function generateEditor(name: string, documentTypes: string[], documentTypesMap: DocumentTypesMap, dir: string, documentModelsDir: string, { skipFormat, verbose }?: {
|
|
20
22
|
skipFormat?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hygen.d.ts","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASnD,wBAAsB,GAAG,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE;;;;CAAK,uDAuC3D;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE
|
|
1
|
+
{"version":3,"file":"hygen.d.ts","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASnD,wBAAsB,GAAG,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE;;;;CAAK,uDAuC3D;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAc,EAAE,KAAY,EAAE;;;;;CAAK,iBAyCzE;AAED,wBAAsB,qBAAqB,CACzC,kBAAkB,EAAE,kBAAkB,EACtC,GAAG,EAAE,MAAM,EACX,EACE,KAAa,EACb,UAAkB,EAClB,OAAc,EACd,gBAAuB,EACvB,KAAY,GACb;;;;;;CAAK,iBAiDP;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,MAAM,EACzB,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAoB5C;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,WAAW,GAAG,cAAc,EAClC,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAuB5C;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,kBAAkB,GAAG,IAAI,EACxC,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAoC5C;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE,OAAc,EAAE;;;CAAK,iBAgB5C;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE;;CAAK,iBAO5B"}
|
|
@@ -43,7 +43,7 @@ export async function run(args, { watch = false, skipFormat = false, verbose = t
|
|
|
43
43
|
}
|
|
44
44
|
return result;
|
|
45
45
|
}
|
|
46
|
-
export async function generateAll(dir, { watch = false, skipFormat = false, verbose = true } = {}) {
|
|
46
|
+
export async function generateAll(dir, { watch = false, skipFormat = false, verbose = true, force = true } = {}) {
|
|
47
47
|
const files = fs.readdirSync(dir, { withFileTypes: true });
|
|
48
48
|
const documentModelStates = [];
|
|
49
49
|
for (const directory of files.filter((f) => f.isDirectory())) {
|
|
@@ -59,6 +59,7 @@ export async function generateAll(dir, { watch = false, skipFormat = false, verb
|
|
|
59
59
|
skipFormat,
|
|
60
60
|
verbose,
|
|
61
61
|
generateReducers: false,
|
|
62
|
+
force,
|
|
62
63
|
});
|
|
63
64
|
}
|
|
64
65
|
catch (error) {
|
|
@@ -71,10 +72,11 @@ export async function generateAll(dir, { watch = false, skipFormat = false, verb
|
|
|
71
72
|
const documentModelDir = path.basename(dir);
|
|
72
73
|
const generator = new TSMorphCodeGenerator(projectDir, documentModelStates, {
|
|
73
74
|
directories: { documentModelDir },
|
|
75
|
+
forceUpdate: force,
|
|
74
76
|
});
|
|
75
77
|
await generator.generateReducers();
|
|
76
78
|
}
|
|
77
|
-
export async function generateDocumentModel(documentModelState, dir, { watch = false, skipFormat = false, verbose = true, generateReducers = true, } = {}) {
|
|
79
|
+
export async function generateDocumentModel(documentModelState, dir, { watch = false, skipFormat = false, verbose = true, generateReducers = true, force = true, } = {}) {
|
|
78
80
|
const projectDir = path.dirname(dir);
|
|
79
81
|
const documentModelDir = path.basename(dir);
|
|
80
82
|
// Generate the singular files for the document model logic
|
|
@@ -101,7 +103,7 @@ export async function generateDocumentModel(documentModelState, dir, { watch = f
|
|
|
101
103
|
], { watch, skipFormat, verbose });
|
|
102
104
|
}
|
|
103
105
|
if (generateReducers) {
|
|
104
|
-
const generator = new TSMorphCodeGenerator(projectDir, [documentModelState], { directories: { documentModelDir } });
|
|
106
|
+
const generator = new TSMorphCodeGenerator(projectDir, [documentModelState], { directories: { documentModelDir }, forceUpdate: force });
|
|
105
107
|
await generator.generateReducers();
|
|
106
108
|
}
|
|
107
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hygen.js","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hygen.js","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { type DocumentModelState } from "document-model";
|
|
|
3
3
|
export { generateDBSchema } from "./kysely.js";
|
|
4
4
|
export type CodegenOptions = {
|
|
5
5
|
verbose?: boolean;
|
|
6
|
+
force?: boolean;
|
|
6
7
|
};
|
|
7
8
|
export declare function generate(config: PowerhouseConfig): Promise<void>;
|
|
8
9
|
export declare function generateFromFile(path: string, config: PowerhouseConfig, options?: CodegenOptions): Promise<void>;
|
|
@@ -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;
|
|
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,iBAwBzB;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,iBAKzB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAKzB;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,yBAAyB,EACvC,WAAW,CAAC,EAAE,MAAM,UAqDrB"}
|
|
@@ -96,7 +96,7 @@ async function generateFromDocumentModel(documentModel, config, filePath, option
|
|
|
96
96
|
// Show hygen logs for verbose, debug, and info levels (default behavior before ts-morph)
|
|
97
97
|
const { verbose = config.logLevel === "verbose" ||
|
|
98
98
|
config.logLevel === "debug" ||
|
|
99
|
-
config.logLevel === "info", } = options;
|
|
99
|
+
config.logLevel === "info", force = false, } = options;
|
|
100
100
|
const name = paramCase(documentModel.name);
|
|
101
101
|
// create document model folder and spec as json
|
|
102
102
|
fs.mkdirSync(join(config.documentModelsDir, name), { recursive: true });
|
|
@@ -116,6 +116,7 @@ async function generateFromDocumentModel(documentModel, config, filePath, option
|
|
|
116
116
|
await generateDocumentModel(documentModel, config.documentModelsDir, {
|
|
117
117
|
skipFormat: config.skipFormat,
|
|
118
118
|
verbose,
|
|
119
|
+
force,
|
|
119
120
|
});
|
|
120
121
|
await generateSubgraph(name, filePath || null, config, { verbose });
|
|
121
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKpD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EACL,mBAAmB,IAAI,oBAAoB,EAC3C,cAAc,IAAI,eAAe,EACjC,oBAAoB,IAAI,qBAAqB,EAC7C,iBAAiB,IAAI,kBAAkB,EACvC,gBAAgB,IAAI,iBAAiB,EACrC,WAAW,EACX,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { type DocumentModelState } from "document-model";
|
|
1
|
+
import { type DocumentModelState, type Operation as ModuleOperation } from "document-model/document-model/gen/schema/types";
|
|
2
2
|
import { type Project } from "ts-morph";
|
|
3
|
-
export type
|
|
4
|
-
|
|
3
|
+
export type ModuleSpec = DocumentModelState["specifications"][0]["modules"][0];
|
|
4
|
+
export type Operation = ModuleOperation & {
|
|
5
5
|
hasInput: boolean;
|
|
6
6
|
hasAttachment: boolean | undefined;
|
|
7
7
|
scope: string;
|
|
8
8
|
state: string;
|
|
9
9
|
errors?: unknown;
|
|
10
10
|
};
|
|
11
|
-
export type ModuleSpec = DocumentModelState["specifications"][0]["modules"][0];
|
|
12
11
|
export interface GenerationContext {
|
|
13
12
|
rootDir: string;
|
|
14
13
|
docModel: DocumentModelState;
|
|
15
14
|
module: ModuleSpec;
|
|
16
15
|
project: Project;
|
|
17
|
-
|
|
16
|
+
operations: Operation[];
|
|
17
|
+
forceUpdate: boolean;
|
|
18
18
|
}
|
|
19
19
|
export type PHProjectDirectories = {
|
|
20
20
|
documentModelDir?: string;
|
|
@@ -24,5 +24,6 @@ export type PHProjectDirectories = {
|
|
|
24
24
|
};
|
|
25
25
|
export type CodeGeneratorOptions = {
|
|
26
26
|
directories?: PHProjectDirectories;
|
|
27
|
+
forceUpdate?: boolean;
|
|
27
28
|
};
|
|
28
29
|
//# sourceMappingURL=GenerationContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerationContext.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/GenerationContext.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GenerationContext.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/GenerationContext.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,SAAS,IAAI,eAAe,EAClC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,MAAM,UAAU,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC"}
|
|
@@ -6,6 +6,7 @@ export declare class TSMorphCodeGenerator {
|
|
|
6
6
|
private project;
|
|
7
7
|
private generators;
|
|
8
8
|
private directories;
|
|
9
|
+
private forceUpdate;
|
|
9
10
|
constructor(rootDir: string, docModels: DocumentModelState[], options?: CodeGeneratorOptions);
|
|
10
11
|
private setupGenerators;
|
|
11
12
|
generateReducers(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TSMorphCodeGenerator.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/TSMorphCodeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOzD,OAAO,
|
|
1
|
+
{"version":3,"file":"TSMorphCodeGenerator.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/TSMorphCodeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOzD,OAAO,EACL,KAAK,oBAAoB,EAK1B,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,oBAAoB;IAY7B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;IAZnB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,WAAW,CAKjB;IACF,OAAO,CAAC,WAAW,CAAS;gBAGlB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,kBAAkB,EAAE,EACvC,OAAO,GAAE,oBAA8D;IAYzE,OAAO,CAAC,eAAe;IAYjB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;YAMpB,gBAAgB;YAwBhB,YAAY;IAiC1B,OAAO,CAAC,uBAAuB;YAuBjB,qBAAqB;CAQpC"}
|
|
@@ -14,13 +14,15 @@ export class TSMorphCodeGenerator {
|
|
|
14
14
|
processorsDir: "processors",
|
|
15
15
|
subgraphsDir: "subgraphs",
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
forceUpdate = false;
|
|
18
|
+
constructor(rootDir, docModels, options = { directories: {}, forceUpdate: false }) {
|
|
18
19
|
this.rootDir = rootDir;
|
|
19
20
|
this.docModels = docModels;
|
|
20
21
|
this.directories = {
|
|
21
22
|
...this.directories,
|
|
22
23
|
...options.directories,
|
|
23
24
|
};
|
|
25
|
+
this.forceUpdate = options.forceUpdate ?? false;
|
|
24
26
|
this.setupGenerators();
|
|
25
27
|
}
|
|
26
28
|
setupGenerators() {
|
|
@@ -48,7 +50,7 @@ export class TSMorphCodeGenerator {
|
|
|
48
50
|
for (const docModel of this.docModels) {
|
|
49
51
|
const latestSpec = docModel.specifications[docModel.specifications.length - 1];
|
|
50
52
|
for (const module of latestSpec.modules) {
|
|
51
|
-
const context = this.createGenerationContext(docModel, module);
|
|
53
|
+
const context = this.createGenerationContext(docModel, module, this.forceUpdate);
|
|
52
54
|
await generator.generate(context);
|
|
53
55
|
}
|
|
54
56
|
}
|
|
@@ -82,21 +84,21 @@ export class TSMorphCodeGenerator {
|
|
|
82
84
|
this.project.addSourceFilesAtPaths(sourcePaths);
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
|
-
createGenerationContext(docModel, module) {
|
|
86
|
-
const
|
|
87
|
-
|
|
87
|
+
createGenerationContext(docModel, module, forceUpdate = false) {
|
|
88
|
+
const operations = module.operations.map((op) => ({
|
|
89
|
+
...op,
|
|
88
90
|
hasInput: op.schema !== null,
|
|
89
91
|
hasAttachment: op.schema?.includes(": Attachment"),
|
|
90
92
|
scope: op.scope || "global",
|
|
91
93
|
state: op.scope === "global" ? "" : op.scope,
|
|
92
|
-
errors: op.errors,
|
|
93
94
|
}));
|
|
94
95
|
return {
|
|
95
96
|
rootDir: this.rootDir,
|
|
96
97
|
docModel,
|
|
97
98
|
module,
|
|
98
99
|
project: this.project,
|
|
99
|
-
|
|
100
|
+
operations,
|
|
101
|
+
forceUpdate,
|
|
100
102
|
};
|
|
101
103
|
}
|
|
102
104
|
async ensureDirectoryExists(dirPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TSMorphCodeGenerator.js","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/TSMorphCodeGenerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"TSMorphCodeGenerator.js","sourceRoot":"","sources":["../../../../src/ts-morph-generator/core/TSMorphCodeGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,10 @@ import { FileGenerator } from "../core/FileGenerator.js";
|
|
|
2
2
|
import { type GenerationContext } from "../core/GenerationContext.js";
|
|
3
3
|
export declare class ReducerGenerator extends FileGenerator {
|
|
4
4
|
generate(context: GenerationContext): Promise<void>;
|
|
5
|
+
private static getDefaultReducerCode;
|
|
5
6
|
private getOutputPath;
|
|
6
7
|
private createReducerObject;
|
|
7
8
|
private addReducerMethod;
|
|
9
|
+
private setReducerMethodCode;
|
|
8
10
|
}
|
|
9
11
|
//# sourceMappingURL=ReducerGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReducerGenerator.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/file-generators/ReducerGenerator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReducerGenerator.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-generator/file-generators/ReducerGenerator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,8BAA8B,CAAC;AAEtC,qBAAa,gBAAiB,SAAQ,aAAa;IAC3C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCzD,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,oBAAoB;CAK7B"}
|
|
@@ -4,7 +4,7 @@ import { FileGenerator } from "../core/FileGenerator.js";
|
|
|
4
4
|
export class ReducerGenerator extends FileGenerator {
|
|
5
5
|
async generate(context) {
|
|
6
6
|
// Skip if no actions to generate
|
|
7
|
-
if (context.
|
|
7
|
+
if (context.operations.length === 0)
|
|
8
8
|
return;
|
|
9
9
|
const filePath = this.getOutputPath(context);
|
|
10
10
|
const sourceFile = await this.directoryManager.createSourceFile(context.project, filePath);
|
|
@@ -14,13 +14,19 @@ export class ReducerGenerator extends FileGenerator {
|
|
|
14
14
|
// Import management (shared utility)
|
|
15
15
|
this.importManager.addTypeImport(sourceFile, typeImportName, typeImportPath);
|
|
16
16
|
// AST logic (specific to reducers)
|
|
17
|
-
this.createReducerObject(sourceFile, typeImportName, context.
|
|
17
|
+
this.createReducerObject(sourceFile, typeImportName, context.operations, context.forceUpdate);
|
|
18
18
|
await sourceFile.save();
|
|
19
19
|
}
|
|
20
|
+
static getDefaultReducerCode(methodName) {
|
|
21
|
+
return [
|
|
22
|
+
`// TODO: Implement "${methodName}" reducer`,
|
|
23
|
+
`throw new Error('Reducer "${methodName}" not yet implemented');`,
|
|
24
|
+
];
|
|
25
|
+
}
|
|
20
26
|
getOutputPath(context) {
|
|
21
27
|
return this.directoryManager.getReducerPath(context.rootDir, context.docModel.name, context.module.name);
|
|
22
28
|
}
|
|
23
|
-
createReducerObject(sourceFile, typeName,
|
|
29
|
+
createReducerObject(sourceFile, typeName, operations, forceUpdate = false) {
|
|
24
30
|
let reducerVar = sourceFile.getVariableDeclaration("reducer");
|
|
25
31
|
if (!reducerVar) {
|
|
26
32
|
sourceFile.addVariableStatement({
|
|
@@ -44,26 +50,36 @@ export class ReducerGenerator extends FileGenerator {
|
|
|
44
50
|
}
|
|
45
51
|
}
|
|
46
52
|
const initializer = reducerVar.getInitializerIfKindOrThrow(SyntaxKind.ObjectLiteralExpression);
|
|
47
|
-
for (const
|
|
48
|
-
this.addReducerMethod(initializer,
|
|
53
|
+
for (const operation of operations) {
|
|
54
|
+
this.addReducerMethod(initializer, operation, forceUpdate);
|
|
49
55
|
}
|
|
50
56
|
}
|
|
51
|
-
addReducerMethod(objectLiteral,
|
|
52
|
-
const actionName = camelCase(
|
|
57
|
+
addReducerMethod(objectLiteral, operation, forceUpdate = false) {
|
|
58
|
+
const actionName = camelCase(operation.name ?? "");
|
|
53
59
|
if (!actionName)
|
|
54
60
|
return;
|
|
55
61
|
const methodName = `${actionName}Operation`;
|
|
56
|
-
|
|
57
|
-
|
|
62
|
+
const reducerCode = operation.reducer?.trim();
|
|
63
|
+
const existingReducer = objectLiteral
|
|
64
|
+
.getProperty(methodName)
|
|
65
|
+
?.asKind(SyntaxKind.MethodDeclaration);
|
|
66
|
+
// if reducer already exists but forceUpdate is true, update it
|
|
67
|
+
if (existingReducer) {
|
|
68
|
+
if (forceUpdate && reducerCode) {
|
|
69
|
+
existingReducer.setBodyText("");
|
|
70
|
+
this.setReducerMethodCode(existingReducer, reducerCode);
|
|
71
|
+
}
|
|
58
72
|
return;
|
|
59
|
-
|
|
73
|
+
}
|
|
74
|
+
// if reducer doesn't exist, create it and set the code with the default code if no code is provided
|
|
75
|
+
const method = objectLiteral.addMethod({
|
|
60
76
|
name: methodName,
|
|
61
77
|
parameters: [{ name: "state" }, { name: "action" }, { name: "dispatch" }],
|
|
62
|
-
statements: [
|
|
63
|
-
`// TODO: Implement "${methodName}" reducer`,
|
|
64
|
-
`throw new Error('Reducer "${methodName}" not yet implemented');`,
|
|
65
|
-
],
|
|
66
78
|
});
|
|
79
|
+
this.setReducerMethodCode(method, reducerCode);
|
|
80
|
+
}
|
|
81
|
+
setReducerMethodCode(reducer, code) {
|
|
82
|
+
reducer.addStatements(code ? [code] : ReducerGenerator.getDefaultReducerCode(reducer.getName()));
|
|
67
83
|
}
|
|
68
84
|
}
|
|
69
85
|
//# sourceMappingURL=ReducerGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReducerGenerator.js","sourceRoot":"","sources":["../../../../src/ts-morph-generator/file-generators/ReducerGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,uBAAuB,
|
|
1
|
+
{"version":3,"file":"ReducerGenerator.js","sourceRoot":"","sources":["../../../../src/ts-morph-generator/file-generators/ReducerGenerator.ts"],"names":[],"mappings":"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"}
|