@modern-js/utils 2.22.1-alpha.1 → 2.22.1-alpha.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/runtime-node/index.js +2 -0
- package/dist/cjs/runtime-node/nestedRoutes.js +28 -0
- package/dist/esm/runtime-node/index.js +1 -0
- package/dist/esm/runtime-node/nestedRoutes.js +18 -0
- package/dist/types/runtime-node/index.d.ts +2 -1
- package/dist/types/runtime-node/nestedRoutes.d.ts +3 -0
- package/package.json +1 -1
- package/dist/cjs/runtime-node/walk.js +0 -1
- package/dist/esm/runtime-node/walk.js +0 -0
- package/dist/types/runtime-node/walk.d.ts +0 -0
@@ -20,6 +20,8 @@ _export(exports, {
|
|
20
20
|
return _serialize.serializeJson;
|
21
21
|
}
|
22
22
|
});
|
23
|
+
const _export_star = require("@swc/helpers/_/_export_star");
|
23
24
|
const _storage = require("./storage");
|
24
25
|
const _serialize = require("./serialize");
|
26
|
+
_export_star._(require("./nestedRoutes"), exports);
|
25
27
|
const { run, useContext: useHeaders } = (0, _storage.createStorage)();
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "matchEntry", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return matchEntry;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
function sortByUrlPath(entries) {
|
12
|
+
entries.sort(function(a, b) {
|
13
|
+
const length1 = a.urlPath.length;
|
14
|
+
const length2 = b.urlPath.length;
|
15
|
+
if (length1 < length2) {
|
16
|
+
return 1;
|
17
|
+
}
|
18
|
+
if (length1 > length2) {
|
19
|
+
return -1;
|
20
|
+
}
|
21
|
+
return 0;
|
22
|
+
});
|
23
|
+
return entries;
|
24
|
+
}
|
25
|
+
const matchEntry = (pathname, entries) => {
|
26
|
+
sortByUrlPath(entries);
|
27
|
+
return entries.find((entry) => pathname.startsWith(entry.urlPath));
|
28
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
function sortByUrlPath(entries) {
|
2
|
+
entries.sort(function(a, b) {
|
3
|
+
const length1 = a.urlPath.length;
|
4
|
+
const length2 = b.urlPath.length;
|
5
|
+
if (length1 < length2) {
|
6
|
+
return 1;
|
7
|
+
}
|
8
|
+
if (length1 > length2) {
|
9
|
+
return -1;
|
10
|
+
}
|
11
|
+
return 0;
|
12
|
+
});
|
13
|
+
return entries;
|
14
|
+
}
|
15
|
+
export const matchEntry = (pathname, entries) => {
|
16
|
+
sortByUrlPath(entries);
|
17
|
+
return entries.find((entry) => pathname.startsWith(entry.urlPath));
|
18
|
+
};
|
@@ -5,4 +5,5 @@
|
|
5
5
|
import type { IncomingHttpHeaders } from 'http';
|
6
6
|
declare const run: <O>(context: IncomingHttpHeaders, cb: () => O | Promise<O>) => Promise<O>, useHeaders: () => IncomingHttpHeaders;
|
7
7
|
export { run, useHeaders };
|
8
|
-
export { serializeJson } from './serialize';
|
8
|
+
export { serializeJson } from './serialize';
|
9
|
+
export * from './nestedRoutes';
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import type { ModernServerContext, ServerRoute } from '@modern-js/types';
|
2
|
+
export type ServerContext = Pick<ModernServerContext, 'logger' | 'req' | 'res' | 'params' | 'headers' | 'method' | 'url' | 'host' | 'protocol' | 'origin' | 'href' | 'path' | 'query'>;
|
3
|
+
export declare const matchEntry: (pathname: string, entries: ServerRoute[]) => ServerRoute | undefined;
|
package/package.json
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";
|
File without changes
|
File without changes
|