@currentjs/gen 0.3.2 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +18 -609
  2. package/README.md +623 -427
  3. package/dist/cli.js +2 -1
  4. package/dist/commands/commit.js +25 -42
  5. package/dist/commands/createApp.js +1 -0
  6. package/dist/commands/createModule.js +151 -45
  7. package/dist/commands/diff.js +27 -40
  8. package/dist/commands/generateAll.js +141 -291
  9. package/dist/commands/migrateCommit.js +6 -18
  10. package/dist/generators/controllerGenerator.d.ts +50 -19
  11. package/dist/generators/controllerGenerator.js +588 -331
  12. package/dist/generators/domainLayerGenerator.d.ts +21 -0
  13. package/dist/generators/domainLayerGenerator.js +286 -0
  14. package/dist/generators/dtoGenerator.d.ts +21 -0
  15. package/dist/generators/dtoGenerator.js +523 -0
  16. package/dist/generators/serviceGenerator.d.ts +22 -51
  17. package/dist/generators/serviceGenerator.js +345 -568
  18. package/dist/generators/storeGenerator.d.ts +39 -32
  19. package/dist/generators/storeGenerator.js +396 -236
  20. package/dist/generators/templateGenerator.d.ts +21 -21
  21. package/dist/generators/templateGenerator.js +393 -268
  22. package/dist/generators/templates/appTemplates.d.ts +3 -1
  23. package/dist/generators/templates/appTemplates.js +16 -11
  24. package/dist/generators/templates/data/appYamlTemplate +5 -2
  25. package/dist/generators/templates/data/cursorRulesTemplate +315 -221
  26. package/dist/generators/templates/data/frontendScriptTemplate +56 -15
  27. package/dist/generators/templates/data/mainViewTemplate +2 -1
  28. package/dist/generators/templates/data/systemTsTemplate +5 -0
  29. package/dist/generators/templates/index.d.ts +0 -3
  30. package/dist/generators/templates/index.js +0 -3
  31. package/dist/generators/templates/storeTemplates.d.ts +1 -5
  32. package/dist/generators/templates/storeTemplates.js +84 -224
  33. package/dist/generators/useCaseGenerator.d.ts +13 -0
  34. package/dist/generators/useCaseGenerator.js +191 -0
  35. package/dist/types/configTypes.d.ts +149 -0
  36. package/dist/types/configTypes.js +10 -0
  37. package/dist/utils/childEntityUtils.d.ts +18 -0
  38. package/dist/utils/childEntityUtils.js +78 -0
  39. package/dist/utils/commandUtils.d.ts +43 -0
  40. package/dist/utils/commandUtils.js +124 -0
  41. package/dist/utils/commitUtils.d.ts +4 -1
  42. package/dist/utils/constants.d.ts +10 -0
  43. package/dist/utils/constants.js +13 -1
  44. package/dist/utils/diResolver.d.ts +32 -0
  45. package/dist/utils/diResolver.js +204 -0
  46. package/dist/utils/typeUtils.d.ts +23 -0
  47. package/dist/utils/typeUtils.js +77 -0
  48. package/package.json +7 -3
  49. package/dist/generators/domainModelGenerator.d.ts +0 -41
  50. package/dist/generators/domainModelGenerator.js +0 -242
  51. package/dist/generators/templates/controllerTemplates.d.ts +0 -43
  52. package/dist/generators/templates/controllerTemplates.js +0 -82
  53. package/dist/generators/templates/serviceTemplates.d.ts +0 -16
  54. package/dist/generators/templates/serviceTemplates.js +0 -59
  55. package/dist/generators/templates/validationTemplates.d.ts +0 -25
  56. package/dist/generators/templates/validationTemplates.js +0 -66
  57. package/dist/generators/templates/viewTemplates.d.ts +0 -25
  58. package/dist/generators/templates/viewTemplates.js +0 -491
  59. package/dist/generators/validationGenerator.d.ts +0 -29
  60. package/dist/generators/validationGenerator.js +0 -250
@@ -1,40 +1,47 @@
1
- interface FieldConfig {
2
- name: string;
3
- type: string;
4
- required?: boolean;
5
- unique?: boolean;
6
- auto?: boolean;
7
- displayFields?: string[];
8
- }
9
- interface ModelConfig {
10
- name: string;
11
- fields: FieldConfig[];
12
- }
1
+ import { ModuleConfig } from '../types/configTypes';
13
2
  export declare class StoreGenerator {
14
- private typeMapping;
15
- private availableModels;
16
- private mapType;
17
- private setAvailableModels;
18
- private isRelationshipField;
19
- private getForeignKeyFieldName;
3
+ private availableValueObjects;
4
+ private availableAggregates;
5
+ private isAggregateField;
6
+ private isValueObjectType;
7
+ private getValueObjectName;
8
+ private getValueObjectConfig;
9
+ /**
10
+ * Sort fields the same way as the domain layer generator:
11
+ * Required fields first, then optional fields.
12
+ * This ensures rowToModel parameter order matches entity constructor.
13
+ */
14
+ private sortFieldsForConstructor;
15
+ /**
16
+ * Gets the type name for a value object field (for casting).
17
+ * For enum fields, returns the generated type name (e.g., BreedName).
18
+ * For other fields, returns the basic TypeScript type.
19
+ */
20
+ private getValueObjectFieldTypeName;
21
+ private mapTypeToRowType;
22
+ /** Single line for serializing a value object field to DB (insert/update). */
23
+ private generateValueObjectSerialization;
24
+ /** Single line for deserializing a value object from row (rowToModel). */
25
+ private generateValueObjectDeserialization;
26
+ /** Single line for datetime conversion: toDate (row->model) or toMySQL (entity->row). */
27
+ private generateDatetimeConversion;
28
+ private replaceTemplateVars;
20
29
  private generateRowFields;
21
- private generateFilterableFields;
22
- private generateFilterableFieldsArray;
23
- private generateUpdatableFieldsArray;
24
- private sortFieldsByRequired;
30
+ private generateFieldNamesStr;
25
31
  private generateRowToModelMapping;
26
- private generateModelToRowMapping;
27
- private replaceTemplateVars;
28
- generateStoreInterface(): string;
29
- private generateRelationshipMethods;
30
- private generateStoreConstructorParams;
31
- private generateRelationshipImports;
32
- generateStore(modelConfig: ModelConfig): string;
33
- generateStores(models: ModelConfig[]): Record<string, string>;
32
+ private generateInsertDataMapping;
33
+ private generateUpdateDataMapping;
34
+ private generateUpdateFieldsArray;
35
+ private generateValueObjectImports;
36
+ private generateAggregateRefImports;
37
+ private generateListMethods;
38
+ private generateGetByParentIdMethod;
39
+ private generateGetResourceOwnerMethod;
40
+ private generateStore;
41
+ generateFromConfig(config: ModuleConfig): Record<string, string>;
34
42
  generateFromYamlFile(yamlFilePath: string): Record<string, string>;
35
- generateAndSaveFiles(yamlFilePath?: string, outputDir?: string, opts?: {
43
+ generateAndSaveFiles(yamlFilePath: string, moduleDir: string, opts?: {
36
44
  force?: boolean;
37
45
  skipOnConflict?: boolean;
38
46
  }): Promise<void>;
39
47
  }
40
- export {};