@dooboostore/simple-boot-http-server-ssr 1.0.12 → 1.0.14
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/README.MD +1 -3
- package/dist/cjs/filters/IntentSchemeFilter.js.map +2 -2
- package/dist/cjs/filters/SSRDomParserFilter.js +186 -0
- package/dist/cjs/filters/SSRDomParserFilter.js.map +7 -0
- package/dist/cjs/filters/SSRFilter.js +1 -1
- package/dist/cjs/filters/SSRFilter.js.map +2 -2
- package/dist/cjs/filters/SSRLinkDomDomFilter.js +183 -0
- package/dist/cjs/filters/SSRLinkDomDomFilter.js.map +7 -0
- package/dist/cjs/initializers/DomParserInitializer.js +79 -0
- package/dist/cjs/initializers/DomParserInitializer.js.map +7 -0
- package/dist/cjs/initializers/LinkedomInitializer.js +81 -0
- package/dist/cjs/initializers/LinkedomInitializer.js.map +7 -0
- package/dist/cjs/proxy/SymbolIntentApiServiceProxy.js +85 -73
- package/dist/cjs/proxy/SymbolIntentApiServiceProxy.js.map +2 -2
- package/dist/cjs/proxy/SymbolIntentApiServiceProxyBase.js +2 -77
- package/dist/cjs/proxy/SymbolIntentApiServiceProxyBase.js.map +2 -2
- package/dist/esm/filters/IntentSchemeFilter.js.map +2 -2
- package/dist/esm/filters/SSRDomParserFilter.js +163 -0
- package/dist/esm/filters/SSRDomParserFilter.js.map +7 -0
- package/dist/esm/filters/SSRFilter.js +1 -1
- package/dist/esm/filters/SSRFilter.js.map +2 -2
- package/dist/esm/filters/SSRLinkDomDomFilter.js +160 -0
- package/dist/esm/filters/SSRLinkDomDomFilter.js.map +7 -0
- package/dist/esm/initializers/DomParserInitializer.js +46 -0
- package/dist/esm/initializers/DomParserInitializer.js.map +7 -0
- package/dist/esm/initializers/LinkedomInitializer.js +48 -0
- package/dist/esm/initializers/LinkedomInitializer.js.map +7 -0
- package/dist/esm/proxy/SymbolIntentApiServiceProxy.js +85 -73
- package/dist/esm/proxy/SymbolIntentApiServiceProxy.js.map +2 -2
- package/dist/esm/proxy/SymbolIntentApiServiceProxyBase.js +2 -77
- package/dist/esm/proxy/SymbolIntentApiServiceProxyBase.js.map +2 -2
- package/dist/esm-bundle/dooboostore-simple-boot-http-server-ssr.esm.js +1184 -525
- package/dist/esm-bundle/dooboostore-simple-boot-http-server-ssr.esm.js.map +4 -4
- package/dist/types/filters/IntentSchemeFilter.d.ts.map +1 -1
- package/dist/types/filters/SSRDomParserFilter.d.ts +57 -0
- package/dist/types/filters/SSRDomParserFilter.d.ts.map +1 -0
- package/dist/types/filters/SSRLinkDomDomFilter.d.ts +57 -0
- package/dist/types/filters/SSRLinkDomDomFilter.d.ts.map +1 -0
- package/dist/types/index.d.ts +0 -19
- package/dist/types/initializers/DomParserInitializer.d.ts +11 -0
- package/dist/types/initializers/DomParserInitializer.d.ts.map +1 -0
- package/dist/types/initializers/LinkedomInitializer.d.ts +11 -0
- package/dist/types/initializers/LinkedomInitializer.d.ts.map +1 -0
- package/dist/types/proxy/SymbolIntentApiServiceProxy.d.ts +2 -0
- package/dist/types/proxy/SymbolIntentApiServiceProxy.d.ts.map +1 -1
- package/dist/types/proxy/SymbolIntentApiServiceProxyBase.d.ts +0 -8
- package/dist/types/proxy/SymbolIntentApiServiceProxyBase.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-simple-boot-http-server-ssr.umd.js +1184 -525
- package/dist/umd-bundle/dooboostore-simple-boot-http-server-ssr.umd.js.map +4 -4
- package/package.json +16 -14
- package/src/filters/IntentSchemeFilter.ts +51 -48
- package/src/filters/SSRDomParserFilter.ts +233 -0
- package/src/filters/SSRFilter.ts +2 -2
- package/src/filters/SSRLinkDomDomFilter.ts +227 -0
- package/src/initializers/DomParserInitializer.ts +70 -0
- package/src/initializers/LinkedomInitializer.ts +69 -0
- package/src/proxy/SymbolIntentApiServiceProxy.ts +100 -116
- package/src/proxy/SymbolIntentApiServiceProxyBase.ts +7 -85
- package/tsconfig.json +2 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/initializers/LinkedomInitializer.ts"],
|
|
4
|
+
"sourcesContent": ["import fs from 'fs';\nimport path from 'path';\nimport { parseHTML } from 'linkedom';\n\nexport class LinkedomInitializer {\n constructor(\n private frontDistPath: string,\n private frontDistIndexFileName: string,\n private reconfigureSettings?: {url: string}\n ) {}\n\n public static loadFile(distPath: string, filePath: string): string {\n return fs.readFileSync(path.join(distPath, filePath), 'utf8');\n }\n\n async run(): Promise<Window> {\n // const indexHTML = fs.readFileSync(path.join(this.frontDistPath, 'index.html'), 'utf8');\n // const indexHTML = JsdomInitializer.loadFile(this.frontDistPath, this.frontDistIndexFileName);\n const pathStr = path.join(this.frontDistPath, this.frontDistIndexFileName);\n\n const html = fs.readFileSync(pathStr,'utf8');\n\n const w = parseHTML(html);\n // @ts-ignore\n // w.location ??= { href: 'about:blank'};\n // if(this.reconfigureSettings?.url){\n // console.log('--',w,w.location);\n // @ts-ignore\n // w.location.href = this.reconfigureSettings.url;\n // }\n // console.log('!!!!!!!!!!!', html, w.document);\n // @ts-ignore\n global.document = w.document;\n // @ts-ignore\n global.window = w as unknown as Window & typeof globalThis;\n // @ts-ignore\n global.window.requestAnimationFrame = () => {};\n global.window.scrollTo = () => {};\n // @ts-ignore\n global.history = w.history;\n global.Event = w.Event;\n // @ts-ignore\n global.PopStateEvent = w.Event;\n global.IntersectionObserver = w.IntersectionObserver;\n // @ts-ignore\n // global.Error = ErrorBase;\n // @ts-ignore\n // global.navigator = w.navigator;\n global.NodeFilter = w.NodeFilter;\n global.Node = w.Node;\n global.DocumentFragment = w.DocumentFragment;\n global.HTMLElement = w.HTMLElement;\n global.HTMLMetaElement = w.HTMLMetaElement;\n global.Element = w.Element;\n global.HTMLCanvasElement = w.HTMLCanvasElement;\n global.HTMLCanvasElement.prototype.getContext = () => {\n return null;\n };\n global.CanvasRenderingContext2D = w.CanvasRenderingContext2D;\n global.CanvasPattern = w.CanvasPattern;\n global.CanvasGradient = w.CanvasGradient;\n global.Path2D = w.Path2D;\n global.ImageData = w.ImageData;\n // console.log('cvvvvvvvvvvvvvv', w.Node.DOCUMENT_FRAGMENT_NODE);\n return w;\n }\n}\n//\n// export default new JsdomInitializer();\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAS,iBAAiB;AAEnB,MAAM,oBAAoB;AAAA,EAC/B,YACU,eACA,wBACA,qBACR;AAHQ;AACA;AACA;AAAA,EACP;AAAA,EAEH,OAAc,SAAS,UAAkB,UAA0B;AACjE,WAAO,GAAG,aAAa,KAAK,KAAK,UAAU,QAAQ,GAAG,MAAM;AAAA,EAC9D;AAAA,EAEA,MAAM,MAAuB;AAG3B,UAAM,UAAU,KAAK,KAAK,KAAK,eAAe,KAAK,sBAAsB;AAEzE,UAAM,OAAO,GAAG,aAAa,SAAQ,MAAM;AAE3C,UAAM,IAAI,UAAU,IAAI;AAUxB,WAAO,WAAW,EAAE;AAEpB,WAAO,SAAS;AAEhB,WAAO,OAAO,wBAAwB,MAAM;AAAA,IAAC;AAC7C,WAAO,OAAO,WAAW,MAAM;AAAA,IAAC;AAEhC,WAAO,UAAU,EAAE;AACnB,WAAO,QAAQ,EAAE;AAEjB,WAAO,gBAAgB,EAAE;AACzB,WAAO,uBAAuB,EAAE;AAKhC,WAAO,aAAa,EAAE;AACtB,WAAO,OAAO,EAAE;AAChB,WAAO,mBAAmB,EAAE;AAC5B,WAAO,cAAc,EAAE;AACvB,WAAO,kBAAkB,EAAE;AAC3B,WAAO,UAAU,EAAE;AACnB,WAAO,oBAAoB,EAAE;AAC7B,WAAO,kBAAkB,UAAU,aAAa,MAAM;AACpD,aAAO;AAAA,IACT;AACA,WAAO,2BAA2B,EAAE;AACpC,WAAO,gBAAgB,EAAE;AACzB,WAAO,iBAAiB,EAAE;AAC1B,WAAO,SAAS,EAAE;AAClB,WAAO,YAAY,EAAE;AAErB,WAAO;AAAA,EACT;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -7,93 +7,105 @@ var __decorate = function(decorators, target, key, desc) {
|
|
|
7
7
|
var __metadata = function(k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
+
var SymbolIntentApiServiceProxy_1;
|
|
10
11
|
var _a;
|
|
11
12
|
import { getSim, Sim } from "@dooboostore/simple-boot/decorators/SimDecorator";
|
|
12
13
|
import { makeIntentHeaderBySymbol } from "../codes/HttpHeaders.js";
|
|
13
14
|
import { ConvertUtils } from "@dooboostore/core/convert/ConvertUtils";
|
|
14
15
|
import { ApiService } from "@dooboostore/simple-boot/fetch/ApiService";
|
|
15
16
|
const _ = ApiService;
|
|
16
|
-
let SymbolIntentApiServiceProxy = class SymbolIntentApiServiceProxy2 {
|
|
17
|
+
let SymbolIntentApiServiceProxy = SymbolIntentApiServiceProxy_1 = class SymbolIntentApiServiceProxy2 {
|
|
17
18
|
constructor(apiService) {
|
|
18
19
|
this.apiService = apiService;
|
|
19
|
-
console.log("-------apiService", apiService);
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
21
|
+
static createHandler(apiService) {
|
|
22
|
+
return {
|
|
23
|
+
get(target, prop, receiver) {
|
|
24
|
+
const simConfig = getSim(target);
|
|
25
|
+
const value = Reflect.get(target, prop, receiver);
|
|
26
|
+
if (typeof value === "function" && simConfig?.symbol) {
|
|
27
|
+
return function(...args) {
|
|
28
|
+
const f = value;
|
|
29
|
+
const p = (userConfig) => {
|
|
30
|
+
const headers = { ...userConfig?.headers ?? {}, ...makeIntentHeaderBySymbol(simConfig.symbol) };
|
|
31
|
+
const method = userConfig?.method ?? "post";
|
|
32
|
+
if (method === "post" && userConfig?.multipartFormData) {
|
|
33
|
+
return apiService.post({
|
|
34
|
+
target: `/${String(prop)}`,
|
|
35
|
+
config: {
|
|
36
|
+
bypassTransform: userConfig?.bypassTransform,
|
|
37
|
+
transformText: userConfig?.transformText,
|
|
38
|
+
config: userConfig?.config,
|
|
39
|
+
fetch: {
|
|
40
|
+
credentials: "include",
|
|
41
|
+
headers,
|
|
42
|
+
body: ConvertUtils.toFormData(userConfig?.body)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
} else if (method === "post") {
|
|
47
|
+
return apiService.postJson({
|
|
48
|
+
target: `/${String(prop)}`,
|
|
49
|
+
config: {
|
|
50
|
+
bypassTransform: userConfig?.bypassTransform,
|
|
51
|
+
transformText: userConfig?.transformText,
|
|
52
|
+
config: userConfig?.config,
|
|
53
|
+
fetch: {
|
|
54
|
+
credentials: "include",
|
|
55
|
+
headers,
|
|
56
|
+
body: userConfig?.body
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
} else if (method === "petch") {
|
|
61
|
+
return apiService.patchJson({
|
|
62
|
+
target: `/${String(prop)}`,
|
|
63
|
+
config: {
|
|
64
|
+
bypassTransform: userConfig?.bypassTransform,
|
|
65
|
+
transformText: userConfig?.transformText,
|
|
66
|
+
config: userConfig?.config,
|
|
67
|
+
fetch: {
|
|
68
|
+
credentials: "include",
|
|
69
|
+
headers,
|
|
70
|
+
body: userConfig?.body
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
} else {
|
|
75
|
+
return apiService[method]({
|
|
76
|
+
target: { url: `/${String(prop)}`, searchParams: userConfig?.body },
|
|
77
|
+
config: {
|
|
78
|
+
bypassTransform: userConfig?.bypassTransform,
|
|
79
|
+
transformText: userConfig?.transformText,
|
|
80
|
+
config: userConfig?.config,
|
|
81
|
+
fetch: {
|
|
82
|
+
credentials: "include",
|
|
83
|
+
headers
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
68
87
|
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
};
|
|
85
|
-
args.push(p);
|
|
86
|
-
return Reflect.apply(f, target, args);
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
return Reflect.get(target, prop, receiver);
|
|
88
|
+
};
|
|
89
|
+
args.push(p);
|
|
90
|
+
return Reflect.apply(f, target, args);
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
return Reflect.get(target, prop, receiver);
|
|
94
|
+
},
|
|
95
|
+
apply(target, thisArg, argArray) {
|
|
96
|
+
console.log("SymbolIntentApiServiceProxy apply");
|
|
97
|
+
return Reflect.apply(target, thisArg, argArray);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
get(target, prop, receiver) {
|
|
102
|
+
return SymbolIntentApiServiceProxy_1.createHandler(this.apiService).get(target, prop, receiver);
|
|
90
103
|
}
|
|
91
104
|
apply(target, thisArg, argArray) {
|
|
92
|
-
|
|
93
|
-
return Reflect.apply(target, thisArg, argArray);
|
|
105
|
+
return SymbolIntentApiServiceProxy_1.createHandler(this.apiService).apply(target, thisArg, argArray);
|
|
94
106
|
}
|
|
95
107
|
};
|
|
96
|
-
SymbolIntentApiServiceProxy = __decorate([
|
|
108
|
+
SymbolIntentApiServiceProxy = SymbolIntentApiServiceProxy_1 = __decorate([
|
|
97
109
|
Sim,
|
|
98
110
|
__metadata("design:paramtypes", [typeof (_a = typeof ApiService !== "undefined" && ApiService) === "function" ? _a : Object])
|
|
99
111
|
], SymbolIntentApiServiceProxy);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/proxy/SymbolIntentApiServiceProxy.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import {getSim, Sim} from '@dooboostore/simple-boot/decorators/SimDecorator';\nimport {makeIntentHeaderBySymbol} from '../codes/HttpHeaders';\nimport {ConvertUtils} from '@dooboostore/core/convert/ConvertUtils';\nimport {ApiService} from '@dooboostore/simple-boot/fetch/ApiService';\n\n\nexport type Config<T = any> = {\n method?: 'get' | 'post' | 'petch' | 'delete' | 'head',\n multipartFormData?: boolean,\n bypassTransform?: boolean;\n transformText?: boolean,\n headers?: HeadersInit,\n body?: T,\n config?: ApiService.ApiServiceConfig\n};\nconst _ = ApiService;\n\n@Sim\nexport class SymbolIntentApiServiceProxy<T extends object> implements ProxyHandler<T> {\n\n constructor(private apiService: ApiService) {\n // console.log('-------apiService', apiService);\n }\n\n static createHandler<T extends object>(apiService: ApiService): ProxyHandler<T> {\n return {\n get(target: T, prop: string | symbol, receiver: any): any {\n const simConfig = getSim(target)\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === 'function' && simConfig?.symbol) {\n return function (...args: any[]) {\n const f = value as Function;\n const p = (userConfig: Config) => {\n const headers = {...(userConfig?.headers ?? {}), ...makeIntentHeaderBySymbol(simConfig.symbol as Symbol)};\n const method = userConfig?.method ?? 'post';\n if (method === 'post' && userConfig?.multipartFormData) {\n return apiService.post({\n target: `/${String(prop)}`,\n config: {\n bypassTransform: userConfig?.bypassTransform,\n transformText: userConfig?.transformText,\n config: userConfig?.config,\n fetch: {\n credentials: 'include',\n headers: headers,\n body: ConvertUtils.toFormData(userConfig?.body)\n }\n }\n });\n } else if (method === 'post') {\n return apiService.postJson({\n target: `/${String(prop)}`,\n config: {\n bypassTransform: userConfig?.bypassTransform,\n transformText: userConfig?.transformText,\n config: userConfig?.config,\n fetch: {\n credentials: 'include',\n headers: headers,\n body: userConfig?.body\n }\n }\n });\n } else if (method === 'petch') {\n return apiService.patchJson({\n target: `/${String(prop)}`,\n config: {\n bypassTransform: userConfig?.bypassTransform,\n transformText: userConfig?.transformText,\n config: userConfig?.config,\n fetch: {\n credentials: 'include',\n headers: headers,\n body: userConfig?.body\n }\n }\n });\n } else {\n return apiService[method]({\n target: {url: `/${String(prop)}`, searchParams: userConfig?.body},\n config: {\n bypassTransform: userConfig?.bypassTransform,\n transformText: userConfig?.transformText,\n config: userConfig?.config,\n fetch: {\n credentials: 'include',\n headers: headers,\n }\n }\n });\n }\n };\n args.push(p);\n return Reflect.apply(f, target, args);\n }\n }\n return Reflect.get(target, prop, receiver);\n },\n\n apply(target: T, thisArg: any, argArray: any[]): any {\n console.log('SymbolIntentApiServiceProxy apply')\n // @ts-ignore\n return Reflect.apply(target, thisArg, argArray);\n }\n };\n }\n\n get(target: T, prop: string | symbol, receiver: any): any {\n return SymbolIntentApiServiceProxy.createHandler<T>(this.apiService).get!(target, prop, receiver);\n }\n\n apply(target: T, thisArg: any, argArray: any[]): any {\n return SymbolIntentApiServiceProxy.createHandler<T>(this.apiService).apply!(target, thisArg, argArray);\n }\n}"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;AAAA,SAAQ,QAAQ,WAAU;AAC1B,SAAQ,gCAA+B;AACvC,SAAQ,oBAAmB;AAC3B,SAAQ,kBAAiB;AAYzB,MAAM,IAAI;AAGH,IAAM,8BAA2B,gCAAjC,MAAMA,6BAA2B;EAEtC,YAAoB,YAAsB;AAAtB,SAAA,aAAA;EAEpB;EAEA,OAAO,cAAgC,YAAsB;AAC3D,WAAO;MACL,IAAI,QAAW,MAAuB,UAAa;AACjD,cAAM,YAAY,OAAO,MAAM;AAC/B,cAAM,QAAQ,QAAQ,IAAI,QAAQ,MAAM,QAAQ;AAChD,YAAI,OAAO,UAAU,cAAc,WAAW,QAAQ;AACpD,iBAAO,YAAa,MAAW;AAC7B,kBAAM,IAAI;AACV,kBAAM,IAAI,CAAC,eAAsB;AAC/B,oBAAM,UAAU,EAAC,GAAI,YAAY,WAAW,CAAA,GAAK,GAAG,yBAAyB,UAAU,MAAgB,EAAC;AACxG,oBAAM,SAAS,YAAY,UAAU;AACrC,kBAAI,WAAW,UAAU,YAAY,mBAAmB;AACtD,uBAAO,WAAW,KAAK;kBACrB,QAAQ,IAAI,OAAO,IAAI,CAAC;kBACxB,QAAQ;oBACN,iBAAiB,YAAY;oBAC7B,eAAe,YAAY;oBAC3B,QAAQ,YAAY;oBACpB,OAAO;sBACL,aAAa;sBACb;sBACA,MAAM,aAAa,WAAW,YAAY,IAAI;;;iBAGnD;cACH,WAAW,WAAW,QAAQ;AAC5B,uBAAO,WAAW,SAAS;kBACzB,QAAQ,IAAI,OAAO,IAAI,CAAC;kBACxB,QAAQ;oBACN,iBAAiB,YAAY;oBAC7B,eAAe,YAAY;oBAC3B,QAAQ,YAAY;oBACpB,OAAO;sBACL,aAAa;sBACb;sBACA,MAAM,YAAY;;;iBAGvB;cACH,WAAW,WAAW,SAAS;AAC7B,uBAAO,WAAW,UAAU;kBAC1B,QAAQ,IAAI,OAAO,IAAI,CAAC;kBACxB,QAAQ;oBACN,iBAAiB,YAAY;oBAC7B,eAAe,YAAY;oBAC3B,QAAQ,YAAY;oBACpB,OAAO;sBACL,aAAa;sBACb;sBACA,MAAM,YAAY;;;iBAGvB;cACH,OAAO;AACL,uBAAO,WAAW,MAAM,EAAE;kBACxB,QAAQ,EAAC,KAAK,IAAI,OAAO,IAAI,CAAC,IAAI,cAAc,YAAY,KAAI;kBAChE,QAAQ;oBACN,iBAAiB,YAAY;oBAC7B,eAAe,YAAY;oBAC3B,QAAQ,YAAY;oBACpB,OAAO;sBACL,aAAa;sBACb;;;iBAGL;cACH;YACF;AACA,iBAAK,KAAK,CAAC;AACX,mBAAO,QAAQ,MAAM,GAAG,QAAQ,IAAI;UACtC;QACF;AACA,eAAO,QAAQ,IAAI,QAAQ,MAAM,QAAQ;MAC3C;MAEA,MAAM,QAAW,SAAc,UAAe;AAC5C,gBAAQ,IAAI,mCAAmC;AAE/C,eAAO,QAAQ,MAAM,QAAQ,SAAS,QAAQ;MAChD;;EAEJ;EAEA,IAAI,QAAW,MAAuB,UAAa;AACjD,WAAO,8BAA4B,cAAiB,KAAK,UAAU,EAAE,IAAK,QAAQ,MAAM,QAAQ;EAClG;EAEA,MAAM,QAAW,SAAc,UAAe;AAC5C,WAAO,8BAA4B,cAAiB,KAAK,UAAU,EAAE,MAAO,QAAQ,SAAS,QAAQ;EACvG;;AA/FW,8BAA2B,gCAAA,WAAA;EADvC;uDAGiC,eAAU,eAAV,gBAAU,aAAA,KAAA,MAAA,CAAA;GAF/B,2BAA2B;",
|
|
6
6
|
"names": ["SymbolIntentApiServiceProxy"]
|
|
7
7
|
}
|
|
@@ -1,83 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { makeIntentHeaderBySymbol } from "../codes/HttpHeaders.js";
|
|
3
|
-
import { ConvertUtils } from "@dooboostore/core/convert/ConvertUtils";
|
|
1
|
+
import { SymbolIntentApiServiceProxy } from "./SymbolIntentApiServiceProxy.js";
|
|
4
2
|
class SymbolIntentApiServiceProxyBase {
|
|
5
3
|
// 생성자는 프록시될 대상 객체(target)와 의존성을 주입받습니다.
|
|
6
4
|
constructor(apiService) {
|
|
7
|
-
const handler =
|
|
8
|
-
get(target, prop, receiver) {
|
|
9
|
-
const simConfig = getSim(target);
|
|
10
|
-
const value = Reflect.get(target, prop, receiver);
|
|
11
|
-
if (typeof value === "function" && simConfig?.symbol) {
|
|
12
|
-
return function(...args) {
|
|
13
|
-
const f = value;
|
|
14
|
-
const p = (userConfig) => {
|
|
15
|
-
const headers = { ...userConfig?.headers ?? {}, ...makeIntentHeaderBySymbol(simConfig.symbol) };
|
|
16
|
-
const method = userConfig?.method ?? "post";
|
|
17
|
-
if (method === "post" && userConfig?.multipartFormData) {
|
|
18
|
-
return apiService.post({
|
|
19
|
-
target: `/${String(prop)}`,
|
|
20
|
-
config: {
|
|
21
|
-
bypassTransform: userConfig?.bypassTransform,
|
|
22
|
-
transformText: userConfig?.transformText,
|
|
23
|
-
fetch: {
|
|
24
|
-
credentials: "include",
|
|
25
|
-
headers,
|
|
26
|
-
body: ConvertUtils.toFormData(userConfig?.body)
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
} else if (method === "post") {
|
|
31
|
-
return apiService.postJson({
|
|
32
|
-
target: `/${String(prop)}`,
|
|
33
|
-
config: {
|
|
34
|
-
bypassTransform: userConfig?.bypassTransform,
|
|
35
|
-
transformText: userConfig?.transformText,
|
|
36
|
-
fetch: {
|
|
37
|
-
credentials: "include",
|
|
38
|
-
headers,
|
|
39
|
-
body: userConfig?.body
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
} else if (method === "petch") {
|
|
44
|
-
return apiService.patchJson({
|
|
45
|
-
target: `/${String(prop)}`,
|
|
46
|
-
config: {
|
|
47
|
-
bypassTransform: userConfig?.bypassTransform,
|
|
48
|
-
transformText: userConfig?.transformText,
|
|
49
|
-
fetch: {
|
|
50
|
-
credentials: "include",
|
|
51
|
-
headers,
|
|
52
|
-
body: userConfig?.body
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
} else {
|
|
57
|
-
return apiService[method]({
|
|
58
|
-
target: { url: `/${String(prop)}`, searchParams: userConfig?.body },
|
|
59
|
-
config: {
|
|
60
|
-
bypassTransform: userConfig?.bypassTransform,
|
|
61
|
-
transformText: userConfig?.transformText,
|
|
62
|
-
fetch: {
|
|
63
|
-
credentials: "include",
|
|
64
|
-
headers
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
args.push(p);
|
|
71
|
-
return Reflect.apply(f, target, args);
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
return Reflect.get(target, prop, receiver);
|
|
75
|
-
},
|
|
76
|
-
apply(target, thisArg, argArray) {
|
|
77
|
-
console.log("SymbolIntentApiServiceProxyBase apply (from handler)");
|
|
78
|
-
return Reflect.apply(target, thisArg, argArray);
|
|
79
|
-
}
|
|
80
|
-
};
|
|
5
|
+
const handler = SymbolIntentApiServiceProxy.createHandler(apiService);
|
|
81
6
|
return new Proxy(this, handler);
|
|
82
7
|
}
|
|
83
8
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/proxy/SymbolIntentApiServiceProxyBase.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import {getSim, Sim} from '@dooboostore/simple-boot/decorators/SimDecorator';\nimport {makeIntentHeaderBySymbol} from '../codes/HttpHeaders';\nimport {ConvertUtils} from '@dooboostore/core/convert/ConvertUtils';\nimport {ApiService} from '@dooboostore/simple-boot/fetch/ApiService';\nimport {SymbolIntentApiServiceProxy} from './SymbolIntentApiServiceProxy';\n\nexport class SymbolIntentApiServiceProxyBase<T extends object = any> {\n // \uC0DD\uC131\uC790\uB294 \uD504\uB85D\uC2DC\uB420 \uB300\uC0C1 \uAC1D\uCCB4(target)\uC640 \uC758\uC874\uC131\uC744 \uC8FC\uC785\uBC1B\uC2B5\uB2C8\uB2E4.\n constructor(\n apiService: ApiService,\n ) {\n // SymbolIntentApiServiceProxy\uC758 static handler\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.\n const handler = SymbolIntentApiServiceProxy.createHandler<T>(apiService);\n\n // \uC0DD\uC131\uC790\uC5D0\uC11C Proxy \uAC1D\uCCB4\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4.\n // @ts-ignore\n return new Proxy(this, handler);\n }\n}"],
|
|
5
|
+
"mappings": "AAIA,SAAQ,mCAAkC;AAEnC,MAAM,gCAAwD;AAAA;AAAA,EAEnE,YACE,YACA;AAEA,UAAM,UAAU,4BAA4B,cAAiB,UAAU;AAIvE,WAAO,IAAI,MAAM,MAAM,OAAO;AAAA,EAChC;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|