constantia 1.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/LICENSE +21 -0
- package/README.md +370 -0
- package/dist/adapters/express.d.ts +36 -0
- package/dist/adapters/express.d.ts.map +1 -0
- package/dist/adapters/express.js +494 -0
- package/dist/adapters/express.js.map +1 -0
- package/dist/adapters/index.d.ts +9 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +3 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/validation.d.ts +3 -0
- package/dist/adapters/validation.d.ts.map +1 -0
- package/dist/adapters/validation.js +171 -0
- package/dist/adapters/validation.js.map +1 -0
- package/dist/context.d.ts +37 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +24 -0
- package/dist/context.js.map +1 -0
- package/dist/controllers.d.ts +9 -0
- package/dist/controllers.d.ts.map +1 -0
- package/dist/controllers.js +28 -0
- package/dist/controllers.js.map +1 -0
- package/dist/decorators.d.ts +38 -0
- package/dist/decorators.d.ts.map +1 -0
- package/dist/decorators.js +232 -0
- package/dist/decorators.js.map +1 -0
- package/dist/errors/index.d.ts +26 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +52 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +11 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +29 -0
- package/dist/logger.js.map +1 -0
- package/dist/metadata.d.ts +62 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +304 -0
- package/dist/metadata.js.map +1 -0
- package/dist/openapi/helpers.d.ts +8 -0
- package/dist/openapi/helpers.d.ts.map +1 -0
- package/dist/openapi/helpers.js +343 -0
- package/dist/openapi/helpers.js.map +1 -0
- package/dist/openapi/index.d.ts +15 -0
- package/dist/openapi/index.d.ts.map +1 -0
- package/dist/openapi/index.js +134 -0
- package/dist/openapi/index.js.map +1 -0
- package/dist/openapi/types.d.ts +129 -0
- package/dist/openapi/types.d.ts.map +1 -0
- package/dist/openapi/types.js +34 -0
- package/dist/openapi/types.js.map +1 -0
- package/dist/types/files.d.ts +38 -0
- package/dist/types/files.d.ts.map +1 -0
- package/dist/types/files.js +50 -0
- package/dist/types/files.js.map +1 -0
- package/dist/types/index.d.ts +20 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +121 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/middleware.d.ts +10 -0
- package/dist/types/middleware.d.ts.map +1 -0
- package/dist/types/middleware.js +16 -0
- package/dist/types/middleware.js.map +1 -0
- package/dist/types/stream.d.ts +29 -0
- package/dist/types/stream.d.ts.map +1 -0
- package/dist/types/stream.js +13 -0
- package/dist/types/stream.js.map +1 -0
- package/package.json +134 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
function __assignType(fn, args) {
|
|
2
|
+
fn.__type = args;
|
|
3
|
+
return fn;
|
|
4
|
+
}
|
|
5
|
+
import { BadRequestError } from '../errors/index.js';
|
|
6
|
+
const decodeQueryParam = __assignType((value) => {
|
|
7
|
+
try {
|
|
8
|
+
const decoded = decodeURIComponent(value);
|
|
9
|
+
if (/^-?\d+(\.\d+)?$/.test(decoded)) {
|
|
10
|
+
return Number(decoded);
|
|
11
|
+
}
|
|
12
|
+
if (decoded.toLowerCase() === 'true')
|
|
13
|
+
return true;
|
|
14
|
+
if (decoded.toLowerCase() === 'false')
|
|
15
|
+
return false;
|
|
16
|
+
return decoded;
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
throw new BadRequestError(`Failed to decode query parameter: ${value}`);
|
|
20
|
+
}
|
|
21
|
+
}, ['value', '', 'P&2!P&\')J/"']);
|
|
22
|
+
export const validateAndTransform = __assignType((value, schema, paramType, path = '') => {
|
|
23
|
+
if (paramType === 'ctx' || paramType === 'rawBody')
|
|
24
|
+
return value;
|
|
25
|
+
const pathDisplay = path ? ` at path "${path}"` : '';
|
|
26
|
+
const contextDisplay = path || paramType;
|
|
27
|
+
if (value === undefined || value === null) {
|
|
28
|
+
if (schema.type !== 'null') {
|
|
29
|
+
throw new BadRequestError(`Value is required for ${contextDisplay}${pathDisplay}`);
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
if (paramType === 'query' && typeof value === 'string') {
|
|
34
|
+
value = decodeQueryParam(value);
|
|
35
|
+
}
|
|
36
|
+
if (schema.type === 'file' || paramType === 'file') {
|
|
37
|
+
if (!value) {
|
|
38
|
+
throw new BadRequestError('File is required');
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
switch (schema.type) {
|
|
43
|
+
case 'string':
|
|
44
|
+
if (typeof value !== 'string') {
|
|
45
|
+
throw new BadRequestError(`Expected string${pathDisplay}, got ${typeof value}`);
|
|
46
|
+
}
|
|
47
|
+
return value;
|
|
48
|
+
case 'number':
|
|
49
|
+
if (typeof value === 'string') {
|
|
50
|
+
const num = Number(value);
|
|
51
|
+
if (isNaN(num)) {
|
|
52
|
+
throw new BadRequestError(`Invalid number format${pathDisplay}: ${value}`);
|
|
53
|
+
}
|
|
54
|
+
return num;
|
|
55
|
+
}
|
|
56
|
+
if (typeof value !== 'number') {
|
|
57
|
+
throw new BadRequestError(`Expected number${pathDisplay}, got ${typeof value}`);
|
|
58
|
+
}
|
|
59
|
+
return value;
|
|
60
|
+
case 'boolean':
|
|
61
|
+
if (typeof value === 'string') {
|
|
62
|
+
const lowered = value.toLowerCase();
|
|
63
|
+
if (lowered === 'true')
|
|
64
|
+
return true;
|
|
65
|
+
if (lowered === 'false')
|
|
66
|
+
return false;
|
|
67
|
+
throw new BadRequestError(`Invalid boolean value${pathDisplay}: ${value}`);
|
|
68
|
+
}
|
|
69
|
+
if (typeof value !== 'boolean') {
|
|
70
|
+
throw new BadRequestError(`Expected boolean${pathDisplay}, got ${typeof value}`);
|
|
71
|
+
}
|
|
72
|
+
return value;
|
|
73
|
+
case 'array':
|
|
74
|
+
if (!Array.isArray(value)) {
|
|
75
|
+
if (typeof value === 'string' && paramType === 'query') {
|
|
76
|
+
try {
|
|
77
|
+
value = JSON.parse(value);
|
|
78
|
+
if (!Array.isArray(value)) {
|
|
79
|
+
throw new Error('Not an array');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
throw new BadRequestError(`Invalid array format${pathDisplay}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
throw new BadRequestError(`Expected array${pathDisplay}, got ${typeof value}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return value.map(__assignType((item, index) => {
|
|
91
|
+
const itemPath = path ? `${path}[${index}]` : `[${index}]`;
|
|
92
|
+
return validateAndTransform(item, schema.items, paramType, itemPath);
|
|
93
|
+
}, ['item', 'index', '', 'P"2!"2""/#']));
|
|
94
|
+
case 'object':
|
|
95
|
+
if (typeof value !== 'object' || value === null) {
|
|
96
|
+
if (typeof value === 'string' && paramType === 'query') {
|
|
97
|
+
try {
|
|
98
|
+
value = JSON.parse(value);
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
throw new BadRequestError(`Invalid object format${pathDisplay}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
throw new BadRequestError(`Expected object${pathDisplay}, got ${typeof value}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const result = {};
|
|
109
|
+
if (schema.properties) {
|
|
110
|
+
for (const [key, propSchema] of Object.entries(schema.properties)) {
|
|
111
|
+
const propPath = path ? `${path}.${key}` : key;
|
|
112
|
+
const objValue = value;
|
|
113
|
+
if (schema.required?.includes(key) && !(key in objValue)) {
|
|
114
|
+
throw new BadRequestError(`Missing required property "${key}"${pathDisplay ? ` in ${path}` : ''}`);
|
|
115
|
+
}
|
|
116
|
+
if (key in objValue) {
|
|
117
|
+
result[key] = validateAndTransform(objValue[key], propSchema, paramType, propPath);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return result;
|
|
122
|
+
case 'union':
|
|
123
|
+
if (!schema.oneOf) {
|
|
124
|
+
throw new BadRequestError(`Invalid union type definition${pathDisplay}`);
|
|
125
|
+
}
|
|
126
|
+
const errors = [];
|
|
127
|
+
for (const subSchema of schema.oneOf) {
|
|
128
|
+
try {
|
|
129
|
+
return validateAndTransform(value, subSchema, paramType, path);
|
|
130
|
+
}
|
|
131
|
+
catch (e) {
|
|
132
|
+
errors.push(e);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
throw new BadRequestError(`Value does not match any type in union${pathDisplay}. Errors: ${errors
|
|
136
|
+
.map(__assignType((e) => e.message, ['e', '', 'P"2!"/"']))
|
|
137
|
+
.join(', ')}`);
|
|
138
|
+
case 'tuple':
|
|
139
|
+
if (!Array.isArray(value)) {
|
|
140
|
+
if (typeof value === 'string' && paramType === 'query') {
|
|
141
|
+
try {
|
|
142
|
+
value = JSON.parse(value);
|
|
143
|
+
if (!Array.isArray(value)) {
|
|
144
|
+
throw new Error('Not an array');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
throw new BadRequestError(`Invalid tuple format${pathDisplay}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
throw new BadRequestError(`Expected tuple (array)${pathDisplay}, got ${typeof value}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (!schema.elements || schema.elements.length === 0) {
|
|
156
|
+
throw new BadRequestError(`Invalid tuple schema definition${pathDisplay}`);
|
|
157
|
+
}
|
|
158
|
+
if (value.length !== schema.elements.length) {
|
|
159
|
+
throw new BadRequestError(`Tuple length mismatch${pathDisplay}: expected ${schema.elements.length}, got ${value.length}`);
|
|
160
|
+
}
|
|
161
|
+
return value.map(__assignType((item, index) => {
|
|
162
|
+
const itemPath = path ? `${path}[${index}]` : `[${index}]`;
|
|
163
|
+
return validateAndTransform(item, schema.elements[index], paramType, itemPath);
|
|
164
|
+
}, ['item', 'index', '', 'P"2!"2""/#']));
|
|
165
|
+
case 'null':
|
|
166
|
+
return null;
|
|
167
|
+
default:
|
|
168
|
+
throw new BadRequestError(`Unsupported type: ${schema.type} for ${paramType}`);
|
|
169
|
+
}
|
|
170
|
+
}, ['value', 'SchemaType', 'schema', "query", "body", "param", "header", "file", "ctx", "rawBody", 'paramType', 'path', () => "", '', 'P#2!"w"2#P.$.%.&.\'.(.).*J2+&2,>-#/.']);
|
|
171
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/adapters/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface Context {
|
|
2
|
+
readonly request: IRequest;
|
|
3
|
+
readonly response: IResponse;
|
|
4
|
+
get<T>(key: string): T | undefined;
|
|
5
|
+
set<T>(key: string, value: T): void;
|
|
6
|
+
}
|
|
7
|
+
export interface IRequest {
|
|
8
|
+
method: string;
|
|
9
|
+
url: string;
|
|
10
|
+
originalUrl?: string;
|
|
11
|
+
headers: Record<string, string | string[] | undefined>;
|
|
12
|
+
path: string;
|
|
13
|
+
rawBody?: Buffer;
|
|
14
|
+
raw?: unknown;
|
|
15
|
+
}
|
|
16
|
+
export interface IResponse {
|
|
17
|
+
statusCode: number;
|
|
18
|
+
headersSent: boolean;
|
|
19
|
+
setHeader(name: string, value: string | number | readonly string[]): void;
|
|
20
|
+
getHeader?(name: string): unknown;
|
|
21
|
+
raw?: unknown;
|
|
22
|
+
status(code: number): this;
|
|
23
|
+
on(event: string, listener: (...args: unknown[]) => void): void;
|
|
24
|
+
end(): void;
|
|
25
|
+
}
|
|
26
|
+
export declare class BasicContext implements Context {
|
|
27
|
+
readonly request: IRequest;
|
|
28
|
+
readonly response: IResponse;
|
|
29
|
+
private store;
|
|
30
|
+
constructor(request: IRequest, response: IResponse);
|
|
31
|
+
get<T>(k: string): T | undefined;
|
|
32
|
+
set<T>(k: string, v: T): void;
|
|
33
|
+
}
|
|
34
|
+
export declare type __ΩContext = any[];
|
|
35
|
+
export declare type __ΩIRequest = any[];
|
|
36
|
+
export declare type __ΩIResponse = any[];
|
|
37
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IACnC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,QAAQ;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1E,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAChE,GAAG,IAAI,IAAI,CAAC;CACf;AAED,qBAAa,YAAa,YAAW,OAAO;aAGpB,OAAO,EAAE,QAAQ;aACjB,QAAQ,EAAE,SAAS;IAHvC,OAAO,CAAC,KAAK,CAA8B;gBAEvB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,SAAS;IAEvC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GACgB,CAAC,GAAG,SAAS;IAE7C,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;CAGzB"}
|
package/dist/context.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const __ΩRecord = ['K', 'T', 'Record', 'l\'e#"Rb!b"Pde"!N#!w#y'];
|
|
2
|
+
const __ΩContext = [() => __ΩIRequest, 'request', () => __ΩIResponse, 'response', 'key', 'get', 'value', 'set', 'Context', 'Pn!4"9n#4$9P&2%P"-J1&P&2%"2\'$1(Mw)y'];
|
|
3
|
+
export { __ΩContext as __ΩContext };
|
|
4
|
+
const __ΩIRequest = ['method', 'url', 'originalUrl', () => __ΩRecord, 'headers', 'path', 'rawBody', 'raw', 'IRequest', 'P&4!&4"&4#8&P&&F-Jo$#4%&4&!4\'8#4(8Mw)y'];
|
|
5
|
+
export { __ΩIRequest as __ΩIRequest };
|
|
6
|
+
const __ΩIResponse = ['statusCode', 'headersSent', 'name', 'value', 'setHeader', 'getHeader', 'raw', 'code', 'status', 'event', 'args', '', 'listener', 'on', 'end', 'IResponse', 'P\'4!)4"P&2#P&\'&F9J2$$1%P&2##1\'8P\'2(!1)P&2*P#@2+$/,2-$1.P$1/Mw0y'];
|
|
7
|
+
export { __ΩIResponse as __ΩIResponse };
|
|
8
|
+
export class BasicContext {
|
|
9
|
+
request;
|
|
10
|
+
response;
|
|
11
|
+
store = (Map.Ω = [['&'], ['#']], new Map());
|
|
12
|
+
constructor(request, response) {
|
|
13
|
+
this.request = request;
|
|
14
|
+
this.response = response;
|
|
15
|
+
}
|
|
16
|
+
get(k) {
|
|
17
|
+
return this.store.get(k);
|
|
18
|
+
}
|
|
19
|
+
set(k, v) {
|
|
20
|
+
this.store.set(k, v);
|
|
21
|
+
}
|
|
22
|
+
static __type = [() => __ΩIRequest, 'request', () => __ΩIResponse, 'response', 'constructor', 'k', 'get', 'v', 'set', () => __ΩContext, 'BasicContext', 'Pn!2":9n#2$:9"0%P&2&"0\'P&2&"2("0)5n*x"w+'];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;;;;;AA4BA,MAAM,OAAO,YAAY;IAGD;IACA;IAHZ,KAAK,IAAO,GAAG,qBAAP,IAAI,GAAG,EAAmB,EAAC;IAC3C,YACoB,OAAiB,EACjB,QAAmB;QADnB,YAAO,GAAP,OAAO,CAAU;QACjB,aAAQ,GAAR,QAAQ,CAAW;IACpC,CAAC;IACJ,GAAG,CAAI,CAAS;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAkB,CAAC;IAC9C,CAAC;IACD,GAAG,CAAI,CAAS,EAAE,CAAI;QAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type IFrameworkAdapter } from './adapters/index.js';
|
|
2
|
+
import { type Middleware } from './types/middleware.js';
|
|
3
|
+
type ClassConstructor = {
|
|
4
|
+
new (): unknown;
|
|
5
|
+
};
|
|
6
|
+
declare const registerControllersWrapper: (controllers: ClassConstructor[]) => (adapter: IFrameworkAdapter) => void;
|
|
7
|
+
declare const registerGlobalMiddlewaresWrapper: (middlewares: Middleware[]) => (adapter: IFrameworkAdapter) => void;
|
|
8
|
+
export { registerControllersWrapper, registerGlobalMiddlewaresWrapper };
|
|
9
|
+
//# sourceMappingURL=controllers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../src/controllers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,KAAK,gBAAgB,GAAG;IAAE,QAAQ,OAAO,CAAA;CAAE,CAAC;AAE5C,QAAA,MAAM,0BAA0B,gBAAiB,gBAAgB,EAAE,eAC9C,iBAAiB,KAAG,IAkBxC,CAAC;AAEF,QAAA,MAAM,gCAAgC,gBAAiB,UAAU,EAAE,eAC9C,iBAAiB,KAAG,IAWxC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function __assignType(fn, args) {
|
|
2
|
+
fn.__type = args;
|
|
3
|
+
return fn;
|
|
4
|
+
}
|
|
5
|
+
import { logger } from './logger.js';
|
|
6
|
+
import { MetadataStorage } from './metadata.js';
|
|
7
|
+
const __ΩClassConstructor = ['new', 'ClassConstructor', 'PP#1!Mw"y'];
|
|
8
|
+
const registerControllersWrapper = __assignType((controllers) => {
|
|
9
|
+
return __assignType((adapter) => {
|
|
10
|
+
if (controllers.length === 0)
|
|
11
|
+
throw new Error('No controllers to register');
|
|
12
|
+
const metadataStorage = MetadataStorage.getInstance();
|
|
13
|
+
const metadata = Array.from(metadataStorage.controllers.values());
|
|
14
|
+
const controllerClasses = Array.from(metadataStorage.controllers.keys());
|
|
15
|
+
adapter.registerControllers([metadata, controllerClasses]);
|
|
16
|
+
logger.info(`[constantia] Registered [${controllers.length}] controllers`);
|
|
17
|
+
}, ['IFrameworkAdapter', 'adapter', '', 'P"w!2"$/#']);
|
|
18
|
+
}, [() => __ΩClassConstructor, 'controllers', '', 'Pn!F2""/#']);
|
|
19
|
+
const registerGlobalMiddlewaresWrapper = __assignType((middlewares) => {
|
|
20
|
+
return __assignType((adapter) => {
|
|
21
|
+
if (middlewares.length === 0)
|
|
22
|
+
return logger.info('[constantia] No global middlewares to register');
|
|
23
|
+
adapter.registerGlobalMiddlewares(middlewares);
|
|
24
|
+
logger.info(`[constantia] Registered [${middlewares.length}] global middlewares`);
|
|
25
|
+
}, ['IFrameworkAdapter', 'adapter', '', 'P"w!2"$/#']);
|
|
26
|
+
}, ['Middleware', 'middlewares', '', 'P"w!F2""/#']);
|
|
27
|
+
export { registerControllersWrapper, registerGlobalMiddlewaresWrapper };
|
|
28
|
+
//# sourceMappingURL=controllers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../src/controllers.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,eAAe,EAA2B,MAAM,YAAY,CAAC;;AAKtE,MAAM,0BAA0B,gBAAG,CAAC,WAA+B,EAAE,EAAE;IACnE,oBAAO,CAAC,OAA0B,EAAQ,EAAE;QACxC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAElD,MAAM,eAAe,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAyB,KAAK,CAAC,IAAI,CAC7C,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,CACvC,CAAC;QAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAChC,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,CACrC,CAAC;QAEF,OAAO,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CACP,4BAA4B,WAAW,CAAC,MAAM,eAAe,CAChE,CAAC;IACN,CAAC,qDAAC;AACN,CAAC,8DAAA,CAAC;AAEF,MAAM,gCAAgC,gBAAG,CAAC,WAAyB,EAAE,EAAE;IACnE,oBAAO,CAAC,OAA0B,EAAQ,EAAE;QACxC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YACxB,OAAO,MAAM,CAAC,IAAI,CACd,gDAAgD,CACnD,CAAC;QAEN,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CACP,4BAA4B,WAAW,CAAC,MAAM,sBAAsB,CACvE,CAAC;IACN,CAAC,qDAAC;AACN,CAAC,kDAAA,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type Middleware, MiddlewareFactory } from './types/index.js';
|
|
2
|
+
import type { StreamOptions } from './types/stream.js';
|
|
3
|
+
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
4
|
+
export declare const Controller: (path?: string, registerAutomatically?: boolean) => ClassDecorator;
|
|
5
|
+
declare const Route: (method: HttpMethod, path?: string) => MethodDecorator;
|
|
6
|
+
declare const Get: (path?: string) => MethodDecorator;
|
|
7
|
+
declare const Post: (path?: string) => MethodDecorator;
|
|
8
|
+
declare const Put: (path?: string) => MethodDecorator;
|
|
9
|
+
declare const Delete: (path?: string) => MethodDecorator;
|
|
10
|
+
declare const Patch: (path?: string) => MethodDecorator;
|
|
11
|
+
export { Route, Get, Post, Put, Delete, Patch };
|
|
12
|
+
type FileOptions = {
|
|
13
|
+
maxFileSize?: number;
|
|
14
|
+
forceArray?: boolean;
|
|
15
|
+
maxFiles?: number;
|
|
16
|
+
};
|
|
17
|
+
export declare function File(target: object, propertyKey: string | symbol, parameterIndex: number): void;
|
|
18
|
+
export declare function File(): ParameterDecorator;
|
|
19
|
+
export declare function File(opts: FileOptions): ParameterDecorator;
|
|
20
|
+
export declare function File(name: string, opts: FileOptions): ParameterDecorator;
|
|
21
|
+
export declare function Files(target: object, propertyKey: string | symbol, parameterIndex: number): void;
|
|
22
|
+
export declare function Files(): ParameterDecorator;
|
|
23
|
+
export declare function Files(opts: FileOptions): ParameterDecorator;
|
|
24
|
+
export declare function Files(name: string, opts?: FileOptions): ParameterDecorator;
|
|
25
|
+
type ParamDecoratorWithFactory = ParameterDecorator & ((paramName?: string) => ParameterDecorator);
|
|
26
|
+
declare const Inject: ParamDecoratorWithFactory;
|
|
27
|
+
declare const Body: ParamDecoratorWithFactory;
|
|
28
|
+
declare const Query: ParamDecoratorWithFactory;
|
|
29
|
+
declare const Param: ParamDecoratorWithFactory;
|
|
30
|
+
declare const Header: ParamDecoratorWithFactory;
|
|
31
|
+
declare const RawBody: ParamDecoratorWithFactory;
|
|
32
|
+
export { Body, Query, Param, Header, Inject, RawBody };
|
|
33
|
+
export declare const DataStream: (options?: StreamOptions) => MethodDecorator;
|
|
34
|
+
export declare const FileStream: (options: StreamOptions) => MethodDecorator;
|
|
35
|
+
export declare const Use: (...mws: (Middleware | MiddlewareFactory)[]) => ClassDecorator & MethodDecorator;
|
|
36
|
+
export declare const DefaultHandler: () => MethodDecorator;
|
|
37
|
+
export declare type __ΩHttpMethod = any[];
|
|
38
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,UAAU,EAGf,iBAAiB,EACpB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErE,eAAO,MAAM,UAAU,UAET,MAAM,0BACW,OAAO,KAC/B,cAIF,CAAC;AAEN,QAAA,MAAM,KAAK,WAAY,UAAU,SAAQ,MAAM,KAAQ,eA4BtD,CAAC;AAEF,QAAA,MAAM,GAAG,UAAU,MAAM,KAAQ,eAAqC,CAAC;AACvE,QAAA,MAAM,IAAI,UAAU,MAAM,KAAQ,eAAsC,CAAC;AACzE,QAAA,MAAM,GAAG,UAAU,MAAM,KAAQ,eAAqC,CAAC;AACvE,QAAA,MAAM,MAAM,UAAU,MAAM,KAAQ,eAAwC,CAAC;AAC7E,QAAA,MAAM,KAAK,UAAU,MAAM,KAAQ,eAAuC,CAAC;AAE3E,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAEhD,KAAK,WAAW,GAAG;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,IAAI,CAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,cAAc,EAAE,MAAM,GACvB,IAAI,CAAC;AACR,wBAAgB,IAAI,IAAI,kBAAkB,CAAC;AAC3C,wBAAgB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAAC;AAC5D,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAAC;AAiF1E,wBAAgB,KAAK,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,cAAc,EAAE,MAAM,GACvB,IAAI,CAAC;AACR,wBAAgB,KAAK,IAAI,kBAAkB,CAAC;AAC5C,wBAAgB,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAAC;AAC7D,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC;AAqK5E,KAAK,yBAAyB,GAAG,kBAAkB,GAC/C,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,kBAAkB,CAAC,CAAC;AAGjD,QAAA,MAAM,MAAM,EAAE,yBAAmE,CAAC;AAElF,QAAA,MAAM,IAAI,EAAE,yBAAoE,CAAC;AAEjF,QAAA,MAAM,KAAK,EAAE,yBAAqE,CAAC;AAEnF,QAAA,MAAM,KAAK,EAAE,yBAAqE,CAAC;AAEnF,QAAA,MAAM,MAAM,EAAE,yBAAsE,CAAC;AAErF,QAAA,MAAM,OAAO,EAAE,yBAAuE,CAAC;AAEvF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAEvD,eAAO,MAAM,UAAU,aAAa,aAAa,KAAQ,eAcxD,CAAC;AAEF,eAAO,MAAM,UAAU,YAAa,aAAa,KAAG,eAcnD,CAAC;AAEF,eAAO,MAAM,GAAG,WAEA,CAAC,UAAU,GAAG,iBAAiB,CAAC,EAAE,KAC3C,cAAc,GAAG,eAoBnB,CAAC;AAEN,eAAO,MAAM,cAAc,QAAO,eAajC,CAAC"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
const __ΩPropertyDescriptor = ['configurable', 'enumerable', 'value', 'writable', 'get', 'v', 'set', 'PropertyDescriptor', 'P)4!8)4"8"4#8)4$8P"1%P"2&$1\'Mw(y'];
|
|
2
|
+
/*@ts-ignore*/
|
|
3
|
+
import { __ΩMiddlewareFactory } from './types/index.js';
|
|
4
|
+
function __assignType(fn, args) {
|
|
5
|
+
fn.__type = args;
|
|
6
|
+
return fn;
|
|
7
|
+
}
|
|
8
|
+
import { extractParameterSchema, extractMethodReturnSchema, } from './types/index.js';
|
|
9
|
+
import { MetadataStorage } from './metadata.js';
|
|
10
|
+
const __ΩHttpMethod = ["GET", "POST", "PUT", "DELETE", "PATCH", 'HttpMethod', 'P.!.".#.$.%Jw&y'];
|
|
11
|
+
export { __ΩHttpMethod as __ΩHttpMethod };
|
|
12
|
+
export const Controller = __assignType((path = '', registerAutomatically = true) => __assignType((target) => {
|
|
13
|
+
if (!registerAutomatically)
|
|
14
|
+
return;
|
|
15
|
+
MetadataStorage.getInstance().addController(target, path);
|
|
16
|
+
}, [() => Function, 'target', '', 'PPu!2""/#']), ['path', () => "", 'registerAutomatically', () => true, '', 'P&2!>")2#>$!/%']);
|
|
17
|
+
const Route = __assignType((method, path = '') => {
|
|
18
|
+
return __assignType((target, propertyKey, descriptor) => {
|
|
19
|
+
try {
|
|
20
|
+
const methodReturnSchema = extractMethodReturnSchema(
|
|
21
|
+
// @ts-expect-error - accessing constructor from prototype
|
|
22
|
+
target.constructor, propertyKey);
|
|
23
|
+
MetadataStorage.getInstance().addRoute(target.constructor, {
|
|
24
|
+
path,
|
|
25
|
+
method,
|
|
26
|
+
returnType: methodReturnSchema,
|
|
27
|
+
handler: descriptor.value,
|
|
28
|
+
methodName: propertyKey.toString(),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error(error);
|
|
33
|
+
throw new Error(`Error in Route: ${method} ${path} ${propertyKey.toString()}\n` +
|
|
34
|
+
`Type of response needs to be defined in Controller method.\n`);
|
|
35
|
+
}
|
|
36
|
+
}, ['target', 'propertyKey', () => __ΩPropertyDescriptor, 'descriptor', '', 'P%2!P&+J2"n#2$"/%']);
|
|
37
|
+
}, [() => __ΩHttpMethod, 'method', 'path', () => "", '', 'Pn!2"&2#>$!/%']);
|
|
38
|
+
const Get = __assignType((path = '') => Route('GET', path), ['path', () => "", '', 'P&2!>"!/#']);
|
|
39
|
+
const Post = __assignType((path = '') => Route('POST', path), ['path', () => "", '', 'P&2!>"!/#']);
|
|
40
|
+
const Put = __assignType((path = '') => Route('PUT', path), ['path', () => "", '', 'P&2!>"!/#']);
|
|
41
|
+
const Delete = __assignType((path = '') => Route('DELETE', path), ['path', () => "", '', 'P&2!>"!/#']);
|
|
42
|
+
const Patch = __assignType((path = '') => Route('PATCH', path), ['path', () => "", '', 'P&2!>"!/#']);
|
|
43
|
+
export { Route, Get, Post, Put, Delete, Patch };
|
|
44
|
+
const __ΩFileOptions = ['maxFileSize', 'forceArray', 'maxFiles', 'FileOptions', 'P\'4!8)4"8\'4#8Mw$y'];
|
|
45
|
+
File.__type = ['target', 'propertyKey', 'parameterIndex', 'File', 'P%2!P&+J2"\'2#$/$'];
|
|
46
|
+
File.__type = ['File', 'P!/!'];
|
|
47
|
+
File.__type = [() => __ΩFileOptions, 'opts', 'File', 'Pn!2"!/#'];
|
|
48
|
+
File.__type = ['name', () => __ΩFileOptions, 'opts', 'File', 'P&2!n"2#!/$'];
|
|
49
|
+
export function File(nameOrTarget, maybeOptsOrKey, maybeIndex) {
|
|
50
|
+
if (typeof nameOrTarget === 'object' &&
|
|
51
|
+
(typeof maybeOptsOrKey === 'string' ||
|
|
52
|
+
typeof maybeOptsOrKey === 'symbol') &&
|
|
53
|
+
typeof maybeIndex === 'number') {
|
|
54
|
+
const target = nameOrTarget;
|
|
55
|
+
const propertyKey = maybeOptsOrKey;
|
|
56
|
+
const parameterIndex = maybeIndex;
|
|
57
|
+
const varName = getParameterNames(target, propertyKey)[parameterIndex];
|
|
58
|
+
const [, isRequiredParam] = extractParameterSchema(target, propertyKey, parameterIndex);
|
|
59
|
+
MetadataStorage.getInstance().addParameter(target.constructor, propertyKey.toString(), {
|
|
60
|
+
parameterIndex,
|
|
61
|
+
type: 'file',
|
|
62
|
+
name: varName,
|
|
63
|
+
schema: { type: 'file' },
|
|
64
|
+
required: isRequiredParam,
|
|
65
|
+
});
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
let name;
|
|
69
|
+
let options;
|
|
70
|
+
if (typeof nameOrTarget === 'string') {
|
|
71
|
+
name = nameOrTarget;
|
|
72
|
+
options = maybeOptsOrKey;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
options = nameOrTarget;
|
|
76
|
+
}
|
|
77
|
+
return __assignType(function (target, propertyKey, parameterIndex) {
|
|
78
|
+
if (propertyKey === undefined)
|
|
79
|
+
throw new Error('PropertyKey cannot be undefined');
|
|
80
|
+
const varName = name ?? getParameterNames(target, propertyKey)[parameterIndex];
|
|
81
|
+
const [, isRequiredParam] = extractParameterSchema(target, propertyKey, parameterIndex);
|
|
82
|
+
MetadataStorage.getInstance().addParameter(target.constructor, propertyKey.toString(), {
|
|
83
|
+
parameterIndex,
|
|
84
|
+
type: 'file',
|
|
85
|
+
name: varName,
|
|
86
|
+
schema: { type: 'file' },
|
|
87
|
+
required: isRequiredParam,
|
|
88
|
+
...(options ? { options } : {}),
|
|
89
|
+
});
|
|
90
|
+
}, ['target', 'propertyKey', 'parameterIndex', '', 'P%2!P&+-J2"\'2#"/$']);
|
|
91
|
+
}
|
|
92
|
+
File.__type = [() => __ΩFileOptions, 'nameOrTarget', () => __ΩFileOptions, 'maybeOptsOrKey', 'maybeIndex', 'File', 'PP&n!%J2"8Pn#&+J2$8\'2%8P$!J/&'];
|
|
93
|
+
Files.__type = ['target', 'propertyKey', 'parameterIndex', 'Files', 'P%2!P&+J2"\'2#$/$'];
|
|
94
|
+
Files.__type = ['Files', 'P!/!'];
|
|
95
|
+
Files.__type = [() => __ΩFileOptions, 'opts', 'Files', 'Pn!2"!/#'];
|
|
96
|
+
Files.__type = ['name', () => __ΩFileOptions, 'opts', 'Files', 'P&2!n"2#8!/$'];
|
|
97
|
+
export function Files(nameOrTarget, maybeOptsOrKey, maybeIndex) {
|
|
98
|
+
if (typeof nameOrTarget === 'object' &&
|
|
99
|
+
(typeof maybeOptsOrKey === 'string' ||
|
|
100
|
+
typeof maybeOptsOrKey === 'symbol') &&
|
|
101
|
+
typeof maybeIndex === 'number') {
|
|
102
|
+
const target = nameOrTarget;
|
|
103
|
+
const propertyKey = maybeOptsOrKey;
|
|
104
|
+
const parameterIndex = maybeIndex;
|
|
105
|
+
const [, isRequiredParam] = extractParameterSchema(target, propertyKey, parameterIndex);
|
|
106
|
+
MetadataStorage.getInstance().addParameter(target.constructor, propertyKey.toString(), {
|
|
107
|
+
parameterIndex,
|
|
108
|
+
type: 'file',
|
|
109
|
+
name: undefined,
|
|
110
|
+
schema: { type: 'file' },
|
|
111
|
+
required: isRequiredParam,
|
|
112
|
+
options: { forceArray: true },
|
|
113
|
+
});
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
let name;
|
|
117
|
+
let options;
|
|
118
|
+
if (typeof nameOrTarget === 'string') {
|
|
119
|
+
name = nameOrTarget;
|
|
120
|
+
options = maybeOptsOrKey;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
options = nameOrTarget;
|
|
124
|
+
name = undefined;
|
|
125
|
+
}
|
|
126
|
+
return __assignType(function (target, propertyKey, parameterIndex) {
|
|
127
|
+
if (propertyKey === undefined)
|
|
128
|
+
throw new Error('PropertyKey cannot be undefined');
|
|
129
|
+
const [, isRequiredParam] = extractParameterSchema(target, propertyKey, parameterIndex);
|
|
130
|
+
MetadataStorage.getInstance().addParameter(target.constructor, propertyKey.toString(), {
|
|
131
|
+
parameterIndex,
|
|
132
|
+
type: 'file',
|
|
133
|
+
name,
|
|
134
|
+
schema: { type: 'file' },
|
|
135
|
+
required: isRequiredParam,
|
|
136
|
+
options: { ...(options ?? {}), forceArray: true },
|
|
137
|
+
});
|
|
138
|
+
}, ['target', 'propertyKey', 'parameterIndex', '', 'P%2!P&+-J2"\'2#"/$']);
|
|
139
|
+
}
|
|
140
|
+
Files.__type = [() => __ΩFileOptions, 'nameOrTarget', () => __ΩFileOptions, 'maybeOptsOrKey', 'maybeIndex', 'Files', 'PP&n!%J2"8Pn#&+J2$8\'2%8P$!J/&'];
|
|
141
|
+
const createParameterDecorator = __assignType((type) => __assignType((name) => __assignType((target, propertyKey, parameterIndex) => {
|
|
142
|
+
if (propertyKey === undefined)
|
|
143
|
+
throw new Error('PropertyKey cannot be undefined');
|
|
144
|
+
let required = true;
|
|
145
|
+
let schema;
|
|
146
|
+
if (type === 'file')
|
|
147
|
+
throw new Error('File decorator should be used directly, not through createParameterDecorator');
|
|
148
|
+
if (type === 'rawBody') {
|
|
149
|
+
schema = { type: 'object' };
|
|
150
|
+
required = true;
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
const [typeSchema, isRequiredParam] = extractParameterSchema(target, propertyKey, parameterIndex);
|
|
154
|
+
schema = typeSchema;
|
|
155
|
+
required = isRequiredParam;
|
|
156
|
+
}
|
|
157
|
+
if (name === undefined)
|
|
158
|
+
name = getParameterNames(target, propertyKey)[parameterIndex];
|
|
159
|
+
MetadataStorage.getInstance().addParameter(target.constructor, propertyKey.toString(), {
|
|
160
|
+
parameterIndex,
|
|
161
|
+
type,
|
|
162
|
+
name,
|
|
163
|
+
schema,
|
|
164
|
+
required,
|
|
165
|
+
});
|
|
166
|
+
}, ['target', 'propertyKey', 'parameterIndex', '', 'P%2!P&+-J2"\'2#$/$']), ['name', '', 'P&2!8!/"']), ['ParameterMetadata', "type", 'type', '', 'P"w!."f2#"/$']);
|
|
167
|
+
const getParameterNames = __assignType((target, propertyKey) => {
|
|
168
|
+
const method = target[propertyKey];
|
|
169
|
+
if (!method || typeof method !== 'function')
|
|
170
|
+
return [];
|
|
171
|
+
const fnStr = method.toString().replace(/[\r\n\s]+/g, ' ');
|
|
172
|
+
const result = fnStr
|
|
173
|
+
.slice(fnStr.indexOf('(') + 1, fnStr.indexOf(')'))
|
|
174
|
+
.split(',');
|
|
175
|
+
return result.map(__assignType((param) => param.trim().replace(/=.*$/, ''), ['param', '', 'P&2!"/"']));
|
|
176
|
+
}, ['target', 'propertyKey', '', 'P%2!P&+J2"&F/#']);
|
|
177
|
+
const createParameterDecoratorFunction = __assignType((type) => {
|
|
178
|
+
const decorator = createParameterDecorator(type);
|
|
179
|
+
return __assignType(function parameterDecorator(targetOrParamName, propertyKey, parameterIndex) {
|
|
180
|
+
if (typeof targetOrParamName === 'string' ||
|
|
181
|
+
targetOrParamName === undefined) {
|
|
182
|
+
return decorator(targetOrParamName);
|
|
183
|
+
}
|
|
184
|
+
return decorator(undefined)(targetOrParamName, propertyKey, parameterIndex);
|
|
185
|
+
}, ['targetOrParamName', 'propertyKey', 'parameterIndex', 'parameterDecorator', 'PP%&J2!8P&+J2"8\'2#8P!$J/$']);
|
|
186
|
+
}, ['ParameterMetadata', "type", 'type', 'paramName', '', 'P"w!."f2#P!P&2$8!/%K/%']);
|
|
187
|
+
const __ΩParamDecoratorWithFactory = ['paramName', '', 'ParamDecoratorWithFactory', 'P!P&2!8!/"Kw#y'];
|
|
188
|
+
// prettier-ignore
|
|
189
|
+
const Inject = createParameterDecoratorFunction('ctx');
|
|
190
|
+
// prettier-ignore
|
|
191
|
+
const Body = createParameterDecoratorFunction('body');
|
|
192
|
+
// prettier-ignore
|
|
193
|
+
const Query = createParameterDecoratorFunction('query');
|
|
194
|
+
// prettier-ignore
|
|
195
|
+
const Param = createParameterDecoratorFunction('param');
|
|
196
|
+
// prettier-ignore
|
|
197
|
+
const Header = createParameterDecoratorFunction('header');
|
|
198
|
+
// prettier-ignore
|
|
199
|
+
const RawBody = createParameterDecoratorFunction('rawBody');
|
|
200
|
+
export { Body, Query, Param, Header, Inject, RawBody };
|
|
201
|
+
export const DataStream = __assignType((options = {}) => {
|
|
202
|
+
return __assignType((target, propertyKey, descriptor) => {
|
|
203
|
+
MetadataStorage.getInstance().addStreamInfo(target.constructor, propertyKey.toString(), 'dataStream', options);
|
|
204
|
+
return descriptor;
|
|
205
|
+
}, ['target', 'propertyKey', () => __ΩPropertyDescriptor, 'descriptor', '', 'P%2!P&+J2"n#2$"/%']);
|
|
206
|
+
}, ['StreamOptions', 'options', () => ({}), '', 'P"w!2">#!/$']);
|
|
207
|
+
export const FileStream = __assignType((options) => {
|
|
208
|
+
return __assignType((target, propertyKey, descriptor) => {
|
|
209
|
+
MetadataStorage.getInstance().addStreamInfo(target.constructor, propertyKey.toString(), 'fileStream', options);
|
|
210
|
+
return descriptor;
|
|
211
|
+
}, ['target', 'propertyKey', () => __ΩPropertyDescriptor, 'descriptor', '', 'P%2!P&+J2"n#2$"/%']);
|
|
212
|
+
}, ['StreamOptions', 'options', '', 'P"w!2"!/#']);
|
|
213
|
+
export const Use = __assignType((...mws) => __assignType((target, propertyKey) => {
|
|
214
|
+
const owner = propertyKey === undefined ? target : target.constructor;
|
|
215
|
+
const resolvedMiddlewares = mws.map(__assignType((mw) => {
|
|
216
|
+
if (typeof mw === 'function') {
|
|
217
|
+
if (mw.isFactory) {
|
|
218
|
+
return mw();
|
|
219
|
+
}
|
|
220
|
+
return mw;
|
|
221
|
+
}
|
|
222
|
+
return mw;
|
|
223
|
+
}, ['mw', '', 'P"2!"/"']));
|
|
224
|
+
MetadataStorage.getInstance().addMiddleware(owner, propertyKey?.toString(), ...resolvedMiddlewares);
|
|
225
|
+
}, [() => Function, 'target', 'propertyKey', '', 'PPPu!%J2"P&+J2#8"/$']), ['Middleware', () => __ΩMiddlewareFactory, 'mws', '', 'PP"w!n"J@2#P!!K/$']);
|
|
226
|
+
export const DefaultHandler = __assignType(() => {
|
|
227
|
+
return __assignType((target, propertyKey, descriptor) => {
|
|
228
|
+
MetadataStorage.getInstance().addDefaultHandler(target.constructor, propertyKey.toString(), descriptor.value);
|
|
229
|
+
return descriptor;
|
|
230
|
+
}, ['target', 'propertyKey', () => __ΩPropertyDescriptor, 'descriptor', '', 'P%2!P&+J2"n#2$"/%']);
|
|
231
|
+
}, ['', 'P!/!']);
|
|
232
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare class FrameworkError extends Error {
|
|
2
|
+
readonly status: number;
|
|
3
|
+
constructor(message: string, status: number, name: string);
|
|
4
|
+
}
|
|
5
|
+
export declare class InternalServerError extends FrameworkError {
|
|
6
|
+
constructor(message: string, status?: number);
|
|
7
|
+
}
|
|
8
|
+
export declare class BadRequestError extends FrameworkError {
|
|
9
|
+
constructor(message: string, status?: number);
|
|
10
|
+
}
|
|
11
|
+
export declare class NotFoundError extends FrameworkError {
|
|
12
|
+
constructor(message: string, status?: number);
|
|
13
|
+
}
|
|
14
|
+
export declare class UnauthorizedError extends FrameworkError {
|
|
15
|
+
constructor(message: string, status?: number);
|
|
16
|
+
}
|
|
17
|
+
export declare class ForbiddenError extends FrameworkError {
|
|
18
|
+
constructor(message: string, status?: number);
|
|
19
|
+
}
|
|
20
|
+
export declare class StatusCodeErrorError extends FrameworkError {
|
|
21
|
+
constructor(message: string, status: number);
|
|
22
|
+
}
|
|
23
|
+
export declare class MissingInjectionError extends FrameworkError {
|
|
24
|
+
constructor(key: string);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;aAGjB,MAAM,EAAE,MAAM;gBAD9B,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAC9B,IAAI,EAAE,MAAM;CAKnB;AAED,qBAAa,mBAAoB,SAAQ,cAAc;gBACvC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY;CAGpD;AAED,qBAAa,eAAgB,SAAQ,cAAc;gBACnC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY;CAGpD;AAED,qBAAa,aAAc,SAAQ,cAAc;gBACjC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY;CAGpD;AAED,qBAAa,iBAAkB,SAAQ,cAAc;gBACrC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY;CAGpD;AAED,qBAAa,cAAe,SAAQ,cAAc;gBAClC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY;CAGpD;AAED,qBAAa,oBAAqB,SAAQ,cAAc;gBACxC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG9C;AAED,qBAAa,qBAAsB,SAAQ,cAAc;gBACzC,GAAG,EAAE,MAAM;CAO1B"}
|