@celljs/mvc 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/cell.yml +9 -0
  4. package/lib/common/constants.d.ts +2 -0
  5. package/lib/common/constants.d.ts.map +1 -0
  6. package/lib/common/constants.js +5 -0
  7. package/lib/common/constants.js.map +1 -0
  8. package/lib/common/index.d.ts +2 -0
  9. package/lib/common/index.d.ts.map +1 -0
  10. package/lib/common/index.js +18 -0
  11. package/lib/common/index.js.map +1 -0
  12. package/lib/node/annotation/body.d.ts +7 -0
  13. package/lib/node/annotation/body.d.ts.map +1 -0
  14. package/lib/node/annotation/body.js +20 -0
  15. package/lib/node/annotation/body.js.map +1 -0
  16. package/lib/node/annotation/catch.d.ts +10 -0
  17. package/lib/node/annotation/catch.d.ts.map +1 -0
  18. package/lib/node/annotation/catch.js +23 -0
  19. package/lib/node/annotation/catch.js.map +1 -0
  20. package/lib/node/annotation/controller.d.ts +15 -0
  21. package/lib/node/annotation/controller.d.ts.map +1 -0
  22. package/lib/node/annotation/controller.js +35 -0
  23. package/lib/node/annotation/controller.js.map +1 -0
  24. package/lib/node/annotation/cookie.d.ts +16 -0
  25. package/lib/node/annotation/cookie.d.ts.map +1 -0
  26. package/lib/node/annotation/cookie.js +29 -0
  27. package/lib/node/annotation/cookie.js.map +1 -0
  28. package/lib/node/annotation/file.d.ts +3 -0
  29. package/lib/node/annotation/file.d.ts.map +1 -0
  30. package/lib/node/annotation/file.js +10 -0
  31. package/lib/node/annotation/file.js.map +1 -0
  32. package/lib/node/annotation/header.d.ts +16 -0
  33. package/lib/node/annotation/header.d.ts.map +1 -0
  34. package/lib/node/annotation/header.js +29 -0
  35. package/lib/node/annotation/header.js.map +1 -0
  36. package/lib/node/annotation/html.d.ts +3 -0
  37. package/lib/node/annotation/html.d.ts.map +1 -0
  38. package/lib/node/annotation/html.js +10 -0
  39. package/lib/node/annotation/html.js.map +1 -0
  40. package/lib/node/annotation/index.d.ts +17 -0
  41. package/lib/node/annotation/index.d.ts.map +1 -0
  42. package/lib/node/annotation/index.js +33 -0
  43. package/lib/node/annotation/index.js.map +1 -0
  44. package/lib/node/annotation/json.d.ts +3 -0
  45. package/lib/node/annotation/json.d.ts.map +1 -0
  46. package/lib/node/annotation/json.js +10 -0
  47. package/lib/node/annotation/json.js.map +1 -0
  48. package/lib/node/annotation/method.d.ts +24 -0
  49. package/lib/node/annotation/method.d.ts.map +1 -0
  50. package/lib/node/annotation/method.js +54 -0
  51. package/lib/node/annotation/method.js.map +1 -0
  52. package/lib/node/annotation/param.d.ts +7 -0
  53. package/lib/node/annotation/param.d.ts.map +1 -0
  54. package/lib/node/annotation/param.js +20 -0
  55. package/lib/node/annotation/param.js.map +1 -0
  56. package/lib/node/annotation/query.d.ts +7 -0
  57. package/lib/node/annotation/query.d.ts.map +1 -0
  58. package/lib/node/annotation/query.js +20 -0
  59. package/lib/node/annotation/query.js.map +1 -0
  60. package/lib/node/annotation/req.d.ts +6 -0
  61. package/lib/node/annotation/req.d.ts.map +1 -0
  62. package/lib/node/annotation/req.js +18 -0
  63. package/lib/node/annotation/req.js.map +1 -0
  64. package/lib/node/annotation/res.d.ts +6 -0
  65. package/lib/node/annotation/res.d.ts.map +1 -0
  66. package/lib/node/annotation/res.js +18 -0
  67. package/lib/node/annotation/res.js.map +1 -0
  68. package/lib/node/annotation/session.d.ts +16 -0
  69. package/lib/node/annotation/session.d.ts.map +1 -0
  70. package/lib/node/annotation/session.js +29 -0
  71. package/lib/node/annotation/session.js.map +1 -0
  72. package/lib/node/annotation/text.d.ts +3 -0
  73. package/lib/node/annotation/text.d.ts.map +1 -0
  74. package/lib/node/annotation/text.js +10 -0
  75. package/lib/node/annotation/text.js.map +1 -0
  76. package/lib/node/annotation/view.d.ts +13 -0
  77. package/lib/node/annotation/view.d.ts.map +1 -0
  78. package/lib/node/annotation/view.js +15 -0
  79. package/lib/node/annotation/view.js.map +1 -0
  80. package/lib/node/constants.d.ts +18 -0
  81. package/lib/node/constants.d.ts.map +1 -0
  82. package/lib/node/constants.js +21 -0
  83. package/lib/node/constants.js.map +1 -0
  84. package/lib/node/error/error-handler.d.ts +10 -0
  85. package/lib/node/error/error-handler.d.ts.map +1 -0
  86. package/lib/node/error/error-handler.js +42 -0
  87. package/lib/node/error/error-handler.js.map +1 -0
  88. package/lib/node/error/index.d.ts +2 -0
  89. package/lib/node/error/index.d.ts.map +1 -0
  90. package/lib/node/error/index.js +18 -0
  91. package/lib/node/error/index.js.map +1 -0
  92. package/lib/node/handler/handler-adapter.d.ts +22 -0
  93. package/lib/node/handler/handler-adapter.d.ts.map +1 -0
  94. package/lib/node/handler/handler-adapter.js +122 -0
  95. package/lib/node/handler/handler-adapter.js.map +1 -0
  96. package/lib/node/handler/handler-protocol.d.ts +38 -0
  97. package/lib/node/handler/handler-protocol.d.ts.map +1 -0
  98. package/lib/node/handler/handler-protocol.js +7 -0
  99. package/lib/node/handler/handler-protocol.js.map +1 -0
  100. package/lib/node/handler/index.d.ts +6 -0
  101. package/lib/node/handler/index.d.ts.map +1 -0
  102. package/lib/node/handler/index.js +22 -0
  103. package/lib/node/handler/index.js.map +1 -0
  104. package/lib/node/handler/route-builder.d.ts +29 -0
  105. package/lib/node/handler/route-builder.d.ts.map +1 -0
  106. package/lib/node/handler/route-builder.js +117 -0
  107. package/lib/node/handler/route-builder.js.map +1 -0
  108. package/lib/node/handler/route-metadata-matcher.d.ts +9 -0
  109. package/lib/node/handler/route-metadata-matcher.d.ts.map +1 -0
  110. package/lib/node/handler/route-metadata-matcher.js +60 -0
  111. package/lib/node/handler/route-metadata-matcher.js.map +1 -0
  112. package/lib/node/handler/route-provider.d.ts +11 -0
  113. package/lib/node/handler/route-provider.d.ts.map +1 -0
  114. package/lib/node/handler/route-provider.js +44 -0
  115. package/lib/node/handler/route-provider.js.map +1 -0
  116. package/lib/node/index.d.ts +6 -0
  117. package/lib/node/index.d.ts.map +1 -0
  118. package/lib/node/index.js +22 -0
  119. package/lib/node/index.js.map +1 -0
  120. package/lib/node/module.d.ts +4 -0
  121. package/lib/node/module.d.ts.map +1 -0
  122. package/lib/node/module.js +6 -0
  123. package/lib/node/module.js.map +1 -0
  124. package/lib/node/resolver/index.d.ts +8 -0
  125. package/lib/node/resolver/index.d.ts.map +1 -0
  126. package/lib/node/resolver/index.js +24 -0
  127. package/lib/node/resolver/index.js.map +1 -0
  128. package/lib/node/resolver/method-args-resolver-provider.d.ts +8 -0
  129. package/lib/node/resolver/method-args-resolver-provider.d.ts.map +1 -0
  130. package/lib/node/resolver/method-args-resolver-provider.js +35 -0
  131. package/lib/node/resolver/method-args-resolver-provider.js.map +1 -0
  132. package/lib/node/resolver/method-args-resolver.d.ts +35 -0
  133. package/lib/node/resolver/method-args-resolver.d.ts.map +1 -0
  134. package/lib/node/resolver/method-args-resolver.js +152 -0
  135. package/lib/node/resolver/method-args-resolver.js.map +1 -0
  136. package/lib/node/resolver/resolver-protocol.d.ts +15 -0
  137. package/lib/node/resolver/resolver-protocol.d.ts.map +1 -0
  138. package/lib/node/resolver/resolver-protocol.js +7 -0
  139. package/lib/node/resolver/resolver-protocol.js.map +1 -0
  140. package/lib/node/resolver/response-resolver-provider.d.ts +8 -0
  141. package/lib/node/resolver/response-resolver-provider.d.ts.map +1 -0
  142. package/lib/node/resolver/response-resolver-provider.js +35 -0
  143. package/lib/node/resolver/response-resolver-provider.js.map +1 -0
  144. package/lib/node/resolver/response-resolver.d.ts +14 -0
  145. package/lib/node/resolver/response-resolver.d.ts.map +1 -0
  146. package/lib/node/resolver/response-resolver.js +67 -0
  147. package/lib/node/resolver/response-resolver.js.map +1 -0
  148. package/lib/node/resolver/view-resolver-provider.d.ts +8 -0
  149. package/lib/node/resolver/view-resolver-provider.d.ts.map +1 -0
  150. package/lib/node/resolver/view-resolver-provider.js +35 -0
  151. package/lib/node/resolver/view-resolver-provider.js.map +1 -0
  152. package/lib/node/resolver/view-resolver.d.ts +8 -0
  153. package/lib/node/resolver/view-resolver.d.ts.map +1 -0
  154. package/lib/node/resolver/view-resolver.js +44 -0
  155. package/lib/node/resolver/view-resolver.js.map +1 -0
  156. package/lib/node/view/file-view.d.ts +19 -0
  157. package/lib/node/view/file-view.d.ts.map +1 -0
  158. package/lib/node/view/file-view.js +79 -0
  159. package/lib/node/view/file-view.js.map +1 -0
  160. package/lib/node/view/html-view.d.ts +11 -0
  161. package/lib/node/view/html-view.d.ts.map +1 -0
  162. package/lib/node/view/html-view.js +48 -0
  163. package/lib/node/view/html-view.js.map +1 -0
  164. package/lib/node/view/index.d.ts +7 -0
  165. package/lib/node/view/index.d.ts.map +1 -0
  166. package/lib/node/view/index.js +23 -0
  167. package/lib/node/view/index.js.map +1 -0
  168. package/lib/node/view/json-view-template-renderer.d.ts +6 -0
  169. package/lib/node/view/json-view-template-renderer.d.ts.map +1 -0
  170. package/lib/node/view/json-view-template-renderer.js +39 -0
  171. package/lib/node/view/json-view-template-renderer.js.map +1 -0
  172. package/lib/node/view/json-view.d.ts +11 -0
  173. package/lib/node/view/json-view.d.ts.map +1 -0
  174. package/lib/node/view/json-view.js +39 -0
  175. package/lib/node/view/json-view.js.map +1 -0
  176. package/lib/node/view/text-view.d.ts +10 -0
  177. package/lib/node/view/text-view.d.ts.map +1 -0
  178. package/lib/node/view/text-view.js +32 -0
  179. package/lib/node/view/text-view.js.map +1 -0
  180. package/lib/node/view/view-protocol.d.ts +12 -0
  181. package/lib/node/view/view-protocol.d.ts.map +1 -0
  182. package/lib/node/view/view-protocol.js +6 -0
  183. package/lib/node/view/view-protocol.js.map +1 -0
  184. package/lib/node/view/view-provider.d.ts +8 -0
  185. package/lib/node/view/view-provider.d.ts.map +1 -0
  186. package/lib/node/view/view-provider.js +35 -0
  187. package/lib/node/view/view-provider.js.map +1 -0
  188. package/lib/package.spec.d.ts +1 -0
  189. package/lib/package.spec.d.ts.map +1 -0
  190. package/lib/package.spec.js +4 -0
  191. package/lib/package.spec.js.map +1 -0
  192. package/package.json +47 -0
  193. package/src/common/constants.ts +1 -0
  194. package/src/common/index.ts +1 -0
  195. package/src/node/annotation/body.ts +21 -0
  196. package/src/node/annotation/catch.ts +27 -0
  197. package/src/node/annotation/controller.ts +44 -0
  198. package/src/node/annotation/cookie.ts +41 -0
  199. package/src/node/annotation/file.ts +7 -0
  200. package/src/node/annotation/header.ts +41 -0
  201. package/src/node/annotation/html.ts +7 -0
  202. package/src/node/annotation/index.ts +17 -0
  203. package/src/node/annotation/json.ts +7 -0
  204. package/src/node/annotation/method.ts +61 -0
  205. package/src/node/annotation/param.ts +21 -0
  206. package/src/node/annotation/query.ts +21 -0
  207. package/src/node/annotation/req.ts +23 -0
  208. package/src/node/annotation/res.ts +23 -0
  209. package/src/node/annotation/session.ts +41 -0
  210. package/src/node/annotation/text.ts +7 -0
  211. package/src/node/annotation/view.ts +16 -0
  212. package/src/node/constants.ts +17 -0
  213. package/src/node/error/error-handler.ts +27 -0
  214. package/src/node/error/index.ts +1 -0
  215. package/src/node/handler/handler-adapter.ts +100 -0
  216. package/src/node/handler/handler-protocol.ts +62 -0
  217. package/src/node/handler/index.ts +5 -0
  218. package/src/node/handler/route-builder.ts +119 -0
  219. package/src/node/handler/route-metadata-matcher.ts +44 -0
  220. package/src/node/handler/route-provider.ts +27 -0
  221. package/src/node/index.ts +5 -0
  222. package/src/node/module.ts +4 -0
  223. package/src/node/resolver/index.ts +7 -0
  224. package/src/node/resolver/method-args-resolver-provider.ts +21 -0
  225. package/src/node/resolver/method-args-resolver.ts +119 -0
  226. package/src/node/resolver/resolver-protocol.ts +18 -0
  227. package/src/node/resolver/response-resolver-provider.ts +21 -0
  228. package/src/node/resolver/response-resolver.ts +46 -0
  229. package/src/node/resolver/view-resolver-provider.ts +21 -0
  230. package/src/node/resolver/view-resolver.ts +29 -0
  231. package/src/node/view/file-view.ts +68 -0
  232. package/src/node/view/html-view.ts +34 -0
  233. package/src/node/view/index.ts +6 -0
  234. package/src/node/view/json-view-template-renderer.ts +23 -0
  235. package/src/node/view/json-view.ts +26 -0
  236. package/src/node/view/text-view.ts +23 -0
  237. package/src/node/view/view-protocol.ts +14 -0
  238. package/src/node/view/view-provider.ts +21 -0
  239. package/src/package.spec.ts +4 -0
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ResponseMethodArgsResolver = exports.RequestMethodArgsResolver = exports.SessionMethodArgsResolver = exports.CookieMethodArgsResolver = exports.QueryMethodArgsResolver = exports.ParamMethodArgsResolver = exports.HeaderMethodArgsResolver = exports.BodyMethodArgsResolver = void 0;
10
+ const resolver_protocol_1 = require("./resolver-protocol");
11
+ const node_1 = require("@celljs/web/lib/node");
12
+ const core_1 = require("@celljs/core");
13
+ const handler_1 = require("../handler");
14
+ let BodyMethodArgsResolver = class BodyMethodArgsResolver {
15
+ constructor() {
16
+ this.priority = 100;
17
+ }
18
+ async resolve(metadata, args) {
19
+ const body = node_1.Context.getCurrent().request.body;
20
+ const bodyMetadatas = metadata.bodyMetadata;
21
+ if (bodyMetadatas && body !== undefined) {
22
+ for (const m of bodyMetadatas) {
23
+ args[m.parameterIndex] = m.name ? body[m.name] : body;
24
+ }
25
+ }
26
+ }
27
+ };
28
+ BodyMethodArgsResolver = __decorate([
29
+ (0, core_1.Component)(resolver_protocol_1.MethodArgsResolver)
30
+ ], BodyMethodArgsResolver);
31
+ exports.BodyMethodArgsResolver = BodyMethodArgsResolver;
32
+ let HeaderMethodArgsResolver = class HeaderMethodArgsResolver {
33
+ constructor() {
34
+ this.priority = 200;
35
+ }
36
+ async resolve(metadata, args) {
37
+ const headerMetadatas = metadata.requestHeaderMetadata;
38
+ if (headerMetadatas) {
39
+ const request = node_1.Context.getCurrent().request;
40
+ for (const m of headerMetadatas) {
41
+ args[m.parameterIndex] = m.name ? request.get(m.name) : request.headers;
42
+ }
43
+ }
44
+ }
45
+ };
46
+ HeaderMethodArgsResolver = __decorate([
47
+ (0, core_1.Component)(resolver_protocol_1.MethodArgsResolver)
48
+ ], HeaderMethodArgsResolver);
49
+ exports.HeaderMethodArgsResolver = HeaderMethodArgsResolver;
50
+ let ParamMethodArgsResolver = class ParamMethodArgsResolver {
51
+ constructor() {
52
+ this.priority = 300;
53
+ }
54
+ async resolve(metadata, args) {
55
+ const params = node_1.Context.getAttr(handler_1.PATH_PARMAS_ATTR);
56
+ const paramMetadatas = metadata.paramMetadata;
57
+ if (paramMetadatas && params) {
58
+ for (const m of paramMetadatas) {
59
+ args[m.parameterIndex] = m.name ? params[m.name] : params;
60
+ }
61
+ }
62
+ }
63
+ };
64
+ ParamMethodArgsResolver = __decorate([
65
+ (0, core_1.Component)(resolver_protocol_1.MethodArgsResolver)
66
+ ], ParamMethodArgsResolver);
67
+ exports.ParamMethodArgsResolver = ParamMethodArgsResolver;
68
+ let QueryMethodArgsResolver = class QueryMethodArgsResolver {
69
+ constructor() {
70
+ this.priority = 400;
71
+ }
72
+ async resolve(metadata, args) {
73
+ const query = node_1.Context.getCurrent().request.query;
74
+ const queryMetadatas = metadata.queryMetadata;
75
+ if (queryMetadatas && query !== undefined) {
76
+ for (const m of queryMetadatas) {
77
+ args[m.parameterIndex] = m.name ? query[m.name] : query;
78
+ }
79
+ }
80
+ }
81
+ };
82
+ QueryMethodArgsResolver = __decorate([
83
+ (0, core_1.Component)(resolver_protocol_1.MethodArgsResolver)
84
+ ], QueryMethodArgsResolver);
85
+ exports.QueryMethodArgsResolver = QueryMethodArgsResolver;
86
+ let CookieMethodArgsResolver = class CookieMethodArgsResolver {
87
+ constructor() {
88
+ this.priority = 500;
89
+ }
90
+ async resolve(metadata, args) {
91
+ const cookies = node_1.Context.getCookies();
92
+ const cookieMetadatas = metadata.requestCookieMetadata;
93
+ if (cookieMetadatas && cookies !== undefined) {
94
+ for (const m of cookieMetadatas) {
95
+ args[m.parameterIndex] = m.name ? cookies.get(m.name) : cookies;
96
+ }
97
+ }
98
+ }
99
+ };
100
+ CookieMethodArgsResolver = __decorate([
101
+ (0, core_1.Component)(resolver_protocol_1.MethodArgsResolver)
102
+ ], CookieMethodArgsResolver);
103
+ exports.CookieMethodArgsResolver = CookieMethodArgsResolver;
104
+ let SessionMethodArgsResolver = class SessionMethodArgsResolver {
105
+ constructor() {
106
+ this.priority = 600;
107
+ }
108
+ async resolve(metadata, args) {
109
+ const session = node_1.Context.getSession();
110
+ const sessionMetadatas = metadata.requestSessionMetadata;
111
+ if (sessionMetadatas && session !== undefined) {
112
+ for (const m of sessionMetadatas) {
113
+ args[m.parameterIndex] = m.name ? session[m.name] : session;
114
+ }
115
+ }
116
+ }
117
+ };
118
+ SessionMethodArgsResolver = __decorate([
119
+ (0, core_1.Component)(resolver_protocol_1.MethodArgsResolver)
120
+ ], SessionMethodArgsResolver);
121
+ exports.SessionMethodArgsResolver = SessionMethodArgsResolver;
122
+ let RequestMethodArgsResolver = class RequestMethodArgsResolver {
123
+ constructor() {
124
+ this.priority = 700;
125
+ }
126
+ async resolve(metadata, args) {
127
+ const requestMetadata = metadata.requestMetadata;
128
+ if (requestMetadata) {
129
+ args[requestMetadata.parameterIndex] = node_1.Context.getRequest();
130
+ }
131
+ }
132
+ };
133
+ RequestMethodArgsResolver = __decorate([
134
+ (0, core_1.Component)(resolver_protocol_1.MethodArgsResolver)
135
+ ], RequestMethodArgsResolver);
136
+ exports.RequestMethodArgsResolver = RequestMethodArgsResolver;
137
+ let ResponseMethodArgsResolver = class ResponseMethodArgsResolver {
138
+ constructor() {
139
+ this.priority = 800;
140
+ }
141
+ async resolve(metadata, args) {
142
+ const responseMetadata = metadata.responseMetadata;
143
+ if (responseMetadata) {
144
+ args[responseMetadata.parameterIndex] = node_1.Context.getResponse();
145
+ }
146
+ }
147
+ };
148
+ ResponseMethodArgsResolver = __decorate([
149
+ (0, core_1.Component)(resolver_protocol_1.MethodArgsResolver)
150
+ ], ResponseMethodArgsResolver);
151
+ exports.ResponseMethodArgsResolver = ResponseMethodArgsResolver;
152
+ //# sourceMappingURL=method-args-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"method-args-resolver.js","sourceRoot":"","sources":["../../../src/node/resolver/method-args-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const MethodArgsResolver: unique symbol;
2
+ export declare const ResponseResolver: unique symbol;
3
+ export declare const ViewResolver: unique symbol;
4
+ export interface MethodArgsResolver {
5
+ readonly priority: number;
6
+ resolve(metadata: any, args: any[]): Promise<void>;
7
+ }
8
+ export interface ResponseResolver {
9
+ readonly priority: number;
10
+ resolve(metadata: any): Promise<void>;
11
+ }
12
+ export interface ViewResolver {
13
+ resolve(metadata: any, model: any): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=resolver-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver-protocol.d.ts","sourceRoot":"","sources":["../../../src/node/resolver/resolver-protocol.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAC3D,eAAO,MAAM,YAAY,eAAyB,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViewResolver = exports.ResponseResolver = exports.MethodArgsResolver = void 0;
4
+ exports.MethodArgsResolver = Symbol('MethodArgsResolver');
5
+ exports.ResponseResolver = Symbol('ResponseResolver');
6
+ exports.ViewResolver = Symbol('ViewResolver');
7
+ //# sourceMappingURL=resolver-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver-protocol.js","sourceRoot":"","sources":["../../../src/node/resolver/resolver-protocol.ts"],"names":[],"mappings":";;;AACa,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAClD,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC9C,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ResponseResolver } from './resolver-protocol';
2
+ export declare class ResponseResolverProvider {
3
+ protected readonly responseResolvers: ResponseResolver[];
4
+ protected prioritized: ResponseResolver[];
5
+ constructor(responseResolvers: ResponseResolver[]);
6
+ provide(): ResponseResolver[];
7
+ }
8
+ //# sourceMappingURL=response-resolver-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-resolver-provider.d.ts","sourceRoot":"","sources":["../../../src/node/resolver/response-resolver-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBACa,wBAAwB;IAM7B,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,EAAE;IAJ5D,SAAS,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;gBAInB,iBAAiB,EAAE,gBAAgB,EAAE;IAG5D,OAAO,IAAI,gBAAgB,EAAE;CAOhC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ResponseResolverProvider = void 0;
16
+ const core_1 = require("@celljs/core");
17
+ const resolver_protocol_1 = require("./resolver-protocol");
18
+ let ResponseResolverProvider = class ResponseResolverProvider {
19
+ constructor(responseResolvers) {
20
+ this.responseResolvers = responseResolvers;
21
+ }
22
+ provide() {
23
+ if (!this.prioritized) {
24
+ this.prioritized = core_1.Prioritizeable.prioritizeAllSync(this.responseResolvers).map(c => c.value);
25
+ }
26
+ return this.prioritized;
27
+ }
28
+ };
29
+ ResponseResolverProvider = __decorate([
30
+ (0, core_1.Component)(),
31
+ __param(0, (0, core_1.Autowired)(resolver_protocol_1.ResponseResolver)),
32
+ __metadata("design:paramtypes", [Array])
33
+ ], ResponseResolverProvider);
34
+ exports.ResponseResolverProvider = ResponseResolverProvider;
35
+ //# sourceMappingURL=response-resolver-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-resolver-provider.js","sourceRoot":"","sources":["../../../src/node/resolver/response-resolver-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAAoE;AACpE,2DAAuD;AAGhD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAIjC,YAEuB,iBAAqC;QAArC,sBAAiB,GAAjB,iBAAiB,CAAoB;IACxD,CAAC;IAEL,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG,qBAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACjG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CAEJ,CAAA;AAhBY,wBAAwB;IADpC,IAAA,gBAAS,GAAE;IAMH,WAAA,IAAA,gBAAS,EAAC,oCAAgB,CAAC,CAAA;;GALvB,wBAAwB,CAgBpC;AAhBY,4DAAwB"}
@@ -0,0 +1,14 @@
1
+ import { ResponseResolver } from './resolver-protocol';
2
+ export declare class HeaderResponseResolver implements ResponseResolver {
3
+ readonly priority = 500;
4
+ resolve(metadata: any): Promise<void>;
5
+ }
6
+ export declare class CookieResponseResolver implements ResponseResolver {
7
+ readonly priority = 500;
8
+ resolve(metadata: any): Promise<void>;
9
+ }
10
+ export declare class SessionResponseResolver implements ResponseResolver {
11
+ readonly priority = 500;
12
+ resolve(metadata: any): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=response-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-resolver.d.ts","sourceRoot":"","sources":["../../../src/node/resolver/response-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKvD,qBACa,sBAAuB,YAAW,gBAAgB;IAC3D,QAAQ,CAAC,QAAQ,OAAO;IAClB,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAS9C;AAED,qBACa,sBAAuB,YAAW,gBAAgB;IAC3D,QAAQ,CAAC,QAAQ,OAAO;IAClB,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAS9C;AAED,qBACa,uBAAwB,YAAW,gBAAgB;IAC5D,QAAQ,CAAC,QAAQ,OAAO;IAClB,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAS9C"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SessionResponseResolver = exports.CookieResponseResolver = exports.HeaderResponseResolver = void 0;
10
+ const resolver_protocol_1 = require("./resolver-protocol");
11
+ const node_1 = require("@celljs/web/lib/node");
12
+ const core_1 = require("@celljs/core");
13
+ let HeaderResponseResolver = class HeaderResponseResolver {
14
+ constructor() {
15
+ this.priority = 500;
16
+ }
17
+ async resolve(metadata) {
18
+ const response = node_1.Context.getCurrent().response;
19
+ const headerMetadatas = metadata.responseHeaderMetadata;
20
+ if (headerMetadatas) {
21
+ for (const m of headerMetadatas) {
22
+ response.setHeader(m.name, m.value);
23
+ }
24
+ }
25
+ }
26
+ };
27
+ HeaderResponseResolver = __decorate([
28
+ (0, core_1.Component)(resolver_protocol_1.ResponseResolver)
29
+ ], HeaderResponseResolver);
30
+ exports.HeaderResponseResolver = HeaderResponseResolver;
31
+ let CookieResponseResolver = class CookieResponseResolver {
32
+ constructor() {
33
+ this.priority = 500;
34
+ }
35
+ async resolve(metadata) {
36
+ const cookies = node_1.Context.getCookies();
37
+ const cookieMetadatas = metadata.responseCookieMetadata;
38
+ if (cookieMetadatas && cookies) {
39
+ for (const m of cookieMetadatas) {
40
+ cookies.set(m.name, m.value);
41
+ }
42
+ }
43
+ }
44
+ };
45
+ CookieResponseResolver = __decorate([
46
+ (0, core_1.Component)(resolver_protocol_1.ResponseResolver)
47
+ ], CookieResponseResolver);
48
+ exports.CookieResponseResolver = CookieResponseResolver;
49
+ let SessionResponseResolver = class SessionResponseResolver {
50
+ constructor() {
51
+ this.priority = 500;
52
+ }
53
+ async resolve(metadata) {
54
+ const session = node_1.Context.getSession();
55
+ const sessionMetadatas = metadata.responseSessionMetadata;
56
+ if (sessionMetadatas && session) {
57
+ for (const m of sessionMetadatas) {
58
+ session[m.name] = m.value;
59
+ }
60
+ }
61
+ }
62
+ };
63
+ SessionResponseResolver = __decorate([
64
+ (0, core_1.Component)(resolver_protocol_1.ResponseResolver)
65
+ ], SessionResponseResolver);
66
+ exports.SessionResponseResolver = SessionResponseResolver;
67
+ //# sourceMappingURL=response-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-resolver.js","sourceRoot":"","sources":["../../../src/node/resolver/response-resolver.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2DAAuD;AACvD,+CAA+C;AAC/C,uCAAyC;AAIlC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAA5B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa;QACvB,MAAM,QAAQ,GAAG,cAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;QAC/C,MAAM,eAAe,GAA6B,QAAQ,CAAC,sBAAsB,CAAC;QAClF,IAAI,eAAe,EAAE;YACjB,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE;gBAC7B,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aACvC;SACJ;IACL,CAAC;CACJ,CAAA;AAXY,sBAAsB;IADlC,IAAA,gBAAS,EAAC,oCAAgB,CAAC;GACf,sBAAsB,CAWlC;AAXY,wDAAsB;AAc5B,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAA5B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa;QACvB,MAAM,OAAO,GAAG,cAAO,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,eAAe,GAA6B,QAAQ,CAAC,sBAAsB,CAAC;QAClF,IAAI,eAAe,IAAI,OAAO,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE;gBAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAChC;SACJ;IACL,CAAC;CACJ,CAAA;AAXY,sBAAsB;IADlC,IAAA,gBAAS,EAAC,oCAAgB,CAAC;GACf,sBAAsB,CAWlC;AAXY,wDAAsB;AAc5B,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa;QACvB,MAAM,OAAO,GAAG,cAAO,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAA8B,QAAQ,CAAC,uBAAuB,CAAC;QACrF,IAAI,gBAAgB,IAAI,OAAO,EAAE;YAC7B,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE;gBAC9B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;aAC7B;SACJ;IACL,CAAC;CACJ,CAAA;AAXY,uBAAuB;IADnC,IAAA,gBAAS,EAAC,oCAAgB,CAAC;GACf,uBAAuB,CAWnC;AAXY,0DAAuB"}
@@ -0,0 +1,8 @@
1
+ import { ViewResolver } from './resolver-protocol';
2
+ export declare class ViewResolverProvider {
3
+ protected readonly viewResolvers: ViewResolver[];
4
+ protected prioritized: ViewResolver[];
5
+ constructor(viewResolvers: ViewResolver[]);
6
+ provide(): ViewResolver[];
7
+ }
8
+ //# sourceMappingURL=view-resolver-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-resolver-provider.d.ts","sourceRoot":"","sources":["../../../src/node/resolver/view-resolver-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qBACa,oBAAoB;IAMzB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE;IAJpD,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;gBAIf,aAAa,EAAE,YAAY,EAAE;IAGpD,OAAO,IAAI,YAAY,EAAE;CAO5B"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ViewResolverProvider = void 0;
16
+ const core_1 = require("@celljs/core");
17
+ const resolver_protocol_1 = require("./resolver-protocol");
18
+ let ViewResolverProvider = class ViewResolverProvider {
19
+ constructor(viewResolvers) {
20
+ this.viewResolvers = viewResolvers;
21
+ }
22
+ provide() {
23
+ if (!this.prioritized) {
24
+ this.prioritized = core_1.Prioritizeable.prioritizeAllSync(this.viewResolvers).map(c => c.value);
25
+ }
26
+ return this.prioritized;
27
+ }
28
+ };
29
+ ViewResolverProvider = __decorate([
30
+ (0, core_1.Component)(),
31
+ __param(0, (0, core_1.Autowired)(resolver_protocol_1.ViewResolver)),
32
+ __metadata("design:paramtypes", [Array])
33
+ ], ViewResolverProvider);
34
+ exports.ViewResolverProvider = ViewResolverProvider;
35
+ //# sourceMappingURL=view-resolver-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-resolver-provider.js","sourceRoot":"","sources":["../../../src/node/resolver/view-resolver-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAAoE;AACpE,2DAAmD;AAG5C,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAI7B,YAEuB,aAA6B;QAA7B,kBAAa,GAAb,aAAa,CAAgB;IAChD,CAAC;IAEL,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG,qBAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC7F;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CAEJ,CAAA;AAhBY,oBAAoB;IADhC,IAAA,gBAAS,GAAE;IAMH,WAAA,IAAA,gBAAS,EAAC,gCAAY,CAAC,CAAA;;GALnB,oBAAoB,CAgBhC;AAhBY,oDAAoB"}
@@ -0,0 +1,8 @@
1
+ import { ViewResolver } from './resolver-protocol';
2
+ import { ViewProvider } from '../view/view-provider';
3
+ export declare class ViewResolverImpl implements ViewResolver {
4
+ protected readonly defaultViewName: string;
5
+ protected readonly viewProvider: ViewProvider;
6
+ resolve(metadata: any, model: any): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=view-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-resolver.d.ts","sourceRoot":"","sources":["../../../src/node/resolver/view-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,qBACa,gBAAiB,YAAW,YAAY;IAGjD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAExC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAY1D"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ViewResolverImpl = void 0;
13
+ const resolver_protocol_1 = require("./resolver-protocol");
14
+ const core_1 = require("@celljs/core");
15
+ const view_provider_1 = require("../view/view-provider");
16
+ const node_1 = require("@celljs/web/lib/node");
17
+ const http_1 = require("@celljs/http");
18
+ let ViewResolverImpl = class ViewResolverImpl {
19
+ async resolve(metadata, model) {
20
+ const viewMetadata = metadata.viewMetadata;
21
+ viewMetadata.viewName = viewMetadata.viewName || this.defaultViewName;
22
+ for (const view of this.viewProvider.provide()) {
23
+ if (await view.support(viewMetadata)) {
24
+ node_1.Context.getResponse().setHeader(http_1.HttpHeaders.CONTENT_TYPE, view.contentType);
25
+ await view.render(model, viewMetadata);
26
+ return;
27
+ }
28
+ }
29
+ throw new Error('Not found a suitable view.');
30
+ }
31
+ };
32
+ __decorate([
33
+ (0, core_1.Value)('cell.mvc.defaultViewName'),
34
+ __metadata("design:type", String)
35
+ ], ViewResolverImpl.prototype, "defaultViewName", void 0);
36
+ __decorate([
37
+ (0, core_1.Autowired)(view_provider_1.ViewProvider),
38
+ __metadata("design:type", view_provider_1.ViewProvider)
39
+ ], ViewResolverImpl.prototype, "viewProvider", void 0);
40
+ ViewResolverImpl = __decorate([
41
+ (0, core_1.Component)(resolver_protocol_1.ViewResolver)
42
+ ], ViewResolverImpl);
43
+ exports.ViewResolverImpl = ViewResolverImpl;
44
+ //# sourceMappingURL=view-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-resolver.js","sourceRoot":"","sources":["../../../src/node/resolver/view-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2DAAmD;AACnD,uCAA2D;AAC3D,yDAAqD;AAErD,+CAA+C;AAC/C,uCAA2C;AAGpC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAQzB,KAAK,CAAC,OAAO,CAAC,QAAa,EAAE,KAAU;QACnC,MAAM,YAAY,GAAiB,QAAQ,CAAC,YAAY,CAAC;QACzD,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC;QACtE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YAC5C,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBAClC,cAAO,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,kBAAW,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC5E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBACvC,OAAO;aACV;SACJ;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;CACJ,CAAA;AAlBG;IAAC,IAAA,YAAK,EAAC,0BAA0B,CAAC;;yDACS;AAE3C;IAAC,IAAA,gBAAS,EAAC,4BAAY,CAAC;8BACS,4BAAY;sDAAC;AANrC,gBAAgB;IAD5B,IAAA,gBAAS,EAAC,gCAAY,CAAC;GACX,gBAAgB,CAoB5B;AApBY,4CAAgB"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ import { Logger } from '@celljs/core';
3
+ import { View } from './view-protocol';
4
+ import { MediaType } from '@celljs/http';
5
+ import { Response } from '@celljs/web/lib/node';
6
+ import { Stream } from 'stream';
7
+ import { ViewMetadata } from '../annotation/view';
8
+ export declare class FileView implements View {
9
+ readonly contentType = MediaType.APPLICATION_OCTET_STREAM;
10
+ readonly priority = 600;
11
+ protected readonly logger: Logger;
12
+ protected readonly baseFileDir: any;
13
+ protected isStream(model: any): boolean;
14
+ render(model: any, { metadata }: ViewMetadata): Promise<void>;
15
+ protected streamDownload(response: Response, stream: Stream): void;
16
+ protected handleError(response: Response, reason: string | Error, status?: number): Promise<void>;
17
+ support({ viewName }: ViewMetadata): Promise<boolean>;
18
+ }
19
+ //# sourceMappingURL=file-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-view.d.ts","sourceRoot":"","sources":["../../../src/node/view/file-view.ts"],"names":[],"mappings":";AAAA,OAAO,EAAwB,MAAM,EAAS,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAA2B,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAW,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,qBACa,QAAS,YAAW,IAAI;IAEjC,QAAQ,CAAC,WAAW,sCAAsC;IAE1D,QAAQ,CAAC,QAAQ,OAAO;IAGxB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAGlC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC;IAEpC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG;IAKvB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBnE,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;cAelD,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAE,MAAyC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzI,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGxD"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FileView = void 0;
13
+ const core_1 = require("@celljs/core");
14
+ const view_protocol_1 = require("./view-protocol");
15
+ const http_1 = require("@celljs/http");
16
+ const node_1 = require("@celljs/web/lib/node");
17
+ const file_1 = require("../annotation/file");
18
+ const fs_extra_1 = require("fs-extra");
19
+ const path_1 = require("path");
20
+ let FileView = class FileView {
21
+ constructor() {
22
+ this.contentType = http_1.MediaType.APPLICATION_OCTET_STREAM;
23
+ this.priority = 600;
24
+ }
25
+ isStream(model) {
26
+ return typeof model === 'object'
27
+ && typeof model.pipe === 'function';
28
+ }
29
+ async render(model, { metadata }) {
30
+ if (metadata === null || metadata === void 0 ? void 0 : metadata.file) {
31
+ model = (0, fs_extra_1.createReadStream)((0, path_1.join)(__dirname, this.baseFileDir, metadata.file));
32
+ }
33
+ const response = node_1.Context.getCurrent().response;
34
+ if (this.isStream(model)) {
35
+ node_1.Context.setSkipAutoEnd(true);
36
+ this.streamDownload(response, model);
37
+ }
38
+ else {
39
+ if (Buffer.isBuffer(model)) {
40
+ response.setHeader(http_1.HttpHeaders.CONTENT_LENGTH, model.byteLength);
41
+ }
42
+ response.body = model;
43
+ }
44
+ }
45
+ streamDownload(response, stream) {
46
+ stream.on('error', error => {
47
+ this.handleError(response, error);
48
+ });
49
+ response.on('error', error => {
50
+ this.handleError(response, error);
51
+ });
52
+ response.on('close', () => {
53
+ if (typeof stream.destroy === 'function') {
54
+ stream.destroy();
55
+ }
56
+ });
57
+ stream.pipe(response);
58
+ }
59
+ async handleError(response, reason, status = http_1.HttpStatus.INTERNAL_SERVER_ERROR) {
60
+ this.logger.error(reason);
61
+ response.status(status).send('Unable to download file.').end();
62
+ }
63
+ support({ viewName }) {
64
+ return Promise.resolve(viewName === file_1.FILE_VIEW_NAME);
65
+ }
66
+ };
67
+ __decorate([
68
+ (0, core_1.Autowired)(core_1.Logger),
69
+ __metadata("design:type", Object)
70
+ ], FileView.prototype, "logger", void 0);
71
+ __decorate([
72
+ (0, core_1.Value)('cell.mvc.baseFileDir'),
73
+ __metadata("design:type", Object)
74
+ ], FileView.prototype, "baseFileDir", void 0);
75
+ FileView = __decorate([
76
+ (0, core_1.Component)(view_protocol_1.View)
77
+ ], FileView);
78
+ exports.FileView = FileView;
79
+ //# sourceMappingURL=file-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-view.js","sourceRoot":"","sources":["../../../src/node/view/file-view.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAmE;AACnE,mDAAuC;AACvC,uCAAkE;AAClE,+CAAyD;AAEzD,6CAAoD;AAEpD,uCAA4C;AAC5C,+BAA4B;AAGrB,IAAM,QAAQ,GAAd,MAAM,QAAQ;IAAd;QAEM,gBAAW,GAAG,gBAAS,CAAC,wBAAwB,CAAC;QAEjD,aAAQ,GAAG,GAAG,CAAC;IAoD5B,CAAC;IA5Ca,QAAQ,CAAC,KAAU;QACzB,OAAO,OAAO,KAAK,KAAK,QAAQ;eACzB,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAU,EAAE,EAAE,QAAQ,EAAgB;QAC/C,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE;YAChB,KAAK,GAAG,IAAA,2BAAgB,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9E;QACD,MAAM,QAAQ,GAAG,cAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACtB,cAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SACxC;aAAM;YACH,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACxB,QAAQ,CAAC,SAAS,CAAC,kBAAW,CAAC,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;aACpE;YACD,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;SACzB;IACL,CAAC;IAES,cAAc,CAAC,QAAkB,EAAE,MAAc;QACvD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,IAAI,OAAQ,MAAc,CAAC,OAAO,KAAK,UAAU,EAAE;gBAC9C,MAAc,CAAC,OAAO,EAAE,CAAC;aAC7B;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,QAAkB,EAAE,MAAsB,EAAE,SAAiB,iBAAU,CAAC,qBAAqB;QACrH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,CAAC,EAAE,QAAQ,EAAgB;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,qBAAc,CAAC,CAAC;IACxD,CAAC;CACJ,CAAA;AAlDG;IAAC,IAAA,gBAAS,EAAC,aAAM,CAAC;;wCACgB;AAElC;IAAC,IAAA,YAAK,EAAC,sBAAsB,CAAC;;6CACM;AAV3B,QAAQ;IADpB,IAAA,gBAAS,EAAC,oBAAI,CAAC;GACH,QAAQ,CAwDpB;AAxDY,4BAAQ"}
@@ -0,0 +1,11 @@
1
+ import { View } from './view-protocol';
2
+ import { ViewMetadata } from '../annotation/view';
3
+ import { MediaType } from '@celljs/http';
4
+ export declare class HtmlView implements View {
5
+ readonly contentType = MediaType.TEXT_HTML;
6
+ readonly priority = 500;
7
+ protected readonly options: any;
8
+ render(model: any, { metadata }: ViewMetadata): Promise<void>;
9
+ support({ viewName, metadata }: ViewMetadata): Promise<boolean>;
10
+ }
11
+ //# sourceMappingURL=html-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-view.d.ts","sourceRoot":"","sources":["../../../src/node/view/html-view.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAKvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBACa,QAAS,YAAW,IAAI;IAEjC,QAAQ,CAAC,WAAW,uBAAuB;IAE3C,QAAQ,CAAC,QAAQ,OAAO;IAGxB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;IAE1B,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnE,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGlE"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HtmlView = void 0;
13
+ const core_1 = require("@celljs/core");
14
+ const view_protocol_1 = require("./view-protocol");
15
+ const node_1 = require("@celljs/web/lib/node");
16
+ const mustache_1 = require("mustache");
17
+ const path_1 = require("path");
18
+ const fs_extra_1 = require("fs-extra");
19
+ const html_1 = require("../annotation/html");
20
+ const http_1 = require("@celljs/http");
21
+ let HtmlView = class HtmlView {
22
+ constructor() {
23
+ this.contentType = http_1.MediaType.TEXT_HTML;
24
+ this.priority = 500;
25
+ }
26
+ async render(model, { metadata }) {
27
+ const response = node_1.Context.getCurrent().response;
28
+ const { baseViewDir, cache } = this.options;
29
+ const template = await (0, fs_extra_1.readFile)((0, path_1.join)(__dirname, baseViewDir, metadata.file), { encoding: 'utf8' });
30
+ if (cache) {
31
+ (0, mustache_1.parse)(template);
32
+ }
33
+ response.body = (0, mustache_1.render)(template, model);
34
+ }
35
+ support({ viewName, metadata }) {
36
+ var _a;
37
+ return Promise.resolve(viewName === html_1.HTML_VIEW_NAME && ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.file) === null || _a === void 0 ? void 0 : _a.endsWith('.mustache')));
38
+ }
39
+ };
40
+ __decorate([
41
+ (0, core_1.Value)('cell.mustache'),
42
+ __metadata("design:type", Object)
43
+ ], HtmlView.prototype, "options", void 0);
44
+ HtmlView = __decorate([
45
+ (0, core_1.Component)(view_protocol_1.View)
46
+ ], HtmlView);
47
+ exports.HtmlView = HtmlView;
48
+ //# sourceMappingURL=html-view.js.map