@famgia/omnify-old 0.12.9

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 (75) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +136 -0
  3. package/dist/__tests__/generators/contextGenerator.test.d.ts +2 -0
  4. package/dist/__tests__/generators/contextGenerator.test.d.ts.map +1 -0
  5. package/dist/__tests__/generators/contextGenerator.test.js +109 -0
  6. package/dist/__tests__/generators/contextGenerator.test.js.map +1 -0
  7. package/dist/__tests__/generators/enumGenerator.test.d.ts +2 -0
  8. package/dist/__tests__/generators/enumGenerator.test.d.ts.map +1 -0
  9. package/dist/__tests__/generators/enumGenerator.test.js +151 -0
  10. package/dist/__tests__/generators/enumGenerator.test.js.map +1 -0
  11. package/dist/__tests__/generators/modelGenerator.test.d.ts +2 -0
  12. package/dist/__tests__/generators/modelGenerator.test.d.ts.map +1 -0
  13. package/dist/__tests__/generators/modelGenerator.test.js +329 -0
  14. package/dist/__tests__/generators/modelGenerator.test.js.map +1 -0
  15. package/dist/__tests__/utils/pascalCase.test.d.ts +1 -0
  16. package/dist/__tests__/utils/pascalCase.test.d.ts.map +1 -0
  17. package/dist/__tests__/utils/pascalCase.test.js +75 -0
  18. package/dist/__tests__/utils/pascalCase.test.js.map +1 -0
  19. package/dist/__tests__/utils/typeMapper.test.d.ts +2 -0
  20. package/dist/__tests__/utils/typeMapper.test.d.ts.map +1 -0
  21. package/dist/__tests__/utils/typeMapper.test.js +41 -0
  22. package/dist/__tests__/utils/typeMapper.test.js.map +1 -0
  23. package/dist/cli.d.ts +3 -0
  24. package/dist/cli.d.ts.map +1 -0
  25. package/dist/cli.js +248 -0
  26. package/dist/cli.js.map +1 -0
  27. package/dist/generators/commonTypesGenerator.d.ts +5 -0
  28. package/dist/generators/commonTypesGenerator.d.ts.map +1 -0
  29. package/dist/generators/commonTypesGenerator.js +37 -0
  30. package/dist/generators/commonTypesGenerator.js.map +1 -0
  31. package/dist/generators/contextGenerator.d.ts +3 -0
  32. package/dist/generators/contextGenerator.d.ts.map +1 -0
  33. package/dist/generators/contextGenerator.js +248 -0
  34. package/dist/generators/contextGenerator.js.map +1 -0
  35. package/dist/generators/enumGenerator.d.ts +13 -0
  36. package/dist/generators/enumGenerator.d.ts.map +1 -0
  37. package/dist/generators/enumGenerator.js +83 -0
  38. package/dist/generators/enumGenerator.js.map +1 -0
  39. package/dist/generators/hooksGenerator.d.ts +4 -0
  40. package/dist/generators/hooksGenerator.d.ts.map +1 -0
  41. package/dist/generators/hooksGenerator.js +265 -0
  42. package/dist/generators/hooksGenerator.js.map +1 -0
  43. package/dist/generators/modelGenerator.d.ts +13 -0
  44. package/dist/generators/modelGenerator.d.ts.map +1 -0
  45. package/dist/generators/modelGenerator.js +262 -0
  46. package/dist/generators/modelGenerator.js.map +1 -0
  47. package/dist/index.d.ts +7 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +24 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/runtime/hooks/useFormSubmit.d.ts +36 -0
  52. package/dist/runtime/hooks/useFormSubmit.d.ts.map +1 -0
  53. package/dist/runtime/hooks/useFormSubmit.js +86 -0
  54. package/dist/runtime/hooks/useFormSubmit.js.map +1 -0
  55. package/dist/runtime/index.d.ts +5 -0
  56. package/dist/runtime/index.d.ts.map +1 -0
  57. package/dist/runtime/index.js +21 -0
  58. package/dist/runtime/index.js.map +1 -0
  59. package/dist/runtime/lib/axios.d.ts +7 -0
  60. package/dist/runtime/lib/axios.d.ts.map +1 -0
  61. package/dist/runtime/lib/axios.js +54 -0
  62. package/dist/runtime/lib/axios.js.map +1 -0
  63. package/dist/runtime/lib/validation.d.ts +50 -0
  64. package/dist/runtime/lib/validation.d.ts.map +1 -0
  65. package/dist/runtime/lib/validation.js +85 -0
  66. package/dist/runtime/lib/validation.js.map +1 -0
  67. package/dist/types.d.ts +54 -0
  68. package/dist/types.d.ts.map +1 -0
  69. package/dist/types.js +3 -0
  70. package/dist/types.js.map +1 -0
  71. package/dist/utils/typeMapper.d.ts +10 -0
  72. package/dist/utils/typeMapper.d.ts.map +1 -0
  73. package/dist/utils/typeMapper.js +119 -0
  74. package/dist/utils/typeMapper.js.map +1 -0
  75. package/package.json +74 -0
