dolphin-server-modules 1.2.0 → 1.3.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/DOLPHIN_MASTER_GUIDE_NEPALI.md +27 -0
- package/README.md +10 -7
- package/dist/router/router.d.ts +15 -2
- package/dist/router/router.js +27 -4
- package/dist/router/router.js.map +1 -1
- package/dist/server/server.d.ts +9 -7
- package/dist/server/server.js +8 -1
- package/dist/server/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -562,6 +562,33 @@ const rt = new RealtimeCore({
|
|
|
562
562
|
|
|
563
563
|
---
|
|
564
564
|
|
|
565
|
+
## १५. इन्डिपेन्डेन्ट राउटिङ मास्टरक्लास (Independent Routing) [NEW]
|
|
566
|
+
|
|
567
|
+
तपाईँको प्रोजेक्ट ठूलो हुँदै जाँदा एउटै फाइलमा सबै राउट्हरू राख्नु झन्झटिलो हुन्छ। त्यसैले Dolphin ले एक्सप्रेस जस्तै `Router` सपोर्ट गर्छ।
|
|
568
|
+
|
|
569
|
+
### १५.१ किन प्रयोग गर्ने?
|
|
570
|
+
- **Modular Code**: राउट्हरूलाई काम अनुसार (जस्तै: Users, Products, Auth) अलग फाइलमा राख्न।
|
|
571
|
+
- **Prefixing**: एउटा पूरा राउट सेटलाई एउटा 'Prefix' (जस्तै: `/api/v1`) भित्र राख्न।
|
|
572
|
+
- **Clean index.ts**: मुख्य फाइललाई सफा र छोटो राख्न।
|
|
573
|
+
|
|
574
|
+
### १५.२ कोड उदाहरण
|
|
575
|
+
```typescript
|
|
576
|
+
// userRouters.ts
|
|
577
|
+
import { createDolphinRouter } from 'dolphin-server-modules/router';
|
|
578
|
+
export const userRouter = createDolphinRouter();
|
|
579
|
+
|
|
580
|
+
userRouter.get('/profile', (ctx) => ctx.json({ name: "Ram" }));
|
|
581
|
+
|
|
582
|
+
// main.ts
|
|
583
|
+
import { createDolphinServer } from 'dolphin-server-modules/server';
|
|
584
|
+
import { userRouter } from './userRouters';
|
|
585
|
+
|
|
586
|
+
const app = createDolphinServer();
|
|
587
|
+
app.use('/users', userRouter); // अब यो /users/profile मा चल्छ
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
---
|
|
591
|
+
|
|
565
592
|
## निष्कर्ष (Conclusion)
|
|
566
593
|
|
|
567
594
|
बधाई छ! तपाईँले Dolphin Framework को **Master Guide** को अन्त्य सम्म पढ्नुभयो। अब तपाईँ कुनै पनि जटिल ब्याकइन्ड सिस्टम Dolphin प्रयोग गरेर बनाउन पूर्ण सक्षम हुनुहुन्छ।
|
package/README.md
CHANGED
|
@@ -115,19 +115,22 @@ Seamlessly switch between databases with the Adapter pattern.
|
|
|
115
115
|
### ✅ 5. Zod-Powered Validation (`/middleware/zod`)
|
|
116
116
|
Validate payloads and params with 100% type inference.
|
|
117
117
|
|
|
118
|
-
### 🌐 6. Realtime & IoT Core (`/realtime`)
|
|
118
|
+
### 🌐 6. Realtime & IoT Core (`/realtime`)
|
|
119
119
|
High-performance pub/sub with MQTT-style matching.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
-
|
|
120
|
+
|
|
121
|
+
### 🛣️ 7. Independent Routing (`/router`) [NEW]
|
|
122
|
+
Express-style standalone routers for clean organization.
|
|
123
|
+
- `app.use('/prefix', subRouter)`: Mount sub-modules with ease.
|
|
124
|
+
- **Nested Routing**: Unlimited nesting with prefix inheritance.
|
|
125
|
+
- **Unified Matcher**: Optimized matching for both static and dynamic routes.
|
|
123
126
|
|
|
124
127
|
---
|
|
125
128
|
|
|
126
129
|
## 🗺️ Roadmap & Future Vision
|
|
127
130
|
1. **`defineModel` Engine**: Define a schema once, auto-generate CRUD, validation, and types.
|
|
128
|
-
2. **Plugin System**: A robust "hook" based system
|
|
129
|
-
3. **
|
|
130
|
-
4. **
|
|
131
|
+
2. **Plugin System**: A robust "hook" based system. [DONE]
|
|
132
|
+
3. **Independent Routing**: Standalone sub-routers for large apps. [DONE]
|
|
133
|
+
4. **CLI Presets**: `npx dolphin init` for instant project scaffolding.
|
|
131
134
|
|
|
132
135
|
---
|
|
133
136
|
|
package/dist/router/router.d.ts
CHANGED
|
@@ -1,13 +1,26 @@
|
|
|
1
|
-
type Handler = (ctx: any) => Promise<void> | void;
|
|
1
|
+
export type Handler = (ctx: any) => Promise<void> | void;
|
|
2
|
+
export interface Route {
|
|
3
|
+
method: string;
|
|
4
|
+
path: string;
|
|
5
|
+
handler: Handler;
|
|
6
|
+
regex: RegExp;
|
|
7
|
+
keys: string[];
|
|
8
|
+
}
|
|
2
9
|
export declare function createDolphinRouter(): {
|
|
3
10
|
get: (path: string, handler: Handler) => void;
|
|
4
11
|
post: (path: string, handler: Handler) => void;
|
|
5
12
|
put: (path: string, handler: Handler) => void;
|
|
6
13
|
delete: (path: string, handler: Handler) => void;
|
|
7
14
|
patch: (path: string, handler: Handler) => void;
|
|
15
|
+
all: (path: string, handler: Handler) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Mount a sub-router or middleware.
|
|
18
|
+
* app.use('/auth', authRouter)
|
|
19
|
+
*/
|
|
20
|
+
use: (prefix: string, subRouter: any) => void;
|
|
21
|
+
_routes: Route[];
|
|
8
22
|
match(method: string, url: string): {
|
|
9
23
|
handler: Handler;
|
|
10
24
|
params: Record<string, string>;
|
|
11
25
|
} | null;
|
|
12
26
|
};
|
|
13
|
-
export {};
|
package/dist/router/router.js
CHANGED
|
@@ -4,9 +4,10 @@ exports.createDolphinRouter = createDolphinRouter;
|
|
|
4
4
|
function createDolphinRouter() {
|
|
5
5
|
const routes = [];
|
|
6
6
|
const addRoute = (method, path, handler) => {
|
|
7
|
-
//
|
|
7
|
+
// Normalize path to remove trailing slashes unless it's just /
|
|
8
|
+
const normalizedPath = path === '/' ? '/' : path.replace(/\/$/, '');
|
|
8
9
|
const keys = [];
|
|
9
|
-
const pattern =
|
|
10
|
+
const pattern = normalizedPath
|
|
10
11
|
.replace(/:([^\/]+)/g, (_, key) => {
|
|
11
12
|
keys.push(key);
|
|
12
13
|
return '([^\\/]+)';
|
|
@@ -14,18 +15,39 @@ function createDolphinRouter() {
|
|
|
14
15
|
.replace(/\//g, '\\/');
|
|
15
16
|
routes.push({
|
|
16
17
|
method: method.toUpperCase(),
|
|
17
|
-
path,
|
|
18
|
+
path: normalizedPath,
|
|
18
19
|
handler,
|
|
19
20
|
regex: new RegExp(`^${pattern}$`),
|
|
20
21
|
keys
|
|
21
22
|
});
|
|
22
23
|
};
|
|
23
|
-
|
|
24
|
+
const router = {
|
|
24
25
|
get: (path, handler) => addRoute('GET', path, handler),
|
|
25
26
|
post: (path, handler) => addRoute('POST', path, handler),
|
|
26
27
|
put: (path, handler) => addRoute('PUT', path, handler),
|
|
27
28
|
delete: (path, handler) => addRoute('DELETE', path, handler),
|
|
28
29
|
patch: (path, handler) => addRoute('PATCH', path, handler),
|
|
30
|
+
all: (path, handler) => addRoute('ALL', path, handler),
|
|
31
|
+
/**
|
|
32
|
+
* Mount a sub-router or middleware.
|
|
33
|
+
* app.use('/auth', authRouter)
|
|
34
|
+
*/
|
|
35
|
+
use: (prefix, subRouter) => {
|
|
36
|
+
if (typeof prefix !== 'string') {
|
|
37
|
+
// Fallback for global middleware handling if needed
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const normalizedPrefix = prefix === '/' ? '' : prefix.replace(/\/$/, '');
|
|
41
|
+
// If subRouter is another Dolphin router, merge its routes
|
|
42
|
+
if (subRouter && typeof subRouter.match === 'function' && subRouter._routes) {
|
|
43
|
+
for (const sr of subRouter._routes) {
|
|
44
|
+
const fullPath = normalizedPrefix + (sr.path === '/' ? '' : sr.path);
|
|
45
|
+
addRoute(sr.method, fullPath || '/', sr.handler);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
// Internal getter for route merging
|
|
50
|
+
_routes: routes,
|
|
29
51
|
match(method, url) {
|
|
30
52
|
const path = url.split('?')[0];
|
|
31
53
|
const m = method.toUpperCase();
|
|
@@ -44,5 +66,6 @@ function createDolphinRouter() {
|
|
|
44
66
|
return null;
|
|
45
67
|
}
|
|
46
68
|
};
|
|
69
|
+
return router;
|
|
47
70
|
}
|
|
48
71
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../router/router.ts"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../router/router.ts"],"names":[],"mappings":"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"}
|
package/dist/server/server.d.ts
CHANGED
|
@@ -3,16 +3,18 @@ export declare function createDolphinServer(options?: {
|
|
|
3
3
|
port?: number;
|
|
4
4
|
host?: string;
|
|
5
5
|
}): {
|
|
6
|
-
use: (
|
|
6
|
+
use: (prefixOrMw: string | any, mw?: any) => void;
|
|
7
7
|
listen: (port?: number, callback?: () => void) => void;
|
|
8
8
|
close: () => http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
|
|
9
|
-
get: (path: string, handler: (
|
|
10
|
-
post: (path: string, handler: (
|
|
11
|
-
put: (path: string, handler: (
|
|
12
|
-
delete: (path: string, handler: (
|
|
13
|
-
patch: (path: string, handler: (
|
|
9
|
+
get: (path: string, handler: import("../router/router").Handler) => void;
|
|
10
|
+
post: (path: string, handler: import("../router/router").Handler) => void;
|
|
11
|
+
put: (path: string, handler: import("../router/router").Handler) => void;
|
|
12
|
+
delete: (path: string, handler: import("../router/router").Handler) => void;
|
|
13
|
+
patch: (path: string, handler: import("../router/router").Handler) => void;
|
|
14
|
+
all: (path: string, handler: import("../router/router").Handler) => void;
|
|
15
|
+
_routes: import("../router/router").Route[];
|
|
14
16
|
match(method: string, url: string): {
|
|
15
|
-
handler: (
|
|
17
|
+
handler: import("../router/router").Handler;
|
|
16
18
|
params: Record<string, string>;
|
|
17
19
|
} | null;
|
|
18
20
|
};
|
package/dist/server/server.js
CHANGED
|
@@ -77,7 +77,14 @@ function createDolphinServer(options = {}) {
|
|
|
77
77
|
});
|
|
78
78
|
return {
|
|
79
79
|
...router, // Mixin router methods (get, post, etc.)
|
|
80
|
-
use: (mw) =>
|
|
80
|
+
use: (prefixOrMw, mw) => {
|
|
81
|
+
if (typeof prefixOrMw === 'string' && mw && typeof mw.match === 'function') {
|
|
82
|
+
router.use(prefixOrMw, mw);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
middlewares.push(prefixOrMw);
|
|
86
|
+
}
|
|
87
|
+
},
|
|
81
88
|
listen: (port = options.port || 3000, callback) => {
|
|
82
89
|
server.listen(port, options.host || '0.0.0.0', callback);
|
|
83
90
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../server/server.ts"],"names":[],"mappings":";;;;;AAGA,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../server/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED