@dooboostore/simple-boot-http-server-ssr 1.0.14 → 1.0.15

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.
Files changed (157) hide show
  1. package/README.MD +131 -0
  2. package/dist/cjs/SimpleBootHttpSSRFactory.js.map +1 -1
  3. package/dist/cjs/SimpleBootHttpSSRServer.js +1 -0
  4. package/dist/cjs/SimpleBootHttpSSRServer.js.map +2 -2
  5. package/dist/cjs/bundle-entry.js +0 -2
  6. package/dist/cjs/bundle-entry.js.map +2 -2
  7. package/dist/cjs/decorators/LoadAroundBefore.js +2 -2
  8. package/dist/cjs/decorators/LoadAroundBefore.js.map +2 -2
  9. package/dist/cjs/filters/SSRDomParserFilter.js +54 -89
  10. package/dist/cjs/filters/SSRDomParserFilter.js.map +2 -2
  11. package/dist/cjs/filters/SSRFilter.js +10 -14
  12. package/dist/cjs/filters/SSRFilter.js.map +2 -2
  13. package/dist/cjs/filters/SSRLinkDomDomFilter.js +10 -14
  14. package/dist/cjs/filters/SSRLinkDomDomFilter.js.map +2 -2
  15. package/dist/cjs/filters/SSRSimpleWebComponentFilter.js +93 -0
  16. package/dist/cjs/filters/SSRSimpleWebComponentFilter.js.map +7 -0
  17. package/dist/cjs/filters/SSRWorker.js +2 -2
  18. package/dist/cjs/filters/SSRWorker.js.map +2 -2
  19. package/dist/cjs/filters/index.js +2 -2
  20. package/dist/cjs/filters/index.js.map +2 -2
  21. package/dist/cjs/index.js +18 -8
  22. package/dist/cjs/index.js.map +2 -2
  23. package/dist/cjs/initializers/DomParserInitializer.js +5 -2
  24. package/dist/cjs/initializers/DomParserInitializer.js.map +2 -2
  25. package/dist/cjs/proxy/SSRDomParserFilterDataHydrationProxy.js +92 -0
  26. package/dist/cjs/proxy/SSRDomParserFilterDataHydrationProxy.js.map +7 -0
  27. package/dist/cjs/proxy/index.js +2 -8
  28. package/dist/cjs/proxy/index.js.map +2 -2
  29. package/dist/esm/SimpleBootHttpSSRFactory.js.map +1 -1
  30. package/dist/esm/SimpleBootHttpSSRServer.js +1 -0
  31. package/dist/esm/SimpleBootHttpSSRServer.js.map +2 -2
  32. package/dist/esm/bundle-entry.js +0 -1
  33. package/dist/esm/bundle-entry.js.map +2 -2
  34. package/dist/esm/decorators/LoadAroundBefore.js +1 -1
  35. package/dist/esm/decorators/LoadAroundBefore.js.map +1 -1
  36. package/dist/esm/filters/SSRDomParserFilter.js +52 -87
  37. package/dist/esm/filters/SSRDomParserFilter.js.map +2 -2
  38. package/dist/esm/filters/SSRFilter.js +7 -11
  39. package/dist/esm/filters/SSRFilter.js.map +2 -2
  40. package/dist/esm/filters/SSRLinkDomDomFilter.js +7 -11
  41. package/dist/esm/filters/SSRLinkDomDomFilter.js.map +2 -2
  42. package/dist/esm/filters/SSRSimpleWebComponentFilter.js +70 -0
  43. package/dist/esm/filters/SSRSimpleWebComponentFilter.js.map +7 -0
  44. package/dist/esm/filters/SSRWorker.js +1 -1
  45. package/dist/esm/filters/SSRWorker.js.map +2 -2
  46. package/dist/esm/filters/index.js +1 -1
  47. package/dist/esm/filters/index.js.map +1 -1
  48. package/dist/esm/index.js +7 -4
  49. package/dist/esm/index.js.map +2 -2
  50. package/dist/esm/initializers/DomParserInitializer.js +6 -3
  51. package/dist/esm/initializers/DomParserInitializer.js.map +2 -2
  52. package/dist/esm/proxy/SSRDomParserFilterDataHydrationProxy.js +69 -0
  53. package/dist/esm/proxy/SSRDomParserFilterDataHydrationProxy.js.map +7 -0
  54. package/dist/esm/proxy/index.js +1 -4
  55. package/dist/esm/proxy/index.js.map +2 -2
  56. package/dist/esm-bundle/dooboostore-simple-boot-http-server-ssr.esm.js +20723 -8294
  57. package/dist/esm-bundle/dooboostore-simple-boot-http-server-ssr.esm.js.map +4 -4
  58. package/dist/types/SimpleBootHttpSSRFactory.d.ts +1 -1
  59. package/dist/types/SimpleBootHttpSSRFactory.d.ts.map +1 -1
  60. package/dist/types/SimpleBootHttpSSRServer.d.ts +3 -2
  61. package/dist/types/SimpleBootHttpSSRServer.d.ts.map +1 -1
  62. package/dist/types/bundle-entry.d.ts +0 -1
  63. package/dist/types/bundle-entry.d.ts.map +1 -1
  64. package/dist/types/filters/SSRDomParserFilter.d.ts +10 -16
  65. package/dist/types/filters/SSRDomParserFilter.d.ts.map +1 -1
  66. package/dist/types/filters/SSRFilter.d.ts +1 -1
  67. package/dist/types/filters/SSRFilter.d.ts.map +1 -1
  68. package/dist/types/filters/SSRLinkDomDomFilter.d.ts +1 -1
  69. package/dist/types/filters/SSRLinkDomDomFilter.d.ts.map +1 -1
  70. package/dist/types/filters/SSRSimpleWebComponentFilter.d.ts +37 -0
  71. package/dist/types/filters/SSRSimpleWebComponentFilter.d.ts.map +1 -0
  72. package/dist/types/filters/SSRWorker.d.ts +1 -1
  73. package/dist/types/filters/SSRWorker.d.ts.map +1 -1
  74. package/dist/types/filters/index.d.ts +1 -1
  75. package/dist/types/filters/index.d.ts.map +1 -1
  76. package/dist/types/index.d.ts +7 -2
  77. package/dist/types/index.d.ts.map +1 -1
  78. package/dist/types/initializers/DomParserInitializer.d.ts +2 -0
  79. package/dist/types/initializers/DomParserInitializer.d.ts.map +1 -1
  80. package/dist/types/proxy/SSRDomParserFilterDataHydrationProxy.d.ts +7 -0
  81. package/dist/types/proxy/SSRDomParserFilterDataHydrationProxy.d.ts.map +1 -0
  82. package/dist/types/proxy/index.d.ts +1 -4
  83. package/dist/types/proxy/index.d.ts.map +1 -1
  84. package/dist/umd-bundle/dooboostore-simple-boot-http-server-ssr.umd.js +20726 -8301
  85. package/dist/umd-bundle/dooboostore-simple-boot-http-server-ssr.umd.js.map +4 -4
  86. package/package.json +16 -10
  87. package/src/SimpleBootHttpSSRFactory.ts +1 -1
  88. package/src/SimpleBootHttpSSRServer.ts +5 -3
  89. package/src/bundle-entry.ts +0 -1
  90. package/src/decorators/LoadAroundBefore.ts +1 -1
  91. package/src/filters/SSRDomParserFilter.ts +111 -124
  92. package/src/filters/SSRFilter.ts +7 -12
  93. package/src/filters/SSRLinkDomDomFilter.ts +7 -12
  94. package/src/filters/SSRSimpleWebComponentFilter.ts +103 -0
  95. package/src/filters/SSRWorker.ts +1 -2
  96. package/src/filters/index.ts +1 -1
  97. package/src/index.ts +7 -9
  98. package/src/initializers/DomParserInitializer.ts +9 -2
  99. package/src/proxy/SSRDomParserFilterDataHydrationProxy.ts +63 -0
  100. package/src/proxy/index.ts +1 -4
  101. package/tsconfig.json +1 -0
  102. package/dist/cjs/codes/HttpHeaders.js +0 -41
  103. package/dist/cjs/codes/HttpHeaders.js.map +0 -7
  104. package/dist/cjs/codes/Mimes.js +0 -33
  105. package/dist/cjs/codes/Mimes.js.map +0 -7
  106. package/dist/cjs/codes/index.js +0 -24
  107. package/dist/cjs/codes/index.js.map +0 -7
  108. package/dist/cjs/filters/IntentSchemeFilter.js +0 -92
  109. package/dist/cjs/filters/IntentSchemeFilter.js.map +0 -7
  110. package/dist/cjs/proxy/IntentSchemeFrontProxy.js +0 -87
  111. package/dist/cjs/proxy/IntentSchemeFrontProxy.js.map +0 -7
  112. package/dist/cjs/proxy/IntentSchemeServerProxy.js +0 -67
  113. package/dist/cjs/proxy/IntentSchemeServerProxy.js.map +0 -7
  114. package/dist/cjs/proxy/SymbolIntentApiServiceProxy.js +0 -138
  115. package/dist/cjs/proxy/SymbolIntentApiServiceProxy.js.map +0 -7
  116. package/dist/cjs/proxy/SymbolIntentApiServiceProxyBase.js +0 -35
  117. package/dist/cjs/proxy/SymbolIntentApiServiceProxyBase.js.map +0 -7
  118. package/dist/esm/codes/HttpHeaders.js +0 -17
  119. package/dist/esm/codes/HttpHeaders.js.map +0 -7
  120. package/dist/esm/codes/Mimes.js +0 -10
  121. package/dist/esm/codes/Mimes.js.map +0 -7
  122. package/dist/esm/codes/index.js +0 -3
  123. package/dist/esm/codes/index.js.map +0 -7
  124. package/dist/esm/filters/IntentSchemeFilter.js +0 -69
  125. package/dist/esm/filters/IntentSchemeFilter.js.map +0 -7
  126. package/dist/esm/proxy/IntentSchemeFrontProxy.js +0 -64
  127. package/dist/esm/proxy/IntentSchemeFrontProxy.js.map +0 -7
  128. package/dist/esm/proxy/IntentSchemeServerProxy.js +0 -44
  129. package/dist/esm/proxy/IntentSchemeServerProxy.js.map +0 -7
  130. package/dist/esm/proxy/SymbolIntentApiServiceProxy.js +0 -115
  131. package/dist/esm/proxy/SymbolIntentApiServiceProxy.js.map +0 -7
  132. package/dist/esm/proxy/SymbolIntentApiServiceProxyBase.js +0 -12
  133. package/dist/esm/proxy/SymbolIntentApiServiceProxyBase.js.map +0 -7
  134. package/dist/types/codes/HttpHeaders.d.ts +0 -45
  135. package/dist/types/codes/HttpHeaders.d.ts.map +0 -1
  136. package/dist/types/codes/Mimes.d.ts +0 -31
  137. package/dist/types/codes/Mimes.d.ts.map +0 -1
  138. package/dist/types/codes/index.d.ts +0 -3
  139. package/dist/types/codes/index.d.ts.map +0 -1
  140. package/dist/types/filters/IntentSchemeFilter.d.ts +0 -20
  141. package/dist/types/filters/IntentSchemeFilter.d.ts.map +0 -1
  142. package/dist/types/proxy/IntentSchemeFrontProxy.d.ts +0 -4
  143. package/dist/types/proxy/IntentSchemeFrontProxy.d.ts.map +0 -1
  144. package/dist/types/proxy/IntentSchemeServerProxy.d.ts +0 -4
  145. package/dist/types/proxy/IntentSchemeServerProxy.d.ts.map +0 -1
  146. package/dist/types/proxy/SymbolIntentApiServiceProxy.d.ts +0 -18
  147. package/dist/types/proxy/SymbolIntentApiServiceProxy.d.ts.map +0 -1
  148. package/dist/types/proxy/SymbolIntentApiServiceProxyBase.d.ts +0 -5
  149. package/dist/types/proxy/SymbolIntentApiServiceProxyBase.d.ts.map +0 -1
  150. package/src/codes/HttpHeaders.ts +0 -17
  151. package/src/codes/Mimes.ts +0 -6
  152. package/src/codes/index.ts +0 -2
  153. package/src/filters/IntentSchemeFilter.ts +0 -69
  154. package/src/proxy/IntentSchemeFrontProxy.ts +0 -67
  155. package/src/proxy/IntentSchemeServerProxy.ts +0 -35
  156. package/src/proxy/SymbolIntentApiServiceProxy.ts +0 -115
  157. package/src/proxy/SymbolIntentApiServiceProxyBase.ts +0 -19
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/proxy/SymbolIntentApiServiceProxyBase.ts"],
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
- "names": []
7
- }
@@ -1,45 +0,0 @@
1
- export declare const HttpHeaders: {
2
- XSimpleBootSsrIntentScheme: string;
3
- ContentLength: string;
4
- ContentType: string;
5
- ContentEncoding: string;
6
- Accept: string;
7
- Authorization: string;
8
- CacheControl: string;
9
- Connection: string;
10
- Date: string;
11
- Host: string;
12
- Pragma: string;
13
- Trailer: string;
14
- TransferEncoding: string;
15
- Upgrade: string;
16
- Via: string;
17
- Warning: string;
18
- AcceptCharset: string;
19
- AcceptEncoding: string;
20
- AcceptLanguage: string;
21
- AccessControlAllowOrigin: string;
22
- AccessControlAllowMethods: string;
23
- AccessControlAllowHeaders: string;
24
- AccessControlExposeHeaders: string;
25
- Expect: string;
26
- From: string;
27
- MaxForwards: string;
28
- Referer: string;
29
- UserAgent: string;
30
- Cookie: string;
31
- SetCookie: string;
32
- Cookie2: string;
33
- SetCookie2: string;
34
- Location: string;
35
- IfModifiedSince: string;
36
- IfUnmodifiedSince: string;
37
- IfMatch: string;
38
- IfNoneMatch: string;
39
- IfRange: string;
40
- Allow: string;
41
- Server: string;
42
- };
43
- export type HttpHeadersType = typeof HttpHeaders;
44
- export declare const makeIntentHeaderBySymbol: (symbol: Symbol) => HeadersInit;
45
- //# sourceMappingURL=HttpHeaders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpHeaders.d.ts","sourceRoot":"","sources":["../../../src/codes/HttpHeaders.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGvB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,WAAW,CAAC;AAEjD,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,WAKzD,CAAC"}
@@ -1,31 +0,0 @@
1
- import { Mimes as AMimes } from '@dooboostore/simple-boot-http-server/codes/Mimes';
2
- export declare const Mimes: {
3
- ApplicationJsonPostSimpleBootSsrIntentScheme: string;
4
- Intent: string;
5
- ApplicationJson: AMimes.ApplicationJson;
6
- ApplicationOctetStream: AMimes.ApplicationOctetStream;
7
- ApplicationXml: AMimes.ApplicationXml;
8
- ApplicationJsonPatch: AMimes.ApplicationJsonPatch;
9
- ApplicationXWwwFormUrlencoded: AMimes.ApplicationXWwwFormUrlencoded;
10
- TextPlain: AMimes.TextPlain;
11
- TextHtml: AMimes.TextHtml;
12
- All: AMimes.All;
13
- TextCss: AMimes.TextCss;
14
- TextJavascript: AMimes.TextJavascript;
15
- TextXml: AMimes.TextXml;
16
- TextXslt: AMimes.TextXslt;
17
- TextXmlDtd: AMimes.TextXmlDtd;
18
- TextPlainUtf8: AMimes.TextPlainUtf8;
19
- ImagePng: AMimes.ImagePng;
20
- ImageGif: AMimes.ImageGif;
21
- ImageJpeg: AMimes.ImageJpeg;
22
- ImageSvg: AMimes.ImageSvg;
23
- ImageBmp: AMimes.ImageBmp;
24
- ImageTiff: AMimes.ImageTiff;
25
- ImagePdf: AMimes.ImagePdf;
26
- ImageXBmp: AMimes.ImageXBmp;
27
- ImageXpixmap: AMimes.ImageXpixmap;
28
- ImageXxbm: AMimes.ImageXxbm;
29
- MultipartFormData: AMimes.MultipartFormData;
30
- };
31
- //# sourceMappingURL=Mimes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Mimes.d.ts","sourceRoot":"","sources":["../../../src/codes/Mimes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,IAAI,MAAM,EAAC,MAAM,kDAAkD,CAAC;AACjF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjB,CAAA"}
@@ -1,3 +0,0 @@
1
- export * from './HttpHeaders';
2
- export * from './Mimes';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codes/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
@@ -1,20 +0,0 @@
1
- import { Filter } from '@dooboostore/simple-boot-http-server/filters/Filter';
2
- import { IntentManager } from '@dooboostore/simple-boot/intent/IntentManager';
3
- import { RequestResponse } from '@dooboostore/simple-boot-http-server/models/RequestResponse';
4
- import { SimpleBootHttpServer } from '@dooboostore/simple-boot-http-server/SimpleBootHttpServer';
5
- export declare class IntentSchemeFilter implements Filter {
6
- private intentManager;
7
- constructor(intentManager: IntentManager);
8
- onInit(app: SimpleBootHttpServer): Promise<void>;
9
- proceedBefore({ rr, app }: {
10
- rr: RequestResponse;
11
- app: SimpleBootHttpServer;
12
- carrier: Map<string, any>;
13
- }): Promise<boolean>;
14
- proceedAfter({ rr, app }: {
15
- rr: RequestResponse;
16
- app: SimpleBootHttpServer;
17
- carrier: Map<string, any>;
18
- }): Promise<boolean>;
19
- }
20
- //# sourceMappingURL=IntentSchemeFilter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntentSchemeFilter.d.ts","sourceRoot":"","sources":["../../../src/filters/IntentSchemeFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,qDAAqD,CAAC;AAG3E,OAAO,EAAC,aAAa,EAAC,MAAM,+CAA+C,CAAC;AAG5E,OAAO,EAAC,eAAe,EAAC,MAAM,6DAA6D,CAAC;AAC5F,OAAO,EAAC,oBAAoB,EAAC,MAAM,2DAA2D,CAAC;AAI/F,qBACa,kBAAmB,YAAW,MAAM;IACnC,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAK1C,MAAM,CAAC,GAAG,EAAE,oBAAoB;IAGhC,aAAa,CAAC,EAAC,EAAE,EAAE,GAAG,EAAC,EAAE;QAAE,EAAE,EAAE,eAAe,CAAC;QAAC,GAAG,EAAE,oBAAoB,CAAC;QAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE;IA2CtG,YAAY,CAAC,EAAC,EAAE,EAAE,GAAG,EAAC,EAAE;QAAE,EAAE,EAAE,eAAe,CAAC;QAAC,GAAG,EAAE,oBAAoB,CAAC;QAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE;CAI5G"}
@@ -1,4 +0,0 @@
1
- export declare class IntentSchemeFrontProxy implements ProxyHandler<any> {
2
- get(target: any, prop: string): any;
3
- }
4
- //# sourceMappingURL=IntentSchemeFrontProxy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntentSchemeFrontProxy.d.ts","sourceRoot":"","sources":["../../../src/proxy/IntentSchemeFrontProxy.ts"],"names":[],"mappings":"AAOA,qBACa,sBAAuB,YAAW,YAAY,CAAC,GAAG,CAAC;IACvD,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG;CAyD3C"}
@@ -1,4 +0,0 @@
1
- export declare class IntentSchemeServerProxy implements ProxyHandler<any> {
2
- get(target: any, prop: string): any;
3
- }
4
- //# sourceMappingURL=IntentSchemeServerProxy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntentSchemeServerProxy.d.ts","sourceRoot":"","sources":["../../../src/proxy/IntentSchemeServerProxy.ts"],"names":[],"mappings":"AAEA,qBACa,uBAAwB,YAAW,YAAY,CAAC,GAAG,CAAC;IACxD,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG;CA8B3C"}
@@ -1,18 +0,0 @@
1
- import { ApiService } from '@dooboostore/simple-boot/fetch/ApiService';
2
- export type Config<T = any> = {
3
- method?: 'get' | 'post' | 'petch' | 'delete' | 'head';
4
- multipartFormData?: boolean;
5
- bypassTransform?: boolean;
6
- transformText?: boolean;
7
- headers?: HeadersInit;
8
- body?: T;
9
- config?: ApiService.ApiServiceConfig;
10
- };
11
- export declare class SymbolIntentApiServiceProxy<T extends object> implements ProxyHandler<T> {
12
- private apiService;
13
- constructor(apiService: ApiService);
14
- static createHandler<T extends object>(apiService: ApiService): ProxyHandler<T>;
15
- get(target: T, prop: string | symbol, receiver: any): any;
16
- apply(target: T, thisArg: any, argArray: any[]): any;
17
- }
18
- //# sourceMappingURL=SymbolIntentApiServiceProxy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SymbolIntentApiServiceProxy.d.ts","sourceRoot":"","sources":["../../../src/proxy/SymbolIntentApiServiceProxy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAGrE,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI;IAC5B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAA;CACrC,CAAC;AAGF,qBACa,2BAA2B,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAEvE,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAI1C,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC;IAmF/E,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAIzD,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG;CAGrD"}
@@ -1,5 +0,0 @@
1
- import { ApiService } from '@dooboostore/simple-boot/fetch/ApiService';
2
- export declare class SymbolIntentApiServiceProxyBase<T extends object = any> {
3
- constructor(apiService: ApiService);
4
- }
5
- //# sourceMappingURL=SymbolIntentApiServiceProxyBase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SymbolIntentApiServiceProxyBase.d.ts","sourceRoot":"","sources":["../../../src/proxy/SymbolIntentApiServiceProxyBase.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAGrE,qBAAa,+BAA+B,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG;gBAG/D,UAAU,EAAE,UAAU;CASzB"}
@@ -1,17 +0,0 @@
1
- import { HttpHeaders as AHttpHeaders } from '@dooboostore/simple-boot-http-server/codes/HttpHeaders';
2
- import { Mimes } from './Mimes';
3
-
4
- export const HttpHeaders = {
5
- ...AHttpHeaders,
6
- XSimpleBootSsrIntentScheme: 'x-simple-boot-ssr-intent-scheme'
7
- };
8
- export type HttpHeadersType = typeof HttpHeaders;
9
-
10
- export const makeIntentHeaderBySymbol = (symbol: Symbol): HeadersInit => {
11
- return {
12
- [HttpHeaders.Accept]: Mimes.ApplicationJsonPostSimpleBootSsrIntentScheme,
13
- [HttpHeaders.XSimpleBootSsrIntentScheme]: `Symbol.for(${symbol.description})`
14
- }
15
- };
16
-
17
-
@@ -1,6 +0,0 @@
1
- import {Mimes as AMimes} from '@dooboostore/simple-boot-http-server/codes/Mimes';
2
- export const Mimes = {
3
- ...AMimes,
4
- ApplicationJsonPostSimpleBootSsrIntentScheme:'application/json-post+simple-boot-ssr-intent-scheme',
5
- Intent: 'intent'
6
- }
@@ -1,2 +0,0 @@
1
- export * from './HttpHeaders';
2
- export * from './Mimes';
@@ -1,69 +0,0 @@
1
- import {Filter} from '@dooboostore/simple-boot-http-server/filters/Filter';
2
- import {HttpHeaders} from '../codes/HttpHeaders';
3
- import {Intent, PublishType} from '@dooboostore/simple-boot/intent/Intent';
4
- import {IntentManager} from '@dooboostore/simple-boot/intent/IntentManager';
5
- import {Sim} from '@dooboostore/simple-boot/decorators/SimDecorator';
6
- import {HttpStatus} from '@dooboostore/simple-boot-http-server/codes/HttpStatus';
7
- import {RequestResponse} from '@dooboostore/simple-boot-http-server/models/RequestResponse';
8
- import {SimpleBootHttpServer} from '@dooboostore/simple-boot-http-server/SimpleBootHttpServer';
9
- import {Mimes} from '../codes/Mimes';
10
- import {Promises} from "@dooboostore/core/promise/Promises";
11
-
12
- @Sim
13
- export class IntentSchemeFilter implements Filter {
14
- constructor(private intentManager: IntentManager) {
15
- // (IntentManager as any).
16
- // console.log('intent constructor', this.intentManager);
17
- }
18
-
19
- async onInit(app: SimpleBootHttpServer) {
20
- }
21
-
22
- async proceedBefore({rr, app}: { rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any> }) {
23
- // const rr = rrr;
24
- const url = rr.reqUrl;
25
- const contentLength = Number(rr.reqHeader(HttpHeaders.ContentLength.toLowerCase() ?? '0'));
26
- const acceptType = rr.reqHeader(HttpHeaders.Accept);
27
- const contentType = rr.reqHeader(HttpHeaders.ContentType);
28
- const intentScheme = rr.reqHeader(HttpHeaders.XSimpleBootSsrIntentScheme);
29
- if (acceptType === Mimes.ApplicationJsonPostSimpleBootSsrIntentScheme && intentScheme) {
30
- let intent = new Intent(`${intentScheme}:/${url}`);
31
- intent.publishType = PublishType.INLINE_DATA_PARAMETERS;
32
- // console.log('---------1--intent request', intentScheme, url, contentLength, contentType );
33
- // const responseHeader = {} as any;
34
- // responseHeader[HttpHeaders.ContentType] = Mimes.ApplicationJson;
35
- if (contentLength > 0) {
36
- if (contentType.includes(Mimes.ApplicationJson)) {
37
- intent.data = [await rr.reqBodyJsonData(), rr];
38
- } else if (contentType.includes(Mimes.MultipartFormData)) {
39
- intent.data = [await rr.reqBodyMultipartFormDataObject(), rr];
40
- }
41
- // console.log('---------2--intent request',intent);
42
- const rdatas = await this.intentManager.publish(intent);
43
- const rdata = rdatas[0];
44
- const wdata = rdata instanceof Promise ? await rdata : rdata;
45
- rr.resStatusCode(HttpStatus.Ok);
46
- rr.resSetHeader(HttpHeaders.ContentType, [Mimes.ApplicationJson])
47
- await rr.resEnd(wdata ? JSON.stringify(wdata) : undefined);
48
- } else {
49
- intent.data = rr.reqUrlSearchParamTuples.length > 0 ? [rr.reqUrlSearchParamsObj, rr] : [rr];
50
- const rdatas = await this.intentManager.publish(intent);
51
- const rdata = rdatas[0];
52
- const wdata = rdata instanceof Promise ? await rdata : rdata;
53
- // const wdata =undefined;
54
- rr.resStatusCode(HttpStatus.Ok);
55
- rr.resSetHeader(HttpHeaders.ContentType, [Mimes.ApplicationJson])
56
- await rr.resEnd(wdata ? JSON.stringify(wdata) : undefined);
57
- }
58
- // console.log('---------3--intent request', rr.req.readable, rr.req.readableLength);
59
- return false;
60
- } else {
61
- return true;
62
- }
63
- }
64
-
65
- async proceedAfter({rr, app}: { rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any> }) {
66
- return true;
67
- }
68
-
69
- }
@@ -1,67 +0,0 @@
1
- import { getSim, Sim } from '@dooboostore/simple-boot/decorators/SimDecorator';
2
- import { HttpHeaders } from '@dooboostore/simple-boot-http-server/codes/HttpHeaders';
3
- import { HttpHeaders as SSRHttpHeaders } from '../codes/HttpHeaders';
4
- import { Mimes as SSRMimes } from '../codes/Mimes';
5
- import { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';
6
- import { ConvertUtils } from '@dooboostore/core/convert/ConvertUtils';
7
-
8
- @Sim
9
- export class IntentSchemeFrontProxy implements ProxyHandler<any> {
10
- public get(target: any, prop: string): any {
11
- const t = target[prop];
12
- // TODO: 여기에 추가적인 프로퍼티 작성으 추가적으로 해야된다..
13
- // if (typeof t === 'function') {
14
- if (!['constructor', 'onProxyDomRender', 'toString'].includes(prop)) {
15
- return (...args: any[]) => {
16
- // const simstanceManager = target._SimpleBoot_simstanceManager;
17
- const simOption = target._SimpleBoot_simOption;
18
- const config = getSim(target);
19
- // const scheme = getSim(target)?.scheme;
20
- const firstScheme = ConvertUtils.flatArray(config?.scheme)[0];
21
- const key = firstScheme + '_' + prop;
22
- const type = ReflectUtils.getReturnType(target, prop);
23
- const isHas = (key in (simOption.window.server_side_data ?? {}));
24
- if (isHas) {
25
- const data = simOption.window.server_side_data?.[key];
26
- delete simOption.window.server_side_data?.[key];
27
- let rdata;
28
- if (type instanceof Promise) {
29
- rdata = Promise.resolve(data);
30
- } else {
31
- rdata = data;
32
- }
33
- return rdata;
34
- } else {
35
- return fetch(`/${prop.toString()}`,
36
- {
37
- method: 'POST',
38
- headers: {[HttpHeaders.ContentType]: SSRMimes.ApplicationJsonPostSimpleBootSsrIntentScheme, [SSRHttpHeaders.XSimpleBootSsrIntentScheme]: firstScheme ?? ''},
39
- body: JSON.stringify(args[0])
40
- }
41
- ).then(async (res) => {
42
- try {
43
- const data = await res.json();
44
- return data;
45
- } catch(e) {
46
- try {
47
- return await res.text();
48
- } catch(e) {
49
- return undefined;
50
- }
51
- }
52
- });
53
- }
54
- // return t.apply(target, args);
55
- }
56
- } else {
57
- return t;
58
- }
59
- }
60
-
61
-
62
- // apply(target: Function, thisArg: any, ...argumentsList: any[]): any {
63
- // console.log('-IntentSchemeFrontProxyHandler----?????')
64
- // return target(...argumentsList);
65
- // }
66
-
67
- }
@@ -1,35 +0,0 @@
1
- import { getSim, Sim } from '@dooboostore/simple-boot/decorators/SimDecorator';
2
-
3
- @Sim
4
- export class IntentSchemeServerProxy implements ProxyHandler<any> {
5
- public get(target: any, prop: string): any {
6
- const t = target[prop];
7
- if (typeof t === 'function') {
8
- return (...args: any[]) => {
9
-
10
- const simstanceManager = target._SimpleBoot_simstanceManager;
11
- const simOption = target._SimpleBoot_simOption;
12
- const config = getSim(target);
13
- const data = t.apply(target, args);
14
- if (simstanceManager && simOption && config?.scheme && simOption.window) {
15
- if (!simOption.window.server_side_data) {
16
- simOption.window.server_side_data = {};
17
- }
18
- const key = config.scheme + '_' + prop;
19
- if (data instanceof Promise) {
20
- data.then((it) => {
21
- simOption.window.server_side_data[key] = JSON.stringify(it);
22
- return it;
23
- });
24
- } else {
25
- simOption.window.server_side_data[key] = JSON.stringify(data);
26
- }
27
- }
28
- return data;
29
- }
30
- } else {
31
- return t;
32
- }
33
- }
34
-
35
- }
@@ -1,115 +0,0 @@
1
- import {getSim, Sim} from '@dooboostore/simple-boot/decorators/SimDecorator';
2
- import {makeIntentHeaderBySymbol} from '../codes/HttpHeaders';
3
- import {ConvertUtils} from '@dooboostore/core/convert/ConvertUtils';
4
- import {ApiService} from '@dooboostore/simple-boot/fetch/ApiService';
5
-
6
-
7
- export type Config<T = any> = {
8
- method?: 'get' | 'post' | 'petch' | 'delete' | 'head',
9
- multipartFormData?: boolean,
10
- bypassTransform?: boolean;
11
- transformText?: boolean,
12
- headers?: HeadersInit,
13
- body?: T,
14
- config?: ApiService.ApiServiceConfig
15
- };
16
- const _ = ApiService;
17
-
18
- @Sim
19
- export class SymbolIntentApiServiceProxy<T extends object> implements ProxyHandler<T> {
20
-
21
- constructor(private apiService: ApiService) {
22
- // console.log('-------apiService', apiService);
23
- }
24
-
25
- static createHandler<T extends object>(apiService: ApiService): ProxyHandler<T> {
26
- return {
27
- get(target: T, prop: string | symbol, receiver: any): any {
28
- const simConfig = getSim(target)
29
- const value = Reflect.get(target, prop, receiver);
30
- if (typeof value === 'function' && simConfig?.symbol) {
31
- return function (...args: any[]) {
32
- const f = value as Function;
33
- const p = (userConfig: Config) => {
34
- const headers = {...(userConfig?.headers ?? {}), ...makeIntentHeaderBySymbol(simConfig.symbol as Symbol)};
35
- const method = userConfig?.method ?? 'post';
36
- if (method === 'post' && userConfig?.multipartFormData) {
37
- return apiService.post({
38
- target: `/${String(prop)}`,
39
- config: {
40
- bypassTransform: userConfig?.bypassTransform,
41
- transformText: userConfig?.transformText,
42
- config: userConfig?.config,
43
- fetch: {
44
- credentials: 'include',
45
- headers: headers,
46
- body: ConvertUtils.toFormData(userConfig?.body)
47
- }
48
- }
49
- });
50
- } else if (method === 'post') {
51
- return apiService.postJson({
52
- target: `/${String(prop)}`,
53
- config: {
54
- bypassTransform: userConfig?.bypassTransform,
55
- transformText: userConfig?.transformText,
56
- config: userConfig?.config,
57
- fetch: {
58
- credentials: 'include',
59
- headers: headers,
60
- body: userConfig?.body
61
- }
62
- }
63
- });
64
- } else if (method === 'petch') {
65
- return apiService.patchJson({
66
- target: `/${String(prop)}`,
67
- config: {
68
- bypassTransform: userConfig?.bypassTransform,
69
- transformText: userConfig?.transformText,
70
- config: userConfig?.config,
71
- fetch: {
72
- credentials: 'include',
73
- headers: headers,
74
- body: userConfig?.body
75
- }
76
- }
77
- });
78
- } else {
79
- return apiService[method]({
80
- target: {url: `/${String(prop)}`, searchParams: userConfig?.body},
81
- config: {
82
- bypassTransform: userConfig?.bypassTransform,
83
- transformText: userConfig?.transformText,
84
- config: userConfig?.config,
85
- fetch: {
86
- credentials: 'include',
87
- headers: headers,
88
- }
89
- }
90
- });
91
- }
92
- };
93
- args.push(p);
94
- return Reflect.apply(f, target, args);
95
- }
96
- }
97
- return Reflect.get(target, prop, receiver);
98
- },
99
-
100
- apply(target: T, thisArg: any, argArray: any[]): any {
101
- console.log('SymbolIntentApiServiceProxy apply')
102
- // @ts-ignore
103
- return Reflect.apply(target, thisArg, argArray);
104
- }
105
- };
106
- }
107
-
108
- get(target: T, prop: string | symbol, receiver: any): any {
109
- return SymbolIntentApiServiceProxy.createHandler<T>(this.apiService).get!(target, prop, receiver);
110
- }
111
-
112
- apply(target: T, thisArg: any, argArray: any[]): any {
113
- return SymbolIntentApiServiceProxy.createHandler<T>(this.apiService).apply!(target, thisArg, argArray);
114
- }
115
- }
@@ -1,19 +0,0 @@
1
- import {getSim, Sim} from '@dooboostore/simple-boot/decorators/SimDecorator';
2
- import {makeIntentHeaderBySymbol} from '../codes/HttpHeaders';
3
- import {ConvertUtils} from '@dooboostore/core/convert/ConvertUtils';
4
- import {ApiService} from '@dooboostore/simple-boot/fetch/ApiService';
5
- import {SymbolIntentApiServiceProxy} from './SymbolIntentApiServiceProxy';
6
-
7
- export class SymbolIntentApiServiceProxyBase<T extends object = any> {
8
- // 생성자는 프록시될 대상 객체(target)와 의존성을 주입받습니다.
9
- constructor(
10
- apiService: ApiService,
11
- ) {
12
- // SymbolIntentApiServiceProxy의 static handler를 사용합니다.
13
- const handler = SymbolIntentApiServiceProxy.createHandler<T>(apiService);
14
-
15
- // 생성자에서 Proxy 객체를 반환합니다.
16
- // @ts-ignore
17
- return new Proxy(this, handler);
18
- }
19
- }