@bepalo/router 1.8.25 → 1.8.27
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/dist/cjs/framework.d.ts.map +1 -1
- package/dist/cjs/framework.deno.d.ts +31 -0
- package/dist/cjs/framework.deno.d.ts.map +1 -0
- package/dist/cjs/framework.deno.js +245 -0
- package/dist/cjs/framework.deno.js.map +1 -0
- package/dist/cjs/framework.js +16 -48
- package/dist/cjs/framework.js.map +1 -1
- package/dist/framework.d.ts.map +1 -1
- package/dist/framework.deno.d.ts +31 -0
- package/dist/framework.deno.d.ts.map +1 -0
- package/dist/framework.deno.js +245 -0
- package/dist/framework.deno.js.map +1 -0
- package/dist/framework.js +16 -48
- package/dist/framework.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/framework.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAEb,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EAEV,QAAQ,EACR,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,MAAM,SAAuB,CAAC;AAC3C,eAAO,MAAM,SAAS,KAAyC,CAAC;AAShE,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,MAAM,cAAc,CACxB,cAAc,GAAG,EAAE,EACnB,cAAc,SAAS,OAAO,CAC5B,MAAM,CAAC,UAAU,GAAG,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACzD,GAAG,EAAE,IACJ;KACD,CAAC,IAAI,UAAU,GAAG,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;SACvC,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAEvC,OAAO,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GACtD,QAAQ,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAEvD,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAC3C,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;KACrD;CACF,CAAC;AAEF,MAAM,WAAW,qBAAqB,CACpC,OAAO,SAAS,aAAa,GAAG,aAAa,CAC7C,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACrC;AAED,qBAAa,eAAe,CAC1B,UAAU,GAAG,EAAE,EACf,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CACrE,SAAQ,MAAM,CAAC,OAAO,CAAC;;IAQvB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;gBAEW,MAAM,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC;IAU7C,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/framework.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAEb,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EAEV,QAAQ,EACR,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,MAAM,SAAuB,CAAC;AAC3C,eAAO,MAAM,SAAS,KAAyC,CAAC;AAShE,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,MAAM,cAAc,CACxB,cAAc,GAAG,EAAE,EACnB,cAAc,SAAS,OAAO,CAC5B,MAAM,CAAC,UAAU,GAAG,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACzD,GAAG,EAAE,IACJ;KACD,CAAC,IAAI,UAAU,GAAG,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;SACvC,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAEvC,OAAO,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GACtD,QAAQ,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAEvD,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAC3C,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;KACrD;CACF,CAAC;AAEF,MAAM,WAAW,qBAAqB,CACpC,OAAO,SAAS,aAAa,GAAG,aAAa,CAC7C,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACrC;AAED,qBAAa,eAAe,CAC1B,UAAU,GAAG,EAAE,EACf,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CACrE,SAAQ,MAAM,CAAC,OAAO,CAAC;;IAQvB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;gBAEW,MAAM,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC;IAU7C,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;CA8EhD;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAuB,IAAI,CACzB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,cAAc,CAAC,WAAW,CAAC,CAmB7B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import Router, { RouterConfig, RouterContext } from "./router";
|
|
2
|
+
import type { Handler, HttpMethod, Pipeline, CTXError } from "./types";
|
|
3
|
+
export type UCHandlerType = "FILTER" | "HOOK" | "HANDLER" | "FALLBACK" | "CATCHER" | "AFTER";
|
|
4
|
+
export type RouterHandlers<CommonXContext = {}, MethodContexts extends Partial<Record<HttpMethod | "ALL" | "CRUD", Record<string, any>>> = {}> = {
|
|
5
|
+
[K in HttpMethod | "ALL" | "CRUD" as K]?: {
|
|
6
|
+
[H in UCHandlerType as H]?: H extends "CATCHER" ? Handler<CommonXContext & CTXError & MethodContexts[K]> | Pipeline<CommonXContext & CTXError & MethodContexts[K]> : Handler<CommonXContext & MethodContexts[K]> | Pipeline<CommonXContext & MethodContexts[K]>;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export interface RouterFrameworkConfig<Context extends RouterContext = RouterContext> extends RouterConfig<Context> {
|
|
10
|
+
rootPath?: string;
|
|
11
|
+
filterNode?: (node: DirWalkNode) => boolean;
|
|
12
|
+
processNode?: (node: DirWalkNode) => void;
|
|
13
|
+
onDir?: (node: DirWalkNode) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare class RouterFramework<EXTContext = {}, Context extends RouterContext<EXTContext> = RouterContext<EXTContext>> extends Router<Context> {
|
|
16
|
+
#private;
|
|
17
|
+
get loading(): boolean;
|
|
18
|
+
get loaded(): boolean;
|
|
19
|
+
constructor(config?: RouterFrameworkConfig<Context>);
|
|
20
|
+
load(): Promise<RouterFramework<Context>>;
|
|
21
|
+
}
|
|
22
|
+
export interface DirWalkNode {
|
|
23
|
+
type: string;
|
|
24
|
+
name: string;
|
|
25
|
+
path: string;
|
|
26
|
+
parent: string;
|
|
27
|
+
fullPath: string;
|
|
28
|
+
relativePath: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function walk(dir: string, rootPath?: string): AsyncGenerator<DirWalkNode>;
|
|
31
|
+
//# sourceMappingURL=framework.deno.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework.deno.d.ts","sourceRoot":"","sources":["../../src/framework.deno.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAEb,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EAEV,QAAQ,EACR,QAAQ,EACT,MAAM,SAAS,CAAC;AAUjB,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,MAAM,cAAc,CACxB,cAAc,GAAG,EAAE,EACnB,cAAc,SAAS,OAAO,CAC5B,MAAM,CAAC,UAAU,GAAG,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACzD,GAAG,EAAE,IACJ;KACD,CAAC,IAAI,UAAU,GAAG,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;SACvC,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAEvC,OAAO,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GACtD,QAAQ,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAEvD,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAC3C,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;KACrD;CACF,CAAC;AAEF,MAAM,WAAW,qBAAqB,CACpC,OAAO,SAAS,aAAa,GAAG,aAAa,CAC7C,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACrC;AAED,qBAAa,eAAe,CAC1B,UAAU,GAAG,EAAE,EACf,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CACrE,SAAQ,MAAM,CAAC,OAAO,CAAC;;IAQvB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;gBAEW,MAAM,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC;IAU7C,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;CA8EhD;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAuB,IAAI,CACzB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,cAAc,CAAC,WAAW,CAAC,CAgB7B"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
45
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
46
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
47
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
48
|
+
};
|
|
49
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
50
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
51
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
52
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
53
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
54
|
+
};
|
|
55
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
56
|
+
var t = {};
|
|
57
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
58
|
+
t[p] = s[p];
|
|
59
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
60
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
61
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
62
|
+
t[p[i]] = s[p[i]];
|
|
63
|
+
}
|
|
64
|
+
return t;
|
|
65
|
+
};
|
|
66
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
67
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
68
|
+
var m = o[Symbol.asyncIterator], i;
|
|
69
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
70
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
71
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
72
|
+
};
|
|
73
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
74
|
+
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
|
|
75
|
+
var i, p;
|
|
76
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
77
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
|
|
78
|
+
};
|
|
79
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
80
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
81
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
82
|
+
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
83
|
+
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
84
|
+
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
|
85
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
86
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
87
|
+
function fulfill(value) { resume("next", value); }
|
|
88
|
+
function reject(value) { resume("throw", value); }
|
|
89
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
90
|
+
};
|
|
91
|
+
var _RouterFramework_rootPath, _RouterFramework_filterNode, _RouterFramework_processNode, _RouterFramework_onDir, _RouterFramework_loading, _RouterFramework_loaded;
|
|
92
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
93
|
+
exports.RouterFramework = void 0;
|
|
94
|
+
exports.walk = walk;
|
|
95
|
+
const router_1 = __importStar(require("./router"));
|
|
96
|
+
const defaultValidExtensions = [".ts", ".js", ".tsx", ".jsx"];
|
|
97
|
+
const defaultNodeFilter = (node) => defaultValidExtensions.some((ext) => node.name.endsWith(ext));
|
|
98
|
+
const defaultNodeProcessor = (node) => {
|
|
99
|
+
const extensionIndex = node.name.lastIndexOf(".");
|
|
100
|
+
if (extensionIndex !== -1)
|
|
101
|
+
node.name = node.name.slice(0, extensionIndex);
|
|
102
|
+
};
|
|
103
|
+
class RouterFramework extends router_1.default {
|
|
104
|
+
get loading() {
|
|
105
|
+
return __classPrivateFieldGet(this, _RouterFramework_loading, "f");
|
|
106
|
+
}
|
|
107
|
+
get loaded() {
|
|
108
|
+
return __classPrivateFieldGet(this, _RouterFramework_loaded, "f");
|
|
109
|
+
}
|
|
110
|
+
constructor(config) {
|
|
111
|
+
const _a = config !== null && config !== void 0 ? config : {}, { rootPath, filterNode, processNode, onDir } = _a, baseConfig = __rest(_a, ["rootPath", "filterNode", "processNode", "onDir"]);
|
|
112
|
+
super(baseConfig);
|
|
113
|
+
_RouterFramework_rootPath.set(this, void 0);
|
|
114
|
+
_RouterFramework_filterNode.set(this, void 0);
|
|
115
|
+
_RouterFramework_processNode.set(this, void 0);
|
|
116
|
+
_RouterFramework_onDir.set(this, void 0);
|
|
117
|
+
_RouterFramework_loading.set(this, false);
|
|
118
|
+
_RouterFramework_loaded.set(this, false);
|
|
119
|
+
__classPrivateFieldSet(this, _RouterFramework_rootPath, rootPath || "./routes", "f");
|
|
120
|
+
__classPrivateFieldSet(this, _RouterFramework_filterNode, filterNode !== null && filterNode !== void 0 ? filterNode : defaultNodeFilter, "f");
|
|
121
|
+
__classPrivateFieldSet(this, _RouterFramework_processNode, processNode !== null && processNode !== void 0 ? processNode : defaultNodeProcessor, "f");
|
|
122
|
+
__classPrivateFieldSet(this, _RouterFramework_onDir, onDir, "f");
|
|
123
|
+
}
|
|
124
|
+
load() {
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
var _a, e_1, _b, _c;
|
|
127
|
+
if (__classPrivateFieldGet(this, _RouterFramework_loading, "f") || __classPrivateFieldGet(this, _RouterFramework_loaded, "f")) {
|
|
128
|
+
throw new Error("RouterFramework already loading or loaded");
|
|
129
|
+
}
|
|
130
|
+
__classPrivateFieldSet(this, _RouterFramework_loading, true, "f");
|
|
131
|
+
try {
|
|
132
|
+
for (var _d = true, _e = __asyncValues(walk(__classPrivateFieldGet(this, _RouterFramework_rootPath, "f"))), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
|
|
133
|
+
_c = _f.value;
|
|
134
|
+
_d = false;
|
|
135
|
+
let node = _c;
|
|
136
|
+
if (node.type !== "dir") {
|
|
137
|
+
let handlersImp;
|
|
138
|
+
let handlers;
|
|
139
|
+
try {
|
|
140
|
+
handlersImp = yield Promise.resolve(`${`file://${node.fullPath}`}`).then(s => __importStar(require(s)));
|
|
141
|
+
handlers = handlersImp === null || handlersImp === void 0 ? void 0 : handlersImp.default;
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
console.error(`Failed to import route at ${node.fullPath}:`, error);
|
|
145
|
+
}
|
|
146
|
+
// filter the node
|
|
147
|
+
if (!handlers || !(__classPrivateFieldGet(this, _RouterFramework_filterNode, "f") && __classPrivateFieldGet(this, _RouterFramework_filterNode, "f").call(this, node))) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
// process the node
|
|
151
|
+
if (__classPrivateFieldGet(this, _RouterFramework_processNode, "f"))
|
|
152
|
+
__classPrivateFieldGet(this, _RouterFramework_processNode, "f").call(this, node);
|
|
153
|
+
const name = node.name;
|
|
154
|
+
let path;
|
|
155
|
+
switch (name) {
|
|
156
|
+
case "[$$]":
|
|
157
|
+
path = `${node.parent ? "/" + node.parent + "/" : "/"}.**`;
|
|
158
|
+
break;
|
|
159
|
+
case "($$)":
|
|
160
|
+
path = `${node.parent ? "/" + node.parent + "/" : "/"}**`;
|
|
161
|
+
break;
|
|
162
|
+
case "[$]":
|
|
163
|
+
path = `${node.parent ? "/" + node.parent + "/" : "/"}.*`;
|
|
164
|
+
break;
|
|
165
|
+
case "($)":
|
|
166
|
+
path = `${node.parent ? "/" + node.parent + "/" : "/"}*`;
|
|
167
|
+
break;
|
|
168
|
+
case "index":
|
|
169
|
+
path = "/" + node.parent;
|
|
170
|
+
break;
|
|
171
|
+
default:
|
|
172
|
+
path = `${node.parent ? "/" + node.parent + "/" : "/"}${name}`;
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
// replace (param) with :param
|
|
176
|
+
path = path.replace(/\[([^\/]+?)\]/g, ":$1");
|
|
177
|
+
// set handlers
|
|
178
|
+
for (const [method, methodHandlers] of Object.entries(handlers)) {
|
|
179
|
+
for (const [uchandlerType, pipeline] of Object.entries(methodHandlers)) {
|
|
180
|
+
const handlerType = uchandlerType.toLowerCase();
|
|
181
|
+
if ((0, router_1.isValidHttpMethod)(method) ||
|
|
182
|
+
method === "ALL" ||
|
|
183
|
+
method === "CRUD") {
|
|
184
|
+
this.setRoutes(handlerType, `${method} ${path}`, pipeline);
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
throw new Error(`Invalid http method '${method}'`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
else if (__classPrivateFieldGet(this, _RouterFramework_onDir, "f")) {
|
|
193
|
+
__classPrivateFieldGet(this, _RouterFramework_onDir, "f").call(this, node);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
198
|
+
finally {
|
|
199
|
+
try {
|
|
200
|
+
if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
|
|
201
|
+
}
|
|
202
|
+
finally { if (e_1) throw e_1.error; }
|
|
203
|
+
}
|
|
204
|
+
__classPrivateFieldSet(this, _RouterFramework_loading, false, "f");
|
|
205
|
+
__classPrivateFieldSet(this, _RouterFramework_loaded, true, "f");
|
|
206
|
+
return this;
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
exports.RouterFramework = RouterFramework;
|
|
211
|
+
_RouterFramework_rootPath = new WeakMap(), _RouterFramework_filterNode = new WeakMap(), _RouterFramework_processNode = new WeakMap(), _RouterFramework_onDir = new WeakMap(), _RouterFramework_loading = new WeakMap(), _RouterFramework_loaded = new WeakMap();
|
|
212
|
+
function walk(dir, rootPath) {
|
|
213
|
+
return __asyncGenerator(this, arguments, function* walk_1() {
|
|
214
|
+
var _a, e_2, _b, _c;
|
|
215
|
+
rootPath = rootPath || dir;
|
|
216
|
+
const { join, resolve, relative } = yield __await(Promise.resolve().then(() => __importStar(require("jsr:@std/path@1"))));
|
|
217
|
+
try {
|
|
218
|
+
for (var _d = true, _e = __asyncValues(Deno.readDir(dir)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
219
|
+
_c = _f.value;
|
|
220
|
+
_d = false;
|
|
221
|
+
const entry = _c;
|
|
222
|
+
const name = entry.name;
|
|
223
|
+
const parent = relative(rootPath, dir).replace(/\\/g, "/");
|
|
224
|
+
const path = join(dir, name).replace(/\\/g, "/");
|
|
225
|
+
const fullPath = resolve(dir, name).replace(/\\/g, "/");
|
|
226
|
+
const relativePath = relative(rootPath, path).replace(/\\/g, "/");
|
|
227
|
+
if (entry.isDirectory) {
|
|
228
|
+
yield yield __await({ type: "dir", name, path, parent, fullPath, relativePath });
|
|
229
|
+
yield __await(yield* __asyncDelegator(__asyncValues(walk(path, rootPath))));
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
yield yield __await({ type: "file", name, path, parent, fullPath, relativePath });
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
237
|
+
finally {
|
|
238
|
+
try {
|
|
239
|
+
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
240
|
+
}
|
|
241
|
+
finally { if (e_2) throw e_2.error; }
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=framework.deno.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework.deno.js","sourceRoot":"","sources":["../../src/framework.deno.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/framework.js
CHANGED
|
@@ -139,7 +139,7 @@ class RouterFramework extends router_1.default {
|
|
|
139
139
|
let handlersImp;
|
|
140
140
|
let handlers;
|
|
141
141
|
try {
|
|
142
|
-
handlersImp = yield Promise.resolve(`${
|
|
142
|
+
handlersImp = yield Promise.resolve(`${node.fullPath}`).then(s => __importStar(require(s)));
|
|
143
143
|
handlers = handlersImp === null || handlersImp === void 0 ? void 0 : handlersImp.default;
|
|
144
144
|
}
|
|
145
145
|
catch (error) {
|
|
@@ -213,55 +213,23 @@ exports.RouterFramework = RouterFramework;
|
|
|
213
213
|
_RouterFramework_rootPath = new WeakMap(), _RouterFramework_filterNode = new WeakMap(), _RouterFramework_processNode = new WeakMap(), _RouterFramework_onDir = new WeakMap(), _RouterFramework_loading = new WeakMap(), _RouterFramework_loaded = new WeakMap();
|
|
214
214
|
function walk(dir, rootPath) {
|
|
215
215
|
return __asyncGenerator(this, arguments, function* walk_1() {
|
|
216
|
-
var _a, e_2, _b, _c;
|
|
217
216
|
rootPath = rootPath || dir;
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
yield yield __await({ type: "dir", name, path, parent, fullPath, relativePath });
|
|
232
|
-
yield __await(yield* __asyncDelegator(__asyncValues(walk(path, rootPath))));
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
yield yield __await({ type: "file", name, path, parent, fullPath, relativePath });
|
|
236
|
-
}
|
|
237
|
-
}
|
|
217
|
+
const fs = yield __await(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
218
|
+
const { join, resolve, relative } = yield __await(Promise.resolve().then(() => __importStar(require("path"))));
|
|
219
|
+
for (const entry of yield __await(fs.promises.readdir(dir, {
|
|
220
|
+
withFileTypes: true,
|
|
221
|
+
}))) {
|
|
222
|
+
const name = entry.name;
|
|
223
|
+
const parent = relative(rootPath, dir).replace(/\\/g, "/");
|
|
224
|
+
const path = join(dir, name).replace(/\\/g, "/");
|
|
225
|
+
const fullPath = resolve(dir, name).replace(/\\/g, "/");
|
|
226
|
+
const relativePath = relative(rootPath, path).replace(/\\/g, "/");
|
|
227
|
+
if (entry.isDirectory()) {
|
|
228
|
+
yield yield __await({ type: "dir", name, path, parent, fullPath, relativePath });
|
|
229
|
+
yield __await(yield* __asyncDelegator(__asyncValues(walk(path, rootPath))));
|
|
238
230
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
try {
|
|
242
|
-
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
243
|
-
}
|
|
244
|
-
finally { if (e_2) throw e_2.error; }
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
const fs = yield __await(Promise.resolve().then(() => __importStar(require("fs"))));
|
|
249
|
-
const { join, resolve, relative } = yield __await(Promise.resolve().then(() => __importStar(require("path"))));
|
|
250
|
-
for (const entry of yield __await(fs.promises.readdir(dir, {
|
|
251
|
-
withFileTypes: true,
|
|
252
|
-
}))) {
|
|
253
|
-
const name = entry.name;
|
|
254
|
-
const parent = relative(rootPath, dir).replace(/\\/g, "/");
|
|
255
|
-
const path = join(dir, name).replace(/\\/g, "/");
|
|
256
|
-
const fullPath = resolve(dir, name).replace(/\\/g, "/");
|
|
257
|
-
const relativePath = relative(rootPath, path).replace(/\\/g, "/");
|
|
258
|
-
if (entry.isDirectory()) {
|
|
259
|
-
yield yield __await({ type: "dir", name, path, parent, fullPath, relativePath });
|
|
260
|
-
yield __await(yield* __asyncDelegator(__asyncValues(walk(path, rootPath))));
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
yield yield __await({ type: "file", name, path, parent, fullPath, relativePath });
|
|
264
|
-
}
|
|
231
|
+
else {
|
|
232
|
+
yield yield __await({ type: "file", name, path, parent, fullPath, relativePath });
|
|
265
233
|
}
|
|
266
234
|
}
|
|
267
235
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/framework.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/framework.ts"],"names":[],"mappings":"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"}
|
package/dist/framework.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAEb,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EAEV,QAAQ,EACR,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,MAAM,SAAuB,CAAC;AAC3C,eAAO,MAAM,SAAS,KAAyC,CAAC;AAShE,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,MAAM,cAAc,CACxB,cAAc,GAAG,EAAE,EACnB,cAAc,SAAS,OAAO,CAC5B,MAAM,CAAC,UAAU,GAAG,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACzD,GAAG,EAAE,IACJ;KACD,CAAC,IAAI,UAAU,GAAG,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;SACvC,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAEvC,OAAO,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GACtD,QAAQ,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAEvD,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAC3C,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;KACrD;CACF,CAAC;AAEF,MAAM,WAAW,qBAAqB,CACpC,OAAO,SAAS,aAAa,GAAG,aAAa,CAC7C,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACrC;AAED,qBAAa,eAAe,CAC1B,UAAU,GAAG,EAAE,EACf,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CACrE,SAAQ,MAAM,CAAC,OAAO,CAAC;;IAQvB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;gBAEW,MAAM,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC;IAU7C,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAEb,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EAEV,QAAQ,EACR,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,MAAM,SAAuB,CAAC;AAC3C,eAAO,MAAM,SAAS,KAAyC,CAAC;AAShE,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,MAAM,cAAc,CACxB,cAAc,GAAG,EAAE,EACnB,cAAc,SAAS,OAAO,CAC5B,MAAM,CAAC,UAAU,GAAG,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACzD,GAAG,EAAE,IACJ;KACD,CAAC,IAAI,UAAU,GAAG,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;SACvC,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAEvC,OAAO,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GACtD,QAAQ,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAEvD,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAC3C,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;KACrD;CACF,CAAC;AAEF,MAAM,WAAW,qBAAqB,CACpC,OAAO,SAAS,aAAa,GAAG,aAAa,CAC7C,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACrC;AAED,qBAAa,eAAe,CAC1B,UAAU,GAAG,EAAE,EACf,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CACrE,SAAQ,MAAM,CAAC,OAAO,CAAC;;IAQvB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;gBAEW,MAAM,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC;IAU7C,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;CA8EhD;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAuB,IAAI,CACzB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,cAAc,CAAC,WAAW,CAAC,CAmB7B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import Router, { RouterConfig, RouterContext } from "./router";
|
|
2
|
+
import type { Handler, HttpMethod, Pipeline, CTXError } from "./types";
|
|
3
|
+
export type UCHandlerType = "FILTER" | "HOOK" | "HANDLER" | "FALLBACK" | "CATCHER" | "AFTER";
|
|
4
|
+
export type RouterHandlers<CommonXContext = {}, MethodContexts extends Partial<Record<HttpMethod | "ALL" | "CRUD", Record<string, any>>> = {}> = {
|
|
5
|
+
[K in HttpMethod | "ALL" | "CRUD" as K]?: {
|
|
6
|
+
[H in UCHandlerType as H]?: H extends "CATCHER" ? Handler<CommonXContext & CTXError & MethodContexts[K]> | Pipeline<CommonXContext & CTXError & MethodContexts[K]> : Handler<CommonXContext & MethodContexts[K]> | Pipeline<CommonXContext & MethodContexts[K]>;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export interface RouterFrameworkConfig<Context extends RouterContext = RouterContext> extends RouterConfig<Context> {
|
|
10
|
+
rootPath?: string;
|
|
11
|
+
filterNode?: (node: DirWalkNode) => boolean;
|
|
12
|
+
processNode?: (node: DirWalkNode) => void;
|
|
13
|
+
onDir?: (node: DirWalkNode) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare class RouterFramework<EXTContext = {}, Context extends RouterContext<EXTContext> = RouterContext<EXTContext>> extends Router<Context> {
|
|
16
|
+
#private;
|
|
17
|
+
get loading(): boolean;
|
|
18
|
+
get loaded(): boolean;
|
|
19
|
+
constructor(config?: RouterFrameworkConfig<Context>);
|
|
20
|
+
load(): Promise<RouterFramework<Context>>;
|
|
21
|
+
}
|
|
22
|
+
export interface DirWalkNode {
|
|
23
|
+
type: string;
|
|
24
|
+
name: string;
|
|
25
|
+
path: string;
|
|
26
|
+
parent: string;
|
|
27
|
+
fullPath: string;
|
|
28
|
+
relativePath: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function walk(dir: string, rootPath?: string): AsyncGenerator<DirWalkNode>;
|
|
31
|
+
//# sourceMappingURL=framework.deno.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework.deno.d.ts","sourceRoot":"","sources":["../src/framework.deno.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAEb,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EAEV,QAAQ,EACR,QAAQ,EACT,MAAM,SAAS,CAAC;AAUjB,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,MAAM,cAAc,CACxB,cAAc,GAAG,EAAE,EACnB,cAAc,SAAS,OAAO,CAC5B,MAAM,CAAC,UAAU,GAAG,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACzD,GAAG,EAAE,IACJ;KACD,CAAC,IAAI,UAAU,GAAG,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;SACvC,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAEvC,OAAO,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GACtD,QAAQ,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAEvD,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAC3C,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;KACrD;CACF,CAAC;AAEF,MAAM,WAAW,qBAAqB,CACpC,OAAO,SAAS,aAAa,GAAG,aAAa,CAC7C,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACrC;AAED,qBAAa,eAAe,CAC1B,UAAU,GAAG,EAAE,EACf,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CACrE,SAAQ,MAAM,CAAC,OAAO,CAAC;;IAQvB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;gBAEW,MAAM,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC;IAU7C,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;CA8EhD;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAuB,IAAI,CACzB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,cAAc,CAAC,WAAW,CAAC,CAgB7B"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
45
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
46
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
47
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
48
|
+
};
|
|
49
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
50
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
51
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
52
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
53
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
54
|
+
};
|
|
55
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
56
|
+
var t = {};
|
|
57
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
58
|
+
t[p] = s[p];
|
|
59
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
60
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
61
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
62
|
+
t[p[i]] = s[p[i]];
|
|
63
|
+
}
|
|
64
|
+
return t;
|
|
65
|
+
};
|
|
66
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
67
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
68
|
+
var m = o[Symbol.asyncIterator], i;
|
|
69
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
70
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
71
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
72
|
+
};
|
|
73
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
74
|
+
var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
|
|
75
|
+
var i, p;
|
|
76
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
77
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
|
|
78
|
+
};
|
|
79
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
80
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
81
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
82
|
+
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
83
|
+
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
84
|
+
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
|
85
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
86
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
87
|
+
function fulfill(value) { resume("next", value); }
|
|
88
|
+
function reject(value) { resume("throw", value); }
|
|
89
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
90
|
+
};
|
|
91
|
+
var _RouterFramework_rootPath, _RouterFramework_filterNode, _RouterFramework_processNode, _RouterFramework_onDir, _RouterFramework_loading, _RouterFramework_loaded;
|
|
92
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
93
|
+
exports.RouterFramework = void 0;
|
|
94
|
+
exports.walk = walk;
|
|
95
|
+
const router_1 = __importStar(require("./router"));
|
|
96
|
+
const defaultValidExtensions = [".ts", ".js", ".tsx", ".jsx"];
|
|
97
|
+
const defaultNodeFilter = (node) => defaultValidExtensions.some((ext) => node.name.endsWith(ext));
|
|
98
|
+
const defaultNodeProcessor = (node) => {
|
|
99
|
+
const extensionIndex = node.name.lastIndexOf(".");
|
|
100
|
+
if (extensionIndex !== -1)
|
|
101
|
+
node.name = node.name.slice(0, extensionIndex);
|
|
102
|
+
};
|
|
103
|
+
class RouterFramework extends router_1.default {
|
|
104
|
+
get loading() {
|
|
105
|
+
return __classPrivateFieldGet(this, _RouterFramework_loading, "f");
|
|
106
|
+
}
|
|
107
|
+
get loaded() {
|
|
108
|
+
return __classPrivateFieldGet(this, _RouterFramework_loaded, "f");
|
|
109
|
+
}
|
|
110
|
+
constructor(config) {
|
|
111
|
+
const _a = config !== null && config !== void 0 ? config : {}, { rootPath, filterNode, processNode, onDir } = _a, baseConfig = __rest(_a, ["rootPath", "filterNode", "processNode", "onDir"]);
|
|
112
|
+
super(baseConfig);
|
|
113
|
+
_RouterFramework_rootPath.set(this, void 0);
|
|
114
|
+
_RouterFramework_filterNode.set(this, void 0);
|
|
115
|
+
_RouterFramework_processNode.set(this, void 0);
|
|
116
|
+
_RouterFramework_onDir.set(this, void 0);
|
|
117
|
+
_RouterFramework_loading.set(this, false);
|
|
118
|
+
_RouterFramework_loaded.set(this, false);
|
|
119
|
+
__classPrivateFieldSet(this, _RouterFramework_rootPath, rootPath || "./routes", "f");
|
|
120
|
+
__classPrivateFieldSet(this, _RouterFramework_filterNode, filterNode !== null && filterNode !== void 0 ? filterNode : defaultNodeFilter, "f");
|
|
121
|
+
__classPrivateFieldSet(this, _RouterFramework_processNode, processNode !== null && processNode !== void 0 ? processNode : defaultNodeProcessor, "f");
|
|
122
|
+
__classPrivateFieldSet(this, _RouterFramework_onDir, onDir, "f");
|
|
123
|
+
}
|
|
124
|
+
load() {
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
var _a, e_1, _b, _c;
|
|
127
|
+
if (__classPrivateFieldGet(this, _RouterFramework_loading, "f") || __classPrivateFieldGet(this, _RouterFramework_loaded, "f")) {
|
|
128
|
+
throw new Error("RouterFramework already loading or loaded");
|
|
129
|
+
}
|
|
130
|
+
__classPrivateFieldSet(this, _RouterFramework_loading, true, "f");
|
|
131
|
+
try {
|
|
132
|
+
for (var _d = true, _e = __asyncValues(walk(__classPrivateFieldGet(this, _RouterFramework_rootPath, "f"))), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
|
|
133
|
+
_c = _f.value;
|
|
134
|
+
_d = false;
|
|
135
|
+
let node = _c;
|
|
136
|
+
if (node.type !== "dir") {
|
|
137
|
+
let handlersImp;
|
|
138
|
+
let handlers;
|
|
139
|
+
try {
|
|
140
|
+
handlersImp = yield import(`file://${node.fullPath}`);
|
|
141
|
+
handlers = handlersImp === null || handlersImp === void 0 ? void 0 : handlersImp.default;
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
console.error(`Failed to import route at ${node.fullPath}:`, error);
|
|
145
|
+
}
|
|
146
|
+
// filter the node
|
|
147
|
+
if (!handlers || !(__classPrivateFieldGet(this, _RouterFramework_filterNode, "f") && __classPrivateFieldGet(this, _RouterFramework_filterNode, "f").call(this, node))) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
// process the node
|
|
151
|
+
if (__classPrivateFieldGet(this, _RouterFramework_processNode, "f"))
|
|
152
|
+
__classPrivateFieldGet(this, _RouterFramework_processNode, "f").call(this, node);
|
|
153
|
+
const name = node.name;
|
|
154
|
+
let path;
|
|
155
|
+
switch (name) {
|
|
156
|
+
case "[$$]":
|
|
157
|
+
path = `${node.parent ? "/" + node.parent + "/" : "/"}.**`;
|
|
158
|
+
break;
|
|
159
|
+
case "($$)":
|
|
160
|
+
path = `${node.parent ? "/" + node.parent + "/" : "/"}**`;
|
|
161
|
+
break;
|
|
162
|
+
case "[$]":
|
|
163
|
+
path = `${node.parent ? "/" + node.parent + "/" : "/"}.*`;
|
|
164
|
+
break;
|
|
165
|
+
case "($)":
|
|
166
|
+
path = `${node.parent ? "/" + node.parent + "/" : "/"}*`;
|
|
167
|
+
break;
|
|
168
|
+
case "index":
|
|
169
|
+
path = "/" + node.parent;
|
|
170
|
+
break;
|
|
171
|
+
default:
|
|
172
|
+
path = `${node.parent ? "/" + node.parent + "/" : "/"}${name}`;
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
// replace (param) with :param
|
|
176
|
+
path = path.replace(/\[([^\/]+?)\]/g, ":$1");
|
|
177
|
+
// set handlers
|
|
178
|
+
for (const [method, methodHandlers] of Object.entries(handlers)) {
|
|
179
|
+
for (const [uchandlerType, pipeline] of Object.entries(methodHandlers)) {
|
|
180
|
+
const handlerType = uchandlerType.toLowerCase();
|
|
181
|
+
if ((0, router_1.isValidHttpMethod)(method) ||
|
|
182
|
+
method === "ALL" ||
|
|
183
|
+
method === "CRUD") {
|
|
184
|
+
this.setRoutes(handlerType, `${method} ${path}`, pipeline);
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
throw new Error(`Invalid http method '${method}'`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
else if (__classPrivateFieldGet(this, _RouterFramework_onDir, "f")) {
|
|
193
|
+
__classPrivateFieldGet(this, _RouterFramework_onDir, "f").call(this, node);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
198
|
+
finally {
|
|
199
|
+
try {
|
|
200
|
+
if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
|
|
201
|
+
}
|
|
202
|
+
finally { if (e_1) throw e_1.error; }
|
|
203
|
+
}
|
|
204
|
+
__classPrivateFieldSet(this, _RouterFramework_loading, false, "f");
|
|
205
|
+
__classPrivateFieldSet(this, _RouterFramework_loaded, true, "f");
|
|
206
|
+
return this;
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
exports.RouterFramework = RouterFramework;
|
|
211
|
+
_RouterFramework_rootPath = new WeakMap(), _RouterFramework_filterNode = new WeakMap(), _RouterFramework_processNode = new WeakMap(), _RouterFramework_onDir = new WeakMap(), _RouterFramework_loading = new WeakMap(), _RouterFramework_loaded = new WeakMap();
|
|
212
|
+
function walk(dir, rootPath) {
|
|
213
|
+
return __asyncGenerator(this, arguments, function* walk_1() {
|
|
214
|
+
var _a, e_2, _b, _c;
|
|
215
|
+
rootPath = rootPath || dir;
|
|
216
|
+
const { join, resolve, relative } = yield __await(import("jsr:@std/path@1"));
|
|
217
|
+
try {
|
|
218
|
+
for (var _d = true, _e = __asyncValues(Deno.readDir(dir)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
219
|
+
_c = _f.value;
|
|
220
|
+
_d = false;
|
|
221
|
+
const entry = _c;
|
|
222
|
+
const name = entry.name;
|
|
223
|
+
const parent = relative(rootPath, dir).replace(/\\/g, "/");
|
|
224
|
+
const path = join(dir, name).replace(/\\/g, "/");
|
|
225
|
+
const fullPath = resolve(dir, name).replace(/\\/g, "/");
|
|
226
|
+
const relativePath = relative(rootPath, path).replace(/\\/g, "/");
|
|
227
|
+
if (entry.isDirectory) {
|
|
228
|
+
yield yield __await({ type: "dir", name, path, parent, fullPath, relativePath });
|
|
229
|
+
yield __await(yield* __asyncDelegator(__asyncValues(walk(path, rootPath))));
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
yield yield __await({ type: "file", name, path, parent, fullPath, relativePath });
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
237
|
+
finally {
|
|
238
|
+
try {
|
|
239
|
+
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
240
|
+
}
|
|
241
|
+
finally { if (e_2) throw e_2.error; }
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=framework.deno.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework.deno.js","sourceRoot":"","sources":["../src/framework.deno.ts"],"names":[],"mappings":"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"}
|
package/dist/framework.js
CHANGED
|
@@ -139,7 +139,7 @@ class RouterFramework extends router_1.default {
|
|
|
139
139
|
let handlersImp;
|
|
140
140
|
let handlers;
|
|
141
141
|
try {
|
|
142
|
-
handlersImp = yield import(
|
|
142
|
+
handlersImp = yield import(node.fullPath);
|
|
143
143
|
handlers = handlersImp === null || handlersImp === void 0 ? void 0 : handlersImp.default;
|
|
144
144
|
}
|
|
145
145
|
catch (error) {
|
|
@@ -213,55 +213,23 @@ exports.RouterFramework = RouterFramework;
|
|
|
213
213
|
_RouterFramework_rootPath = new WeakMap(), _RouterFramework_filterNode = new WeakMap(), _RouterFramework_processNode = new WeakMap(), _RouterFramework_onDir = new WeakMap(), _RouterFramework_loading = new WeakMap(), _RouterFramework_loaded = new WeakMap();
|
|
214
214
|
function walk(dir, rootPath) {
|
|
215
215
|
return __asyncGenerator(this, arguments, function* walk_1() {
|
|
216
|
-
var _a, e_2, _b, _c;
|
|
217
216
|
rootPath = rootPath || dir;
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
yield yield __await({ type: "dir", name, path, parent, fullPath, relativePath });
|
|
232
|
-
yield __await(yield* __asyncDelegator(__asyncValues(walk(path, rootPath))));
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
yield yield __await({ type: "file", name, path, parent, fullPath, relativePath });
|
|
236
|
-
}
|
|
237
|
-
}
|
|
217
|
+
const fs = yield __await(import("fs"));
|
|
218
|
+
const { join, resolve, relative } = yield __await(import("path"));
|
|
219
|
+
for (const entry of yield __await(fs.promises.readdir(dir, {
|
|
220
|
+
withFileTypes: true,
|
|
221
|
+
}))) {
|
|
222
|
+
const name = entry.name;
|
|
223
|
+
const parent = relative(rootPath, dir).replace(/\\/g, "/");
|
|
224
|
+
const path = join(dir, name).replace(/\\/g, "/");
|
|
225
|
+
const fullPath = resolve(dir, name).replace(/\\/g, "/");
|
|
226
|
+
const relativePath = relative(rootPath, path).replace(/\\/g, "/");
|
|
227
|
+
if (entry.isDirectory()) {
|
|
228
|
+
yield yield __await({ type: "dir", name, path, parent, fullPath, relativePath });
|
|
229
|
+
yield __await(yield* __asyncDelegator(__asyncValues(walk(path, rootPath))));
|
|
238
230
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
try {
|
|
242
|
-
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
243
|
-
}
|
|
244
|
-
finally { if (e_2) throw e_2.error; }
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
const fs = yield __await(import("fs"));
|
|
249
|
-
const { join, resolve, relative } = yield __await(import("path"));
|
|
250
|
-
for (const entry of yield __await(fs.promises.readdir(dir, {
|
|
251
|
-
withFileTypes: true,
|
|
252
|
-
}))) {
|
|
253
|
-
const name = entry.name;
|
|
254
|
-
const parent = relative(rootPath, dir).replace(/\\/g, "/");
|
|
255
|
-
const path = join(dir, name).replace(/\\/g, "/");
|
|
256
|
-
const fullPath = resolve(dir, name).replace(/\\/g, "/");
|
|
257
|
-
const relativePath = relative(rootPath, path).replace(/\\/g, "/");
|
|
258
|
-
if (entry.isDirectory()) {
|
|
259
|
-
yield yield __await({ type: "dir", name, path, parent, fullPath, relativePath });
|
|
260
|
-
yield __await(yield* __asyncDelegator(__asyncValues(walk(path, rootPath))));
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
yield yield __await({ type: "file", name, path, parent, fullPath, relativePath });
|
|
264
|
-
}
|
|
231
|
+
else {
|
|
232
|
+
yield yield __await({ type: "file", name, path, parent, fullPath, relativePath });
|
|
265
233
|
}
|
|
266
234
|
}
|
|
267
235
|
});
|
package/dist/framework.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":"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"}
|