phecda-server 1.5.1 → 2.0.1
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/index.d.ts +104 -38
- package/dist/index.js +31 -296
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +23 -280
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -55
- package/dist/axios-646333e3.d.ts +0 -136
- package/dist/client/index.d.ts +0 -10
- package/dist/client/index.js +0 -131
- package/dist/client/index.js.map +0 -1
- package/dist/client/index.mjs +0 -98
- package/dist/client/index.mjs.map +0 -1
- package/dist/unplugin/esbuild.d.ts +0 -7
- package/dist/unplugin/esbuild.js +0 -136
- package/dist/unplugin/esbuild.js.map +0 -1
- package/dist/unplugin/esbuild.mjs +0 -111
- package/dist/unplugin/esbuild.mjs.map +0 -1
- package/dist/unplugin/unplugin.d.ts +0 -7
- package/dist/unplugin/unplugin.js +0 -131
- package/dist/unplugin/unplugin.js.map +0 -1
- package/dist/unplugin/unplugin.mjs +0 -108
- package/dist/unplugin/unplugin.mjs.map +0 -1
- package/dist/unplugin/vite.d.ts +0 -7
- package/dist/unplugin/vite.js +0 -134
- package/dist/unplugin/vite.js.map +0 -1
- package/dist/unplugin/vite.mjs +0 -111
- package/dist/unplugin/vite.mjs.map +0 -1
- package/dist/unplugin/webpack.d.ts +0 -5
- package/dist/unplugin/webpack.js +0 -136
- package/dist/unplugin/webpack.js.map +0 -1
- package/dist/unplugin/webpack.mjs +0 -111
- package/dist/unplugin/webpack.mjs.map +0 -1
package/dist/client/index.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
|
|
21
|
-
// src/client/index.ts
|
|
22
|
-
var client_exports = {};
|
|
23
|
-
__export(client_exports, {
|
|
24
|
-
$S: () => $S,
|
|
25
|
-
createBeacon: () => createBeacon,
|
|
26
|
-
createParallelReq: () => createParallelReq,
|
|
27
|
-
createReq: () => createReq,
|
|
28
|
-
createSeriesReq: () => createSeriesReq,
|
|
29
|
-
isError: () => isError,
|
|
30
|
-
merge: () => merge,
|
|
31
|
-
toReq: () => toReq,
|
|
32
|
-
useC: () => useC
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(client_exports);
|
|
35
|
-
|
|
36
|
-
// src/common.ts
|
|
37
|
-
var SERIES_SYMBOL = "__symbol_series__";
|
|
38
|
-
|
|
39
|
-
// src/client/axios.ts
|
|
40
|
-
function toReq(arg) {
|
|
41
|
-
const { body, query, realParam, method, url } = arg;
|
|
42
|
-
return {
|
|
43
|
-
method,
|
|
44
|
-
url,
|
|
45
|
-
body,
|
|
46
|
-
query: Object.keys(query).length > 0 ? `?${Object.entries(query).map(([k, v]) => `${k}=${v}`).join("&")}` : "",
|
|
47
|
-
params: realParam
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
__name(toReq, "toReq");
|
|
51
|
-
var merge = /* @__PURE__ */ __name((...args) => {
|
|
52
|
-
const ret = [];
|
|
53
|
-
for (const i of args) {
|
|
54
|
-
const { body, query, params, tag } = i;
|
|
55
|
-
ret.push({
|
|
56
|
-
tag,
|
|
57
|
-
body,
|
|
58
|
-
query,
|
|
59
|
-
params
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
return ret;
|
|
63
|
-
}, "merge");
|
|
64
|
-
function createReq(instance) {
|
|
65
|
-
return (arg, config) => {
|
|
66
|
-
const { url, params, query, body, method } = toReq(arg);
|
|
67
|
-
if (!method) {
|
|
68
|
-
console.warn("methods without route decorator won't send request");
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const ret = [
|
|
72
|
-
`${url}${params}${query}`
|
|
73
|
-
];
|
|
74
|
-
body && ret.push(body);
|
|
75
|
-
config && ret.push(config);
|
|
76
|
-
return instance[method](...ret);
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
__name(createReq, "createReq");
|
|
80
|
-
function createSeriesReq(instance, key = "/__PHECDA_SERVER__") {
|
|
81
|
-
return (args, config) => {
|
|
82
|
-
return instance.post(key, {
|
|
83
|
-
category: "series",
|
|
84
|
-
data: merge(...args)
|
|
85
|
-
}, config);
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
__name(createSeriesReq, "createSeriesReq");
|
|
89
|
-
function createParallelReq(instance, key = "/__PHECDA_SERVER__") {
|
|
90
|
-
return (args, config) => {
|
|
91
|
-
return instance.post(key, {
|
|
92
|
-
category: "parallel",
|
|
93
|
-
data: merge(...args)
|
|
94
|
-
}, config);
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
__name(createParallelReq, "createParallelReq");
|
|
98
|
-
function isError(data) {
|
|
99
|
-
return typeof data === "object" && data.error;
|
|
100
|
-
}
|
|
101
|
-
__name(isError, "isError");
|
|
102
|
-
function $S(index, key = "") {
|
|
103
|
-
return `${SERIES_SYMBOL}@${index}@${key}`;
|
|
104
|
-
}
|
|
105
|
-
__name($S, "$S");
|
|
106
|
-
|
|
107
|
-
// src/client/index.ts
|
|
108
|
-
function createBeacon(baseUrl) {
|
|
109
|
-
return (arg) => {
|
|
110
|
-
const { url, params, query, body } = toReq(arg);
|
|
111
|
-
navigator.sendBeacon(`${baseUrl}${url}${params}${query}`, JSON.stringify(body));
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
__name(createBeacon, "createBeacon");
|
|
115
|
-
function useC(Module) {
|
|
116
|
-
return new Module();
|
|
117
|
-
}
|
|
118
|
-
__name(useC, "useC");
|
|
119
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
120
|
-
0 && (module.exports = {
|
|
121
|
-
$S,
|
|
122
|
-
createBeacon,
|
|
123
|
-
createParallelReq,
|
|
124
|
-
createReq,
|
|
125
|
-
createSeriesReq,
|
|
126
|
-
isError,
|
|
127
|
-
merge,
|
|
128
|
-
toReq,
|
|
129
|
-
useC
|
|
130
|
-
});
|
|
131
|
-
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/client/index.ts","../../src/common.ts","../../src/client/axios.ts"],"sourcesContent":["import { toReq } from './axios'\nexport * from './axios'\n\nexport function createBeacon(baseUrl: string) {\n return (arg: any) => {\n const { url, params, query, body } = toReq(arg as any)\n\n navigator.sendBeacon(`${baseUrl}${url}${params}${query}`, JSON.stringify(body))\n }\n}\n\nexport function useC<T extends new (...args: any) => any>(Module: T): InstanceType<T> {\n return new Module()\n}\n","export const SERIES_SYMBOL = '__symbol_series__'\nexport const MERGE_SYMBOL = '__symbol_req__'\n","import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'\nimport type { P, RequestType } from '../types'\nimport { SERIES_SYMBOL } from '../common'\ninterface RequestArgs {\n body: Record<string, any>\n query: Record<string, string>\n params: Record<string, string>\n realParam: string\n method: RequestType\n url: string\n tag: string\n}\ntype MergedReqArg = Pick<RequestArgs, 'body' | 'query' | 'params' | 'tag' >\nexport function toReq(arg: RequestArgs) {\n const { body, query, realParam, method, url } = arg\n return { method, url, body, query: Object.keys(query).length > 0 ? `?${Object.entries(query).map(([k, v]) => `${k}=${v}`).join('&')}` : '', params: realParam }\n}\n\nexport const merge = (...args: RequestArgs[]) => {\n const ret = [] as MergedReqArg[]\n for (const i of args) {\n const { body, query, params, tag } = i\n ret.push({ tag, body, query, params })\n }\n\n return ret\n}\n\nexport type RequestMethod = <F extends (...args: any[]) => any >(fn: F, args: Parameters<F>) => Promise<ReturnType<F>>\n\nexport function createReq(instance: AxiosInstance): <R>(arg: R, config?: AxiosRequestConfig) => Promise<AxiosResponse<P.Res<Awaited<R>>> > {\n // @ts-expect-error methods without route decorator won't send request\n return (arg: any, config?: AxiosRequestConfig) => {\n const { url, params, query, body, method } = toReq(arg as RequestArgs)\n if (!method) {\n console.warn('methods without route decorator won\\'t send request')\n return\n }\n\n const ret = [`${url}${params}${query}`] as any[]\n body && ret.push(body)\n config && ret.push(config)\n // @ts-expect-error misdirction\n return instance[method](...ret)\n }\n}\n\nexport function createSeriesReq(instance: AxiosInstance, key = '/__PHECDA_SERVER__'): < R extends unknown[]>(args: R, config?: AxiosRequestConfig) => Promise<AxiosResponse<P.ResOrErr<P.Res<R>>>> {\n // @ts-expect-error misdirction\n return (args: RequestArgs[], config?: AxiosRequestConfig) => {\n return instance.post(key, {\n category: 'series',\n data: merge(...args),\n }, config)\n }\n}\n\nexport function createParallelReq(instance: AxiosInstance, key = '/__PHECDA_SERVER__'): < R extends unknown[]>(args: R, config?: AxiosRequestConfig) => Promise<AxiosResponse<P.ResOrErr<P.Res<R>>>> {\n // @ts-expect-error misdirction\n return (args: RequestArgs[], config?: AxiosRequestConfig) => {\n return instance.post(key, {\n category: 'parallel',\n data: merge(...args),\n }, config)\n }\n}\n\nexport function isError<T = any>(data: T | P.Error): data is P.Error {\n return typeof data === 'object' && (data as any).error\n}\n\nexport function $S(index: number, key = ''): any {\n return `${SERIES_SYMBOL}@${index}@${key}`\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;ACAO,IAAMA,gBAAgB;;;ACatB,SAASC,MAAMC,KAAkB;AACtC,QAAM,EAAEC,MAAMC,OAAOC,WAAWC,QAAQC,IAAG,IAAKL;AAChD,SAAO;IAAEI;IAAQC;IAAKJ;IAAMC,OAAOI,OAAOC,KAAKL,KAAAA,EAAOM,SAAS,IAAI,IAAIF,OAAOG,QAAQP,KAAAA,EAAOQ,IAAI,CAAC,CAACC,GAAGC,CAAAA,MAAO,GAAGD,KAAKC,GAAG,EAAEC,KAAK,GAAA,MAAS;IAAIC,QAAQX;EAAU;AAChK;AAHgBJ;AAKT,IAAMgB,QAAQ,2BAAIC,SAAwB;AAC/C,QAAMC,MAAM,CAAA;AACZ,aAAWC,KAAKF,MAAM;AACpB,UAAM,EAAEf,MAAMC,OAAOY,QAAQK,IAAG,IAAKD;AACrCD,QAAIG,KAAK;MAAED;MAAKlB;MAAMC;MAAOY;IAAO,CAAA;EACtC;AAEA,SAAOG;AACT,GARqB;AAYd,SAASI,UAAUC,UAAiH;AAEzI,SAAO,CAACtB,KAAUuB,WAAgC;AAChD,UAAM,EAAElB,KAAKS,QAAQZ,OAAOD,MAAMG,OAAM,IAAKL,MAAMC,GAAAA;AACnD,QAAI,CAACI,QAAQ;AACXoB,cAAQC,KAAK,oDAAA;AACb;IACF;AAEA,UAAMR,MAAM;MAAC,GAAGZ,MAAMS,SAASZ;;AAC/BD,YAAQgB,IAAIG,KAAKnB,IAAAA;AACjBsB,cAAUN,IAAIG,KAAKG,MAAAA;AAEnB,WAAOD,SAASlB,QAAO,GAAIa,GAAAA;EAC7B;AACF;AAfgBI;AAiBT,SAASK,gBAAgBJ,UAAyBK,MAAM,sBAAoI;AAEjM,SAAO,CAACX,MAAqBO,WAAgC;AAC3D,WAAOD,SAASM,KAAKD,KAAK;MACxBE,UAAU;MACVC,MAAMf,MAAAA,GAASC,IAAAA;IACjB,GAAGO,MAAAA;EACL;AACF;AARgBG;AAUT,SAASK,kBAAkBT,UAAyBK,MAAM,sBAAoI;AAEnM,SAAO,CAACX,MAAqBO,WAAgC;AAC3D,WAAOD,SAASM,KAAKD,KAAK;MACxBE,UAAU;MACVC,MAAMf,MAAAA,GAASC,IAAAA;IACjB,GAAGO,MAAAA;EACL;AACF;AARgBQ;AAUT,SAASC,QAAiBF,MAAoC;AACnE,SAAO,OAAOA,SAAS,YAAaA,KAAaG;AACnD;AAFgBD;AAIT,SAASE,GAAGC,OAAeR,MAAM,IAAS;AAC/C,SAAO,GAAGS,iBAAiBD,SAASR;AACtC;AAFgBO;;;AFpET,SAASG,aAAaC,SAAiB;AAC5C,SAAO,CAACC,QAAa;AACnB,UAAM,EAAEC,KAAKC,QAAQC,OAAOC,KAAI,IAAKC,MAAML,GAAAA;AAE3CM,cAAUC,WAAW,GAAGR,UAAUE,MAAMC,SAASC,SAASK,KAAKC,UAAUL,IAAAA,CAAAA;EAC3E;AACF;AANgBN;AAQT,SAASY,KAA0CC,QAA4B;AACpF,SAAO,IAAIA,OAAAA;AACb;AAFgBD;","names":["SERIES_SYMBOL","toReq","arg","body","query","realParam","method","url","Object","keys","length","entries","map","k","v","join","params","merge","args","ret","i","tag","push","createReq","instance","config","console","warn","createSeriesReq","key","post","category","data","createParallelReq","isError","error","$S","index","SERIES_SYMBOL","createBeacon","baseUrl","arg","url","params","query","body","toReq","navigator","sendBeacon","JSON","stringify","useC","Module"]}
|
package/dist/client/index.mjs
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/common.ts
|
|
5
|
-
var SERIES_SYMBOL = "__symbol_series__";
|
|
6
|
-
|
|
7
|
-
// src/client/axios.ts
|
|
8
|
-
function toReq(arg) {
|
|
9
|
-
const { body, query, realParam, method, url } = arg;
|
|
10
|
-
return {
|
|
11
|
-
method,
|
|
12
|
-
url,
|
|
13
|
-
body,
|
|
14
|
-
query: Object.keys(query).length > 0 ? `?${Object.entries(query).map(([k, v]) => `${k}=${v}`).join("&")}` : "",
|
|
15
|
-
params: realParam
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
__name(toReq, "toReq");
|
|
19
|
-
var merge = /* @__PURE__ */ __name((...args) => {
|
|
20
|
-
const ret = [];
|
|
21
|
-
for (const i of args) {
|
|
22
|
-
const { body, query, params, tag } = i;
|
|
23
|
-
ret.push({
|
|
24
|
-
tag,
|
|
25
|
-
body,
|
|
26
|
-
query,
|
|
27
|
-
params
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
return ret;
|
|
31
|
-
}, "merge");
|
|
32
|
-
function createReq(instance) {
|
|
33
|
-
return (arg, config) => {
|
|
34
|
-
const { url, params, query, body, method } = toReq(arg);
|
|
35
|
-
if (!method) {
|
|
36
|
-
console.warn("methods without route decorator won't send request");
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const ret = [
|
|
40
|
-
`${url}${params}${query}`
|
|
41
|
-
];
|
|
42
|
-
body && ret.push(body);
|
|
43
|
-
config && ret.push(config);
|
|
44
|
-
return instance[method](...ret);
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
__name(createReq, "createReq");
|
|
48
|
-
function createSeriesReq(instance, key = "/__PHECDA_SERVER__") {
|
|
49
|
-
return (args, config) => {
|
|
50
|
-
return instance.post(key, {
|
|
51
|
-
category: "series",
|
|
52
|
-
data: merge(...args)
|
|
53
|
-
}, config);
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
__name(createSeriesReq, "createSeriesReq");
|
|
57
|
-
function createParallelReq(instance, key = "/__PHECDA_SERVER__") {
|
|
58
|
-
return (args, config) => {
|
|
59
|
-
return instance.post(key, {
|
|
60
|
-
category: "parallel",
|
|
61
|
-
data: merge(...args)
|
|
62
|
-
}, config);
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
__name(createParallelReq, "createParallelReq");
|
|
66
|
-
function isError(data) {
|
|
67
|
-
return typeof data === "object" && data.error;
|
|
68
|
-
}
|
|
69
|
-
__name(isError, "isError");
|
|
70
|
-
function $S(index, key = "") {
|
|
71
|
-
return `${SERIES_SYMBOL}@${index}@${key}`;
|
|
72
|
-
}
|
|
73
|
-
__name($S, "$S");
|
|
74
|
-
|
|
75
|
-
// src/client/index.ts
|
|
76
|
-
function createBeacon(baseUrl) {
|
|
77
|
-
return (arg) => {
|
|
78
|
-
const { url, params, query, body } = toReq(arg);
|
|
79
|
-
navigator.sendBeacon(`${baseUrl}${url}${params}${query}`, JSON.stringify(body));
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
__name(createBeacon, "createBeacon");
|
|
83
|
-
function useC(Module) {
|
|
84
|
-
return new Module();
|
|
85
|
-
}
|
|
86
|
-
__name(useC, "useC");
|
|
87
|
-
export {
|
|
88
|
-
$S,
|
|
89
|
-
createBeacon,
|
|
90
|
-
createParallelReq,
|
|
91
|
-
createReq,
|
|
92
|
-
createSeriesReq,
|
|
93
|
-
isError,
|
|
94
|
-
merge,
|
|
95
|
-
toReq,
|
|
96
|
-
useC
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/common.ts","../../src/client/axios.ts","../../src/client/index.ts"],"sourcesContent":["export const SERIES_SYMBOL = '__symbol_series__'\nexport const MERGE_SYMBOL = '__symbol_req__'\n","import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'\nimport type { P, RequestType } from '../types'\nimport { SERIES_SYMBOL } from '../common'\ninterface RequestArgs {\n body: Record<string, any>\n query: Record<string, string>\n params: Record<string, string>\n realParam: string\n method: RequestType\n url: string\n tag: string\n}\ntype MergedReqArg = Pick<RequestArgs, 'body' | 'query' | 'params' | 'tag' >\nexport function toReq(arg: RequestArgs) {\n const { body, query, realParam, method, url } = arg\n return { method, url, body, query: Object.keys(query).length > 0 ? `?${Object.entries(query).map(([k, v]) => `${k}=${v}`).join('&')}` : '', params: realParam }\n}\n\nexport const merge = (...args: RequestArgs[]) => {\n const ret = [] as MergedReqArg[]\n for (const i of args) {\n const { body, query, params, tag } = i\n ret.push({ tag, body, query, params })\n }\n\n return ret\n}\n\nexport type RequestMethod = <F extends (...args: any[]) => any >(fn: F, args: Parameters<F>) => Promise<ReturnType<F>>\n\nexport function createReq(instance: AxiosInstance): <R>(arg: R, config?: AxiosRequestConfig) => Promise<AxiosResponse<P.Res<Awaited<R>>> > {\n // @ts-expect-error methods without route decorator won't send request\n return (arg: any, config?: AxiosRequestConfig) => {\n const { url, params, query, body, method } = toReq(arg as RequestArgs)\n if (!method) {\n console.warn('methods without route decorator won\\'t send request')\n return\n }\n\n const ret = [`${url}${params}${query}`] as any[]\n body && ret.push(body)\n config && ret.push(config)\n // @ts-expect-error misdirction\n return instance[method](...ret)\n }\n}\n\nexport function createSeriesReq(instance: AxiosInstance, key = '/__PHECDA_SERVER__'): < R extends unknown[]>(args: R, config?: AxiosRequestConfig) => Promise<AxiosResponse<P.ResOrErr<P.Res<R>>>> {\n // @ts-expect-error misdirction\n return (args: RequestArgs[], config?: AxiosRequestConfig) => {\n return instance.post(key, {\n category: 'series',\n data: merge(...args),\n }, config)\n }\n}\n\nexport function createParallelReq(instance: AxiosInstance, key = '/__PHECDA_SERVER__'): < R extends unknown[]>(args: R, config?: AxiosRequestConfig) => Promise<AxiosResponse<P.ResOrErr<P.Res<R>>>> {\n // @ts-expect-error misdirction\n return (args: RequestArgs[], config?: AxiosRequestConfig) => {\n return instance.post(key, {\n category: 'parallel',\n data: merge(...args),\n }, config)\n }\n}\n\nexport function isError<T = any>(data: T | P.Error): data is P.Error {\n return typeof data === 'object' && (data as any).error\n}\n\nexport function $S(index: number, key = ''): any {\n return `${SERIES_SYMBOL}@${index}@${key}`\n}\n","import { toReq } from './axios'\nexport * from './axios'\n\nexport function createBeacon(baseUrl: string) {\n return (arg: any) => {\n const { url, params, query, body } = toReq(arg as any)\n\n navigator.sendBeacon(`${baseUrl}${url}${params}${query}`, JSON.stringify(body))\n }\n}\n\nexport function useC<T extends new (...args: any) => any>(Module: T): InstanceType<T> {\n return new Module()\n}\n"],"mappings":";;;;AAAO,IAAMA,gBAAgB;;;ACatB,SAASC,MAAMC,KAAkB;AACtC,QAAM,EAAEC,MAAMC,OAAOC,WAAWC,QAAQC,IAAG,IAAKL;AAChD,SAAO;IAAEI;IAAQC;IAAKJ;IAAMC,OAAOI,OAAOC,KAAKL,KAAAA,EAAOM,SAAS,IAAI,IAAIF,OAAOG,QAAQP,KAAAA,EAAOQ,IAAI,CAAC,CAACC,GAAGC,CAAAA,MAAO,GAAGD,KAAKC,GAAG,EAAEC,KAAK,GAAA,MAAS;IAAIC,QAAQX;EAAU;AAChK;AAHgBJ;AAKT,IAAMgB,QAAQ,2BAAIC,SAAwB;AAC/C,QAAMC,MAAM,CAAA;AACZ,aAAWC,KAAKF,MAAM;AACpB,UAAM,EAAEf,MAAMC,OAAOY,QAAQK,IAAG,IAAKD;AACrCD,QAAIG,KAAK;MAAED;MAAKlB;MAAMC;MAAOY;IAAO,CAAA;EACtC;AAEA,SAAOG;AACT,GARqB;AAYd,SAASI,UAAUC,UAAiH;AAEzI,SAAO,CAACtB,KAAUuB,WAAgC;AAChD,UAAM,EAAElB,KAAKS,QAAQZ,OAAOD,MAAMG,OAAM,IAAKL,MAAMC,GAAAA;AACnD,QAAI,CAACI,QAAQ;AACXoB,cAAQC,KAAK,oDAAA;AACb;IACF;AAEA,UAAMR,MAAM;MAAC,GAAGZ,MAAMS,SAASZ;;AAC/BD,YAAQgB,IAAIG,KAAKnB,IAAAA;AACjBsB,cAAUN,IAAIG,KAAKG,MAAAA;AAEnB,WAAOD,SAASlB,QAAO,GAAIa,GAAAA;EAC7B;AACF;AAfgBI;AAiBT,SAASK,gBAAgBJ,UAAyBK,MAAM,sBAAoI;AAEjM,SAAO,CAACX,MAAqBO,WAAgC;AAC3D,WAAOD,SAASM,KAAKD,KAAK;MACxBE,UAAU;MACVC,MAAMf,MAAAA,GAASC,IAAAA;IACjB,GAAGO,MAAAA;EACL;AACF;AARgBG;AAUT,SAASK,kBAAkBT,UAAyBK,MAAM,sBAAoI;AAEnM,SAAO,CAACX,MAAqBO,WAAgC;AAC3D,WAAOD,SAASM,KAAKD,KAAK;MACxBE,UAAU;MACVC,MAAMf,MAAAA,GAASC,IAAAA;IACjB,GAAGO,MAAAA;EACL;AACF;AARgBQ;AAUT,SAASC,QAAiBF,MAAoC;AACnE,SAAO,OAAOA,SAAS,YAAaA,KAAaG;AACnD;AAFgBD;AAIT,SAASE,GAAGC,OAAeR,MAAM,IAAS;AAC/C,SAAO,GAAGS,iBAAiBD,SAASR;AACtC;AAFgBO;;;ACpET,SAASG,aAAaC,SAAiB;AAC5C,SAAO,CAACC,QAAa;AACnB,UAAM,EAAEC,KAAKC,QAAQC,OAAOC,KAAI,IAAKC,MAAML,GAAAA;AAE3CM,cAAUC,WAAW,GAAGR,UAAUE,MAAMC,SAASC,SAASK,KAAKC,UAAUL,IAAAA,CAAAA;EAC3E;AACF;AANgBN;AAQT,SAASY,KAA0CC,QAA4B;AACpF,SAAO,IAAIA,OAAAA;AACb;AAFgBD;","names":["SERIES_SYMBOL","toReq","arg","body","query","realParam","method","url","Object","keys","length","entries","map","k","v","join","params","merge","args","ret","i","tag","push","createReq","instance","config","console","warn","createSeriesReq","key","post","category","data","createParallelReq","isError","error","$S","index","SERIES_SYMBOL","createBeacon","baseUrl","arg","url","params","query","body","toReq","navigator","sendBeacon","JSON","stringify","useC","Module"]}
|
package/dist/unplugin/esbuild.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
|
|
21
|
-
// src/unplugin/esbuild.ts
|
|
22
|
-
var esbuild_exports = {};
|
|
23
|
-
__export(esbuild_exports, {
|
|
24
|
-
Server: () => Server
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(esbuild_exports);
|
|
27
|
-
|
|
28
|
-
// src/unplugin/unplugin.ts
|
|
29
|
-
var import_path = require("path");
|
|
30
|
-
var import_unplugin = require("unplugin");
|
|
31
|
-
|
|
32
|
-
// src/compiler.ts
|
|
33
|
-
var Compiler = class {
|
|
34
|
-
classMap = {};
|
|
35
|
-
name;
|
|
36
|
-
constructor() {
|
|
37
|
-
}
|
|
38
|
-
getContent() {
|
|
39
|
-
let content = "";
|
|
40
|
-
for (const name in this.classMap) {
|
|
41
|
-
content += `
|
|
42
|
-
export class ${name}{
|
|
43
|
-
${Object.values(this.classMap[name]).reduce((p, c) => p + c)}
|
|
44
|
-
}`;
|
|
45
|
-
}
|
|
46
|
-
return content;
|
|
47
|
-
}
|
|
48
|
-
createRequest() {
|
|
49
|
-
let content = "import {useC} from 'phecda-server'\n";
|
|
50
|
-
for (const name in this.classMap)
|
|
51
|
-
content += `export const {${Object.keys(this.classMap[name]).join(",")}}=useC(${name})
|
|
52
|
-
`;
|
|
53
|
-
return content;
|
|
54
|
-
}
|
|
55
|
-
addMethod(args) {
|
|
56
|
-
const { route: { route = "/", type = "get" } = {}, name, method, params, tag } = args;
|
|
57
|
-
const url = route.replace(/\/\:([^\/]*)/g, "");
|
|
58
|
-
this.name = name;
|
|
59
|
-
if (!this.classMap[name])
|
|
60
|
-
this.classMap[name] = {};
|
|
61
|
-
this.classMap[name][method] = `
|
|
62
|
-
${method}(${genParams(params)}){
|
|
63
|
-
const ret={tag:"${tag}-${method}",body:{},query:{},params:{},realParam:'',method:"${type}",url:"${url}"}
|
|
64
|
-
${params.filter((item) => item.key).reduce((p, c, i) => `${p}ret.${c.type}.${c.key}=arg${i}
|
|
65
|
-
${c.type === "params" ? `ret.realParam+='/'+arg${i}
|
|
66
|
-
` : ""}`, "")}
|
|
67
|
-
return ret
|
|
68
|
-
}
|
|
69
|
-
`;
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
__name(Compiler, "Compiler");
|
|
73
|
-
function genParams(decorators) {
|
|
74
|
-
return decorators.map((_, i) => {
|
|
75
|
-
return `${`arg${i}`}`;
|
|
76
|
-
}).join(",");
|
|
77
|
-
}
|
|
78
|
-
__name(genParams, "genParams");
|
|
79
|
-
|
|
80
|
-
// src/unplugin/unplugin.ts
|
|
81
|
-
var unplugin = (0, import_unplugin.createUnplugin)((options = {}) => {
|
|
82
|
-
const { localPath = "pmeta.js" } = options;
|
|
83
|
-
let command;
|
|
84
|
-
const metaPath = (0, import_path.resolve)(process.cwd(), localPath).replace(/\\/g, "/");
|
|
85
|
-
return {
|
|
86
|
-
name: "phecda-server:client",
|
|
87
|
-
enforce: "pre",
|
|
88
|
-
vite: {
|
|
89
|
-
configResolved(config) {
|
|
90
|
-
command = config.command;
|
|
91
|
-
},
|
|
92
|
-
buildStart() {
|
|
93
|
-
if (command !== "serve") {
|
|
94
|
-
this.emitFile({
|
|
95
|
-
type: "chunk",
|
|
96
|
-
id: metaPath,
|
|
97
|
-
fileName: localPath,
|
|
98
|
-
preserveSignature: "allow-extension"
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
resolveId(id) {
|
|
104
|
-
if (id.endsWith(".controller"))
|
|
105
|
-
return metaPath;
|
|
106
|
-
},
|
|
107
|
-
transform(code) {
|
|
108
|
-
const meta = JSON.parse(code);
|
|
109
|
-
const compiler = new Compiler();
|
|
110
|
-
for (const i of meta)
|
|
111
|
-
compiler.addMethod(i);
|
|
112
|
-
if (command !== "serve") {
|
|
113
|
-
this.emitFile({
|
|
114
|
-
type: "asset",
|
|
115
|
-
fileName: `${compiler.name}.client.ts`,
|
|
116
|
-
needsCodeReference: false,
|
|
117
|
-
source: compiler.createRequest()
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
code: compiler.getContent()
|
|
122
|
-
};
|
|
123
|
-
},
|
|
124
|
-
transformInclude(id) {
|
|
125
|
-
return id === metaPath;
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
// src/unplugin/esbuild.ts
|
|
131
|
-
var Server = unplugin.esbuild;
|
|
132
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
133
|
-
0 && (module.exports = {
|
|
134
|
-
Server
|
|
135
|
-
});
|
|
136
|
-
//# sourceMappingURL=esbuild.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/unplugin/esbuild.ts","../../src/unplugin/unplugin.ts","../../src/compiler.ts"],"sourcesContent":["import { unplugin } from './unplugin'\nexport const Server = unplugin.esbuild\n","import { resolve } from 'path'\nimport { createUnplugin } from 'unplugin'\nimport { Compiler } from '../compiler'\nimport type { P } from '../types'\n\nexport const unplugin = createUnplugin((options: { localPath?: string } = {}) => {\n const { localPath = 'pmeta.js' } = options\n\n let command: string\n const metaPath = resolve(process.cwd(), localPath).replace(/\\\\/g, '/')\n\n return {\n name: 'phecda-server:client',\n enforce: 'pre',\n vite: {\n configResolved(config) {\n command = config.command\n },\n\n buildStart() {\n if (command !== 'serve') {\n this.emitFile({\n type: 'chunk',\n id: metaPath,\n fileName: localPath,\n preserveSignature: 'allow-extension',\n })\n }\n },\n\n },\n resolveId(id) {\n if (id.endsWith('.controller'))\n\n return metaPath\n },\n transform(code) {\n const meta = JSON.parse(code) as P.Meta[]\n const compiler = new Compiler()\n\n for (const i of meta)\n compiler.addMethod(i)\n\n if (command !== 'serve') {\n this.emitFile({\n type: 'asset',\n fileName: `${compiler.name}.client.ts`,\n needsCodeReference: false,\n source: compiler.createRequest(),\n })\n }\n\n return { code: compiler.getContent() }\n },\n\n transformInclude(id) {\n return id === metaPath\n },\n\n }\n})\n","import type { P } from './types'\n\nexport class Compiler {\n classMap: Record<string, { [key: string]: string }> = {}\n name: string\n constructor() { }\n\n getContent() {\n let content = ''\n\n for (const name in this.classMap) {\n content += `\n export class ${name}{\n ${Object.values(this.classMap[name]).reduce((p, c) => p + c)}\n }`\n }\n return content\n }\n\n createRequest() {\n let content = 'import {useC} from \\'phecda-server\\'\\n'\n for (const name in this.classMap)\n content += `export const {${Object.keys(this.classMap[name]).join(',')}}=useC(${name})\\n`\n return content\n }\n\n addMethod(args: P.Meta) {\n const {\n route: {\n route = '/',\n type = 'get',\n } = {}, name, method, params, tag,\n } = args\n const url = route.replace(/\\/\\:([^\\/]*)/g, '')\n this.name = name\n if (!this.classMap[name])\n this.classMap[name] = {}\n this.classMap[name][method] = `\n ${method}(${genParams(params)}){\nconst ret={tag:\"${tag}-${method}\",body:{},query:{},params:{},realParam:'',method:\"${type}\",url:\"${url}\"}\n${params.filter(item => item.key).reduce((p, c, i) => `${p}ret.${c.type}.${c.key}=arg${i}\\n${c.type === 'params' ? `ret.realParam+='/'+arg${i}\\n` : ''}`, '')}\nreturn ret\n }\n `\n }\n}\n\nfunction genParams(decorators: any[]) {\n return decorators.map((_, i) => {\n return `${`arg${i}`}`\n }).join(',')\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,kBAAwB;AACxB,sBAA+B;;;ACCxB,IAAMA,WAAN,MAAMA;EACXC,WAAsD,CAAC;EACvDC;EACAC,cAAc;EAAE;EAEhBC,aAAa;AACX,QAAIC,UAAU;AAEd,eAAWH,QAAQ,KAAKD,UAAU;AAChCI,iBAAW;uBACMH;cACTI,OAAOC,OAAO,KAAKN,SAASC,KAAK,EAAEM,OAAO,CAACC,GAAGC,MAAMD,IAAIC,CAAAA;;IAElE;AACA,WAAOL;EACT;EAEAM,gBAAgB;AACd,QAAIN,UAAU;AACd,eAAWH,QAAQ,KAAKD;AACtBI,iBAAW,iBAAiBC,OAAOM,KAAK,KAAKX,SAASC,KAAK,EAAEW,KAAK,GAAA,WAAcX;;AAClF,WAAOG;EACT;EAEAS,UAAUC,MAAc;AACtB,UAAM,EACJC,OAAO,EACLA,QAAQ,KACRC,OAAO,MAAK,IACV,CAAC,GAAGf,MAAMgB,QAAQC,QAAQC,IAAG,IAC/BL;AACJ,UAAMM,MAAML,MAAMM,QAAQ,iBAAiB,EAAA;AAC3C,SAAKpB,OAAOA;AACZ,QAAI,CAAC,KAAKD,SAASC;AACjB,WAAKD,SAASC,QAAQ,CAAC;AACzB,SAAKD,SAASC,MAAMgB,UAAU;MAC5BA,UAAUK,UAAUJ,MAAAA;kBACRC,OAAOF,2DAA2DD,cAAcI;EAChGF,OAAOK,OAAOC,CAAAA,SAAQA,KAAKC,GAAG,EAAElB,OAAO,CAACC,GAAGC,GAAGiB,MAAM,GAAGlB,QAAQC,EAAEO,QAAQP,EAAEgB,UAAUC;EAAMjB,EAAEO,SAAS,WAAW,yBAAyBU;IAAQ,MAAM,EAAA;;;;EAIxJ;AACF;AA3Ca3B;AA6Cb,SAASuB,UAAUK,YAAmB;AACpC,SAAOA,WAAWC,IAAI,CAACC,GAAGH,MAAM;AAC9B,WAAO,GAAG,MAAMA;EAClB,CAAA,EAAGd,KAAK,GAAA;AACV;AAJSU;;;AD1CF,IAAMQ,eAAWC,gCAAe,CAACC,UAAkC,CAAC,MAAM;AAC/E,QAAM,EAAEC,YAAY,WAAU,IAAKD;AAEnC,MAAIE;AACJ,QAAMC,eAAWC,qBAAQC,QAAQC,IAAG,GAAIL,SAAAA,EAAWM,QAAQ,OAAO,GAAA;AAElE,SAAO;IACLC,MAAM;IACNC,SAAS;IACTC,MAAM;MACJC,eAAeC,QAAQ;AACrBV,kBAAUU,OAAOV;MACnB;MAEAW,aAAa;AACX,YAAIX,YAAY,SAAS;AACvB,eAAKY,SAAS;YACZC,MAAM;YACNC,IAAIb;YACJc,UAAUhB;YACViB,mBAAmB;UACrB,CAAA;QACF;MACF;IAEF;IACAC,UAAUH,IAAI;AACZ,UAAIA,GAAGI,SAAS,aAAA;AAEd,eAAOjB;IACX;IACAkB,UAAUC,MAAM;AACd,YAAMC,OAAOC,KAAKC,MAAMH,IAAAA;AACxB,YAAMI,WAAW,IAAIC,SAAAA;AAErB,iBAAWC,KAAKL;AACdG,iBAASG,UAAUD,CAAAA;AAErB,UAAI1B,YAAY,SAAS;AACvB,aAAKY,SAAS;UACZC,MAAM;UACNE,UAAU,GAAGS,SAASlB;UACtBsB,oBAAoB;UACpBC,QAAQL,SAASM,cAAa;QAChC,CAAA;MACF;AAEA,aAAO;QAAEV,MAAMI,SAASO,WAAU;MAAG;IACvC;IAEAC,iBAAiBlB,IAAI;AACnB,aAAOA,OAAOb;IAChB;EAEF;AACF,CAAA;;;AD3DO,IAAMgC,SAASC,SAASC;","names":["Compiler","classMap","name","constructor","getContent","content","Object","values","reduce","p","c","createRequest","keys","join","addMethod","args","route","type","method","params","tag","url","replace","genParams","filter","item","key","i","decorators","map","_","unplugin","createUnplugin","options","localPath","command","metaPath","resolve","process","cwd","replace","name","enforce","vite","configResolved","config","buildStart","emitFile","type","id","fileName","preserveSignature","resolveId","endsWith","transform","code","meta","JSON","parse","compiler","Compiler","i","addMethod","needsCodeReference","source","createRequest","getContent","transformInclude","Server","unplugin","esbuild"]}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/unplugin/unplugin.ts
|
|
5
|
-
import { resolve } from "path";
|
|
6
|
-
import { createUnplugin } from "unplugin";
|
|
7
|
-
|
|
8
|
-
// src/compiler.ts
|
|
9
|
-
var Compiler = class {
|
|
10
|
-
classMap = {};
|
|
11
|
-
name;
|
|
12
|
-
constructor() {
|
|
13
|
-
}
|
|
14
|
-
getContent() {
|
|
15
|
-
let content = "";
|
|
16
|
-
for (const name in this.classMap) {
|
|
17
|
-
content += `
|
|
18
|
-
export class ${name}{
|
|
19
|
-
${Object.values(this.classMap[name]).reduce((p, c) => p + c)}
|
|
20
|
-
}`;
|
|
21
|
-
}
|
|
22
|
-
return content;
|
|
23
|
-
}
|
|
24
|
-
createRequest() {
|
|
25
|
-
let content = "import {useC} from 'phecda-server'\n";
|
|
26
|
-
for (const name in this.classMap)
|
|
27
|
-
content += `export const {${Object.keys(this.classMap[name]).join(",")}}=useC(${name})
|
|
28
|
-
`;
|
|
29
|
-
return content;
|
|
30
|
-
}
|
|
31
|
-
addMethod(args) {
|
|
32
|
-
const { route: { route = "/", type = "get" } = {}, name, method, params, tag } = args;
|
|
33
|
-
const url = route.replace(/\/\:([^\/]*)/g, "");
|
|
34
|
-
this.name = name;
|
|
35
|
-
if (!this.classMap[name])
|
|
36
|
-
this.classMap[name] = {};
|
|
37
|
-
this.classMap[name][method] = `
|
|
38
|
-
${method}(${genParams(params)}){
|
|
39
|
-
const ret={tag:"${tag}-${method}",body:{},query:{},params:{},realParam:'',method:"${type}",url:"${url}"}
|
|
40
|
-
${params.filter((item) => item.key).reduce((p, c, i) => `${p}ret.${c.type}.${c.key}=arg${i}
|
|
41
|
-
${c.type === "params" ? `ret.realParam+='/'+arg${i}
|
|
42
|
-
` : ""}`, "")}
|
|
43
|
-
return ret
|
|
44
|
-
}
|
|
45
|
-
`;
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
__name(Compiler, "Compiler");
|
|
49
|
-
function genParams(decorators) {
|
|
50
|
-
return decorators.map((_, i) => {
|
|
51
|
-
return `${`arg${i}`}`;
|
|
52
|
-
}).join(",");
|
|
53
|
-
}
|
|
54
|
-
__name(genParams, "genParams");
|
|
55
|
-
|
|
56
|
-
// src/unplugin/unplugin.ts
|
|
57
|
-
var unplugin = createUnplugin((options = {}) => {
|
|
58
|
-
const { localPath = "pmeta.js" } = options;
|
|
59
|
-
let command;
|
|
60
|
-
const metaPath = resolve(process.cwd(), localPath).replace(/\\/g, "/");
|
|
61
|
-
return {
|
|
62
|
-
name: "phecda-server:client",
|
|
63
|
-
enforce: "pre",
|
|
64
|
-
vite: {
|
|
65
|
-
configResolved(config) {
|
|
66
|
-
command = config.command;
|
|
67
|
-
},
|
|
68
|
-
buildStart() {
|
|
69
|
-
if (command !== "serve") {
|
|
70
|
-
this.emitFile({
|
|
71
|
-
type: "chunk",
|
|
72
|
-
id: metaPath,
|
|
73
|
-
fileName: localPath,
|
|
74
|
-
preserveSignature: "allow-extension"
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
resolveId(id) {
|
|
80
|
-
if (id.endsWith(".controller"))
|
|
81
|
-
return metaPath;
|
|
82
|
-
},
|
|
83
|
-
transform(code) {
|
|
84
|
-
const meta = JSON.parse(code);
|
|
85
|
-
const compiler = new Compiler();
|
|
86
|
-
for (const i of meta)
|
|
87
|
-
compiler.addMethod(i);
|
|
88
|
-
if (command !== "serve") {
|
|
89
|
-
this.emitFile({
|
|
90
|
-
type: "asset",
|
|
91
|
-
fileName: `${compiler.name}.client.ts`,
|
|
92
|
-
needsCodeReference: false,
|
|
93
|
-
source: compiler.createRequest()
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
return {
|
|
97
|
-
code: compiler.getContent()
|
|
98
|
-
};
|
|
99
|
-
},
|
|
100
|
-
transformInclude(id) {
|
|
101
|
-
return id === metaPath;
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
// src/unplugin/esbuild.ts
|
|
107
|
-
var Server = unplugin.esbuild;
|
|
108
|
-
export {
|
|
109
|
-
Server
|
|
110
|
-
};
|
|
111
|
-
//# sourceMappingURL=esbuild.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/unplugin/unplugin.ts","../../src/compiler.ts","../../src/unplugin/esbuild.ts"],"sourcesContent":["import { resolve } from 'path'\nimport { createUnplugin } from 'unplugin'\nimport { Compiler } from '../compiler'\nimport type { P } from '../types'\n\nexport const unplugin = createUnplugin((options: { localPath?: string } = {}) => {\n const { localPath = 'pmeta.js' } = options\n\n let command: string\n const metaPath = resolve(process.cwd(), localPath).replace(/\\\\/g, '/')\n\n return {\n name: 'phecda-server:client',\n enforce: 'pre',\n vite: {\n configResolved(config) {\n command = config.command\n },\n\n buildStart() {\n if (command !== 'serve') {\n this.emitFile({\n type: 'chunk',\n id: metaPath,\n fileName: localPath,\n preserveSignature: 'allow-extension',\n })\n }\n },\n\n },\n resolveId(id) {\n if (id.endsWith('.controller'))\n\n return metaPath\n },\n transform(code) {\n const meta = JSON.parse(code) as P.Meta[]\n const compiler = new Compiler()\n\n for (const i of meta)\n compiler.addMethod(i)\n\n if (command !== 'serve') {\n this.emitFile({\n type: 'asset',\n fileName: `${compiler.name}.client.ts`,\n needsCodeReference: false,\n source: compiler.createRequest(),\n })\n }\n\n return { code: compiler.getContent() }\n },\n\n transformInclude(id) {\n return id === metaPath\n },\n\n }\n})\n","import type { P } from './types'\n\nexport class Compiler {\n classMap: Record<string, { [key: string]: string }> = {}\n name: string\n constructor() { }\n\n getContent() {\n let content = ''\n\n for (const name in this.classMap) {\n content += `\n export class ${name}{\n ${Object.values(this.classMap[name]).reduce((p, c) => p + c)}\n }`\n }\n return content\n }\n\n createRequest() {\n let content = 'import {useC} from \\'phecda-server\\'\\n'\n for (const name in this.classMap)\n content += `export const {${Object.keys(this.classMap[name]).join(',')}}=useC(${name})\\n`\n return content\n }\n\n addMethod(args: P.Meta) {\n const {\n route: {\n route = '/',\n type = 'get',\n } = {}, name, method, params, tag,\n } = args\n const url = route.replace(/\\/\\:([^\\/]*)/g, '')\n this.name = name\n if (!this.classMap[name])\n this.classMap[name] = {}\n this.classMap[name][method] = `\n ${method}(${genParams(params)}){\nconst ret={tag:\"${tag}-${method}\",body:{},query:{},params:{},realParam:'',method:\"${type}\",url:\"${url}\"}\n${params.filter(item => item.key).reduce((p, c, i) => `${p}ret.${c.type}.${c.key}=arg${i}\\n${c.type === 'params' ? `ret.realParam+='/'+arg${i}\\n` : ''}`, '')}\nreturn ret\n }\n `\n }\n}\n\nfunction genParams(decorators: any[]) {\n return decorators.map((_, i) => {\n return `${`arg${i}`}`\n }).join(',')\n}\n","import { unplugin } from './unplugin'\nexport const Server = unplugin.esbuild\n"],"mappings":";;;;AAAA,SAASA,eAAe;AACxB,SAASC,sBAAsB;;;ACCxB,IAAMC,WAAN,MAAMA;EACXC,WAAsD,CAAC;EACvDC;EACAC,cAAc;EAAE;EAEhBC,aAAa;AACX,QAAIC,UAAU;AAEd,eAAWH,QAAQ,KAAKD,UAAU;AAChCI,iBAAW;uBACMH;cACTI,OAAOC,OAAO,KAAKN,SAASC,KAAK,EAAEM,OAAO,CAACC,GAAGC,MAAMD,IAAIC,CAAAA;;IAElE;AACA,WAAOL;EACT;EAEAM,gBAAgB;AACd,QAAIN,UAAU;AACd,eAAWH,QAAQ,KAAKD;AACtBI,iBAAW,iBAAiBC,OAAOM,KAAK,KAAKX,SAASC,KAAK,EAAEW,KAAK,GAAA,WAAcX;;AAClF,WAAOG;EACT;EAEAS,UAAUC,MAAc;AACtB,UAAM,EACJC,OAAO,EACLA,QAAQ,KACRC,OAAO,MAAK,IACV,CAAC,GAAGf,MAAMgB,QAAQC,QAAQC,IAAG,IAC/BL;AACJ,UAAMM,MAAML,MAAMM,QAAQ,iBAAiB,EAAA;AAC3C,SAAKpB,OAAOA;AACZ,QAAI,CAAC,KAAKD,SAASC;AACjB,WAAKD,SAASC,QAAQ,CAAC;AACzB,SAAKD,SAASC,MAAMgB,UAAU;MAC5BA,UAAUK,UAAUJ,MAAAA;kBACRC,OAAOF,2DAA2DD,cAAcI;EAChGF,OAAOK,OAAOC,CAAAA,SAAQA,KAAKC,GAAG,EAAElB,OAAO,CAACC,GAAGC,GAAGiB,MAAM,GAAGlB,QAAQC,EAAEO,QAAQP,EAAEgB,UAAUC;EAAMjB,EAAEO,SAAS,WAAW,yBAAyBU;IAAQ,MAAM,EAAA;;;;EAIxJ;AACF;AA3Ca3B;AA6Cb,SAASuB,UAAUK,YAAmB;AACpC,SAAOA,WAAWC,IAAI,CAACC,GAAGH,MAAM;AAC9B,WAAO,GAAG,MAAMA;EAClB,CAAA,EAAGd,KAAK,GAAA;AACV;AAJSU;;;AD1CF,IAAMQ,WAAWC,eAAe,CAACC,UAAkC,CAAC,MAAM;AAC/E,QAAM,EAAEC,YAAY,WAAU,IAAKD;AAEnC,MAAIE;AACJ,QAAMC,WAAWC,QAAQC,QAAQC,IAAG,GAAIL,SAAAA,EAAWM,QAAQ,OAAO,GAAA;AAElE,SAAO;IACLC,MAAM;IACNC,SAAS;IACTC,MAAM;MACJC,eAAeC,QAAQ;AACrBV,kBAAUU,OAAOV;MACnB;MAEAW,aAAa;AACX,YAAIX,YAAY,SAAS;AACvB,eAAKY,SAAS;YACZC,MAAM;YACNC,IAAIb;YACJc,UAAUhB;YACViB,mBAAmB;UACrB,CAAA;QACF;MACF;IAEF;IACAC,UAAUH,IAAI;AACZ,UAAIA,GAAGI,SAAS,aAAA;AAEd,eAAOjB;IACX;IACAkB,UAAUC,MAAM;AACd,YAAMC,OAAOC,KAAKC,MAAMH,IAAAA;AACxB,YAAMI,WAAW,IAAIC,SAAAA;AAErB,iBAAWC,KAAKL;AACdG,iBAASG,UAAUD,CAAAA;AAErB,UAAI1B,YAAY,SAAS;AACvB,aAAKY,SAAS;UACZC,MAAM;UACNE,UAAU,GAAGS,SAASlB;UACtBsB,oBAAoB;UACpBC,QAAQL,SAASM,cAAa;QAChC,CAAA;MACF;AAEA,aAAO;QAAEV,MAAMI,SAASO,WAAU;MAAG;IACvC;IAEAC,iBAAiBlB,IAAI;AACnB,aAAOA,OAAOb;IAChB;EAEF;AACF,CAAA;;;AE3DO,IAAMgC,SAASC,SAASC;","names":["resolve","createUnplugin","Compiler","classMap","name","constructor","getContent","content","Object","values","reduce","p","c","createRequest","keys","join","addMethod","args","route","type","method","params","tag","url","replace","genParams","filter","item","key","i","decorators","map","_","unplugin","createUnplugin","options","localPath","command","metaPath","resolve","process","cwd","replace","name","enforce","vite","configResolved","config","buildStart","emitFile","type","id","fileName","preserveSignature","resolveId","endsWith","transform","code","meta","JSON","parse","compiler","Compiler","i","addMethod","needsCodeReference","source","createRequest","getContent","transformInclude","Server","unplugin","esbuild"]}
|