@celljs/mvc 3.8.0 → 4.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.
- package/esm/common/constants.d.ts +1 -0
- package/esm/common/constants.js +2 -0
- package/esm/common/constants.js.map +1 -0
- package/esm/common/index.d.ts +1 -0
- package/esm/common/index.js +2 -0
- package/esm/common/index.js.map +1 -0
- package/esm/node/annotation/body.d.ts +6 -0
- package/esm/node/annotation/body.js +15 -0
- package/esm/node/annotation/body.js.map +1 -0
- package/esm/node/annotation/catch.d.ts +9 -0
- package/esm/node/annotation/catch.js +18 -0
- package/esm/node/annotation/catch.js.map +1 -0
- package/esm/node/annotation/controller.d.ts +14 -0
- package/esm/node/annotation/controller.js +29 -0
- package/esm/node/annotation/controller.js.map +1 -0
- package/esm/node/annotation/cookie.d.ts +15 -0
- package/esm/node/annotation/cookie.js +24 -0
- package/esm/node/annotation/cookie.js.map +1 -0
- package/esm/node/annotation/file.d.ts +2 -0
- package/esm/node/annotation/file.js +6 -0
- package/esm/node/annotation/file.js.map +1 -0
- package/esm/node/annotation/header.d.ts +15 -0
- package/esm/node/annotation/header.js +24 -0
- package/esm/node/annotation/header.js.map +1 -0
- package/esm/node/annotation/html.d.ts +2 -0
- package/esm/node/annotation/html.js +6 -0
- package/esm/node/annotation/html.js.map +1 -0
- package/esm/node/annotation/index.d.ts +16 -0
- package/esm/node/annotation/index.js +17 -0
- package/esm/node/annotation/index.js.map +1 -0
- package/esm/node/annotation/json.d.ts +2 -0
- package/esm/node/annotation/json.js +6 -0
- package/esm/node/annotation/json.js.map +1 -0
- package/esm/node/annotation/method.d.ts +23 -0
- package/esm/node/annotation/method.js +42 -0
- package/esm/node/annotation/method.js.map +1 -0
- package/esm/node/annotation/param.d.ts +6 -0
- package/esm/node/annotation/param.js +15 -0
- package/esm/node/annotation/param.js.map +1 -0
- package/esm/node/annotation/query.d.ts +6 -0
- package/esm/node/annotation/query.js +15 -0
- package/esm/node/annotation/query.js.map +1 -0
- package/esm/node/annotation/req.d.ts +5 -0
- package/esm/node/annotation/req.js +13 -0
- package/esm/node/annotation/req.js.map +1 -0
- package/esm/node/annotation/res.d.ts +5 -0
- package/esm/node/annotation/res.js +13 -0
- package/esm/node/annotation/res.js.map +1 -0
- package/esm/node/annotation/session.d.ts +15 -0
- package/esm/node/annotation/session.js +24 -0
- package/esm/node/annotation/session.js.map +1 -0
- package/esm/node/annotation/text.d.ts +2 -0
- package/esm/node/annotation/text.js +6 -0
- package/esm/node/annotation/text.js.map +1 -0
- package/esm/node/annotation/view.d.ts +12 -0
- package/esm/node/annotation/view.js +10 -0
- package/esm/node/annotation/view.js.map +1 -0
- package/esm/node/constants.d.ts +17 -0
- package/esm/node/constants.js +18 -0
- package/esm/node/constants.js.map +1 -0
- package/esm/node/error/error-handler.d.ts +9 -0
- package/esm/node/error/error-handler.js +39 -0
- package/esm/node/error/error-handler.js.map +1 -0
- package/esm/node/error/index.d.ts +1 -0
- package/esm/node/error/index.js +2 -0
- package/esm/node/error/index.js.map +1 -0
- package/esm/node/handler/handler-adapter.d.ts +21 -0
- package/esm/node/handler/handler-adapter.js +119 -0
- package/esm/node/handler/handler-adapter.js.map +1 -0
- package/esm/node/handler/handler-protocol.d.ts +37 -0
- package/esm/node/handler/handler-protocol.js +4 -0
- package/esm/node/handler/handler-protocol.js.map +1 -0
- package/esm/node/handler/index.d.ts +5 -0
- package/esm/node/handler/index.js +6 -0
- package/esm/node/handler/index.js.map +1 -0
- package/esm/node/handler/route-builder.d.ts +28 -0
- package/esm/node/handler/route-builder.js +122 -0
- package/esm/node/handler/route-builder.js.map +1 -0
- package/esm/node/handler/route-metadata-matcher.d.ts +8 -0
- package/esm/node/handler/route-metadata-matcher.js +57 -0
- package/esm/node/handler/route-metadata-matcher.js.map +1 -0
- package/esm/node/handler/route-provider.d.ts +10 -0
- package/esm/node/handler/route-provider.js +41 -0
- package/esm/node/handler/route-provider.js.map +1 -0
- package/esm/node/index.d.ts +5 -0
- package/esm/node/index.js +6 -0
- package/esm/node/index.js.map +1 -0
- package/esm/node/module.d.ts +3 -0
- package/esm/node/module.js +4 -0
- package/esm/node/module.js.map +1 -0
- package/esm/node/resolver/index.d.ts +7 -0
- package/esm/node/resolver/index.js +8 -0
- package/esm/node/resolver/index.js.map +1 -0
- package/esm/node/resolver/method-args-resolver-provider.d.ts +7 -0
- package/esm/node/resolver/method-args-resolver-provider.js +32 -0
- package/esm/node/resolver/method-args-resolver-provider.js.map +1 -0
- package/esm/node/resolver/method-args-resolver.d.ts +34 -0
- package/esm/node/resolver/method-args-resolver.js +149 -0
- package/esm/node/resolver/method-args-resolver.js.map +1 -0
- package/esm/node/resolver/resolver-protocol.d.ts +14 -0
- package/esm/node/resolver/resolver-protocol.js +4 -0
- package/esm/node/resolver/resolver-protocol.js.map +1 -0
- package/esm/node/resolver/response-resolver-provider.d.ts +7 -0
- package/esm/node/resolver/response-resolver-provider.js +32 -0
- package/esm/node/resolver/response-resolver-provider.js.map +1 -0
- package/esm/node/resolver/response-resolver.d.ts +13 -0
- package/esm/node/resolver/response-resolver.js +64 -0
- package/esm/node/resolver/response-resolver.js.map +1 -0
- package/esm/node/resolver/view-resolver-provider.d.ts +7 -0
- package/esm/node/resolver/view-resolver-provider.js +32 -0
- package/esm/node/resolver/view-resolver-provider.js.map +1 -0
- package/esm/node/resolver/view-resolver.d.ts +7 -0
- package/esm/node/resolver/view-resolver.js +41 -0
- package/esm/node/resolver/view-resolver.js.map +1 -0
- package/esm/node/view/file-view.d.ts +17 -0
- package/esm/node/view/file-view.js +81 -0
- package/esm/node/view/file-view.js.map +1 -0
- package/esm/node/view/html-view.d.ts +10 -0
- package/esm/node/view/html-view.js +50 -0
- package/esm/node/view/html-view.js.map +1 -0
- package/esm/node/view/index.d.ts +6 -0
- package/esm/node/view/index.js +7 -0
- package/esm/node/view/index.js.map +1 -0
- package/esm/node/view/json-view-template-renderer.d.ts +5 -0
- package/esm/node/view/json-view-template-renderer.js +36 -0
- package/esm/node/view/json-view-template-renderer.js.map +1 -0
- package/esm/node/view/json-view.d.ts +10 -0
- package/esm/node/view/json-view.js +36 -0
- package/esm/node/view/json-view.js.map +1 -0
- package/esm/node/view/text-view.d.ts +9 -0
- package/esm/node/view/text-view.js +29 -0
- package/esm/node/view/text-view.js.map +1 -0
- package/esm/node/view/view-protocol.d.ts +11 -0
- package/esm/node/view/view-protocol.js +3 -0
- package/esm/node/view/view-protocol.js.map +1 -0
- package/esm/node/view/view-provider.d.ts +7 -0
- package/esm/node/view/view-provider.js +32 -0
- package/esm/node/view/view-provider.js.map +1 -0
- package/esm/package.json +3 -0
- package/lib/node/view/html-view.js +6 -3
- package/lib/node/view/html-view.js.map +1 -1
- package/package.json +58 -6
- package/src/node/view/html-view.ts +3 -3
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './response-resolver.js';
|
|
2
|
+
export * from './method-args-resolver.js';
|
|
3
|
+
export * from './method-args-resolver-provider.js';
|
|
4
|
+
export * from './resolver-protocol.js';
|
|
5
|
+
export * from './response-resolver-provider.js';
|
|
6
|
+
export * from './view-resolver.js';
|
|
7
|
+
export * from './view-resolver-provider.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './response-resolver.js';
|
|
2
|
+
export * from './method-args-resolver.js';
|
|
3
|
+
export * from './method-args-resolver-provider.js';
|
|
4
|
+
export * from './resolver-protocol.js';
|
|
5
|
+
export * from './response-resolver-provider.js';
|
|
6
|
+
export * from './view-resolver.js';
|
|
7
|
+
export * from './view-resolver-provider.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/node/resolver/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MethodArgsResolver } from './resolver-protocol.js';
|
|
2
|
+
export declare class MethodArgsResolverProvider {
|
|
3
|
+
protected readonly methodArgsResolvers: MethodArgsResolver[];
|
|
4
|
+
protected prioritized: MethodArgsResolver[];
|
|
5
|
+
constructor(methodArgsResolvers: MethodArgsResolver[]);
|
|
6
|
+
provide(): MethodArgsResolver[];
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Component, Autowired, Prioritizeable } from '@celljs/core';
|
|
14
|
+
import { MethodArgsResolver } from './resolver-protocol.js';
|
|
15
|
+
let MethodArgsResolverProvider = class MethodArgsResolverProvider {
|
|
16
|
+
constructor(methodArgsResolvers) {
|
|
17
|
+
this.methodArgsResolvers = methodArgsResolvers;
|
|
18
|
+
}
|
|
19
|
+
provide() {
|
|
20
|
+
if (!this.prioritized) {
|
|
21
|
+
this.prioritized = Prioritizeable.prioritizeAllSync(this.methodArgsResolvers).map(c => c.value);
|
|
22
|
+
}
|
|
23
|
+
return this.prioritized;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
MethodArgsResolverProvider = __decorate([
|
|
27
|
+
Component(),
|
|
28
|
+
__param(0, Autowired(MethodArgsResolver)),
|
|
29
|
+
__metadata("design:paramtypes", [Array])
|
|
30
|
+
], MethodArgsResolverProvider);
|
|
31
|
+
export { MethodArgsResolverProvider };
|
|
32
|
+
//# sourceMappingURL=method-args-resolver-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"method-args-resolver-provider.js","sourceRoot":"","sources":["../../../src/node/resolver/method-args-resolver-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGlD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAInC,YAEuB,mBAAyC;mCAAzC,mBAAmB;IACtC,CAAC;IAEL,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CAEJ,CAAA;AAhBY,0BAA0B;IADtC,SAAS,EAAE;IAMH,WAAA,SAAS,CAAC,kBAAkB,CAAC,CAAA;;GALzB,0BAA0B,CAgBtC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { MethodArgsResolver } from './resolver-protocol.js';
|
|
2
|
+
import { RouteMetadata } from '../handler/index.js';
|
|
3
|
+
export declare class BodyMethodArgsResolver implements MethodArgsResolver {
|
|
4
|
+
readonly priority = 100;
|
|
5
|
+
resolve(metadata: any, args: any[]): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare class HeaderMethodArgsResolver implements MethodArgsResolver {
|
|
8
|
+
readonly priority = 200;
|
|
9
|
+
resolve(metadata: any, args: any[]): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare class ParamMethodArgsResolver implements MethodArgsResolver {
|
|
12
|
+
readonly priority = 300;
|
|
13
|
+
resolve(metadata: any, args: any[]): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare class QueryMethodArgsResolver implements MethodArgsResolver {
|
|
16
|
+
readonly priority = 400;
|
|
17
|
+
resolve(metadata: any, args: any[]): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export declare class CookieMethodArgsResolver implements MethodArgsResolver {
|
|
20
|
+
readonly priority = 500;
|
|
21
|
+
resolve(metadata: any, args: any[]): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export declare class SessionMethodArgsResolver implements MethodArgsResolver {
|
|
24
|
+
readonly priority = 600;
|
|
25
|
+
resolve(metadata: any, args: any[]): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
export declare class RequestMethodArgsResolver implements MethodArgsResolver {
|
|
28
|
+
readonly priority = 700;
|
|
29
|
+
resolve(metadata: RouteMetadata, args: any[]): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
export declare class ResponseMethodArgsResolver implements MethodArgsResolver {
|
|
32
|
+
readonly priority = 800;
|
|
33
|
+
resolve(metadata: RouteMetadata, args: any[]): Promise<void>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { MethodArgsResolver } from './resolver-protocol.js';
|
|
8
|
+
import { Context } from '@celljs/web/lib/node';
|
|
9
|
+
import { Component } from '@celljs/core';
|
|
10
|
+
import { PATH_PARMAS_ATTR } from '../handler/index.js';
|
|
11
|
+
let BodyMethodArgsResolver = class BodyMethodArgsResolver {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.priority = 100;
|
|
14
|
+
}
|
|
15
|
+
async resolve(metadata, args) {
|
|
16
|
+
const body = Context.getCurrent().request.body;
|
|
17
|
+
const bodyMetadatas = metadata.bodyMetadata;
|
|
18
|
+
if (bodyMetadatas && body !== undefined) {
|
|
19
|
+
for (const m of bodyMetadatas) {
|
|
20
|
+
args[m.parameterIndex] = m.name ? body[m.name] : body;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
BodyMethodArgsResolver = __decorate([
|
|
26
|
+
Component(MethodArgsResolver)
|
|
27
|
+
], BodyMethodArgsResolver);
|
|
28
|
+
export { BodyMethodArgsResolver };
|
|
29
|
+
let HeaderMethodArgsResolver = class HeaderMethodArgsResolver {
|
|
30
|
+
constructor() {
|
|
31
|
+
this.priority = 200;
|
|
32
|
+
}
|
|
33
|
+
async resolve(metadata, args) {
|
|
34
|
+
const headerMetadatas = metadata.requestHeaderMetadata;
|
|
35
|
+
if (headerMetadatas) {
|
|
36
|
+
const request = Context.getCurrent().request;
|
|
37
|
+
for (const m of headerMetadatas) {
|
|
38
|
+
args[m.parameterIndex] = m.name ? request.get(m.name) : request.headers;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
HeaderMethodArgsResolver = __decorate([
|
|
44
|
+
Component(MethodArgsResolver)
|
|
45
|
+
], HeaderMethodArgsResolver);
|
|
46
|
+
export { HeaderMethodArgsResolver };
|
|
47
|
+
let ParamMethodArgsResolver = class ParamMethodArgsResolver {
|
|
48
|
+
constructor() {
|
|
49
|
+
this.priority = 300;
|
|
50
|
+
}
|
|
51
|
+
async resolve(metadata, args) {
|
|
52
|
+
const params = Context.getAttr(PATH_PARMAS_ATTR);
|
|
53
|
+
const paramMetadatas = metadata.paramMetadata;
|
|
54
|
+
if (paramMetadatas && params) {
|
|
55
|
+
for (const m of paramMetadatas) {
|
|
56
|
+
args[m.parameterIndex] = m.name ? params[m.name] : params;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
ParamMethodArgsResolver = __decorate([
|
|
62
|
+
Component(MethodArgsResolver)
|
|
63
|
+
], ParamMethodArgsResolver);
|
|
64
|
+
export { ParamMethodArgsResolver };
|
|
65
|
+
let QueryMethodArgsResolver = class QueryMethodArgsResolver {
|
|
66
|
+
constructor() {
|
|
67
|
+
this.priority = 400;
|
|
68
|
+
}
|
|
69
|
+
async resolve(metadata, args) {
|
|
70
|
+
const query = Context.getCurrent().request.query;
|
|
71
|
+
const queryMetadatas = metadata.queryMetadata;
|
|
72
|
+
if (queryMetadatas && query !== undefined) {
|
|
73
|
+
for (const m of queryMetadatas) {
|
|
74
|
+
args[m.parameterIndex] = m.name ? query[m.name] : query;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
QueryMethodArgsResolver = __decorate([
|
|
80
|
+
Component(MethodArgsResolver)
|
|
81
|
+
], QueryMethodArgsResolver);
|
|
82
|
+
export { QueryMethodArgsResolver };
|
|
83
|
+
let CookieMethodArgsResolver = class CookieMethodArgsResolver {
|
|
84
|
+
constructor() {
|
|
85
|
+
this.priority = 500;
|
|
86
|
+
}
|
|
87
|
+
async resolve(metadata, args) {
|
|
88
|
+
const cookies = Context.getCookies();
|
|
89
|
+
const cookieMetadatas = metadata.requestCookieMetadata;
|
|
90
|
+
if (cookieMetadatas && cookies !== undefined) {
|
|
91
|
+
for (const m of cookieMetadatas) {
|
|
92
|
+
args[m.parameterIndex] = m.name ? cookies.get(m.name) : cookies;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
CookieMethodArgsResolver = __decorate([
|
|
98
|
+
Component(MethodArgsResolver)
|
|
99
|
+
], CookieMethodArgsResolver);
|
|
100
|
+
export { CookieMethodArgsResolver };
|
|
101
|
+
let SessionMethodArgsResolver = class SessionMethodArgsResolver {
|
|
102
|
+
constructor() {
|
|
103
|
+
this.priority = 600;
|
|
104
|
+
}
|
|
105
|
+
async resolve(metadata, args) {
|
|
106
|
+
const session = Context.getSession();
|
|
107
|
+
const sessionMetadatas = metadata.requestSessionMetadata;
|
|
108
|
+
if (sessionMetadatas && session !== undefined) {
|
|
109
|
+
for (const m of sessionMetadatas) {
|
|
110
|
+
args[m.parameterIndex] = m.name ? session[m.name] : session;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
SessionMethodArgsResolver = __decorate([
|
|
116
|
+
Component(MethodArgsResolver)
|
|
117
|
+
], SessionMethodArgsResolver);
|
|
118
|
+
export { SessionMethodArgsResolver };
|
|
119
|
+
let RequestMethodArgsResolver = class RequestMethodArgsResolver {
|
|
120
|
+
constructor() {
|
|
121
|
+
this.priority = 700;
|
|
122
|
+
}
|
|
123
|
+
async resolve(metadata, args) {
|
|
124
|
+
const requestMetadata = metadata.requestMetadata;
|
|
125
|
+
if (requestMetadata) {
|
|
126
|
+
args[requestMetadata.parameterIndex] = Context.getRequest();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
RequestMethodArgsResolver = __decorate([
|
|
131
|
+
Component(MethodArgsResolver)
|
|
132
|
+
], RequestMethodArgsResolver);
|
|
133
|
+
export { RequestMethodArgsResolver };
|
|
134
|
+
let ResponseMethodArgsResolver = class ResponseMethodArgsResolver {
|
|
135
|
+
constructor() {
|
|
136
|
+
this.priority = 800;
|
|
137
|
+
}
|
|
138
|
+
async resolve(metadata, args) {
|
|
139
|
+
const responseMetadata = metadata.responseMetadata;
|
|
140
|
+
if (responseMetadata) {
|
|
141
|
+
args[responseMetadata.parameterIndex] = Context.getResponse();
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
ResponseMethodArgsResolver = __decorate([
|
|
146
|
+
Component(MethodArgsResolver)
|
|
147
|
+
], ResponseMethodArgsResolver);
|
|
148
|
+
export { ResponseMethodArgsResolver };
|
|
149
|
+
//# 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":";;;;;;AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,OAAO,EAAC,gBAAgB,EAAgB,MAAM,YAAY,CAAC;AAGpD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAA5B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa,EAAE,IAAW;QACpC,MAAM,IAAI,GAAQ,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACpD,MAAM,aAAa,GAAmB,QAAQ,CAAC,YAAY,CAAC;QAC5D,IAAI,aAAa,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC5B,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1D,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AAXY,sBAAsB;IADlC,SAAS,CAAC,kBAAkB,CAAC;GACjB,sBAAsB,CAWlC;;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAA9B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa,EAAE,IAAW;QACpC,MAAM,eAAe,GAA4B,QAAQ,CAAC,qBAAqB,CAAC;QAChF,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5E,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AAXY,wBAAwB;IADpC,SAAS,CAAC,kBAAkB,CAAC;GACjB,wBAAwB,CAWpC;;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;QACM,aAAQ,GAAG,GAAG,CAAC;IAW5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa,EAAE,IAAW;QACpC,MAAM,MAAM,GAAQ,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,cAAc,GAAoB,QAAQ,CAAC,aAAa,CAAC;QAC/D,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9D,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AAZY,uBAAuB;IADnC,SAAS,CAAC,kBAAkB,CAAC;GACjB,uBAAuB,CAYnC;;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa,EAAE,IAAW;QACpC,MAAM,KAAK,GAAQ,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACtD,MAAM,cAAc,GAAoB,QAAQ,CAAC,aAAa,CAAC;QAC/D,IAAI,cAAc,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5D,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AAXY,uBAAuB;IADnC,SAAS,CAAC,kBAAkB,CAAC;GACjB,uBAAuB,CAWnC;;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAA9B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa,EAAE,IAAW;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,eAAe,GAA4B,QAAQ,CAAC,qBAAqB,CAAC;QAChF,IAAI,eAAe,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACpE,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AAXY,wBAAwB;IADpC,SAAS,CAAC,kBAAkB,CAAC;GACjB,wBAAwB,CAWpC;;AAGM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAA/B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa,EAAE,IAAW;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAA6B,QAAQ,CAAC,sBAAsB,CAAC;QACnF,IAAI,gBAAgB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC5C,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AAXY,yBAAyB;IADrC,SAAS,CAAC,kBAAkB,CAAC;GACjB,yBAAyB,CAWrC;;AAGM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAA/B;QACM,aAAQ,GAAG,GAAG,CAAC;IAO5B,CAAC;IANG,KAAK,CAAC,OAAO,CAAC,QAAuB,EAAE,IAAW;QAC9C,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QACjD,IAAI,eAAe,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QAChE,CAAC;IACL,CAAC;CACJ,CAAA;AARY,yBAAyB;IADrC,SAAS,CAAC,kBAAkB,CAAC;GACjB,yBAAyB,CAQrC;;AAGM,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAAhC;QACM,aAAQ,GAAG,GAAG,CAAC;IAO5B,CAAC;IANG,KAAK,CAAC,OAAO,CAAC,QAAuB,EAAE,IAAW;QAC9C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACnD,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClE,CAAC;IACL,CAAC;CACJ,CAAA;AARY,0BAA0B;IADtC,SAAS,CAAC,kBAAkB,CAAC;GACjB,0BAA0B,CAQtC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver-protocol.js","sourceRoot":"","sources":["../../../src/node/resolver/resolver-protocol.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ResponseResolver } from './resolver-protocol.js';
|
|
2
|
+
export declare class ResponseResolverProvider {
|
|
3
|
+
protected readonly responseResolvers: ResponseResolver[];
|
|
4
|
+
protected prioritized: ResponseResolver[];
|
|
5
|
+
constructor(responseResolvers: ResponseResolver[]);
|
|
6
|
+
provide(): ResponseResolver[];
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Component, Autowired, Prioritizeable } from '@celljs/core';
|
|
14
|
+
import { ResponseResolver } from './resolver-protocol.js';
|
|
15
|
+
let ResponseResolverProvider = class ResponseResolverProvider {
|
|
16
|
+
constructor(responseResolvers) {
|
|
17
|
+
this.responseResolvers = responseResolvers;
|
|
18
|
+
}
|
|
19
|
+
provide() {
|
|
20
|
+
if (!this.prioritized) {
|
|
21
|
+
this.prioritized = Prioritizeable.prioritizeAllSync(this.responseResolvers).map(c => c.value);
|
|
22
|
+
}
|
|
23
|
+
return this.prioritized;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
ResponseResolverProvider = __decorate([
|
|
27
|
+
Component(),
|
|
28
|
+
__param(0, Autowired(ResponseResolver)),
|
|
29
|
+
__metadata("design:paramtypes", [Array])
|
|
30
|
+
], ResponseResolverProvider);
|
|
31
|
+
export { ResponseResolverProvider };
|
|
32
|
+
//# 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,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGhD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAIjC,YAEuB,iBAAqC;iCAArC,iBAAiB;IACpC,CAAC;IAEL,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CAEJ,CAAA;AAhBY,wBAAwB;IADpC,SAAS,EAAE;IAMH,WAAA,SAAS,CAAC,gBAAgB,CAAC,CAAA;;GALvB,wBAAwB,CAgBpC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ResponseResolver } from './resolver-protocol.js';
|
|
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
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { ResponseResolver } from './resolver-protocol.js';
|
|
8
|
+
import { Context } from '@celljs/web/lib/node';
|
|
9
|
+
import { Component } from '@celljs/core';
|
|
10
|
+
let HeaderResponseResolver = class HeaderResponseResolver {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.priority = 500;
|
|
13
|
+
}
|
|
14
|
+
async resolve(metadata) {
|
|
15
|
+
const response = Context.getCurrent().response;
|
|
16
|
+
const headerMetadatas = metadata.responseHeaderMetadata;
|
|
17
|
+
if (headerMetadatas) {
|
|
18
|
+
for (const m of headerMetadatas) {
|
|
19
|
+
response.setHeader(m.name, m.value);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
HeaderResponseResolver = __decorate([
|
|
25
|
+
Component(ResponseResolver)
|
|
26
|
+
], HeaderResponseResolver);
|
|
27
|
+
export { HeaderResponseResolver };
|
|
28
|
+
let CookieResponseResolver = class CookieResponseResolver {
|
|
29
|
+
constructor() {
|
|
30
|
+
this.priority = 500;
|
|
31
|
+
}
|
|
32
|
+
async resolve(metadata) {
|
|
33
|
+
const cookies = Context.getCookies();
|
|
34
|
+
const cookieMetadatas = metadata.responseCookieMetadata;
|
|
35
|
+
if (cookieMetadatas && cookies) {
|
|
36
|
+
for (const m of cookieMetadatas) {
|
|
37
|
+
cookies.set(m.name, m.value);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
CookieResponseResolver = __decorate([
|
|
43
|
+
Component(ResponseResolver)
|
|
44
|
+
], CookieResponseResolver);
|
|
45
|
+
export { CookieResponseResolver };
|
|
46
|
+
let SessionResponseResolver = class SessionResponseResolver {
|
|
47
|
+
constructor() {
|
|
48
|
+
this.priority = 500;
|
|
49
|
+
}
|
|
50
|
+
async resolve(metadata) {
|
|
51
|
+
const session = Context.getSession();
|
|
52
|
+
const sessionMetadatas = metadata.responseSessionMetadata;
|
|
53
|
+
if (sessionMetadatas && session) {
|
|
54
|
+
for (const m of sessionMetadatas) {
|
|
55
|
+
session[m.name] = m.value;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
SessionResponseResolver = __decorate([
|
|
61
|
+
Component(ResponseResolver)
|
|
62
|
+
], SessionResponseResolver);
|
|
63
|
+
export { SessionResponseResolver };
|
|
64
|
+
//# 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,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIlC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAA5B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;QAC/C,MAAM,eAAe,GAA6B,QAAQ,CAAC,sBAAsB,CAAC;QAClF,IAAI,eAAe,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC9B,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AAXY,sBAAsB;IADlC,SAAS,CAAC,gBAAgB,CAAC;GACf,sBAAsB,CAWlC;;AAGM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAA5B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa;QACvB,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,eAAe,GAA6B,QAAQ,CAAC,sBAAsB,CAAC;QAClF,IAAI,eAAe,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AAXY,sBAAsB;IADlC,SAAS,CAAC,gBAAgB,CAAC;GACf,sBAAsB,CAWlC;;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;QACM,aAAQ,GAAG,GAAG,CAAC;IAU5B,CAAC;IATG,KAAK,CAAC,OAAO,CAAC,QAAa;QACvB,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAA8B,QAAQ,CAAC,uBAAuB,CAAC;QACrF,IAAI,gBAAgB,IAAI,OAAO,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBAC/B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AAXY,uBAAuB;IADnC,SAAS,CAAC,gBAAgB,CAAC;GACf,uBAAuB,CAWnC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ViewResolver } from './resolver-protocol.js';
|
|
2
|
+
export declare class ViewResolverProvider {
|
|
3
|
+
protected readonly viewResolvers: ViewResolver[];
|
|
4
|
+
protected prioritized: ViewResolver[];
|
|
5
|
+
constructor(viewResolvers: ViewResolver[]);
|
|
6
|
+
provide(): ViewResolver[];
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Component, Autowired, Prioritizeable } from '@celljs/core';
|
|
14
|
+
import { ViewResolver } from './resolver-protocol.js';
|
|
15
|
+
let ViewResolverProvider = class ViewResolverProvider {
|
|
16
|
+
constructor(viewResolvers) {
|
|
17
|
+
this.viewResolvers = viewResolvers;
|
|
18
|
+
}
|
|
19
|
+
provide() {
|
|
20
|
+
if (!this.prioritized) {
|
|
21
|
+
this.prioritized = Prioritizeable.prioritizeAllSync(this.viewResolvers).map(c => c.value);
|
|
22
|
+
}
|
|
23
|
+
return this.prioritized;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
ViewResolverProvider = __decorate([
|
|
27
|
+
Component(),
|
|
28
|
+
__param(0, Autowired(ViewResolver)),
|
|
29
|
+
__metadata("design:paramtypes", [Array])
|
|
30
|
+
], ViewResolverProvider);
|
|
31
|
+
export { ViewResolverProvider };
|
|
32
|
+
//# 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,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG5C,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAI7B,YAEuB,aAA6B;6BAA7B,aAAa;IAChC,CAAC;IAEL,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CAEJ,CAAA;AAhBY,oBAAoB;IADhC,SAAS,EAAE;IAMH,WAAA,SAAS,CAAC,YAAY,CAAC,CAAA;;GALnB,oBAAoB,CAgBhC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ViewResolver } from './resolver-protocol.js';
|
|
2
|
+
import { ViewProvider } from '../view/view-provider.js';
|
|
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
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { ViewResolver } from './resolver-protocol.js';
|
|
11
|
+
import { Component, Autowired, Value } from '@celljs/core';
|
|
12
|
+
import { ViewProvider } from '../view/view-provider.js';
|
|
13
|
+
import { Context } from '@celljs/web/lib/node';
|
|
14
|
+
import { HttpHeaders } from '@celljs/http';
|
|
15
|
+
let ViewResolverImpl = class ViewResolverImpl {
|
|
16
|
+
async resolve(metadata, model) {
|
|
17
|
+
const viewMetadata = metadata.viewMetadata;
|
|
18
|
+
viewMetadata.viewName = viewMetadata.viewName || this.defaultViewName;
|
|
19
|
+
for (const view of this.viewProvider.provide()) {
|
|
20
|
+
if (await view.support(viewMetadata)) {
|
|
21
|
+
Context.getResponse().setHeader(HttpHeaders.CONTENT_TYPE, view.contentType);
|
|
22
|
+
await view.render(model, viewMetadata);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
throw new Error('Not found a suitable view.');
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
__decorate([
|
|
30
|
+
Value('cell.mvc.defaultViewName'),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], ViewResolverImpl.prototype, "defaultViewName", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
Autowired(ViewProvider),
|
|
35
|
+
__metadata("design:type", ViewProvider)
|
|
36
|
+
], ViewResolverImpl.prototype, "viewProvider", void 0);
|
|
37
|
+
ViewResolverImpl = __decorate([
|
|
38
|
+
Component(ViewResolver)
|
|
39
|
+
], ViewResolverImpl);
|
|
40
|
+
export { ViewResolverImpl };
|
|
41
|
+
//# 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,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;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,CAAC;YAC7C,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC5E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBACvC,OAAO;YACX,CAAC;QACL,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;CACJ,CAAA;AAjBsB;IADlB,KAAK,CAAC,0BAA0B,CAAC;;yDACS;AAGxB;IADlB,SAAS,CAAC,YAAY,CAAC;8BACS,YAAY;sDAAC;AANrC,gBAAgB;IAD5B,SAAS,CAAC,YAAY,CAAC;GACX,gBAAgB,CAoB5B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Logger } from '@celljs/core';
|
|
2
|
+
import { View } from './view-protocol.js';
|
|
3
|
+
import { MediaType } from '@celljs/http';
|
|
4
|
+
import { Response } from '@celljs/web/lib/node';
|
|
5
|
+
import { Stream } from 'stream';
|
|
6
|
+
import { ViewMetadata } from '../annotation/view.js';
|
|
7
|
+
export declare class FileView implements View {
|
|
8
|
+
readonly contentType = MediaType.APPLICATION_OCTET_STREAM;
|
|
9
|
+
readonly priority = 600;
|
|
10
|
+
protected readonly logger: Logger;
|
|
11
|
+
protected readonly baseFileDir: any;
|
|
12
|
+
protected isStream(model: any): boolean;
|
|
13
|
+
render(model: any, { metadata }: ViewMetadata): Promise<void>;
|
|
14
|
+
protected streamDownload(response: Response, stream: Stream): void;
|
|
15
|
+
protected handleError(response: Response, reason: string | Error, status?: number): Promise<void>;
|
|
16
|
+
support({ viewName }: ViewMetadata): Promise<boolean>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { fileURLToPath as __cellFileURLToPath } from "node:url";
|
|
2
|
+
import { dirname as __cellDirname } from "node:path";
|
|
3
|
+
const __filename = __cellFileURLToPath(import.meta.url);
|
|
4
|
+
const __dirname = __cellDirname(__filename);
|
|
5
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
6
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
9
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
10
|
+
};
|
|
11
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
12
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
13
|
+
};
|
|
14
|
+
import { Autowired, Component, Logger, Value } from '@celljs/core';
|
|
15
|
+
import { View } from './view-protocol.js';
|
|
16
|
+
import { HttpHeaders, HttpStatus, MediaType } from '@celljs/http';
|
|
17
|
+
import { Context } from '@celljs/web/lib/node';
|
|
18
|
+
import { FILE_VIEW_NAME } from '../annotation/file.js';
|
|
19
|
+
import __cellCjs0 from 'fs-extra';
|
|
20
|
+
const { createReadStream } = __cellCjs0;
|
|
21
|
+
import { join } from 'path';
|
|
22
|
+
let FileView = class FileView {
|
|
23
|
+
constructor() {
|
|
24
|
+
this.contentType = MediaType.APPLICATION_OCTET_STREAM;
|
|
25
|
+
this.priority = 600;
|
|
26
|
+
}
|
|
27
|
+
isStream(model) {
|
|
28
|
+
return typeof model === 'object'
|
|
29
|
+
&& typeof model.pipe === 'function';
|
|
30
|
+
}
|
|
31
|
+
async render(model, { metadata }) {
|
|
32
|
+
if (metadata === null || metadata === void 0 ? void 0 : metadata.file) {
|
|
33
|
+
model = createReadStream(join(__dirname, this.baseFileDir, metadata.file));
|
|
34
|
+
}
|
|
35
|
+
const response = Context.getCurrent().response;
|
|
36
|
+
if (this.isStream(model)) {
|
|
37
|
+
Context.setSkipAutoEnd(true);
|
|
38
|
+
this.streamDownload(response, model);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
if (Buffer.isBuffer(model)) {
|
|
42
|
+
response.setHeader(HttpHeaders.CONTENT_LENGTH, model.byteLength);
|
|
43
|
+
}
|
|
44
|
+
response.body = model;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
streamDownload(response, stream) {
|
|
48
|
+
stream.on('error', error => {
|
|
49
|
+
this.handleError(response, error);
|
|
50
|
+
});
|
|
51
|
+
response.on('error', error => {
|
|
52
|
+
this.handleError(response, error);
|
|
53
|
+
});
|
|
54
|
+
response.on('close', () => {
|
|
55
|
+
if (typeof stream.destroy === 'function') {
|
|
56
|
+
stream.destroy();
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
stream.pipe(response);
|
|
60
|
+
}
|
|
61
|
+
async handleError(response, reason, status = HttpStatus.INTERNAL_SERVER_ERROR) {
|
|
62
|
+
this.logger.error(reason);
|
|
63
|
+
response.status(status).send('Unable to download file.').end();
|
|
64
|
+
}
|
|
65
|
+
support({ viewName }) {
|
|
66
|
+
return Promise.resolve(viewName === FILE_VIEW_NAME);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
__decorate([
|
|
70
|
+
Autowired(Logger),
|
|
71
|
+
__metadata("design:type", Object)
|
|
72
|
+
], FileView.prototype, "logger", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
Value('cell.mvc.baseFileDir'),
|
|
75
|
+
__metadata("design:type", Object)
|
|
76
|
+
], FileView.prototype, "baseFileDir", void 0);
|
|
77
|
+
FileView = __decorate([
|
|
78
|
+
Component(View)
|
|
79
|
+
], FileView);
|
|
80
|
+
export { FileView };
|
|
81
|
+
//# 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,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,OAAO,EAAY,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGrB,IAAM,QAAQ,GAAd,MAAM,QAAQ;IAAd;QAEM,gBAAW,GAAG,SAAS,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,CAAC;YACjB,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YACrE,CAAC;YACD,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;QAC1B,CAAC;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,CAAC;gBAC/C,MAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,QAAkB,EAAE,MAAsB,EAAE,MAAM,GAAW,UAAU,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,cAAc,CAAC,CAAC;IACxD,CAAC;CACJ,CAAA;AAjDsB;IADlB,SAAS,CAAC,MAAM,CAAC;;wCACgB;AAGf;IADlB,KAAK,CAAC,sBAAsB,CAAC;;6CACM;AAV3B,QAAQ;IADpB,SAAS,CAAC,IAAI,CAAC;GACH,QAAQ,CAwDpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { View } from './view-protocol.js';
|
|
2
|
+
import { ViewMetadata } from '../annotation/view.js';
|
|
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
|
+
}
|