@rsdoctor/sdk 1.2.3 → 1.2.4-beta.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/compiled/cors/index.d.ts +56 -0
- package/compiled/cors/index.js +550 -0
- package/compiled/cors/license +22 -0
- package/compiled/cors/package.json +1 -0
- package/compiled/dayjs/index.d.ts +428 -0
- package/compiled/dayjs/index.js +57 -0
- package/compiled/dayjs/license +21 -0
- package/compiled/dayjs/package.json +1 -0
- package/compiled/fs-extra/index.d.ts +1064 -0
- package/compiled/fs-extra/index.js +2839 -0
- package/compiled/fs-extra/license +15 -0
- package/compiled/fs-extra/package.json +1 -0
- package/compiled/json-cycle/index.d.ts +1 -0
- package/compiled/json-cycle/index.js +218 -0
- package/compiled/json-cycle/license +22 -0
- package/compiled/json-cycle/package.json +1 -0
- package/dist/336.cjs +351 -0
- package/dist/795.js +357 -0
- package/dist/index.cjs +7068 -0
- package/dist/index.cjs.LICENSE.txt +111 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6952 -0
- package/dist/index.js.LICENSE.txt +111 -0
- package/dist/{type/sdk → sdk}/index.d.ts +0 -1
- package/dist/{type/sdk → sdk}/multiple/controller.d.ts +0 -1
- package/dist/{type/sdk → sdk}/multiple/index.d.ts +0 -1
- package/dist/{type/sdk → sdk}/multiple/primary.d.ts +1 -2
- package/dist/{type/sdk → sdk}/multiple/server.d.ts +0 -1
- package/dist/{type/sdk → sdk}/sdk/core.d.ts +1 -2
- package/dist/{type/sdk → sdk}/sdk/index.d.ts +1 -2
- package/dist/{type/sdk → sdk}/sdk/types.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/alerts.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/base.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/bundle-diff.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/data.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/fs.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/graph.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/index.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/loader.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/plugin.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/project.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/renderer.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/apis/resolver.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/fakeServer.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/index.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/router.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/socket/api.d.ts +1 -2
- package/dist/{type/sdk → sdk}/server/socket/index.d.ts +0 -1
- package/dist/{type/sdk → sdk}/server/utils.d.ts +0 -1
- package/dist/{type/sdk → sdk}/utils/base.d.ts +0 -1
- package/dist/{type/sdk → sdk}/utils/constant.d.ts +0 -1
- package/dist/{type/sdk → sdk}/utils/index.d.ts +0 -1
- package/dist/{type/sdk → sdk}/utils/openBrowser.d.ts +0 -1
- package/dist/{type/sdk → sdk}/utils/upload.d.ts +0 -1
- package/package.json +32 -21
- package/dist/cjs/index.js +0 -60
- package/dist/cjs/sdk/index.js +0 -69
- package/dist/cjs/sdk/multiple/controller.js +0 -75
- package/dist/cjs/sdk/multiple/index.js +0 -69
- package/dist/cjs/sdk/multiple/primary.js +0 -107
- package/dist/cjs/sdk/multiple/server.js +0 -47
- package/dist/cjs/sdk/sdk/core.js +0 -220
- package/dist/cjs/sdk/sdk/index.js +0 -510
- package/dist/cjs/sdk/sdk/types.js +0 -18
- package/dist/cjs/sdk/server/apis/alerts.js +0 -63
- package/dist/cjs/sdk/server/apis/base.js +0 -55
- package/dist/cjs/sdk/server/apis/bundle-diff.js +0 -87
- package/dist/cjs/sdk/server/apis/data.js +0 -77
- package/dist/cjs/sdk/server/apis/fs.js +0 -61
- package/dist/cjs/sdk/server/apis/graph.js +0 -149
- package/dist/cjs/sdk/server/apis/index.js +0 -132
- package/dist/cjs/sdk/server/apis/loader.js +0 -153
- package/dist/cjs/sdk/server/apis/plugin.js +0 -72
- package/dist/cjs/sdk/server/apis/project.js +0 -92
- package/dist/cjs/sdk/server/apis/renderer.js +0 -64
- package/dist/cjs/sdk/server/apis/resolver.js +0 -71
- package/dist/cjs/sdk/server/fakeServer.js +0 -44
- package/dist/cjs/sdk/server/index.js +0 -283
- package/dist/cjs/sdk/server/router.js +0 -114
- package/dist/cjs/sdk/server/socket/api.js +0 -55
- package/dist/cjs/sdk/server/socket/index.js +0 -105
- package/dist/cjs/sdk/server/utils.js +0 -65
- package/dist/cjs/sdk/utils/base.js +0 -66
- package/dist/cjs/sdk/utils/constant.js +0 -47
- package/dist/cjs/sdk/utils/index.js +0 -78
- package/dist/cjs/sdk/utils/openBrowser.js +0 -102
- package/dist/cjs/sdk/utils/upload.js +0 -39
- package/dist/esm/index.mjs +0 -1
- package/dist/esm/sdk/index.mjs +0 -2
- package/dist/esm/sdk/multiple/controller.mjs +0 -41
- package/dist/esm/sdk/multiple/index.mjs +0 -2
- package/dist/esm/sdk/multiple/primary.mjs +0 -63
- package/dist/esm/sdk/multiple/server.mjs +0 -13
- package/dist/esm/sdk/sdk/core.mjs +0 -175
- package/dist/esm/sdk/sdk/index.mjs +0 -460
- package/dist/esm/sdk/sdk/types.mjs +0 -0
- package/dist/esm/sdk/server/apis/alerts.mjs +0 -29
- package/dist/esm/sdk/server/apis/base.mjs +0 -21
- package/dist/esm/sdk/server/apis/bundle-diff.mjs +0 -53
- package/dist/esm/sdk/server/apis/data.mjs +0 -43
- package/dist/esm/sdk/server/apis/fs.mjs +0 -27
- package/dist/esm/sdk/server/apis/graph.mjs +0 -115
- package/dist/esm/sdk/server/apis/index.mjs +0 -9
- package/dist/esm/sdk/server/apis/loader.mjs +0 -119
- package/dist/esm/sdk/server/apis/plugin.mjs +0 -38
- package/dist/esm/sdk/server/apis/project.mjs +0 -58
- package/dist/esm/sdk/server/apis/renderer.mjs +0 -30
- package/dist/esm/sdk/server/apis/resolver.mjs +0 -37
- package/dist/esm/sdk/server/fakeServer.mjs +0 -10
- package/dist/esm/sdk/server/index.mjs +0 -170
- package/dist/esm/sdk/server/router.mjs +0 -80
- package/dist/esm/sdk/server/socket/api.mjs +0 -21
- package/dist/esm/sdk/server/socket/index.mjs +0 -71
- package/dist/esm/sdk/server/utils.mjs +0 -18
- package/dist/esm/sdk/utils/base.mjs +0 -21
- package/dist/esm/sdk/utils/constant.mjs +0 -3
- package/dist/esm/sdk/utils/index.mjs +0 -3
- package/dist/esm/sdk/utils/openBrowser.mjs +0 -50
- package/dist/esm/sdk/utils/upload.mjs +0 -5
- package/dist/type/index.d.ts +0 -2
- package/dist/type/index.d.ts.map +0 -1
- package/dist/type/sdk/index.d.ts.map +0 -1
- package/dist/type/sdk/multiple/controller.d.ts.map +0 -1
- package/dist/type/sdk/multiple/index.d.ts.map +0 -1
- package/dist/type/sdk/multiple/primary.d.ts.map +0 -1
- package/dist/type/sdk/multiple/server.d.ts.map +0 -1
- package/dist/type/sdk/sdk/core.d.ts.map +0 -1
- package/dist/type/sdk/sdk/index.d.ts.map +0 -1
- package/dist/type/sdk/sdk/types.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/alerts.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/base.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/bundle-diff.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/data.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/fs.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/graph.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/index.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/loader.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/plugin.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/project.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/renderer.d.ts.map +0 -1
- package/dist/type/sdk/server/apis/resolver.d.ts.map +0 -1
- package/dist/type/sdk/server/fakeServer.d.ts.map +0 -1
- package/dist/type/sdk/server/index.d.ts.map +0 -1
- package/dist/type/sdk/server/router.d.ts.map +0 -1
- package/dist/type/sdk/server/socket/api.d.ts.map +0 -1
- package/dist/type/sdk/server/socket/index.d.ts.map +0 -1
- package/dist/type/sdk/server/utils.d.ts.map +0 -1
- package/dist/type/sdk/utils/base.d.ts.map +0 -1
- package/dist/type/sdk/utils/constant.d.ts.map +0 -1
- package/dist/type/sdk/utils/index.d.ts.map +0 -1
- package/dist/type/sdk/utils/openBrowser.d.ts.map +0 -1
- package/dist/type/sdk/utils/upload.d.ts.map +0 -1
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { SDK } from "@rsdoctor/types";
|
|
2
|
-
import { BaseAPI } from "./base.mjs";
|
|
3
|
-
import { Router } from "../router.mjs";
|
|
4
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
5
|
-
var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
|
|
7
|
-
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
8
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
9
|
-
}
|
|
10
|
-
function _ts_metadata(k, v) {
|
|
11
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
12
|
-
}
|
|
13
|
-
class GraphAPI extends BaseAPI {
|
|
14
|
-
async getAssetsSummary() {
|
|
15
|
-
const { req } = this.ctx;
|
|
16
|
-
const { withFileContent } = req.body;
|
|
17
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetAssetsSummary, {
|
|
18
|
-
withFileContent
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
async getModuleGraphForAsset() {
|
|
22
|
-
const { req } = this.ctx;
|
|
23
|
-
const { assetPath } = req.body;
|
|
24
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetAssetDetails, {
|
|
25
|
-
assetPath
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
async getChunksByModuleId() {
|
|
29
|
-
const { req } = this.ctx;
|
|
30
|
-
const { moduleId } = req.body;
|
|
31
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetChunksByModuleId, {
|
|
32
|
-
moduleId
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
async getModuleDetails() {
|
|
36
|
-
const { req } = this.ctx;
|
|
37
|
-
const { moduleId } = req.body;
|
|
38
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetModuleDetails, {
|
|
39
|
-
moduleId
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
async getDependencyByResolvedRequest() {
|
|
43
|
-
const { req } = this.ctx;
|
|
44
|
-
const { moduleIds = [] } = req.body;
|
|
45
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetModulesByModuleIds, {
|
|
46
|
-
moduleIds
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
async getModuleCodeByModuleId() {
|
|
50
|
-
const { req } = this.ctx;
|
|
51
|
-
const { moduleId } = req.body;
|
|
52
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetModuleCodeByModuleId, {
|
|
53
|
-
moduleId
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
async getModuleCodeByModuleIds() {
|
|
57
|
-
const { req } = this.ctx;
|
|
58
|
-
const { moduleIds } = req.body;
|
|
59
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetModuleCodeByModuleIds, {
|
|
60
|
-
moduleIds
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
async getEntryModulesSummary() {
|
|
64
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetEntryPoints);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
_ts_decorate([
|
|
68
|
-
Router.post(SDK.ServerAPI.API.GetAssetsSummary),
|
|
69
|
-
_ts_metadata("design:type", Function),
|
|
70
|
-
_ts_metadata("design:paramtypes", []),
|
|
71
|
-
_ts_metadata("design:returntype", Promise)
|
|
72
|
-
], GraphAPI.prototype, "getAssetsSummary", null);
|
|
73
|
-
_ts_decorate([
|
|
74
|
-
Router.post(SDK.ServerAPI.API.GetAssetDetails),
|
|
75
|
-
_ts_metadata("design:type", Function),
|
|
76
|
-
_ts_metadata("design:paramtypes", []),
|
|
77
|
-
_ts_metadata("design:returntype", Promise)
|
|
78
|
-
], GraphAPI.prototype, "getModuleGraphForAsset", null);
|
|
79
|
-
_ts_decorate([
|
|
80
|
-
Router.post(SDK.ServerAPI.API.GetChunksByModuleId),
|
|
81
|
-
_ts_metadata("design:type", Function),
|
|
82
|
-
_ts_metadata("design:paramtypes", []),
|
|
83
|
-
_ts_metadata("design:returntype", Promise)
|
|
84
|
-
], GraphAPI.prototype, "getChunksByModuleId", null);
|
|
85
|
-
_ts_decorate([
|
|
86
|
-
Router.post(SDK.ServerAPI.API.GetModuleDetails),
|
|
87
|
-
_ts_metadata("design:type", Function),
|
|
88
|
-
_ts_metadata("design:paramtypes", []),
|
|
89
|
-
_ts_metadata("design:returntype", Promise)
|
|
90
|
-
], GraphAPI.prototype, "getModuleDetails", null);
|
|
91
|
-
_ts_decorate([
|
|
92
|
-
Router.post(SDK.ServerAPI.API.GetModulesByModuleIds),
|
|
93
|
-
_ts_metadata("design:type", Function),
|
|
94
|
-
_ts_metadata("design:paramtypes", []),
|
|
95
|
-
_ts_metadata("design:returntype", Promise)
|
|
96
|
-
], GraphAPI.prototype, "getDependencyByResolvedRequest", null);
|
|
97
|
-
_ts_decorate([
|
|
98
|
-
Router.post(SDK.ServerAPI.API.GetModuleCodeByModuleId),
|
|
99
|
-
_ts_metadata("design:type", Function),
|
|
100
|
-
_ts_metadata("design:paramtypes", []),
|
|
101
|
-
_ts_metadata("design:returntype", Promise)
|
|
102
|
-
], GraphAPI.prototype, "getModuleCodeByModuleId", null);
|
|
103
|
-
_ts_decorate([
|
|
104
|
-
Router.post(SDK.ServerAPI.API.GetModuleCodeByModuleIds),
|
|
105
|
-
_ts_metadata("design:type", Function),
|
|
106
|
-
_ts_metadata("design:paramtypes", []),
|
|
107
|
-
_ts_metadata("design:returntype", Promise)
|
|
108
|
-
], GraphAPI.prototype, "getModuleCodeByModuleIds", null);
|
|
109
|
-
_ts_decorate([
|
|
110
|
-
Router.post(SDK.ServerAPI.API.GetEntryPoints),
|
|
111
|
-
_ts_metadata("design:type", Function),
|
|
112
|
-
_ts_metadata("design:paramtypes", []),
|
|
113
|
-
_ts_metadata("design:returntype", Promise)
|
|
114
|
-
], GraphAPI.prototype, "getEntryModulesSummary", null);
|
|
115
|
-
export { GraphAPI };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from "./alerts.mjs";
|
|
2
|
-
export * from "./data.mjs";
|
|
3
|
-
export * from "./fs.mjs";
|
|
4
|
-
export * from "./loader.mjs";
|
|
5
|
-
export * from "./graph.mjs";
|
|
6
|
-
export * from "./plugin.mjs";
|
|
7
|
-
export * from "./project.mjs";
|
|
8
|
-
export * from "./renderer.mjs";
|
|
9
|
-
export * from "./resolver.mjs";
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { SDK } from "@rsdoctor/types";
|
|
2
|
-
import { BaseAPI } from "./base.mjs";
|
|
3
|
-
import { Router } from "../router.mjs";
|
|
4
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
5
|
-
var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
|
|
7
|
-
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
8
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
9
|
-
}
|
|
10
|
-
function _ts_metadata(k, v) {
|
|
11
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
12
|
-
}
|
|
13
|
-
class LoaderAPI extends BaseAPI {
|
|
14
|
-
async reportLoader() {
|
|
15
|
-
const { req, sdk } = this.ctx;
|
|
16
|
-
const { body } = req;
|
|
17
|
-
sdk.reportLoader(body);
|
|
18
|
-
return 'ok';
|
|
19
|
-
}
|
|
20
|
-
async reportSourceMap() {
|
|
21
|
-
const { req: { body }, sdk } = this.ctx;
|
|
22
|
-
sdk.reportSourceMap(body);
|
|
23
|
-
return 'ok';
|
|
24
|
-
}
|
|
25
|
-
async getLoaderNames() {
|
|
26
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetLoaderNames);
|
|
27
|
-
}
|
|
28
|
-
async getLoaderChartData() {
|
|
29
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetLoaderChartData);
|
|
30
|
-
}
|
|
31
|
-
async getLoaderFileTree() {
|
|
32
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetLoaderFileTree);
|
|
33
|
-
}
|
|
34
|
-
async getLoaderFileDetails() {
|
|
35
|
-
const { req } = this.ctx;
|
|
36
|
-
const { path } = req.body;
|
|
37
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetLoaderFileDetails, {
|
|
38
|
-
path
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
async getLoaderFolderStatistics() {
|
|
42
|
-
const { req } = this.ctx;
|
|
43
|
-
const { folder } = req.body;
|
|
44
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetLoaderFolderStatistics, {
|
|
45
|
-
folder
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
async getLoaderFileFirstInput() {
|
|
49
|
-
const { req } = this.ctx;
|
|
50
|
-
const { file } = req.body;
|
|
51
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetLoaderFileFirstInput, {
|
|
52
|
-
file
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
async getLoaderFileInputAndOutput() {
|
|
56
|
-
const { req } = this.ctx;
|
|
57
|
-
const { file, loader, loaderIndex } = req.body;
|
|
58
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetLoaderFileInputAndOutput, {
|
|
59
|
-
file,
|
|
60
|
-
loader,
|
|
61
|
-
loaderIndex
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
_ts_decorate([
|
|
66
|
-
Router.post(SDK.ServerAPI.API.ReportLoader),
|
|
67
|
-
_ts_metadata("design:type", Function),
|
|
68
|
-
_ts_metadata("design:paramtypes", []),
|
|
69
|
-
_ts_metadata("design:returntype", Promise)
|
|
70
|
-
], LoaderAPI.prototype, "reportLoader", null);
|
|
71
|
-
_ts_decorate([
|
|
72
|
-
Router.post(SDK.ServerAPI.API.ReportSourceMap),
|
|
73
|
-
_ts_metadata("design:type", Function),
|
|
74
|
-
_ts_metadata("design:paramtypes", []),
|
|
75
|
-
_ts_metadata("design:returntype", Promise)
|
|
76
|
-
], LoaderAPI.prototype, "reportSourceMap", null);
|
|
77
|
-
_ts_decorate([
|
|
78
|
-
Router.post(SDK.ServerAPI.API.GetLoaderNames),
|
|
79
|
-
_ts_metadata("design:type", Function),
|
|
80
|
-
_ts_metadata("design:paramtypes", []),
|
|
81
|
-
_ts_metadata("design:returntype", Promise)
|
|
82
|
-
], LoaderAPI.prototype, "getLoaderNames", null);
|
|
83
|
-
_ts_decorate([
|
|
84
|
-
Router.post(SDK.ServerAPI.API.GetLoaderChartData),
|
|
85
|
-
_ts_metadata("design:type", Function),
|
|
86
|
-
_ts_metadata("design:paramtypes", []),
|
|
87
|
-
_ts_metadata("design:returntype", Promise)
|
|
88
|
-
], LoaderAPI.prototype, "getLoaderChartData", null);
|
|
89
|
-
_ts_decorate([
|
|
90
|
-
Router.post(SDK.ServerAPI.API.GetLoaderFileTree),
|
|
91
|
-
_ts_metadata("design:type", Function),
|
|
92
|
-
_ts_metadata("design:paramtypes", []),
|
|
93
|
-
_ts_metadata("design:returntype", Promise)
|
|
94
|
-
], LoaderAPI.prototype, "getLoaderFileTree", null);
|
|
95
|
-
_ts_decorate([
|
|
96
|
-
Router.post(SDK.ServerAPI.API.GetLoaderFileDetails),
|
|
97
|
-
_ts_metadata("design:type", Function),
|
|
98
|
-
_ts_metadata("design:paramtypes", []),
|
|
99
|
-
_ts_metadata("design:returntype", Promise)
|
|
100
|
-
], LoaderAPI.prototype, "getLoaderFileDetails", null);
|
|
101
|
-
_ts_decorate([
|
|
102
|
-
Router.post(SDK.ServerAPI.API.GetLoaderFolderStatistics),
|
|
103
|
-
_ts_metadata("design:type", Function),
|
|
104
|
-
_ts_metadata("design:paramtypes", []),
|
|
105
|
-
_ts_metadata("design:returntype", Promise)
|
|
106
|
-
], LoaderAPI.prototype, "getLoaderFolderStatistics", null);
|
|
107
|
-
_ts_decorate([
|
|
108
|
-
Router.post(SDK.ServerAPI.API.GetLoaderFileFirstInput),
|
|
109
|
-
_ts_metadata("design:type", Function),
|
|
110
|
-
_ts_metadata("design:paramtypes", []),
|
|
111
|
-
_ts_metadata("design:returntype", Promise)
|
|
112
|
-
], LoaderAPI.prototype, "getLoaderFileFirstInput", null);
|
|
113
|
-
_ts_decorate([
|
|
114
|
-
Router.post(SDK.ServerAPI.API.GetLoaderFileInputAndOutput),
|
|
115
|
-
_ts_metadata("design:type", Function),
|
|
116
|
-
_ts_metadata("design:paramtypes", []),
|
|
117
|
-
_ts_metadata("design:returntype", Promise)
|
|
118
|
-
], LoaderAPI.prototype, "getLoaderFileInputAndOutput", null);
|
|
119
|
-
export { LoaderAPI };
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { SDK } from "@rsdoctor/types";
|
|
2
|
-
import { BaseAPI } from "./base.mjs";
|
|
3
|
-
import { Router } from "../router.mjs";
|
|
4
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
5
|
-
var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
|
|
7
|
-
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
8
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
9
|
-
}
|
|
10
|
-
function _ts_metadata(k, v) {
|
|
11
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
12
|
-
}
|
|
13
|
-
class PluginAPI extends BaseAPI {
|
|
14
|
-
async getPluginSummary() {
|
|
15
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetPluginSummary);
|
|
16
|
-
}
|
|
17
|
-
async getPluginData() {
|
|
18
|
-
const { req } = this.ctx;
|
|
19
|
-
const { hooks = [], tapNames = [] } = req.body;
|
|
20
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetPluginData, {
|
|
21
|
-
hooks,
|
|
22
|
-
tapNames
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
_ts_decorate([
|
|
27
|
-
Router.post(SDK.ServerAPI.API.GetPluginSummary),
|
|
28
|
-
_ts_metadata("design:type", Function),
|
|
29
|
-
_ts_metadata("design:paramtypes", []),
|
|
30
|
-
_ts_metadata("design:returntype", Promise)
|
|
31
|
-
], PluginAPI.prototype, "getPluginSummary", null);
|
|
32
|
-
_ts_decorate([
|
|
33
|
-
Router.post(SDK.ServerAPI.API.GetPluginData),
|
|
34
|
-
_ts_metadata("design:type", Function),
|
|
35
|
-
_ts_metadata("design:paramtypes", []),
|
|
36
|
-
_ts_metadata("design:returntype", Promise)
|
|
37
|
-
], PluginAPI.prototype, "getPluginData", null);
|
|
38
|
-
export { PluginAPI };
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { SDK } from "@rsdoctor/types";
|
|
2
|
-
import { BaseAPI } from "./base.mjs";
|
|
3
|
-
import { Router } from "../router.mjs";
|
|
4
|
-
import { getLocalIpAddress } from "../utils.mjs";
|
|
5
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
6
|
-
var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
-
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
9
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
10
|
-
}
|
|
11
|
-
function _ts_metadata(k, v) {
|
|
12
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
13
|
-
}
|
|
14
|
-
class ProjectAPI extends BaseAPI {
|
|
15
|
-
async env() {
|
|
16
|
-
const { server } = this.ctx;
|
|
17
|
-
return {
|
|
18
|
-
ip: getLocalIpAddress(),
|
|
19
|
-
port: server.port
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
async manifest() {
|
|
23
|
-
const { sdk } = this.ctx;
|
|
24
|
-
const data = sdk.getManifestData();
|
|
25
|
-
return JSON.stringify(data);
|
|
26
|
-
}
|
|
27
|
-
async getProjectInfo() {
|
|
28
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetProjectInfo);
|
|
29
|
-
}
|
|
30
|
-
async getClientRoutes() {
|
|
31
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetClientRoutes);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
_ts_decorate([
|
|
35
|
-
Router.get(SDK.ServerAPI.API.Env),
|
|
36
|
-
_ts_metadata("design:type", Function),
|
|
37
|
-
_ts_metadata("design:paramtypes", []),
|
|
38
|
-
_ts_metadata("design:returntype", Promise)
|
|
39
|
-
], ProjectAPI.prototype, "env", null);
|
|
40
|
-
_ts_decorate([
|
|
41
|
-
Router.get(SDK.ServerAPI.API.Manifest),
|
|
42
|
-
_ts_metadata("design:type", Function),
|
|
43
|
-
_ts_metadata("design:paramtypes", []),
|
|
44
|
-
_ts_metadata("design:returntype", Promise)
|
|
45
|
-
], ProjectAPI.prototype, "manifest", null);
|
|
46
|
-
_ts_decorate([
|
|
47
|
-
Router.post(SDK.ServerAPI.API.GetProjectInfo),
|
|
48
|
-
_ts_metadata("design:type", Function),
|
|
49
|
-
_ts_metadata("design:paramtypes", []),
|
|
50
|
-
_ts_metadata("design:returntype", Promise)
|
|
51
|
-
], ProjectAPI.prototype, "getProjectInfo", null);
|
|
52
|
-
_ts_decorate([
|
|
53
|
-
Router.post(SDK.ServerAPI.API.GetClientRoutes),
|
|
54
|
-
_ts_metadata("design:type", Function),
|
|
55
|
-
_ts_metadata("design:paramtypes", []),
|
|
56
|
-
_ts_metadata("design:returntype", Promise)
|
|
57
|
-
], ProjectAPI.prototype, "getClientRoutes", null);
|
|
58
|
-
export { ProjectAPI };
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { SDK } from "@rsdoctor/types";
|
|
2
|
-
import { File } from "@rsdoctor/utils/build";
|
|
3
|
-
import { BaseAPI } from "./base.mjs";
|
|
4
|
-
import { Router } from "../router.mjs";
|
|
5
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
6
|
-
var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
-
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
9
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
10
|
-
}
|
|
11
|
-
function _ts_metadata(k, v) {
|
|
12
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
13
|
-
}
|
|
14
|
-
class RendererAPI extends BaseAPI {
|
|
15
|
-
async entryHtml() {
|
|
16
|
-
const { server, res } = this.ctx;
|
|
17
|
-
const clientHtmlPath = server.innerClientPath ? server.innerClientPath : require.resolve('@rsdoctor/client');
|
|
18
|
-
const clientHtml = await File.fse.readFile(clientHtmlPath, 'utf-8');
|
|
19
|
-
res.setHeader('Content-Type', 'text/html');
|
|
20
|
-
res.setHeader('Cache-Control', 'no-store');
|
|
21
|
-
return clientHtml;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
_ts_decorate([
|
|
25
|
-
Router.get(SDK.ServerAPI.API.EntryHtml),
|
|
26
|
-
_ts_metadata("design:type", Function),
|
|
27
|
-
_ts_metadata("design:paramtypes", []),
|
|
28
|
-
_ts_metadata("design:returntype", Promise)
|
|
29
|
-
], RendererAPI.prototype, "entryHtml", null);
|
|
30
|
-
export { RendererAPI };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { SDK } from "@rsdoctor/types";
|
|
2
|
-
import { BaseAPI } from "./base.mjs";
|
|
3
|
-
import { Router } from "../router.mjs";
|
|
4
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
5
|
-
var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
|
|
7
|
-
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
8
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
9
|
-
}
|
|
10
|
-
function _ts_metadata(k, v) {
|
|
11
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
12
|
-
}
|
|
13
|
-
class ResolverAPI extends BaseAPI {
|
|
14
|
-
async getResolverFileTree() {
|
|
15
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetResolverFileTree);
|
|
16
|
-
}
|
|
17
|
-
async getResolverFileDetails() {
|
|
18
|
-
const { req } = this.ctx;
|
|
19
|
-
const { filepath } = req.body;
|
|
20
|
-
return this.dataLoader.loadAPI(SDK.ServerAPI.API.GetResolverFileDetails, {
|
|
21
|
-
filepath
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
_ts_decorate([
|
|
26
|
-
Router.post(SDK.ServerAPI.API.GetResolverFileTree),
|
|
27
|
-
_ts_metadata("design:type", Function),
|
|
28
|
-
_ts_metadata("design:paramtypes", []),
|
|
29
|
-
_ts_metadata("design:returntype", Promise)
|
|
30
|
-
], ResolverAPI.prototype, "getResolverFileTree", null);
|
|
31
|
-
_ts_decorate([
|
|
32
|
-
Router.post(SDK.ServerAPI.API.GetResolverFileDetails),
|
|
33
|
-
_ts_metadata("design:type", Function),
|
|
34
|
-
_ts_metadata("design:paramtypes", []),
|
|
35
|
-
_ts_metadata("design:returntype", Promise)
|
|
36
|
-
], ResolverAPI.prototype, "getResolverFileDetails", null);
|
|
37
|
-
export { ResolverAPI };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Server } from "@rsdoctor/utils/build";
|
|
2
|
-
import { RsdoctorServer } from "./index.mjs";
|
|
3
|
-
class RsdoctorFakeServer extends RsdoctorServer {
|
|
4
|
-
async openClientPage() {}
|
|
5
|
-
constructor(sdk, port = Server.defaultPort){
|
|
6
|
-
super(sdk, port), this.sdk = sdk;
|
|
7
|
-
this.sdk = sdk;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export { RsdoctorFakeServer };
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import { Client, SDK } from "@rsdoctor/types";
|
|
2
|
-
import { Server } from "@rsdoctor/utils/build";
|
|
3
|
-
import sirv from "sirv";
|
|
4
|
-
import { Bundle, GlobalConfig, Lodash } from "@rsdoctor/utils/common";
|
|
5
|
-
import assert from "assert";
|
|
6
|
-
import body_parser from "body-parser";
|
|
7
|
-
import cors from "cors";
|
|
8
|
-
import { PassThrough } from "stream";
|
|
9
|
-
import { Socket } from "./socket/index.mjs";
|
|
10
|
-
import { Router } from "./router.mjs";
|
|
11
|
-
import { chalk, logger } from "@rsdoctor/utils/logger";
|
|
12
|
-
import { openBrowser } from "../utils/openBrowser.mjs";
|
|
13
|
-
import path from "path";
|
|
14
|
-
import { getLocalIpAddress } from "./utils.mjs";
|
|
15
|
-
export * from "./utils.mjs";
|
|
16
|
-
import * as __WEBPACK_EXTERNAL_MODULE__apis_index_mjs_fde2a3c6__ from "./apis/index.mjs";
|
|
17
|
-
class RsdoctorServer {
|
|
18
|
-
get app() {
|
|
19
|
-
return this._server.app;
|
|
20
|
-
}
|
|
21
|
-
get host() {
|
|
22
|
-
const host = getLocalIpAddress();
|
|
23
|
-
return host;
|
|
24
|
-
}
|
|
25
|
-
get origin() {
|
|
26
|
-
return `http://${this.host}:${this.port}`;
|
|
27
|
-
}
|
|
28
|
-
get socketUrl() {
|
|
29
|
-
return {
|
|
30
|
-
port: this.port,
|
|
31
|
-
socketUrl: `ws://localhost:${this.port}`
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
get innerClientPath() {
|
|
35
|
-
return this._innerClientPath;
|
|
36
|
-
}
|
|
37
|
-
async bootstrap() {
|
|
38
|
-
if (!this.disposed) return;
|
|
39
|
-
const port = Server.getPortSync(this.port);
|
|
40
|
-
this.port = port;
|
|
41
|
-
this._server = await Server.createServer(port);
|
|
42
|
-
this._socket = new Socket({
|
|
43
|
-
sdk: this.sdk,
|
|
44
|
-
server: this._server.server,
|
|
45
|
-
port: this.port
|
|
46
|
-
});
|
|
47
|
-
await this._socket.bootstrap();
|
|
48
|
-
GlobalConfig.writeMcpPort(this.port, this.sdk.name);
|
|
49
|
-
logger.debug(`Successfully wrote mcp.json for ${chalk.cyan(this.sdk.name)} builder`);
|
|
50
|
-
this.disposed = false;
|
|
51
|
-
this.app.use(cors());
|
|
52
|
-
this.app.use(body_parser.json({
|
|
53
|
-
limit: '500mb'
|
|
54
|
-
}));
|
|
55
|
-
const clientHtmlPath = this._innerClientPath ? this._innerClientPath : require.resolve('@rsdoctor/client');
|
|
56
|
-
const clientDistPath = path.resolve(clientHtmlPath, '..');
|
|
57
|
-
this.app.use(sirv(clientDistPath, {
|
|
58
|
-
dev: true
|
|
59
|
-
}));
|
|
60
|
-
await this._router.setup();
|
|
61
|
-
process.once('exit', this.dispose);
|
|
62
|
-
process.once('SIGINT', this.dispose);
|
|
63
|
-
process.once('SIGTERM', this.dispose);
|
|
64
|
-
process.once('unhandledRejection', this.dispose);
|
|
65
|
-
process.once('uncaughtException', this.dispose);
|
|
66
|
-
}
|
|
67
|
-
wrapNextHandleFunction(method, cb) {
|
|
68
|
-
return async (req, res, next)=>{
|
|
69
|
-
var _req_method;
|
|
70
|
-
const m = null == (_req_method = req.method) ? void 0 : _req_method.toUpperCase();
|
|
71
|
-
if (m === method) {
|
|
72
|
-
try {
|
|
73
|
-
const body = await cb(req, res, next);
|
|
74
|
-
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
75
|
-
res.setHeader('Access-Control-Allow-Credentials', 'true');
|
|
76
|
-
res.statusCode = 200;
|
|
77
|
-
if (Buffer.isBuffer(body)) {
|
|
78
|
-
res.setHeader('Content-Length', body.byteLength);
|
|
79
|
-
const ps = new PassThrough();
|
|
80
|
-
ps.write(body);
|
|
81
|
-
ps.end();
|
|
82
|
-
ps.pipe(res);
|
|
83
|
-
} else if (body && 'object' == typeof body) {
|
|
84
|
-
res.writeHead(200, {
|
|
85
|
-
'Content-Type': 'application/json;utf-8'
|
|
86
|
-
});
|
|
87
|
-
res.write(JSON.stringify(body));
|
|
88
|
-
res.end();
|
|
89
|
-
} else res.writeHead(200).end(body);
|
|
90
|
-
} catch (error) {
|
|
91
|
-
res.statusCode = 500;
|
|
92
|
-
res.end(error.message);
|
|
93
|
-
return next(error);
|
|
94
|
-
}
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
await next();
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
proxy(api, method, cb) {
|
|
101
|
-
let idx = this.app.stack.findIndex((e)=>e.route === api);
|
|
102
|
-
if (-1 === idx) idx = this.app.stack.length - 1;
|
|
103
|
-
this.app.stack.splice(idx, 0, {
|
|
104
|
-
route: api,
|
|
105
|
-
handle: this.wrapNextHandleFunction(method, cb)
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
getClientUrl(route = 'homepage', ...args) {
|
|
109
|
-
const relativeUrl = SDK.ServerAPI.API.EntryHtml;
|
|
110
|
-
switch(route){
|
|
111
|
-
case Client.RsdoctorClientRoutes.BundleDiff:
|
|
112
|
-
{
|
|
113
|
-
const [baseline, current] = args;
|
|
114
|
-
const qs = Bundle.getBundleDiffPageQueryString([
|
|
115
|
-
baseline,
|
|
116
|
-
current
|
|
117
|
-
]);
|
|
118
|
-
return `${relativeUrl}${qs}#${Client.RsdoctorClientRoutes.BundleDiff}`;
|
|
119
|
-
}
|
|
120
|
-
default:
|
|
121
|
-
return relativeUrl;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
async openClientPage(...args) {
|
|
125
|
-
const relativeUrl = this.getClientUrl(...args);
|
|
126
|
-
const needEncodeURI = arguments[0] === Client.RsdoctorClientRoutes.BundleDiff;
|
|
127
|
-
const url = `http://${this.host}:${this.port}${relativeUrl}`;
|
|
128
|
-
const localhostUrl = `http://localhost:${this.port}${relativeUrl}`;
|
|
129
|
-
await openBrowser(localhostUrl, !needEncodeURI);
|
|
130
|
-
if (this._printServerUrl) logger.info(`${chalk.green(`${this.sdk.name} compiler's`)} analyzer running on: ${chalk.cyan(url)}`);
|
|
131
|
-
}
|
|
132
|
-
sendAPIDataToClient(api, msg) {
|
|
133
|
-
var _this__socket;
|
|
134
|
-
null == (_this__socket = this._socket) || _this__socket.sendAPIData(api, msg);
|
|
135
|
-
}
|
|
136
|
-
async broadcast() {
|
|
137
|
-
var _this__socket;
|
|
138
|
-
await (null == (_this__socket = this._socket) ? void 0 : _this__socket.broadcast());
|
|
139
|
-
}
|
|
140
|
-
constructor(sdk, port = Server.defaultPort, config){
|
|
141
|
-
this.sdk = sdk;
|
|
142
|
-
this.disposed = true;
|
|
143
|
-
this.get = (route, cb)=>{
|
|
144
|
-
const { app } = this;
|
|
145
|
-
app.use(route, this.wrapNextHandleFunction('GET', cb));
|
|
146
|
-
return app;
|
|
147
|
-
};
|
|
148
|
-
this.post = (route, cb)=>{
|
|
149
|
-
const { app } = this;
|
|
150
|
-
app.use(route, this.wrapNextHandleFunction('POST', cb));
|
|
151
|
-
return app;
|
|
152
|
-
};
|
|
153
|
-
this.dispose = async ()=>{
|
|
154
|
-
if (this.disposed) return;
|
|
155
|
-
this.disposed = true;
|
|
156
|
-
if (this._server) await this._server.close();
|
|
157
|
-
if (this._socket) this._socket.dispose();
|
|
158
|
-
};
|
|
159
|
-
assert('number' == typeof port);
|
|
160
|
-
this.port = port;
|
|
161
|
-
this._router = new Router({
|
|
162
|
-
sdk,
|
|
163
|
-
server: this,
|
|
164
|
-
apis: Object.values(__WEBPACK_EXTERNAL_MODULE__apis_index_mjs_fde2a3c6__)
|
|
165
|
-
});
|
|
166
|
-
this._innerClientPath = (null == config ? void 0 : config.innerClientPath) || '';
|
|
167
|
-
this._printServerUrl = Lodash.isUndefined(null == config ? void 0 : config.printServerUrl) ? true : null == config ? void 0 : config.printServerUrl;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
export { RsdoctorServer };
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
class Router {
|
|
2
|
-
static get(pathname) {
|
|
3
|
-
return (target, propertyKey, descriptor)=>{
|
|
4
|
-
const routes = Router.routes.get;
|
|
5
|
-
if (!routes.has(target.constructor)) routes.set(target.constructor, []);
|
|
6
|
-
routes.get(target.constructor).push([
|
|
7
|
-
propertyKey,
|
|
8
|
-
pathname
|
|
9
|
-
]);
|
|
10
|
-
return descriptor;
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
static post(pathname) {
|
|
14
|
-
return (target, propertyKey, descriptor)=>{
|
|
15
|
-
const routes = Router.routes.post;
|
|
16
|
-
if (!routes.has(target.constructor)) routes.set(target.constructor, []);
|
|
17
|
-
routes.get(target.constructor).push([
|
|
18
|
-
propertyKey,
|
|
19
|
-
pathname
|
|
20
|
-
]);
|
|
21
|
-
return descriptor;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
async setup() {
|
|
25
|
-
const { apis, sdk, server } = this.options;
|
|
26
|
-
apis.forEach((API)=>{
|
|
27
|
-
const obj = new API(sdk, server);
|
|
28
|
-
Router.routes.get.forEach((v, cons)=>{
|
|
29
|
-
v.forEach(([key, pathname])=>{
|
|
30
|
-
if (cons === API) server.get(pathname, this.wrapAPIFunction(obj, key));
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
Router.routes.post.forEach((v, cons)=>{
|
|
34
|
-
v.forEach(([key, pathname])=>{
|
|
35
|
-
if (cons === API) server.post(pathname, this.wrapAPIFunction(obj, key));
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
wrapAPIFunction(api, key) {
|
|
41
|
-
const { sdk, server } = this.options;
|
|
42
|
-
return async (req, res)=>{
|
|
43
|
-
const ctx = {
|
|
44
|
-
req,
|
|
45
|
-
res,
|
|
46
|
-
sdk,
|
|
47
|
-
server
|
|
48
|
-
};
|
|
49
|
-
const trap = new Proxy(api, {
|
|
50
|
-
get (target, key, receiver) {
|
|
51
|
-
switch(key){
|
|
52
|
-
case 'ctx':
|
|
53
|
-
return ctx;
|
|
54
|
-
default:
|
|
55
|
-
return Reflect.get(target, key, receiver);
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
set (target, key, value, receiver) {
|
|
59
|
-
return Reflect.set(target, key, value, receiver);
|
|
60
|
-
},
|
|
61
|
-
defineProperty (target, p, attrs) {
|
|
62
|
-
return Reflect.defineProperty(target, p, attrs);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
const fn = api[key];
|
|
66
|
-
const result = await fn.call(trap, trap);
|
|
67
|
-
if ('string' == typeof result) return Buffer.from(result, 'utf-8');
|
|
68
|
-
if (result && 'object' == typeof result) return Buffer.from(JSON.stringify(result), 'utf-8');
|
|
69
|
-
return result;
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
constructor(options){
|
|
73
|
-
this.options = options;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
Router.routes = {
|
|
77
|
-
get: new Map(),
|
|
78
|
-
post: new Map()
|
|
79
|
-
};
|
|
80
|
-
export { Router };
|