@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.
- package/CHANGELOG.md +129 -0
- package/README.md +136 -0
- package/dist/__tests__/generators/contextGenerator.test.d.ts +2 -0
- package/dist/__tests__/generators/contextGenerator.test.d.ts.map +1 -0
- package/dist/__tests__/generators/contextGenerator.test.js +109 -0
- package/dist/__tests__/generators/contextGenerator.test.js.map +1 -0
- package/dist/__tests__/generators/enumGenerator.test.d.ts +2 -0
- package/dist/__tests__/generators/enumGenerator.test.d.ts.map +1 -0
- package/dist/__tests__/generators/enumGenerator.test.js +151 -0
- package/dist/__tests__/generators/enumGenerator.test.js.map +1 -0
- package/dist/__tests__/generators/modelGenerator.test.d.ts +2 -0
- package/dist/__tests__/generators/modelGenerator.test.d.ts.map +1 -0
- package/dist/__tests__/generators/modelGenerator.test.js +329 -0
- package/dist/__tests__/generators/modelGenerator.test.js.map +1 -0
- package/dist/__tests__/utils/pascalCase.test.d.ts +1 -0
- package/dist/__tests__/utils/pascalCase.test.d.ts.map +1 -0
- package/dist/__tests__/utils/pascalCase.test.js +75 -0
- package/dist/__tests__/utils/pascalCase.test.js.map +1 -0
- package/dist/__tests__/utils/typeMapper.test.d.ts +2 -0
- package/dist/__tests__/utils/typeMapper.test.d.ts.map +1 -0
- package/dist/__tests__/utils/typeMapper.test.js +41 -0
- package/dist/__tests__/utils/typeMapper.test.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +248 -0
- package/dist/cli.js.map +1 -0
- package/dist/generators/commonTypesGenerator.d.ts +5 -0
- package/dist/generators/commonTypesGenerator.d.ts.map +1 -0
- package/dist/generators/commonTypesGenerator.js +37 -0
- package/dist/generators/commonTypesGenerator.js.map +1 -0
- package/dist/generators/contextGenerator.d.ts +3 -0
- package/dist/generators/contextGenerator.d.ts.map +1 -0
- package/dist/generators/contextGenerator.js +248 -0
- package/dist/generators/contextGenerator.js.map +1 -0
- package/dist/generators/enumGenerator.d.ts +13 -0
- package/dist/generators/enumGenerator.d.ts.map +1 -0
- package/dist/generators/enumGenerator.js +83 -0
- package/dist/generators/enumGenerator.js.map +1 -0
- package/dist/generators/hooksGenerator.d.ts +4 -0
- package/dist/generators/hooksGenerator.d.ts.map +1 -0
- package/dist/generators/hooksGenerator.js +265 -0
- package/dist/generators/hooksGenerator.js.map +1 -0
- package/dist/generators/modelGenerator.d.ts +13 -0
- package/dist/generators/modelGenerator.d.ts.map +1 -0
- package/dist/generators/modelGenerator.js +262 -0
- package/dist/generators/modelGenerator.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/runtime/hooks/useFormSubmit.d.ts +36 -0
- package/dist/runtime/hooks/useFormSubmit.d.ts.map +1 -0
- package/dist/runtime/hooks/useFormSubmit.js +86 -0
- package/dist/runtime/hooks/useFormSubmit.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +21 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/lib/axios.d.ts +7 -0
- package/dist/runtime/lib/axios.d.ts.map +1 -0
- package/dist/runtime/lib/axios.js +54 -0
- package/dist/runtime/lib/axios.js.map +1 -0
- package/dist/runtime/lib/validation.d.ts +50 -0
- package/dist/runtime/lib/validation.d.ts.map +1 -0
- package/dist/runtime/lib/validation.js +85 -0
- package/dist/runtime/lib/validation.js.map +1 -0
- package/dist/types.d.ts +54 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/typeMapper.d.ts +10 -0
- package/dist/utils/typeMapper.d.ts.map +1 -0
- package/dist/utils/typeMapper.js +119 -0
- package/dist/utils/typeMapper.js.map +1 -0
- 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
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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"}
|