@currentjs/gen 0.3.1 → 0.5.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 (69) hide show
  1. package/CHANGELOG.md +8 -289
  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/commands/migratePush.d.ts +1 -0
  11. package/dist/commands/migratePush.js +135 -0
  12. package/dist/commands/migrateUpdate.d.ts +1 -0
  13. package/dist/commands/migrateUpdate.js +147 -0
  14. package/dist/commands/newGenerateAll.d.ts +4 -0
  15. package/dist/commands/newGenerateAll.js +336 -0
  16. package/dist/generators/controllerGenerator.d.ts +43 -19
  17. package/dist/generators/controllerGenerator.js +547 -329
  18. package/dist/generators/domainLayerGenerator.d.ts +21 -0
  19. package/dist/generators/domainLayerGenerator.js +276 -0
  20. package/dist/generators/dtoGenerator.d.ts +21 -0
  21. package/dist/generators/dtoGenerator.js +518 -0
  22. package/dist/generators/newControllerGenerator.d.ts +55 -0
  23. package/dist/generators/newControllerGenerator.js +644 -0
  24. package/dist/generators/newServiceGenerator.d.ts +19 -0
  25. package/dist/generators/newServiceGenerator.js +266 -0
  26. package/dist/generators/newStoreGenerator.d.ts +39 -0
  27. package/dist/generators/newStoreGenerator.js +408 -0
  28. package/dist/generators/newTemplateGenerator.d.ts +29 -0
  29. package/dist/generators/newTemplateGenerator.js +510 -0
  30. package/dist/generators/serviceGenerator.d.ts +16 -51
  31. package/dist/generators/serviceGenerator.js +167 -586
  32. package/dist/generators/storeGenerator.d.ts +35 -32
  33. package/dist/generators/storeGenerator.js +291 -238
  34. package/dist/generators/storeGeneratorV2.d.ts +31 -0
  35. package/dist/generators/storeGeneratorV2.js +190 -0
  36. package/dist/generators/templateGenerator.d.ts +21 -21
  37. package/dist/generators/templateGenerator.js +393 -268
  38. package/dist/generators/templates/appTemplates.d.ts +3 -1
  39. package/dist/generators/templates/appTemplates.js +15 -10
  40. package/dist/generators/templates/data/appYamlTemplate +5 -2
  41. package/dist/generators/templates/data/cursorRulesTemplate +315 -221
  42. package/dist/generators/templates/data/frontendScriptTemplate +76 -47
  43. package/dist/generators/templates/data/mainViewTemplate +1 -1
  44. package/dist/generators/templates/data/systemTsTemplate +5 -0
  45. package/dist/generators/templates/index.d.ts +0 -3
  46. package/dist/generators/templates/index.js +0 -3
  47. package/dist/generators/templates/newStoreTemplates.d.ts +5 -0
  48. package/dist/generators/templates/newStoreTemplates.js +141 -0
  49. package/dist/generators/templates/storeTemplates.d.ts +1 -5
  50. package/dist/generators/templates/storeTemplates.js +102 -219
  51. package/dist/generators/templates/viewTemplates.js +1 -1
  52. package/dist/generators/useCaseGenerator.d.ts +13 -0
  53. package/dist/generators/useCaseGenerator.js +188 -0
  54. package/dist/types/configTypes.d.ts +148 -0
  55. package/dist/types/configTypes.js +10 -0
  56. package/dist/utils/childEntityUtils.d.ts +18 -0
  57. package/dist/utils/childEntityUtils.js +78 -0
  58. package/dist/utils/commandUtils.d.ts +43 -0
  59. package/dist/utils/commandUtils.js +124 -0
  60. package/dist/utils/commitUtils.d.ts +4 -1
  61. package/dist/utils/constants.d.ts +10 -0
  62. package/dist/utils/constants.js +13 -1
  63. package/dist/utils/diResolver.d.ts +32 -0
  64. package/dist/utils/diResolver.js +204 -0
  65. package/dist/utils/new_parts_of_migrationUtils.d.ts +0 -0
  66. package/dist/utils/new_parts_of_migrationUtils.js +164 -0
  67. package/dist/utils/typeUtils.d.ts +19 -0
  68. package/dist/utils/typeUtils.js +70 -0
  69. package/package.json +7 -3
@@ -1,40 +1,43 @@
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 isValueObjectType;
5
+ private getValueObjectName;
6
+ private getValueObjectConfig;
7
+ /**
8
+ * Sort fields the same way as the domain layer generator:
9
+ * Required fields first, then optional fields.
10
+ * This ensures rowToModel parameter order matches entity constructor.
11
+ */
12
+ private sortFieldsForConstructor;
13
+ /**
14
+ * Gets the type name for a value object field (for casting).
15
+ * For enum fields, returns the generated type name (e.g., BreedName).
16
+ * For other fields, returns the basic TypeScript type.
17
+ */
18
+ private getValueObjectFieldTypeName;
19
+ private mapTypeToRowType;
20
+ /** Single line for serializing a value object field to DB (insert/update). */
21
+ private generateValueObjectSerialization;
22
+ /** Single line for deserializing a value object from row (rowToModel). */
23
+ private generateValueObjectDeserialization;
24
+ /** Single line for datetime conversion: toDate (row->model) or toMySQL (entity->row). */
25
+ private generateDatetimeConversion;
26
+ private replaceTemplateVars;
20
27
  private generateRowFields;
21
- private generateFilterableFields;
22
- private generateFilterableFieldsArray;
23
- private generateUpdatableFieldsArray;
24
- private sortFieldsByRequired;
28
+ private generateFieldNamesStr;
25
29
  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>;
30
+ private generateInsertDataMapping;
31
+ private generateUpdateDataMapping;
32
+ private generateUpdateFieldsArray;
33
+ private generateValueObjectImports;
34
+ private generateGetByParentIdMethod;
35
+ private generateGetResourceOwnerMethod;
36
+ private generateStore;
37
+ generateFromConfig(config: ModuleConfig): Record<string, string>;
34
38
  generateFromYamlFile(yamlFilePath: string): Record<string, string>;
35
- generateAndSaveFiles(yamlFilePath?: string, outputDir?: string, opts?: {
39
+ generateAndSaveFiles(yamlFilePath: string, moduleDir: string, opts?: {
36
40
  force?: boolean;
37
41
  skipOnConflict?: boolean;
38
42
  }): Promise<void>;
39
43
  }
40
- export {};