katax-cli 0.1.1 → 1.1.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.
- package/README.md +0 -0
- package/dist/commands/add-endpoint.d.ts +1 -0
- package/dist/commands/add-endpoint.d.ts.map +1 -0
- package/dist/commands/add-endpoint.js +18 -39
- package/dist/commands/add-endpoint.js.map +1 -0
- package/dist/commands/deploy.d.ts +14 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +416 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/generate-crud.d.ts +1 -0
- package/dist/commands/generate-crud.d.ts.map +1 -0
- package/dist/commands/generate-crud.js +1 -8
- package/dist/commands/generate-crud.js.map +1 -0
- package/dist/commands/generate-crud.refactored.d.ts +6 -0
- package/dist/commands/generate-crud.refactored.d.ts.map +1 -0
- package/dist/commands/generate-crud.refactored.js +139 -0
- package/dist/commands/generate-crud.refactored.js.map +1 -0
- package/dist/commands/info.d.ts +1 -0
- package/dist/commands/info.d.ts.map +1 -0
- package/dist/commands/info.js +1 -5
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +70 -76
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/init.refactored.d.ts +6 -0
- package/dist/commands/init.refactored.d.ts.map +1 -0
- package/dist/commands/init.refactored.js +224 -0
- package/dist/commands/init.refactored.js.map +1 -0
- package/dist/core/errors.d.ts +77 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +130 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +3 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/result.d.ts +26 -0
- package/dist/core/result.d.ts.map +1 -0
- package/dist/core/result.js +76 -0
- package/dist/core/result.js.map +1 -0
- package/dist/generators/controller-generator.d.ts +1 -0
- package/dist/generators/controller-generator.d.ts.map +1 -0
- package/dist/generators/controller-generator.js +1 -2
- package/dist/generators/controller-generator.js.map +1 -0
- package/dist/generators/handler-generator.d.ts +1 -0
- package/dist/generators/handler-generator.d.ts.map +1 -0
- package/dist/generators/handler-generator.js +35 -22
- package/dist/generators/handler-generator.js.map +1 -0
- package/dist/generators/route-generator.d.ts +1 -0
- package/dist/generators/route-generator.d.ts.map +1 -0
- package/dist/generators/route-generator.js +1 -2
- package/dist/generators/route-generator.js.map +1 -0
- package/dist/generators/router-updater.d.ts +1 -0
- package/dist/generators/router-updater.d.ts.map +1 -0
- package/dist/generators/router-updater.js +1 -6
- package/dist/generators/router-updater.js.map +1 -0
- package/dist/generators/validator-generator.d.ts +1 -0
- package/dist/generators/validator-generator.d.ts.map +1 -0
- package/dist/generators/validator-generator.improved.d.ts +3 -0
- package/dist/generators/validator-generator.improved.d.ts.map +1 -0
- package/dist/generators/validator-generator.improved.js +184 -0
- package/dist/generators/validator-generator.improved.js.map +1 -0
- package/dist/generators/validator-generator.js +1 -10
- package/dist/generators/validator-generator.js.map +1 -0
- package/dist/index.d.ts +1 -6
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -19
- package/dist/index.js.map +1 -0
- package/dist/services/ast-router-updater.d.ts +16 -0
- package/dist/services/ast-router-updater.d.ts.map +1 -0
- package/dist/services/ast-router-updater.js +130 -0
- package/dist/services/ast-router-updater.js.map +1 -0
- package/dist/services/code-generation.service.d.ts +15 -0
- package/dist/services/code-generation.service.d.ts.map +1 -0
- package/dist/services/code-generation.service.js +110 -0
- package/dist/services/code-generation.service.js.map +1 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +4 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/project-structure-generator.d.ts +30 -0
- package/dist/services/project-structure-generator.d.ts.map +1 -0
- package/dist/services/project-structure-generator.js +884 -0
- package/dist/services/project-structure-generator.js.map +1 -0
- package/dist/templates/base/code-builder.d.ts +34 -0
- package/dist/templates/base/code-builder.d.ts.map +1 -0
- package/dist/templates/base/code-builder.js +154 -0
- package/dist/templates/base/code-builder.js.map +1 -0
- package/dist/templates/base/template-engine.d.ts +28 -0
- package/dist/templates/base/template-engine.d.ts.map +1 -0
- package/dist/templates/base/template-engine.js +47 -0
- package/dist/templates/base/template-engine.js.map +1 -0
- package/dist/templates/generators/controller-template.d.ts +15 -0
- package/dist/templates/generators/controller-template.d.ts.map +1 -0
- package/dist/templates/generators/controller-template.js +185 -0
- package/dist/templates/generators/controller-template.js.map +1 -0
- package/dist/templates/generators/di-container.d.ts +6 -0
- package/dist/templates/generators/di-container.d.ts.map +1 -0
- package/dist/templates/generators/di-container.js +121 -0
- package/dist/templates/generators/di-container.js.map +1 -0
- package/dist/templates/generators/handler-template.d.ts +15 -0
- package/dist/templates/generators/handler-template.d.ts.map +1 -0
- package/dist/templates/generators/handler-template.js +208 -0
- package/dist/templates/generators/handler-template.js.map +1 -0
- package/dist/templates/generators/repository-template.d.ts +23 -0
- package/dist/templates/generators/repository-template.d.ts.map +1 -0
- package/dist/templates/generators/repository-template.js +237 -0
- package/dist/templates/generators/repository-template.js.map +1 -0
- package/dist/templates/generators/response-utils-template.d.ts +2 -0
- package/dist/templates/generators/response-utils-template.d.ts.map +1 -0
- package/dist/templates/generators/response-utils-template.js +112 -0
- package/dist/templates/generators/response-utils-template.js.map +1 -0
- package/dist/templates/generators/test-generator.d.ts +11 -0
- package/dist/templates/generators/test-generator.d.ts.map +1 -0
- package/dist/templates/generators/test-generator.js +206 -0
- package/dist/templates/generators/test-generator.js.map +1 -0
- package/dist/templates/index.d.ts +8 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +8 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/file-utils.d.ts +1 -30
- package/dist/utils/file-utils.d.ts.map +1 -0
- package/dist/utils/file-utils.js +1 -32
- package/dist/utils/file-utils.js.map +1 -0
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +1 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +1 -1
- package/dist/database/mongodb.ts +0 -46
- package/dist/database/mysql.ts +0 -26
- package/dist/database/postgresql.ts +0 -52
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.refactored.d.ts","sourceRoot":"","sources":["../../src/commands/init.refactored.ts"],"names":[],"mappings":"AAwBA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,iBAkIhF"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import inquirer from 'inquirer';
|
|
2
|
+
import ora from 'ora';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { execa } from 'execa';
|
|
5
|
+
import { success, error, gray, title, info } from '../utils/logger.js';
|
|
6
|
+
import { directoryExists } from '../utils/file-utils.js';
|
|
7
|
+
import { ProjectStructureGenerator } from '../services/project-structure-generator.js';
|
|
8
|
+
export async function initCommand(projectName, options = {}) {
|
|
9
|
+
title('🚀 Katax CLI - Initialize API Project');
|
|
10
|
+
let finalProjectName = projectName || '';
|
|
11
|
+
if (!finalProjectName) {
|
|
12
|
+
const answer = await inquirer.prompt([
|
|
13
|
+
{
|
|
14
|
+
type: 'input',
|
|
15
|
+
name: 'projectName',
|
|
16
|
+
message: 'Project name:',
|
|
17
|
+
default: 'my-api',
|
|
18
|
+
validate: (input) => {
|
|
19
|
+
if (!/^[a-z0-9-_]+$/i.test(input)) {
|
|
20
|
+
return 'Project name can only contain letters, numbers, hyphens, and underscores';
|
|
21
|
+
}
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
]);
|
|
26
|
+
finalProjectName = answer.projectName;
|
|
27
|
+
}
|
|
28
|
+
const projectPath = path.join(process.cwd(), finalProjectName);
|
|
29
|
+
if (directoryExists(projectPath) && !options.force) {
|
|
30
|
+
error(`Directory "${finalProjectName}" already exists!`);
|
|
31
|
+
gray('Use --force to overwrite\n');
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
const answers = await inquirer.prompt([
|
|
35
|
+
{
|
|
36
|
+
type: 'input',
|
|
37
|
+
name: 'description',
|
|
38
|
+
message: 'Project description:',
|
|
39
|
+
default: 'REST API built with Express and TypeScript'
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
type: 'list',
|
|
43
|
+
name: 'database',
|
|
44
|
+
message: 'Select database:',
|
|
45
|
+
choices: [
|
|
46
|
+
{ name: 'PostgreSQL', value: 'postgresql' },
|
|
47
|
+
{ name: 'MySQL', value: 'mysql' },
|
|
48
|
+
{ name: 'MongoDB', value: 'mongodb' },
|
|
49
|
+
{ name: 'None (no database)', value: 'none' }
|
|
50
|
+
],
|
|
51
|
+
default: 'postgresql'
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'list',
|
|
55
|
+
name: 'authentication',
|
|
56
|
+
message: 'Add authentication?',
|
|
57
|
+
choices: [
|
|
58
|
+
{ name: 'JWT Authentication', value: 'jwt' },
|
|
59
|
+
{ name: 'None', value: 'none' }
|
|
60
|
+
],
|
|
61
|
+
default: 'jwt'
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
type: 'confirm',
|
|
65
|
+
name: 'validation',
|
|
66
|
+
message: 'Use katax-core for validation?',
|
|
67
|
+
default: true
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: 'input',
|
|
71
|
+
name: 'port',
|
|
72
|
+
message: 'Server port:',
|
|
73
|
+
default: '3000',
|
|
74
|
+
validate: (input) => {
|
|
75
|
+
const port = parseInt(input);
|
|
76
|
+
if (isNaN(port) || port < 1 || port > 65535) {
|
|
77
|
+
return 'Port must be a number between 1 and 65535';
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
]);
|
|
83
|
+
let dbConfig = {};
|
|
84
|
+
if (answers.database !== 'none') {
|
|
85
|
+
dbConfig = await collectDatabaseConfig(answers.database, finalProjectName);
|
|
86
|
+
}
|
|
87
|
+
const config = {
|
|
88
|
+
name: finalProjectName,
|
|
89
|
+
description: answers.description,
|
|
90
|
+
type: 'rest-api',
|
|
91
|
+
typescript: true,
|
|
92
|
+
database: answers.database,
|
|
93
|
+
authentication: answers.authentication,
|
|
94
|
+
validation: answers.validation ? 'katax-core' : 'none',
|
|
95
|
+
orm: 'none',
|
|
96
|
+
port: parseInt(answers.port),
|
|
97
|
+
dbConfig
|
|
98
|
+
};
|
|
99
|
+
displayConfiguration(config);
|
|
100
|
+
const spinner = ora('Creating project structure...').start();
|
|
101
|
+
try {
|
|
102
|
+
const generator = new ProjectStructureGenerator(projectPath, config);
|
|
103
|
+
await generator.generate();
|
|
104
|
+
spinner.succeed('Project structure created');
|
|
105
|
+
spinner.start('Installing dependencies...');
|
|
106
|
+
await installDependencies(projectPath);
|
|
107
|
+
spinner.succeed('Dependencies installed');
|
|
108
|
+
success(`\n✨ Project "${finalProjectName}" created successfully!\n`);
|
|
109
|
+
displayNextSteps(finalProjectName);
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
spinner.fail('Failed to create project');
|
|
113
|
+
error(err instanceof Error ? err.message : 'Unknown error');
|
|
114
|
+
if (err instanceof Error && err.stack) {
|
|
115
|
+
gray(err.stack);
|
|
116
|
+
}
|
|
117
|
+
process.exit(1);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async function collectDatabaseConfig(database, projectName) {
|
|
121
|
+
const dbQuestions = [];
|
|
122
|
+
if (database === 'postgresql' || database === 'mysql') {
|
|
123
|
+
dbQuestions.push({
|
|
124
|
+
type: 'input',
|
|
125
|
+
name: 'host',
|
|
126
|
+
message: `${database === 'postgresql' ? 'PostgreSQL' : 'MySQL'} host:`,
|
|
127
|
+
default: 'localhost'
|
|
128
|
+
}, {
|
|
129
|
+
type: 'input',
|
|
130
|
+
name: 'port',
|
|
131
|
+
message: `${database === 'postgresql' ? 'PostgreSQL' : 'MySQL'} port:`,
|
|
132
|
+
default: database === 'postgresql' ? '5432' : '3306'
|
|
133
|
+
}, {
|
|
134
|
+
type: 'input',
|
|
135
|
+
name: 'user',
|
|
136
|
+
message: 'Database user:',
|
|
137
|
+
default: database === 'postgresql' ? 'postgres' : 'root'
|
|
138
|
+
}, {
|
|
139
|
+
type: 'password',
|
|
140
|
+
name: 'password',
|
|
141
|
+
message: 'Database password:',
|
|
142
|
+
default: 'password'
|
|
143
|
+
}, {
|
|
144
|
+
type: 'input',
|
|
145
|
+
name: 'database',
|
|
146
|
+
message: 'Database name:',
|
|
147
|
+
default: projectName.toLowerCase().replace(/-/g, '_')
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
else if (database === 'mongodb') {
|
|
151
|
+
dbQuestions.push({
|
|
152
|
+
type: 'input',
|
|
153
|
+
name: 'host',
|
|
154
|
+
message: 'MongoDB host:',
|
|
155
|
+
default: 'localhost'
|
|
156
|
+
}, {
|
|
157
|
+
type: 'input',
|
|
158
|
+
name: 'port',
|
|
159
|
+
message: 'MongoDB port:',
|
|
160
|
+
default: '27017'
|
|
161
|
+
}, {
|
|
162
|
+
type: 'input',
|
|
163
|
+
name: 'database',
|
|
164
|
+
message: 'Database name:',
|
|
165
|
+
default: projectName.toLowerCase().replace(/-/g, '_')
|
|
166
|
+
}, {
|
|
167
|
+
type: 'confirm',
|
|
168
|
+
name: 'useAuth',
|
|
169
|
+
message: 'Use authentication?',
|
|
170
|
+
default: false
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
const config = await inquirer.prompt(dbQuestions);
|
|
174
|
+
if (database === 'mongodb' && config.useAuth) {
|
|
175
|
+
const authConfig = await inquirer.prompt([
|
|
176
|
+
{
|
|
177
|
+
type: 'input',
|
|
178
|
+
name: 'user',
|
|
179
|
+
message: 'MongoDB user:',
|
|
180
|
+
default: 'admin'
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'password',
|
|
184
|
+
name: 'password',
|
|
185
|
+
message: 'MongoDB password:',
|
|
186
|
+
default: 'password'
|
|
187
|
+
}
|
|
188
|
+
]);
|
|
189
|
+
config.user = authConfig.user;
|
|
190
|
+
config.password = authConfig.password;
|
|
191
|
+
}
|
|
192
|
+
return config;
|
|
193
|
+
}
|
|
194
|
+
function displayConfiguration(config) {
|
|
195
|
+
gray('\n📋 Project Configuration:');
|
|
196
|
+
gray(` Name: ${config.name}`);
|
|
197
|
+
gray(` Database: ${config.database}`);
|
|
198
|
+
gray(` Auth: ${config.authentication}`);
|
|
199
|
+
gray(` Validation: ${config.validation}`);
|
|
200
|
+
gray(` Port: ${config.port}\n`);
|
|
201
|
+
}
|
|
202
|
+
function displayNextSteps(projectName) {
|
|
203
|
+
info('Next steps:');
|
|
204
|
+
gray(` cd ${projectName}`);
|
|
205
|
+
gray(` npm run dev\n`);
|
|
206
|
+
info('Available commands:');
|
|
207
|
+
gray(` katax add endpoint <name> - Add a new endpoint`);
|
|
208
|
+
gray(` katax generate crud <name> - Generate CRUD resource`);
|
|
209
|
+
gray(` katax info - Show project structure\n`);
|
|
210
|
+
info('Generated with:');
|
|
211
|
+
gray(` ✅ Result pattern for type-safe error handling`);
|
|
212
|
+
gray(` ✅ Repository pattern for database abstraction`);
|
|
213
|
+
gray(` ✅ Dependency injection ready`);
|
|
214
|
+
gray(` ✅ Structured logging with Pino`);
|
|
215
|
+
gray(` ✅ Health check endpoint`);
|
|
216
|
+
gray(` ✅ Hello example endpoint\n`);
|
|
217
|
+
}
|
|
218
|
+
async function installDependencies(projectPath) {
|
|
219
|
+
await execa('npm', ['install'], {
|
|
220
|
+
cwd: projectPath,
|
|
221
|
+
stdio: 'ignore'
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=init.refactored.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.refactored.js","sourceRoot":"","sources":["../../src/commands/init.refactored.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export declare abstract class AppError extends Error {
|
|
2
|
+
readonly details?: Record<string, any> | undefined;
|
|
3
|
+
abstract readonly statusCode: number;
|
|
4
|
+
abstract readonly code: string;
|
|
5
|
+
readonly timestamp: Date;
|
|
6
|
+
constructor(message: string, details?: Record<string, any> | undefined);
|
|
7
|
+
toJSON(): {
|
|
8
|
+
name: string;
|
|
9
|
+
code: string;
|
|
10
|
+
message: string;
|
|
11
|
+
statusCode: number;
|
|
12
|
+
details: Record<string, any> | undefined;
|
|
13
|
+
timestamp: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare class ValidationError extends AppError {
|
|
17
|
+
readonly fields?: Record<string, string[]> | undefined;
|
|
18
|
+
readonly statusCode = 400;
|
|
19
|
+
readonly code = "VALIDATION_ERROR";
|
|
20
|
+
constructor(message?: string, fields?: Record<string, string[]> | undefined);
|
|
21
|
+
static fromFields(fields: Record<string, string[]>): ValidationError;
|
|
22
|
+
}
|
|
23
|
+
export declare class AuthenticationError extends AppError {
|
|
24
|
+
readonly statusCode = 401;
|
|
25
|
+
readonly code = "AUTHENTICATION_ERROR";
|
|
26
|
+
constructor(message?: string);
|
|
27
|
+
}
|
|
28
|
+
export declare class AuthorizationError extends AppError {
|
|
29
|
+
readonly requiredRole?: string | undefined;
|
|
30
|
+
readonly statusCode = 403;
|
|
31
|
+
readonly code = "AUTHORIZATION_ERROR";
|
|
32
|
+
constructor(message?: string, requiredRole?: string | undefined);
|
|
33
|
+
}
|
|
34
|
+
export declare class NotFoundError extends AppError {
|
|
35
|
+
readonly resource?: string | undefined;
|
|
36
|
+
readonly id?: string | number | undefined;
|
|
37
|
+
readonly statusCode = 404;
|
|
38
|
+
readonly code = "NOT_FOUND";
|
|
39
|
+
constructor(message?: string, resource?: string | undefined, id?: string | number | undefined);
|
|
40
|
+
static forResource(resource: string, id: string | number): NotFoundError;
|
|
41
|
+
}
|
|
42
|
+
export declare class ConflictError extends AppError {
|
|
43
|
+
readonly field?: string | undefined;
|
|
44
|
+
readonly statusCode = 409;
|
|
45
|
+
readonly code = "CONFLICT";
|
|
46
|
+
constructor(message?: string, field?: string | undefined);
|
|
47
|
+
static duplicate(field: string, value: any): ConflictError;
|
|
48
|
+
}
|
|
49
|
+
export declare class DatabaseError extends AppError {
|
|
50
|
+
readonly operation?: string | undefined;
|
|
51
|
+
readonly originalError?: Error | undefined;
|
|
52
|
+
readonly statusCode = 500;
|
|
53
|
+
readonly code = "DATABASE_ERROR";
|
|
54
|
+
constructor(message?: string, operation?: string | undefined, originalError?: Error | undefined);
|
|
55
|
+
static fromError(error: Error, operation?: string): DatabaseError;
|
|
56
|
+
}
|
|
57
|
+
export declare class ExternalServiceError extends AppError {
|
|
58
|
+
readonly service?: string | undefined;
|
|
59
|
+
readonly statusCode = 503;
|
|
60
|
+
readonly code = "EXTERNAL_SERVICE_ERROR";
|
|
61
|
+
constructor(message?: string, service?: string | undefined);
|
|
62
|
+
}
|
|
63
|
+
export declare class InternalServerError extends AppError {
|
|
64
|
+
readonly originalError?: Error | undefined;
|
|
65
|
+
readonly statusCode = 500;
|
|
66
|
+
readonly code = "INTERNAL_SERVER_ERROR";
|
|
67
|
+
constructor(message?: string, originalError?: Error | undefined);
|
|
68
|
+
static fromError(error: Error): InternalServerError;
|
|
69
|
+
}
|
|
70
|
+
export declare class BadRequestError extends AppError {
|
|
71
|
+
readonly statusCode = 400;
|
|
72
|
+
readonly code = "BAD_REQUEST";
|
|
73
|
+
constructor(message?: string);
|
|
74
|
+
}
|
|
75
|
+
export declare function isAppError(error: unknown): error is AppError;
|
|
76
|
+
export declare function toAppError(error: unknown): AppError;
|
|
77
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
export class AppError extends Error {
|
|
2
|
+
details;
|
|
3
|
+
timestamp;
|
|
4
|
+
constructor(message, details) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.details = details;
|
|
7
|
+
this.name = this.constructor.name;
|
|
8
|
+
this.timestamp = new Date();
|
|
9
|
+
Error.captureStackTrace(this, this.constructor);
|
|
10
|
+
}
|
|
11
|
+
toJSON() {
|
|
12
|
+
return {
|
|
13
|
+
name: this.name,
|
|
14
|
+
code: this.code,
|
|
15
|
+
message: this.message,
|
|
16
|
+
statusCode: this.statusCode,
|
|
17
|
+
details: this.details,
|
|
18
|
+
timestamp: this.timestamp.toISOString()
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class ValidationError extends AppError {
|
|
23
|
+
fields;
|
|
24
|
+
statusCode = 400;
|
|
25
|
+
code = 'VALIDATION_ERROR';
|
|
26
|
+
constructor(message = 'Validation failed', fields) {
|
|
27
|
+
super(message, { fields });
|
|
28
|
+
this.fields = fields;
|
|
29
|
+
}
|
|
30
|
+
static fromFields(fields) {
|
|
31
|
+
return new ValidationError('Validation failed', fields);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export class AuthenticationError extends AppError {
|
|
35
|
+
statusCode = 401;
|
|
36
|
+
code = 'AUTHENTICATION_ERROR';
|
|
37
|
+
constructor(message = 'Authentication required') {
|
|
38
|
+
super(message);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export class AuthorizationError extends AppError {
|
|
42
|
+
requiredRole;
|
|
43
|
+
statusCode = 403;
|
|
44
|
+
code = 'AUTHORIZATION_ERROR';
|
|
45
|
+
constructor(message = 'Insufficient permissions', requiredRole) {
|
|
46
|
+
super(message, { requiredRole });
|
|
47
|
+
this.requiredRole = requiredRole;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export class NotFoundError extends AppError {
|
|
51
|
+
resource;
|
|
52
|
+
id;
|
|
53
|
+
statusCode = 404;
|
|
54
|
+
code = 'NOT_FOUND';
|
|
55
|
+
constructor(message = 'Resource not found', resource, id) {
|
|
56
|
+
super(message, { resource, id });
|
|
57
|
+
this.resource = resource;
|
|
58
|
+
this.id = id;
|
|
59
|
+
}
|
|
60
|
+
static forResource(resource, id) {
|
|
61
|
+
return new NotFoundError(`${resource} with id ${id} not found`, resource, id);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export class ConflictError extends AppError {
|
|
65
|
+
field;
|
|
66
|
+
statusCode = 409;
|
|
67
|
+
code = 'CONFLICT';
|
|
68
|
+
constructor(message = 'Resource conflict', field) {
|
|
69
|
+
super(message, { field });
|
|
70
|
+
this.field = field;
|
|
71
|
+
}
|
|
72
|
+
static duplicate(field, value) {
|
|
73
|
+
return new ConflictError(`${field} '${value}' already exists`, field);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export class DatabaseError extends AppError {
|
|
77
|
+
operation;
|
|
78
|
+
originalError;
|
|
79
|
+
statusCode = 500;
|
|
80
|
+
code = 'DATABASE_ERROR';
|
|
81
|
+
constructor(message = 'Database operation failed', operation, originalError) {
|
|
82
|
+
super(message, { operation, originalError: originalError?.message });
|
|
83
|
+
this.operation = operation;
|
|
84
|
+
this.originalError = originalError;
|
|
85
|
+
}
|
|
86
|
+
static fromError(error, operation) {
|
|
87
|
+
return new DatabaseError(`Database error: ${error.message}`, operation, error);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export class ExternalServiceError extends AppError {
|
|
91
|
+
service;
|
|
92
|
+
statusCode = 503;
|
|
93
|
+
code = 'EXTERNAL_SERVICE_ERROR';
|
|
94
|
+
constructor(message = 'External service unavailable', service) {
|
|
95
|
+
super(message, { service });
|
|
96
|
+
this.service = service;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
export class InternalServerError extends AppError {
|
|
100
|
+
originalError;
|
|
101
|
+
statusCode = 500;
|
|
102
|
+
code = 'INTERNAL_SERVER_ERROR';
|
|
103
|
+
constructor(message = 'Internal server error', originalError) {
|
|
104
|
+
super(message, { originalError: originalError?.message });
|
|
105
|
+
this.originalError = originalError;
|
|
106
|
+
}
|
|
107
|
+
static fromError(error) {
|
|
108
|
+
return new InternalServerError(error.message, error);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
export class BadRequestError extends AppError {
|
|
112
|
+
statusCode = 400;
|
|
113
|
+
code = 'BAD_REQUEST';
|
|
114
|
+
constructor(message = 'Bad request') {
|
|
115
|
+
super(message);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export function isAppError(error) {
|
|
119
|
+
return error instanceof AppError;
|
|
120
|
+
}
|
|
121
|
+
export function toAppError(error) {
|
|
122
|
+
if (isAppError(error)) {
|
|
123
|
+
return error;
|
|
124
|
+
}
|
|
125
|
+
if (error instanceof Error) {
|
|
126
|
+
return InternalServerError.fromError(error);
|
|
127
|
+
}
|
|
128
|
+
return new InternalServerError(String(error));
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type Ok<T> = {
|
|
2
|
+
readonly ok: true;
|
|
3
|
+
readonly value: T;
|
|
4
|
+
};
|
|
5
|
+
export type Err<E> = {
|
|
6
|
+
readonly ok: false;
|
|
7
|
+
readonly error: E;
|
|
8
|
+
};
|
|
9
|
+
export type Result<T, E = Error> = Ok<T> | Err<E>;
|
|
10
|
+
export declare function ok<T>(value: T): Ok<T>;
|
|
11
|
+
export declare function err<E>(error: E): Err<E>;
|
|
12
|
+
export declare function isOk<T, E>(result: Result<T, E>): result is Ok<T>;
|
|
13
|
+
export declare function isErr<T, E>(result: Result<T, E>): result is Err<E>;
|
|
14
|
+
export declare function map<T, U, E>(result: Result<T, E>, fn: (value: T) => U): Result<U, E>;
|
|
15
|
+
export declare function mapErr<T, E, F>(result: Result<T, E>, fn: (error: E) => F): Result<T, F>;
|
|
16
|
+
export declare function flatMap<T, U, E>(result: Result<T, E>, fn: (value: T) => Result<U, E>): Result<U, E>;
|
|
17
|
+
export declare function unwrap<T, E>(result: Result<T, E>): T;
|
|
18
|
+
export declare function unwrapOr<T, E>(result: Result<T, E>, defaultValue: T): T;
|
|
19
|
+
export declare function unwrapOrElse<T, E>(result: Result<T, E>, fn: (error: E) => T): T;
|
|
20
|
+
export declare function tryCatch<T, E = Error>(fn: () => T, mapError?: (error: unknown) => E): Result<T, E>;
|
|
21
|
+
export declare function tryCatchAsync<T, E = Error>(fn: () => Promise<T>, mapError?: (error: unknown) => E): Promise<Result<T, E>>;
|
|
22
|
+
export declare function combine<T, E>(results: Result<T, E>[]): Result<T[], E>;
|
|
23
|
+
export declare function ifOk<T, E>(result: Result<T, E>, fn: (value: T) => void): void;
|
|
24
|
+
export declare function ifErr<T, E>(result: Result<T, E>, fn: (error: E) => void): void;
|
|
25
|
+
export declare function match<T, E, R>(result: Result<T, E>, onOk: (value: T) => R, onErr: (error: E) => R): R;
|
|
26
|
+
//# sourceMappingURL=result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
export function ok(value) {
|
|
2
|
+
return { ok: true, value };
|
|
3
|
+
}
|
|
4
|
+
export function err(error) {
|
|
5
|
+
return { ok: false, error };
|
|
6
|
+
}
|
|
7
|
+
export function isOk(result) {
|
|
8
|
+
return result.ok === true;
|
|
9
|
+
}
|
|
10
|
+
export function isErr(result) {
|
|
11
|
+
return result.ok === false;
|
|
12
|
+
}
|
|
13
|
+
export function map(result, fn) {
|
|
14
|
+
return result.ok ? ok(fn(result.value)) : result;
|
|
15
|
+
}
|
|
16
|
+
export function mapErr(result, fn) {
|
|
17
|
+
return result.ok ? result : err(fn(result.error));
|
|
18
|
+
}
|
|
19
|
+
export function flatMap(result, fn) {
|
|
20
|
+
return result.ok ? fn(result.value) : result;
|
|
21
|
+
}
|
|
22
|
+
export function unwrap(result) {
|
|
23
|
+
if (result.ok) {
|
|
24
|
+
return result.value;
|
|
25
|
+
}
|
|
26
|
+
throw result.error;
|
|
27
|
+
}
|
|
28
|
+
export function unwrapOr(result, defaultValue) {
|
|
29
|
+
return result.ok ? result.value : defaultValue;
|
|
30
|
+
}
|
|
31
|
+
export function unwrapOrElse(result, fn) {
|
|
32
|
+
return result.ok ? result.value : fn(result.error);
|
|
33
|
+
}
|
|
34
|
+
export function tryCatch(fn, mapError) {
|
|
35
|
+
try {
|
|
36
|
+
return ok(fn());
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
const mappedError = mapError ? mapError(error) : error;
|
|
40
|
+
return err(mappedError);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export async function tryCatchAsync(fn, mapError) {
|
|
44
|
+
try {
|
|
45
|
+
const value = await fn();
|
|
46
|
+
return ok(value);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
const mappedError = mapError ? mapError(error) : error;
|
|
50
|
+
return err(mappedError);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export function combine(results) {
|
|
54
|
+
const values = [];
|
|
55
|
+
for (const result of results) {
|
|
56
|
+
if (!result.ok) {
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
values.push(result.value);
|
|
60
|
+
}
|
|
61
|
+
return ok(values);
|
|
62
|
+
}
|
|
63
|
+
export function ifOk(result, fn) {
|
|
64
|
+
if (result.ok) {
|
|
65
|
+
fn(result.value);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export function ifErr(result, fn) {
|
|
69
|
+
if (!result.ok) {
|
|
70
|
+
fn(result.error);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export function match(result, onOk, onErr) {
|
|
74
|
+
return result.ok ? onOk(result.value) : onErr(result.error);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"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"}
|