@sealcode/sealgen 0.8.21 → 0.8.23
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/@types/mount.d.ts +3 -1
- package/@types/sealgen-url.d.ts +0 -0
- package/lib/generate-routes.js +19 -1
- package/lib/generate-routes.js.map +1 -1
- package/lib/mount.js +5 -4
- package/lib/mount.js.map +1 -1
- package/lib/sealgen-url.js +1 -0
- package/lib/sealgen-url.js.map +1 -0
- package/package.json +1 -1
- package/src/generate-routes.ts +22 -3
- package/src/mount.ts +10 -5
package/@types/mount.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/// <reference types="koa__router" />
|
|
2
2
|
import Router from "@koa/router";
|
|
3
3
|
import { Mountable } from "./page/mountable";
|
|
4
|
-
export declare function mount(router: Router, url: string
|
|
4
|
+
export declare function mount(router: Router, url: string | {
|
|
5
|
+
rawURL: string;
|
|
6
|
+
}, mountable: Mountable): void;
|
|
File without changes
|
package/lib/generate-routes.js
CHANGED
|
@@ -41,6 +41,24 @@ async function extractActionName(full_file_path) {
|
|
|
41
41
|
}
|
|
42
42
|
return ts_predicates_1.assertType(result[1], ts_predicates_1.predicates.string, "Missing export default class?");
|
|
43
43
|
}
|
|
44
|
+
function generateURL(actionName, url) {
|
|
45
|
+
const parts = url.split("/");
|
|
46
|
+
const params = parts
|
|
47
|
+
.filter((part) => part.startsWith(":"))
|
|
48
|
+
.map((part) => part.slice(1));
|
|
49
|
+
if (params.length === 0) {
|
|
50
|
+
return `export const ${actionName}URL = "${url}";`;
|
|
51
|
+
}
|
|
52
|
+
return `export const ${actionName}URL = (${params
|
|
53
|
+
.map((s) => s + ": string")
|
|
54
|
+
.join(", ")})=>\`${parts
|
|
55
|
+
.map((part) => part.startsWith(":") ? "${" + part.slice(1) + "}" : part)
|
|
56
|
+
.join("/")}\`;
|
|
57
|
+
${actionName}URL.params = [${params
|
|
58
|
+
.map((param) => `"${param}"`)
|
|
59
|
+
.join(",")}];
|
|
60
|
+
${actionName}URL.rawURL = "${url}";`;
|
|
61
|
+
}
|
|
44
62
|
async function generateRoutes() {
|
|
45
63
|
const files = await Promise.all((await walk_1.walkDir(target_locreq.resolve("src/back/routes")))
|
|
46
64
|
.filter((f) => f.endsWith(".page.ts") ||
|
|
@@ -73,7 +91,7 @@ ${files
|
|
|
73
91
|
.join("\n")}
|
|
74
92
|
}`;
|
|
75
93
|
const urls_content = `${files
|
|
76
|
-
.map(({ actionName, url }) =>
|
|
94
|
+
.map(({ actionName, url }) => generateURL(actionName, url))
|
|
77
95
|
.join("\n")}
|
|
78
96
|
`;
|
|
79
97
|
const prettier_config = await prettier_1.getPrettierConfig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-routes.js","sourceRoot":"","sources":["../src/generate-routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAoC;AACpC,mDAAqC;AACrC,+BAAgC;AAChC,oDAA6B;AAC7B,uCAAuC;AACvC,qDAAiD;AACjD,2DAAiE;AACjE,iEAAgE;AAChE,+CAAqD;AAErD,MAAM,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7C,KAAK,UAAU,iBAAiB,CAAC,cAAsB;IACtD,MAAM,YAAY,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,mCAAmC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtE,IAAI,MAAM,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAChE;IACD,OAAO,0BAAU,CAChB,MAAM,CAAC,CAAC,CAAC,EACT,0BAAU,CAAC,MAAM,EACjB,+BAA+B,CAC/B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,cAAc;IACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,CACC,MAAM,cAAO,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CACvD;SACC,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACtB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACtB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC3B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACtB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC1B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CACvB;SACA,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzB,QAAQ;QACR,UAAU,EAAE,MAAM,iBAAiB,CAAC,QAAQ,CAAC;QAC7C,GAAG,EAAE,uCAAmB,CACvB,GAAG;YACF,eAAQ,CACP,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,EACxC,QAAQ,CACR,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACrB,GAAG,CAAC,wSAAwS;SAC7S;KACD,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG;;;;;;EAMtB,KAAK;SACL,GAAG,CACH,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC5B,uBAAuB,UAAU,YAAY,wBAAU,CACtD,aAAa,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAClD,QAAQ,CACR,IAAI,CACN;SACA,IAAI,CAAC,IAAI,CAAC;;;EAGV,KAAK;SACL,GAAG,CACH,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAClB,uBAAuB,UAAU,QAAQ,UAAU,IAAI,CACxD;SACA,IAAI,CAAC,IAAI,CAAC;EACV,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,KAAK;SAC3B,GAAG,
|
|
1
|
+
{"version":3,"file":"generate-routes.js","sourceRoot":"","sources":["../src/generate-routes.ts"],"names":[],"mappings":"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"}
|
package/lib/mount.js
CHANGED
|
@@ -11,10 +11,11 @@ async function handleHtmlPromise(ctx, next) {
|
|
|
11
11
|
ctx.set("content-type", "text/html;charset=utf-8");
|
|
12
12
|
}
|
|
13
13
|
function mount(router, url, mountable) {
|
|
14
|
-
|
|
14
|
+
const raw_url = typeof url === "string" ? url : url.rawURL;
|
|
15
|
+
router.use(raw_url, sealious_1.Middlewares.extractContext(), sealious_1.Middlewares.parseBody(), handleHtmlPromise);
|
|
15
16
|
mountable.init();
|
|
16
17
|
// to automatically add trailing slashes:
|
|
17
|
-
router.get(
|
|
18
|
+
router.get(raw_url.slice(0, -1), async (ctx, next) => {
|
|
18
19
|
const url2 = ctx.URL;
|
|
19
20
|
if (!url2.pathname.endsWith("/")) {
|
|
20
21
|
url2.pathname += "/";
|
|
@@ -22,7 +23,7 @@ function mount(router, url, mountable) {
|
|
|
22
23
|
}
|
|
23
24
|
await next();
|
|
24
25
|
});
|
|
25
|
-
router.use(
|
|
26
|
+
router.use(raw_url, async (ctx, next) => {
|
|
26
27
|
ctx.set("content-type", "text/html;charset=utf-8");
|
|
27
28
|
const access_result = await mountable.canAccess(ctx);
|
|
28
29
|
if (!access_result.canAccess) {
|
|
@@ -32,7 +33,7 @@ function mount(router, url, mountable) {
|
|
|
32
33
|
}
|
|
33
34
|
await next();
|
|
34
35
|
});
|
|
35
|
-
mountable.mount(router,
|
|
36
|
+
mountable.mount(router, raw_url);
|
|
36
37
|
}
|
|
37
38
|
exports.mount = mount;
|
|
38
39
|
//# sourceMappingURL=mount.js.map
|
package/lib/mount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":";;;AAEA,uCAAuC;AAGvC,KAAK,UAAU,iBAAiB,CAAC,GAAY,EAAE,IAAc;IAC5D,MAAM,IAAI,EAAE,CAAC;IACb,IAAI,GAAG,CAAC,IAAI,YAAY,OAAO,EAAE;QAChC,mEAAmE;QACnE,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC;KAC1B;IACD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,KAAK,
|
|
1
|
+
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":";;;AAEA,uCAAuC;AAGvC,KAAK,UAAU,iBAAiB,CAAC,GAAY,EAAE,IAAc;IAC5D,MAAM,IAAI,EAAE,CAAC;IACb,IAAI,GAAG,CAAC,IAAI,YAAY,OAAO,EAAE;QAChC,mEAAmE;QACnE,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC;KAC1B;IACD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,KAAK,CACpB,MAAc,EACd,GAAgC,EAChC,SAAoB;IAEpB,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IAC3D,MAAM,CAAC,GAAG,CACT,OAAO,EACP,sBAAW,CAAC,cAAc,EAAE,EAC5B,sBAAW,CAAC,SAAS,EAAE,EACvB,iBAAiB,CACjB,CAAC;IACF,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjB,yCAAyC;IACzC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;YACrB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC9B;QACD,MAAM,IAAI,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACvC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;YAC7B,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,IAAI,WAAW,CAAC;YAChD,OAAO;SACP;QACD,MAAM,IAAI,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AApCD,sBAoCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=sealgen-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sealgen-url.js","sourceRoot":"","sources":["../src/sealgen-url.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
package/src/generate-routes.ts
CHANGED
|
@@ -23,6 +23,27 @@ async function extractActionName(full_file_path: string): Promise<string> {
|
|
|
23
23
|
);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
function generateURL(actionName: string, url: string) {
|
|
27
|
+
const parts = url.split("/");
|
|
28
|
+
const params = parts
|
|
29
|
+
.filter((part) => part.startsWith(":"))
|
|
30
|
+
.map((part) => part.slice(1));
|
|
31
|
+
if (params.length === 0) {
|
|
32
|
+
return `export const ${actionName}URL = "${url}";`;
|
|
33
|
+
}
|
|
34
|
+
return `export const ${actionName}URL = (${params
|
|
35
|
+
.map((s) => s + ": string")
|
|
36
|
+
.join(", ")})=>\`${parts
|
|
37
|
+
.map((part) =>
|
|
38
|
+
part.startsWith(":") ? "${" + part.slice(1) + "}" : part
|
|
39
|
+
)
|
|
40
|
+
.join("/")}\`;
|
|
41
|
+
${actionName}URL.params = [${params
|
|
42
|
+
.map((param) => `"${param}"`)
|
|
43
|
+
.join(",")}];
|
|
44
|
+
${actionName}URL.rawURL = "${url}";`;
|
|
45
|
+
}
|
|
46
|
+
|
|
26
47
|
export async function generateRoutes(): Promise<void> {
|
|
27
48
|
const files = await Promise.all(
|
|
28
49
|
(
|
|
@@ -77,9 +98,7 @@ ${files
|
|
|
77
98
|
}`;
|
|
78
99
|
|
|
79
100
|
const urls_content = `${files
|
|
80
|
-
.map(
|
|
81
|
-
({ actionName, url }) => `export const ${actionName}URL = "${url}";`
|
|
82
|
-
)
|
|
101
|
+
.map(({ actionName, url }) => generateURL(actionName, url))
|
|
83
102
|
.join("\n")}
|
|
84
103
|
`;
|
|
85
104
|
|
package/src/mount.ts
CHANGED
|
@@ -12,9 +12,14 @@ async function handleHtmlPromise(ctx: Context, next: Koa.Next) {
|
|
|
12
12
|
ctx.set("content-type", "text/html;charset=utf-8");
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export function mount(
|
|
15
|
+
export function mount(
|
|
16
|
+
router: Router,
|
|
17
|
+
url: string | { rawURL: string },
|
|
18
|
+
mountable: Mountable
|
|
19
|
+
): void {
|
|
20
|
+
const raw_url = typeof url === "string" ? url : url.rawURL;
|
|
16
21
|
router.use(
|
|
17
|
-
|
|
22
|
+
raw_url,
|
|
18
23
|
Middlewares.extractContext(),
|
|
19
24
|
Middlewares.parseBody(),
|
|
20
25
|
handleHtmlPromise
|
|
@@ -22,7 +27,7 @@ export function mount(router: Router, url: string, mountable: Mountable): void {
|
|
|
22
27
|
mountable.init();
|
|
23
28
|
|
|
24
29
|
// to automatically add trailing slashes:
|
|
25
|
-
router.get(
|
|
30
|
+
router.get(raw_url.slice(0, -1), async (ctx, next) => {
|
|
26
31
|
const url2 = ctx.URL;
|
|
27
32
|
if (!url2.pathname.endsWith("/")) {
|
|
28
33
|
url2.pathname += "/";
|
|
@@ -31,7 +36,7 @@ export function mount(router: Router, url: string, mountable: Mountable): void {
|
|
|
31
36
|
await next();
|
|
32
37
|
});
|
|
33
38
|
|
|
34
|
-
router.use(
|
|
39
|
+
router.use(raw_url, async (ctx, next) => {
|
|
35
40
|
ctx.set("content-type", "text/html;charset=utf-8");
|
|
36
41
|
const access_result = await mountable.canAccess(ctx);
|
|
37
42
|
if (!access_result.canAccess) {
|
|
@@ -42,5 +47,5 @@ export function mount(router: Router, url: string, mountable: Mountable): void {
|
|
|
42
47
|
await next();
|
|
43
48
|
});
|
|
44
49
|
|
|
45
|
-
mountable.mount(router,
|
|
50
|
+
mountable.mount(router, raw_url);
|
|
46
51
|
}
|