package/dist/cli.js ADDED
@@ -0,0 +1,248 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const enumGenerator_1 = require("./generators/enumGenerator");
40
+ const modelGenerator_1 = require("./generators/modelGenerator");
41
+ const contextGenerator_1 = require("./generators/contextGenerator");
42
+ function build(options) {
43
+ const { schemaPath, outputDir } = options;
44
+ console.log('\n🔨 Building Omnify types...');
45
+ // Check if schema exists
46
+ if (!fs.existsSync(schemaPath)) {
47
+ console.error(`❌ Error: Schema file not found at ${schemaPath}`);
48
+ console.error('\nUsage:');
49
+ console.error(' omnify-build --schema <path> --output <dir>');
50
+ process.exit(1);
51
+ }
52
+ try {
53
+ // Read schema
54
+ const schemaContent = fs.readFileSync(schemaPath, 'utf-8');
55
+ const schema = JSON.parse(schemaContent);
56
+ // Create output directories
57
+ const typesDir = path.join(outputDir, 'types');
58
+ const contextsDir = path.join(outputDir, 'contexts');
59
+ const modelsDir = path.join(outputDir, 'models');
60
+ [typesDir, contextsDir, modelsDir].forEach(dir => {
61
+ if (!fs.existsSync(dir)) {
62
+ fs.mkdirSync(dir, { recursive: true });
63
+ }
64
+ });
65
+ // Extract enums
66
+ const enums = (0, enumGenerator_1.extractEnums)(schema);
67
+ console.log(`📦 Found ${enums.length} enum properties`);
68
+ // Generate enums (types + options in one file)
69
+ const enumsContent = (0, enumGenerator_1.generateEnumsFile)(enums);
70
+ fs.writeFileSync(path.join(typesDir, 'enums.ts'), enumsContent);
71
+ console.log('✅ Generated types/enums.ts');
72
+ // Generate base models (with Base prefix)
73
+ const modelsContent = (0, modelGenerator_1.generateAllModels)(schema);
74
+ fs.writeFileSync(path.join(typesDir, 'models.ts'), modelsContent);
75
+ console.log('✅ Generated types/models.ts (base models)');
76
+ // Generate extended models (only if they don't exist)
77
+ // Schema structure is now flat: { "User": {...}, "Company": {...} }
78
+ const objectNames = Object.keys(schema).filter(key => schema[key] && typeof schema[key] === 'object' && schema[key].objectName);
79
+ let newModelsCount = 0;
80
+ let existingModelsCount = 0;
81
+ for (const objectName of objectNames) {
82
+ const modelFilePath = path.join(modelsDir, `${objectName}.ts`);
83
+ if (!fs.existsSync(modelFilePath)) {
84
+ const extendedModelContent = (0, modelGenerator_1.generateExtendedModelFile)(objectName);
85
+ fs.writeFileSync(modelFilePath, extendedModelContent);
86
+ newModelsCount++;
87
+ }
88
+ else {
89
+ existingModelsCount++;
90
+ }
91
+ }
92
+ if (newModelsCount > 0) {
93
+ console.log(`✅ Generated ${newModelsCount} new extended model(s) in models/`);
94
+ }
95
+ if (existingModelsCount > 0) {
96
+ console.log(`ℹ️ Kept ${existingModelsCount} existing extended model(s) (not overwritten)`);
97
+ }
98
+ // Generate models index
99
+ const modelsIndexContent = (0, modelGenerator_1.generateModelsIndexFile)(objectNames);
100
+ fs.writeFileSync(path.join(modelsDir, 'index.ts'), modelsIndexContent);
101
+ console.log('✅ Generated models/index.ts');
102
+ // Generate enum context
103
+ const contextContent = (0, contextGenerator_1.generateEnumContextFile)(enums);
104
+ fs.writeFileSync(path.join(contextsDir, 'EnumsContext.tsx'), contextContent);
105
+ console.log('✅ Generated contexts/EnumsContext.tsx');
106
+ // Generate hooks and lib
107
+ console.log('Generating hooks and lib...');
108
+ const { generateHooksAndLib } = require('./generators/hooksGenerator');
109
+ generateHooksAndLib(outputDir);
110
+ // Generate common types
111
+ const { generateCommonTypes } = require('./generators/commonTypesGenerator');
112
+ const commonTypesContent = generateCommonTypes();
113
+ fs.writeFileSync(path.join(typesDir, 'common.ts'), commonTypesContent);
114
+ console.log('✅ Generated types/common.ts');
115
+ // Generate index files
116
+ const typesIndexContent = `// Auto-generated by @famgia/omnify
117
+ export * from './enums';
118
+ export * from './models';
119
+ export * from './common';
120
+ `;
121
+ fs.writeFileSync(path.join(typesDir, 'index.ts'), typesIndexContent);
122
+ console.log('✅ Generated types/index.ts');
123
+ const contextsIndexContent = `// Auto-generated by @famgia/omnify
124
+ export * from './EnumsContext';
125
+ `;
126
+ fs.writeFileSync(path.join(contextsDir, 'index.ts'), contextsIndexContent);
127
+ console.log('✅ Generated contexts/index.ts');
128
+ const mainIndexContent = `// Auto-generated by @famgia/omnify
129
+ export * from './types';
130
+ export * from './contexts';
131
+ export * from './models';
132
+ export * from './hooks';
133
+ export * from './lib';
134
+ `;
135
+ fs.writeFileSync(path.join(outputDir, 'index.ts'), mainIndexContent);
136
+ console.log('✅ Generated index.ts');
137
+ console.log(`\n✨ Generated files in: ${outputDir}\n`);
138
+ }
139
+ catch (error) {
140
+ console.error('\n❌ Error:', error.message);
141
+ process.exit(1);
142
+ }
143
+ }
144
+ function watch(options) {
145
+ console.log(`\n👀 Watching ${options.schemaPath}...\n`);
146
+ // Initial build
147
+ build(options);
148
+ // Watch for changes
149
+ const chokidar = require('chokidar');
150
+ const watcher = chokidar.watch(options.schemaPath, {
151
+ persistent: true,
152
+ ignoreInitial: true,
153
+ });
154
+ watcher.on('change', () => {
155
+ console.log('\n🔄 Schema changed, rebuilding...');
156
+ build(options);
157
+ });
158
+ watcher.on('error', (error) => {
159
+ console.error('❌ Watcher error:', error);
160
+ });
161
+ // Handle graceful shutdown
162
+ process.on('SIGINT', () => {
163
+ console.log('\n\n👋 Stopping...');
164
+ watcher.close();
165
+ process.exit(0);
166
+ });
167
+ }
168
+ // CLI
169
+ const args = process.argv.slice(2);
170
+ if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
171
+ console.log('omnify-build - Convert Omnify .omnify/schema-lock.json to TypeScript types');
172
+ console.log('');
173
+ console.log('Usage:');
174
+ console.log(' omnify-build [--schema <path>] --output <dir> [--watch]');
175
+ console.log('');
176
+ console.log('Options:');
177
+ console.log(' --schema <path> Path to schema-lock.json (optional, auto-detect from .omnify/)');
178
+ console.log(' --output <dir> Output directory (required)');
179
+ console.log(' --watch Watch for schema changes');
180
+ console.log(' --help, -h Show this help');
181
+ console.log('');
182
+ console.log('Auto-detection paths (in order):');
183
+ console.log(' 1. ../backend/.omnify/schema-lock.json (from frontend)');
184
+ console.log(' 2. ./backend/.omnify/schema-lock.json (from root)');
185
+ console.log(' 3. ./.omnify/schema-lock.json (current dir)');
186
+ console.log('');
187
+ console.log('Examples:');
188
+ console.log(' omnify-build --output src/omnify # Auto-detect schema');
189
+ console.log(' omnify-build --schema backend/.omnify/schema-lock.json --output src/omnify');
190
+ console.log(' omnify-build --output src/omnify --watch # Auto-detect + watch');
191
+ process.exit(args.length === 0 ? 1 : 0);
192
+ }
193
+ // Parse arguments
194
+ let schemaPath = null;
195
+ let outputDir = null;
196
+ let watchMode = args.includes('--watch');
197
+ for (let i = 0; i < args.length; i++) {
198
+ if (args[i] === '--schema' && i + 1 < args.length) {
199
+ schemaPath = path.resolve(args[i + 1]);
200
+ i++;
201
+ }
202
+ else if (args[i] === '--output' && i + 1 < args.length) {
203
+ outputDir = path.resolve(args[i + 1]);
204
+ i++;
205
+ }
206
+ }
207
+ // Auto-detect schema path if not provided
208
+ if (!schemaPath) {
209
+ const possiblePaths = [
210
+ path.resolve('../backend/.omnify/schema-lock.json'), // Priority: backend from frontend
211
+ path.resolve('backend/.omnify/schema-lock.json'), // Priority: backend from root
212
+ path.resolve('.omnify/schema-lock.json'), // Fallback: current directory
213
+ ];
214
+ for (const possiblePath of possiblePaths) {
215
+ if (fs.existsSync(possiblePath)) {
216
+ schemaPath = possiblePath;
217
+ console.log(`📍 Auto-detected schema at: ${possiblePath}`);
218
+ break;
219
+ }
220
+ }
221
+ if (!schemaPath) {
222
+ console.error('❌ Error: Could not find schema-lock.json');
223
+ console.error('\nSearched in:');
224
+ possiblePaths.forEach(p => console.error(` - ${p}`));
225
+ console.error('\nPlease specify with --schema <path>');
226
+ console.error('\nUsage:');
227
+ console.error(' omnify-build --schema <path> --output <dir>');
228
+ process.exit(1);
229
+ }
230
+ }
231
+ if (!outputDir) {
232
+ console.error('❌ Error: --output is required');
233
+ console.error('\nUsage:');
234
+ console.error(' omnify-build --schema <path> --output <dir>');
235
+ process.exit(1);
236
+ }
237
+ const options = {
238
+ schemaPath,
239
+ outputDir,
240
+ watch: watchMode,
241
+ };
242
+ if (watchMode) {
243
+ watch(options);
244
+ }
245
+ else {
246
+ build(options);
247
+ }
248
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generate common/utility types (Laravel standard types, etc.)
3
+ */
4
+ export declare function generateCommonTypes(): string;
5
+ //# sourceMappingURL=commonTypesGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonTypesGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/commonTypesGenerator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CA+B5C"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateCommonTypes = generateCommonTypes;
4
+ /**
5
+ * Generate common/utility types (Laravel standard types, etc.)
6
+ */
7
+ function generateCommonTypes() {
8
+ const lines = [];
9
+ lines.push('// Auto-generated by @famgia/omnify');
10
+ lines.push('// Common types (Laravel pagination, etc.)');
11
+ lines.push('');
12
+ lines.push('/**');
13
+ lines.push(' * Laravel Pagination Response');
14
+ lines.push(' */');
15
+ lines.push('export interface PaginatedResponse<T> {');
16
+ lines.push(' data: T[];');
17
+ lines.push(' current_page: number;');
18
+ lines.push(' last_page: number;');
19
+ lines.push(' per_page: number;');
20
+ lines.push(' total: number;');
21
+ lines.push(' from: number | null;');
22
+ lines.push(' to: number | null;');
23
+ lines.push(' first_page_url: string;');
24
+ lines.push(' last_page_url: string;');
25
+ lines.push(' next_page_url: string | null;');
26
+ lines.push(' prev_page_url: string | null;');
27
+ lines.push(' path: string;');
28
+ lines.push(' links: Array<{');
29
+ lines.push(' url: string | null;');
30
+ lines.push(' label: string;');
31
+ lines.push(' active: boolean;');
32
+ lines.push(' }>;');
33
+ lines.push('}');
34
+ lines.push('');
35
+ return lines.join('\n');
36
+ }
37
+ //# sourceMappingURL=commonTypesGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonTypesGenerator.js","sourceRoot":"","sources":["../../src/generators/commonTypesGenerator.ts"],"names":[],"mappings":";;AAGA,kDA+BC;AAlCD;;GAEG;AACH,SAAgB,mBAAmB;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { EnumInfo } from './enumGenerator';
2
+ export declare function generateEnumContextFile(enums: EnumInfo[]): string;
3
+ //# sourceMappingURL=contextGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/contextGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CA+PjE"}
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateEnumContextFile = generateEnumContextFile;
4
+ function generateEnumContextFile(enums) {
5
+ const lines = [];
6
+ lines.push("'use client';");
7
+ lines.push('');
8
+ lines.push('// Auto-generated by @famgia/omnify');
9
+ lines.push('// Do not edit this file manually');
10
+ lines.push('');
11
+ lines.push("import React, { createContext, useContext, useState, useCallback, useMemo, ReactNode } from 'react';");
12
+ lines.push('');
13
+ // Group by objectName for nested structure
14
+ const enumsByObject = new Map();
15
+ for (const enumInfo of enums) {
16
+ if (!enumsByObject.has(enumInfo.objectName)) {
17
+ enumsByObject.set(enumInfo.objectName, new Map());
18
+ }
19
+ enumsByObject.get(enumInfo.objectName).set(enumInfo.propertyName, enumInfo);
20
+ }
21
+ // Generate nested EnumOptions interface (only schema enums)
22
+ lines.push('export interface EnumOptions {');
23
+ for (const [objectName, propsMap] of enumsByObject.entries()) {
24
+ lines.push(` ${objectName}: {`);
25
+ for (const propertyName of propsMap.keys()) {
26
+ lines.push(` ${propertyName}: Record<string, string>;`);
27
+ }
28
+ lines.push(' };');
29
+ }
30
+ lines.push('}');
31
+ lines.push('');
32
+ // Generate type-safe unions for IDE autocomplete
33
+ lines.push('// Type-safe keys for IDE autocomplete');
34
+ const allObjectNames = Array.from(enumsByObject.keys());
35
+ lines.push(`export type EnumObjectName = ${allObjectNames.map(n => `'${n}'`).join(' | ')};`);
36
+ lines.push('');
37
+ // Generate property name unions per object
38
+ for (const [objectName, propsMap] of enumsByObject.entries()) {
39
+ const propNames = Array.from(propsMap.keys());
40
+ lines.push(`export type ${objectName}EnumProperty = ${propNames.map(p => `'${p}'`).join(' | ')};`);
41
+ }
42
+ lines.push('');
43
+ // Generate conditional type for property names based on object name
44
+ lines.push('// Conditional type to get property names for each object');
45
+ lines.push('export type EnumPropertyName<T extends EnumObjectName> = T extends keyof EnumOptions ? keyof EnumOptions[T] : never;');
46
+ lines.push('');
47
+ // Generate prefectures data (separate from schema enums)
48
+ lines.push('const PREFECTURES: Record<string, string> = {');
49
+ const prefectures = [
50
+ { code: 1, label: '北海道' },
51
+ { code: 2, label: '青森県' },
52
+ { code: 3, label: '岩手県' },
53
+ { code: 4, label: '宮城県' },
54
+ { code: 5, label: '秋田県' },
55
+ { code: 6, label: '山形県' },
56
+ { code: 7, label: '福島県' },
57
+ { code: 8, label: '茨城県' },
58
+ { code: 9, label: '栃木県' },
59
+ { code: 10, label: '群馬県' },
60
+ { code: 11, label: '埼玉県' },
61
+ { code: 12, label: '千葉県' },
62
+ { code: 13, label: '東京都' },
63
+ { code: 14, label: '神奈川県' },
64
+ { code: 15, label: '新潟県' },
65
+ { code: 16, label: '富山県' },
66
+ { code: 17, label: '石川県' },
67
+ { code: 18, label: '福井県' },
68
+ { code: 19, label: '山梨県' },
69
+ { code: 20, label: '長野県' },
70
+ { code: 21, label: '岐阜県' },
71
+ { code: 22, label: '静岡県' },
72
+ { code: 23, label: '愛知県' },
73
+ { code: 24, label: '三重県' },
74
+ { code: 25, label: '滋賀県' },
75
+ { code: 26, label: '京都府' },
76
+ { code: 27, label: '大阪府' },
77
+ { code: 28, label: '兵庫県' },
78
+ { code: 29, label: '奈良県' },
79
+ { code: 30, label: '和歌山県' },
80
+ { code: 31, label: '鳥取県' },
81
+ { code: 32, label: '島根県' },
82
+ { code: 33, label: '岡山県' },
83
+ { code: 34, label: '広島県' },
84
+ { code: 35, label: '山口県' },
85
+ { code: 36, label: '徳島県' },
86
+ { code: 37, label: '香川県' },
87
+ { code: 38, label: '愛媛県' },
88
+ { code: 39, label: '高知県' },
89
+ { code: 40, label: '福岡県' },
90
+ { code: 41, label: '佐賀県' },
91
+ { code: 42, label: '長崎県' },
92
+ { code: 43, label: '熊本県' },
93
+ { code: 44, label: '大分県' },
94
+ { code: 45, label: '宮崎県' },
95
+ { code: 46, label: '鹿児島県' },
96
+ { code: 47, label: '沖縄県' },
97
+ ];
98
+ for (const { code, label } of prefectures) {
99
+ lines.push(` '${code}': '${label}',`);
100
+ }
101
+ lines.push('};');
102
+ lines.push('');
103
+ // Generate static enum data (nested structure, only schema enums)
104
+ lines.push('const STATIC_ENUMS: EnumOptions = {');
105
+ for (const [objectName, propsMap] of enumsByObject.entries()) {
106
+ lines.push(` ${objectName}: {`);
107
+ for (const [propertyName, enumInfo] of propsMap.entries()) {
108
+ lines.push(` ${propertyName}: {`);
109
+ for (const { value, label } of enumInfo.values) {
110
+ lines.push(` ${value}: '${label}',`);
111
+ }
112
+ lines.push(` },`);
113
+ }
114
+ lines.push(' },');
115
+ }
116
+ lines.push('};');
117
+ lines.push('');
118
+ // Generate pre-computed static options arrays
119
+ lines.push('// Pre-computed static arrays for performance');
120
+ lines.push('const STATIC_OPTIONS: { [K in EnumObjectName]: { [P in keyof EnumOptions[K]]: { value: string; label: string }[] } } = {');
121
+ for (const [objectName, propsMap] of enumsByObject.entries()) {
122
+ lines.push(` ${objectName}: {`);
123
+ for (const [propertyName, enumInfo] of propsMap.entries()) {
124
+ lines.push(` ${propertyName}: [`);
125
+ for (const { value, label } of enumInfo.values) {
126
+ lines.push(` { value: '${value}', label: '${label}' },`);
127
+ }
128
+ lines.push(` ],`);
129
+ }
130
+ lines.push(' },');
131
+ }
132
+ lines.push('} as any;');
133
+ lines.push('');
134
+ // Generate pre-computed prefecture options
135
+ lines.push('const PREFECTURES_OPTIONS: { value: string; label: string }[] = [');
136
+ for (const { code, label } of prefectures) {
137
+ lines.push(` { value: '${code}', label: '${label}' },`);
138
+ }
139
+ lines.push('];');
140
+ lines.push('');
141
+ lines.push('const PREFECTURES_OPTIONS_NUMBERS: { value: number; label: string }[] = [');
142
+ for (const { code, label } of prefectures) {
143
+ lines.push(` { value: ${code}, label: '${label}' },`);
144
+ }
145
+ lines.push('];');
146
+ lines.push('');
147
+ // Generate context
148
+ lines.push('export interface EnumsContextType {');
149
+ lines.push(' enums: EnumOptions | null;');
150
+ lines.push(' loading: boolean;');
151
+ lines.push(' error: Error | null;');
152
+ lines.push(' /**');
153
+ lines.push(' * Get label by object name, property name, and value');
154
+ lines.push(' * @example getLabel("ApplicationForm", "account_type", "ORDINARY") // "普通"');
155
+ lines.push(' */');
156
+ lines.push(' getLabel: <T extends EnumObjectName>(objectName: T, propertyName: EnumPropertyName<T>, value: string | number) => string | undefined;');
157
+ lines.push(' /**');
158
+ lines.push(' * Get value by object name, property name, and label');
159
+ lines.push(' * @example getValue("ApplicationForm", "account_type", "普通") // "ORDINARY"');
160
+ lines.push(' */');
161
+ lines.push(' getValue: <T extends EnumObjectName>(objectName: T, propertyName: EnumPropertyName<T>, label: string) => string | undefined;');
162
+ lines.push(' /**');
163
+ lines.push(' * Get select options by object name and property name');
164
+ lines.push(' * @example getOptions("ApplicationForm", "account_type") // [{ value: "ORDINARY", label: "普通" }, ...]');
165
+ lines.push(' */');
166
+ lines.push(' getOptions: <T extends EnumObjectName>(objectName: T, propertyName: EnumPropertyName<T>) => { value: string; label: string }[];');
167
+ lines.push(' /**');
168
+ lines.push(' * Get prefecture options');
169
+ lines.push(' * @example getPrefectures() // [{ value: "1", label: "北海道" }, ...]');
170
+ lines.push(' */');
171
+ lines.push(' getPrefectures: () => { value: string; label: string }[];');
172
+ lines.push(' /**');
173
+ lines.push(' * Get prefecture options with numeric values');
174
+ lines.push(' * @example getPrefecturesAsNumbers() // [{ value: 1, label: "北海道" }, ...]');
175
+ lines.push(' */');
176
+ lines.push(' getPrefecturesAsNumbers: () => { value: number; label: string }[];');
177
+ lines.push('}');
178
+ lines.push('');
179
+ lines.push('const EnumsContext = createContext<EnumsContextType | undefined>(undefined);');
180
+ lines.push('');
181
+ lines.push('export function EnumsProvider({ children }: { children: ReactNode }) {');
182
+ lines.push(' const [enums] = useState<EnumOptions>(STATIC_ENUMS);');
183
+ lines.push(' const [loading] = useState(false);');
184
+ lines.push(' const [error] = useState<Error | null>(null);');
185
+ lines.push('');
186
+ lines.push(' const getLabel = useCallback(<T extends EnumObjectName>(objectName: T, propertyName: EnumPropertyName<T>, value: string | number): string | undefined => {');
187
+ lines.push(' if (!enums) return undefined;');
188
+ lines.push(' // Special case for prefectures');
189
+ lines.push(' if (objectName === \'prefectures\' as any) {');
190
+ lines.push(' return (enums as any).prefectures?.[String(value)];');
191
+ lines.push(' }');
192
+ lines.push(' const enumData = enums[objectName]?.[propertyName] as Record<string, string> | undefined;');
193
+ lines.push(' if (!enumData) return undefined;');
194
+ lines.push(' return enumData[String(value)];');
195
+ lines.push(' }, [enums]);');
196
+ lines.push('');
197
+ lines.push(' const getValue = useCallback(<T extends EnumObjectName>(objectName: T, propertyName: EnumPropertyName<T>, label: string): string | undefined => {');
198
+ lines.push(' if (!enums) return undefined;');
199
+ lines.push(' // Special case for prefectures');
200
+ lines.push(' if (objectName === \'prefectures\' as any) {');
201
+ lines.push(' return Object.entries((enums as any).prefectures || {}).find(([_, l]) => l === label)?.[0];');
202
+ lines.push(' }');
203
+ lines.push(' const enumData = enums[objectName]?.[propertyName] as Record<string, string> | undefined;');
204
+ lines.push(' if (!enumData) return undefined;');
205
+ lines.push(' return Object.entries(enumData).find(([_, l]) => l === label)?.[0];');
206
+ lines.push(' }, [enums]);');
207
+ lines.push('');
208
+ lines.push(' const getOptions = useCallback(<T extends EnumObjectName>(objectName: T, propertyName: EnumPropertyName<T>): { value: string; label: string }[] => {');
209
+ lines.push(' return (STATIC_OPTIONS as any)[objectName]?.[propertyName] || [];');
210
+ lines.push(' }, []);');
211
+ lines.push('');
212
+ lines.push(' const getPrefectures = useCallback((): { value: string; label: string }[] => {');
213
+ lines.push(' return PREFECTURES_OPTIONS;');
214
+ lines.push(' }, []);');
215
+ lines.push('');
216
+ lines.push(' const getPrefecturesAsNumbers = useCallback((): { value: number; label: string }[] => {');
217
+ lines.push(' return PREFECTURES_OPTIONS_NUMBERS;');
218
+ lines.push(' }, []);');
219
+ lines.push('');
220
+ lines.push(' const value = useMemo(() => ({');
221
+ lines.push(' enums,');
222
+ lines.push(' loading,');
223
+ lines.push(' error,');
224
+ lines.push(' getLabel,');
225
+ lines.push(' getValue,');
226
+ lines.push(' getOptions,');
227
+ lines.push(' getPrefectures,');
228
+ lines.push(' getPrefecturesAsNumbers,');
229
+ lines.push(' }), [enums, loading, error, getLabel, getValue, getOptions, getPrefectures, getPrefecturesAsNumbers]);');
230
+ lines.push('');
231
+ lines.push(' return (');
232
+ lines.push(' <EnumsContext.Provider value={value}>');
233
+ lines.push(' {children}');
234
+ lines.push(' </EnumsContext.Provider>');
235
+ lines.push(' );');
236
+ lines.push('}');
237
+ lines.push('');
238
+ lines.push('export function useEnums(): EnumsContextType {');
239
+ lines.push(' const context = useContext(EnumsContext);');
240
+ lines.push(' if (context === undefined) {');
241
+ lines.push(" throw new Error('useEnums must be used within an EnumsProvider');");
242
+ lines.push(' }');
243
+ lines.push(' return context;');
244
+ lines.push('}');
245
+ lines.push('');
246
+ return lines.join('\n');
247
+ }
248
+ //# sourceMappingURL=contextGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextGenerator.js","sourceRoot":"","sources":["../../src/generators/contextGenerator.ts"],"names":[],"mappings":"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EAAE,KAAK,EAAE,KAAK,EAAE;QACzB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;QACzB,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QAC3B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QAC3B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QA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"}
@@ -0,0 +1,13 @@
1
+ import { SchemaLock } from '../types';
2
+ export interface EnumInfo {
3
+ objectName: string;
4
+ propertyName: string;
5
+ values: Array<{
6
+ value: string;
7
+ label: string;
8
+ }>;
9
+ }
10
+ export declare function extractEnums(schema: SchemaLock): EnumInfo[];
11
+ export declare function generateEnumsFile(enums: EnumInfo[]): string;
12
+ export declare function generateEnumOptionsFile(enums: EnumInfo[]): string;
13
+ //# sourceMappingURL=enumGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enumGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/enumGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,UAAU,CAAC;AAGhD,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,EAAE,CAmB3D;AAkBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CA+C3D;AAGD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAEjE"}