@coherent.js/api 1.0.0-beta.2 → 1.0.0-beta.3

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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * API Error Handling for Coherent.js
3
- * @fileoverview Standardized error classes and handling utilities
3
+ * @fileoverview Standardized _error classes and handling utilities
4
4
  */
5
5
  /**
6
6
  * Base API Error class
@@ -8,10 +8,10 @@
8
8
  */
9
9
  class ApiError extends Error {
10
10
  /**
11
- * Create an API error
11
+ * Create an API _error
12
12
  * @param {string} message - Error message
13
13
  * @param {number} statusCode - HTTP status code
14
- * @param {Object} details - Additional error details
14
+ * @param {Object} details - Additional _error details
15
15
  */
16
16
  constructor(message, statusCode = 500, details = {}) {
17
17
  super(message);
@@ -24,12 +24,12 @@ class ApiError extends Error {
24
24
  }
25
25
  }
26
26
  /**
27
- * Convert error to JSON-serializable object
27
+ * Convert _error to JSON-serializable object
28
28
  * @returns {Object} Error object
29
29
  */
30
30
  toJSON() {
31
31
  return {
32
- error: this.name,
32
+ _error: this.name,
33
33
  message: this.message,
34
34
  statusCode: this.statusCode,
35
35
  details: this.details
@@ -42,7 +42,7 @@ class ApiError extends Error {
42
42
  */
43
43
  class ValidationError extends ApiError {
44
44
  /**
45
- * Create a validation error
45
+ * Create a validation _error
46
46
  * @param {Object} errors - Validation errors
47
47
  * @param {string} message - Error message
48
48
  */
@@ -57,7 +57,7 @@ class ValidationError extends ApiError {
57
57
  */
58
58
  class AuthenticationError extends ApiError {
59
59
  /**
60
- * Create an authentication error
60
+ * Create an authentication _error
61
61
  * @param {string} message - Error message
62
62
  */
63
63
  constructor(message = 'Authentication required') {
@@ -71,7 +71,7 @@ class AuthenticationError extends ApiError {
71
71
  */
72
72
  class AuthorizationError extends ApiError {
73
73
  /**
74
- * Create an authorization error
74
+ * Create an authorization _error
75
75
  * @param {string} message - Error message
76
76
  */
77
77
  constructor(message = 'Access denied') {
@@ -85,7 +85,7 @@ class AuthorizationError extends ApiError {
85
85
  */
86
86
  class NotFoundError extends ApiError {
87
87
  /**
88
- * Create a not found error
88
+ * Create a not found _error
89
89
  * @param {string} message - Error message
90
90
  */
91
91
  constructor(message = 'Resource not found') {
@@ -99,7 +99,7 @@ class NotFoundError extends ApiError {
99
99
  */
100
100
  class ConflictError extends ApiError {
101
101
  /**
102
- * Create a conflict error
102
+ * Create a conflict _error
103
103
  * @param {string} message - Error message
104
104
  */
105
105
  constructor(message = 'Resource conflict') {
@@ -108,7 +108,7 @@ class ConflictError extends ApiError {
108
108
  }
109
109
  }
110
110
  /**
111
- * Create error handling middleware
111
+ * Create _error handling middleware
112
112
  * @param {Function} handler - Error handler function
113
113
  * @returns {Function} Middleware function
114
114
  */
@@ -117,45 +117,45 @@ function withErrorHandling(handler) {
117
117
  try {
118
118
  return await handler(req, res, next);
119
119
  }
120
- catch (error) {
121
- // If it's already an API error, use it as-is
122
- if (error instanceof ApiError) {
123
- throw error;
120
+ catch (_error) {
121
+ // If it's already an API _error, use it as-is
122
+ if (_error instanceof ApiError) {
123
+ throw _error;
124
124
  }
125
- // Otherwise, wrap it as a generic server error
126
- throw new ApiError(error.message || 'Internal server error', 500);
125
+ // Otherwise, wrap it as a generic server _error
126
+ throw new ApiError(_error.message || 'Internal server _error', 500);
127
127
  }
128
128
  };
129
129
  }
130
130
  /**
131
- * Global error handler middleware
132
- * @returns {Function} Express error handler middleware
131
+ * Global _error handler middleware
132
+ * @returns {Function} Express _error handler middleware
133
133
  */
134
134
  function createErrorHandler() {
135
- return (error, req, res, next) => {
136
- // Log error for debugging
137
- console.error('API Error:', error);
138
- // If headers are already sent, delegate to default error handler
135
+ return (_error, req, res, next) => {
136
+ // Log _error for debugging
137
+ console._error('API Error:', _error);
138
+ // If headers are already sent, delegate to default _error handler
139
139
  if (res.headersSent) {
140
- return next(error);
140
+ return next(_error);
141
141
  }
142
- // Format error response
142
+ // Format _error response
143
143
  const response = {
144
- error: error.name || 'Error',
145
- message: error.message || 'An error occurred',
146
- statusCode: error.statusCode || 500
144
+ _error: _error.name || 'Error',
145
+ message: _error.message || 'An _error occurred',
146
+ statusCode: _error.statusCode || 500
147
147
  };
148
148
  // Add details if available
149
- if (error.details) {
150
- response.details = error.details;
149
+ if (_error.details) {
150
+ response.details = _error.details;
151
151
  }
152
152
  // Add stack trace in development
153
153
  if (process.env.NODE_ENV === 'development') {
154
- response.stack = error.stack;
154
+ response.stack = _error.stack;
155
155
  }
156
156
  res.status(response.statusCode).json(response);
157
157
  };
158
158
  }
159
- // Export all error classes and utilities
159
+ // Export all _error classes and utilities
160
160
  export { ApiError, ValidationError, AuthenticationError, AuthorizationError, NotFoundError, ConflictError, withErrorHandling, createErrorHandler };
161
161
  //# sourceMappingURL=errors.js.map
@@ -3,7 +3,7 @@
3
3
  * @fileoverview Common middleware utilities for API routes
4
4
  */
5
5
  /**
6
- * Creates a custom API middleware with error handling
6
+ * Creates a custom API middleware with _error handling
7
7
  * @param {Function} handler - Middleware handler function
8
8
  * @returns {Function} Middleware function that catches errors
9
9
  */
@@ -12,9 +12,9 @@ export function createApiMiddleware(handler) {
12
12
  try {
13
13
  return handler(req, res, next);
14
14
  }
15
- catch (error) {
15
+ catch (_error) {
16
16
  // Pass errors to next middleware
17
- next(error);
17
+ next(_error);
18
18
  }
19
19
  };
20
20
  }
@@ -28,7 +28,7 @@ export function withAuth(verifyToken) {
28
28
  const authHeader = req.headers.authorization;
29
29
  if (!authHeader) {
30
30
  return res.status(401).json({
31
- error: 'Unauthorized',
31
+ _error: 'Unauthorized',
32
32
  message: 'Missing authorization header'
33
33
  });
34
34
  }
@@ -40,7 +40,7 @@ export function withAuth(verifyToken) {
40
40
  }
41
41
  catch {
42
42
  return res.status(401).json({
43
- error: 'Unauthorized',
43
+ _error: 'Unauthorized',
44
44
  message: 'Invalid token'
45
45
  });
46
46
  }
@@ -55,7 +55,7 @@ export function withPermission(checkPermission) {
55
55
  return createApiMiddleware((req, res, next) => {
56
56
  if (!req.user) {
57
57
  return res.status(401).json({
58
- error: 'Unauthorized',
58
+ _error: 'Unauthorized',
59
59
  message: 'User not authenticated'
60
60
  });
61
61
  }
@@ -63,7 +63,7 @@ export function withPermission(checkPermission) {
63
63
  const hasPermission = checkPermission(req.user, req);
64
64
  if (!hasPermission) {
65
65
  return res.status(403).json({
66
- error: 'Forbidden',
66
+ _error: 'Forbidden',
67
67
  message: 'Insufficient permissions'
68
68
  });
69
69
  }
@@ -71,7 +71,7 @@ export function withPermission(checkPermission) {
71
71
  }
72
72
  catch {
73
73
  return res.status(403).json({
74
- error: 'Forbidden',
74
+ _error: 'Forbidden',
75
75
  message: 'Permission check failed'
76
76
  });
77
77
  }
@@ -166,7 +166,7 @@ export function withRateLimit(options = {}) {
166
166
  // Check if limit exceeded
167
167
  if (record.count > max) {
168
168
  return res.status(statusCode).json({
169
- error: 'Rate limit exceeded',
169
+ _error: 'Rate limit exceeded',
170
170
  message
171
171
  });
172
172
  }
@@ -25,344 +25,6 @@
25
25
  * const server = router.createServer();
26
26
  * server.listen(3000);
27
27
  */
28
- /**
29
- * Factory function to create a SimpleRouter instance
30
- *
31
- * @param {Object} options - Router options
32
- * @returns {SimpleRouter} Router instance
33
- */
34
- export function createSimpleRouter(options?: Object): SimpleRouter;
35
- export function createObjectRouter(routeConfig: any, options?: {}): SimpleRouter;
28
+ export function createObjectRouter(routeConfig: any, options?: Object): Object;
36
29
  export default createObjectRouter;
37
- /**
38
- * Simple router implementation for object-based routing with WebSocket support
39
- *
40
- * @class SimpleRouter
41
- * @description Provides HTTP and WebSocket routing with middleware support, caching,
42
- * versioning, content negotiation, and performance metrics.
43
- *
44
- * @param {Object} [options={}] - Router configuration options
45
- * @param {number} [options.maxCacheSize=1000] - Maximum cache size for route lookups
46
- * @param {boolean} [options.enableCompilation=true] - Enable route pattern compilation
47
- * @param {boolean} [options.enableVersioning=false] - Enable API versioning
48
- * @param {string} [options.defaultVersion='v1'] - Default API version
49
- * @param {string} [options.versionHeader='api-version'] - Header for version detection
50
- * @param {boolean} [options.enableContentNegotiation=true] - Enable content type negotiation
51
- * @param {string} [options.defaultContentType='application/json'] - Default response content type
52
- * @param {boolean} [options.enableWebSockets=false] - Enable WebSocket routing
53
- * @param {boolean} [options.enableMetrics=false] - Enable performance metrics collection
54
- *
55
- * @example
56
- * const router = new SimpleRouter({
57
- * enableWebSockets: true,
58
- * enableMetrics: true,
59
- * maxCacheSize: 2000
60
- * });
61
- */
62
- export class SimpleRouter {
63
- constructor(options?: {});
64
- routes: any[];
65
- routeCache: Map<any, any>;
66
- namedRoutes: Map<any, any>;
67
- maxCacheSize: any;
68
- routeGroups: any[];
69
- globalMiddleware: any[];
70
- enableCompilation: boolean;
71
- compiledRoutes: Map<any, any>;
72
- routeCompilationCache: Map<any, any>;
73
- enableVersioning: any;
74
- defaultVersion: any;
75
- versionHeader: any;
76
- versionedRoutes: Map<any, any>;
77
- enableContentNegotiation: boolean;
78
- defaultContentType: any;
79
- enableWebSockets: any;
80
- wsRoutes: any[];
81
- wsConnections: Map<any, any>;
82
- enableMetrics: any;
83
- metrics: {
84
- requests: number;
85
- cacheHits: number;
86
- compilationHits: number;
87
- routeMatches: Map<any, any>;
88
- responseTime: never[];
89
- errors: number;
90
- versionRequests: Map<any, any>;
91
- contentTypeRequests: Map<any, any>;
92
- wsConnections: number;
93
- wsMessages: number;
94
- } | undefined;
95
- /**
96
- * Add an HTTP route to the router
97
- *
98
- * @param {string} method - HTTP method (GET, POST, PUT, DELETE, PATCH)
99
- * @param {string} path - Route path pattern (supports :param and wildcards)
100
- * @param {Function} handler - Route handler function
101
- * @param {Object} [options={}] - Route options
102
- * @param {Array} [options.middleware] - Route-specific middleware
103
- * @param {string} [options.name] - Named route for URL generation
104
- * @param {string} [options.version] - API version for this route
105
- *
106
- * @example
107
- * router.addRoute('GET', '/users/:id', (req, res) => {
108
- * return { user: { id: req.params.id } };
109
- * }, { name: 'getUser', version: 'v2' });
110
- */
111
- addRoute(method: string, path: string, handler: Function, options?: {
112
- middleware?: any[] | undefined;
113
- name?: string | undefined;
114
- version?: string | undefined;
115
- }): void;
116
- /**
117
- * Add a versioned route
118
- * @param {string} version - API version (e.g., 'v1', 'v2')
119
- * @param {string} method - HTTP method
120
- * @param {string} path - Route path
121
- * @param {Function} handler - Route handler
122
- * @param {Object} options - Route options
123
- */
124
- addVersionedRoute(version: string, method: string, path: string, handler: Function, options?: Object): void;
125
- /**
126
- * Add route with content negotiation support
127
- * @param {string} method - HTTP method
128
- * @param {string} path - Route path
129
- * @param {Object} handlers - Content type handlers { 'application/json': handler, 'text/xml': handler }
130
- * @param {Object} options - Route options
131
- */
132
- addContentNegotiatedRoute(method: string, path: string, handlers: Object, options?: Object): void;
133
- /**
134
- * Negotiate content type based on Accept header
135
- * @param {Object} req - Request object
136
- * @param {Array} supportedTypes - Array of supported content types
137
- * @returns {string} Best matching content type
138
- * @private
139
- */
140
- private negotiateContentType;
141
- /**
142
- * Convert object to XML string
143
- * @param {Object} obj - Object to convert
144
- * @param {string} rootName - Root element name
145
- * @returns {string} XML string
146
- * @private
147
- */
148
- private objectToXml;
149
- /**
150
- * Add WebSocket route
151
- * @param {string} path - WebSocket path
152
- * @param {Function} handler - WebSocket handler function
153
- * @param {Object} options - Route options
154
- */
155
- addWebSocketRoute(path: string, handler: Function, options?: Object): void;
156
- /**
157
- * Handle WebSocket upgrade request
158
- * @param {Object} request - HTTP request object
159
- * @param {Object} socket - Socket object
160
- * @param {Buffer} head - First packet of the upgraded stream
161
- */
162
- handleWebSocketUpgrade(request: Object, socket: Object, head: Buffer): void;
163
- /**
164
- * Create WebSocket connection
165
- * @param {Object} request - HTTP request object
166
- * @param {Object} socket - Socket object
167
- * @param {Buffer} head - First packet of the upgraded stream
168
- * @param {Object} matchedRoute - Matched WebSocket route
169
- * @private
170
- */
171
- private createWebSocketConnection;
172
- /**
173
- * Create WebSocket wrapper with message handling
174
- * @param {Object} socket - Raw socket
175
- * @param {Object} matchedRoute - Matched route info
176
- * @returns {Object} WebSocket wrapper
177
- * @private
178
- */
179
- private createWebSocketWrapper;
180
- /**
181
- * Parse WebSocket frame
182
- * @param {Buffer} buffer - Raw frame data
183
- * @returns {string|null} Parsed message
184
- * @private
185
- */
186
- private parseWebSocketFrame;
187
- /**
188
- * Broadcast message to all WebSocket connections on a path
189
- * @param {string} path - WebSocket path pattern
190
- * @param {*} message - Message to broadcast
191
- * @param {string} [excludeId=null] - Connection ID to exclude from broadcast
192
- */
193
- broadcast(path: string, message: any, excludeId?: string): void;
194
- /**
195
- * Get active WebSocket connections
196
- * @returns {Array} Array of connection info
197
- */
198
- getWebSocketConnections(): any[];
199
- /**
200
- * Get version from request
201
- * @param {Object} req - Request object
202
- * @returns {string} API version
203
- * @private
204
- */
205
- private getRequestVersion;
206
- /**
207
- * Generate URL for named route with parameter substitution
208
- *
209
- * @param {string} name - Route name (set during route registration)
210
- * @param {Object} [params={}] - Parameters to substitute in the URL pattern
211
- * @returns {string} Generated URL with parameters substituted
212
- * @throws {Error} If named route is not found
213
- *
214
- * @example
215
- * // Route registered as: router.addRoute('GET', '/users/:id', handler, { name: 'getUser' })
216
- * const url = router.url('getUser', { id: 123 }); // '/users/123'
217
- *
218
- * // With constrained parameters
219
- * const url = router.url('getUserPosts', { userId: 123, postId: 456 }); // '/users/123/posts/456'
220
- */
221
- generateUrl(name: string, params?: Object): string;
222
- /**
223
- * Add routes from configuration object
224
- *
225
- * @param {Object} routeConfig - Route configuration object with nested structure
226
- * @description Processes nested route objects and registers HTTP and WebSocket routes.
227
- * Supports declarative route definition with automatic method detection.
228
- *
229
- * @example
230
- * router.addRoutes({
231
- * 'api': {
232
- * 'users': {
233
- * GET: (req, res) => ({ users: [] }),
234
- * POST: (req, res) => ({ created: true })
235
- * }
236
- * }
237
- * });
238
- */
239
- addRoutes(routeConfig: Object): void;
240
- /**
241
- * Add global middleware to the router
242
- *
243
- * @param {Function|Object} middleware - Middleware function or conditional middleware object
244
- * @description Adds middleware that runs before all route handlers. Supports both
245
- * simple functions and conditional middleware objects.
246
- *
247
- * @example
248
- * // Simple middleware
249
- * router.use((req, res) => {
250
- * console.log(`${req.method} ${req.url}`);
251
- * });
252
- *
253
- * // Conditional middleware
254
- * router.use({
255
- * condition: (req) => req.url.startsWith('/api'),
256
- * middleware: authMiddleware,
257
- * name: 'apiAuth'
258
- * });
259
- */
260
- use(middleware: Function | Object): void;
261
- /**
262
- * Create conditional middleware wrapper
263
- * @param {Object} config - Conditional middleware configuration
264
- * @returns {Function} Wrapped middleware function
265
- * @private
266
- */
267
- private createConditionalMiddleware;
268
- /**
269
- * Evaluate condition object
270
- * @param {Object} condition - Condition object
271
- * @param {Object} req - Request object
272
- * @param {Object} res - Response object
273
- * @returns {boolean} Whether condition is met
274
- * @private
275
- */
276
- private evaluateConditionObject;
277
- /**
278
- * Match condition value
279
- * @param {*} actual - Actual value
280
- * @param {*} expected - Expected value or condition
281
- * @returns {boolean} Whether condition matches
282
- * @private
283
- */
284
- private matchCondition;
285
- /**
286
- * Create a route group with shared middleware and prefix
287
- * @param {string} prefix - Path prefix for the group
288
- * @param {Function|Array} middleware - Shared middleware
289
- * @param {Function} callback - Function to define routes in the group
290
- */
291
- group(prefix: string, middleware: Function | any[], callback: Function): this;
292
- /**
293
- * Get current route prefix from active groups
294
- * @private
295
- */
296
- private getCurrentPrefix;
297
- /**
298
- * Get current group middleware
299
- * @private
300
- */
301
- private getCurrentGroupMiddleware;
302
- /**
303
- * Compile route pattern into optimized regex
304
- * @param {string} pattern - Route pattern to compile
305
- * @returns {Object} Compiled route object with regex and parameter names
306
- * @private
307
- */
308
- private compileRoute;
309
- /**
310
- * Match path using compiled route
311
- * @param {Object} compiledRoute - Compiled route object
312
- * @param {string} path - Path to match
313
- * @returns {Object|null} Parameters object or null if no match
314
- * @private
315
- */
316
- private matchCompiledRoute;
317
- /**
318
- * Get performance metrics
319
- * @returns {Object} Performance metrics object
320
- */
321
- getMetrics(): Object;
322
- /**
323
- * Get compilation statistics
324
- * @returns {Object} Compilation statistics
325
- */
326
- getCompilationStats(): Object;
327
- /**
328
- * Clear route cache (useful for development)
329
- */
330
- clearCache(): void;
331
- /**
332
- * Clear compilation cache
333
- */
334
- clearCompilationCache(): void;
335
- /**
336
- * Get all registered routes with detailed information
337
- * @returns {Array} Array of route information objects
338
- */
339
- getRoutes(): any[];
340
- /**
341
- * Find routes matching a pattern or method
342
- * @param {Object} criteria - Search criteria
343
- * @returns {Array} Matching routes
344
- */
345
- findRoutes(criteria?: Object): any[];
346
- /**
347
- * Test route matching without executing handlers
348
- * @param {string} method - HTTP method
349
- * @param {string} path - Path to test
350
- * @returns {Object} Match result with route info and extracted parameters
351
- */
352
- testRoute(method: string, path: string): Object;
353
- /**
354
- * Get router debug information
355
- * @returns {Object} Comprehensive debug information
356
- */
357
- getDebugInfo(): Object;
358
- handle(req: any, res: any, options?: {}): Promise<void>;
359
- createServer(options?: {}): import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>;
360
- get(path: any, handler: any, options?: {}): void;
361
- post(path: any, handler: any, options?: {}): void;
362
- put(path: any, handler: any, options?: {}): void;
363
- patch(path: any, handler: any, options?: {}): void;
364
- delete(path: any, handler: any, options?: {}): void;
365
- options(path: any, handler: any, options?: {}): void;
366
- head(path: any, handler: any, options?: {}): void;
367
- }
368
30
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../src/api/router.js"],"names":[],"mappings":"AAqmDA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;;;;;GAKG;AACH,6CAHW,MAAM,GACJ,YAAY,CAIxB;AAED,iFASC;;AAx0CD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH;IACE,0BA4CC;IA3CC,cAAgB;IAChB,0BAA2B;IAC3B,2BAA4B;IAC5B,kBAAgD;IAChD,mBAAqB;IACrB,wBAA0B;IAG1B,2BAA4D;IAC5D,8BAA+B;IAC/B,qCAAsC;IAGtC,sBAAyD;IACzD,oBAAoD;IACpD,mBAA2D;IAC3D,+BAAgC;IAGhC,kCAA0E;IAC1E,wBAA0E;IAG1E,sBAAyD;IACzD,gBAAkB;IAClB,6BAA8B;IAG9B,mBAAmD;IAEjD;;;;;;;;;;;kBAWC;IAIL;;;;;;;;;;;;;;;OAeG;IACH,iBAbW,MAAM,QACN,MAAM,+BAGd;QAAwB,UAAU;QACT,IAAI;QACJ,OAAO;KAEhC,QA2CF;IAED;;;;;;;OAOG;IACH,2BANW,MAAM,UACN,MAAM,QACN,MAAM,+BAEN,MAAM,QAIhB;IAED;;;;;;OAMG;IACH,kCALW,MAAM,QACN,MAAM,YACN,MAAM,YACN,MAAM,QAwChB;IAED;;;;;;OAMG;IACH,6BAiCC;IAED;;;;;;OAMG;IACH,oBA6BC;IAED;;;;;OAKG;IACH,wBAJW,MAAM,+BAEN,MAAM,QAuBhB;IAED;;;;;OAKG;IACH,gCAJW,MAAM,UACN,MAAM,QACN,MAAM,QAmChB;IAED;;;;;;;OAOG;IACH,kCAuEC;IAED;;;;;;OAMG;IACH,+BAoGC;IAED;;;;;OAKG;IACH,4BA+CC;IAED;;;;;OAKG;IACH,gBAJW,MAAM,WACN,GAAC,cACD,MAAM,QAahB;IAED;;;OAGG;IACH,iCAOC;IAED;;;;;OAKG;IACH,0BAkBC;IAED;;;;;;;;;;;;;;OAcG;IACH,kBAZW,MAAM,WACN,MAAM,GACJ,MAAM,CA0BlB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,uBAdW,MAAM,QAgBhB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAjBW,WAAS,MAAM,QAwBzB;IAED;;;;;OAKG;IACH,oCAsBC;IAED;;;;;;;OAOG;IACH,gCAsCC;IAED;;;;;;OAMG;IACH,uBAcC;IAED;;;;;OAKG;IACH,cAJW,MAAM,cACN,gBAAc,4BAcxB;IAED;;;OAGG;IACH,yBAEC;IAED;;;OAGG;IACH,kCAEC;IAED;;;;;OAKG;IACH,qBAuDC;IAED;;;;;;OAMG;IACH,2BAcC;IAED;;;OAGG;IACH,cAFa,MAAM,CAiBlB;IAED;;;OAGG;IACH,uBAFa,MAAM,CAclB;IAED;;OAEG;IACH,mBAEC;IAED;;OAEG;IACH,8BAEC;IAED;;;OAGG;IACH,mBAWC;IAED;;;;OAIG;IACH,sBAHW,MAAM,SAkBhB;IAED;;;;;OAKG;IACH,kBAJW,MAAM,QACN,MAAM,GACJ,MAAM,CAiClB;IAED;;;OAGG;IACH,gBAFa,MAAM,CAoClB;IAED,wDAyJC;IAED,+HAGC;IAGD,iDAEC;IAED,kDAEC;IAED,iDAEC;IAED,mDAEC;IAED,oDAEC;IAED,qDAEC;IAED,kDAEC;CACF"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../src/api/router.js"],"names":[],"mappings":"AAwkDA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,+DAvBW,MAAM,GACJ,MAAM,CA+BlB"}
@@ -3,7 +3,7 @@
3
3
  * Pure object-oriented approach to backend API routing
4
4
  *
5
5
  * @fileoverview Transforms nested JavaScript objects into API routes with
6
- * middleware, validation, and error handling support.
6
+ * middleware, validation, and _error handling support.
7
7
  *
8
8
  * @author Coherent.js Team
9
9
  * @version 1.0.0
@@ -54,7 +54,7 @@ function parseBody(req, maxSize = 1024 * 1024) {
54
54
  reject(new Error('Invalid JSON body'));
55
55
  }
56
56
  });
57
- req.on('error', reject);
57
+ req.on('_error', reject);
58
58
  });
59
59
  }
60
60
  /**
@@ -262,7 +262,7 @@ function registerRoute(method, config, router, path) {
262
262
  console.warn(`No handler for ${method} ${routePath}`);
263
263
  return;
264
264
  }
265
- // Apply error handling
265
+ // Apply _error handling
266
266
  if (errorHandling) {
267
267
  chain.forEach((fn, i) => {
268
268
  chain[i] = withErrorHandling(fn);
@@ -288,10 +288,10 @@ function registerRoute(method, config, router, path) {
288
288
  res.end();
289
289
  }
290
290
  }
291
- catch (error) {
292
- const statusCode = error.statusCode || 500;
291
+ catch (_error) {
292
+ const statusCode = _error.statusCode || 500;
293
293
  res.writeHead(statusCode, { 'Content-Type': 'application/json' });
294
- res.end(JSON.stringify({ error: error.message }));
294
+ res.end(JSON.stringify({ _error: _error.message }));
295
295
  }
296
296
  }, { name });
297
297
  }
@@ -438,7 +438,7 @@ class SimpleRouter {
438
438
  if (!handler) {
439
439
  res.writeHead(406, { 'Content-Type': 'application/json' });
440
440
  res.end(JSON.stringify({
441
- error: 'Not Acceptable',
441
+ _error: 'Not Acceptable',
442
442
  supportedTypes: Object.keys(handlers)
443
443
  }));
444
444
  return;
@@ -642,8 +642,8 @@ class SimpleRouter {
642
642
  try {
643
643
  ws.onclose();
644
644
  }
645
- catch (error) {
646
- console.error('WebSocket onclose handler error:', error);
645
+ catch (_error) {
646
+ console._error('WebSocket onclose handler _error:', _error);
647
647
  }
648
648
  }
649
649
  this.wsConnections.delete(connectionId);
@@ -656,7 +656,7 @@ class SimpleRouter {
656
656
  matchedRoute.route.handler(ws, request);
657
657
  }
658
658
  catch (err) {
659
- console.error('WebSocket upgrade error:', err);
659
+ console._error('WebSocket upgrade _error:', err);
660
660
  socket.end('HTTP/1.1 500 Internal Server Error\r\n\r\n');
661
661
  }
662
662
  }
@@ -752,9 +752,9 @@ class SimpleRouter {
752
752
  }
753
753
  });
754
754
  // Handle socket errors
755
- socket.on('error', (err) => {
756
- console.log('WebSocket socket error (connection likely closed):', err.code);
757
- // Don't re-throw the error, just log it
755
+ socket.on('_error', (err) => {
756
+ console.log('WebSocket socket _error (connection likely closed):', err.code);
757
+ // Don't re-throw the _error, just log it
758
758
  });
759
759
  return ws;
760
760
  }
@@ -1315,7 +1315,7 @@ class SimpleRouter {
1315
1315
  const clientIP = req.headers['x-forwarded-for'] || req.connection.remoteAddress || 'unknown';
1316
1316
  if (!checkRateLimit(clientIP, rateLimit.windowMs, rateLimit.maxRequests)) {
1317
1317
  res.writeHead(429, { 'Content-Type': 'application/json' });
1318
- res.end(JSON.stringify({ error: 'Too Many Requests' }));
1318
+ res.end(JSON.stringify({ _error: 'Too Many Requests' }));
1319
1319
  return;
1320
1320
  }
1321
1321
  // Parse URL and query parameters
@@ -1326,12 +1326,12 @@ class SimpleRouter {
1326
1326
  try {
1327
1327
  req.body = await parseBody(req, options.maxBodySize);
1328
1328
  }
1329
- catch (error) {
1329
+ catch (_error) {
1330
1330
  if (this.enableMetrics)
1331
1331
  this.metrics.errors++;
1332
- const statusCode = error.message.includes('too large') ? 413 : 400;
1332
+ const statusCode = _error.message.includes('too large') ? 413 : 400;
1333
1333
  res.writeHead(statusCode, { 'Content-Type': 'application/json' });
1334
- res.end(JSON.stringify({ error: error.message }));
1334
+ res.end(JSON.stringify({ _error: _error.message }));
1335
1335
  return;
1336
1336
  }
1337
1337
  // Check route cache first
@@ -1414,12 +1414,12 @@ class SimpleRouter {
1414
1414
  }
1415
1415
  return;
1416
1416
  }
1417
- catch (error) {
1417
+ catch (_error) {
1418
1418
  if (this.enableMetrics)
1419
1419
  this.metrics.errors++;
1420
1420
  if (!res.headersSent) {
1421
1421
  res.writeHead(500, { 'Content-Type': 'application/json' });
1422
- res.end(JSON.stringify({ error: error.message }));
1422
+ res.end(JSON.stringify({ _error: _error.message }));
1423
1423
  }
1424
1424
  return;
1425
1425
  }
@@ -1429,35 +1429,13 @@ class SimpleRouter {
1429
1429
  this.metrics.errors++;
1430
1430
  if (!res.headersSent) {
1431
1431
  res.writeHead(404, { 'Content-Type': 'application/json' });
1432
- res.end(JSON.stringify({ error: 'Not Found' }));
1432
+ res.end(JSON.stringify({ _error: 'Not Found' }));
1433
1433
  }
1434
1434
  }
1435
1435
  createServer(options = {}) {
1436
1436
  const mergedOptions = { ...this.defaultOptions, ...options };
1437
1437
  return createServer((req, res) => this.handle(req, res, mergedOptions));
1438
1438
  }
1439
- // HTTP convenience methods
1440
- get(path, handler, options = {}) {
1441
- return this.addRoute('GET', path, handler, options);
1442
- }
1443
- post(path, handler, options = {}) {
1444
- return this.addRoute('POST', path, handler, options);
1445
- }
1446
- put(path, handler, options = {}) {
1447
- return this.addRoute('PUT', path, handler, options);
1448
- }
1449
- patch(path, handler, options = {}) {
1450
- return this.addRoute('PATCH', path, handler, options);
1451
- }
1452
- delete(path, handler, options = {}) {
1453
- return this.addRoute('DELETE', path, handler, options);
1454
- }
1455
- options(path, handler, options = {}) {
1456
- return this.addRoute('OPTIONS', path, handler, options);
1457
- }
1458
- head(path, handler, options = {}) {
1459
- return this.addRoute('HEAD', path, handler, options);
1460
- }
1461
1439
  }
1462
1440
  /**
1463
1441
  * Creates an object-based router from nested route definitions
@@ -1486,15 +1464,6 @@ class SimpleRouter {
1486
1464
  * const server = router.createServer();
1487
1465
  * server.listen(3000);
1488
1466
  */
1489
- /**
1490
- * Factory function to create a SimpleRouter instance
1491
- *
1492
- * @param {Object} options - Router options
1493
- * @returns {SimpleRouter} Router instance
1494
- */
1495
- export function createSimpleRouter(options = {}) {
1496
- return new SimpleRouter(options);
1497
- }
1498
1467
  export function createObjectRouter(routeConfig, options = {}) {
1499
1468
  const router = new SimpleRouter(options);
1500
1469
  router.defaultOptions = options; // Store default options
@@ -1503,6 +1472,5 @@ export function createObjectRouter(routeConfig, options = {}) {
1503
1472
  }
1504
1473
  return router;
1505
1474
  }
1506
- export { SimpleRouter };
1507
1475
  export default createObjectRouter;
1508
1476
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/api/router.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/api/router.js"],"names":[],"mappings":"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"}
@@ -129,7 +129,7 @@ export function withAuth(options = {}) {
129
129
  const user = verifyToken(authHeader, secret);
130
130
  if (required && !user) {
131
131
  res.writeHead(401, { 'Content-Type': 'application/json' });
132
- res.end(JSON.stringify({ error: 'Unauthorized' }));
132
+ res.end(JSON.stringify({ _error: 'Unauthorized' }));
133
133
  return;
134
134
  }
135
135
  req.user = user;
@@ -146,12 +146,12 @@ export function withRole(roles) {
146
146
  return (req, res) => {
147
147
  if (!req.user) {
148
148
  res.writeHead(401, { 'Content-Type': 'application/json' });
149
- res.end(JSON.stringify({ error: 'Unauthorized' }));
149
+ res.end(JSON.stringify({ _error: 'Unauthorized' }));
150
150
  return;
151
151
  }
152
152
  if (!requiredRoles.includes(req.user.role)) {
153
153
  res.writeHead(403, { 'Content-Type': 'application/json' });
154
- res.end(JSON.stringify({ error: 'Forbidden' }));
154
+ res.end(JSON.stringify({ _error: 'Forbidden' }));
155
155
  return;
156
156
  }
157
157
  return null; // Continue to next middleware
@@ -220,7 +220,7 @@ export function withInputValidation(rules) {
220
220
  }
221
221
  if (errors.length > 0) {
222
222
  res.writeHead(400, { 'Content-Type': 'application/json' });
223
- res.end(JSON.stringify({ error: 'Validation failed', details: errors }));
223
+ res.end(JSON.stringify({ _error: 'Validation failed', details: errors }));
224
224
  return;
225
225
  }
226
226
  return null; // Continue to next middleware
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coherent.js/api",
3
- "version": "1.0.0-beta.2",
3
+ "version": "1.0.0-beta.3",
4
4
  "description": "API framework for Coherent.js (REST/RPC/GraphQL).",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -27,7 +27,7 @@
27
27
  "url": "git+https://github.com/Tomdrouv1/coherent.js.git"
28
28
  },
29
29
  "peerDependencies": {
30
- "@coherent.js/core": "1.0.0-beta.2"
30
+ "@coherent.js/core": "1.0.0-beta.3"
31
31
  },
32
32
  "publishConfig": {
33
33
  "access": "public",